Jim Fan全華人團隊HOVER問世,1.5M小模型讓機器人獲「潛意識」!

新智元報道

編輯:靜音

【新智元導讀】來自英偉達、CMU、UC伯克利等的全華人團隊提出一個全新的人形機器人通用的全身控制器HOVER,僅用一個1.5M參數模型就可以控制人形機器人的身體。人形機器人的運動和操作之前只是外表看起來類人,現在有了HOVER,連底層運動邏輯都可以類人了!

1.5M參數模型就可以控制人形機器人的身體?!

英偉達高級科學家Jim Fan表示,並不是每個基礎模型都需要規模龐大。我們訓練了一個擁有150萬參數的神經網絡來控制人形機器人的身體。

來自英偉達、CMU、UC伯克利等團隊提出了HOVER(Humanoid Versatile Controller),一個人形機器人通用的全身控制器。

對於人類來說,行走、保持平衡、將手臂和腿移動到期望的位置都需要大量的潛意識處理。

相應地,對於人形機器人來說,實現全身控制需要適應多種任務,比如導航、行走和桌面操作。

每種任務都需要不同的控制模式。例如,導航依賴於根速度(root velocity)或位置追蹤,而桌面操作則主要關注上半身關節角度的跟蹤。

現有的方法通常針對特定任務設計獨立策略,這不僅使機器人開發過程重複且耗時,還限制了最終全身控制器的多功能性。

例如,使用根速度跟蹤(root velocity tracking)在不平地形上進行兩足行走的機器人,在需要精確雙臂操作的任務中會遇到困難,因爲這些任務可能需要關節角度或末端執行器跟蹤。

所有這些運動控制模式都應用於同一個硬件平臺,自然會引出一個問題:能否創建一個支持所有控制模式的統一控制器,以結合每種模式的優勢?

這並非一個簡單的挑戰,因爲每種模式在不同的指令空間內運行,直接集成並不可行。

然而,儘管控制接口有所不同,其底層運動目標往往是一致的:即實現穩定、類人的運動,以滿足人形機器人的控制需求。

由此,Jim Fan團隊提出一個關鍵見解:全身運動的動作模仿可以作爲這些任務的共同抽象,爲學習多種全身控制模式提供通用的運動技能。

在此基礎之上,他們提出了HOVER(Humanoid Versatile Controller,人形通用控制器),這是一個多模式策略蒸餾框架,能夠將不同的控制模式整合爲一個統一的策略。

論文地址:https://arxiv.org/abs/2410.21229

HOVER支持在各控制模式之間的無縫切換,同時保留每種模式的獨特優勢,爲人形機器人在廣泛的模式下提供了一種穩健且可擴展的控制解決方案。

也就是說,Jim Fan團隊在HOVER中捕捉到了一種和人類相似的「潛意識」,這種「潛意識」能夠學習如何協調人形機器人的電機以支持各種運動和操作。

人形機器人的運動和操作之前只是外表看起來類人,現在有了HOVER,連底層運動邏輯都可以類人了!

HOVER能夠切實地消除爲每個控制模式單獨重新訓練策略的需求,該方法提高了未來人形機器人應用的效率和靈活性。

相比之下,HOVER支持所有的控制模式

問題定義與分析

Jin Fan團隊將此問題表述爲一個針對人形機器人控制的目標條件強化學習(RL)任務,並進行了人形機器人控制的指令空間設計。

指令空間包括兩個主要控制區域——上半身和下半身控制——並且整合了三種不同的控制模式:

1. 運動學位置跟蹤:機器人關鍵剛體點的目標三維位置。

2. 局部關節角度跟蹤:每個機器人馬達的目標關節角度。

3. 根追蹤:目標根速度、高度和姿態,由橫滾、俯仰和偏航角指定。

高亮的方框表示正在被跟蹤的活動指令,而右側的虛線框所示的屏蔽機制可以選擇性地激活不同的指令空間,以適應各種任務需求

訓練過程

「Oracle」策略

在訓練HOVER策略之前,首先通過大量人類運動數據訓練一個「Oracle」策略,使其能夠模仿人類的全身運動。

這一過程包括設計狀態空間、獎勵系統以及應用域隨機化來支持從仿真到現實的轉換。

狀態空間設計:Oracle策略的狀態包括機器人身體的剛體位置、姿態、速度和上一時刻的動作歷史。同時引入目標狀態,用來定義參考姿態和當前狀態的差異,爲機器人提供詳細的運動目標。

獎勵設計:獎勵分爲三部分:懲罰、正則化以及任務獎勵。具體權重和細節見下列表格,用以確保機器人能夠有效地執行目標運動並減少誤差。

域隨機化:爲了使仿真環境中學到的策略能夠成功轉移到現實中,對模擬環境中的物理參數進行隨機化,以提高模型在現實世界中的泛化能力。

策略蒸餾與DAgger算法的應用

在訓練Oracle策略後,使用「蒸餾」過程將Oracle策略中的技能轉移到HOVER策略中,以使其能夠實現多模式控制。

這個過程通過DAgger算法完成,該算法是一種監督學習方法,用於使學生策略的動作逐漸與Oracle策略對齊。

