使用 NVIDIA Isaac 以新穎的模擬方法推進機器人組裝

作者 NVIDIA

NVIDIA 機器人和模擬研究人員在 2022 年 Robotics: Science and Systems (RSS) 大會上發表 Factory:Fast Contact for Robotic Assembly。此研究是在機器人研究中無所不在之多接觸互動模擬與學習方面的嶄新突破。其目的是大幅加快研發機器人組裝以及提供強大的工具,以進行任何類型的多接觸模擬。

機器人組裝:內容、原因及挑戰

組裝在汽車、航太、電子和醫療產業中是不可缺少的一環。其範例包括鎖緊螺帽和螺栓、焊接、插入栓釘及布設纜線。

但是,機器人組裝是機器人領域中最古老、最具挑戰性的任務之一。由於物理複雜性、高可靠性、零件變異性和高準確度要求,導致很難進行自動化。

在工業中,機器人組裝方法可以達到高精度、準確度和可靠性,但是通常需要使用昂貴的設備和訂製夾具,而這些設備和夾具需要很多時間進行設定與維護 (例如預先程式化軌跡和微調)。涉及耐變性 (零件類型、外觀和位置) 和複雜操縱的任務通常是使用人力進行。

研究方法可以實現更低的成本、更高的適應性及更好的耐變性,但是通常不太可靠及速度較緩慢。

模擬:解決機器人組裝挑戰的工具

數十年來一直是使用模擬,驗證、確效和最佳化機器人技術中的機器人設計與機器人演算法。其中包括確保部署這些演算法的安全性。模擬也被用於產生進行深度學習的大規模資料集、執行系統識別,以及開發規劃和控制方法。

最近,我們在強化學習 (RL) 研究中看到如何將模擬結果轉移至真實系統。準確之物理模擬對於開發機器人而言具有無與倫比的重要性。

GIF of multiple walking robots on the wheel training in Isaac Gym.
1. NVIDIA Isaac Gym 中的 ANYmal 示範訓練是一種用於機器人學習的高效能 GPU 加速物理模擬器

MuJoCoNVIDIA Isaac Gym 等以物理為基礎的模擬器,是用於訓練虛擬代理程式執行操縱和移動任務,例如解開魔術方塊或使用 ANYmal 在不平坦的地形上行走。此策略已成功地轉移至真實世界的機器人上。

但是,快速、準確的模擬器能力對機器人組裝未產生重大影響。針對具有不同變異和運動的複雜形體開發此類模擬器是一項艱鉅的任務。

例如,簡單之螺帽與螺栓組裝需要的不僅止是純粹的螺旋運動。螺帽與螺栓之螺紋間的間隙有限,螺帽能以六個自由度移動。即使是人類也需要一定程度的謹慎,確保螺帽與螺栓具有正確的初始對齊,且不會在鎖緊的過程中卡住。 

但是,使用傳統方法模擬任務,可能需要具有數萬個三角形的網格。主要的運算挑戰為偵測這些網格之間的碰撞、產生接觸點和法線,以及解開非穿透約束。

雖然世界上有各種螺紋緊固件,但是現有的機器人模擬器無法使用與基礎物理動力學相同的速率,即時模擬單一螺帽與螺栓組裝。

在 Factory 中,研究人員開發出克服機器人組裝及其他多接觸互動挑戰的方法。

Factory 是什麼

Factory (Fast Contact for Robotic Assembly) 是由物理模擬方法和機器人學習工具組成的集合,可以即時與更快速地模擬各種多接觸互動。Factory 應用的其中之一是機器人組裝。

