BeamDojo: Learning Agile Humanoid Locomotion on Sparse Footholds
BeamDojo: Learning Agile Humanoid Locomotion on Sparse Footholds
研究动机
- 在稀疏 footholds 的危险地形上行走,例如踏脚石和平衡木,对腿式运动提出了重大挑战。在这种环境中实现敏捷而安全的运动要求机器人准确处理感知信息,在安全区域内精确放置脚步,并在整个过程中保持基座稳定。
- 人形机器人的脚通常被表示为多边形。对于传统的基于模型的方法,这需要额外的半空间约束,由线性不等式定义,这在在线规划中会带来显著的计算负担。
- 为人形机器人在危险地形上实现敏捷运动带来了几个挑战。首先,评估脚部放置的奖励信号是稀疏的。其实,学习效率低下,错误的步态会导致训练早期终止,阻碍充分的探索。
解决方案
提出基于强化学习的新框架BeamDojo,控制在稀疏地形上行进的人形机器人。首先定义了一种基于采样的脚印奖励,旨在评估多边形脚模型的脚放置。使用双批评家架构分别学习密集行进奖励和稀疏脚印奖励。采用两阶段方法来鼓励试错探索。在第一阶段,地形动力学约束被放宽,允许人形机器人在平坦地形上练习行走,同时接收目标任务地形的感知信息,其中失误会受到惩罚但不会终止回合。在第二阶段,策略在真实任务地形上微调。为了在实际场景中部署,在仿真中实现了基于LiDAR的以机器人为中心的高程图,并使用域随机化。
技术路线
总体框图。
踏脚点奖励
引入基于采样的foothold奖励,用于评估脚放置在稀疏foothold上的情况。该评估是由脚的放置与指定的安全区域之间的重叠程度决定的。具体来说,在机器人的脚底采样n个点,对于脚 i i i的第 j j j个样本点, d i j d_{ij} dij表示对应位置的全局地形高度。foothold奖励 r f o o t h o l d r_{foothold} rfoothold定义为:
r f o o t h o l d = − ∑ i = 1 2 C i ∑ j = 1 n 1 d i j < ϵ r_{foothold}=-\sum_{i=1}^{2}\mathbb{C}_i \sum_{j=1}^{n} \mathbb{1}{d_{ij}< \epsilon } rfoothold=−i=1∑2Cij=1∑n1dij<ϵ
其中 C i \mathbb{C}_i Ci用于指定脚 i i i是否与地形表面接触, 1 \mathbb{1} 1为示性函数。当 d i j < ϵ d_{ij}<\epsilon dij<ϵ时,表示该采样点的地形高度显著偏低,意味着脚的位置不在安全区域内。
双Critic进行稀疏奖励学习
特定任务的踏脚点奖励是一个稀疏奖励。相比于正则化密集奖励而言,稀疏奖励的学习更加困难。为了,采用基于PPO的双critic网络,将密集奖励和稀疏奖励分离。
在本文框架中,训练两个独立的critic网络 { V ϕ 1 , V ϕ 2 } \{V_{\phi_1}, V_{\phi_2}\} {Vϕ1,Vϕ2},分别估计两种不同奖励组合的值函数:(1)正常运动奖励组合(密集奖励) R 1 = { r i } i = 0 n R_1=\{r_i\}_{i=0}^n R1={ri}i=0n;(2)特定任务的踏脚奖励 R 2 = { r f o o t h o l d } R_2=\{r_{foothold}\} R2={rfoothold}。
而后,分别计算每个值网络的优势 { A ^ i , t } \{\hat{A}_{i,t}\} {A^i,t},并归一化后综合成一个总体优势:
A ^ t = ω 1 ⋅ A ^ 1 , t − μ A ^ 1 , t σ A ^ 1 , t + ω 2 ⋅ A ^ 2 , t − μ A ^ 2 , t σ A ^ 2 , t \hat{A}_t=\omega_1 \cdot \frac{\hat{A}_{1,t}-\mu_{\hat{A}_{1,t}}}{\sigma_{\hat{A}_{1,t}}} + \omega_2 \cdot \frac{\hat{A}_{2,t}-\mu_{\hat{A}_{2,t}}}{\sigma_{\hat{A}_{2,t}}} A^t=ω1⋅σA^1,tA^1,t−μA^1,t+ω2⋅σA^2,tA^2,t−μA^2,t
其中 ω i \omega_i ωi为每个优势值的权重, μ A ^ i , t \mu_{\hat{A}_{i,t}} μA^i,t和 σ A ^ i , t \sigma_{\hat{A}_{i,t}} σA^i,t为每个优势值的均值和标准差。
两阶段学习地形感知运动
为应对复杂地形动力学中的早期终止问题并促进全面的试错探索,设计两阶段强化学习(RL)方法,用于仿真中的地形感知运动。在第一阶段,称为“软地形动力学约束”阶段,人形机器人在平坦地形上进行训练,并提供对应的真实任务地形的高度图。这种设置鼓励广泛的探索,而不必担心因误步而导致的早期终止。错误的步伐会被惩罚,但不会导致终止,从而使机器人能够发展出地形感知运动的基础技能。在第二阶段,称为“硬地形动力学约束”阶段,继续在仿真中对人形机器人进行真实地形的训练,其中错误的步伐会导致终止。这一阶段进一步调优机器人在准确踏步于挑战性地形上的能力。
马尔可夫决策空间
状态空间包含期望速度(x\y方向线速度和角速度)。本体感知包括基底角速度、机器人本体坐标系下的重力方向、关节位置和关节速度。外部感知包括以机器人为中心的高程度,分别在纵向和横向上采样15×15个点,分辨率为0.1米。此外,状态空间中还包含上一帧的动作。
设计了五种地形。如图所示。
Sim2Real
为增强鲁棒性和促进机器人在真实世界的部署,在关键动态参数上使用域随机化。在状态空间、人形机器人物理属性和地形中注入噪声。此外,由于里程计不准确、噪声和抖动导致仿真中的真实高程图与现实中的 LiDAR 生成的地图之间存在较大的仿真到真实世界的差距,在仿真器中高度采样期间引入了四种类型的高程图测量噪声:
- 垂直测量:在每个回合中应用随机垂直偏移,并在每个时间步长中对每个高度样本添加均匀采样的垂直噪声,模拟LiDAR的垂直噪声。
- 地图旋转:为模拟里程计不准确性,在滚转、俯仰和偏航方向旋转地图。对于偏航旋转,首先采样一个随机的偏航噪声。初始高程图与机器人当前朝向对齐,然后通过添加偏航噪声重新采样,从而得到一个新的对应更新朝向的高程图。对于滚转和俯仰旋转,我们随机采样偏置 [ h x , h y ] [h_x,h_y] [hx,hy],并在 x x x方向从 − h x -h_x −hx线性插值到 h x h_x hx,在 y y y方向从 − h y -h_y −hy线性插值到 h y h_y hy。然后将得到的垂直高程图噪声添加到原始高程图中。
- 踏脚着陆点扩展:在有效脚着陆点旁边随机扩展脚着陆点,将其转换为有效脚着陆点。这模拟了处理 LiDAR 高程数据时可能存在的平滑效果。
- 地图重复:为了模拟高程图更新延迟,从上一个时间步随机重复地图。
附录
域随机化。
实验结果
请参考原文。