1 前言
? ? ? ? Robot系列主要介紹一些比較有意思的機器人,前面的博客文章中也給讀者朋友們展示了一些:
? ? ? ? 《人形機器人---越來越像人了》
? ? ? ? 《自動駕駛---兩輪自行車的自主導航》
? ? ? ? 《自動駕駛---會打架的“球形機器人”》
? ? ? ? 《Robot---SPLITTER行星探測機器人》
? ? ? ? 《Robot---奇思妙想輪足機器人》
? ? ? ? 目前強一些的研究團隊都在研究如何讓機器人(不管是雙足還是四足)完成人類的某些動作,這也是機器人技術進步的一種體現。
????????本篇博客介紹的是 ETH 蘇黎世聯邦理工大學的研究團隊在機器人頂刊Science Robotics上發布的成果,探索如何讓擁有腿部和手臂的機器人(即腿足機械臂)學習并執行像羽毛球這樣高度動態、需要全身協調的復雜技能。
2 羽毛球Robot
????????機器人由四足底盤(蘇黎世聯邦理工的老演員了)、機械臂和立體相機組成。立體相機為前置雙目立體相機,圖像采樣頻率為 30Hz,用于感知羽毛球的位置和運動狀態等信息,系統通過攝像感知、軌跡預測與整身控制策略實現對羽毛球的精準攔截與揮拍操作。
????????當前這種直接基于強化學習的端到端方法,不僅可應用于四足機器人,還應用于無人機,無人車等做種機器人載體。感興趣的讀者朋友可以看看,很多知名高校(蘇黎世聯邦理工大學,香港科技大學,浙大等)開源的論文和代碼都有不少,但目前仍然停留在學術Demo階段,還沒有到量產階段。
2.1 架構
? ? ? ? 相機安裝:該腿式移動操作機器人由四足底盤和動態機械臂組成,額外安裝了一個帶全局快門的立體相機。
????????機器人控制系統接收在相機坐標系中計算出的羽毛球位置,預測攔截位置,并將其與機器人本體感知數據一起輸入強化學習(RL)策略。該策略通過生成關節指令控制機器人的全部 18 個驅動單元。
? ? ? ? 總體的思路比較簡單,預測羽毛球運動軌跡,通過強化學習方法計算最佳擊球位置,難點在于協同控制。
????????研究方法與設計:
- 基于強化學習的整身控制策略:核心是利用 PPO(Proximal Policy Optimization)算法,訓練一個聯合控制機器人 18 個關節的策略網絡。策略結構采用非對稱 Actor-Critic 架構,Critic 能訪問 “特權信息”,如球的真實位置、速度和未來軌跡等,以獲得更穩定的訓練反饋;Actor 僅基于機器人部署時可獲得的感知信息,如本體狀態、預測擊球點進行動作輸出,提升訓練效率并保持策略的可部署性。
- 貼近真實的感知誤差模型:由于羽毛球速度快,微小感知誤差會導致擊球失敗,因此在訓練中引入基于實測數據回歸的感知誤差模型。該模型考慮觀測角度、距離、球速對測量誤差的影響,并在仿真中為每次觀測引入高斯噪聲擾動,增強了策略對現實感知條件的魯棒性,還使機器人發展出主動視覺行為,如通過軀干姿態調整保持球在視野中央,擊球前微調站位以減少預測誤差。
- 具備目標引導與物理約束的訓練機制:獎勵函數除擊中球的核心獎勵外,還設計多個輔助項,用于鼓勵策略提前接近預測擊球點、控制步態穩定性、控制揮拍速度與角度以匹配球速、在連續擊球任務中維持身體狀態穩定等。此外,提出多目標擺動訓練范式,每個訓練回合中機器人需連續完成多次擊球,模擬真實對戰中的回合場景,讓機器人學習擊球后的姿態收斂和過渡動作的快速調度。
2.2 詳細框架
????????論文的核心貢獻在于提出了一種端到端的強化學習(Reinforcement Learning, RL)框架,用于學習腿足機械臂的全身協調羽毛球技能。
-
強化學習范式
- 模型無關(Model-Free)RL:?避免了對機器人復雜動力學模型的精確建模,而是通過與環境的交互來學習最優策略。
- 策略梯度方法:?通常會使用如PPO (Proximal Policy Optimization) 或 SAC (Soft Actor-Critic) 等算法,這些算法在處理連續控制任務和高維狀態/動作空間方面表現出色。
-
狀態空間(Observation Space)
為了讓機器人“理解”當前情況,其觀測空間通常包括:- 機器人自身狀態:?各關節的角度、角速度、基座(body)的姿態(俯仰、滾轉、偏航)、線速度和角速度。
- 羽毛球狀態:?羽毛球相對于機器人基座的位置、速度,甚至可能是其歷史軌跡,以便預測未來位置。
- 目標信息:?例如,擊球目標點(如果任務要求將球擊到特定區域)。
-
動作空間(Action Space)
機器人直接控制的輸出:- 關節目標位置/力矩:?策略輸出的是機器人所有關節(包括腿部和手臂)的目標位置或力矩,由低層控制器執行。這確保了全身的協同控制。
-
獎勵函數(Reward Function)
獎勵函數是RL成功的關鍵,它引導機器人學習期望的行為:- 擊球成功獎勵:?當機器人成功擊中羽毛球時給予高獎勵。
- 擊球質量獎勵:?鼓勵球擊過網,并落在對方場地內。可能還會細化為擊球速度、角度等。
- 平衡與穩定性獎勵/懲罰:?避免機器人跌倒,鼓勵其在運動中保持基座的穩定和姿態的平穩。
- 運動平滑性/能耗獎勵:?懲罰劇烈的關節抖動或過大的關節力矩,鼓勵更自然、高效的運動。
- 任務完成獎勵:?例如,每成功擊打一次球就給予獎勵。
-
訓練策略與Sim2Real
- 大規模仿真訓練:?在高保真物理仿真器(如Isaac Gym, MuJoCo等)中進行數百萬甚至數十億步的訓練。這是因為在真實機器人上進行如此大規模的試錯是不可行且危險的。
- 域隨機化(Domain Randomization):?為了彌合仿真與現實之間的差距(Sim2Real Gap),在仿真訓練過程中,會隨機化各種環境參數和機器人參數,例如:
- 摩擦系數、空氣阻力。
- 機器人質量、慣量、關節剛度、阻尼。
- 傳感器噪聲、執行器延遲。
- 羽毛球的初始速度和旋轉。
這使得學習到的策略對真實世界中的不確定性更加魯棒。
- 課程學習(Curriculum Learning):?可能從簡單的任務開始(例如,靜止擊球,然后逐步增加球速和復雜性),幫助策略循序漸進地學習。
- 統一的全身控制策略:?整個機器人(腿部和手臂)由一個單一的神經網絡策略控制,確保了內在的協調性。
2.3 難點與挑戰
(1)難點
? ? ? ? 研究四足機器人打羽毛球是一個很有意思的課題,那么針對這兩件事情,分別有什么難點?
- 腿足機械臂:?腿足機器人提供卓越的移動性和越障能力,而機械臂則賦予它們操作和交互的能力。將兩者結合,可以創造出能在復雜地形中移動并執行精細任務的機器人。然而,控制這種高自由度(High-DOF)的系統,尤其是在執行全身協調的動態任務時,是一個巨大的挑戰。
- 羽毛球作為測試平臺:?羽毛球運動是一個極佳的測試平臺,因為它包含了機器人控制的諸多難點:
- 高動態性:?羽毛球飛行速度快,軌跡多變,要求機器人快速感知和響應。
- 全身協調:?機器人需要通過腿部移動來定位自身,同時用手臂揮拍擊球,且在擊球過程中保持平衡和穩定。
- 實時決策:?需要在毫秒級時間內預測球的軌跡并規劃擊球動作。
- 精確的接觸動力學:?擊球瞬間的力道和角度控制至關重要。
- 平衡與魯棒性:?在劇烈揮拍和移動中保持不摔倒。
(2)核心挑戰
- 高維度控制空間:?腿足機械臂通常擁有數十個自由度,傳統控制方法難以有效優化。
- 動態環境下的魯棒性:?機器人需要適應羽毛球來球的各種速度、角度和旋轉。
- 全身運動的耦合:?腿部運動會影響手臂的基座,手臂揮拍的慣性力會影響腿部的平衡,兩者必須協同工作。
- Sim2Real Gap:?在仿真環境中訓練的策略如何有效地遷移到真實的物理機器人上,是一個普遍存在的問題。
2.4 實驗結果
????????論文通常會通過以下方式驗證其方法的有效性:
- 仿真環境測試:
- 展示機器人在仿真中成功擊打各種來球,包括高速球、不同角度的球等。
- 量化擊球成功率、擊球精度、機器人穩定性等指標。
- 真實機器人部署:
- 將訓練好的策略部署到真實的腿足機械臂硬件平臺(例如,Unitree H1, ANYmal + Franka Emika Panda等組合)。
- 通過實際視頻和數據展示機器人在真實世界中成功擊打羽毛球,驗證Sim2Real的有效性。
- 性能對比:
- 可能與傳統的基于模型或非全身協調的控制方法進行對比,突出強化學習和全身協調的優勢。
- 展示機器人能夠應對復雜、動態的擊球場景,這是傳統方法難以實現的。
3 總結
? ? ? ? 本篇博客所介紹的論文不僅僅是讓機器人學會打羽毛球,更重要的是它提供了一個通用的框架和方法,用于訓練高自由度、多模態機器人執行需要精細全身協調的復雜動態任務,這對于推動通用型機器人的發展具有里程碑式的意義。
? ? ? ? 當前這種直接基于強化學習的端到端不僅應用于四足機器人,還應用于無人機,無人車等做種機器人載體。感興趣的讀者朋友可以看看,開源的論文和代碼都有不少,但目前仍然停留在學術Demo階段,還沒有到量產。
參考論文:《Learning coordinated badminton skills for legged manipulators》