Holybro Pixhawk Jetson Baseboard setup

Recovery Mode Setup

  • Locate the DIP switch on the baseboard for entering recovery mode. DIP Switch Recovery Mode

Connect USB

Connect USB to flash the Jetson Board. Connect USB

Install Jetson OS

  • Install the OS following the guide at NVIDIA's Installation Guide (skip SDK Components).
  • Power the Jetson through the 12V power and the Autopilot through the USB-C port near the ethernet port. Warning: the Jetson and the Pixhawk Autopilot have each their own power supply. Both should be connected to have the system working properly.
  • Set up the Ethernet connection directly on the Jetson. Keyboard, mouse, and monitor are required for this step.

Run the Install Offboard Script for ROS2_UAV_PX4

sudo apt-get install cmake
  • Download and run the installation script:
wget https://raw.githubusercontent.com/Robotsix-UAV/PX4_ROS2_workspace/main/tools/scripts/install_offboard.sh
chmod +x install_offboard.sh
sudo ./install_offboard.sh *uav_name*

Replace uav_name with your specific UAV's name.

Configure the microDDS Client on the PX4 Autopilot

  • Set the parameter 'UXR_DDS_CFG' to 'Disabled' to avoid automatic start of the microDDS client (does not support namespaces).
  • Set the microDDS client via the mavlink shell:
mkdir /fs/microsd/etc
echo "uxrce_dds_client start -t udp -p 8888 -h *Jetson IP* -n *uav_name*" >> /fs/microsd/etc/extras.txt

Replace uav_name and Jetson IP with your specific UAV's name and the Jetson's IP address. Do not forget to compile the PX4 firmware with the appropriate microDDS configuration. If you use the firmware flashing utility from the PX4_ROS2_workspace, the firmware will be compiled with the correct configuration.

Usage

The installation script generate convenient aliases to start the nodes. They are in the ~/.bashrc file. After installation you need to source the ~/.bashrc file to use the aliases (or restart the terminal). All launch files from ros2_uav_px4 get aliases through the installation script.

  • To start the offboard modes:
launch_offboard_modes

The script execute the launch file on the docker container 'ros2_uav_offboard'. Proper execution of the nodes can be checked by running:

docker attach ros2_uav_offboard