HOVER:人形機器人的多功能神經網絡全身控制器

編輯:陳萍萍的公主@一點人工一點智能

HOVER:人形機器人的多功能神經網絡全身控制器HOVER通過策略蒸餾和統一命令空間設計,為人形機器人提供了通用、高效的全身控制框架。https://mp.weixin.qq.com/s/R1cw47I4BOi2UfF_m-KzWg

01? 介紹

1.1 摘要概述

論文《HOVER: Versatile Neural Whole-Body Controller for Humanoid Robots》提出了一種新型的多模態神經網絡控制器HOVER,旨在解決人形機器人全身控制中不同任務模式(如導航、操作、桌面操控等)的兼容性問題。現有方法通常為每個控制模式單獨訓練策略,導致控制器缺乏通用性。HOVER通過引入運動模仿和策略蒸餾技術,將多個控制模式整合到一個統一策略中,實現了跨模式的技能共享與無縫切換。實驗表明,HOVER不僅在單一模式上超越專家策略,還能在仿真和真實硬件中實現魯棒的多模態控制。

1.2 核心貢獻

· 統一控制框架:HOVER首次將超過15種控制模式(如關節角度跟蹤、根節點跟蹤、關鍵點位置跟蹤等)整合到一個策略中,覆蓋了現有文獻中的主流設計。

· 策略蒸餾優化:通過從“Oracle策略”(基于大規模人類運動數據訓練的模仿策略)中蒸餾知識,HOVER在多個控制模式上的性能均優于獨立訓練的專家策略。

· 實際驗證:在Unitree H1等真實人形機器人平臺上,HOVER展示了動態模式切換能力和高精度運動跟蹤性能。

02? 引言

Humanoid機器人因其在多種任務和應用中的潛在用途而備受關注,包括雙臂操作、兩足行走以及敏捷的全身控制。然而,現有的方法通常為特定的任務需求設計了不同的全身體控制器,例如基于根速度跟蹤以支持移動或關節角度跟蹤以實現表達性動作。

盡管這些方法在最終目標上都是為了追蹤運動軌跡,但它們需要針對具體任務設計特定的控制器接口和獎勵機制。這種方法不僅使得開發過程重復且耗時,還限制了全身體控制器的多功能性。舉例來說,一個使用根速度跟蹤進行不平地形兩足行走的機器人難以無縫切換到需要精確雙臂操作的任務中,這時可能需要關節角度或末端效應器跟蹤。

圖片

HOVER(Humanoid Versatile Controller)提出了一種多模式策略蒸餾框架,將多樣化的控制模式整合成統一的策略,從而實現了不同控制模式之間的無縫過渡,同時保留了每種模式的獨特優勢。

通過這種方式,HOVER提供了一個強大且可擴展的人形機器人控制解決方案,覆蓋了廣泛的應用場景。該系統不僅消除了為每個控制模式重新訓練策略的需求,提高了未來人形機器人應用的效率和靈活性,而且還展示了如何利用共享的身體知識來增強跨模式的泛化能力。

此外,HOVER通過對大規模人類運動數據的學習,建立了穩健的基礎運動技能庫,這些技能可以在多個控制模式間復用,進一步增強了其適應性和通用性。

論文的貢獻主要體現在三個方面:

首先,提出了一個支持多種控制模式的人形機器人的統一神經控制器——HOVER;

其次,通過策略蒸餾技術,證明了HOVER能夠有效地在不同模式之間分享運動技能,并優于單獨訓練的策略;

最后,實驗結果顯示,在模擬環境和真實人形機器人上的測試均表明,與其它基準相比,HOVER能夠在不同模式間實現無縫轉換,并提供卓越的多模式控制性能。

03? 方法詳析

在HOVER的方法部分,研究者們采取了一個目標條件強化學習(Goal-Conditioned Reinforcement Learning, RL)的方式為人形機器人制定控制策略。這個方法的核心在于讓策略π學習實時追蹤人類動作的能力。狀態st由代理的本體感受s^{\text{p}}_t和目標狀態s^{\text{g}}_t組成,其中s^{\text{g}}_t提供了目標動作的一個統一表示。根據代理的本體感受和目標狀態,定義了用于策略優化的獎勵r_t=\mathcal{R}(s^{\text{p}}_t,s^{\text{g}}_t )。在這個設定中,動作\pmb{a}_t\in \mathbb{R}^{19}代表目標關節位置,這些位置被饋送到PD控制器以激活機器人的自由度。研究團隊采用了近端策略優化(PPO)算法來最大化累積折扣獎勵\mathbb{E}[\sum^T_{t=1}\gamma^{t-1}r_t]。此設置被視為一項命令跟蹤任務,其中人形機器人學習跟隨每個時間步長的目標命令。

為了確保所提出的HOVER策略能夠在多樣化控制模式之間靈活轉換并保持高精度的動作再現,研究者們還精心設計了命令空間。傳統的腿部運動控制通常采用根速度或位置跟蹤作為命令空間,但僅關注根部跟蹤會限制人形機器人的全部潛力,特別是在需要全身協調的情況下。因此,HOVER引入了一個全面的控制框架,該框架不僅涵蓋了現有配置,而且允許任意組合控制選項以支持各種模式。

具體來說,它包括三個不同的控制模式:動力學位置跟蹤、局部關節角度跟蹤以及根跟蹤。通過這種方式,HOVER能夠處理從上身到下身的不同控制需求,并通過一種稱為“命令掩碼”的機制動態調整哪些控制元素處于活動狀態,從而實現對復雜任務的高效管理。

3.1 狀態空間與目標條件強化學習

HOVER基于目標條件強化學習(Goal-Conditioned RL)設計,其狀態空間和獎勵函數如下:

3.1.1 狀態空間設計

本體感知狀態s^{\text{p}}_t:

包括關節位置q、速度\dot{q}、基座角速度\omega ^{base}、重力向量g,以及歷史動作a(堆疊25幀以捕捉動態特性)。

目標狀態s^{\text{g}}_t

由掩碼機制選擇的目標參數,例如手部關鍵點的3D坐標或根節點的目標速度。

圖片

3.1.2 獎勵函數設計

獎勵函數

圖片

分為三類(權重見表II):

· 懲罰項:關節力矩超限(權重-2)、動作速率超限(權重-6.28e?1)。

· 正則項:關節加速度平滑性(權重-1.0e??)。

· 任務項:關節位置跟蹤(權重32)、全局身體位置誤差(權重80)。

任務項的權重顯著高于其他項,確保跟蹤精度優先。

3.1.3 動作空間與訓練算法

動作\pmb{a}_t\in\mathbb{R}^{19}表示目標關節位置,通過PD控制器轉換為電機指令。采用PPO算法最大化累積折扣獎勵\mathbb{E}[\sum^T_{t=1}\gamma^{t-1}r_t],折扣因子γ設為0.99以平衡短期與長期獎勵。

3.2 命令空間設計

圖片

3.2.1 HOVER的命令空間設計

遵循兩大原則:

1)原子性(Atomicity):將控制模式分解為獨立維度,例如:

·?關鍵點位置跟蹤:手部、頭部等3D坐標。

·?關節角度跟蹤:各關節的目標角度。

·?根節點跟蹤:速度、高度、姿態角(滾轉、俯仰、偏航)。

2)通用性(Generality):支持與多種輸入設備(如VR手柄、運動捕捉系統)對接。

3.2.2 掩碼機制

通過模式掩碼(Mode Mask)和稀疏掩碼(Sparsity Mask)動態激活命令子集:

·?模式掩碼:選擇控制模式(如上半身關鍵點跟蹤,下半身關節角度跟蹤)。

·?稀疏掩碼:在選定模式下進一步篩選目標(如僅跟蹤左手關鍵點)。

掩碼在每回合開始時隨機采樣(伯努利分布B(0.5)),迫使策略學習跨模式的魯棒性。

3.3 運動重定向與Oracle策略訓練

HOVER中另一個重要組成部分是動作重定向過程,這是將大規模人體動作數據集轉化為適合人形機器人的動作數據集的關鍵步驟。動作重定向流程分為三步:

首先,計算人形機器人的關鍵點位置,使用前向運動學將其關節配置映射到工作空間坐標;

其次,通過優化SMPL模型參數以匹配前向運動學計算出的關鍵點,使人形機器人的運動學特性與人體模型相吻合;

最后,采用梯度下降法將AMASS數據集中對應的關節點匹配到擬合后的SMPL模型和人形機器人之間,完成動作數據集的重定向。

這一過程確保了HOVER可以從大量人體運動數據中學習穩健的全身控制策略,為后續的策略蒸餾提供了高質量的數據基礎。

圖片

Oracle策略的訓練是HOVER方法中的核心環節之一,它旨在從大規模人體動作數據集中提煉出優質的運動模仿能力。為了實現這一點,研究者們定義了一個名為Oracle的運動模仿器\pi^\text{oracle}(a_t|s^{\text{p-oracle}}_t,s^{\text{g-oracle}}_t),其中包含了代理的本體感覺信息s^{\text{p-oracle}}_t\triangleq [\pmb{p}_t,\pmb{\theta}_t,\pmb{\dot{p}{}_t},\pmb{\omega} _t,\pmb{a}_{t-1}],涉及人形機器人的剛體位置、方向、線速度、角速度以及之前的動作。目標狀態sg-oracle t則包含了參考姿勢及其與當前狀態之間的差異,用于指導策略的學習。

在訓練過程中,研究團隊使用了一個三層MLP網絡結構,層維度分別為[512, 256, 128],并通過獎勵函數rt的優化來驅動策略的學習。該獎勵函數由懲罰項、正則化項和任務獎勵項構成,涵蓋了關節限位、姿態誤差、身體位置和旋轉等多個方面,確保策略能在模擬環境中有效學習并遷移到真實世界中。

3.4 多模態策略蒸餾

在HOVER的方法論中,策略蒸餾是一個至關重要的步驟,它將從Oracle教師策略πoracle中學到的豐富運動技能轉移到學生策略\pi^{\text{student}}中,形成一個能夠處理多種控制模式的多模式全能策略。對于學生策略而言,其本體感覺輸入s^{\text{p-student}}_t被定義為過去25個時間步長內的關節位置q、關節速度\dot{q}、基座角速度\omega ^{base}、重力矢量g以及動作歷史a的集合。這樣做的目的是為了更好地捕捉環境動態變化的信息,從而提高學生策略對復雜環境的適應能力。

學生策略πstudent的輸入為掩碼后的命令和本體感知,其訓練目標是最小化與Oracle動作的均方誤差:

圖片

其中\hat{\pmb{\text{a}}}_t由Oracle策略生成,{\pmb{\text{a}}}_t為學生策略的輸出。

接下來,通過引入模式掩碼Mmode和稀疏性掩碼Msparsity來定義學生的任務命令輸入s^{\text{g-student}}_t。模式掩碼用于選擇具體的任務命令模式,而稀疏性掩碼則允許在特定場景下只激活部分控制選項,比如上身僅追蹤手部的動力學位置,而下身則專注于關節角度追蹤。這種靈活的命令輸入方式不僅增強了HOVER的多功能性,還促進了其在不同控制模式間的平滑過渡。在整個蒸餾過程中,研究者們利用DAgger框架不斷更新學生策略,使其逐步逼近Oracle教師策略的行為表現,從而實現高效的策略學習和遷移。

04? 實驗與結果分析

在實驗部分,HOVER展示了其在IsaacGym仿真環境和Unitree H1真實機器人上的卓越性能。

4.1 實驗設置

· 仿真環境:IsaacGym,使用重定向后的AMASS數據集\hat{Q}

· 真實平臺:Unitree H1(19自由度,1.8米高,51.5千克)。

· 基線方法:包括ExBody(關節角度+根節點跟蹤)、H2O(關鍵點跟蹤)等專家策略,以及從頭訓練的多模態RL策略。

圖片

4.2 性能評估

Q1:HOVER是否優于專家策略?

表III顯示,在ExBody模式(上半身關節角度+下半身根節點跟蹤)下,HOVER的全局位置誤差(185mm vs. 275mm)和關節角度誤差(0.148rad vs. 0.166rad)均優于專家策略。類似趨勢在其他模式(如H2O、OmniH2O)中一致存在,表明蒸餾過程有效共享了跨模式技能(如平衡維持)。

