隨著現(xiàn)實場景中部署的自主機器人越來越多,對高保真多機器人仿真環(huán)境的需求也在迅速增長。本文將回顧筆者過去在 Cogniteam 使用的仿真多機器人的方法、目前使用NVIDIA Isaac Sim所取得的進步,以及 Nimbus 如何通過 Isaac Sim 加速多機器人仿真的開發(fā)和維護。
使用 Unreal Tournament
游戲引擎進行多機器人仿真
大約 20 年前,我和 Cogniteam 的朋友們開始進行機器人開發(fā)。大家想要構(gòu)建一個用于多機器人任務分配和團隊工作的機器人框架。該系統(tǒng)最初被命名為 CogniTAO,后來又發(fā)布了簡化版本 ROS decision_making。
當時,多機器人的用例還很少,而且也無法對這些機器人進行 3D 仿真。所以我為 Unreal Tournament 2000-2004 游戲引擎寫了一個可以仿真四個機器人的 mod。我們這支由四名程序員組成的小團隊花了大約 3 年時間,開發(fā)出一個可以順利運行 15 分鐘的仿真環(huán)境。

圖 1. 四個機器人的仿真(左)
以及這些機器人的視頻(右)
該環(huán)境能夠在五臺先進的臺式電腦上仿真四個帶有攝像頭、Hokuyo 激光雷達、測向儀和測繪功能的機器人,并且能夠遠程接收每臺機器人的視頻資料。我們的一位工程師寫了一個 C++ 的 TCP 客戶端,可以直接從本地網(wǎng)絡傳輸游戲引擎的數(shù)據(jù)并全屏顯示。必須嚴格按照順序運行代碼,這樣才能讓機器人按時抵達正確的位置。
使用 Gazebo 進行多機器人仿真
到了 2013 年,在 Gazebo 成為實際中的機器人仿真平臺后,我們把工作轉(zhuǎn)移到了 Gazebo 上。三個程序員花了大約 2 年時間,在兩臺英特爾 Xeon 上仿真了 10 個機器人。他們使用了 ROS move_base 導航堆棧和 OpenCV Hough Circle Transform 進行模板檢測,在 TensorFlow 出現(xiàn)之前,機器人團隊都是用這個辦法來做演示的。我們當時的同事花了 6 個月的時間構(gòu)建了 RQT 插件,來控制和顯示來自多個機器人的數(shù)據(jù)串流(圖 2)。

圖 2. 10 個帶有 RQT 插件的機器人
所拍攝的視頻影像和地圖視圖
這些機器人必須能夠相互通信,也必須能夠在無法通信的情況下運行。為了實現(xiàn)這一點,每個機器人都必須運行自己的 ROS 主程序,并通過 ROS 多主程序網(wǎng)絡進行同步。
使用 NVIDIA Isaac Sim 進行多機器人仿真
幾個月前,我請 Cogniteam 算法團隊的計算機科學學生 Saar Moseri 使用云機器人生態(tài) Nimbus 和 NVIDIA Isaac Sim 建立了一個多機器人仿真場景。我和內(nèi)部測試團隊都希望使用 Nimbus 來控制機器人,并查看它們所產(chǎn)生的數(shù)據(jù)。
Saar 花了大約兩周時間熟悉環(huán)境和配置系統(tǒng)。圖 3 所示的是這項工作的成果,運行在 Cogniteam 實驗室一臺裝有 NVIDIA GeForce RTX 3080 的標準(單體)臺式機上。

圖 3. NVIDIA Isaac Sim 多機器人默認設置
Saar 依據(jù)了NVIDIA NGC 上的 Isaac Sim 文檔來安裝和設置環(huán)境。他使用 Nimbus 在仿真機上設置了代理并創(chuàng)建了一個網(wǎng)關節(jié)點,通過 ROS 接收來自仿真機的數(shù)據(jù)。

圖 4. Nimbus 機器人編輯器(左)
和 Nimbus 配置編輯器(右)
然后我們創(chuàng)建了圖 5 所示的節(jié)點配置。

圖 5. 帶有 move_base 導航的 Nimbus 簡單任務配置
這兩個已經(jīng)容器化的構(gòu)建模塊分別是一個網(wǎng)關節(jié)點和一個 move_base 導航的節(jié)點。該配置被部署到 Cogniteam 實驗室仿真桌面上運行的代理中。其他更復雜的配置連同來源,包括用于 GMapping、路徑追蹤等的節(jié)點,都可以在 Nimbus Hub(https://app.cognimbus.com/nimbushub)獲取。
我和團隊都被這種方法的無限可能性震驚到了。在上述配置中,仿真感官數(shù)據(jù)從Isaac Sim通過 ROS 網(wǎng)關到達,ROS 網(wǎng)關同時支持 ROS 和 ROS 2。Nimbus 可實現(xiàn)查看和控制功能。
這個開箱即用的設置使我們的團隊能夠執(zhí)行基本的仿真任務,并在實驗室里仿真機器人車隊的控制。不僅如此,還可以完成許多其他功能,比如記錄機器人的仿真運行情況和感官數(shù)據(jù)、通過遠程 SSH 連接到仿真機器、對仿真數(shù)據(jù)進行全局監(jiān)控,甚至向驗證團隊發(fā)送有關仿真進展的電子郵件和短信通知。所有這些都可以在一個網(wǎng)絡瀏覽器上完成。
將 Isaac Sim 與 Nimbus 組合成統(tǒng)一的系統(tǒng),其功能與現(xiàn)有的云仿真產(chǎn)品相似,但在本地機器上運行且不會產(chǎn)生額外的云仿真計算成本。此外,它還開辟了一些新的先進仿真流程,比如硬件在環(huán)仿真等。這在云中運行仿真時是不可能做到的。圖 6 顯示了 Nimbus 中的控制、導航和繪圖情況。

圖 6. Nimbus 機器人 WebRTC 視頻監(jiān)控(左)
以及 Nimbus 地圖視圖和自主控制(右)
如要拷貝上述提到的設置,請參考 Isaac Simdocumentation(https://catalog.ngc.nvidia.com/orgs/nvidia/containers/isaac-sim)文檔。然后在 Nimbus 上創(chuàng)建一個免費賬戶,登錄后按照說明即可創(chuàng)建一個機器人。
在將機器人代理安裝在 Isaac Sim 以 headless 模式運行的桌面上后,您就能夠通過遠程 SSH 配置仿真并在 Nimbus 網(wǎng)站上監(jiān)控仿真機。
視頻1. Nimbus 和 NVIDIA Isaac Sim 演示視頻
您可在 Nimbus hub 部署 Isaac Sim 配置。由于一切都已經(jīng)容器化(包括 Isaac Sim)并且可在瀏覽器上進行控制,因此不需要安裝任何應用。機器上的代理將設置好執(zhí)行所需的一切。
然后,您可以在該代理的監(jiān)控頁面上監(jiān)控任何與您的設置相關的數(shù)據(jù)。在代理設置中,您可以通過在 ROS 串流上添加條件來定義通知,比如:
“if GoalStatus == ABORTED”
sendsms/mailtosimulation@your-company.com
總結(jié)
仿真是成功部署自主機器人的關鍵。多次運行同一場景對測試來說至關重要,但多機器人仿真則有所不同。開發(fā)一個高保真的多機器人仿真環(huán)境十分復雜且耗時,但正如本文所述,您可以使用 NVIDIA Isaac Sim 和 Nimbus 簡化這一過程。
如要進一步了解 Isaac Sim,請訪問 NVIDIA DeveloperIsaac ROS Forum (https://forums.developer.nvidia.com/c/agx-autonomous-machines/isaac/67)。
點擊“閱讀原文”,或掃描下方海報二維碼,觀看 NVIDIA 創(chuàng)始人兼 CEO 黃仁勛在 COMPUTEX 2023 的主題演講直播回放,主題演講中文字幕版已上線,了解 AI、圖形及其他領域的最新進展!
原文標題:使用 NVIDIA Isaac Sim、ROS 和 Nimbus 開發(fā)多機器人環(huán)境
文章出處:【微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
-
英偉達
+關注
關注
22文章
3902瀏覽量
92934
原文標題:使用 NVIDIA Isaac Sim、ROS 和 Nimbus 開發(fā)多機器人環(huán)境
文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】視覺實現(xiàn)的基礎算法的應用
【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】機器人入門的引路書
【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+ROS2應用案例
【「# ROS 2智能機器人開發(fā)實踐」閱讀體驗】+內(nèi)容初識
NVIDIA Isaac 是英偉達推出的綜合性機器人開發(fā)平臺
NVIDIA Isaac GR00T N1開源人形機器人基礎模型+開源物理引擎Newton加速機器人開發(fā)
智元機器人基于NVIDIA Isaac GR00T打造高效仿真數(shù)據(jù)采集方案

名單公布!【書籍評測活動NO.58】ROS 2智能機器人開發(fā)實踐
NVIDIA發(fā)布Isaac GR00T Blueprint,加速人形機器人開發(fā)
NVIDIA通過加速AWS上的機器人仿真推進物理AI的發(fā)展
NVIDIA與學術研究人員聯(lián)合開發(fā)手術機器人
NVIDIA 加速人形機器人發(fā)展

評論