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

    使用 NVIDIA Isaac Lab 為工業機器人裝配應用彌合仿真與現實之間的差距

    多個部件的組裝在幾乎每個主要行業 (如制造、汽車、航空航天、電子和醫療設備) 中都發揮著關鍵作用。盡管機器人組裝應用廣泛,但它仍然是一項重大挑戰。它涉及復雜的交互,機器人必須通過持續的物理接觸來操縱物體,這需要較高的精度和準確性。如今的機器人裝配系統長期以來一直受到固定自動化的限制。這些系統專為需要大量人工設計和部署的特定任務而構建,限制了其適應性和可擴展性。

    機器人裝配的未來在于靈活的自動化。未來的機器人必須快速適應新的部件、姿勢和環境。將 機器人技術與仿真和 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 中的 Contact-rich 模擬

    Isaac Lab 通過實現準確的物理特性和大規模的接觸模擬 強化學習 (RL) 在數千個并行環境中反復試驗或學習。曾經難以計算的東西,比如模擬復雜的交互,現在可以實現了。

    Isaac Lab 包含來自 Factory 富有挑戰性的工業任務 ,例如 peg 插入、gear meshing 和 nut-bolt 緊固。Isaac Lab 支持模仿學習 (mimicking 演示數據) 和 RL,可為任何 機器人化身 提供靈活的訓練方法。

    Three side-by-side gifs showing contact-rich simulation environments in Isaac Lab.
    圖 1。NVIDIA Isaac Lab 中具有豐富接觸的仿真環境

    RL 是一種強大而有效的組裝問題技術,因為它不需要人類演示,并且對于感知、控制和固定中的錯誤非常可靠。然而,現實差距(reality gap)——仿真與現實世界之間的差異——仍然是一項關鍵挑戰。本文中介紹的工作流使用 IndustReal 的概念彌合了這一差距,IndustReal 是一套算法和工具,可實現強大的 RL 訓練技能,從而從仿真轉移到現實世界的機器人,以執行復雜的裝配任務。

    在 Isaac Lab 中訓練齒輪裝配任務

    齒輪裝配任務包括感知、抓取、運輸和將所有齒輪插入到相應的軸上。圖 2 顯示了任務的不同狀態,從一個齒輪的初始狀態到目標狀態。這需要三項核心技能:抓握生成、自由空間動作生成和插入。

    Three side-by-side images showing the different states (grasp, transport and insert) of the gear assembly task on the UR10e robot.
    圖 2。UR10e 機器人上齒輪組裝任務的抓取、運輸和插入技能

    抓握生成使用現成的抓握規劃器來獲取部件的可行抓握姿勢。 動作生成 和插入使用 RL 來學習策略。雖然機械臂的運動生成已得到充分確認,并且可以使用傳統的軌跡規劃器實現,但在處理更具挑戰性的插入任務之前,訓練基于 RL 的運動生成策略可為策略學習框架提供有用的校準和調試步驟。

    圖 3 顯示了使用 Isaac Sim 和 Isaac Lab 進行動作生成和插入任務的策略學習工作流。對于每個任務,資產和場景規范定義了 Isaac Sim 中的仿真環境,而 Isaac Lab 則提供訓練環境。這兩項任務的策略均依賴于 Isaac Lab 中實施的低電平阻抗控制器。

    Policy learning for motion generation and insertion tasks using Isaac Sim for simulation and Isaac Lab for the training environment and impedance control.
    圖 3。使用 Isaac Sim 和 Isaac Lab 執行動作生成和插入任務的策略學習管道

    運動生成和插入技能分別表述為單獨的強化學習問題,并獨立學習,如圖 3 所示。

    • 動作生成:目標是讓機器人從指定機器人工作空間內的隨機初始關節角度開始,將其末端執行器移動到指定的目標姿勢 (例如抓握姿勢) 。 觀察包括機器人的關節位置和目標末端執行器姿態,而動作空間由關節位置目標組成。獎勵函數可最小化終端執行器與目標之間的距離,并對機器人突然或猛烈的動作進行懲罰。
    • 插入:在機器人的抓手中初始化齒輪,并在目標軸附近以隨機采樣的姿態定位。目標是將齒輪移動到軸的底部。觀察包括機器人的關節位置和目標軸姿態,而動作空間由關節位置目標組成。獎勵函數可最小化齒輪和目標之間的距離,并對突然或激進的機器人動作再次施加懲罰。

    對于這兩種技能,joint position targets 以 60 Hz 的頻率生成,由低級 impedance controller 執行。

    該智能體使用各種隨機配置進行訓練,例如不同的初始 robot arm 姿態、機械手中的齒輪姿態、齒輪尺寸以及整個任務的各個階段 (例如,尚未插入齒輪或插入了一些齒輪) 。為 促進 sim-to-real 傳輸 ,domain randomization 應用于機器人動力學 (關節摩擦和阻尼) 和控制器增益,以及策略觀察噪聲。訓練在并行環境中進行,使智能體能夠獲得豐富而寶貴的經驗,這些經驗對于有效學習任務至關重要。

    網絡架構和 RL 算法詳情

    每個策略的結構均為具有 256 個單元的 Long Short-Term Memory (LSTM) 網絡,然后是具有三層分別包含 256、128 和 64 個神經元的多層感知器 (MLP) 。這些策略使用 rl-games 庫中的 Proximal Policy Optimization (PPO) 算法進行訓練。訓練在 Isaac Sim 4.5 Isaac Lab 2.1 上的 NVIDIA RTX 4090 GPU 中完成。

    結果?

    圖 4 顯示了經過訓練的策略在 UR10e 機器人上的實際應用,左側為 motion generation,右側為 insertion。

    圖 4。在 Isaac Lab 模擬運動生成 (左) 和插入 (右) 中,在 UR10e 機器人上測試了經過訓練的策略

    圖 5 展示了所學技能的組合。借助所學到的技能,機器人能夠通過重復抓握規劃器和所學到的技能,組裝隨機放置的三個齒輪。這些策略對齒輪組裝順序和齒輪的初始姿態十分可靠。

    圖 5。經過訓練的 RL 策略經過排序,可在一個循環中執行多個機器人裝配步驟:移動到 gear 1 → 抓取 → 插入 → 移動到 gear 2 → 抓取 → 插入,以此類推

    UR 扭矩控制接口,支持 sim-to-real 傳輸

    這項工作采用 impedance control 技術,使機器人能夠與物體進行安全且合規的 (軟) 交互。雖然 position controllers 具有很高的準確性,但其剛度會因感知或現實世界的對齊挑戰而限制適應性,最終造成巨大的意外作用力。 impedance control 提供了一種更靈活的替代方案。

    與工業機器人中常見的剛位置控制器不同,阻抗控制需要直接的 torque 命令,而這在工業機器人中并不常見。 UR 現在提供對其直接 torque 控制接口的搶先體驗 ,以實現此類控制。

    NVIDIA 團隊與 UR 合作,使用 Isaac Lab 和論文《 IndustReal:Transferring Contact-Rich Assembly Tasks from Simulation to Reality 》中的方法來訓練策略,并使用 Isaac ROS 和 UR torque 接口在 UR10e 機器人上部署策略。使用了 Isaac ROS 的 Segment Anything FoundationPose 軟件包。

    使用 Isaac ROS 和 UR torque 接口在 UR10e 上實現 Sim-to-real 轉移

    圖 6 顯示了在部署 Isaac Lab 中經過訓練的策略時使用的 sim-to-real 傳輸框架。工作流始于感知工作流,將 RGB 圖像輸入 Segment Anything ,然后輸出 segmentation mask。然后,該遮罩與深度圖像一起傳遞給 FoundationPose ,以估計齒輪塞的 6D 姿態。

    Flowchart describing the sim-to-real transfer workflow on the real UR10e robot, including perception pipeline, UR10e manipulator robot, joint positions, joint torques, object pose.
    圖 6。UR10e 機器人上的 Sim-to-real transfer 工作流

    “UR 關節編碼器的齒輪姿態和關節位置構成觀察結果,這些觀察結果將傳遞至策略,以預測增量關節位置。增量關節位置轉換為絕對目標關節位置,并作為阻抗控制器的輸入。使用 URScript 制作的自定義低級阻抗控制器以 500 Hz 頻率運行,并計算控制 UR 機器人執行任務所需的關節轉矩。結果如 Video 1 所示。”

    視頻 1。使用 Isaac Lab 經過訓練的策略在 UR10e 機器人上執行齒輪裝配任務

    開始使用?

    本文展示了 UR10e 機器人上齒輪組件任務的零樣本仿真到現實傳輸。該任務在 NVIDIA Isaac Lab 中進行設計和訓練,并使用 NVIDIA Isaac ROS 和 UR10e 低電平轉矩接口進行部署。

    準備好開始為機器人裝配任務開發您自己的 contact-rich 的操作策略了嗎?查看以下資源:

    請持續關注 Isaac Lab 環境和訓練代碼,讓任何人都能測試這些策略并訓練自己的策略,以及支持您在自己的 UR 機器人上部署這些策略的參考工作流。

    訂閱我們的時事通訊,并在 LinkedIn、Instagram、X 和 Facebook 上關注 NVIDIA Robotics,及時了解最新動態。探索 NVIDIA 文檔和 YouTube 頻道,并加入 NVIDIA Developer Robotics 論壇。要開啟您的機器人開發之旅,請立即注冊我們的免費 NVIDIA Robotics Fundamentals 課程。

    開始使用 NVIDIA Isaac 庫和 AI 模型 開發物理 AI 系統。

    致謝?

    我們要感謝 Yashraj Narang 和 Buck Babich 為開發 UR sim-to-real 演示提供建議。我們感謝 Universal Robots 的 Rune S?e-Knudsen 為新開發的 direct torque control 接口提供技術支持。我們還要感謝 Bingjie Tang、Michael A. Lin、Iretiayo Akinola、Ankur Handa、Gaurav S. Sukhatme、Fabio Ramos、Dieter Fox 和 Yashraj Narang 主導撰寫本次演示所依據的 IndustReal 論文。

    ?

    +1

    標簽

    人人超碰97caoporen国产