-
Notifications
You must be signed in to change notification settings - Fork 334
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
Incorrect odometry when turning vehicle with Ackermann steering controller (ROS2 Humble). #933
Comments
Two (out of three) ways to calculate the odometry is to use position of the steering whells with position of the traction wheels or with the velocity of the traction wheels according to: ros2_controllers/ackermann_steering_controller/src/ackermann_steering_controller.cpp Lines 57 to 91 in 13a43c3
ros2_controllers/steering_controllers_library/src/steering_odometry.cpp Lines 116 to 140 in 13a43c3
ros2_controllers/steering_controllers_library/src/steering_odometry.cpp Lines 165 to 175 in 13a43c3
The thing I do not really understand why the same value (rear_right_wheel_value, rear_left_wheel_value) is used as inputs for two different functions (update_from_position and update_from_velocity), which expect positions or velocities of the traction wheels respectively. Both ways to calculate the odometry result in similar outcome as on a video above. |
I'm trying to reproduce your error but when I launch everything I don't have odom fixed frame in Rviz. But the odometry topic is published. Is there some param to set to enable odometry in the controller settings? |
I did not use Rviz, refer to the #937 (comment). I have only looked at the topic "/ackermann_steering_controller/odometry" for odometry data from the controller. Then, I visualized it. |
I think I have the same issue and also looking for a solution. Someone installed my project and reported the same issue. Also, running it in Docker doesn't help. Here is a recording I made of what I believe is a really similar problem: Screencast.from.2024.01.18.18_52_49.mp4In case you want to try it yourself, you can find my project here. I hope it helps. |
@BalazsPh21 @aleksandrsizmailovs Did you ever resolve this issue? |
This should be fixed with #1150. Please reopen if this still doesn't work out. |
Description of the bug
When turning the vehicle with Ackermann steering controller, the odometry gets wrong. This issue looks similar to the #789.
To Reproduce
To reproduce the bug, launch the car-like robot with the ackermann_steering_controller. My .yaml file is:
Reality and expected behavior
While the robot is going in a straight line, the odometry is pretty accurate, but when the robot turns the odometry starts to spin with much shorter radius than expected.
odometry2.webm
Just curious if anybody else have similar issue with Ackermann steering controller.
The text was updated successfully, but these errors were encountered: