学习现实世界人形机器人的起身策略

25年2月来自UIUC和Simon Fraser U的论文“Learning Getting-Up Policies for Real-World Humanoid Robots”。

跌倒的自动恢复是人形机器人可靠部署的关键先决条件。由于人形机器人跌倒后可能处于各种不同的配置,并且人形机器人需要在具有挑战性的地形上运行,因此手工设计起身控制器非常困难。本文开发一个学习框架来生成控制器,使人形机器人能够从不同地形的不同配置中起身。与以前成功的人形运动学习应用不同,起身任务涉及复杂的接触模式,这需要准确建模碰撞几何和更稀疏的奖励。通过遵循课程的两阶段方法,本文应对这些挑战。第一阶段侧重于在平滑度或速度/扭矩限制的最小约束下发现良好的起身轨迹。然后,第二阶段将发现的动作细化为可部署的(即平滑和缓慢的)动作,这些动作对初始配置和地形的变化具有鲁棒性。这些工作使现实世界中的 G1 人形机器人能够从两种主要情况中站起来:a) 仰卧和 b) 俯卧,这两种情况都是在平坦、可变形、光滑的表面和斜坡上进行的测试(例如,湿滑的草地和雪地)。

本文开发学习控制器,使人形机器人能够在各种地形上从各种跌倒姿势中站起来。人形机器人容易跌倒,而它们对人类跌倒恢复的依赖阻碍它们的部署。此外,由于人形机器人预计会在复杂地形和狭小工作空间的环境中工作(即对轮式机器人来说太难的具有挑战性场景),人形机器人在跌倒时可能会处于不可预测的配置,或者可能处于未知的地形上。在 DARPA 机器人挑战赛 (DRC) 的 46 次试验中,有 26 次发生跌倒,其中 25 次跌倒需要人工干预才能恢复 [40]。DRC 将跌倒预防和恢复确定为需要进一步研究的主要课题。

从不同的初始条件中恢复的需求使得手动设计跌倒恢复控制器变得困难,并激发了通过模拟中的反复试验进行学习的需求。近年来,这种学习在涉及四足机器人和人形机器人的运动问题上产生令人兴奋的结果,例如 [43, 60]。在这些结果的推动下,本文开始将 Sim-to-Real (Sim2Real) 范式应用于起身问题。然而,起身问题与典型的运动问题在以下三个重要方面有所不同,这使得对以前工作的简单改进是不足的:
a) 非周期性行为。在运动中,与环境的接触以结构化的方式发生:循环的左右步进模式。起身问题没有这样的周期性行为。需要弄清楚起身本身所需的接触顺序。这使得优化更加困难,并且可能导致运动中常用的左右脚相位耦合无效。
b) 接触丰富。与运动不同,起身所需的接触不仅限于脚。机器人的许多其他部位可能已经与地形接触。但更重要的是,机器人可能会发现,利用脚以外的身体对环境施加力量,以便站起来很有用。冻结/解耦上身,只对上身进行粗略的碰撞建模,并使用更大的模拟步长:运动中做出的典型设计选择不再适用于站起来的任务。
c) 奖励稀疏性。设计站起来的奖励比其他运动任务更难。速度跟踪提供密集的奖励,并且在几十个模拟步骤内就可以获得机器人是否有意义地向前行走的反馈。相比之下,身体的许多部位都取得负进步,例如,躯干首先需要向下倾斜几秒钟,然后才能向上倾斜才能最终站起来。

人形机器人控制

过去几十年来,控制高自由度人形机器人一直吸引着研究人员。基于模型的技术,例如基于零力矩点 (ZMP) 原理 [31, 61, 69, 71]、优化 [4, 14, 41] 和模型预测控制 (MPC) [12, 15, 21, 74] 的技术,已在步行、跑步和跳跃等基本运动任务中取得了显著成功。然而,这些方法往往难以泛化或适应新环境。相比之下,基于学习的方法最近取得了重大进展,不断扩展人形运动控制器的泛化能力。

  1. 人形机器人控制学习:通过强化在模拟中学习,然后进行模拟-到-现实的迁移,已经为四足机器人 [42, 43] 和人形机器人 [2, 8, 26, 58–60] 带来了许多成功的运动结果。这使得机器人可以在具有挑战性的野外地形上运动 [25, 58],可以做出跳跃等敏​​捷动作 [44, 76],甚至可以由视觉输入驱动运动 [46, 77]。研究人员还通过使用人体动作捕捉或视频数据,将人形机器人的运动范围扩展到舞蹈和自然步行步态等技巧性动作 [9, 30, 34, 53]。一些研究同时解决人形机器人的运动和操纵问题,从而通过遥操作以端到端的方式实现操纵控制器 [19, 29, 48]。值得注意的是,这些任务主要涉及脚与环境之间的接触,因此只需要有限的接触推理。如何有效地开发控制器以执行需要大量、动态且不可预测的全身与环境接触的任务(如爬行、翻滚和起身),目前仍未得到充分探索。

腿式机器人跌倒恢复

人形机器人由于控制动力学不足、状态高维和非结构化环境而容易跌倒 [24、27、31、32、38、40],因此从跌倒中恢复的能力非常重要。多年来,这个问题一直通过以下方式解决。

  1. 通过运动规划起身:Morimoto 和 Doya [54] 的早期工作解决二维双关节、三连杆步行机器人的起身问题,并使用几个离散状态作为子目标通过分层 RL 进行转换。这项工作可以看作是通过配置图转换学习(graph transition learning)进行运动规划的一种应用 [39],其中存储的机器人在躺着和站着之间的状态被用作转换的图节点 [20, 36, 37, 64]。最近,在让玩具大小的人形机器人能够站起来方面取得了一些进展。例如,Gonza ́lez-Fierro [23] 通过使用 ZMP 标准模仿人类示范,探索通过运动规划从标准坐姿站起来的方法。为了解决人形配置的高维性,Jeong & Lee [33] 利用双边对称性将控制自由度减少一半,并使用聚类技术进一步降低配置空间的复杂性,从而提高跌倒起身学习效率。然而,这种使用预定义配置图的状态机器学习,可能不足以泛化到不可预测的初始和中间状态,当机器人在具有挑战性的地形上操作时就会发生这种情况。

2)手工设计的起身轨迹:另一种解决方案是重现手动设计的运动轨迹,商业产品经常采用这种解决方案。例如,Unitree [70] 在 G1 的默认控制器中内置一个起身控制器。Booster Robotics [1] 为他们的机器人设计一个特定的恢复控制器,可以帮助机器人从跌倒状态中恢复。这种预定义轨迹起身控制器的主要缺点,是它们只能处理有限数量的跌倒状态并且缺乏泛化,正如下面实验比较所示。

3)为真实机器人学习起身策略:强化学习后,模拟-到-真实迁移也已成功应用于四足机器人 [35, 43, 51, 72] 跌倒恢复。例如,Lee [43] 探索 sim2real 强化学习,以实现从复杂配置中恢复真实世界的四足机器人跌倒。Ji [35] 训练一种恢复策略,使四足机器人能够在雪地和崎岖地形中持续运球。Wang [72] 在高度动态场景中开发一种四足机器人恢复策略。

4)学习人物动画的起身策略:人物动画中的一项平行研究工作也探索基于 RL 的运动模仿算法设计:DeepMimic [55]、AMP [56]、PHC [49] 和其他 [5、11、22、50、67、73]。这些算法也在模拟中展示成功的跌倒起身控制器。通过跟踪用户指定的起身曲线,Frezzato [17] 通过合成物理上合理的运动,使人形机器人能够起身。无需借助动作捕捉数据,也可以通过精心的课程设计为模拟人形机器人开发这种自然的起身控制器 [65]。一些方法探索基于采样的方法来解决接触丰富的角色运动,包括站起来 [28, 45, 57],而一些工作已经证明使用在线模型预测控制在人形机器人站起来方面取得成功 [66]。然而,值得注意的是,这些方法使用的类人角色与人形机器人相比具有更大的自由度(例如,SMPL 中的 69 个自由度 [47]),并使用简化的动力学。因此,学习的策略以高速和不可行的方式操作身体部位,导致无法直接迁移到现实世界中的行为。因此,为人形机器人开发可泛化的恢复控制器仍然是一个悬而未决的问题。

