Ekumen-OS / Noah-bot-simulation

BSD 3-Clause "New" or "Revised" License
7 stars 2 forks source link

[Bug report] Localization shifts when robot rotates #10

Closed JCarosella closed 2 years ago

JCarosella commented 2 years ago

Description

When the robot rotates while navigating in a map the localization starts drifting. This is visible in RViz, and happens when running the stack with amcl and a map.

Steps to reproduce

Run the Noah simulation while performing navigation on a known map (amcl and a known map are requirements to reproduce this). Make the robot rotate (publishing to /cmd_vel for example) and notice how the robot and map start drifting apart. Example where it can be seen that the laser scan and robot position do not correspond to the actual location:

image

Fix

There's an incorrect configuration in amcl. Explanation: There was a bug with the odom_model_type used in amcl (see param here, and the "bug" paragraph just below. To fix the bug they created a new one model "diff-corrected".

To fix Noah, changing the odom type of the amcl parameterss to "diff-corrected" and the "odom_alpha" values to some lower (as recommended there) fixes the issue