[ros-users] Navigation Stack: the robot rotates most of the time after receiving a goal

clarkwu wu.xiaojun at gmail.com
Mon Sep 20 13:14:42 UTC 2010

Thank Wim and brian for pointing out the problems. Here are some updates:

Wim's analysis is totally right, 
(1) for rotation, the odometry is 1 second delayed than the laser data; this
behavior is traced back and the subroutine for gyro reading is found the
cause for it. We wrongly used the function flush() under pyserial. After
changed to flushImport(), the gyro readings now update fast enough.
(2) for forward motion, the odometry drift is caused by wrong coefficients
in forward kinematics matrix,which has also been corrected.

With the above corrections, we tested the navigation in our office again.
The result shows the navigation is almost fine, except two points:
(1) the robot rotates suddenly during the movement, which appears too
frequently. Please refer to the following youtube link:

(2) Observed from rviz window, there is an accumulative deviation between
the laser scan points and the map. Please also refer to the youtube link:

For point (1), we are guessing that it might be due to the robot self
load/high CG position, and the motors are not powerfull enough to drive the
robot when quite small ratation speed is issued by the planner. When the
angular difference is accumulated to certain extent, the PID controllers
within the motor controller will boost the driving current and thus the
sudden rotation (we have a setting for min_in_place_rotational_vel: 0.5, but
seems not optimal).

For point (2), we have no idea about it. Is the AMCL supposed to correct the
robot position?

Your further suggestions are greatly welcome.


View this message in context: http://ros-users.122217.n3.nabble.com/Navigation-Stack-the-robot-rotates-most-of-the-time-after-receiving-a-goal-tp1471418p1528873.html
Sent from the ROS-Users mailing list archive at Nabble.com.

More information about the ros-users mailing list