利用 NVIDIA Omniverse Isaac Sim 加快機器人模擬

作者 NVIDIA Developer

NVIDIA 推出新的 NVIDIA Omniverse Experience for Robotics for NVIDIA Isaac Sim,以協助滿足在準確、可靠、易用之機器人模擬工具方面的迫切需求。許多研究實驗室和大學無限期關閉,導致世界各地之機器人專家無法利用必要的實體硬體和環境,開發、測試和部署智慧機器。良好的模擬工具可以協助機器人和自動化領域的重大工作持續進展,且重要性更勝於以往。

此 Robotics Experience 提供 Omniverse Kit 中的 NVIDIA Isaac Sim 模擬工具套件。將 Isaac Sim 內建於 Omniverse 平台中,為現有的機器人工作流程帶來一些有益的改進:

  • 其利用 Omniverse Kit 的高準確度物理模擬,直接與領先業界的物理框架進行整合,例如用於剛體動力學的 NVIDIA PhysX SDK 和用於流體動力學的 NVIDIA Flow
  • 重新著重於互通性,並與 NVIDIA Isaac SDKROS 擴充功能進行深度整合。
  • Omniverse Experience for Isaac Sim 很容易擴充。現在,您可以使用 Omniverse Kit 的 Python 指令碼介面擴充功能系統自訂 Isaac Sim,以配合您的使用案例。
  • 其架構可以支援近端工作站上的工作流程,透過 NVIDIA Jetson 系列硬體部署於邊緣端,以及利用 NVIDIA NGC 透過雲端部署。

以下為此版本包含之預覽和範例程式碼的詳細介紹。

橋接工作流程

Omniverse Isaac Sim 模擬環境可支援兩個主要的機器人框架:NVIDIA Isaac SDKROS

Isaac SDK 是開發機器人 AI、導航和操控應用的企業級框架。Isaac Sim 是使用 Robot Engine Bridge (REB) 擴充功能與 Isaac SDK 通訊,透過 TCP/IP 傳送模擬的感測器資料、驅動命令、真值和情境管理。Isaac SDK 文件介紹各種模擬情境,從複雜的多機器人自主倉庫導航到使用 Jupyter notebook 的簡單操控不等。此外,結合 Isaac Sim 的 Isaac SDK,可為多個以 Jetson 為基礎的參考平台橋接虛擬與實體機器人,例如 CarterKaya 機器人。

Omniverse Isaac Sim 也可以支援機器人專家常用的框架 ROS。Isaac Sim ROS Bridge 擴充功能可以協助機器人研究人員,利用強大的多 GPU 即時模擬與協作平台 Omniverse Isaac Sim 加強現有的工作流程。此版本提供了一個 rostopic 範例,逐步說明如何發布和訂閱主題,包括 Joint State、Joint Command、TF、Camera 和 Lidar 主題。

圖 1:使用 ROS Bridge 擴充功能發布和訂閱不同的 rostopic。此螢幕擷取畫面是顯示將 Franka Panda 機器手臂的關節狀態串流至 ROS。

敏捷自動化

Omniverse Isaac Sim 的另一個優點是現在可以輕鬆地針對機器人和自動化情境,模擬複雜的剛體動力學。UR10 範例應用程式說明了使用 Universal Robot 之 UR10 機器手臂和吸力夾持器進行的容器填充與容器堆放程序。在容器填充範例中,使用者將不同的零件放入機器人握持的容器內,直至容器太重而導致吸力夾持器失效。零件散落四處之後,機器手臂會偵測到容器掉落,並將其撿起及放好,以接收新零件。容器填充和堆放為標準程序,這些範例是說明如何使用智慧化方式進行強化,以使機器人自動化能更敏捷和更適應動態環境。

UR10 範例應用程式會隨附非常詳細的原始碼和文件。其中展示了數種核心模擬元件:

  • 使用 URDF 匯入器載入機器人模型
  • 建立精簡自動化的狀態機
  • 使用 Riemannian 運動原則(Riemannian motion policies,RMP),將傳統的路徑規劃與進階的運動產生進行結合
  • 模擬在機器人上和不在機器人上的感測器。

請檢閱此擴充功能,以瞭解如何為您的機器人應用程式建構端對端模擬。

機器手臂將要撿起掉落的容器。
機器手臂在倉庫中堆放空容器。圖 2:UR10 範例應用程式詳細說明了如何為智慧機器人自動化建構端對端模擬。Universal Robot UR10 在 Isaac Sim 體育館和倉庫環境中填充和堆放容器。

自訂機器人

除 UR10 機器人外,Omniverse Isaac Sim 亦擁有包含機器人、末端執行器和模擬環境的資產庫。不過您也可以使用 Isaac Sim URDF 匯入器擴充功能,開發自訂機器人。此擴充功能可將 URDF 檔案匯入及轉換成 Omniverse USD 表示法,變成更實用、更持久的進階模擬格式。URDF 匯入器擴充功能同時具有多個範例匯入以及 Python API,以便載入和配置自訂機器人。

此版本中的文件提供了一個 Kaya Sample,可以引導您進行為 Omniverse Isaac Sim 匯入和配置自訂機器人的過程。它是以 NVIDIA Kaya 做為參考硬體。Kaya 是搭載 NVIDIA Jetson Nano 的 3D 列印機器人。它是設計為可以讓業餘愛好者以及在教育領域使用的先進機器人。但是,這是一個特別難以準確模擬的參考平台。其具有多個 CAD 檔案、複雜的完整驅動器,以及必須配置許多感測器,以模擬 3D 對映、局部化、物件辨識和測程能力。您可以檢閱建立物理準確虛擬 Kaya 的相關文件,以瞭解如何從 CAD 或 URDF 檔案變成易於模擬的機器人。

圖 3:Kaya 範例說明了如何利用 CAD 檔案或 Isaac Sim URDF 匯入器擴充功能,使自訂或 DIY 機器人變得易於模擬。

感知世界

您可以在此 Omniverse Robotics Experience 中,預覽即時光線追蹤對機器人模擬的效益。除逼真的視覺效果外,Omniverse 即時光線追蹤也能模擬光的物理行為。使 Isaac Sim 可以準確地將多個光感測器的物理性質模型化,包括 RGB 攝影機、深度攝影機和 LIDAR。LIDAR 範例說明了如何利用 Isaac Sim LIDAR API 建立和啟用這些感測器,以訓練自主機器人。設定解析度、視野和旋轉速率,以符合實體機器人使用之 LIDAR 的硬體屬性。

圖 4:Omniverse Isaac Sim 中的 LIDAR 擴充功能可用於為模擬機器人設計自主導航程式。

開始模擬

Omniverse Isaac Sim 的最新版本,示範了現代機器人模擬工具套件如何使研究人員和開發人員受益。在 NVIDIA Omniverse 平台上建立工具套件,以實現新的機器人模擬工作流程,並大幅提升使用性、擴充性和互通性。欲瞭解更多與開發有關的資訊,請參閱 Isaac Sim:Omniverse Experience for Robotics 文件。若想要試用新的 Omniverse Robotics Experience,請透過 NVIDIA 早期試用入口網站註冊。