Factory 提供下列核心貢獻:

  • 方法集合,透過以 GPU 為基礎之新穎方式,合成以符號距離函數 (SDF) 為基礎的碰撞、接觸減少和 Gauss-Seidel 求解器,針對多接觸互動進行快速、準確的物理模擬。
  • 機器人學習套件包含: 
    • 60 種高品質資產,包括 Franka 機器人,以及來自機器人組裝之既定基準 NIST 組裝任務板 1 的所有剛體組件
    • 三種用於機器人組裝的 Isaac Gym 式學習環境
    • 七種傳統機器人控制器
  • 概念驗證強化學習策略,可以讓機器人執行多接觸任務 (在模擬的 Franka 機器人解決 NIST 機板上,接觸最多的任務、螺帽與螺栓組裝)

Factory 論文中的物理模擬方法,已整合至 Isaac Gym 使用的 PhysX 物理引擎中。最新版本的 Isaac Gym 和 Isaac Gym 環境 GitHub 儲存庫提供了資產套件和強化學習策略。Omniverse Isaac Sim 模擬器也提供了模擬方法,且將於今年夏天稍晚推出強化學習範例。

模擬方法和結果

使用以 GPU 為基礎的快速方法建置 SDF 物體碰撞、接觸減少演算法,以根據 SDF 碰撞減少接觸以及自訂數值求解器,研究人員不僅能即時模擬單一 M16 螺帽與螺栓,且能在平行環境中即時模擬 1,024 個。基本上,相較於先前最先的進技術快了 20,000 倍。 

研究人員在各種具有挑戰性的場景中展示模擬器的效能,包括:

  • 512 個碗在同一個環境中倒成一堆
  • 將一堆螺帽送入以 60 Hz 震動的進料機構
  • Franka 機器人執行手繪軌跡,以抓住螺帽和鎖緊於栓上,以及該環境的 128 個執行個體即時執行
GIF of 1,024 ZM16 nut-and-bolt parallel assembly.
2. M16 螺帽與螺栓組裝場景,包含 1,024 個即時執行的平行螺帽與螺栓互動
GIF of robot hands retrieving nuts from a vibratory feeder and tightening them onto a bolt.
3. Franka 機器人加上 M16 螺帽與螺栓組裝場景,包含 128 個平行 Franka 機器人從震動進料機構抓取螺帽,並鎖緊於螺栓上
GIF of 1,024 bowls falling into a pile in the same environment.
4. 總計1,024 個碗在同一環境中倒成一堆,即時執行

機器人學習工具

最成熟的機器人組裝基準是 NIST 組裝任務板,自 2017 年以來一直是年度機器人競賽的焦點。NIST 任務板 1 是由 38 個獨特零件組成。但是,由於提供的 CAD 模型缺乏實際間隙、零件之間的干擾、手動測量等,而不適用於物理模擬。很難找出實際可行的模型。

Image for assembly components such as nut-and-bolt, USB, and Wi-Fi connector .
5. 真實的 NIST 任務板 1。 與圖 6 中的模擬機板進行比較

Factory 使用了 60 種高品質、可模擬的零件模型,每一個模型都具有 Onshape CAD 模型、一或多個 OBJ 網格、URDF 描述,以及符合國際標準 (ISO 724、ISO 965 和 ISO 286) 或以製造商之模型為根據的估計材料性質。這些模型包括 NIST 組裝任務板 1 上的所有零件,其尺寸變異橫跨真實世界公差範圍。零件之間的間隙從 0 到最大 2.66 mm 不等,許多零件是在 0.1-0.5 mm 範圍內。

Image for simulated assembly components such as nut-and-bolt, USB, and Wi-Fi connector
6. 模擬 NIST 任務板 1 的渲染,展示提供的資產

Factory 為 Isaac Gym 提供三種機器人組裝場景,適用於開發規劃和控制演算法、收集進行式監督學習的模擬感測器資料,以及訓練 RL 代理程式。每一個場景都包含 Franka 機器人和來自 NIST 任務板 1 的拆解組件。

資產類型和位置可以在所有環境中隨機化。所有場景皆已在 NVIDIA RTX 3090 GPU 上,透過多達 128 個同時環境進行測試。場景如下所示:

