mateusmenezes95 / omnidirectional_controllers

ROS2 controllers for Omnidirectional robots with three wheels
MIT License
30 stars 6 forks source link

Odom Frame skipping resulting in incorrect mapping #11

Open dev-shenlong opened 1 month ago

dev-shenlong commented 1 month ago

Hey, I was implementing a slam robot using your omnidirectional controller, but when i am using the odom topic to publish to the TF using another node, and mapping the same using rviz, the odom frame is skipping a lot leading to incorrect measurements, the config I have used is the default as given by you in the axebot repo. Could you please help out Screencast from 10-18-2024 01:33:56 AM.webm

mateusmenezes95 commented 4 weeks ago

Hello @dev-shenlong

At the time I developed the package, I didn't have much time to validate the published odometry due to time constraints. However, I have worked with SLAM a long time ago and the behavior of the video may be linked to how the TFs were assembled. Please, I recommend that you perform the following actions:

  1. Check if your TF tree is respecting REP 105
  2. Compare the odometry published by the omnidirectional controller with a ground truth. Gazebo has a plugin called Odometry Publisher. It can serve as a Ground Truth in this case. I also recommend using Plotjuggler to compare the output of the topics.

If the problem persists, it is certainly a bug in the odometry calculation. However, unfortunately I will not be able to work on a fix at the moment because I am at the end of my master's degree and I don't have time.

A temporary solution may be to use the odometry provided by Gazebo's Odometry Publisher plugin and not the one provided by the omnidirectional controller