前言
今天只是一个平常的日子,不过看到了两篇文章
- 一篇是《半年冒出近百家新公司,「具身智能」也有春天》
我看完之后转发到朋友圈,并评论道:让机器人翻一万个后空翻,不如让机器人打好一个螺钉,毕竟在目前阶段 炫酷没有意义,所以我们近期全力为工厂去赋能,解决一个个工业场景
期待我司与更多工厂合作,从前期的验证、评估开始 - 另外一篇文章便是之前斯坦福Moblie aloha团队竟然开源推出了他们的人形机器人,虽然我司下半年暂不涉足人形机器人(更多还是解决工厂实际业务场景 怎么把活干好、干漂亮则怎么来,是否人形不重要)
但这种前沿技术我这边还是要及时追踪的,于是便有了本文
第一部分 HumanPlus: 从人类中学习和模仿的人形机器人
6月中旬,之前斯坦福Moblie aloha的团队(Zipeng Fu、Tony Z. Zhao、Chelsea Finn)中一作Zipeng Fu和三作Chelsea Finn,以及三位新的作者Qingqing Zhao、Qi Wu、Gordon Wetzstein,共同推出了HumanPlus 机器人,项目地址为:https://humanoid-ai.githubio
本文的主要贡献是一个名为HumanPlus的全栈人形系统,用于从人类数据中学习复杂的自主技能。该系统的核心包括:
- 一个实时影子系统,允许人类操作员使用单个RGB摄像头和Humanoid Shadowing Transformer进行全身控制,这是一种在模拟中训练的大量人类运动数据的低级策略
- 人形模仿transformer,本质就是模仿学习算法,能够通过40次演示高效学习双目感知和高自由度控制
且影子系统和模仿学习算法之间的协同作用允许全身操作的学习,以及在现实世界中直接进行运动技能,例如穿鞋站立和行走(仅需40次演示,成功率为60-100%)
最终使得该人形机器人能够从人类数据中学习动作和自主技能,具体而言
- 一方面,该机器人能够从人类操作员那里模仿快速、多样的动作,包括拳击和打乒乓球
具体而言,首先 使用现有的40小时人类运动数据集,通过强化学习在模拟中训练一个低级策略。这个策略转移到现实世界,使人形机器人能够跟随人类身体和手部运动,仅使用RGB相机,即影子
通过影子,人类操作员可以远程操作人形机器人 ,在现实世界中收集全身数据以学习不同的任务(Through shadowing, human operators can teleoperate humanoids to collect whole-body data for learning different tasks in the real world) - 二方面,该机器人可以学习自主技能,如穿鞋、叠衣服和跳高
具体而言,使用收集的数据,然后执行监督行为克隆,并使用自我中心视觉训练技能策略,使人形机器人(33自由度、180cm高)通过模仿人类技能自主完成不同的任务
机器人自主完成了穿鞋 站立行走、从仓库货架卸载物品、折叠运动衫、重新排列物品、打字以及向另一台机器人打招呼等任务
1.1 HumanPlus机器人的影子重定向技术
1.1.1 现存的一些挑战与HumanPlus的解决思路
在实践中,人形机器人从人类数据中学习仍然具有挑战性,人形机器人的复杂动态和高维状态及动作空间在感知和控制方面都带来了困难
- 传统方法,如将问题分解为感知、规划和跟踪,以及对手臂和腿部控制的单独模块化设计 [10, 23, 40],可能需要耗费大量时间进行设计且范围有限,使其难以扩展到人形机器人预期操作的各种任务和环境中
- 尽管人形机器人相比其他形式的机器人更接近人类,但在人形机器人和人类之间在形态和驱动方面仍然存在物理差异,包括自由度数量、连杆长度、高度、重量、视觉参数和机制,以及驱动强度和响应能力
而且还缺乏现成的和集成的硬件平台 - 此外,缺乏一个可访问的数据管道来进行全身人形机器人的远程操作,这阻止了研究人员利用模仿学习作为工具来教授人形机器人任意技能。 多家公司开发的人形机器人已经展示了这种数据管道的潜力以及从收集的数据中进行模仿学习的潜力,但细节尚未公开,他们系统的自主演示仅限于几个任务
简言之,先前的工作使用动作捕捉系统、第一人称视角(FPV)、VR头戴设备和外骨骼来远程操作人形机器人 [17, 20, 38, 59] , 这些设备昂贵且操作地点受限
详言之,一般使用人体动作捕捉服[14,17,20,21]、外骨骼[35,35,63,70 ,75]、触觉反馈设备[6,61,71]和用于视觉反馈 的VR设备[7,38,59,90]
以及用于末端执行器控制的VR设备[2,46,62,86]来开发人形机器人和灵巧的远程操作
例如, Purushottam 等人使用 附加在力板上的外骨骼套装开发了一个轮式人形机器人的全身遥操作系统,用于记录人类运动
1.1.2 low-level policy:Humanoid Shadowing Transformer
HumanPlus团队提出了一个完整的系统,使人形机器人能够从人类数据中学习动作和自主技能
为了解决人形机器人控制的复杂性,我们借鉴了最近在腿部机器人领域使用大规模强化学习进行仿真和sim-to-real transfer的成功经验 [ 41, 51],以训练用于全身控制的low-level策略(To tackle the control complexity of humanoids, we follow the recent success in legged robotics using large-scale reinforcement learning in simulation and sim-to-real transfer [ 41, 51 ] to train a low-level policy for whole-body control)
然,基于学习的低级策略由于耗时的奖励工程 [即learning-based low-level policies are designed to be task-specific due to time-consuming reward engineering,详见Sim-to-real learning for humanoid box locomanipulation、Humanoid locomotion as next token prediction],被设计为特定任务,使得人形机器人硬件一次只能展示一种技能,例如行走,但这种限制限制了人形机器人平台能够执行的任务的多样性
好在,有一个40小时的基于光学标记的人体运动公共数据集AMASS [49],涵盖了广泛的技能
通过首先将人类姿势重新定向为人形机器人姿势,然后训练一个与任务无关的low-level策略(称为Humanoid Shadowing Transformer,其基于重新定向的人形机器人姿势进行条件训练)
We leverage this dataset by first retargeting human poses to humanoid poses and then training a task-agnostic low-level policy called Humanoid Shadowing Transformer condition-ing on the retargeted humanoid poses
如HumanPlus论文所说,We use a public optical marker-based human motion dataset, AMASS [ 49 ]to train our low-level Humanoid Shadowing Transformer
AMASS 数据集汇 集了多个人体运动数据集的数据,包含40小时 的多种任务的人体运动数据,并由超过11,000个 独特的运动序列组成。 为了确保运动数据的质量,应用了一种基于[48]中概述的方法的过滤过程,人体和手部运动使用SMPL-X [57]模型 进行参数化,该模型包括22个身体和30个手部3 自由度球形关节、3维全局平移变换和3维全局 旋转变换
- 重定向
该人形机器人身体具有SMPL-X身 体自由度的一个子集,仅包含19个旋转关节
为了重新定位身体姿势,我们将对应的欧拉角 从SMPL-X复制到我们的人形模型,即髋部、膝 盖、脚踝、躯干、肩膀和肘部。每个人形的髋 关节和肩关节由3个正交的旋转关节组成,因此 可以看作一个球形关节,我们的人形手有6个自 由度- 自由度
每个食指、中指、无名指和小指各1个自由度,拇指2个自由度。 为了重新定位手部姿势,我们使用中间关节的旋转来映射每个手指的相应欧拉角。 为了计算1自由度的手腕角度,我们使用前臂和手的全局方向之间的相对旋转- 实时身体姿态估计和重新定位
为了在现实世界中估计人类运动以进行影子跟踪,我们使用世界定位的精确运动人类(WHAM)[81],通过单个RGB摄像头实时联合估计人体姿势和全局变换WHAM使用SMPL-X进行人体姿态参数化
如图3所示,我们使用上述方法进行实时人类到人形机器人的身体重新定位。 身体姿态估计和重新定位在NVIDIA RTX4090 GPU上以25帧每秒的速度运行。- 实时手势估计和重定向
我们使用HaMeR [58],一种基于transformer的手部使用单个RGB相机的姿态估计器,用于实时手势估计。 HaMeR使用MANO [72]手模型预测手势、相机参数和形状参数。 我们使用上述方法进行实时人类到人形机器人的手部重定向。 我们的手势估计和重定向在NVIDIA RTX4090 GPU上以10 fps运行
具体怎么训练呢?
- 过程中,可以使用最先进的人体和手部姿态估计算法 [58, 81],且可以估计实时人类动作并将其重新定向到人形机器人动作,这作为输入传递给low-level策略
Using state-of-the-art human body and hand pose estimation algorithms[58 , 81], we can estimate real-time human motion and retarget it to humanoid motion,which is passed as input to the low-level policy
这个过程传统上是通过使用动作捕捉系统完成的,这些系统昂贵且在操作位置上受到限制 - 好在可以使用视线,让站在附近的人类操作员可以 远程操作人形机器人,以在现实世界中收集各种任务的全身数据(Using line of sight, human operators standing nearby can teleoperate humanoids to collect whole-body data for various tasks in the real world),如拳击、弹钢琴、打乒乓球和打开柜子存放重物
在被远程操作时,人形机器人通过双目RGB摄像头收集自我中心视觉数据
通过利用这个数据集,可以使得姿态条件低级策略(pose-conditioned low-level policy)可以零样本转移到现实世界
1.1.3 动作的预测:使用UMI用过的Diffusion policy
在部署了控制人形机器人目标姿态的低级策略后,接下来
- 可以使用单个RGB摄像头实时影像人类动作到定制的33自由度180cm的人形机器人上
After deploying the low-level policy that controls the humanoid given target poses, we can shadow human motion to our customized 33-DoF 180cm humanoid in real time using a single RGB camera - 再之后,通过影子技术(shadowing)收集的数据,我们执行监督行为克隆来训练基于视觉的技能策略
技能策略以人形双目自我中心的RGB视觉作为输入「头部安装了两个自我中心的RGB摄像头,拥有两个6-DoF的手、两个1-DoF 的手腕和一个19-DoF的身体(两个4-DoF 的手臂、两个5-DoF 的腿和一个1-DoF 的腰),总共有33个自由度」,并预测所需的人形身体和手部姿势
顺带把硬件相关的情况也详细说明下,如下图所示,该系统基 于 Unitree H1机器人构建
机器人头部安装了两个RGB 网络摄像头(Razer Kiyo Pro), 向下倾斜50度,瞳距为 160mm
每个手臂集成了一个 Inspire-Robots RH56DFX手,通过定制的手腕连接
每个手腕都有一个 Dynamixel 伺服器和两个推力轴承。手和手腕都通过串行通信控制
手指可以施加高达10N 的力,而手臂 可以举起高达7.5kg的物品
腿部电机在操作期 间可以产生高达360Nm的瞬时扭矩 - 那,具体怎么预测呢?我们基于人类提供的示范模仿学习的最新成功[Diffusion policy: Visuomotor policy learning via action diffusion,104],引入了一种基于Transformer的架构,融合了动作预测和前向动力学预测
通过对图像特征 进行前向动力学预测,他们的方法通过在图像特征空间上进行正则化,防止基于视觉的技能策略 忽略图像特征并过拟合到本体感知,从而显示出性能的提升
从而使得最终通过多达40次演示,该人形机器人可以自主完成诸如穿鞋站立和行走、从仓库货架上卸载物品、折叠运动衫、重新排列物品、打字以及与另一台机器人打招呼等任务,成功率为60-100%
1.2 模型架构的更多细节:low-level控制策略与动作预测策略
1.2.1 low-level控制策略背后的模型架构:Humanoid Shadowing Transformer
将low-level policy所需要用的Humanoid Shadowing Transformer,弄为仅解码器的transformer即可(We formulate our low-level policy, Humanoid Shadowing Transformer, as a decoder-only transformer),如下图左侧所示
在每个时间步,策略(即low-level控制策略)的输入是人形机器人的本体感知和人形机器人的目标姿态(the input to the policy is humanoid proprioception and a humanoid target pose)
- 本体感知包括根状态(行、俯仰和基角速度)、关节位置、关节速度和最后的动作
The humanoid propri-oception contains root state (row, pitch, and base angular velocities), joint positions, joint velocities and last action.
换言之,本体感知观测仅使用包括IMU和关节编码器在内的车载传感器进行测量,按照之前所示的下图
使用单个RGB摄像头实时估计人体和手部姿势,并将人体姿势重新定位到人形机器人目标姿势。使得最终人类操作员站在人形机 器人附近,可以以实时影子操作他们的全身运动,并使用视线观察环境和人形机器人的行为,确保一个响应迅速的遥操作系统,比如当人形机器人坐下时,我们直接将目标姿态发送到PD控制器
因为我们不需要策略来补偿重力,并且模拟具有丰富接触的坐姿是具有挑战性的。在被远程操作时,人形机器人通过双目RGB摄像头收集自我中心视觉数据。通过影子学习,我们为各种现实世界任务提供了一个高效的数据收集管道,绕过了在模拟中实现逼真的RGB渲染、准确的软物体模拟和多样化任务规范的挑战
- 至于目标姿态,则包括目标前进和横向速度、目标滚转和俯仰、目标偏航速度和目标关节角度,并从上文提到的处理过的AMASS数据集中采样的人类姿态重新定位
The humanoid target pose consists of target forward and lateral velocities, target roll and pitch, target yaw velocity and target joint an-gles, and is retargeted from a human pose sampled from the processed AMASS dataset mentioned in Section 4.
策略的输出是19维的 关节位置设定点,用于人形机器人身体关节,随后使用一个1000Hz的PD控制器
目标手关节角度直接 传递给PD 控制器
且低级策略以50Hz运行,具有8的上下文长度,因此可以根据观察历史 适应不同的环境[67]
The output of the policy is 19-dimensional joint position setpoints for humanoid body joints,which are subsequently converted to torques using a 1000Hz PD controller. The target hand joint an-
gles are directly passed to the PD controller. Our low-level policy operates at 50Hz and has a context length of 8, so it can adapt to different environment given the observation history [67]
过程中,我们使用PPO [74]在模拟中训练我们的类人影子变压器,通过最大化期望回报
其中是时间步长的奖励,是最大episode长度,是折扣因子。 奖励是鼓励匹配的项的总和(关于RL和PPO相关的概念,如果不熟悉,请参见此文:强化学习极简入门:通俗理解MDP、DP MC TC和Q学习、策略梯度、PPO)
总之,需要在节省能量和避免脚滑的同时,达到目标姿势
- 在下图左侧中列出了所有的奖励项
- 且随机化了模拟环境和人形机器人的物理参数,详见下图右侧
在模拟中训练人形机器人影子变换器后,便可将其零样本部署到现实世界中的人形机器人上 进行实时影子操作
1.2.2 用于模仿学习的仅解码器Transformer(Humanoid Imitation Transformer)
通过本博客内之前的文章可知,模仿学习在给定广泛任务演示的情况下,已经在学习自主机器人技能方面取得了巨大成功,比如
- Rt-1: Robotics transformer for real-world control at scale
- Diffusion policy: Visuomotor policy learning via action diffusion
- Open X-Embodiment: Robotic learning datasets and RT-X models
- Mobile aloha: Learning bimanual mobile manipulation with low-cost whole-body teleoperation
- Learning fine-grained bimanual manipulation with low-cost hardware by Tony Z Zhao, Vikash Kumar, Sergey Levine,and Chelsea Finn]
而通过影子学习收集的现实世界数据,HumanPlus将相同(即模仿学习)的方法应用于人形机器人以训练技能策略, HumanPlus进行了几项修改,以便在有限的车载计算资源下实现更快的推理,并在双目感知和高自由度控制的情况下实现高效的模仿学习,当然,修改了动作分块算法(Action Chunking Transformer)
具体修改了什么呢?为更形象的说明,再次贴下这个模型架构图,下图左侧是用于低级控制的仅解码器Transformer(Humanoid Shadowing Transformer),下图右侧是一个用于模仿学习的仅解码器Transformer(Humanoid Imitation Transformer)
对于上图右侧的仅解码器的人形模仿Transformer(HIT),其用于技能策略,且其处理来自两个自我中心RGB摄像头的当前图像特征、本体感受和固定位置嵌入作为输入。这些图像特征使用预训练的ResNet编码器进行编码
- 由于其仅解码器设计, HIT通过基于输入的固定 位置嵌入预测50个目标姿势块来操作,并且它可以预测对应于图像特征的令牌在其各自输入位 置。 我们在这些预测的图像特征上加入了L2特 征损失,迫使Transformer在执行真实目标姿势 序列后预测未来状态的相应图像特征令牌
- 这种方法使HIT能够有效地将目标姿态预测与前向 动力学预测相结合。通过对图像特征进行前向 动力学预测,我们的方法通过规范图像特征空间 来增强性能,防止基于视觉的技能策略忽略图像 特征并过度拟合到本体感受
- 在部署期间, HIT以25Hz的频率在板载运行,异步地将预测的目标位置发送到低级人形阴影变压器,同时丢弃预 测的未来图像特征标记
// 待改、待更