Unable to get uXRCE-DDS PX4 <-> ROS2 commuication working over ethernet

Hello, I am not able to connect the uXRCE-DDS agent running on my Jetson NX companion computer connected to the Pixhawk 6X board over ethernet.
I followed thoroughly the PX4 Ethernet setup guide and I am actually able to receive the MAVLink messages over ethernet, so my ethernet connection sees to work fine.
I then followed the ROS2 User Guide to setup both the uXRCE-DDS client and agent. but impossible to make them communicate.

Network setup:
IP of PX4: 10.41.10.2
image

IP of Jetson NX: 10.41.10.3

I can ping the PX4 module from the Jetson and I can ping the Jetson from the PX4 module.

PX4 DDS setup:


Note: PX4 firmware version: 1.15.0alpha

I can see on the MAVLink Console, that the uxrce_dds_client is started with the right parameters:
image
Note: MAVLink is also communicating over etherent. Shouldn’t be an issue, right?

Jetson NX setup:

  • ROS2 humble
  • uXRCE-DDS agent version 1.4.2

I built the version 2.4.3 of the uXRCE-DDS agent and it is now working as expected (I initialiall took the version 1.4.2 to avoid a compilation issue).

1 Like

@jobesu14 , happy to see that you discovered the issue.

On the PX4 side, the uxrce-dds-client is using version 2.x therefore ony agents runing 2.x will be able to connect