Getting Started with ROS on Jetson AGX Orin™

The new Jetson AGX Orin™ from NVIDIA® is the ideal platform for edge AI and autonomous robotics. Learn how to get started with ROS on the Jetson AGX Orin™.

Note: if you are searching for a guide to installing ROS2 on the Jetson Orin, you can jump to this blog post.

The performance of the new Jetson AGX Orin™ unlocks capabilities such as processing 3D data coming from multiple ZED 2i Depth Cameras, making it the ideal combination for autonomous robotics and edge analytics solutions. It is now available for purchase at the Stereolabs store.

NVIDIA Jetson AGX Orin

Reading this article you will learn how to make the Jetson AGX Orin ready to control a robot and make it perceive the world in 3D by installing ROS Noetic Ninjemys. You will also learn how to use the latest NVIDIA Jetpack SDK 5.0.2 which introduces Jetson Linux 35.1, the first Linux for Tegra operating system based on Ubuntu 20.04 ready for production.

But first things first, why should you use the new Jetson AGX Orin over the AGX Xavier?

AGX Orin vs AGX Xavier: up to 2.5x faster

According to tests performed by our research team, the new Jetson AGX Orin outperforms the AGX Xavier, the former most powerful Jetson on the market, by a maximum factor of 2.5x.

The following graph compares the performances of the two embedded devices for Depth Extraction (left bars), Object Detection (center bars), and Skeleton Tracking (right bars). Performance increases by a factor of 1.5x at worst, with an average factor of ~ 1.8x.

AGX Orin allows you to take advantage of the new Neural depth mode for real-time applications like robotics and autonomous navigation with no compromises.

Install the ZED SDK on Jetson AGX Orin

Before installing ROS you must first install the latest ZED SDK for NVIDIA Jetpack 5.0 if you have not already done it. You can download the installer from the developer section of the Stereolabs website.

You can read our guide to make the Jetson AGX Orin ready for the first boot.

Open a terminal console and enter the following commands

cd Downloads
chmod +x ZED_SDK_Tegra_L4T<os_ver>_v<sdk_ver>.run
./ZED_SDK_Tegra_L4T<os_ver>_v<sdk_ver>.run

Replace <os_ver> and <sdk_ver> with the correct values of the name of the file that you downloaded. When the process is completed you can install ROS.

How to Install ROS Noetic on Jetson AGX Orin

ROS Noetic Ninjemys is the latest and last LTS release of the first version of ROS. After May 2025 no more supported ROS releases will be officially available.

ROS Noetic

Install ROS Noetic

Set up your computer to accept software from packages.ros.org.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

Set up the keys

sudo apt install curl # if you haven't already installed curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

Make sure your Debian package index is up-to-date

sudo apt update

Install the packages useful for a robotic platform

sudo apt install ros-noetic-desktop

Automatically source the environment setup script every time a new shell is launched. These commands will do that for you.

Bash shell

echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

zsh shell

echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc

Install the dependencies to build packages

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-rosdep

Initialize rosdep

sudo rosdep init
rosdep update

Install the ZED ROS Wrapper

The ZED ROS Wrapper is a ready package that allows integrating the ZED SDK capabilities into the ROS world. The ZED ROS Wrapper is open source and the code is available on Github.

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
cd ../
rosdep install --from-paths src --ignore-src -r -y
catkin_make -DCMAKE_BUILD_TYPE=Release
source ./devel/setup.bash

Note: using the flag --recursive with the git clone command is really important to install the zed-ros-interfaces repository as a sub-module and so adding all the custom messages required by the ZED ROS Wrapper.

Automatically source the development environment setup script every time a new shell is launched:

Bash shell

cd ~/catkin_ws
echo "source $(pwd)/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

zsh shell

cd ~/catkin_ws
echo "source $(pwd)/devel/setup.bash" >> ~/.zshrc
source ~/.zshrc

Install the examples and tutorial

If you want to test how ROS works on the Jetson AGX Orin, we provide a full set of examples and tutorials

$ cd ~/catkin_ws/src
$ git clone https://github.com/stereolabs/zed-ros-examples.git
$ cd ../
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make -DCMAKE_BUILD_TYPE=Release
$ source ./devel/setup.bash

You can find the documentation of the ZED ROS Wrapper and the tutorials online on the Stereolabs documentation website.

Conclusion

Your Jetson AGX Orin is now ready to control a robotic platform with ROS! Thanks to the Stereolabs ZED cameras, it will be able to perceive the environment in 3D as we humans do.

If you need help with setting up ROS on your Jetson AGX Orin or using your ZED stereo camera, don’t hesitate to contact us on the support portal or the community forum.

NVIDIA® Jetson AGX Orin™ Developer Kit is now available and shipping from the Stereolabs store

Tags