Turtlebot spins out of control
Not sure if others have had similar issues, but when trying to use the navigation stack I found that the turtlebot had the tendency to spin out of control when given a target that required rotation as a first move.
Solution
In order to resolve this issue, we need to first inspect the relevant configuration file for the DWS planner,
dwa_local_planner_params.yaml
found in the
/opt/ros/kinetic/share/turtlebot_navigation/param
directory. The parameters
that need to be considered are specified as follows:
DWAPlannerROS:
# Robot Configuration Parameters - Kobuki
max_vel_x: 0.5 # 0.55
min_vel_x: 0.0
max_vel_y: 0.0 # diff drive robot
min_vel_y: 0.0 # diff drive robot
max_trans_vel: 0.5 # choose slightly less than the base's capability
min_trans_vel: 0.1 # this is the min trans velocity when there is negligible rotational velocity
trans_stopped_vel: 0.1
# Warning!
# do not set min_trans_vel to 0.0 otherwise dwa will always think
# translational velocities
# are non-negligible and small in place rotational velocities will be
# created.
max_rot_vel: 5.0 # choose slightly less than the base's capability
min_rot_vel: 0.4 # this is the min angular velocity when there is negligible translational velocity
rot_stopped_vel: 0.4
acc_lim_x: 1.0 # maximum is theoretically 2.0.
acc_lim_theta: 2.0
acc_lim_y: 0.0 # diff drive robot
…
The current solution offered is capping the maximum rotation velocity by setting
the max_rot_vel
parameter to a smaller value then the default specification of
5.0. Reducing this value to 1.0 resolved the issue. [1]
In order to this, we can either directly amend the dwa_local_planner_params.yaml
file to set a
new default or, we can redefine the parameter by using <param
name="move_base/DWAPlannerROS/max_rot_vel" value="1.0"/>
in the <include>
tag
that launches the{move.base.launch.xml
file as mentioned
here.[2]
Result
We can see that with the redefinition of max_rot_vel
the spinning issue has
been resolved.
References
- https://github.com/turtlebot/turtlebot_apps/pull/140
- http://answers.ros.org/question/239340/turtlebot-spinning/