在 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 開機教學

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

[pastacode lang=”bash” manual=”cd%20Downloads%20%0A%0Achmod%20%2Bx%20ZED_SDK_Tegra_L4T%3Cos_ver%3E_v%3Csdk_ver%3E.run%0A%0A.%2FZED_SDK_Tegra_L4T%3Cos_ver%3E_v%3Csdk_ver%3E.run” message=”” highlight=”” provider=”manual”/]

請將上述指令的 <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 的軟體套件。

[pastacode lang=”bash” manual=”sudo%20sh%20-c%20’echo%20%22deb%20http%3A%2F%2Fpackages.ros.org%2Fros%2Fubuntu%20%24(lsb_release%20-sc)%20main%22%20%3E%20%2Fetc%2Fapt%2Fsources.list.d%2Fros-latest.list'” message=”” highlight=”” provider=”manual”/]

設定金鑰

[pastacode lang=”bash” manual=”sudo%20apt%20install%20curl%20%23%20if%20you%20haven’t%20already%20installed%20curl%0A%0Acurl%20-s%20https%3A%2F%2Fraw.githubusercontent.com%2Fros%2Frosdistro%2Fmaster%2Fros.asc%20%7C%20sudo%20apt-key%20add%20-” message=”” highlight=”” provider=”manual”/]

更新軟體並安裝 ROS noetic

[pastacode lang=”bash” manual=”sudo%20apt%20update%0A%0Asudo%20apt%20install%20ros-noetic-desktop” message=”” highlight=”” provider=”manual”/]

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

Bash shell

[pastacode lang=”bash” manual=”echo%20%22source%20%2Fopt%2Fros%2Fnoetic%2Fsetup.bash%22%20%3E%3E%20~%2F.bashrc%20source%20~%2F.bashrc” message=”” highlight=”” provider=”manual”/]

zsh shell

[pastacode lang=”bash” manual=”echo%20%22source%20%2Fopt%2Fros%2Fnoetic%2Fsetup.zsh%22%20%3E%3E%20~%2F.zshrc%20source%20~%2F.zshrc” message=”” highlight=”” provider=”manual”/]

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

[pastacode lang=”bash” manual=”sudo%20apt%20install%20python3-rosdep%20python3-rosinstall%20python3-rosinstall-generator%20%0A%0Apython3-wstool%20build-essential%20python3-rosdep” message=”” highlight=”” provider=”manual”/]

初始化 rosdep

[pastacode lang=”bash” manual=”sudo%20rosdep%20init%20%0A%0Arosdep%20update” message=”” highlight=”” provider=”manual”/]

安裝 ZED ROS Wrapper

ZED ROS Wrapper 可將 ZED SDK 的各種功能帶入您的 ROS 專案中。ZED ROS Wrapper 為開放原始碼,請由其 Github 取得。

[pastacode lang=”bash” manual=”mkdir%20-p%20~%2Fcatkin_ws%2Fsrc%0A%0Acd%20~%2Fcatkin_ws%2Fsrc%0A%0Agit%20clone%20–recursive%20https%3A%2F%2Fgithub.com%2Fstereolabs%2Fzed-ros-wrapper.git%0A%0Acd%20..%2F%20%0A%0Arosdep%20install%20–from-paths%20src%20–ignore-src%20-r%20-y%0A%0Acatkin_make%20-DCMAKE_BUILD_TYPE%3DRelease%0A%0Asource%20.%2Fdevel%2Fsetup.bash” message=”” highlight=”” provider=”manual”/]

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

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

Bash shell

[pastacode lang=”bash” manual=”cd%20~%2Fcatkin_ws%0A%0Aecho%20%22source%20%24(pwd)%2Fdevel%2Fsetup.bash%22%20%3E%3E%20~%2F.bashrc%0A%0Asource%20~%2F.bashrc” message=”” highlight=”” provider=”manual”/]

zsh shell

[pastacode lang=”bash” manual=”cd%20~%2Fcatkin_ws%0A%0Aecho%20%22source%20%24(pwd)%2Fdevel%2Fsetup.bash%22%20%3E%3E%20~%2F.zshrc%0A%0Asource%20~%2F.zshrc” message=”” highlight=”” provider=”manual”/]

安裝範例與教學

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

[pastacode lang=”bash” manual=”cd%20~%2Fcatkin_ws%2Fsrc%20%0A%0Agit%20clone%20https%3A%2F%2Fgithub.com%2Fstereolabs%2Fzed-ros-examples.git%20%0A%0Acd%20..%2F%20%0A%0Arosdep%20install%20–from-paths%20src%20–ignore-src%20-r%20-y%20%0A%0Acatkin_make%20-DCMAKE_BUILD_TYPE%3DRelease%20%0A%0Asource%20.%2Fdevel%2Fsetup.bash” message=”” highlight=”” provider=”manual”/]

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™

發佈留言

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