多部件裝配在制造、汽車、航空航天、電子、醫(yī)療設(shè)備等絕大多數(shù)行業(yè)中都扮演著關(guān)鍵角色。雖然應(yīng)用廣泛,但是機(jī)器人裝配仍是一項(xiàng)極具挑戰(zhàn)性的任務(wù)。這類任務(wù)涉及復(fù)雜的交互,機(jī)器人必須通過持續(xù)的物理接觸來操控物體,對(duì)精度和準(zhǔn)確性有極高要求。當(dāng)前的機(jī)器人裝配系統(tǒng)長(zhǎng)期受限于固定自動(dòng)化模式。這些系統(tǒng)往往為特定任務(wù)量身打造,需要大量人工工程來完成設(shè)計(jì)與部署,因而限制了其適應(yīng)性和可擴(kuò)展性。
未來的機(jī)器人裝配將走向靈活自動(dòng)化。下一代機(jī)器人必須能快速適應(yīng)新的零件、位姿和環(huán)境。將機(jī)器人技術(shù)與仿真和 AI 結(jié)合,將有助于突破當(dāng)前的限制。多年來,NVIDIA 一直在這一領(lǐng)域持續(xù)開展研究,并與優(yōu)傲機(jī)器人 (Universal Robots, UR) 展開合作,正在將這些研究創(chuàng)新成果轉(zhuǎn)化為現(xiàn)實(shí)中的工業(yè)應(yīng)用。
本文將展示在 UR10e 機(jī)器人上進(jìn)行齒輪裝配任務(wù)的零樣本仿真到現(xiàn)實(shí)遷移。這一任務(wù)在NVIDIA Isaac Lab中設(shè)計(jì)并訓(xùn)練,并使用NVIDIA Isaac ROS和 UR10e 底層扭矩接口進(jìn)行部署。我們希望所有開發(fā)者都能復(fù)現(xiàn)這項(xiàng)工作,使用 Isaac Lab 和 Isaac ROS 開發(fā)自己的仿真到現(xiàn)實(shí)應(yīng)用。
Isaac Lab 是一個(gè)用于機(jī)器人學(xué)習(xí)的開源模塊化訓(xùn)練框架。Isaac ROS 是基于開源框架 ROS 2 構(gòu)建的一套加速計(jì)算軟件包和 AI 模型,為全球 ROS 開發(fā)者帶來 NVIDIA 的計(jì)算加速能力,并提供可直接使用的常見任務(wù)模塊,如導(dǎo)航和感知等。
Isaac Lab 中接觸密集型操作的仿真
Isaac Lab 讓接觸密集型仿真成為可能,它支持精確的物理仿真和大規(guī)模強(qiáng)化學(xué)習(xí)(RL,即“通過試錯(cuò)學(xué)習(xí)”),可在數(shù)千個(gè)并行環(huán)境中運(yùn)行。而過去,這類復(fù)雜交互仿真在計(jì)算上難以處理和實(shí)現(xiàn)。
Isaac Lab 包含多個(gè)具有挑戰(zhàn)性的工業(yè)級(jí)任務(wù),如插入銷釘、嚙合齒輪、旋緊螺栓。它支持模仿學(xué)習(xí)(基于演示數(shù)據(jù)的模仿)和強(qiáng)化學(xué)習(xí)兩種訓(xùn)練方法,適用于不同類型的機(jī)器人形態(tài)。

