由 Clearpath Robotics 公司開(kāi)發(fā)的 Husky 機(jī)器人是一個(gè)多功能的四輪平臺(tái),可用于室內(nèi)和室外研究。其改裝非常簡(jiǎn)單,只需添加其他傳感器和更改高級(jí)電路板即可。本文將介紹如何使用 ROS 2 Husky 官方軟件包將該機(jī)器人導(dǎo)入 NVIDIA Isaac Sim 并創(chuàng)建仿真。
本 Demo 中的 Husky 機(jī)器人配備了 NVIDIA Jetson Orin Nano 并在頂部安裝了 ZED 2 攝像頭。駕駛 Husky 機(jī)器人使用的是 Isaac ROS 2 的最新版本,其中包括用于機(jī)器人定位(NVIDIA Isaac ROS VSLAM)、地圖構(gòu)建(NVIDIA Isaac ROS NvBlox)和 Apriltag 檢測(cè)(NVIDIA Isaac ROS AprilTag)的 Isaac ROS 軟件包。
Isaac ROS Demo 的工作原理
Husky 的統(tǒng)一機(jī)器人描述格式(URDF)是從 ROS 2 話(huà)題中動(dòng)態(tài)加載的。它用于在 ROS 可視化視圖(rviz)中對(duì)機(jī)器人進(jìn)行可視化,并將其加載到 NVIDIA Isaac Sim 中。
在加載該機(jī)器人后,Isaac Sim 主腳本會(huì)創(chuàng)建一個(gè)圖形來(lái)驅(qū)動(dòng)該機(jī)器人,將速度和轉(zhuǎn)向命令轉(zhuǎn)換為每個(gè)車(chē)輪的速度,并在 tf 中發(fā)布車(chē)輪狀態(tài)(圖 1)。

圖 1. 從 ROS 2 話(huà)題加載 Husky 時(shí)
自動(dòng)生成的電機(jī)控制動(dòng)作圖
該腳本會(huì)為每個(gè)攝像頭生成一個(gè)圖形并將輸出結(jié)果發(fā)布到 ROS 2 話(huà)題中。每個(gè)攝像頭都有 ROS 2 圖像信息和攝像頭信息。

圖 2. 帶有分辨率配置和發(fā)布 ROS 2 話(huà)題指令的攝像頭圖
如圖 3 所示,在加載所有圖形并成功導(dǎo)入 URDF 后,一個(gè)新的 Husky 機(jī)器人出現(xiàn)在 Isaac Sim 中。

圖 3. NVIDIA Isaac Sim 2023.1.0 中的
Husky 機(jī)器人和所有攝像頭輸出結(jié)果
在成功加載 Husky 后,就可以使用 ROS 2 的不同選項(xiàng),包括攝像頭流、電機(jī)控制器和其他輔助輸出。可以使用以下命令快速查看在另一個(gè)終端中正在運(yùn)行的程序:
ros2 topic list
圖 4. Husky ROS 2 的所有話(huà)題列表
當(dāng) ROS 2 啟動(dòng)器啟動(dòng)時(shí),所有必要的 ROS 2 節(jié)點(diǎn)和 Isaac ROS 節(jié)點(diǎn)都會(huì)運(yùn)行。機(jī)器人將建立一個(gè)連接管道,其中,來(lái)自“Husky 描述”的 Husky URDF 將被用于 Isaac Sim 和機(jī)器人本身。Isaac ROS VSLAM 和 Isaac ROS NvBlox 也將被用于定位和構(gòu)建實(shí)時(shí)地圖。
當(dāng)所有必需的軟件包都在運(yùn)行時(shí),機(jī)器人就可以實(shí)現(xiàn)完全定位并構(gòu)建一個(gè) 3D 地圖。現(xiàn)在可以使用 Nav2、鍵盤(pán)或操縱桿來(lái)驅(qū)動(dòng)它。
下一步是設(shè)置工作站和 Jetson Orin(可選),以便在 Isaac Sim 2023 和 Isaac ROS 2 上測(cè)試 Husky。

