Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Robot odometry large drift #142

Open
alsora opened this issue Dec 21, 2021 · 1 comment
Open

Robot odometry large drift #142

alsora opened this issue Dec 21, 2021 · 1 comment
Labels
bug Something isn't working

Comments

@alsora
Copy link
Contributor

alsora commented Dec 21, 2021

Describe the bug
Doing very simple and short maneuvers results in a huge drift in the dead reckoning pose wrt the ground truth one.

To Reproduce
Run simulation and then command

ros2 action send_goal /undock irobot_create_msgs/action/Undock "{}"
ros2 topic pub -r 20 /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.2, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
ros2 topic pub -r 20 /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 1.0}}"
ros2 topic pub -r 20 /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.2, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
ros2 action send_goal /dock irobot_create_msgs/action/DockServo "{}"

Where the forward translation is ~ 1 meter, is enough to have the robot pose drift a lot.
This can be easily observed thanks to another currently open bug, where Gazebo uses ground truth pose, but rviz does not
#75

Screenshots
At the end of the aforementioned maneuver, the robot appears docked in gazebo, but it is not in Rviz
Screenshot from 2021-12-21 12-46-48

@alsora alsora added the bug Something isn't working label Dec 21, 2021
@alsora alsora changed the title Robot odometry huge drift Robot odometry drift Dec 21, 2021
@alsora alsora changed the title Robot odometry drift Robot odometry large drift Dec 21, 2021
@shuhaowu
Copy link

shuhaowu commented Jan 5, 2022

This kind of make sense and is expected, no? For the Create 2 (that's all I have), if I performed this maneuver, I will definitely observe /odom drift like this. For carpet, it likely will drift even more.

For at least my current investigation, I want to add more noise to the /odom topic in simulation, so I can evaluate SLAM algorithms in the presence of "bad" odometry. Having perfect /odom in a simulation would defeat the purpose of most SLAM algorithms that requires an input odometry, right?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants