Nvidia Jetson Xavier AGX controlling PX4/Pixhawk (ROS, MAVROS)

Hi,

I plan to control my Pixhawk with the Nvidia Jetson Xavier AGX via Telem2 port to allow vision based flying later on.

I am just getting started and read a lot about RaspberryPi and Jetson Nano Companion Computers. And I am wondering if somebody already started setting up Jetson Xavior AGX setup where I can start with?

I am planning to use ROS, MAVROS (later with RTPS support propably) and gazebo simulation on my jetson for now. However, I am new to Linux and appreciate any help for starting.

Thank you in advance!
And I am looking forward to an interesting development project with PX4.

Hey Alex,
I think setting up Jetson Xavier will be pretty similar to any other companion computer. First you need to install an OS, probably you will want to go with a regular Ubuntu 18.04 Desktop (unless you go for docker containers or such). Then you will have to install ROS mavros and clone the repo of the ROS node you want to run. Just the same as you would on your laptop.

To start I would probably see if you can get your ROS node running with SITL first, so you can practice from your laptop and see how the pieces fit together before you try to do it on the Xavier (development is just way faster on the laptop…).
Here you can find instructions on how to install the toolchain for SITL gazebo on your laptop: https://dev.px4.io/master/en/simulation/gazebo.html

If you need an example of a ROS node, you might want to have a look at this: https://github.com/PX4/avoidance

1 Like

Hey,

I think or thought the setup on the Jetson Xavier would be pretty simlar as well, however I am running in various issues when walking through the toolchain installation.

I already set up the PX4 toolchain on my Windows PC and MacOS Laptop already and got the initial SITL examples up and running. However on the Jetson I wasn’t able to do so yet (the issues are listed below).

I could try to setup the toolchains on a regular Desktop Ubuntu system as well for testing and development. However, I thought I use the Jetson Xavier as I could connect the UART2 of the Jetson to the pixhawks Telem2 port to offboard-control the autopilot. With this setup, I thought, I would have kind of a HITL simulation setup.

Furthermore, I planned to run the gazebo simulator on the Jetson Xavier as well.

As I said, I am new to Linux as well as make files and so on. I developed firmware for microcontrollers in Windows IDEs in the past, thus I am not that familiar with that stuff yet.

The issues that come up when installing the toolchain are:

When executing the “ubuntu.sh” shell to install the PX4 toolchain, the shell does not succeed:

jetson-falke@falke-jetson:~$ cd Firmware
   jetson-falke@falke-jetson:~/Firmware$ bash ./Tools/setup/ubuntu.sh
   Ubuntu 18.04
   
   Installing PX4 general dependencies
   [sudo] password for jetson-falke: 
   Get:1 file:/var/cuda-repo-10-0-local-10.0.326  InRelease
   Ign:1 file:/var/cuda-repo-10-0-local-10.0.326  InRelease
   Get:2 file:/var/visionworks-repo  InRelease
   Ign:2 file:/var/visionworks-repo  InRelease
   Get:3 file:/var/visionworks-sfm-repo  InRelease
   Ign:3 file:/var/visionworks-sfm-repo  InRelease
   Get:4 file:/var/visionworks-tracking-repo  InRelease
   Ign:4 file:/var/visionworks-tracking-repo  InRelease
   Get:5 file:/var/cuda-repo-10-0-local-10.0.326  Release [574 B]
   Get:6 file:/var/visionworks-repo  Release [1.999 B]
   Get:7 file:/var/visionworks-sfm-repo  Release [2.003 B]
   Get:8 file:/var/visionworks-tracking-repo  Release [2.008 B]
   Get:5 file:/var/cuda-repo-10-0-local-10.0.326  Release [574 B]
   Get:6 file:/var/visionworks-repo  Release [1.999 B]
   Get:7 file:/var/visionworks-sfm-repo  Release [2.003 B]
   Get:8 file:/var/visionworks-tracking-repo  Release [2.008 B]
   Hit:9 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
   Hit:10 https://repo.download.nvidia.com/jetson/common r32 InRelease
   Get:11 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88,7 kB]
   Get:12 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease [74,6 kB]
   Hit:13 https://repo.download.nvidia.com/jetson/t194 r32 InRelease
   Get:14 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease [88,7 kB]
   Hit:15 http://packages.osrfoundation.org/gazebo/ubuntu-stable bionic InRelease
   Hit:17 http://packages.ros.org/ros/ubuntu bionic InRelease
   Get:21 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 DEP-11 Metadata [302 kB]
   Get:22 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main DEP-11 48x48 Icons [73,8 kB]
   Get:23 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main DEP-11 64x64 Icons [140 kB]
   Get:24 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 DEP-11 Metadata [269 kB]
   Get:25 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe DEP-11 48x48 Icons [201 kB]
   Get:26 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe DEP-11 64x64 Icons [472 kB]
   Get:27 http://ports.ubuntu.com/ubuntu-ports bionic-backports/universe arm64 DEP-11 Metadata [7.980 B]
   Get:28 http://ports.ubuntu.com/ubuntu-ports bionic-security/main arm64 DEP-11 Metadata [32,4 kB]
   Get:29 http://ports.ubuntu.com/ubuntu-ports bionic-security/main DEP-11 48x48 Icons [17,6 kB]
   Get:30 http://ports.ubuntu.com/ubuntu-ports bionic-security/main DEP-11 64x64 Icons [41,5 kB]
   Get:31 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe arm64 DEP-11 Metadata [37,0 kB]
   Get:32 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe DEP-11 48x48 Icons [16,4 kB]
   Get:33 http://ports.ubuntu.com/ubuntu-ports bionic-security/universe DEP-11 64x64 Icons [111 kB]
   Fetched 1.973 kB in 5s (387 kB/s)
   Reading package lists...
   Reading package lists...
   Building dependency tree...
   Reading state information...
   build-essential is already the newest version (12.4ubuntu1).
   ccache is already the newest version (3.4.1-1).
   doxygen is already the newest version (1.8.13-10).
   make is already the newest version (4.1-9.1ubuntu1).
   python3-setuptools is already the newest version (39.0.1-2).
   unzip is already the newest version (6.0-21ubuntu1).
   zip is already the newest version (3.0-11build1).
   astyle is already the newest version (3.1-1ubuntu2).
   cppcheck is already the newest version (1.82-1).
   lcov is already the newest version (1.13-3).
   ninja-build is already the newest version (1.8.2-1).
   python3-wheel is already the newest version (0.30.0-0.2).
   shellcheck is already the newest version (0.4.6-1).
   cmake is already the newest version (3.10.2-1ubuntu2.18.04.1).
   file is already the newest version (1:5.32-2ubuntu0.3).
   g++ is already the newest version (4:7.4.0-1ubuntu2.3).
   gcc is already the newest version (4:7.4.0-1ubuntu2.3).
   gdb is already the newest version (8.1-0ubuntu3.2).
   git is already the newest version (1:2.17.1-1ubuntu0.5).
   python3 is already the newest version (3.6.7-1~18.04).
   python3-dev is already the newest version (3.6.7-1~18.04).
   rsync is already the newest version (3.1.2-2.1ubuntu1.1).
   xsltproc is already the newest version (1.1.29-5ubuntu0.2).
   clang is already the newest version (1:6.0-41~exp5~ubuntu1).
   clang-tidy is already the newest version (1:6.0-41~exp5~ubuntu1).
   python3-pip is already the newest version (9.0.1-2.3~ubuntu1.18.04.1).
   0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
   
   Installing PX4 Python3 dependencies
   Collecting argparse>=1.2 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 1))
     Using cached https://files.pythonhosted.org/packages/f2/94/3af39d34be01a24a6e65433d19e107099374224905f1e0cc6bbe1fd22a2f/argparse-1.4.0-py2.py3-none-any.whl
   Collecting cerberus (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 2))
   Collecting empy>=3.3 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 3))
   Collecting jinja2>=2.8 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 4))
     Using cached https://files.pythonhosted.org/packages/27/24/4f35961e5c669e96f6559760042a55b9bcfcdb82b9bdb3c8753dbe042e35/Jinja2-2.11.1-py2.py3-none-any.whl
   Collecting numpy>=1.13 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 5))
   Collecting packaging (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 6))
     Using cached https://files.pythonhosted.org/packages/62/0a/34641d2bf5c917c96db0ded85ae4da25b6cd922d6b794648d4e7e07c88e5/packaging-20.3-py2.py3-none-any.whl
   Collecting pandas>=0.21 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 7))
   Collecting psutil (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 8))
   Collecting pygments (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 9))
     Using cached https://files.pythonhosted.org/packages/2d/68/106af3ae51daf807e9cdcba6a90e518954eb8b70341cee52995540a53ead/Pygments-2.6.1-py3-none-any.whl
   Collecting pyros-genmsg (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 10))
     Using cached https://files.pythonhosted.org/packages/37/46/c5e3076ce9480d4002e87268c09270a1db17d3173a7b97fe1501827d27c6/pyros_genmsg-0.5.8-py2.py3-none-any.whl
   Collecting pyserial>=3.0 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 11))
     Using cached https://files.pythonhosted.org/packages/0d/e4/2a744dd9e3be04a0c0907414e2a01a7c88bb3915cbe3c8cc06e209f59c30/pyserial-3.4-py2.py3-none-any.whl
   Collecting pyulog>=0.5.0 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 12))
   Collecting pyyaml (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 13))
   Collecting setuptools>=39.2.0 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 14))
     Using cached https://files.pythonhosted.org/packages/a0/df/635cdb901ee4a8a42ec68e480c49f85f4c59e8816effbf57d9e6ee8b3588/setuptools-46.1.3-py3-none-any.whl
   Collecting six>=1.12.0 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 15))
     Using cached https://files.pythonhosted.org/packages/65/eb/1f97cb97bfc2390a276969c6fae16075da282f5058082d4cb10c6c5c1dba/six-1.14.0-py2.py3-none-any.whl
   Collecting toml>=0.9 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 16))
     Using cached https://files.pythonhosted.org/packages/a2/12/ced7105d2de62fa7c8fb5fce92cc4ce66b57c95fb875e9318dba7f8c5db0/toml-0.10.0-py2.py3-none-any.whl
   Collecting wheel>=0.31.1 (from -r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 17))
     Using cached https://files.pythonhosted.org/packages/8c/23/848298cccf8e40f5bbb59009b32848a4c38f4e7f3364297ab3c3e2e2cd14/wheel-0.34.2-py2.py3-none-any.whl
   Collecting MarkupSafe>=0.23 (from jinja2>=2.8->-r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 4))
   Collecting pyparsing>=2.0.2 (from packaging->-r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 6))
     Using cached https://files.pythonhosted.org/packages/8a/bb/488841f56197b13700afd5658fc279a2025a39e22449b7cf29864669b15d/pyparsing-2.4.7-py2.py3-none-any.whl
   Collecting python-dateutil>=2.6.1 (from pandas>=0.21->-r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 7))
     Using cached https://files.pythonhosted.org/packages/d4/70/d60450c3dd48ef87586924207ae8907090de0b306af2bce5d134d78615cb/python_dateutil-2.8.1-py2.py3-none-any.whl
   Collecting pytz>=2017.2 (from pandas>=0.21->-r /home/jetson-falke/Firmware/Tools/setup/requirements.txt (line 7))
     Using cached https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl
   Installing collected packages: argparse, setuptools, cerberus, empy, MarkupSafe, jinja2, numpy, six, pyparsing, packaging, python-dateutil, pytz, pandas, psutil, pygments, pyros-genmsg, pyserial, pyulog, pyyaml, toml, wheel
   Successfully installed MarkupSafe-1.1.1 argparse-1.4.0 cerberus-1.3.2 empy-3.3.4 jinja2-2.11.1 numpy-1.18.2 packaging-20.3 pandas-1.0.3 psutil-5.7.0 pygments-2.6.1 pyparsing-2.4.7 pyros-genmsg-0.5.8 pyserial-3.4 python-dateutil-2.8.1 pytz-2019.3 pyulog-0.7.0 pyyaml-5.3.1 setuptools-46.1.3 six-1.14.0 toml-0.10.0 wheel-0.34.2
   
   Installing NuttX dependencies
   Reading package lists...
   Building dependency tree...
   Reading state information...
   autoconf is already the newest version (2.69-11).
   automake is already the newest version (1:1.15.1-3ubuntu2).
   bison is already the newest version (2:3.0.4.dfsg-1build1).
   flex is already the newest version (2.6.4-6).
   libtool is already the newest version (2.4.6-2).
   pkg-config is already the newest version (0.29.1-0ubuntu2).
   gperf is already the newest version (3.1-1).
   bzip2 is already the newest version (1.0.6-8.1ubuntu0.2).
   libncurses5-dev is already the newest version (6.1-1ubuntu1.18.04).
   vim-common is already the newest version (2:8.0.1453-1ubuntu1.3).
   gdb-multiarch is already the newest version (8.1-0ubuntu3.2).
   0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
   Reading package lists... Done
   Building dependency tree       
   Reading state information... Done
   Package 'modemmanager' is not installed, so not removed
   0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
   ./Tools/setup/ubuntu.sh: line 146: /opt/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc: cannot execute binary file: Exec format error
   jetson-falke@falke-jetson:~/Firmware$

When executing the ROS shell “ubuntu_sim_ros_melodic.sh”, the shell doea not succeed:

jetson-falke@falke-jetson:~$ bash ubuntu_sim_ros_melodic.sh
Downloading dependent script 'ubuntu_sim_common_deps.sh'
--2020-04-08 15:40:18--  https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_common_deps.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.12.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.12.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2672 (2,6K) [text/plain]
Saving to: ‘STDOUT’

-                      100%[============================>]   2,61K  --.-KB/s    in 0s      

2020-04-08 15:40:18 (13,8 MB/s) - written to stdout [2672/2672]

[sudo] password for jetson-falke: 
Remove modemmanager
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'modemmanager' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Add user to dialout group for serial port access (reboot required)
Installing common dependencies
Get:1 file:/var/cuda-repo-10-0-local-10.0.326  InRelease
Ign:1 file:/var/cuda-repo-10-0-local-10.0.326  InRelease
Get:2 file:/var/visionworks-repo  InRelease
Ign:2 file:/var/visionworks-repo  InRelease
Get:3 file:/var/visionworks-sfm-repo  InRelease
Ign:3 file:/var/visionworks-sfm-repo  InRelease
Get:4 file:/var/visionworks-tracking-repo  InRelease
Ign:4 file:/var/visionworks-tracking-repo  InRelease
Get:5 file:/var/cuda-repo-10-0-local-10.0.326  Release [574 B]
Get:6 file:/var/visionworks-repo  Release [1.999 B]
Get:7 file:/var/visionworks-sfm-repo  Release [2.003 B]                             
Get:8 file:/var/visionworks-tracking-repo  Release [2.008 B]                        
Get:5 file:/var/cuda-repo-10-0-local-10.0.326  Release [574 B]                             
Get:6 file:/var/visionworks-repo  Release [1.999 B]                                        
Get:7 file:/var/visionworks-sfm-repo  Release [2.003 B]                                    
Get:8 file:/var/visionworks-tracking-repo  Release [2.008 B]                               
Hit:9 https://repo.download.nvidia.com/jetson/common r32 InRelease                         
Hit:10 http://ports.ubuntu.com/ubuntu-ports bionic InRelease                               
Get:11 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease [88,7 kB]             
Hit:12 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease                     
Hit:13 https://repo.download.nvidia.com/jetson/t194 r32 InRelease                          
Hit:14 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease                      
Hit:16 http://packages.osrfoundation.org/gazebo/ubuntu-stable bionic InRelease             
Hit:17 http://packages.ros.org/ros/ubuntu bionic InRelease                          
Get:21 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 Packages [650 kB]
Get:22 http://ports.ubuntu.com/ubuntu-ports bionic-updates/universe arm64 Packages [949 kB]
Fetched 1.688 kB in 5s (333 kB/s)                                                     
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libimage-exiftool-perl' instead of 'exiftool'
build-essential is already the newest version (12.4ubuntu1).
zip is already the newest version (3.0-11build1).
astyle is already the newest version (3.1-1ubuntu2).
genromfs is already the newest version (0.5.2-2build3).
libimage-exiftool-perl is already the newest version (10.80-1).
ninja-build is already the newest version (1.8.2-1).
cmake is already the newest version (3.10.2-1ubuntu2.18.04.1).
git is already the newest version (1:2.17.1-1ubuntu0.5).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
/usr/bin/xxd
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libpython2.7-stdlib' instead of 'python-argparse'
python-dev is already the newest version (2.7.15~rc1-1).
python-numpy is already the newest version (1:1.13.3-2ubuntu1).
python-empy is already the newest version (3.3.2-1build1).
python-toml is already the newest version (0.9.3-1).
libpython2.7-stdlib is already the newest version (2.7.17-1~18.04).
python-pip is already the newest version (9.0.1-2.3~ubuntu1.18.04.1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already up-to-date: pip in /usr/local/lib/python2.7/dist-packages (20.0.2)
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: pandas in /usr/local/lib/python2.7/dist-packages (0.24.2)
Requirement already satisfied: jinja2 in /usr/local/lib/python2.7/dist-packages (2.11.1)
Requirement already satisfied: pyserial in /usr/local/lib/python2.7/dist-packages (3.4)
Requirement already satisfied: pyyaml in /usr/local/lib/python2.7/dist-packages (5.3.1)
Requirement already satisfied: pytz>=2011k in /usr/local/lib/python2.7/dist-packages (from pandas) (2019.3)
Requirement already satisfied: numpy>=1.12.0 in /usr/lib/python2.7/dist-packages (from pandas) (1.13.3)
Requirement already satisfied: python-dateutil>=2.5.0 in /usr/local/lib/python2.7/dist-packages (from pandas) (2.8.1)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/local/lib/python2.7/dist-packages (from jinja2) (1.1.1)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/dist-packages (from python-dateutil>=2.5.0->pandas) (1.11.0)
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. A future version of pip will drop support for Python 2.7. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Requirement already satisfied: pyulog in /usr/local/lib/python2.7/dist-packages (0.7.0)
Requirement already satisfied: numpy in /usr/lib/python2.7/dist-packages (from pyulog) (1.13.3)
Installing FastRTPS to: /home/jetson-falke/eProsima_FastRTPS-1.7.1-Linux
 FastRTPS already installed.
Installing jMAVSim simulator dependencies
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ant is already the newest version (1.10.5-3~18.04).
openjdk-8-jdk is already the newest version (8u242-b08-0ubuntu3~18.04).
openjdk-8-jre is already the newest version (8u242-b08-0ubuntu3~18.04).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libeigen3-dev is already the newest version (3.3.4-4).
protobuf-compiler is already the newest version (3.0.0-9.1ubuntu1).
libopencv-dev is already the newest version (4.1.1-2-gd5a58aa75).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Executing: /tmp/apt-key-gpghome.kST8fr3WD7/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
gpg: key F42ED6FBAB17C654: "Open Robotics <info@osrfoundation.org>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
Get:1 file:/var/cuda-repo-10-0-local-10.0.326  InRelease
Ign:1 file:/var/cuda-repo-10-0-local-10.0.326  InRelease
Get:2 file:/var/visionworks-repo  InRelease
Ign:2 file:/var/visionworks-repo  InRelease
Get:3 file:/var/visionworks-sfm-repo  InRelease
Ign:3 file:/var/visionworks-sfm-repo  InRelease
Get:4 file:/var/visionworks-tracking-repo  InRelease
Ign:4 file:/var/visionworks-tracking-repo  InRelease
Get:5 file:/var/cuda-repo-10-0-local-10.0.326  Release [574 B]
Get:6 file:/var/visionworks-repo  Release [1.999 B]                                        
Get:7 file:/var/visionworks-sfm-repo  Release [2.003 B]                                    
Get:8 file:/var/visionworks-tracking-repo  Release [2.008 B]                               
Get:5 file:/var/cuda-repo-10-0-local-10.0.326  Release [574 B]                             
Hit:9 http://ports.ubuntu.com/ubuntu-ports bionic InRelease                                
Get:6 file:/var/visionworks-repo  Release [1.999 B]                                        
Hit:10 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease                       
Get:7 file:/var/visionworks-sfm-repo  Release [2.003 B]                                    
Get:8 file:/var/visionworks-tracking-repo  Release [2.008 B]                               
Hit:11 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease                     
Hit:12 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease                      
Hit:13 https://repo.download.nvidia.com/jetson/common r32 InRelease                        
Hit:14 http://packages.ros.org/ros/ubuntu bionic InRelease                                 
Hit:15 https://repo.download.nvidia.com/jetson/t194 r32 InRelease                          
Hit:16 http://packages.osrfoundation.org/gazebo/ubuntu-stable bionic InRelease             
Reading package lists... Done                    
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ros-melodic-desktop-full is already the newest version (1.4.1-0bionic.20200321.195922).
jbhv0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
sudo: rosdep: command not found
ubuntu_sim_ros_melodic.sh: line 41: rosdep: command not found
ROS setup.bash already in .bashrc
Reading package lists... Done
Building dependency tree       
Reading state information... Done
build-essential is already the newest version (12.4ubuntu1).
python-rosinstall is already the newest version (0.7.8-1).
python-rosinstall-generator is already the newest version (0.1.18-1).
python-wstool is already the newest version (0.1.17-1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-catkin-tools is already the newest version (0.4.5-1).
python-rosinstall-generator is already the newest version (0.1.18-1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Catkin workspace `/home/jetson-falke/catkin_ws` is already initialized. No action taken.
-----------------------------------------------------------------
Profile:                     default
Extending:          [cached] /opt/ros/melodic
Workspace:                   /home/jetson-falke/catkin_ws
-----------------------------------------------------------------
Build Space:        [exists] /home/jetson-falke/catkin_ws/build
Devel Space:        [exists] /home/jetson-falke/catkin_ws/devel
Install Space:      [unused] /home/jetson-falke/catkin_ws/install
Log Space:          [exists] /home/jetson-falke/catkin_ws/logs
Source Space:       [exists] /home/jetson-falke/catkin_ws/src
DESTDIR:            [unused] None
-----------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-----------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-----------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-----------------------------------------------------------------
Workspace configuration appears valid.
-----------------------------------------------------------------
Error: There already is a workspace config file .rosinstall at "src". Use wstool install/modify.
- git:
    local-name: mavlink
    uri: https://github.com/mavlink/mavlink-gbp-release.git
    version: release/kinetic/mavlink/2020.4.4-1

Using ROS_DISTRO: melodic
- git:
    local-name: mavros
    uri: https://github.com/mavlink/mavros.git
    version: 1.1.0

/usr/lib/python2.7/dist-packages/wstool/config_yaml.py:74: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  yamldata = yaml.load(stream)
Merge caused no change, no new elements found
/usr/lib/python2.7/dist-packages/wstool/config_yaml.py:74: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  yamldata = yaml.load(stream)
[mavlink] Updating /home/jetson-falke/catkin_ws/src/mavlink
[mavlink] Done.
[mavros] Updating /home/jetson-falke/catkin_ws/src/mavros
[mavros] Done.
ubuntu_sim_ros_melodic.sh: line 75: rosdep: command not found
ubuntu_sim_ros_melodic.sh: line 78: rosdep: command not found
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package geographiclib
Downloading dependent script 'install_geographiclib_datasets.sh'
--2020-04-08 15:42:14--  https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.112.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1018 [text/plain]
Saving to: ‘STDOUT’

-                      100%[============================>]    1018  --.-KB/s    in 0s      

2020-04-08 15:42:14 (54,7 MB/s) - written to stdout [1018/1018]

bash: line 26: hash: geographiclib-get-geoids: not found
bash: line 30: hash: geographiclib-datasets-download: not found
OS not supported! Check GeographicLib page for supported OS and lib versions.
-----------------------------------------------------------------
Profile:                     default
Extending:          [cached] /opt/ros/melodic
Workspace:                   /home/jetson-falke/catkin_ws
-----------------------------------------------------------------
Build Space:        [exists] /home/jetson-falke/catkin_ws/build
Devel Space:        [exists] /home/jetson-falke/catkin_ws/devel
Install Space:      [unused] /home/jetson-falke/catkin_ws/install
Log Space:          [exists] /home/jetson-falke/catkin_ws/logs
Source Space:       [exists] /home/jetson-falke/catkin_ws/src
DESTDIR:            [unused] None
-----------------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
-----------------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
-----------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
-----------------------------------------------------------------
Workspace configuration appears valid.
-----------------------------------------------------------------
[build] Found '6' packages in 0.0 seconds.                                                 
[build] Package table is up to date.                                                       
Starting  >>> mavlink                                                                      
Starting  >>> mavros_msgs                                                                  
___________________________________________________________________________________________
Errors     << mavlink:make /home/jetson-falke/catkin_ws/logs/mavlink/build.make.001.log    
Traceback (most recent call last):
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
Traceback (most recent call last):
Traceback (most recent call last):
      File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
from pymavlink.generator import mavgen
      File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
from pymavlink.generator import mavgen
    from pymavlink.generator import mavgen
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
      File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
from future import standard_library
        from future import standard_library
from future import standard_library
ImportError: ImportErrorNo module named futureImportError: 
: No module named futureNo module named future

Traceback (most recent call last):
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
    from pymavlink.generator import mavgen
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
    from future import standard_library
ImportError: No module named future
make[2]: *** [slugs-v2.0-cxx-stamp] Error 1
make[2]: *** [include/v1.0/autoquad/autoquad.h] Error 1
Traceback (most recent call last):
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
    from pymavlink.generator import mavgen
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
    from future import standard_library
ImportError: No module named future
make[2]: *** [uAvionix-v2.0-cxx-stamp] Error 1
make[1]: *** [CMakeFiles/slugs.xml-v2.0.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/autoquad.xml-v1.0.dir/all] Error 2
make[1]: *** [CMakeFiles/uAvionix.xml-v2.0.dir/all] Error 2
make[2]: *** [icarous-v2.0-cxx-stamp] Error 1
make[1]: *** [CMakeFiles/icarous.xml-v2.0.dir/all] Error 2
make[2]: *** [matrixpilot-v2.0-cxx-stamp] Error 1
make[1]: *** [CMakeFiles/matrixpilot.xml-v2.0.dir/all] Error 2
Traceback (most recent call last):
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
    from pymavlink.generator import mavgen
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
    from future import standard_library
ImportError: No module named future
Traceback (most recent call last):
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/tools/mavgen.py", line 16, in <module>
    from pymavlink.generator import mavgen
  File "/home/jetson-falke/catkin_ws/src/mavlink/pymavlink/generator/mavgen.py", line 12, in <module>
    from future import standard_library
ImportError: No module named future
make[2]: *** [paparazzi-v2.0-cxx-stamp] Error 1
make[1]: *** [CMakeFiles/paparazzi.xml-v2.0.dir/all] Error 2
make[2]: *** [include/v1.0/icarous/icarous.h] Error 1
make[1]: *** [CMakeFiles/icarous.xml-v1.0.dir/all] Error 2
make: *** [all] Error 2
cd /home/jetson-falke/catkin_ws/build/mavlink; catkin build --get-env mavlink | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................
Failed     << mavlink:make                 [ Exited with code 2 ]                          
Failed    <<< mavlink                      [ 0.9 seconds ]                                 
Abandoned <<< libmavconn                   [ Unrelated job failed ]                        
Abandoned <<< mavros                       [ Unrelated job failed ]                        
Abandoned <<< mavros_extras                [ Unrelated job failed ]                        
Abandoned <<< test_mavros                  [ Unrelated job failed ]                        
___________________________________________________________________________________________
Errors     << mavros_msgs:cmake /home/jetson-falke/catkin_ws/logs/mavros_msgs/build.cmake.001.log
CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "geographic_msgs"
  with any of the following names:

    geographic_msgsConfig.cmake
    geographic_msgs-config.cmake

  Add the installation prefix of "geographic_msgs" to CMAKE_PREFIX_PATH or
  set "geographic_msgs_DIR" to a directory containing one of the above files.
  If "geographic_msgs" provides a separate development package or SDK, be
  sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:4 (find_package)


cd /home/jetson-falke/catkin_ws/build/mavros_msgs; catkin build --get-env mavros_msgs | catkin env -si  /usr/bin/cmake /home/jetson-falke/catkin_ws/src/mavros/mavros_msgs --no-warn-unused-cli -DCATKIN_DEVEL_PREFIX=/home/jetson-falke/catkin_ws/devel/.private/mavros_msgs -DCMAKE_INSTALL_PREFIX=/home/jetson-falke/catkin_ws/install; cd -
...........................................................................................
Failed     << mavros_msgs:cmake            [ Exited with code 1 ]                          
Failed    <<< mavros_msgs                  [ 2.8 seconds ]                                 
[build] Summary: 0 of 6 packages succeeded.                                                
[build]   Ignored:   None.                                                                 
[build]   Warnings:  None.                                                                 
[build]   Abandoned: 4 packages were abandoned.                                            
[build]   Failed:    2 packages failed.                                                    
[build] Runtime: 3.2 seconds total.                                                        
ROS catkin_ws setup.bash already in .bashrc
jetson-falke@falke-jetson:~$ 

And when tying to start the simulation via px4_sitl gazebo, the buid fails:

jetson-falke@falke-jetson:~$ cd Firmware
   jetson-falke@falke-jetson:~/Firmware$ make px4_sitl gazebo
   [0/4] Performing build step for 'sitl_gazebo'
   [1/50] Building CXX object CMakeFiles/...gazebo_opticalflow_mockup_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_opticalflow_mockup_plugin.dir/src/gazebo_opticalflow_mockup_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_opticalflow_mockup_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_opticalflow_mockup_plugin.dir/src/gazebo_opticalflow_mockup_plugin.cpp.o -MF CMakeFiles/gazebo_opticalflow_mockup_plugin.dir/src/gazebo_opticalflow_mockup_plugin.cpp.o.d -o CMakeFiles/gazebo_opticalflow_mockup_plugin.dir/src/gazebo_opticalflow_mockup_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_opticalflow_mockup_plugin.cpp
   In file included from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_opticalflow_mockup_plugin.cpp:27:0:
   /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_opticalflow_mockup_plugin.h:36:10: fatal error: sdf/sdf.hh: No such file or directory
    #include <sdf/sdf.hh>
             ^~~~~~~~~~~~
   compilation terminated.
   [2/50] Building CXX object CMakeFiles/...ugin.dir/src/gazebo_lidar_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_lidar_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o -MF CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o.d -o CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_lidar_plugin.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
                    from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_lidar_plugin.h:25,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_lidar_plugin.cpp:22:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   [3/50] Building CXX object CMakeFiles/...gin.dir/src/gazebo_vision_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_vision_plugin.dir/src/gazebo_vision_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_vision_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_vision_plugin.dir/src/gazebo_vision_plugin.cpp.o -MF CMakeFiles/gazebo_vision_plugin.dir/src/gazebo_vision_plugin.cpp.o.d -o CMakeFiles/gazebo_vision_plugin.dir/src/gazebo_vision_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_vision_plugin.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
                    from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/common.h:27,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_vision_plugin.h:46,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_vision_plugin.cpp:41:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   [4/50] Building CXX object CMakeFiles/...gin.dir/src/gazebo_irlock_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_irlock_plugin.dir/src/gazebo_irlock_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_irlock_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_irlock_plugin.dir/src/gazebo_irlock_plugin.cpp.o -MF CMakeFiles/gazebo_irlock_plugin.dir/src/gazebo_irlock_plugin.cpp.o.d -o CMakeFiles/gazebo_irlock_plugin.dir/src/gazebo_irlock_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_irlock_plugin.cpp
   In file included from /usr/include/gazebo-9/gazebo/sensors/CameraSensor.hh:24:0,
                    from /usr/include/gazebo-9/gazebo/sensors/DepthCameraSensor.hh:23,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_irlock_plugin.cpp:23:
   /usr/include/gazebo-9/gazebo/sensors/Sensor.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include <sdf/sdf.hh>
             ^~~~~~~~~~~~
   compilation terminated.
   [5/50] Building CXX object CMakeFiles/.../src/gazebo_controller_interface.cpp.o
   FAILED: CMakeFiles/gazebo_controller_interface.dir/src/gazebo_controller_interface.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_controller_interface_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_controller_interface.dir/src/gazebo_controller_interface.cpp.o -MF CMakeFiles/gazebo_controller_interface.dir/src/gazebo_controller_interface.cpp.o.d -o CMakeFiles/gazebo_controller_interface.dir/src/gazebo_controller_interface.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_controller_interface.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_controller_interface.h:24,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_controller_interface.cpp:22:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   [6/50] Building CXX object CMakeFiles/...plugin.dir/src/gazebo_uuv_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_uuv_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o -MF CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o.d -o CMakeFiles/gazebo_uuv_plugin.dir/src/gazebo_uuv_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_uuv_plugin.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
                    from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_uuv_plugin.h:24,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_uuv_plugin.cpp:28:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   [7/50] Building CXX object CMakeFiles/...model.dir/src/gazebo_motor_model.cpp.o
   FAILED: CMakeFiles/gazebo_motor_model.dir/src/gazebo_motor_model.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_motor_model_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_motor_model.dir/src/gazebo_motor_model.cpp.o -MF CMakeFiles/gazebo_motor_model.dir/src/gazebo_motor_model.cpp.o.d -o CMakeFiles/gazebo_motor_model.dir/src/gazebo_motor_model.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_motor_model.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
                    from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_motor_model.h:27,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_motor_model.cpp:22:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   [8/50] Building CXX object CMakeFiles/...plugin.dir/src/gazebo_imu_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_imu_plugin.dir/src/gazebo_imu_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_imu_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_imu_plugin.dir/src/gazebo_imu_plugin.cpp.o -MF CMakeFiles/gazebo_imu_plugin.dir/src/gazebo_imu_plugin.cpp.o.d -o CMakeFiles/gazebo_imu_plugin.dir/src/gazebo_imu_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_imu_plugin.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_imu_plugin.h:25,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_imu_plugin.cpp:21:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   [9/50] Building CXX object CMakeFiles/...c/gazebo_geotagged_images_plugin.cpp.o
   FAILED: CMakeFiles/gazebo_geotagged_images_plugin.dir/src/gazebo_geotagged_images_plugin.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_geotagged_images_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_geotagged_images_plugin.dir/src/gazebo_geotagged_images_plugin.cpp.o -MF CMakeFiles/gazebo_geotagged_images_plugin.dir/src/gazebo_geotagged_images_plugin.cpp.o.d -o CMakeFiles/gazebo_geotagged_images_plugin.dir/src/gazebo_geotagged_images_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_geotagged_images_plugin.cpp
   In file included from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_geotagged_images_plugin.h:22:0,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_geotagged_images_plugin.cpp:18:
   /usr/include/gazebo-9/gazebo/common/Plugin.hh:42:10: fatal error: sdf/sdf.hh: No such file or directory
    #include <sdf/sdf.hh>
             ^~~~~~~~~~~~
   compilation terminated.
   [10/50] Building CXX object CMakeFiles...dir/src/gazebo_mavlink_interface.cpp.o
   FAILED: CMakeFiles/gazebo_mavlink_interface.dir/src/gazebo_mavlink_interface.cpp.o 
   /usr/bin/c++  -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_mavlink_interface_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 -isystem /usr/include/ignition/math4 -isystem /usr/include/OGRE -isystem /usr/include/OGRE/Terrain -isystem /usr/include/OGRE/Paging -isystem /usr/include/ignition/transport4 -isystem /usr/include/ignition/msgs1 -isystem /usr/include/ignition/common1 -isystem /usr/include/ignition/fuel_tools1 -isystem /usr/include/aarch64-linux-gnu/qt5 -isystem /usr/include/aarch64-linux-gnu/qt5/QtCore -isystem /usr/lib/aarch64-linux-gnu/qt5/mkspecs/linux-g++ -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/include -I. -I/usr/include/eigen3 -I/usr/include/eigen3/eigen3 -I/usr/include/gazebo-9/gazebo/msgs -I/home/jetson-falke/Firmware/mavlink/include -isystem /usr/include/opencv4 -I/home/jetson-falke/Firmware/Tools/sitl_gazebo/external/OpticalFlow/include -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -isystem /usr/include/uuid -isystem /usr/include/aarch64-linux-gnu -Wno-deprecated-declarations -Wno-address-of-packed-member -fPIC   -I/usr/include/uuid -I/usr/include/aarch64-linux-gnu -std=gnu++1z -MD -MT CMakeFiles/gazebo_mavlink_interface.dir/src/gazebo_mavlink_interface.cpp.o -MF CMakeFiles/gazebo_mavlink_interface.dir/src/gazebo_mavlink_interface.cpp.o.d -o CMakeFiles/gazebo_mavlink_interface.dir/src/gazebo_mavlink_interface.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_mavlink_interface.cpp
   In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
                    from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
                    from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_mavlink_interface.h:49,
                    from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_mavlink_interface.cpp:22:
   /usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
    #include "sdf/sdf.hh"
             ^~~~~~~~~~~~
   compilation terminated.
   ninja: build stopped: subcommand failed.
   FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-build 
   cd /home/jetson-falke/Firmware/build/px4_sitl_default/build_gazebo && /usr/bin/cmake --build .
   ninja: build stopped: subcommand failed.
   Makefile:205: recipe for target 'px4_sitl' failed
   make: *** [px4_sitl] Error 1
   jetson-falke@falke-jetson:~/Firmware$ 
   

Looks like you have a few different issues.

  1. ./Tools/setup/ubuntu.sh: line 146: /opt/gcc-arm-none-eabi-7-2017-q4-major/bin/arm-none-eabi-gcc: cannot execute binary file: Exec format error - My guess is that the setup script is installing a specific version of the GNU ARM toolchain for x86 hosts, and the Jetson is an ARM-based host. However, this toolchain is only needed if you want to compile PX4/NuttX for Pixhawk boards. The standard GCC/G++ you’ve already installed will compile everything on the Jetson, for the Jetson, just fine.

  2. No module named future - This is a Python error. My guess is that you’re using Python3, and the future library is (I think) a sort of back-port of Python3 features for Python2. You can just do pip3 install future or python3-pip install future to get the compatible module for Python3.

  3. Can’t find geographic_msgs-config.cmake – this means you haven’t installed all of the ROS dependencies. You’ll need to apt install ros-melodic-<package> for whatever packages you get errors for like this one.

  4. sdf.h: No such file or directory: likely related to 3.

Hope that helps.

1 Like
  1. here the catkin build seems to fail. You seem to be missing a package:
    sudo apt-get install ros-melodic-geographic-msgs

  2. Just an idea: did you update the submodules? in the Firmware folder do: git submodule update --init --recursive

1 Like

@AlexW159 Note that Xavier is arm based, and runs a L4T release and not native ubuntu. The install scripts will not work out of the box

1 Like

Hey, and thanks to all.

The issue explanaition due to the ARM based system makes sense.

The ROS skript installation now succeeded after installing the future module

pip3 install future

and the ros-melodic-geographic-msgs

sudo apt-get install ros-melodic-geographic-msgs

and some other packages

sudo apt-get install python-rosdep
sudo pip install -U rosdep
sudo rosdep init
rosdep update
sudo pip install -U rosinstall vcstools rospkg

All ROS packages were installed successfully, with the only warning that an XML validation couldn’t be executed for the mavros_msgs.

I assume, a better for the next time or another person to install ROS and the packages on the Jetson is to fist run the ROS installation on Jetson recommened by JetsonHacks and aftwerwards install the mavros packages using the shell script for native ubuntu.

However, to run SITL, I couldn’t get rid of the sdf.h issue outlined in my last post

And when tying to start the simulation via px4_sitl gazebo, the buid fails:

jetson-falke@falke-jetson:~$ cd Firmware
jetson-falke@falke-jetson:~/Firmware$ make px4_sitl gazebo
[0/4] Performing build step for ‘sitl_gazebo’
[1/50] Building CXX object CMakeFiles/…gazebo_opticalflow_mockup_plugin.cpp.o
FAILED: CMakeFiles/gazebo_opticalflow_mockup_plugin.dir/src/gazebo_opticalflow_mockup_plugin.cpp.o
/usr/bin/c++ -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 …

CMakeFiles/gazebo_opticalflow_mockup_plugin.dir/src/gazebo_opticalflow_mockup_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_opticalflow_mockup_plugin.cpp
In file included from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_opticalflow_mockup_plugin.cpp:27:0:
/home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_opticalflow_mockup_plugin.h:36:10: fatal error: sdf/sdf.hh: No such file or directory
#include <sdf/sdf.hh>
^~~~~~~~~~~~
compilation terminated.
[2/50] Building CXX object CMakeFiles/…ugin.dir/src/gazebo_lidar_plugin.cpp.o
FAILED: CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o
/usr/bin/c++ -DLIBBULLET_VERSION=2.87 -DLIBBULLET_VERSION_GT_282 -Dgazebo_lidar_plugin_EXPORTS -isystem /usr/include/gazebo-9 -isystem /usr/include/bullet -isystem /usr/include/simbody -isystem /usr/include/sdformat-6.0 …

CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o.d -o CMakeFiles/gazebo_lidar_plugin.dir/src/gazebo_lidar_plugin.cpp.o -c /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_lidar_plugin.cpp
In file included from /usr/include/gazebo-9/gazebo/common/common.hh:8:0,
from /usr/include/gazebo-9/gazebo/gazebo_core.hh:19,
from /usr/include/gazebo-9/gazebo/gazebo.hh:20,
from /home/jetson-falke/Firmware/Tools/sitl_gazebo/include/gazebo_lidar_plugin.h:25,
from /home/jetson-falke/Firmware/Tools/sitl_gazebo/src/gazebo_lidar_plugin.cpp:22:
/usr/include/gazebo-9/gazebo/common/Battery.hh:25:10: fatal error: sdf/sdf.hh: No such file or directory
#include “sdf/sdf.hh”
^~~~~~~~~~~~
compilation terminated.

I installed the sdf module already, but issue still raises

sudo apt-get install sdf

So, we moved to a linux dektop pc now for development where we have the px4-autopilot, the simulator and the companion compouter-code all running of the same maschine, for now.

The installation script for the px4 toolchain worked perfectly.
For the ROS installation we jsut had to install the future packet, geographic-msgs packet and rosdep packet manually (as described in my last post) to succeed the installation script.

As soon as we have code to test, we will again try set up the Jetson with MAVROS and UART interface to control the pixhawk.

Thank you so far!

1 Like

I’m running into a similar issue in setting up my simulation environment on my Jetson Nano. I’ve installed ROS/Gazebo following the correct script for the Jetson line here: https://github.com/jetsonhacks/installROS

Everything in the Firmware folder builds correctly however the simulator is “stuck” waiting for a connection:

[0/4] Performing build step for 'sitl_gazebo'
ninja: no work to do.
[3/4] cd /home/james/Firmware/build/px4_sitl_default/tmp && /home/james/Firmware/Tools/sitl_run.sh /home...l_default/bin/px4 none gazebo none none /home/james/Firmware /home/james/Firmware/build/px4_sitl_default
SITL ARGS
sitl_bin: /home/james/Firmware/build/px4_sitl_default/bin/px4
debugger: none
program: gazebo
model: none
world: none
src_path: /home/james/Firmware
build_path: /home/james/Firmware/build/px4_sitl_default
empty model, setting iris as default
GAZEBO_PLUGIN_PATH :/home/james/Firmware/build/px4_sitl_default/build_gazebo:/home/james/Firmware/build/px4_sitl_default/build_gazebo
GAZEBO_MODEL_PATH :/home/james/Firmware/Tools/sitl_gazebo/models:/home/james/Firmware/Tools/sitl_gazebo/models
LD_LIBRARY_PATH /home/james/catkin_ws/devel/lib:/opt/ros/melodic/lib:/home/james/Firmware/build/px4_sitl_default/build_gazebo:/home/james/Firmware/build/px4_sitl_default/build_gazebo
empty world, setting empty.world as default
SITL COMMAND: "/home/james/Firmware/build/px4_sitl_default/bin/px4" "/home/james/Firmware"/ROMFS/px4fmu_common -s etc/init.d-posix/rcS -t "/home/james/Firmware"/test_data
INFO  [px4] Creating symlink /home/james/Firmware/ROMFS/px4fmu_common -> /home/james/Firmware/build/px4_sitl_default/tmp/rootfs/etc

______  __   __    ___ 
| ___ \ \ \ / /   /   |
| |_/ /  \ V /   / /| |
|  __/   /   \  / /_| |
| |     / /^\ \ \___  |
\_|     \/   \/     |_/

px4 starting.

INFO  [px4] Calling startup script: /bin/sh etc/init.d-posix/rcS 0
INFO  [param] selected parameter default file eeprom/parameters_10016
[param] parameter file not found, creating eeprom/parameters_10016
  SYS_AUTOCONFIG: curr: 0 -> new: 1
* SYS_AUTOSTART: curr: 0 -> new: 10016
  BAT_N_CELLS: curr: 0 -> new: 3
  CAL_ACC0_ID: curr: 0 -> new: 1311244
  CAL_ACC_PRIME: curr: 0 -> new: 1311244
  CAL_GYRO0_ID: curr: 0 -> new: 2294028
  CAL_GYRO_PRIME: curr: 0 -> new: 2294028
  CAL_MAG0_ID: curr: 0 -> new: 197388
  CAL_MAG_PRIME: curr: 0 -> new: 197388
  CBRK_SUPPLY_CHK: curr: 0 -> new: 894281
  COM_DISARM_LAND: curr: 2.0000 -> new: 0.5000
  COM_OBL_ACT: curr: 0 -> new: 2
  COM_RC_IN_MODE: curr: 0 -> new: 1
  EKF2_ANGERR_INIT: curr: 0.1000 -> new: 0.0100
  EKF2_GBIAS_INIT: curr: 0.1000 -> new: 0.0100
  COM_ARM_EKF_AB: curr: 0.0022 -> new: 0.0050
  EKF2_REQ_GPS_H: curr: 10.0000 -> new: 0.5000
  IMU_INTEG_RATE: curr: 200 -> new: 250
  MC_PITCH_P: curr: 6.5000 -> new: 6.0000
  MC_PITCHRATE_P: curr: 0.1500 -> new: 0.2000
  MC_ROLL_P: curr: 6.5000 -> new: 6.0000
  MC_ROLLRATE_P: curr: 0.1500 -> new: 0.2000
  MPC_HOLD_MAX_Z: curr: 0.6000 -> new: 2.0000
  MPC_Z_VEL_I: curr: 0.1000 -> new: 0.1500
  MPC_Z_VEL_P: curr: 0.2000 -> new: 0.6000
  MPC_XY_P: curr: 0.9500 -> new: 0.8000
  MPC_XY_VEL_P: curr: 0.0900 -> new: 0.2000
  MPC_XY_VEL_D: curr: 0.0100 -> new: 0.0160
  MPC_SPOOLUP_TIME: curr: 1.0000 -> new: 0.5000
  MPC_TKO_RAMP_T: curr: 3.0000 -> new: 1.0000
  NAV_ACC_RAD: curr: 10.0000 -> new: 2.0000
  NAV_DLL_ACT: curr: 0 -> new: 2
  RTL_DESCEND_ALT: curr: 30.0000 -> new: 5.0000
  RTL_LAND_DELAY: curr: -1.0000 -> new: 5.0000
  RTL_RETURN_ALT: curr: 60.0000 -> new: 30.0000
  SDLOG_MODE: curr: 0 -> new: 1
  SDLOG_PROFILE: curr: 3 -> new: 131
  SDLOG_DIRS_MAX: curr: 0 -> new: 7
  SENS_BOARD_X_OFF: curr: 0.0000 -> new: 0.0000
  SENS_DPRES_OFF: curr: 0.0000 -> new: 0.0010
  TRIG_INTERFACE: curr: 4 -> new: 3
  COM_CPU_MAX: curr: 90.0000 -> new: -1.0000
* RTL_DESCEND_ALT: curr: 5.0000 -> new: 10.0000
* RTL_LAND_DELAY: curr: 5.0000 -> new: 0.0000
  PWM_MAX: curr: 2000 -> new: 1950
  PWM_MIN: curr: 1000 -> new: 1075
  GPS_UBX_DYNMODEL: curr: 7 -> new: 6
* SYS_AUTOCONFIG: curr: 1 -> new: 0
INFO  [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes
Gazebo multi-robot simulator, version 9.0.0
Copyright (C) 2012 Open Source Robotics Foundation.
Released under the Apache 2 License.
http://gazebosim.org

[Msg] Waiting for master.
INFO  [simulator] Waiting for simulator to accept connection on TCP port 4560
[Msg] Connected to gazebo master @ http://127.0.0.1:11345
[Msg] Publicized address: 192.168.55.1
[Err] [REST.cc:205] Error in REST request

libcurl: (51) SSL: no alternative certificate subject name matches target host name 'api.ignitionfuel.org'

I’m not sure if there’s any additional place to search for additional output logs. MAVLINK and MAVROS have also been installed correctly per the instructions on the latest dev guide.

Simulations running on the companion computer might not be the “usual” best solution, but for some development on the Jetsons it’s convenient to stay on the machine itself.

Thank you for any guidance, please let me know if further information is needed.

@AlexW159 @Jaeyoung-Lim @baumanta

@jamesthesken It is trying to connect to the model database. If you wait it will eventually work unless there are other errors that are not in the logs you showed

@Jaeyoung-Lim Thank you for the response! Is that normal behavior on first start up?

I will try to let the simulation run for longer and report back. The strangest part is Gazebo loads the quadcopter model and runs at 60 FPS…

EDIT: Had the simulator run for ~20min. but no response. Stuck on this one lol

have you tried reinstall gazebo? i think it has something to do with libignition http://gazebosim.org/tutorials?tut=install_from_source&cat=install

Yes, its take time but ok to control my Pixhawk with the Nvidia Jetson Xavier AGX via Telem2 port to allow vision. Actually, I learn from here about Nvidia Jetson Xavier AGX controlling PX4/Pixhawk (ROS, MAVROS) and ask for my training, if you are interested to know from where I know visit: https://www.cetpainfotech.com/technology/python-training

@jamesthesken I was able to solve the issue of the simulator not connecting through the following.

I had the same issue where launching PX4 SITL gave me the info message:

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

I changed this so that the simulator would connect by changing it to connect on UDP port 14560.

This works on the latest master branch (commit Dec 14 13:04:01). I tried testing the latest stable release for some reason did not work.

in /build/px4_sitl_default/etc/init.d-posix/rcS after line 107 add the following:
simulator_udp_port = $((14560+px4_instance))

and change line 213 to:
simulator start -u $simulator_udp_port

in /Tools/sitl_gazebo/models/iris/iris.sdf (or whichever PX4 model you are working with )change line 506 to
<use_tcp>0</use_tcp>

The simulator now connects and I am able to do commands such as commander takeoff and use mavros in OFFBOARD mode.

I am using an Nvidia Jetson AGX Xavier. Good luck!

Can you mention what lines 107, 213 & line 506 initially were? it will help me understand the issue better. I am currently facing a similar issue while trying to run jmavsim on a px4 container on MacOS. It seems to me that my version of the rcS file may have slightly different content than yours. Hence wanted to double check. Thanks in advance!