ROS2 on Jetson AGX Xavier

The Jetson AGX Xavier is the current board used by the UWRT Software team for communication, intelligence, motor control, etc.


Look at our beautiful baby.



Nvidia Jetson is a series of embedded computing boards from Nvidia. The Jetson TK1, TX1 and TX2 models all carry a Tegra processor (or SoC) from Nvidia that integrates an ARM architecture central processing unit (CPU). Jetson is a low-power system and is designed for accelerating machine learning applications. Generally, the Jetson series run Linux, or more specifically, Ubuntu. We power it on the robot via the barrel jack on the side.

The Jetson AGX Xavier runs Ubuntu; currently, Ubuntu 20.04, through JetPack. The JetPack SDK is just a custom SDK made by Nvidia to give your Jetson boards hardware acceleration for AI, access to the Jetson’s hardware peripherals, and a bunch of other great stuff, on top of the Ubuntu installation. Thus, when you flash the board with JetPack, you’re flashing it with Ubuntu at the same time. Make sense?

JetPack releases generally lag a bit behind Ubuntu releases. The most recent version of JetPack (at the time of writing) is JetPack 5, which supports Ubuntu 20.04. That means that whichever ROS2 versions we use must be compatible with Ubuntu 20.04, which locks us down to ROS2 Foxy and ROS2 Galactic.

We could technically build a later version of ROS2 from source to use on Ubuntu 20.04 with JetPack 5 (e.g: if we ever want to migrate to ROS2 Humble), but at the moment we stick with ROS2 Foxy/Galactic for our software development.

To install JetPack/re-flash the Jetson, first read over this webpage on JetPack. Then, download the Nvidia SDK Manager and follow its instructions. You’ll need to flash it over USB C.

 

Useful Jetson links: