Unrealistic base drift #16
-
Hi, While testing in the simulation, we noticed that the HSR drifts way too much when a velocity command is sent to the base. This is illustrated in the following video, where we send a small forward velocity of 0.02m/s; after a short while of moving forward, the robot starts rotating instead of actually moving forward: hsr_nav_drift.mp4I understand that the purpose of adding noise is to increase the realism of the simulation; however, the drift doesn't correspond at all to how the real HSR behaves (in particular, the drift on the real robot is more visible at higher velocities, but negligible for low velocities such as the one in the above example). If we can't rely at all on the accuracy of the robot motions, it's really difficult to do any tasks in the simulation properly. Does anyone have any suggestions on how to counteract this issue? Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
This may happen frequently if you go back and forth in a small area. Official HSR uses laser odometry to reduce this issue but the current OSS implementation does not have this... One possible workaround is to take a strategy to avoid small back and forth moves. |
Beta Was this translation helpful? Give feedback.
This may happen frequently if you go back and forth in a small area.
This is due to the special omnidrive mechanism used in the HSR base:
https://github.com/devrt/offset-diff-drive-controller
Official HSR uses laser odometry to reduce this issue but the current OSS implementation does not have this...
One possible workaround is to take a strategy to avoid small back and forth moves.
You can also use /map tf-frame to monitor your current position and attitudes.