機器人訓練數據不缺了!英偉達團隊推出DexMG:數據增強200倍
新智元報道
編輯:靜音 十二
【新智元導讀】最近,Jim Fan參與的一項研究推出了自動化數據生成系統DexMimicGen。該系統可基於少量人類演示,合成類人機器人的靈巧手運動軌跡,解決了訓練數據集的獲取難題,而且還提升了實驗中機器人的表現。
要知道,大規模、優質的機器人訓練數據集的獲取往往非常有挑戰性。
不過最近,來自英偉達、UT Austin和UCSD的研究人員推出了一種大規模自動化數據生成系統——DexMimicGen。
它可基於少量人類演示合成類人機器人的靈巧手運動軌跡,幫助實現在更少人工干預下擴大類人數據的採集。
也就是說,機器人訓練數據集的獲取效率得到了大幅提升!
DexMimicGen的核心思想是利用一小組人類演示,並通過在物理仿真中進行演示轉換和重放,自動生成大量適用於雙手靈巧操作場景中模仿學習的訓練數據。
項目主頁:https://dexmimicgen.github.io/
從僅5個源人類演示開始,DexMimicGen可以生成1000個雙手靈巧任務的演示。研究團隊從60個源人類演示中總共生成了21000個演示,涵蓋了9種不同的任務。
DexMimicGen生成的大規模數據集可用於訓練高性能的模仿學習策略,並用於不同策略的基準測試。
研究團隊發現,隨着DexMimicGen數據量的增加,策略的性能也隨之提升。
他們還使用DexMimicGen結合real2sim2real方法生成了真實世界的演示。
他們創建了一個現實世界罐子分類任務的數字孿生模型,通過在仿真環境中重放現實世界的人類演示,利用DexMimicGen生成軌跡,並將這些生成的軌跡轉移回現實世界,從而實現了一個成功率高達90%的視覺運動策略,而單靠人類演示的成功率僅爲0%!
解決機器人訓練數據集的獲取難題
從人類演示中進行模仿學習是一種有效的機器人操作技能教學方法。
其中一種常見的方法是遠程操作,即人類操作員通過控制機器人手臂來收集數據,這些數據用於訓練機器人,使其能夠自主完成任務。
近期的研究通過多個操作員協作收集了大規模多樣化的數據集,結果表明,基於這些數據集訓練的機器人表現出色,甚至能夠在不同環境中泛化。此外,近期的研究還關注將這一範式應用於類人機器人。
然而,數據採集是這一方法更廣泛應用的主要瓶頸。
在單臂機器人任務中,數據採集通常需要多個操作員、機器人以及數月的人力投入。針對類人機器人的數據採集則更具挑戰性,因爲同時控制多隻手臂和多指靈巧手的複雜性較高。
爲了實現類人機器人的實時遠程操作,研究人員開發了專門的遠程操作界面,但這些界面的成本高昂,難以實現規模化。
類人機器人的任務複雜性也更高,因此數據需求更大,但由於操作員需同時控制多臂和多指手,工作負擔大幅增加,數據採集也更加困難。
相比之下,在仿真環境中利用自動化數據生成是一種引人注目的替代方案,並已證明在單臂機器人操作中非常有效。
受這一成功的啓發,DexMimicGen由此誕生,這是一個針對雙手靈巧機器人(如類人機器人)的大規模自動數據生成系統。
DexMimicGen方法介紹
基於MimicGen進行改進
DexMimicGen所借鑑的MimicGen方法是一種適用於帶並行爪夾具的單臂機器人的流水線,而DexMimicGen克服了多個技術挑戰,使得這些原理可以應用於我們的雙手操作場景。
MimicGen將每個任務分解爲一系列子任務,分別軌跡後拼接在一起。而雙手靈巧操作涉及三種子任務類型,其中兩隻手臂需要分別實現子目標、協調配合,並按特定順序執行。
然而,MimicGen依賴單一的子任務分割策略,難以應對雙手任務中獨立和相互依賴的動作需求。
爲了解決這些問題,DexMimicGen引入了一種靈活的單臂子任務分割策略,使每隻手臂能夠獨立執行其子任務,同時能夠適應必要的協調階段。
DexMimicGen採用同步策略,以確保在協調子任務期間動作的精確對齊,並引入排序約束機制,以確保在順序子任務中動作的正確執行順序。
子任務的分類法
DexMimicGen生成用於雙手靈巧操作的數據——這涉及比MimicGen更具挑戰性的三大關鍵問題。
首先,每個手臂必須能夠獨立於另一個手臂操作以實現不同的目標;其次,手臂必須能夠協調以實現共同的目標;最後,某些手臂目標必須在其他目標完成之前完成。
爲了應對這些挑戰,DexMimicGen引入了一種子任務類型的分類法——包括並行子任務、協調子任務和順序子任務,並對數據生成過程進行了相應調整以適應這些任務類型。
並行子任務
在雙臂機器人設置中,每個機械臂需要具備獨立操作的能力,以便各自完成不同的任務目標。比如,在裝配任務的初期階段,每個手臂都需要抓取不同的部件,而且這兩個抓取動作可能不會在同一時間發生。
爲此,DexMimicGen引入了一種新的子任務類型——並行子任務,它允許每個臂根據自己的任務列表獨立行動。
由於每個手臂的子任務是獨立定義的,它們的啓動和完成時間可能會有所不同。爲了適應這種非同步性,DexMimicGen引入了異步執行策略。
在這種策略下,每個手臂都有自己的動作隊列,動作會從隊列中逐一出隊並行執行。一旦某個手臂的隊列爲空,它就會加載下一個子任務的轉換後操作段,確保即使沒有嚴格的子任務對齊,也能順利執行兩個手臂的動作。
協調子任務
對於需要精確配合的任務,如「盒子清理」中的蓋子放置,兩個末端執行器在執行過程中的相對位置必須與源演示保持一致。
DexMimicGen通過確保兩個手臂以同步的方式執行軌跡,並使用相同的變換來生成軌跡,從而實現這一點。
具體來說,爲了達到時間上的同步,DexMimicGen在源演示分割時強制所有協調子任務在同一時間點結束。
在實際執行中,則採用同步策略,即每個手臂會等待另一個手臂,直至兩者在協調子任務中剩餘的步驟相同,這樣就能保證子任務的執行結束與分割時的設定一致。
此外,DexMimicGen還提供了兩種源演示變換方案:「轉換」和「重演」。
前者基於首次協調時的對象位置計算變換矩陣,後者則直接使用原始軌跡,無需額外變換。
對於類似物品傳遞等需要保持在運動學限制內的協調任務,「重演」方案尤爲有效。
順序子任務
在某些任務中,如「傾倒」任務,子任務的執行順序至關重要。
例如,機器人首先需要用一隻手將球倒入碗中,然後用另一隻手將碗移到綠色墊子上。
爲了解決這類順序需求,DexMimicGen實現了一種順序約束機制,明確規定了哪些子任務必須在其他子任務之前完成。
通過這種方式,執行後續子任務的手臂會等待前一個子任務完成後再繼續,確保了任務流程的正確性。
數據如何生成
首先,源演示通過啓發式算法或人工標註被分解爲每隻手臂的子任務。
每隻手臂的最終子任務需要進行協調(必須共同擡起托盤),因此該任務被標註爲協調子任務,以便在數據生成過程中實現同步。
在數據生成開始時,場景會被隨機化,並選擇一個源演示。隨後,爲每隻手臂的各個子任務並行地迭代生成和執行軌跡。
在此示例中,基於參考物體(托盤)的姿態,計算當前托盤姿態與源片段中的托盤姿態之間的相對變換。由於這些是協調子任務,因此這裡使用該變換來轉換兩隻手臂的源軌跡。
接着,應用「協調子任務」中描述的同步執行策略來執行生成的軌跡。
值得注意的是,這裡通過重放源演示中的手指關節動作來生成手指運動,因爲手指運動始終是相對於末端執行器的運動的。
每個生成的演示僅在任務成功時才被保留,整個過程將重複進行,直到生成了足夠數量的數據。
系統設計
爲了構建DexMimicGen,Zhengyu Jiang團隊建立了大量的仿真環境,並開發了一個遠程操作系統,支持在仿真和現實世界中收集源人類演示。
仿真環境
Zhengyu Jiang團隊引入了一系列多樣化的設置和任務,以展示DexMimicGen在不同機器人形態和操作行爲下生成數據的能力。
他們主要專注於三種機器人形態:
(1) 配備並行爪夾具的雙手Panda手臂;
(2) 配備靈巧手的雙手Panda手臂;
(3) 配備靈巧手的GR-1類人機器人。
不同的機器人形態需要應用不同的控制器。並且,針對每種機器人形態,他們分別設計了三種任務,總共九個任務。
這些任務涉及高精度操作(如穿線、部件裝配、裝箱、咖啡製作)、帶有關節的物體操作(如抽屜、托盤),以及長時間跨度的任務(如運輸)。
這些任務還需要克服多臂交互中的關鍵挑戰。其中一些任務包含協調子任務,要求兩隻手臂協同完成子任務(穿線、運輸、裝箱、托盤擡升、罐子分類)。其他任務則要求按順序執行子任務(部件裝配、抽屜清理、倒液、咖啡)。
遠程操作系統
爲了收集任務的源演示,Zhengyu Jiang團隊針對每種機器人形態定製了不同的遠程操作方法。
對於配備並行爪夾具的雙手Panda手臂,他們使用了基於iPhone的遠程操作界面,用於捕捉人類手腕和爪夾動作。
對於配備靈巧手的機器人,他們實現了基於Apple Vision Pro的遠程操作系統,使用VisionProTeleop軟件收集手腕和手指姿態。
首先,他們需要將人類的姿態與機器人的姿態對齊,將人類的原始末端執行器姿態轉換爲機器人的姿態。
其中還包括一個人機校準過程,要求人類遠程操作員從固定姿態開始,系統會自動計算將人類姿態映射到機器人目標的相對變換矩陣。該校準過程適用於帶有靈巧手的雙手Panda手臂和GR-1類人機器人。
實驗結果
研究人員也做了大量實驗來證明DexMimicGen性能的優越性。
首先,研究人員選取了5個樣本,運用DexMimicGen爲每個任務生成了1000個演示,在評估過程中,研究人員發現了DexMimicGen具備以下性能優勢:
提高成功率
相比於僅依賴源演示,DexMimicGen大幅提升了策略的成功率。在所有任務中,基於DexMimicGen數據集訓練的機器人表現明顯優於僅基於少量源數據訓練的機器人。
例如,在抽屜整理任務中,成功率從0.7%躍升至76.0%;在穿線任務中,成功率從1.3%提升到69.3%;而在零部件組裝任務中,成功率則從3.3%提高到了80.7%。
適應多樣初始狀態
DexMimicGen通過在默認的初始狀態分佈(D0)中的源演示生成具有更廣泛變化的初始狀態分佈數據集(D1和D2)。D1中物體具有更大的初始重置分佈,D2則對關鍵物體的位置進行了重新設定。
如上表所示,基於這些數據集訓練的策略在相同的擴展初始狀態分佈下的評估中表現優異,這表明DexMimicGen能夠在新的初始狀態分佈上生成有價值的數據集。
跨基準數據生成
研究人員還將DexMimicGen應用於BiGym——一個專注於人形機器人雙手操作任務的新模擬基準。
對於翻轉杯子、洗碗機裝載盤子和關閉所有杯板這三個任務,研究人員各自生成了1000個演示,分別達到了29.1%、43.6%和76.4%的數據生成成功率。
除此之外,研究人員還與替代方案進行了對比,結果發現DexMimicGen生成的數據集訓練出來的策略性能普遍高於Demo-Noise基線58%以上,且Demo-Noise基線無法生成具有不同初始狀態的數據。
針對數據集大小對策略性能的影響,研究人員也發現隨着數據集從小到大的增長,策略性能有顯著提升,特別是在100到500和1000之間。
然而,當數據集從1000增至5000時,這種提升趨於平緩,說明不同任務的性能增益可能存在邊際效應。
參考資料:
https://dexmimicgen.github.io/
https://arxiv.org/pdf/2410.24185