[PX4-FastRTPS Bridge] Unable to Publish Topics on ROS2

Dear All,

I’m experiencing an issue with the PX4 when using the RTPS/ROS2 Interface. Both the PX4 (sitl) and the ROS2 nodes are deployed in the same machine.
I’m using the px4_ros_com package as detailed in the PX4-micrortps instructions. I’m only interested in the ROS2 communication without ROS.

These are the steps that I’m following:

  1. Run PX4 as follow: make posix_sitl_rtps gazebo
  2. From the PX4 console I run the micrortps client: micrortps_client start -t UDP
  3. Start the micrortps agent from the px4_ros_com package (not the one from the PX4 compilation): micrortps_agent -t UDP
  4. Start the ROS2 node sensor listener : ./sensor_combined_listener

In all the steps I’m getting the expected behavior but when I run the listener I’m not getting any output. It seems that nothing is published in the ROS2 topic "SensorCombined_topic".

By quickly debugging the agent code I noticed that messages the received correctly from the client. We can exclude any communication issues with the UDP.
I can also see the nodes running using ros2 node list.
However the ros2 topic list doesn’t show any topic.
Is anyone experiencing the same issue?

In general, should I expect the micrortps agent to publish topics that are directly visible from the ROS2 side?
I have two different installations of fastRTPS in my machine. I’m making sure both the agent and ROS2 are using the same installation. Not sure this can cause any issue.

Please let me know if you need more details.
Thanks!

2 Likes

bumping this old topic since its exactly the same issue I am having. I have agent/client running with sitl_rtps gazebo. I look at the ros2 node list and see a bunch of nodes but if I do ros2 topic list nothing is returned. If i want to write a python node that subscribes to one of these micrortps topics what am I doing wrong? or even if I want to publish to one of them.

Same problem here. Any progress?