PX4-ROS 2 Bridge Simulation with Gazebo on Nvidia Jetson GTX Orin

Hi,

first of all we like to say that we started working in September 2022 with ROS2, Nvidia Orin and PX4, so we’re not having a lot of experience. We are posting this query here, as after some research we think that our TCP port 4560 issue might be a dedicated problem of Nvidia Orin System.

We tried the following user guide with Ubuntu 20.04 and ROS2 foxy on a Nvidia Orin, as well as a normal desktop PC workstation: https://docs.px4.io/main/en/ros/ros2_…

Regarding the Sanity Check of the installation, we were not able to run the simulation in neither gazebo, nor jMAVSim on the Orin (arm architecture). However, the simulation runs perfectly on the workstation. After some research on the internet, we found out that such problems are not unusual. In order to get the px4 installed using the ubuntu.sh of the user guide (Ubuntu Development Environment | PX4 User Guide), we finally found out that applying the following steps let us install the px4-ros bridge:

  1. run in terminal: “git clone GitHub - PX4/PX4-Autopilot: PX4 Autopilot Software --recursive”
  2. delete g+±multilib and gcc-multilib lines in ~/PX4-Autopilot/Tools/setup/ubuntu.sh
  3. open terminal and run “bash ./PX4-Autopilot/Tools/setup/ubuntu.sh”
  4. reboot your computer
  5. make …

After that we could successfully build all the required packages. However, when we try to launch the simulation, we get stuck at the following:

Terminal 1

uam@ubuntu:~$ micrortps_agent -t UDP — MicroRTPS Agent — [ micrortps_agent ] Starting link… [ micrortps_agent ] UDP transport: ip address: 127.0.0.1; recv port: 8; send port: 10 [ micrortps_transport ] UDP transport: Trying to connect… [ micrortps_transport ] UDP transport: Bind failed [ micrortps_agent ] EXITING… [ micrortps_transport ] UDP transport: Closed receiver socket!

Terminal 2

INFO [simulator_mavlink] Waiting for simulator to accept connection on TCP port 4560

We finally skipped to simulation part as we thought that the ROS2-px4 bridge was installed properly on the Orin and started integrating our pixhawk hardware. However, we are having here also some problems, so we are worried that there might be something wrong with our installation. This is the reason why we want to test the simulation also on the Orin.

Questions:

  1. We found several posts where people had similar problems with TCP port 4560, however none of the seems to be solved. Does anyone know how to solve this TCP port 4560 connection issue? Is this a problem related to ARM or NVIDIA Orin in particular or is our installation wrong?
  2. Did anyone successfully run the simulation on an embedded system like Nvidia Orin and does know what changes to apply (in addition to the one we’ve done prior runnig ubuntu.sh)?

Your topic was posted in the wrong category. I am moving this to the Jetson AGX Orin category for visibility.

Hi @sebastian-uav2022, I don’t have experience with using PX4, so perhaps others from the community may be able to share their help - did you try the suggestions from this post, changing the simulator to UDP and a different port?

Or perhaps try running it with sudo if that is a privileged port (I don’t see why it should be since it’s >1024). I suspect that it’s not related to the port in an of itself, but rather their client/server networking code running on an ARM platform. Since this is third-party software, I’d recommend reaching out to those developers or support teams to see what testing & validation they have done on ARM-based platforms.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.