I have been trying to implement a low-level motion controller for my robot in ROS-Gazebo simulation. For this purpose, I need to convert some of my states i.e. CoM from body frame to Inertial (map) frame. However, when I use tf2 lookupTransform to do the transformation, it gives me stale values (repeating values/timestamps) at 500Hz. I have tried to publish my transforms faster by publishing robot_state_publisher and joint_state_publisher publishing at 2000Hz, however, the problem persists.

Any help/suggestions would be highly appreciated.

tf_monitor results

  • $\begingroup$ Can you add your robot state publisher and your tf subscriber code? Might also be helpful to add a ros_graph to make sure things are going where you expect them to. And when you say stale, are you ever getting any new data? Sounds like it might not be updating at all. You might also include a tf tree. $\endgroup$ – doggie_breath Feb 7 at 16:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.