圖片

研究團隊對比了HOVER與ExBody、HumanPlus、H2O和OmniH2O等多種專家策略在不同控制模式下的表現。結果顯示,HOVER在所有評估指標上均表現出色,尤其在全局身體位置誤差Eg-mpjpe、關節角度誤差Empjpe等方面領先于其他專家策略。這些發現表明,即便是在專注于單一控制模式的情境下,HOVER依舊能夠憑借從Oracle策略中提煉出的技能超越專門為此模式訓練的策略。此外,HOVER還證明了其在左/右手模式、雙手模式及頭部模式等額外控制模式下的優越性,持續顯示出比特定任務訓練的專家策略更好的追蹤精度。

Q2:HOVER是否優于其他多模態訓練方法?

圖4的雷達圖顯示,HOVER在32/32的指標上優于多模態RL基線。例如,根節點姿態誤差降低20%,關鍵點位置誤差降低15%。這表明直接訓練多模態策略容易陷入局部最優,而蒸餾通過模仿Oracle策略的動作分布避免了這一問題。

圖片

文中比較了HOVER與另一種采用相同命令掩碼但完全從零開始訓練的多模式RL基準策略。實驗結果揭示,在多個關鍵指標如根部旋轉誤差Eroot-rpy、上身關節角度誤差Eupper-j等方面,HOVER再次展現出明顯的優勢。這表明,通過策略蒸餾而非從頭開始的強化學習訓練,HOVER能夠更加高效地掌握復雜的多模式控制任務。

圖片

Q3:HOVER能否遷移到真實機器人?

表V顯示,在20組站立動作中,HOVER的全局位置誤差(48.9mm vs. 51.3mm)和關節角度誤差(0.126rad vs. 0.131rad)優于ExBody專家策略。圖6展示了動態模式切換能力:從行走中的ExBody模式切換到H2O模式(手部跟蹤),機器人能平滑過渡而無明顯抖動。

圖片

研究人員在Unitree H1平臺上進行了測試,結果證實了HOVER不僅能在仿真環境中取得優異成績,也能在實際操作中穩定運行,順利完成站立序列、定量追蹤及定性多模式控制任務。綜合來看,HOVER通過一系列嚴謹的實驗驗證了其在多功能性、性能優化及實際應用方面的巨大潛力。

4.3 魯棒性驗證

· 遮擋測試(圖6c):在頭部跟蹤模式下,策略忽略手部動作,僅響應頭部參考,模擬了傳感器部分失效的場景。

· 物理真實性:HOVER的關節加速度誤差(2.31mm/frame2)接近Oracle策略(2.63mm/frame2),表明動作平滑性接近人類運動。

05? 相關工作與創新點

5.1 現有研究對比

· 經典方法:如Atlas的模型預測控制(MPC)依賴精確動力學模型,難以適應多任務。

· 學習型方法:ExBody、H2O等專注于單一模式,缺乏通用性。

· 圖形學領域:MaskedMimic等支持靈活運動約束,但未考慮真實機器人動力學。

圖片

5.2 HOVER的創新性

· 統一命令空間:首次將關鍵點、關節角度、根節點跟蹤整合,支持任意子集激活。

· 蒸餾驅動的多模態學習:通過模仿Oracle策略,避免多任務RL的探索-利用困境。

· 實際部署驗證:在復雜硬件(Unitree H1)上實現低延遲(<10ms)控制。

06? 結論與展望

HOVER通過策略蒸餾和統一命令空間設計,為人形機器人提供了通用、高效的全身控制框架。其核心優勢在于:

· 性能提升:跨模式技能共享使單一策略在多個任務上超越專家。

· 部署便捷性:無需為每個任務重新訓練策略,降低開發成本。

未來方向包括:

· 自動化模式切換:根據任務上下文動態調整掩碼。

· 擴展控制模式:納入力控、觸覺反饋等維度。

· 長期運動規劃:結合高層任務規劃器,實現復雜行為鏈。

HOVER的提出標志著人形機器人控制從“專精化”向“通用化”邁出了關鍵一步,為未來家庭服務、工業協作等場景提供了技術基礎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72769.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72769.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72769.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++ :頂層const與底層const的區別