圖 1. Isaac Lab 中的接觸密集型仿真環(huán)境
強(qiáng)化學(xué)習(xí)是一種適用于裝配問題的強(qiáng)大方法,因?yàn)樗恍枰祟愌菔?,并且?duì)感知、控制和夾具中的誤差具有很強(qiáng)的魯棒性。然而,“現(xiàn)實(shí)差距”(仿真與現(xiàn)實(shí)世界之間的差距)仍然是一個(gè)關(guān)鍵挑戰(zhàn)。本文所展示的工作流基于 IndustReal 框架,有效地彌合了這一差距。IndustReal 是使機(jī)器人能夠通過強(qiáng)化學(xué)習(xí)在仿真中學(xué)習(xí)裝配任務(wù),并將其遷移到真實(shí)世界的一套算法和系統(tǒng)工具包。
在 Isaac Lab 中訓(xùn)練齒輪裝配任務(wù)
齒輪裝配任務(wù)包括識(shí)別、抓取、搬運(yùn)并將多個(gè)齒輪插入對(duì)應(yīng)的軸上。圖 2 展示了任務(wù)從初始狀態(tài)到一個(gè)齒輪插入完成的過程。整個(gè)過程依賴三項(xiàng)核心技能:抓取、自由空間運(yùn)動(dòng)、插入。

圖 2. 在 UR10e 機(jī)器人上齒輪裝配任務(wù)的抓取、運(yùn)輸和插入技能
抓取生成使用現(xiàn)成的抓取規(guī)劃器來獲取零件的可行抓取位姿,運(yùn)動(dòng)與插入動(dòng)作則使用強(qiáng)化學(xué)習(xí)策略進(jìn)行訓(xùn)練。盡管機(jī)械臂的運(yùn)動(dòng)生成技術(shù)已較為成熟,可通過經(jīng)典軌跡規(guī)劃器實(shí)現(xiàn),但訓(xùn)練基于強(qiáng)化學(xué)習(xí)的運(yùn)動(dòng)生成策略,能在應(yīng)對(duì)更具挑戰(zhàn)性的插入任務(wù)前,為策略學(xué)習(xí)框架提供有效的校準(zhǔn)與調(diào)試步驟。
圖 3 展示了基于Isaac Sim與 Isaac Lab 進(jìn)行運(yùn)動(dòng)生成和插入任務(wù)的策略學(xué)習(xí)流程。仿真環(huán)境由 Isaac Sim 提供的資產(chǎn)與場(chǎng)景配置構(gòu)成,訓(xùn)練環(huán)境由 Isaac Lab 提供。這兩項(xiàng)任務(wù)的策略均依賴于在 Isaac Lab 中實(shí)現(xiàn)的底層阻抗控制器。

圖 3. 使用 Isaac Sim 和 Isaac Lab 進(jìn)行運(yùn)動(dòng)生成和插入任務(wù)的策略學(xué)習(xí)流程
如圖 3 所示,運(yùn)動(dòng)生成和插入技能分別被構(gòu)建為獨(dú)立的強(qiáng)化學(xué)習(xí)問題。
運(yùn)動(dòng)生成:目標(biāo)是讓機(jī)器人從指定工作空間內(nèi)的隨機(jī)初始關(guān)節(jié)角度出發(fā),將末端執(zhí)行器移動(dòng)到指定目標(biāo)位姿(例如抓取位姿)。觀測(cè)數(shù)據(jù)包括機(jī)器人的關(guān)節(jié)位置和目標(biāo)末端執(zhí)行器位姿,動(dòng)作空間則由關(guān)節(jié)位置目標(biāo)構(gòu)成。獎(jiǎng)勵(lì)函數(shù)會(huì)最小化末端執(zhí)行器與目標(biāo)之間的距離,同時(shí)對(duì)機(jī)器人的突然或劇烈動(dòng)作進(jìn)行懲罰。
插入任務(wù):齒輪初始位于機(jī)器人夾具中,處于目標(biāo)軸附近的隨機(jī)采樣位姿。任務(wù)目標(biāo)是將齒輪移動(dòng)到軸的底部。觀測(cè)數(shù)據(jù)包括機(jī)器人的關(guān)節(jié)位置和目標(biāo)軸位姿,動(dòng)作空間同樣由關(guān)節(jié)位置目標(biāo)構(gòu)成。獎(jiǎng)勵(lì)函數(shù)會(huì)最小化齒輪與目標(biāo)位置之間的距離,并同樣對(duì)突然或劇烈動(dòng)作進(jìn)行懲罰。
這兩項(xiàng)技能的關(guān)節(jié)位置目標(biāo)均以 60Hz 的頻率生成,由底層阻抗控制器執(zhí)行。
智能體在多種隨機(jī)配置下進(jìn)行訓(xùn)練,包括不同的初始機(jī)械臂位姿、夾具中齒輪的位姿、齒輪尺寸以及任務(wù)整體階段(例如尚未插入任何齒輪或已插入部分齒輪)。為實(shí)現(xiàn)仿真到現(xiàn)實(shí)的遷移,還對(duì)機(jī)器人動(dòng)力學(xué)參數(shù)(關(guān)節(jié)摩擦和阻尼)、控制器增益以及策略觀測(cè)噪聲均應(yīng)用了域隨機(jī)化。訓(xùn)練在并行環(huán)境中進(jìn)行,使智能體能夠獲得多樣化且有價(jià)值的經(jīng)驗(yàn),這對(duì)有效學(xué)習(xí)任務(wù)至關(guān)重要。
神經(jīng)網(wǎng)絡(luò)架構(gòu)與強(qiáng)化學(xué)習(xí)算法
每個(gè)策略均采用含 256 個(gè)單元的長(zhǎng)短期記憶 (LSTM) 網(wǎng)絡(luò)結(jié)構(gòu),其后連接三層多層感知器 (MLP),分別含 256、128 和 64 個(gè)神經(jīng)元。訓(xùn)練使用 rl-games 庫(kù)中的近端策略優(yōu)化 (PPO) 算法,在 Isaac Sim 4.5 與 Isaac Lab 2.1 環(huán)境中,基于 NVIDIA GPU 完成訓(xùn)練。
訓(xùn)練結(jié)果
圖 4 展示了 UR10e 機(jī)器人執(zhí)行訓(xùn)練策略的效果,左側(cè)為運(yùn)動(dòng)生成環(huán)節(jié),右側(cè)為插入環(huán)節(jié)。


圖 4. UR10e 機(jī)器人在 Isaac Lab 仿真中測(cè)試訓(xùn)練策略:運(yùn)動(dòng)生成(左)與插入(右)
圖 5 展示了所學(xué)技能的組合應(yīng)用。通過重復(fù)調(diào)用抓取規(guī)劃器及兩項(xiàng)訓(xùn)練技能,機(jī)器人能夠完成隨機(jī)擺放的三個(gè)齒輪的裝配。策略對(duì)齒輪的初始位姿與裝配順序均具有魯棒性。


圖 5. 訓(xùn)練后的強(qiáng)化學(xué)習(xí)策略按順序循環(huán)執(zhí)行多步裝配:移動(dòng)至齒輪 1→抓取→插入→移動(dòng)至齒輪 2→抓取→插入,依此類推
支持仿真-現(xiàn)實(shí)遷移的UR 扭矩控制接口
本研究采用阻抗控制技術(shù),使機(jī)器人在與物體接觸時(shí)實(shí)現(xiàn)更安全、順應(yīng)性更高(軟性)的交互。相比之下,盡管位置控制器精度高,但其剛性特性可能因感知誤差或現(xiàn)實(shí)對(duì)準(zhǔn)問題限制適應(yīng)性,甚至導(dǎo)致意外沖擊力。阻抗控制則提供了更靈活的解決方案。
與工業(yè)機(jī)器人常見的剛性位置控制器不同,阻抗控制需要直接扭矩命令,這在傳統(tǒng)工業(yè)機(jī)器人中并不常見。UR 目前已提供早期訪問版本,開發(fā)者可以使用其直接力矩控制接口,從而實(shí)現(xiàn)上述控制策略。
NVIDIA 團(tuán)隊(duì)與 UR 合作,基于 Isaac Lab 和《IndustReal:將接觸密集型裝配任務(wù)從仿真遷移至現(xiàn)實(shí)》論文中的方法訓(xùn)練策略,通過 Isaac ROS 和 UR 扭矩接口在 UR10e 機(jī)器人上部署。過程中使用了 Isaac ROS 的 Segment Anything 和 FoundationPose 軟件包。
基于 Isaac ROS 與 UR 扭矩接口的UR10e 仿真-現(xiàn)實(shí)遷移
圖 6 展示了從 Isaac Lab 部署訓(xùn)練策略的仿真-現(xiàn)實(shí)遷移框架。感知模塊首先將 RGB 圖像送入 Segment Anything,生成分割掩碼。掩碼與深度圖像結(jié)合后輸入 FoundationPose,輸出齒輪的 6D 位姿。

