多部件裝配在制造、汽車、航空航天、電子、醫療設備等絕大多數行業中都扮演著關鍵角色。雖然應用廣泛,但是機器人裝配仍是一項極具挑戰性的任務。這類任務涉及復雜的交互,機器人必須通過持續的物理接觸來操控物體,對精度和準確性有極高要求。當前的機器人裝配系統長期受限于固定自動化模式。這些系統往往為特定任務量身打造,需要大量人工工程來完成設計與部署,因而限制了其適應性和可擴展性。
未來的機器人裝配將走向靈活自動化。下一代機器人必須能快速適應新的零件、位姿和環境。將機器人技術與仿真和 AI 結合,將有助于突破當前的限制。多年來,NVIDIA 一直在這一領域持續開展研究,并與優傲機器人 (Universal Robots, UR) 展開合作,正在將這些研究創新成果轉化為現實中的工業應用。
本文將展示在 UR10e 機器人上進行齒輪裝配任務的零樣本仿真到現實遷移。這一任務在NVIDIA Isaac Lab中設計并訓練,并使用NVIDIA Isaac ROS和 UR10e 底層扭矩接口進行部署。我們希望所有開發者都能復現這項工作,使用 Isaac Lab 和 Isaac ROS 開發自己的仿真到現實應用。
Isaac Lab 是一個用于機器人學習的開源模塊化訓練框架。Isaac ROS 是基于開源框架 ROS 2 構建的一套加速計算軟件包和 AI 模型,為全球 ROS 開發者帶來 NVIDIA 的計算加速能力,并提供可直接使用的常見任務模塊,如導航和感知等。
Isaac Lab 中接觸密集型操作的仿真
Isaac Lab 讓接觸密集型仿真成為可能,它支持精確的物理仿真和大規模強化學習(RL,即“通過試錯學習”),可在數千個并行環境中運行。而過去,這類復雜交互仿真在計算上難以處理和實現。
Isaac Lab 包含多個具有挑戰性的工業級任務,如插入銷釘、嚙合齒輪、旋緊螺栓。它支持模仿學習(基于演示數據的模仿)和強化學習兩種訓練方法,適用于不同類型的機器人形態。
圖 1. Isaac Lab 中的接觸密集型仿真環境
強化學習是一種適用于裝配問題的強大方法,因為它不需要人類演示,并且對感知、控制和夾具中的誤差具有很強的魯棒性。然而,“現實差距”(仿真與現實世界之間的差距)仍然是一個關鍵挑戰。本文所展示的工作流基于 IndustReal 框架,有效地彌合了這一差距。IndustReal 是使機器人能夠通過強化學習在仿真中學習裝配任務,并將其遷移到真實世界的一套算法和系統工具包。
在 Isaac Lab 中訓練齒輪裝配任務
齒輪裝配任務包括識別、抓取、搬運并將多個齒輪插入對應的軸上。圖 2 展示了任務從初始狀態到一個齒輪插入完成的過程。整個過程依賴三項核心技能:抓取、自由空間運動、插入。
圖 2. 在 UR10e 機器人上齒輪裝配任務的抓取、運輸和插入技能
抓取生成使用現成的抓取規劃器來獲取零件的可行抓取位姿,運動與插入動作則使用強化學習策略進行訓練。盡管機械臂的運動生成技術已較為成熟,可通過經典軌跡規劃器實現,但訓練基于強化學習的運動生成策略,能在應對更具挑戰性的插入任務前,為策略學習框架提供有效的校準與調試步驟。
圖 3 展示了基于Isaac Sim與 Isaac Lab 進行運動生成和插入任務的策略學習流程。仿真環境由 Isaac Sim 提供的資產與場景配置構成,訓練環境由 Isaac Lab 提供。這兩項任務的策略均依賴于在 Isaac Lab 中實現的底層阻抗控制器。
圖 3. 使用 Isaac Sim 和 Isaac Lab 進行運動生成和插入任務的策略學習流程
如圖 3 所示,運動生成和插入技能分別被構建為獨立的強化學習問題。
運動生成:目標是讓機器人從指定工作空間內的隨機初始關節角度出發,將末端執行器移動到指定目標位姿(例如抓取位姿)。觀測數據包括機器人的關節位置和目標末端執行器位姿,動作空間則由關節位置目標構成。獎勵函數會最小化末端執行器與目標之間的距離,同時對機器人的突然或劇烈動作進行懲罰。
插入任務:齒輪初始位于機器人夾具中,處于目標軸附近的隨機采樣位姿。任務目標是將齒輪移動到軸的底部。觀測數據包括機器人的關節位置和目標軸位姿,動作空間同樣由關節位置目標構成。獎勵函數會最小化齒輪與目標位置之間的距離,并同樣對突然或劇烈動作進行懲罰。
這兩項技能的關節位置目標均以 60Hz 的頻率生成,由底層阻抗控制器執行。
智能體在多種隨機配置下進行訓練,包括不同的初始機械臂位姿、夾具中齒輪的位姿、齒輪尺寸以及任務整體階段(例如尚未插入任何齒輪或已插入部分齒輪)。為實現仿真到現實的遷移,還對機器人動力學參數(關節摩擦和阻尼)、控制器增益以及策略觀測噪聲均應用了域隨機化。訓練在并行環境中進行,使智能體能夠獲得多樣化且有價值的經驗,這對有效學習任務至關重要。
神經網絡架構與強化學習算法
每個策略均采用含 256 個單元的長短期記憶 (LSTM) 網絡結構,其后連接三層多層感知器 (MLP),分別含 256、128 和 64 個神經元。訓練使用 rl-games 庫中的近端策略優化 (PPO) 算法,在 Isaac Sim 4.5 與 Isaac Lab 2.1 環境中,基于 NVIDIA GPU 完成訓練。
訓練結果
圖 4 展示了 UR10e 機器人執行訓練策略的效果,左側為運動生成環節,右側為插入環節。
圖 4. UR10e 機器人在 Isaac Lab 仿真中測試訓練策略:運動生成(左)與插入(右)
圖 5 展示了所學技能的組合應用。通過重復調用抓取規劃器及兩項訓練技能,機器人能夠完成隨機擺放的三個齒輪的裝配。策略對齒輪的初始位姿與裝配順序均具有魯棒性。
圖 5. 訓練后的強化學習策略按順序循環執行多步裝配:移動至齒輪 1→抓取→插入→移動至齒輪 2→抓取→插入,依此類推
支持仿真-現實遷移的UR 扭矩控制接口
本研究采用阻抗控制技術,使機器人在與物體接觸時實現更安全、順應性更高(軟性)的交互。相比之下,盡管位置控制器精度高,但其剛性特性可能因感知誤差或現實對準問題限制適應性,甚至導致意外沖擊力。阻抗控制則提供了更靈活的解決方案。
與工業機器人常見的剛性位置控制器不同,阻抗控制需要直接扭矩命令,這在傳統工業機器人中并不常見。UR 目前已提供早期訪問版本,開發者可以使用其直接力矩控制接口,從而實現上述控制策略。
NVIDIA 團隊與 UR 合作,基于 Isaac Lab 和《IndustReal:將接觸密集型裝配任務從仿真遷移至現實》論文中的方法訓練策略,通過 Isaac ROS 和 UR 扭矩接口在 UR10e 機器人上部署。過程中使用了 Isaac ROS 的 Segment Anything 和 FoundationPose 軟件包。
基于 Isaac ROS 與 UR 扭矩接口的UR10e 仿真-現實遷移
圖 6 展示了從 Isaac Lab 部署訓練策略的仿真-現實遷移框架。感知模塊首先將 RGB 圖像送入 Segment Anything,生成分割掩碼。掩碼與深度圖像結合后輸入 FoundationPose,輸出齒輪的 6D 位姿。
圖 6. UR10e 機器人仿真-現實遷移工作流
然后,將齒輪位姿與來自 UR 關節編碼器的位置數據一并輸入策略,預測關節位置增量。增量值轉換為絕對目標關節位置后,作為阻抗控制器的輸入。自定義底層阻抗控制器采用 URScript 編寫,以 500 Hz 頻率運行,計算控制 UR 機器人執行任務所需的關節扭矩。
開始開發
本文展示了在 UR10e 機器人上實現齒輪裝配任務的零樣本仿真到現實遷移——整個任務在 Isaac Lab 中完成設計與訓練,并通過 Isaac ROS 和 UR10e 底層扭矩接口實現部署。
-
機器人
+關注
關注
213文章
29532瀏覽量
211702 -
仿真
+關注
關注
51文章
4245瀏覽量
135362 -
AI
+關注
關注
88文章
34396瀏覽量
275639 -
工業機器人
+關注
關注
91文章
3449瀏覽量
93771
原文標題:利用 NVIDIA Isaac Lab 縮小工業機器人裝配應用中“仿真到現實”的差距
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
NVIDIA 加速人形機器人發展

盤點#機器人開發平臺
NVIDIA Isaac SDK現已可用,即刻下載開啟您的機器人開發之旅吧!
NVIDIA AI機器人開發— NVIDIA Isaac Sim入門
NVIDIA 公開課 | AI 機器人開發第二講 — Isaac Sim 高階開發
CES | 用 NVIDIA Isaac Sim 2022.2 模擬未來智能機器人
NVIDIA Isaac 平臺先進的仿真和感知工具助力 AI 機器人技術加速發展

使用 NVIDIA Isaac 仿真并定位 Husky 機器人

利用NVIDIA Isaac平臺構建、設計并部署機器人應用

評論