頂層const與底層const的區別 定義與核心區別 頂層 const (Top-level const)底層 const (Low-level const)?作用對象變量本身是常量&#xff08;不可修改&#xff09;變量指向或引用的對象是常量&#xff08;不可修改&#xff09;?典型場景指針本身不可變、普通變量為常量指…

Chainlit 自定義元素開發指南:使用 JSX 和受限導入實現交互式界面

自定義元素 Custom Element 類允許你渲染一個自定義的 .jsx 代碼片段。.jsx 文件應當放置在 public/elements/ELEMEN_NAME.jsx 目錄下。 屬性 name 字符串 自定義元素的名稱。它應該與你的JSX文件名相匹配(不包括 .jsx擴展名)。 props 字典 傳遞給 JSX 的屬性。 display El…

Opencv之計算機視覺一

一、環境準備 使用opencv庫來實現簡單的計算機視覺。 需要安裝兩個庫&#xff1a;opencv-python和opencv-contrib-python&#xff0c;版本可以自行選擇&#xff0c;注意不同版本的opencv中的某些函數名和用法可能不同 pip install opencv-python3.4.18.65 -i https://pypi.t…

k8s中PAUSE容器與init容器比較 local卷與hostpath卷比較

目錄 一、PAUSE容器與INIT容器比較 1. Pause 容器 作用 特點 示例 2. Init 容器 作用 特點 示例 3. Pause 容器 vs Init 容器 4. 總結 這兩個哪個先啟動呢&#xff1f; 詳細啟動順序 為什么 Pause 容器最先啟動&#xff1f; 示例 總結 二、local卷與hostpath卷…

Vue3 + TS組件封裝指南

在 Vue 3 TypeScript 中封裝組件時&#xff0c;需要注意以下幾點&#xff1a; 1. Props 定義 使用 defineProps 或 PropType 定義組件的 props&#xff0c;并為其添加類型。 示例&#xff1a; import { defineComponent, PropType } from vue;export default defineComponen…

mybatis_plus的樂觀鎖

樂觀鎖&#xff1a;總是假設最好的情況&#xff0c;每次讀取數據時認為數據不會被修改&#xff08;即不加鎖&#xff09;&#xff0c;當進行更新操作時&#xff0c;會判斷這條數據是否被修改&#xff0c;未被修改&#xff0c;則進行更新操作。若被修改&#xff0c;則數據更新失…

Redis系列:深入理解緩存穿透、緩存擊穿、緩存雪崩及其解決方案

在使用Redis作為緩存系統時&#xff0c;我們經常會遇到“緩存穿透”、“緩存擊穿”和“緩存雪崩”等問題&#xff0c;這些問題一旦出現&#xff0c;會嚴重影響應用性能甚至造成服務不可用。因此&#xff0c;理解這些問題的產生原因和解決方案非常重要。 本文將全面講解緩存穿透…

AT指令集-NBIOT

是什么&#xff1f; 窄帶物聯網&#xff08;Narrow Band Internet of Things, NB-IoT&#xff09;成為萬物互聯網絡的一個重要分支支持低功耗設備在廣域網的蜂窩數據連接&#xff0c;也被叫作低功耗廣域網(LPWAN)NB-IoT支持待機時間長、對網絡連接要求較高設備的高效連接NB-Io…

CBNet:一種用于目標檢測的復合骨干網架構之論文閱讀

摘要 現代頂級性能的目標檢測器在很大程度上依賴于骨干網絡&#xff0c;而骨干網絡的進步通過探索更高效的網絡結構帶來了持續的性能提升。本文提出了一種新穎且靈活的骨干框架——CBNet&#xff0c;該框架利用現有的開源預訓練骨干網絡&#xff0c;在預訓練-微調范式下構建高…

c++中字符串string常用的函數

在C中&#xff0c; std::string 類有許多常用函數&#xff0c;以下是一些常見的&#xff1a; 1. length() 或 size() &#xff1a;返回字符串的長度&#xff08;字符個數&#xff09;&#xff0c;二者功能相同。例如&#xff1a; #include <iostream> #include <str…

《保險科技》

