Xiaojun,<br><br><div class="gmail_quote">On Mon, Sep 20, 2010 at 6:14 AM, clarkwu <span dir="ltr"><<a href="mailto:wu.xiaojun@gmail.com">wu.xiaojun@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Thank Wim and brian for pointing out the problems. Here are some updates:<br>
<br>
Wim's analysis is totally right,<br>
(1) for rotation, the odometry is 1 second delayed than the laser data; this<br>
behavior is traced back and the subroutine for gyro reading is found the<br>
cause for it. We wrongly used the function flush() under pyserial. After<br>
changed to flushImport(), the gyro readings now update fast enough.<br>
(2) for forward motion, the odometry drift is caused by wrong coefficients<br>
in forward kinematics matrix,which has also been corrected.<br>
<br>
With the above corrections, we tested the navigation in our office again.<br>
The result shows the navigation is almost fine, except two points:<br>
(1) the robot rotates suddenly during the movement, which appears too<br>
frequently. Please refer to the following youtube link:<br>
<a href="http://www.youtube.com/watch?v=MXvEcovi3f8" target="_blank">http://www.youtube.com/watch?v=MXvEcovi3f8</a><br>
<br>
(2) Observed from rviz window, there is an accumulative deviation between<br>
the laser scan points and the map. Please also refer to the youtube link:<br>
<a href="http://www.youtube.com/watch?v=roAMPNqg0k4" target="_blank">http://www.youtube.com/watch?v=roAMPNqg0k4</a><br>
<br>
For point (1), we are guessing that it might be due to the robot self<br>
load/high CG position, and the motors are not powerfull enough to drive the<br>
robot when quite small ratation speed is issued by the planner. When the<br>
angular difference is accumulated to certain extent, the PID controllers<br>
within the motor controller will boost the driving current and thus the<br>
sudden rotation (we have a setting for min_in_place_rotational_vel: 0.5, but<br>
seems not optimal).<br></blockquote><div><br></div><div>Its possible that this is the case. Have you tried commanding similar velocities using a joystick to see what the minimum angular speed that can be commanded is? Other than setting min_in_place_rotational_vel to this value, or improving the ability of the base to handle smaller velocities, I'm not sure there's a great solution to this. You should make sure that you set the acceleration limits for the base_local_planner in accordance with your robot, this may help a bit with the jerk. See: <a href="http://www.ros.org/wiki/base_local_planner#Robot_Configuration_Parameters">http://www.ros.org/wiki/base_local_planner#Robot_Configuration_Parameters</a></div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
For point (2), we have no idea about it. Is the AMCL supposed to correct the<br>
robot position?<br></blockquote><div><br></div><div>AMCL will attempt to correct for the robot's position. However, if memory serves me, the default configuration for AMCL assumes that you have pretty good odometry. It might help you to play around with some of the parameters that control how much to trust the estimate from odometry which might let AMCL use the laser more heavily to snap things back into place. Relevant parameters are documented here: <a href="http://www.ros.org/wiki/amcl#Parameters">http://www.ros.org/wiki/amcl#Parameters</a>. Do you experience much drift when you drive the robot 10 meters forward in the odometric frame and look at accumulated laser scans? </div>
<div><br></div><div>Hope this helps,</div><div><br></div><div>Eitan</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Your further suggestions are greatly welcome.<br>
<br>
xiaojun<br>
<font color="#888888"><br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://ros-users.122217.n3.nabble.com/Navigation-Stack-the-robot-rotates-most-of-the-time-after-receiving-a-goal-tp1471418p1528873.html" target="_blank">http://ros-users.122217.n3.nabble.com/Navigation-Stack-the-robot-rotates-most-of-the-time-after-receiving-a-goal-tp1471418p1528873.html</a><br>

</font><div><div></div><div class="h5">Sent from the ROS-Users mailing list archive at Nabble.com.<br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</div></div></blockquote></div><br>