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.
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
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.
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
<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.
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.
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc source ~/.bashrc
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
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:
cd ~/catkin_ws echo "source $(pwd)/devel/setup.bash" >> ~/.bashrc source ~/.bashrc
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.
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.
NVIDIA® Jetson AGX Orin™ Developer Kit is now available and shipping from the Stereolabs store