本文进行人形机器人跌倒后站起来的研究,并提出一个基于学习的框架,用于学习人形机器人在不同条件下的跌倒恢复策略:HUMANUP,它通过基于两阶段强化学习 (RL) 的训练来解决这些问题。如图所示:

请添加图片描述

其目标是学习一个起身策略π,使人形机器人能够从任意初始姿势起身。考虑从两类躺姿起身:a) 仰卧姿势(即面朝上躺着)和 b) 俯卧姿势(即面朝下躺着)。从这两组姿势起身可能需要不同的行为,这使得学习一种能够处理这两种情况的单一策略具有挑战性。为了解决这个问题,将起身任务从俯卧姿势分解为先翻身,然后从由此产生的仰卧姿势站起来。因此,目标是分别学习从俯卧姿势翻身和从仰卧姿势起身的策略。

为了解决这两个任务,HUMANUP,用于训练起身和翻身策略的通用学习,如图所示。在第一阶段,训练发现策略 f 来找出站起来或翻身的动作。f 的训练没有部署约束,只使用任务和对称奖励。在第二阶段,可部署策略 π 在强控制正则化下模仿从第一阶段获得的翻滚/起身行为。此可部署策略 π 作为最终策略从模拟迁移到现实世界。为了克服这些任务中接触丰富运动学习的困难,设计一个学习课程如下。

请添加图片描述

策略架构

HUMANUP 使用 RL 训练两个策略模型 f 和 π。这两个策略模型都将观察值 o_t = [z_t , s_t , s_t−10:t−1] 作为输入,输出动作 a_t,其中 s_t 是机器人的本体感受信息,s_t−10:t−1 是 10 步历史状态,z_t 是使用正则化在线自适应学习的编码环境外在潜信息 [18]。用本体感受信息 s_t,包括机器人的滚动和俯仰、角速度、DoF 速度和 DoF 位置。这种本体感受信息可以在现实世界中准确获得,这些信息足以让机器人推断整体姿势。不使用任何线速度和偏转(yaw)信息,因为在现实世界中很难可靠地估计它们 [29]。

两-阶段策略学习

策略模型作为 MLP 实现并通过 PPO 进行训练 [62]。优化目标是在 T 事件长度内最大化预期 γ 折扣的策略回报。

  1. 第一阶段:发现策略:此阶段可在不受部署约束的情况下有效发现起身/翻滚行为。用以下具有非常弱正则化的任务奖励来训练此发现策略 f。描述用于优化这两个策略的奖励如下。为简单起见,省略时间步长 t 和奖励权重项。

起身奖励:r_up = r_height + r_∆height + r_uprightness + r_stand_on_feet + r_∆ feet_contact_forces + r_symmetry,其中
r_height 鼓励机器人站立时的高度接近目标高度;
r_∆height 鼓励机器人不断增加其高度;
r_uprightness 鼓励机器人增加 z 轴上的投影重力,以便机器人直立;
r_stand on feet 鼓励机器人用双脚站立;
r_∆feet_contact_forces 鼓励机器人不断增加施加在脚上的接触力;
r_symmetry 通过鼓励(但不要求)机器人输出双侧对称动作来减少搜索空间。过去的工作 [33, 63] 采用硬对称,以限制机器人的自由度和泛化为代价提高 RL 样本效率。而软对称奖励继承这一好处,但减轻了限制。

翻滚奖励:r_roll = r_gravity,其中 r_gravity 鼓励机器人改变身体方向,使其投影重力接近仰卧时的目标投影重力。

2)第二阶段:可部署策略:此阶段训练将直接部署在现实世界中的策略 π。策略 π 经过训练以模仿第一阶段发现的状态轨迹,只是其 8 倍减速版,同时还尊重强正则化以确保 Sim2Real 可迁移性。用典型的控制正则化奖励。

跟踪奖励:跟踪奖励 r_tracking 鼓励人形机器人接近从发现的运动中得出的给定运动轨迹。 r_tracking = r_tracking_DoF + r_tracking_body,其中
r_tracking_DoF 鼓励机器人移动到与参考运动相同的 DoF 位置,并且
r_tracking_body 鼓励机器人将身体移动到与参考相同的位置。具体来说,r_tracking_body 变为 r_head_height 和 r_head_gravity,它们分别鼓励机器人跟踪机器人头部的高度和投影重力,以执行起身和翻滚任务。

第一阶段至第二阶段课程

两阶段策略学习的设计本质上构建了一个由难到易的课程 [7]。第一阶段的目标是在较容易的环境中发现运动(弱正则化、地形无变化、相同的起始姿势、更简单的碰撞几何)。一旦发现运动,第二阶段就会解决使学习的运动可部署和可泛化的任务​​。正如实验所示,将工作分为两个阶段对于成功学习至关重要。具体而言,从第一阶段到第二阶段,复杂性以以下方式增加:

1)碰撞网格:如上图所示,第一阶段使用简化的碰撞网格来更快地发现运动,而第二阶段使用完整网格来提高 Sim2Real 性能。

2)姿势随机化:第一阶段学习从标准姿势起身(和翻身),加速学习,而第二阶段从任意初始姿势开始,增强泛化。为了进一步加快第一阶段的速度,混合站立姿势。对于第二阶段,通过从标准躺姿中随机化初始自由度、将人形机器人从 0.5 米处放下并模拟 10 秒来解决自碰撞,生成 20K 个仰卧姿势 P_supine 和 20K 个俯卧姿势 P_prone 的数据集 P。用每组中的 10K 个姿势进行训练,其余的用于评估。

  1. 控制正则化和地形随机化:对于 Sim2Real 迁移,在第二阶段使用以下控制正则化项和环境随机化:
    弱 → 强控制正则化。第一阶段的弱控制正则化可以发现起身/翻滚动作,而第二阶段的强控制正则化(通过平滑度奖励和 DoF 速度惩罚等)鼓励更多可部署动作。
    • 快速 → 慢速动作速度。如果没有强控制正则化,第一阶段会发现快速但不安全的起身动作(<1 秒),这对于现实世界的部署是不可行的。为了解决这个问题,通过插值将其减慢到 8 秒,为第二阶段提供稳定的跟踪目标,这与其控制正则化更好地保持一致。
    • 固定→随机动态和域参数。第二阶段还通过地形随机化和噪声注入采用域随机化和动力学随机化。这种随机化已被证明在成功的 Sim2Real 中发挥着至关重要的作用 [68]。

平台配置

在所有真实世界和模拟实验中均使用 Unitree G1 平台 [70]。G1 是一款中型人形机器人,总共有 29 个可驱动自由度 (DoF)。具体来说,上身有 14 个自由度,下身有 12 个自由度,腰部有 3 个自由度。由于起身不涉及物体操纵,禁用手腕中的 3 个自由度,总共有 23 个自由度。与之前的机器人不同,G1 具有腰部偏转和滚动自由度,它们对于起身任务很有用。机器人有一个用于滚动和俯仰状态的 IMU 传感器,关节状态可以从电机编码器获得。使用位置控制,其中扭矩由以 50 Hz 运行的 PD 控制器得出。

模拟配置

用 Isaac Gym [52] 进行模拟训练和评估。用简化碰撞的 URDF 进行第一阶段训练,使用 Unitree [70] 的官方全身 URDF 进行第二阶段训练。为了准确模拟人形机器人与地面之间的大量接触,用 1000 Hz 的高模拟频率,而低级 PD 控制器频率为 50 Hz。

HUMANUP 有几个局限性:
1)它依赖于高性能物理平台(如 IsaacGym [52])来模拟接触丰富的任务,例如起身和翻身。然而,目前的机器人模拟器落后于动画和游戏模拟器,限制了接触动力学模拟的准确性和效率,Genesis [6] 和 Mujoco Playground [75] 等进步很有帮助。
2)HUMANUP 中的 RL 过程是一个未充分指定的问题 [3, 13],很难确保学习的动作与类人行为精确一致。例如,动作倾向于举起双手保持平衡。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值