圖 6. UR10e 機(jī)器人仿真-現(xiàn)實(shí)遷移工作流
然后,將齒輪位姿與來自 UR 關(guān)節(jié)編碼器的位置數(shù)據(jù)一并輸入策略,預(yù)測(cè)關(guān)節(jié)位置增量。增量值轉(zhuǎn)換為絕對(duì)目標(biāo)關(guān)節(jié)位置后,作為阻抗控制器的輸入。自定義底層阻抗控制器采用 URScript 編寫,以 500 Hz 頻率運(yùn)行,計(jì)算控制 UR 機(jī)器人執(zhí)行任務(wù)所需的關(guān)節(jié)扭矩。
開始開發(fā)
本文展示了在 UR10e 機(jī)器人上實(shí)現(xiàn)齒輪裝配任務(wù)的零樣本仿真到現(xiàn)實(shí)遷移——整個(gè)任務(wù)在 Isaac Lab 中完成設(shè)計(jì)與訓(xùn)練,并通過 Isaac ROS 和 UR10e 底層扭矩接口實(shí)現(xiàn)部署。
-
機(jī)器人
+關(guān)注
關(guān)注
213文章
31066瀏覽量
222157 -
仿真
+關(guān)注
關(guān)注
54文章
4480瀏覽量
138225 -
AI
+關(guān)注
關(guān)注
91文章
39707瀏覽量
301320 -
工業(yè)機(jī)器人
+關(guān)注
關(guān)注
91文章
3533瀏覽量
98155
原文標(biāo)題:利用 NVIDIA Isaac Lab 縮小工業(yè)機(jī)器人裝配應(yīng)用中“仿真到現(xiàn)實(shí)”的差距
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
NVIDIA Isaac Lab可用環(huán)境與強(qiáng)化學(xué)習(xí)腳本使用指南
工業(yè)機(jī)器人與視覺實(shí)訓(xùn)平臺(tái)介紹
工業(yè)機(jī)器人視覺裝配實(shí)訓(xùn)平臺(tái)實(shí)驗(yàn)
NVIDIA AI機(jī)器人開發(fā)— NVIDIA Isaac Sim入門
NVIDIA 公開課 | AI 機(jī)器人開發(fā)第二講 — Isaac Sim 高階開發(fā)
CES | 用 NVIDIA Isaac Sim 2022.2 模擬未來智能機(jī)器人
使用 NVIDIA Isaac 仿真并定位 Husky 機(jī)器人
利用NVIDIA Isaac平臺(tái)構(gòu)建、設(shè)計(jì)并部署機(jī)器人應(yīng)用
堅(jiān)米智能借助NVIDIA Isaac Lab加速四足機(jī)器人開發(fā)
NVIDIA Isaac Sim與NVIDIA Isaac Lab的更新
NVIDIA Isaac Sim和Isaac Lab現(xiàn)已推出早期開發(fā)者預(yù)覽版
利用NVIDIA Cosmos模型訓(xùn)練通用機(jī)器人
NVIDIA Isaac Lab多GPU多節(jié)點(diǎn)訓(xùn)練指南
NVIDIA 利用全新開源模型與仿真庫(kù)加速機(jī)器人研發(fā)進(jìn)程
利用NVIDIA Isaac Lab訓(xùn)練工業(yè)機(jī)器人齒輪裝配任務(wù)
評(píng)論