圖 5. 移動(dòng)中的 Husky 并生成 3D 地圖
設(shè)置 Demo
有兩種方法可以運(yùn)行該 Demo:直接從工作站運(yùn)行或使用硬件在環(huán)(HIL)配置。以下將介紹每種方法的設(shè)置要求。
無(wú)論采用哪種方式,首先都要安裝最新版本的 Isaac Sim。詳細(xì)說(shuō)明參見(jiàn) NVIDIA Omniverse 入門(mén):
https://www.nvidia.com/en-us/omniverse/download/
注意:下載完成后請(qǐng)勿啟動(dòng) Isaac Sim。
Husky Demo: 工作站版本
若要運(yùn)行 Husky Demo,需要一臺(tái)搭載 NVIDIA RTX GPU 的工作站,并安裝有最新版本的 NVIDIA Isaac Sim 和 ROS 2 Humble。請(qǐng)記得安裝桌面版本。
sudo apt install ros-humble-desktop
安裝和運(yùn)行
系統(tǒng)準(zhǔn)備就緒后,可以克隆 Demo 版本,并使用以下腳本在工作站上試用:
git clone https://github.com/NVIDIA-AI-IOT/husky_demo.git
cd husky_demo
運(yùn)行后使用以下命令啟動(dòng) Isaac Sim 并打開(kāi)一個(gè)新的終端,其中構(gòu)建了 Docker,以使用 Isaac ROS 和 Demo 所需的所有軟件包:
./husky_demo.sh
該命令將:
-
克隆所需的所有資源庫(kù)
-
克隆 Isaac ROS Docker 鏡像
-
構(gòu)建新的鏡像
構(gòu)建完成后,該終端將等待新命令(圖 6)。圖 7 顯示 Isaac Sim 正在運(yùn)行,環(huán)境已完全加載。
圖 6. 帶有 Isaac ROS 提示的
Docker 容器終端正在等待命令
圖 7. Isaac Sim 在已加載的倉(cāng)庫(kù)環(huán)境中運(yùn)行
現(xiàn)在,可以在第二個(gè)終端上運(yùn)行這個(gè)腳本:
bash src/husky_isaac_sim/scripts/run_in_docker.sh
腳本 run_in_docker.sh 將在運(yùn)行 Isaac ROS 啟動(dòng)文件之前執(zhí)行一些步驟。第一階段將更新并構(gòu)建所有必需的 ROS 2 和 Isaac ROS 軟件包。然后該腳本將執(zhí)行啟動(dòng)文件:
ros2 launch husky_isaac_sim allinone.launch.py
這個(gè) ROS 2 腳本會(huì)啟動(dòng)所有 Isaac ROS 軟件包來(lái)定位機(jī)器人,并開(kāi)始繪制地圖和啟動(dòng) rviz,以在地圖上可視化 Husky。
該腳本還將在環(huán)境中加載 Husky,并自動(dòng)設(shè)置攝像頭和控制器。
Husky Demo: HIL 版本
要使用 HIL 版本,需要一臺(tái)裝有 NVIDIA RTX GPU 和最新版本 NVIDIA Isaac Sim 2023.1.0 的工作站、一臺(tái)路由器以及 NVIDIA Jetson Orin Nano(請(qǐng)注意,其他型號(hào)的 Jetson Orin 也能勝任這項(xiàng)工作)。
在工作站和 Jetson 之間建立有線(xiàn)連接是很重要的,強(qiáng)烈建議在它們之間配置一臺(tái)好的路由器。請(qǐng)記住,工作站和 Jetson 之間將共享大量數(shù)據(jù),因此僅靠 Wi-Fi 連接是不夠的。
您的 NVIDIA Jetson Orin Nano 必須使用最新的 Jetpack 5.1.2 并已安裝完畢。請(qǐng)保留 IP 地址。如果使用主機(jī)名,則需要從工作站進(jìn)行遠(yuǎn)程連接。
運(yùn)行此配置所需的組件如下:
-
裝有 Ubuntu 22.04 的 x86/64 機(jī)器
-
NVIDIA RTX GPU
-
內(nèi)置 Jetpack 5.1.2 的 NVIDIA Jetson Orin Nano 開(kāi)發(fā)者套件
-
路由器和電纜
圖 8 顯示了如何設(shè)置硬件環(huán)境。
圖 8. 硬件設(shè)置:帶有 NVIDIA RTX 顯卡(左)、
路由器(中)和 NVIDIA Jetson
Orin Nano 開(kāi)發(fā)者套件(右)的臺(tái)式機(jī)
安裝與運(yùn)行
系統(tǒng)準(zhǔn)備就緒后,克隆 Demo 版本,并使用以下命令在工作站上試用:
git clone https://github.com/NVIDIA-AI-IOT/husky_demo.git
cd husky_demo
運(yùn)行后,使用以下命令:
./husky_demo.sh --HIL
該腳本將自動(dòng):
-
克隆該 Demo 所需的所有資源庫(kù)
-
構(gòu)建所有 ROS 2 軟件包
-
啟動(dòng) Isaac Sim
構(gòu)建完成后,終端將等待新的命令。運(yùn)行以下腳本:
ros2 launch husky_isaac_sim robot_display.launch.py
您將看到 Isaac Sim 上的 Husky 圖像顯示在工作站上。
接下來(lái),打開(kāi)一個(gè)新終端,遠(yuǎn)程連接 NVIDIA Jetson Orin 系列。
登錄 Jetsterminal 后,克隆 Husky Demo 資源庫(kù):
git clone https://github.com/NVIDIA-AI-IOT/husky_demo.git
cd husky_demo
運(yùn)行后,使用以下命令:
./husky_demo.sh
該腳本將自動(dòng):
-
克隆該 Demo 所需的所有資源庫(kù)
- 克隆 Isaac ROS docker 鏡像
- 構(gòu)建新鏡像
接下來(lái),在 Docker 容器中運(yùn)行以下腳本:
bash src/husky_isaac_sim/scripts/run_in_docker.sh
該腳本將自動(dòng):
-
構(gòu)建所有 ROS 2 軟件包
-
啟動(dòng) Isaac ROS
然后您將看到所有在終端上運(yùn)行的 Isaac ROS 軟件包(圖 9)。
圖 9. Isaac ROS 在 Jetson Orin Nano 上
運(yùn)行并傳輸數(shù)據(jù)
駕駛您的 Husky
如果 Isaas Sim 和 Isaac ROS 都已啟動(dòng)并運(yùn)行(根據(jù)個(gè)人喜好,可以在工作站或 Jetson 上運(yùn)行)且沒(méi)有任何問(wèn)題,那么您應(yīng)該可以在 rviz 上看到機(jī)器人成功定位。定位完成后,它應(yīng)該會(huì)開(kāi)始構(gòu)建 3D 地圖(圖 10)。
圖 10. Husky 已在 rviz 上定位并使用
NvBlox 繪制了 3D 地圖的第一張切片
現(xiàn)在,您可以使用鍵盤(pán)、操縱桿或 Nav2 來(lái)駕駛 Husky。只需簡(jiǎn)單幾步,就可以控制 Husky 在環(huán)境中移動(dòng)。
總結(jié)
本文介紹了如何使用 NVIDIA Isaac ROS 操作 Husky 機(jī)器人,包括如何加載從機(jī)器人描述中導(dǎo)出的 URDF 以及如何在 rviz 上驅(qū)動(dòng)機(jī)器人。該 Demo 可以通過(guò)多種方式運(yùn)行,既可以直接從搭載 NVIDIA RTX 顯卡的工作站運(yùn)行,也可以在硬件在環(huán)配置中運(yùn)行,即在 NVIDIA Jetson 上運(yùn)行 Isaac ROS。
如要了解有關(guān) Isaac Sim 和 Isaac ROS 的更多信息,請(qǐng)查看并加入 NVIDIA 開(kāi)發(fā)者機(jī)器人技術(shù)論壇上的討論:
https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67
NVIDIA 攜手中國(guó)百萬(wàn)開(kāi)發(fā)者,有獎(jiǎng)?wù)骷髌沸恪?/span>即日起至 2024 年 1 月 12 日,點(diǎn)擊“閱讀原文”或下方海報(bào),一起來(lái)分享您的開(kāi)發(fā)故事或?qū)嵺`心得吧! #1M Strong#
掃描海報(bào)二維碼,鎖定北京時(shí)間 1 月 9 日 (星期二) 凌晨 0 點(diǎn)舉行的線(xiàn)上 NVIDIA CES 2024 特別演講。
原文標(biāo)題:使用 NVIDIA Isaac 仿真并定位 Husky 機(jī)器人
文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
英偉達(dá)
+關(guān)注
關(guān)注
22文章
3953瀏覽量
93793
原文標(biāo)題:使用 NVIDIA Isaac 仿真并定位 Husky 機(jī)器人
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
NVIDIA Isaac Sim和Isaac Lab現(xiàn)已推出早期開(kāi)發(fā)者預(yù)覽版
NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新
NVIDIA 通過(guò)云端至機(jī)器人計(jì)算平臺(tái)驅(qū)動(dòng)人形機(jī)器人技術(shù),賦能物理 AI

盤(pán)點(diǎn)#機(jī)器人開(kāi)發(fā)平臺(tái)
NVIDIA Isaac 是英偉達(dá)推出的綜合性機(jī)器人開(kāi)發(fā)平臺(tái)
NVIDIA Isaac GR00T N1開(kāi)源人形機(jī)器人基礎(chǔ)模型+開(kāi)源物理引擎Newton加速機(jī)器人開(kāi)發(fā)
NVIDIA發(fā)布全球首個(gè)開(kāi)源人形機(jī)器人基礎(chǔ)模型Isaac GR00T N1
智元機(jī)器人基于NVIDIA Isaac GR00T打造高效仿真數(shù)據(jù)采集方案

簡(jiǎn)述NVIDIA Isaac的重要更新

NVIDIA發(fā)布Isaac GR00T Blueprint,加速人形機(jī)器人開(kāi)發(fā)
NVIDIA發(fā)布人形機(jī)器人重磅更新!Isaac GR00T Blueprint厲害在哪?

物理仿真人形機(jī)器人的統(tǒng)一全身控制策略

NVIDIA通過(guò)加速AWS上的機(jī)器人仿真推進(jìn)物理AI的發(fā)展
利用NVIDIA Isaac平臺(tái)構(gòu)建、設(shè)計(jì)并部署機(jī)器人應(yīng)用

NVIDIA 加速人形機(jī)器人發(fā)展

評(píng)論