實時自主機器人導航由快速運動生成算法提供支持,可支持食品和服務、倉庫自動化和機器租賃等多個行業的應用。機械手的運動生成極具挑戰性,因為它需要滿足復雜的限制條件并盡可能減少多個成本條件。
此外,機械臂可以有許多關節、復雜的鏈路幾何圖形、超出單個配置的整個目標區域、任務限制以及不顯著的運動學和轉矩限制。先前的方法通過首先規劃無碰撞幾何路徑,然后在本地優化這些路徑以實現更流暢的規劃來降低這種復雜性。
然而,越來越多的研究表明,軌跡優化可以成為解決不僅僅是軌跡平滑問題的強大工具。我們對機器人導航問題的現代理解是,這是一個大型全局運動優化問題。
在視頻中,cuRobo 的動作生成步驟實現了可視化,首先是反向運動迭代,然后是軌跡優化的迭代。
NVIDIA cuRobo 將運動生成問題表述為全局優化問題,并利用 GPU 使用許多并行種子解決此問題。cuRobo 首先執行無碰撞反向動力學 (IK),以找到無碰撞的最終關節配置,然后利用最終關節配置作為種子進行軌跡優化 (圖 1)。
cuRobo 還實現了 GPU 加速的快速圖形規劃器,可在極端情況下用作軌跡優化的種子。
在視頻中,機器人機械手在太空中移動,避開障礙物以達到目標。
cuRobo 在 PyTorch 中實施,使您能夠輕松實施自己的運動生成成本條款。cuRobo 隨附一個自定義機器人 CUDA 內核庫,用于執行常見而耗時的任務。它使用了多種 NVIDIA 技術:
- NVIDIA Warp 網格距離查詢。
- NVIDIA NVBlox 與深度圖像的有符號距離。
- CUDA 圖形 用于減少核函數啟動用度。
- NVIDIA Isaac Sim 用于渲染和示例。
cuRobo 還在 NVIDIA Jetson 上運行,支持嵌入式應用程序。
結果表明,cuRobo 可以在 NVIDIA AGX Orin 上生成 100 毫秒(中值)內的運動計劃。圖 3 展示了在 UR10 上運行 NVIDIA Jetson AGX Orin 的 cuRobo 集成示例。
在視頻中,cuRobo 為 UR10 機器人快速生成平滑運動,以處理動態顯示的目標。
cuRobo 提供了多個運動生成組件的 CUDA 加速實現,包括運動學、碰撞檢查、反向運動學、數值優化求解器、軌跡優化和運動生成。結果表明,cuRobo 可在幾毫秒內解決復雜問題,比現有方法快得多(圖 4)。

更多資源
cuRobo 代碼可在 /NVlabs/curobo 上找到。想要了解更多信息,請訪問 CuRobo:CUDA 加速機器人庫。
?