• <xmp id="om0om">
  • <table id="om0om"><noscript id="om0om"></noscript></table>
  • 機器人

    用 NVIDIA Isaac Sim 、 ROS 和 Nimbus 開發多機器人環境

    ?

    隨著越來越多的自主機器人被部署在現實世界場景中,對高保真多機器人仿真環境的需求正在迅速增長。在這篇文章中,我將回顧我們過去在Cogniteam對于模擬多個機器人,我們目前的進展NVIDIA Isaac Sim,以及如何Nimbus可以加快 Isaac Sim 多機器人仿真的開發和維護。

    使用虛幻錦標賽游戲引擎的多機器人模擬

    大約 20 年前,我在Cogniteam。我以一個用于多機器人任務分配和團隊合作的機器人框架的想法開始了我們的機器人開發生涯。最初被稱為 Cogni TAO ,該系統的簡化版本后來被發布為 ROS decision_making

    當時,多個機器人的用例很少,這些機器人的 3D 模擬是不可能的。因此,我為虛幻錦標賽 2000-2004 年的游戲引擎編寫了一個 mod ,以實現四個機器人的模擬。我們由四名程序員組成的小團隊花了大約 3 年的時間來開發一個可以可靠運行 15 分鐘的模擬環境。

    圖 1 。四個機器人的模擬(左)和機器人的視頻(右)

    該環境能夠在五臺最先進的臺式機上模擬四個帶有攝像頭、 Hokuyo LiDAR 、里程計和地圖的機器人,并遠程接收每個機器人的視頻饋送。我們的一位工程師編寫了一個 C ++ TCP 客戶端,該客戶端將直接從游戲引擎在本地網絡上傳輸數據,并以全屏方式顯示。我們必須嚴格運行代碼,以使機器人按時在正確的地方產卵。

    Gazebo 多機器人仿真

    10 年前, 2013 年,在 Gazebo 成為事實上的機器人模擬平臺后,我們將工作轉移到了 Gazebo 。三個程序員花了大約 2 年的時間在兩臺英特爾至強機器上模擬了 10 個機器人。他們使用了 ROSmove_base導航堆棧和對象檢測使用 OpenCV Hough Circle 變換之前機器人團隊用于演示的東西 TensorFlow 。我們當時的同事 Igor Makhtes 建造了 RQT plugin以控制和顯示來自多個機器人的數據流(圖 2 )。他花了 6 個月的時間才完成。

    Screenshot of video feed and map view for 10 robots
    圖 2 。帶 RQT 插件的 10 個機器人的視頻饋送和地圖視圖

    這些機器人必須相互通信,但也需要在無法連接時進行操作。為了實現這一點,每個都必須運行自己的 ROS 主機,并通過ROS multimaster網絡。

    NVIDIA Isaac Sim 多機器人仿真

    幾個月前,我請我們 Cogniteam 算法團隊的計算機科學學生 Saar Moseri 使用云機器人生態系統建立一個多機器人模擬場景NimbusNVIDIA Isaac Sim。我們的內部測試團隊和我希望使用 Nimbus 代理來控制我們的機器人并查看它們生成的數據。

    薩爾花了大約 2 周的時間來熟悉環境并配置系統。圖 3 顯示了這項工作的結果,它在帶有一臺 NVIDIA GeForce RTX 3080 的Cogniteam 實驗室運行。

    An image showing multi-robot default setup in NVIDIA Isaac Sim
    圖 3 。 NVIDIA Isaac Sim 多機器人默認設置

    薩爾使用了 Isaac Sim 文件,可通過NVIDIA NGC以安裝和設置環境。使用Nimbus,他在模擬機上安裝了一個代理,并創建了一個網關節點,通過 ROS 接收來自模擬的數據。

    圖 4 。 Nimbus 機器人編輯器(左)和 Nimbus 配置編輯器(右)

    然后我們創建了如圖 5 所示的節點配置。

    Screenshot of a Nimbus configuration graph with two boxes
    圖 5 。 Nimbus 簡單任務配置move_base航行

    兩個構建塊(已經容器化)是一個網關節點和一個用于 move_base 導航的節點。該配置已部署到 Cogniteam 實驗室模擬桌面上運行的代理上Nimbus hub,包括用于 GMapping 、路徑跟蹤等的節點。

    我和我的團隊都被這種方法帶來的無盡可能性驚呆了。在上述配置中,模擬的感覺數據通過支持 ROS 和 ROS 2 的 ROS gateway 從 Isaac Sim 到達。視圖和控制功能由 Nimbus 啟用。

    開箱即用,這種設置使我們的團隊能夠執行基本的模擬任務,并在實驗室本地模擬機器人車隊的控制,以及更多的功能。我們現在可以記錄機器人的模擬運行和感官數據,遠程 SSH 到模擬機中,全局監控模擬數據,甚至可以通過網絡瀏覽器向我們的驗證團隊發送有關模擬進度的電子郵件和短信通知。

    將 Isaac Sim 與 Nimbus 相結合,形成了一個統一的系統,該系統在功能上與可用的云模擬產品相似,但在本地機器上運行,不涉及額外的云模擬計算成本。此外,它還開辟了新的尖端模擬流程,例如硬件在環的模擬。當模擬在云中運行時,這是不可能的。圖 6 顯示了 Nimbus 中的控制、導航和映射的外觀。

    圖 6 。 Nimbus 機器人 WebRTC 視頻監控(左)和 Nimbus 地圖視圖和自主控制(右)

    要復制所述設置,請參考Isaac Sim 文檔。然后訪問 Nimbus要創建免費帳戶,請登錄并按照說明使用免費許可證創建機器人。

    將機器人代理安裝在 Isaac Sim 無頭運行的同一桌面上后,您將能夠通過遠程 SSH 提供模擬,并從 Nimbus 網站監控模擬機。

    視頻 1 。 Nimbus 和 NVIDIA Isaac Sim 演示視頻

    訪問 Nimbus 集線器以部署 Isaac Sim 配置。由于所有東西都已經被容器化了(包括 Isaac Sim ),并且控制是基于瀏覽器的,所以您不需要安裝任何應用程序。機器上的代理將設置執行所需的一切。

    然后,在該代理的監視器頁面上,添加對與您的設置相關的任何數據的監視。在代理設置中,您可以通過在 ROS 流上添加條件來定義通知,例如:

    “if GoalStatus == ABORTED”
    send sms/mail to simulation@your-company.com

    Cogniteam 很樂意在此過程中為您提供幫助。您可以通過聯系我們 support@cogniteam.com。

    總結

    對于自主機器人的成功部署,仿真是關鍵。多次運行同一場景對測試至關重要,但多機器人模擬不同。開發高保真多機器人模擬環境很復雜,需要時間,但可以使用 NVIDIA Isaac Sim 和 Nimbus 進行簡化,如本文所述。

    我和我的團隊將出席ICRA 20235 月 29 日至 6 月 2 日,在倫敦( C22 展位),展示了我們在以色列遠程運行的機器人和模擬的瀏覽器界面。

    要了解有關 Isaac Sim 的更多信息,請查看 NVIDIA DeveloperIsaac ROS 論壇

    ?

    +2

    標簽

    人人超碰97caoporen国产