...
POST No. 2407481
motor control hangs, cmd_vel messages don't work
2019-07-10 21:52:40 rostest

The motor control of my Turtlebot3 seems to hang from time to time. In this case cmd_vel messages have no effect any more, the Turtlebot just continues to move regardless of cmd_vel messages like '{linear:  {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0,z: 0.0}}'. This happens sooner or later, after 50 minutes or 50 seconds or somewhen in between. Is this a known problem? Any advice to avoid the situation?

The setup is different from a usual Turtlebot3: The Raspberry Pi is exchanged by Quadcore-Atom PC (Intel), running Ubuntu 18.04 with ROS melodic. The turtlebot is started by "roslaunch turtlebot3_bringup turtlebot3_robot.launch" with default configuration.

Any help is welcome. Thanks in advance!
 

2019-07-10 21:52:40
rostest
2019-07-11 17:06:32 Will Son

Hi,


Do you have any error messages on terminal windows or symptoms other than continuous movement?

If you have joystick controller connected to TurtleBot3 when giving a cmd_vel command, there could be a conflict.

You might also want to check ROS community for more similar cases.

https://discourse.ros.org/ 

Thank you.

2019-07-11 17:06:32
willson
2019-07-18 16:59:20 rostest

Thanks for your reply! It looks like there are two possible reasons for the symptom:


1. A callback for odom-messages needed too much time to execute, causing trouble for other subscribers. I'm not sure, but a slow implementation in a message callback might even cause trouble for subscribers in a different process.


2. It looks like the internal motor control gets in trouble, if angular velocity or angular acceleration becomes too high. Are there some limits for linear.x or angular.z or their acceleration? Maybe it's not the absolute value of the velocity, but their delta over time. Looks like motor control doesn't react any more on cmd_vel-messages, if angular.z exceeds some limit or changes too fast over time (like stop and go).


I'll have some further testing with different scenarios, changing velocities and acceleration, to get a more reliable and reproducable error.
Thanks again and best regards!

2019-07-18 16:59:20
rostest
Reply
웹에디터 시작 웹 에디터 끝