ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Inaccuracy in 2D map navigation.

asked 2019-09-11 06:56:55 -0500

spiritninja gravatar image

I'm using a differential drive mobile robot with ROS Indigo with the navigation parameters tuned fairly well.

Yet there is noticeable offset when it comes to the robot reaching the exact goal location. Whenever a 2D goal is given for it to navigate and reach within a map, the offset or undershoot i.e. the actual location which the robot reaches has a difference of ~0.3 meters, which i think is pretty big.

This is a major accuracy hit.

Even in in-place rotation with quaternion, there's undershoot with the orientation.

I understand that wheel slips, structure indeed influence motor odometry which impacts accuracy, but a offset this high would be bad.

Kindly suggest how this can be overcome. What changes would I have to include ?

Thank you!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2019-09-11 07:52:20 -0500

See the parameters you have available to play with. Amongst them you'll find yaw_goal_tolerance and xy_goal_tolerance. Beware, making them too small will have the undesirable effect of localization / slippage causing overshoot and the robot will attempt to keep reaching the goal to your tolerance.

edit flag offensive delete link more

Comments

Yeah that's true. I have adjusted it accordingly after performing multiple tests. I even went through the ROS navigation tuning guide and set my tolerance parameters accordingly. Yet the offset persists.

spiritninja gravatar image spiritninja  ( 2019-09-11 07:55:08 -0500 )edit
1

it might be localization issue in that case, the robot pose jumps temporary within the goal tolerances. In order for us to get more info please post an RViz image or video together with your planner config params

pavel92 gravatar image pavel92  ( 2019-09-11 08:16:03 -0500 )edit

Also try to measure the literal distance, not an estimate. Print out when its stopping the _exact_ distance, if you see it hovering really close to a clean number like 0.3 or a param default/set then maybe something's not getting propogated. If its random then that would point to localizer updates potentially.

stevemacenski gravatar image stevemacenski  ( 2019-09-11 08:22:34 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2019-09-11 06:56:55 -0500

Seen: 178 times

Last updated: Sep 11 '19