Images of a robot arm for different assembly tasks such as robot arm plus nut-and-bolt, robot arm plus USB connector, and robot arm plus gears
7. Factory 機器人組裝環境

學習環境中提供的七種機器人控制器,包括聯合空間逆向微分運動學 (IK) 運動控制器、聯合空間逆向動力學 (ID) 控制器、任務空間阻抗控制器、操作空間運動控制器、開迴路力控制器、閉迴路比例力控制器,以及混合力-運動控制器。

研究人員希望模型、環境和控制器能隨著他們和社群的貢獻而不斷成長。 

概念驗證 RL 策略

Factory 採用經過 GPU 加速的同策略 RL ,解決 NIST 任務板 1 上接觸最多的任務:將螺帽組裝於螺栓上。如同許多組裝任務,此步驟既耗時又難以進行端對端學習。問題分成三個階段:

  • 取:機器人使用平行夾爪,從工作表面上的隨機位置抓取螺帽。
  • 放:機器人將螺帽運送至固定於表面的螺栓上方。
  • 旋入:機器人使螺帽與螺栓接觸、嚙合匹配螺紋,然後鎖緊螺帽,直至接觸到螺栓頭的底部。
GIF of trained robot arm picking up a nut.
8. 經過訓練的機械手臂抓取螺帽,為FrankaNutBoltEnv 之已訓練子策略達成的目標狀態之一
GIF of trained robot arm placing a nut onto a bolt.
9. 經過訓練的機械手臂將螺帽放在螺栓上,為FrankaNutBoltEnv 之已訓練子策略達成的目標狀態之一
GIF of trained robot arm screwing a nut onto a bolt.
10. 經過訓練的機械手臂將螺帽旋入螺栓,為FrankaNutBoltEnv 之已訓練子策略達成的目標狀態之一

在單一 GPU 上進行訓練。使用近端策略最佳化 (PPO) 同時訓練由 3-4 個策略組成的批次,針對物體的初始位置和方向套用大型隨機化。每一批的訓練時間為 1-1.5 小時,且在超過 128 個環境中訓練每一個子策略,最多進行 1,024 次策略更新,以進行快速實驗。測試時的成功率為 98.4%。

最後,為了評估模擬至真實轉移 (將在模擬中學到的策略轉移至真實世界的機器人系統) 的可能性,研究人員將模擬中之互動產生的接觸力,與真實世界中人類使用扳手執行相同任務測得的接觸力進行比較。需要更多資訊時,請參閱 R-PAL Daily Interactive Manipulation (DIM) 資料集

如下圖所示,模擬 Fasten Nut 的直方圖是位於 Real Fasten Nut 直方圖的中間,與真實世界的值具有高度的一致性。

Graph showing histogram of real and simulated contact forces
11. 旋入子策略執行期間的模擬接觸力與來自Daily Interactive Manipulation (DIM) 資料集的類似真實世界接觸力的比較

結論和未來方向

雖然 Factory 是以機器人組裝做為動機應用而開發,但是在機器人領域中,完全未限制將這些方法運用於完全不同的任務上,例如在居家環境中抓取複雜的非凸面形狀、在不平坦的室外地形上移動,以及針對物體集合進行非抓握操縱。

此研究的未來方向是針對複雜之物理互動進行完整的端對端模擬,包括有效率地將已訓練策略轉移至真實世界之機器人系統上的技術。將有可能最小化成本和風險、提高安全性,並實現高效率行為。

未來,所有先進的工業製造機器人都可能會使用此類技術進行模擬訓練,以無縫轉移至真實世界。

因此,NVIDIA 開發人員正在努力精進 Factory 研究使用的物理模擬方法,以便在 Omniverse Isaac Sim 中使用。目前已存在有限的功能,並會隨著時間變得更強大。

開始使用 Factory

適用於 Isaac Sim 的 Omniverse Isaac Gym 環境未來版本,也將會提供 Factory RL 環境。