干货 | 浅谈机器人强化学习--从仿真到真机迁移
“
對于機器人的運動控制,強化學習是廣受關注的方法。本期技術干貨,我們邀請到了小米工程師——劉天林,為大家介紹機器人(以足式機器人為主)強化學習中的sim-to-real問題及一些主流方法。
”
一、前言
設計并制造可以靈活運動的足式機器人,一直是工程師追逐的夢想。相比于輪式機器人,足式機器人憑借其腿部結構優勢可以在離散非連續的路面行走。近年來,足式機器人技術發展迅速,涌現出了許多先進的足式機器人,如波士頓動力的Atlas/Spot機器人、麻省理工學院(MIT)的Cheetah系列機器人、瑞士蘇黎世理工學院(ETH)的ANYmal系列機器人、宇樹科技的A1/Go1機器人、小米的鐵蛋機器人等。主流的傳統運動控制方法,如模型預測控制(Model Predictive Control,MPC)和全身運動控制(Whole-Body Control,WBC),在足式機器人上得到了廣泛的應用。
然而,這些方法往往需要復雜的建模和繁瑣的人工調參,生成的動作在自然度和靈活性上也有所欠缺,這也使得研究者們把目光轉向受生物啟發的學習方法,強化學習(Reinforcement Learning,RL)就是其中最為廣泛關注的方法。圖1為四足機器人利用強化學習方法在不同路面行走的例子。
圖1 基于強化學習的四足機器人不同路面行走
圖片來源:https://ashish-kmr.github.io/rma-legged-robots/
強化學習是機器學習的一個分支。與監督學習不同,在強化學習中,智能體通過與環境不斷交互進行試錯學習,其目標是最大化累積回報。強化學習最早起源于 20 世紀 50 年代出現的“最優控制”,用于解決控制器的設計問題,其目標是使得動態系統能夠隨時間變化實現某種指標的最優(即最大或者最小)。
強化學習的另一個起源來自于對動物行為實驗的觀察。研究發現,動物在面對相同情景時會表現出不同的行為,它們更傾向于能夠引起自身滿足感的行為,而對于那些會給自己帶來不適的行為則會盡量避免。換言之,動物們的行為在與環境的互動中通過不斷試錯來鞏固,試錯學習也是強化學習方法的核心思想。
強化學習通過與環境交互不斷試錯來學習,其代價是所需的樣本量很大,這對于實體機器人來說往往不可行,因為過多的交互次數會對機器人硬件造成不可逆轉的損耗,甚至損壞機器人,同時也需要大量時間。
基于物理引擎的仿真器,如Pybullet、Mujoco、Isaac Gym等,為獲取大量機器人交互數據提供了一個有效的方式。研究者們可以先在仿真器中進行訓練,之后再遷移到真實機器人上。然而,由于真實環境受到多種物理規律的約束,仿真器無法準確地建模真實環境,這也使得仿真中訓練得到的策略在真實機器人上直接部署時往往會失效或性能下降。學術界將從仿真到真機的遷移稱作sim-to-real,它們之間的差異稱作sim-to-real gap或者reality gap。
二、sim-to-real問題
在介紹具體方法之前,首先帶大家了解一下sim-to-real中需要考慮的一些問題,這也有助于大家理解解決sim-to-real問題背后的方法思想。圖2為機器人感知控制框架的示意圖,機器人處于一個環境中,根據自身傳感器獲取對環境的感知信息,之后根據這些信息進行決策,得到相應的動作并在環境中執行該動作,整個過程是一個閉環的控制過程。從這個過程也可以了解仿真和真實的一些差異:
▍(1)環境建模差異。
物理仿真器無法準確地捕捉真實世界的物理特性,如摩擦力、接觸力、質量、地面反彈系數、地形方面的特性。
▍(2)感知差異。
真實世界中的感知往往是存在噪聲的,易受到多種因素如光照方面的影響。而且,不同于仿真環境,真實世界中的感知是部分可觀測的,sim-to-real時也需要考慮這方面的因素。
▍(3)機器人建模差異。
仿真中的機器人與真實機器人存在差異,無法準確地刻畫真實機器人的運動學、動力學、電機模型等方面的特性。
▍(4)控制差異。
受通信傳輸和機械傳動的影響,從機器人發出控制指令到真正執行指令之間存在延時,且控制信號存在噪聲。當前的sim-to-real研究主要也是從這四方面差異展開。
圖2 機器人感知控制框圖
?
三、主流方法
強化學習在仿真控制中取得了很大的成功,也促使研究者們將這些“成功”應用到真實機器人中。本節介紹用于解決sim-to-real問題的前沿方法,包括更好的仿真、域隨機化、域適應等。
?>>>>?3.1?更好的仿真
從仿真到真機遷移的一個直觀想法是,構造更真實的物理模擬器,使得仿真中的環境及其生成的數據更接近于真實環境。
比如,在視覺感知方面,通過調節仿真器中的渲染參數,使得仿真中得到的圖像數據更接近于真實環境的數據。在運動控制方面,一個經典的例子是ETH 2019年發表在Science Robotics中的工作[1]。為了更好地模擬真實關節電機的驅動效果,ETH的研究人員利用神經網絡建模了從PD誤差到關機電機的輸出扭矩,其中,PD誤差包括關節位置誤差和關節速度。該神經網絡也被稱作執行器網絡(Actuator Net),如圖3右上角所示。在實現時,為了更好地捕捉關節電機的動態執行特性,Actuator Net的輸入包括了過去多個時刻的關節位置誤差和關節速度。
圖3 仿真中訓練ANYmal機器人的控制策略
圖片來源:https://www.science.org/doi/10.1126/scirobotics.aau5872
整個sim-to-real過程如圖4所示,共分為四步:
(1)識別出機器人的物理參數,并對機器人進行剛體運動學/動力學建模;
(2)收集真實的關節電機執行數據,訓練一個Actuator Net;
(3)在仿真中,利用Actuator Net建模關節電機,并結合第一步中的剛體運動學/動力學建模,進行強化學習;
(4)將第3步中訓練得到的策略部署到真機上。
圖4 從仿真到真機遷移框圖
圖片來源:https://www.science.org/doi/10.1126/scirobotics.aau5872
除了視覺感知和運動控制方面,仿真速度也是大家關注的指標。2021年,英偉達的研究人員開發了Isaac Gym強化學習仿真環境[2][3],該環境運行在英偉達自家生產的RTX系列顯卡上。Isaac Gym充分利用了GPU多核并行計算的優勢,使得在同一個GPU中可以同時進行數千個機器人的仿真訓練學習,這也加快了數據采集的時間。視頻1為ETH和英偉達的研究人員利用Isaac Gym進行強化學習行走的例子。
視頻1 利用大規模并行強化學習方法學習行走
視頻來源:https://www.youtube.com/watch?v=8sO7VS3q8d0
>>>>?3.2?域隨機化
從仿真到真機遷移的差異中,有很大一部分是仿真和真實之間的物理參數差異。域隨機化(Domain Randomization)方法的主要思路是,在訓練過程中隨機化仿真環境的物理參數。它背后的思想是,如果這些參數足夠多樣化,并且模型能夠適應這些不同的參數,那么真實環境也可以看作是仿真環境中的一個特例。
域隨機化常見的一種方法是隨機化視覺特征參數,這種方法在基于視覺的機器人策略中經常被使用。例如,OpenAI和UC Berkeley的研究人員利用隨機化視覺特征參數后渲染得到的圖像訓練物體檢測器,并將得到的物體檢測器用在真實機器人上進行抓取控制 [5] ,如圖5所示。除了隨機化視覺特征參數外,隨機化動力學參數也是一種常見的方法。例如,OpenAI的研究人員利用強化學習在仿真環境中訓練 Shadow 機器人靈巧手的操作策略,并將得到的策略遷移到實體 Shadow 機器人靈巧手上[6],如視頻2所示。在仿真環境中,他們同時隨機化了系統的動力學參數(如摩擦力、質量等)和視覺特征參數。
圖5 利用圖像域隨機化實現從仿真到真機遷移
圖片來源:https://arxiv.org/pdf/1703.06907
視頻2 學習靈巧手操作策略
視頻來源:https://www.youtube.com/watch?v=jwSbzNHGflM
域隨機化的常見難點是,很多時候需要人為指定參數隨機化的范圍。這些范圍的確認需要一些領域的知識或洞見,如果選擇不當可能會導致從仿真到真機遷移時性能下降明顯。隨著自動機器學習(Automated Machine Learning,AutoML)技術的發展,一些研究人員也開始探索自動學習域隨機化的參數范圍,如Chebotar等人的工作[7]。
>>>>?3.3?域適應
機器人在現實環境中成功部署需要它們能夠適應不可見的場景,比如不斷變化的地形、不斷變化的負載、機械磨損等。與域隨機化對應的另一種sim-to-real方法是域適應(Domain Adaptation)。它旨在將仿真環境中 (源域) 訓練得到的策略在現實環境中 (目標域) 進行再適應。這種方法背后的假設是,不同域之間具有相同的特征,智能體在一個域中學習得到的行為和特征能夠幫助其在另一個域中學習。
在sim-to-real過程中,域隨機化常常也與域適應一起使用。近年來,機器人領域一個經典的域適應工作是2021年UC Berkeley和CMU的研究人員發表在RSS機器人會議上的工作[8]。針對機器人實時在線適應問題,他們提出了RMA(Rapid Motor Adaptation)方法,使得四足機器人可以在不同地形下實現快速適應,實驗結果示例如圖1所示。圖6和圖7為RMA方法的系統框圖。RMA由兩個子模塊組成,包括基礎策略 π?和適應模塊 Φ?。下面介紹如何在仿真中訓練RMA,以及如何在真機中部署RMA。
?仿真中訓練RMA(圖6) 共分為兩個階段
(1)在第一個階段中,利用模型無關(Model-free)的強化學習方法(如PPO[9])訓練基礎策略?π?。其中,基礎策略?π?的輸入包括當前時刻狀態?xt?、上一時刻動作?at-1?、經過環境特征編碼器 μ?編碼得到的隱變量?zt?。環境特征編碼器?μ?的輸入包括質量、質心、摩擦力、地形高度等,其中很大一部分信息在實際部署時很難獲取,僅在仿真時訓練使用,這些信息也被稱為特權信息(Privileged Information)。
(2)在第二個階段中,利用監督學習訓練適應模塊?Φ?,以取代第一階段中的環境特征編碼器?μ?,這也是RMA方法的主要創新點所在。需要注意的是,在這個階段中基礎策略?π?保持不變。適應模塊?Φ?的輸入為過去多個時刻的狀態和動作,輸出為環境信息的隱變量??t。它背后的思想是,系統當前狀態是機器人在特定環境下的產物,根據過去的狀態和動作信息可以推斷出當前的環境信息。第二階段訓練的適應模塊?Φ?也解決了第一階段中訓練得到的環境特征編碼器?μ?無法在實際環境中部署的問題。這種訓練方式也被稱為Teacher-Student學習,后續很多工作也采用了該方式。
圖6 RMA方法系統框圖 -- 在仿真中訓練
圖片來源:https://arxiv.org/pdf/2107.04034
真機部署RMA(圖7)
真機部署時與仿真訓練中的第二階段類似,使用的是訓練后的基礎策略?π?和適應模塊?Φ?。其中,基礎策略?π?以100Hz運行,適應模塊?Φ?以更低的頻率(10Hz)異步運行?;A策略?π?輸出的動作?at?為關節期望角度,最終通過機器人的PD控制器轉換成扭矩。適應模塊?Φ?的運行過程相當于一個在線的系統辨識過程,類似于卡爾曼濾波器通過先前的觀測狀態進行狀態估計。
圖7 RMA方法系統框圖 -- 真機部署
圖片來源:https://arxiv.org/pdf/2107.04034
除了四足機器人,UC Berkeley和CMU的研究人員也將RMA方法成功部署到雙足機器人上[10],如視頻3所示。
視頻3 雙足機器人上應用RMA方法
視頻來源:https://www.youtube.com/watch?v=HSdFHX0qQqg
>>>>?3.4?其他
除了前面提到的三種方法,近年來也有研究者使用其它方法來解決sim-to-real的問題。例如,通過元學習(即學習如何學習)[11]來學習機器人的本體設計[12][13](視頻4),通過擴展隨機力注入(Extended Random Force Injection,ERFI)學習魯棒的機器人運動控制策略[14](視頻5),通過對抗運動先驗(Adversarial Motion Priors,AMP)從動捕數據中學習機器人動作[15][16](視頻6)。
視頻4 學習四足機器人的平行彈性執行器設計及控制
視頻來源:https://twitter.com/i/status/1615291830882426883
視頻5 通過ERFI學習魯棒的運動控制策略
視頻來源:https://www.youtube.com/watch?v=kGkOoJ_DAwQ
視頻6 四足機器人上應用AMP模仿學習方法
視頻來源:https://www.youtube.com/watch?v=Bo88rwUQbrM&t=4s
四、結語
隨著人工智能技術的不斷發展,強化學習作為實現機器人智能運動控制的有效途徑成為了大家的共識。借助現代物理仿真器技術,研究人員可以先在虛擬世界中訓練機器人,之后再遷移到現實世界中。
這篇文章討論了解決從仿真到真機遷移問題的主流方法,這些方法都各有自己的優缺點,在實際部署時一般都會結合起來使用。近年來,機器人頂級會議CoRL、RSS等也開始舉辦針對sim-to-real的學術研討會[17][18][19][20],未來sim-to-real將朝著更魯棒策略、更少經驗調參、更多維度感知的方向發展。伴隨著強化學習技術的不斷前進,相信在不久的將來,強化學習在實體機器人上的應用落地也將迎來蓬勃發展的春天,為人類生產生活帶來便利。
參考文獻
[1] Hwangbo J, Lee J, Dosovitskiy A, et al. Learning agile and dynamic motor skills for legged robots[J]. Science Robotics, 2019, 4(26): eaau5872.
[2] Makoviychuk V, Wawrzyniak L, Guo Y, et al. Isaac gym: High performance gpu-based physics simulation for robot learning[J]. arXiv preprint arXiv:2108.10470, 2021.
[3]?https://github.com/NVIDIA-Omniverse/IsaacGymEnvs
[4] Rudin N, Hoeller D, Reist P, et al. Learning to walk in minutes using massively parallel deep reinforcement learning[C]//Conference on Robot Learning. PMLR, 2022: 91-100.
[5] Tobin J, Fong R, Ray A, et al. Domain randomization for transferring deep neural networks from simulation to the real world[C]//2017 IEEE/RSJ international conference on intelligent robots and systems (IROS). IEEE, 2017: 23-30.
[6] Andrychowicz O A I M, Baker B, Chociej M, et al. Learning dexterous in-hand manipulation[J]. The International Journal of Robotics Research, 2020, 39(1): 3-20.
[7] Chebotar Y, Handa A, Makoviychuk V, et al. Closing the sim-to-real loop: Adapting simulation randomization with real world experience[C]//2019 International Conference on Robotics and Automation (ICRA). IEEE, 2019: 8973-8979.
[8] Kumar A, Fu Z, Pathak D, et al. Rma: Rapid motor adaptation for legged robots[J]. arXiv preprint arXiv:2107.04034, 2021.
[9] Schulman J, Wolski F, Dhariwal P, et al. Proximal policy optimization algorithms[J]. arXiv preprint arXiv:1707.06347, 2017.
[10] Kumar A, Li Z, Zeng J, et al. Adapting rapid motor adaptation for bipedal robots[C]//2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2022: 1161-1168.
[11] Finn C, Abbeel P, Levine S. Model-agnostic meta-learning for fast adaptation of deep networks[C]//International conference on machine learning. PMLR, 2017: 1126-1135.
[12] Belmonte-Baeza á, Lee J, Valsecchi G, et al. Meta reinforcement learning for optimal design of legged robots[J]. IEEE Robotics and Automation Letters, 2022, 7(4): 12134-12141.
[13] Bjelonic F, Lee J, Arm P, et al. Learning-based Design and Control for Quadrupedal Robots with Parallel-Elastic Actuators[J]. IEEE Robotics and Automation Letters, 2023.
[14] Campanaro L, Gangapurwala S, Merkt W, et al. Learning and Deploying Robust Locomotion Policies with Minimal Dynamics Randomization[J]. arXiv preprint arXiv:2209.12878, 2022.
[15] Escontrela A, Peng X B, Yu W, et al. Adversarial motion priors make good substitutes for complex reward functions[C]//2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). IEEE, 2022: 25-32.
[16] Vollenweider E, Bjelonic M, Klemm V, et al. Advanced skills through multiple adversarial motion priors in reinforcement learning[J]. arXiv preprint arXiv:2203.14912, 2022.
[17] https://sites.google.com/view/corl-22-sim-to-real
[18] https://sim2real.github.io/
[19] https://sim2real.github.io/rss2020
[20] https://sim2real.github.io/rss2019
總結
以上是生活随笔為你收集整理的干货 | 浅谈机器人强化学习--从仿真到真机迁移的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【嵌入式开发教程9】手把手教你做平板电脑
- 下一篇: 哈工大软件构造lab3