srmainwaring / ros_gz_rover

An example demonstrating how to use the ROS2 - Gazebo bridge for a skid-steer rover controlled by ArduPilot
Apache License 2.0
15 stars 1 forks source link

TF Transform dds filterings #10

Open woensug-choi opened 1 month ago

woensug-choi commented 1 month ago

I've got it running on my environment too! (Jazzy-Harmonic) :)

But I get bunch of the timestamp on the message is earlier than all the data in the transform cache message on rviz. I've heard the ROS2 is not stable with DDS and I see https://answers.ros.org/answers/418094/revisions/ mentioning that replacing to cyclone dds would be more stable and fix this problem.

Did you bumped into this problem too? Could I just ignore? It seems the message shows more as simulation runs.

P.S. I've removed cyclonedds entiredly from my jazzy-harmonic installation script (it caused too much pain to install)

srmainwaring commented 1 month ago

If all the ROS 2 nodes are running on the same computer then DDS with rmw_fastrtps should not be a problem. The issue with rwm_fastrtps is UDP multicast node discovery on lossy networks (eg. wifi). This looks to be more of a time sync issue: perhaps Gazebo sim_time vs wall clock time vs flight controller time.

ArduPilot now has a DDS interface, so I should revisit this repo and look to replace the mavros integration with calls into the AP_DDS library, or at least provide that as an alternative implementation.