任務指令屏蔽:HOVER使用特定模式和稀疏性屏蔽來生成不同的任務指令模式,並通過這些屏蔽激活不同的指令空間組件,從而支持多模式控制。HOVER策略能夠在上半身和下半身的控制中選擇性地跟蹤某些關節和運動目標。

動作對齊與優化:在每個時間步,學生策略從Oracle策略中獲取目標動作,通過最小化目標動作和當前動作的差距來更新自身,從而優化策略的表現。此過程的核心是將Oracle策略的優點有效地轉移到HOVER策略中,使其能夠支持多種控制模式的無縫切換。

實驗結果

實驗主要圍繞3個問題展開:

Q1:HOVER作爲一種通用策略,能否在特定指令配置下表現優於其他策略?

Q2:HOVER能否優於其他多模式人形機器人控制器的訓練方法?

Q3:HOVER能否遷移到真實硬件上並執行多樣的多模式控制?

A1:與特定控制模式的比較

與已有研究工作中特定控制模式策略的比較

Jim Fan團隊將HOVER策略在不同控制模式下的表現與相應的特定策略進行了比較。

例如,HOVER在ExBody模式下的表現通過固定屏蔽來匹配ExBody模式,並在整個數據集Qˆ上進行評估。

HOVER在各種控制模式下表現出優越的泛化能力。在每個指令模式下,HOVER至少在12項指標中的7項上優於此前工作的特定控制器,顯著性指標在下表中以粗體標出。

HOVER與基線方法在數據集Qˆ上的仿真運動模仿評估

HOVER在不同控制模式中的一致優勢體現了其多功能性。此外,即使僅在單一控制模式下,基於Oracle策略的蒸餾方法仍優於RL訓練的特定策略。

與其他常用控制模式特定策略的比較

除了前述基線之外,Jim Fan團隊還評估了四種附加模式:左手模式、右手模式、雙手模式和頭部模式。他們分別訓練了四個RL特定策略以單獨跟蹤這些模式。

左手模式、雙手模式、右手模式

下表的結果表明,HOVER在跟蹤特定指令配置的指標上持續優於這些特定策略。

A2:與其他通用訓練方法的比較

Jim Fan團隊將HOVER與一種多模式RL基線進行比較,該基線採用相同的指令屏蔽過程,但從零開始以RL目標進行訓練。

在下圖中,他們評估了四項指標的跟蹤誤差:根部姿態、上半身關節角度、局部身體位置和全局身體位置,測量於八種不同模式下。

結果顯示,HOVER在32項指標和模式中的跟蹤誤差始終較低。這一性能提升表明,從跟蹤全身運動學的Oracle策略中蒸餾出通用全身控制器具有重要意義。

A3:真實環境評估

Jin Fan團隊進行了定量的跟蹤實驗和定性的行走測試,以評估HOVER多模式控制能力。

站立運動評估

他們在真實環境中評估HOVER的性能,測試了數據集Qˆ中的20種不同站立運動。

其中兩種運動在下圖中有視覺示例。如下圖中間所示,他們展示了根部俯仰運動的成功跟蹤;在下圖右側展示了全身運動學跟蹤,機器人能夠跟蹤高度動態的跑步運動。

下表中展示的定量指標表明,HOVER在12項指標中有11項優於特定策略。

多模式評估

Jim Fan團隊還評估了HOVER在行走任務中的泛化能力。他們在操作過程中突然切換指令模式,以模擬真實場景。

如下圖(a)中,HOVER成功在前進行走時從ExBody模式切換到H2O模式;

(b)中,在執行轉彎和後退行走時,從HumanPlus模式切換到OmniH2O模式。

此外,他們使用Vision Pro進行了一個真實的遠程操作演示,隨機屏蔽了頭部和手部的位置。例如,下圖(c)中間,機器人在頭部模式下僅跟蹤人的頭部位置,忽略揮動的手部動作。

結果表明,HOVER能夠在不同模式下平穩地跟蹤運動,展示出其在真實場景中的穩健性。

作者介紹

Tairan He

共同一作Tairan He是卡內基梅隆大學機器人研究所的二年級博士生,由Guanya Shi教授和Changliu Liu教授指導。他同時也是NVIDIA GEAR小組的成員。該小組由Jim Fan和Yuke Zhu領導。

此前,他在上海交通大學獲得計算機科學學士學位,導師是Weinan Zhang。並曾在微軟亞洲研究院工作過一段時間。

他的研究目標是打造能改善每個人生活質量的機器人;重點是如何爲機器人構建數據飛輪,使其獲得媲美人類的運動能力和語義理解能力,以及如何讓機器人既能安全可靠,又能靈活適應各種環境,具備通用性和敏捷性來完成各類實用任務;採用的是隨計算能力和數據規模擴展的機器學習方法。

Wenli Xiao

共同一作Wenli Xiao是卡內基梅隆大學機器人研究所(MSR)的碩士生,由Guanya Shi教授和John Dolan教授指導。

他目前在NVIDIA GEAR實驗室擔任研究實習生,與Jim Fan博士和Yuke Zhu教授一起研究人形機器人基礎模型。

此前,他在香港中文大學(深圳)獲得電子信息工程專業學士學位。

參考資料:

https://hover-versatile-humanoid.github.io/