自己在保險行業工作很多年&#xff0c;只是接觸了一些數據的內容&#xff0c;對于保險業務的知識了解的很少&#xff0c;想通過這本書補充一下&#xff0c;但是發現這本書就是一些知識的拼接。 先將保險的歷史&#xff0c;后講保險的定義&#xff0c;然后就是吹噓保險行業和互聯…

藍橋杯第13屆真題2

由硬件框圖可以知道我們要配置LED 和按鍵 一.LED 先配置LED的八個引腳為GPIO_OutPut&#xff0c;鎖存器PD2也是&#xff0c;然后都設置為起始高電平&#xff0c;生成代碼時還要去解決引腳沖突問題 二.按鍵 按鍵配置&#xff0c;由原理圖按鍵所對引腳要GPIO_Input 生成代碼&a…

java之IP 工具類

java程序一直需要獲取物理機的ip&#xff0c;寫了一個ip的工具類&#xff0c;感覺日常所需夠了 import javax.servlet.http.HttpServletRequest; import java.net.InetAddress; import java.net.UnknownHostException;/*** IP 工具類*/ public class IpUtil {public static St…

貪心算法作業參考:P1106,P4995,P5019

貪心算法作業參考&#xff1a;P1106&#xff0c;P4995&#xff0c;P5019 P1106 刪數問題 作業批注&#xff1a; 原作業提交&#xff0c;是刪除k個最大的數。 不一定是刪除最大的數。 參考如下&#xff0c;用例&#xff1a; 輸入&#xff1a; 50074897 2輸出&#xff1a; 4…

雙曲空間學習記錄

文章目錄 前期學習內容雙曲空間中的圖卷積神經網絡 前期學習內容 雙曲空間中的圖卷積神經網絡 250318&#xff1a;這個博客的產生原因是我去看了B站上的一個視頻&#xff0c;up說ppt上傳到github上了&#xff0c;但是我去找了一圈也沒有找到&#xff0c;然后想給他留言&#x…

【ES6新特性】默認參數常見用法

ES6新特性之默認參數的多種用法 &#x1f680;默認參數基礎用法 在ES6中&#xff0c;我們可以直接在函數參數列表中為參數設置默認值&#xff1a; // ES5的實現方式 function greet(name) {name name || Guest;console.log(Hello, ${name}!); }// ES6默認參數寫法 function…

LORA的AB矩陣是針對Transformer的多頭還是MLP

LORA的AB矩陣是針對Transformer的多頭還是MLP Transformer中的矩陣是一個整體還是分開的每個小矩陣 在LORA(Low-Rank Adaptation)中,AB矩陣的應用位置和Transformer中的矩陣拆分方式如下: 1. LORA的AB矩陣作用對象 LORA的AB矩陣主要作用于Transformer的多頭注意力模塊和…

【大模型基礎_毛玉仁】2.4 基于 Encoder-Decoder 架構的大語言模型

更多內容&#xff1a;XiaoJ的知識星球 目錄 2.4 基于 Encoder-Decoder 架構的大語言模型2.4.1 Encoder-Decoder 架構2.4.2 T5 語言模型1&#xff09;T5 模型結構2&#xff09;T5 預訓練方式3&#xff09;T5 下游任務 2.4.3 BART 語言模型1&#xff09;BART 模型結構2&#xff0…

browser-use WebUI + DeepSeek 基于AI的UI自動化解決方案

browser-use WebUI 一、browser-use是什么Browser-use采用的技術棧為&#xff1a; 二、browser-use webui 主要功能使用場景 三、使用教程1.python 安裝2、把項目clone下來3、安裝依賴4、配置環境5、啟動6、配置1.配置 Agent2.配置要用的大模型3.關于瀏覽器的一些設置 四、Deep…

WPF CommunityToolkit.MVVM庫的簡單使用

CommunityToolkit.MVVM 是 .NET 社區工具包中的一部分&#xff0c;它為實現 MVVM&#xff08;Model-View-ViewModel&#xff09;模式提供了一系列實用的特性和工具&#xff0c;能幫助開發者更高效地構建 WPF、UWP、MAUI 等應用程序。以下是關于它的詳細使用介紹&#xff1a; 1…