在 Jetson AGX Orin™ 上安裝 ROS 機器人作業系統

前言

本文為 ZED 景深攝影機原廠範例,說明如何在 Jetson AGX ORIN™ (本文後簡稱 ORIN) 平台上安裝 ROS 機器人作業系統,ROS2 安裝將另外寫文章和大家分享。

當然,您需要先取得一台 Jetson OrinZED 攝影機才能順利執行所有範例。

由於相關設定相當繁瑣,由機器人王國商城購買這兩項商品的朋友們,我們將為您測試好所有範例再行出貨,以便您更快上手喔!

Jetson AGX Orin™ 的強大效能解放了處理來自多台 ZED 2i Depth Cameras 之 3D 資料的能力,使其成為自動化機器人與邊緣分析應用的絕佳方案。

本文將說明如何在 ORIN 上安裝 ROS Noetic Ninjemys ,讓 Jetson AGX Orin 得以控制機器並以 3D 方式來感知這個世界。您會知道如何使用最新的 NVIDIA Jetpack SDK 5.0.1 Developer Preview,也帶入了 Jetson Linux 34.1.1 (第一個基於 Ubuntu 20.04 的 Linux for Tegra operating system)。

但首先讓我們來看看,為什麼要選用 Jetson AGX Orin?

AGX Orin vs AGX Xavier:各項效能最高為上一代的 2.5 倍!

根據 ZED 團隊,Jetson AGX Orin 的各項效能比前一代 AGX Xavier 都來的更好,最高為 2.5 倍!

下圖比較了 Orin / Xavier 在深度擷取 (Depth Extraction)、物件偵測 (Object Detection) 與骨架追蹤 (Skeleton Tracking) 等不同方面的效能,提升至少都有 1.5x,平均則是 ~ 1.8x。

 

AGX Orin 可將 ZED 新的 Neural depth mode 充分運用於機器與自動導航等即時性要求極高的應用中。

在 Jetson AGX Orin 上安裝 ZED SDK

    您需要先安裝用於 NVIDIA Jetpack 5.0最新版本的 ZED SDK,才能接續安裝 ROS 或 ROS2。請由此下載 ZED SDK。也請參考 ZED 所寫的 Orin  開機教學 CAVEDU 所寫的 Orin 開機教學

    開啟終端機並輸入以下指令:

cd Downloads 

chmod +x ZED_SDK_Tegra_L4T<os_ver>_v<sdk_ver>.run

./ZED_SDK_Tegra_L4T<os_ver>_v<sdk_ver>.run

請將上述指令的 <os_ver><sdk_ver> 換成與您所下載檔案檔名對應。本步驟完成之後就可以來安裝 ROS / ROS2了。


在 Jetson AGX Orin 上安裝 ROS Noetic

ROS Noetic Ninjemys 是 ROS 最新一版的 LTS release,但請注意,ROS.org 在 2025 年 5 月之後就不會再推出新版的 ROS release。

ROS Noetic

安裝 ROS Noetic

設定電腦來接受來自 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'

設定金鑰

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 -

更新軟體並安裝 ROS noetic

sudo apt update

sudo apt install ros-noetic-desktop

我們希望每次啟動新的 shell 時,都可以自動 source 到環境設定腳本,請透過以下指令來設定:

Bash shell

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

zsh shell

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

安裝建置套件所需的相依套件

sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator 

python3-wstool build-essential python3-rosdep

初始化 rosdep

sudo rosdep init 

rosdep update

安裝 ZED ROS Wrapper

ZED ROS Wrapper 可將 ZED SDK 的各種功能帶入您的 ROS 專案中。ZED ROS Wrapper 為開放原始碼,請由其 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

注意:git clone 指令搭配 --recursive 旗標,可順利將 zed-ros-interfaces 作為子模組來安裝,並加入所有 ZED ROS Wrapper 所需的自定義訊息。

每次啟動新的 shell 時,都可以自動 source 到環境設定腳本,請透過以下指令來設定。

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

安裝範例與教學

ZED 已提供了相當豐富的範例與教學,方便您測試 ROS 在 Jetson AGX Orin 上的運作效果:

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

ZED ROS Wrapper 相關文件與教學請點我。Jetson Orin 安裝 ROS1 到此結束,接著要看到如何安裝 ROS2。


結論

您的 Jetson AGX Orin 已經可以透過 ROS 與 ROS2 來控制機器人平台了!再搭配 Stereolabs ZED 景深攝影機的話,Orin 就能像我們人類一樣以 3D 方式來感知周遭的環境。

如果在 Jetson AGX Orin 上安裝 ROS / ROS2 有更多問題的話,請於本文留言或到 ZED 論壇留言

註:本文經授權之後翻譯自 [Getting Started with ROS on Jetson AGX Orin™

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *