HumanPlus——斯坦福ALOHA团队开源的人形机器人:先影子学习技术收集数据,后上模仿学习和RL

news2024/11/24 7:05:53

前言

今天只是一个平常的日子,不过看到了两篇文章

  • 一篇是《半年冒出近百家新公司,「具身智能」也有春天》
    我看完之后转发到朋友圈,并评论道:让机器人翻一万个后空翻,不如让机器人打好一个螺钉,毕竟在目前阶段 炫酷没有意义,所以我们近期全力为工厂去赋能,解决一个个工业场景
    期待我司与更多工厂合作,从前期的验证、评估开始
  • 另外一篇文章便是之前斯坦福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的全栈人形系统,用于从人类数据中学习复杂的自主技能。该系统的核心包括:

  1. 一个实时影子系统,允许人类操作员使用单个RGB摄像头和Humanoid Shadowing Transformer进行全身控制,这是一种在模拟中训练的大量人类运动数据的低级策略
  2. 人形模仿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的解决思路

在实践中,人形机器人从人类数据中学习仍然具有挑战性,人形机器人的复杂动态和高维状态及动作空间在感知和控制方面都带来了困难

  1. 传统方法,如将问题分解为感知、规划和跟踪,以及对手臂和腿部控制的单独模块化设计 [10, 23, 40],可能需要耗费大量时间进行设计且范围有限,使其难以扩展到人形机器人预期操作的各种任务和环境中
  2. 尽管人形机器人相比其他形式的机器人更接近人类,但在人形机器人和人类之间在形态和驱动方面仍然存在物理差异,包括自由度数量、连杆长度、高度、重量、视觉参数和机制,以及驱动强度和响应能力
    而且还缺乏现成的和集成的硬件平台
  3. 此外,缺乏一个可访问的数据管道来进行全身人形机器人的远程操作,这阻止了研究人员利用模仿学习作为工具来教授人形机器人任意技能。   多家公司开发的人形机器人已经展示了这种数据管道的潜力以及从收集的数据中进行模仿学习的潜力,但细节尚未公开,他们系统的自主演示仅限于几个任务

    \rightarrow  简言之,先前的工作使用动作捕捉系统、第一人称视角(FPV)、VR头戴设备和外骨骼来远程操作人形机器人 [17, 20, 38, 59] , 这些设备昂贵且操作地点受限
    \rightarrow  详言之,一般使用人体动作捕捉服[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运行

具体怎么训练呢?

  1. 过程中,可以使用最先进的人体和手部姿态估计算法 [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
    这个过程传统上是通过使用动作捕捉系统完成的,这些系统昂贵且在操作位置上受到限制
  2. 好在可以使用视线,让站在附近的人类操作员可以 远程操作人形机器人,以在现实世界中收集各种任务的全身数据(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

在部署了控制人形机器人目标姿态的低级策略后,接下来

  1. 可以使用单个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
  2. 再之后,通过影子技术(shadowing)收集的数据,我们执行监督行为克隆来训练基于视觉的技能策略
    技能策略以人形双目自我中心的RGB视觉作为输入「头部安装了两个自我中心的RGB摄像头,拥有两个6-DoF的手、两个1-DoF 的手腕和一个19-DoF的身体(两个4-DoF 的手臂、两个5-DoF 的腿和一个1-DoF 的腰),总共有33个自由度」,并预测所需的人形身体和手部姿势

    顺带把硬件相关的情况也详细说明下,如下图所示,该系统基 于 Unitree H1机器人构建
    \rightarrow  机器人头部安装了两个RGB 网络摄像头(Razer  Kiyo  Pro),  向下倾斜50度,瞳距为 160mm
    \rightarrow  每个手臂集成了一个 Inspire-Robots RH56DFX手,通过定制的手腕连接
    \rightarrow  每个手腕都有一个 Dynamixel 伺服器和两个推力轴承。手和手腕都通过串行通信控制
    \rightarrow  手指可以施加高达10N 的力,而手臂  可以举起高达7.5kg的物品
    \rightarrow  腿部电机在操作期 间可以产生高达360Nm的瞬时扭矩
  3. 那,具体怎么预测呢?我们基于人类提供的示范模仿学习的最新成功[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]在模拟中训练我们的类人影子变压器,通过最大化期望回报

\mathbb{E}\left[\sum_{t=0}^{T-1} \gamma^{t} r_{t}\right]

其中r_{t}是时间步长t的奖励,T是最大episode长度,\gamma是折扣因子。 奖励r是鼓励匹配的项的总和(关于RL和PPO相关的概念,如果不熟悉,请参见此文:强化学习极简入门:通俗理解MDP、DP MC TC和Q学习、策略梯度、PPO)

总之,需要在节省能量和避免脚滑的同时,达到目标姿势

  • 在下图左侧中列出了所有的奖励项
  • 且随机化了模拟环境和人形机器人的物理参数,详见下图右侧

在模拟中训练人形机器人影子变换器后,便可将其零样本部署到现实世界中的人形机器人上 进行实时影子操作

1.2.2 用于模仿学习的仅解码器Transformer(Humanoid   Imitation  Transformer)

通过本博客内之前的文章可知,模仿学习在给定广泛任务演示的情况下,已经在学习自主机器人技能方面取得了巨大成功,比如

  1. Rt-1: Robotics transformer for real-world control at scale
  2. Diffusion policy: Visuomotor policy learning via action diffusion
  3. Open X-Embodiment: Robotic learning datasets and RT-X models
  4. Mobile aloha: Learning bimanual mobile manipulation with low-cost whole-body teleoperation
  5. 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编码器进行编码

  1. 由于其仅解码器设计,  HIT通过基于输入的固定 位置嵌入预测50个目标姿势块来操作,并且它可以预测对应于图像特征的令牌在其各自输入位 置。  我们在这些预测的图像特征上加入了L2特    征损失,迫使Transformer在执行真实目标姿势 序列后预测未来状态的相应图像特征令牌
  2. 这种方法使HIT能够有效地将目标姿态预测与前向  动力学预测相结合。通过对图像特征进行前向    动力学预测,我们的方法通过规范图像特征空间 来增强性能,防止基于视觉的技能策略忽略图像 特征并过度拟合到本体感受
  3. 在部署期间,  HIT以25Hz的频率在板载运行,异步地将预测的目标位置发送到低级人形阴影变压器,同时丢弃预 测的未来图像特征标记

// 待改、待更

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1828161.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

element--el-table添加合计后固定列x轴滚动条无法滚动问题

效果图 改变固定列滚轮高度问题 解决文章 解决方案 使用到的参数 pointer-events 属性用来控制一个元素能否响应鼠标操作,常用的关键字有 auto 和 none pointer-events: none; 让一个元素忽略鼠标操作 pointer-events: auto; 还原浏览器设定的默认行为 代码演示 添…

Mysql学习笔记-进阶篇

一、存储引擎 1、MYSQL体系结构 连接层、服务层、引擎层、存储层; 2、存储引擎简介 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是库的,所以存储引擎也可被称为表类型。 1)在创…

天阳科技集团北京卡洛其项目管理专家李先林受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 天阳科技集团北京卡洛其项目管理专家李先林先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾,演讲议题为“应用软件项目管理标准化实践探讨”。大会将于6月29-30日在北京举办,敬请关注! 议题简要&#xff1…

.net 调用海康SDK的常用操作封装

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅…

(南京观海微电子)——TFT激光修复技术

激光在显示面板修复方面的应用 液晶面板包括TFT玻璃、CF玻璃、面板以及后段模块组装等一系列工艺制作过程。每段过程中都会产生一定的缺陷,例如亮点、暗点、闪点、碎亮点等。这些缺陷会导致部分区域显示不良,但是我们可以通过暗点化、亮点化、ITO隔离、…

【Linux】pycharmgit相关操作

目录 1. git安装配置2. 相关内容3. pycharm连接远程仓库3.1 配置3.2 clone远程仓库3.3 本地仓库上传远程 4. 分支管理4.1 更新代码4.2 新建分支4.3 分支合并4.4 代码比对 5. 版本管理6. 命令行操作6.1 配置git6.2 基础操作6.3 分支操作 1. git安装配置 下载链接:官…

多模态大模型:基础架构

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调或者LLM背后的基础模型重新阅读。而最新科技(Mamba,xLSTM,KAN)则…

如何进行文件映射

创建一个文件WebMvcConfig package com.itheima.config;import lombok.extern.slf4j.Slf4j; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.…

Retrofit 注解参数详解

添加依赖 implementation com.squareup.retrofit2:retrofit:2.9.0 implementation com.squareup.retrofit2:converter-gson:2.9.0 初始化Retrofit val retrofit Retrofit.Builder().baseUrl("http://api.github.com/").addConverterFactory(GsonConverterFactory…

深度遍历-求矩阵最长递增路径

一、问题描述 二、解题思路 和深度遍历-求岛屿数量的思路一致,不过这里不需要设置判断是否产生访问过的boolean二维数组了,因为在这个题目里面是求递增序列,下一个元素只有比当前元素大才会往前走,即使在回头检查时,发…

大模型网信办备案全网最详细流程【附附件】

本文要点:大模型备案最详细说明,大模型备案条件有哪些,《算法安全自评估报告》模板,大模型算法备案,大模型上线备案,生成式人工智能(大语言模型)安全评估要点,网信办大模型备案。 大模型备案安…

Spring学习笔记(九)简单的SSM框架整合

实验目的 掌握SSM框架整合。 实验环境 硬件:PC机 操作系统:Windows 开发工具:idea 实验内容 整合SSM框架。 实验步骤 搭建SSM环境:构建web项目,导入需要的jar包,通过单元测试测试各层框架搭建的正确…

SpringBootWeb 篇-入门了解 Spring Cache 、Spring Task 与 WebSocket 框架

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 Spring Cache 概述 1.1 Spring Cache 具体使用 1.1.1 引入依赖 1.1.2 Spring Cache 相关注解的介绍 2.0 Spring Task 概述 2.1 cron 表达式 2.2 Spring Task 使用…

平安:PostgreSQL开发运维案例

PostgreSQL作为功能强大且开源的关系型数据库管理系统,广泛应用于各种开发和运维场景中。本文将探讨PostgreSQL在开发和运维中的最佳实践,涵盖环境搭建、性能优化、安全管理和备份恢复等关键环节,旨在帮助读者充分发挥PostgreSQL的优势&#…

MFC工控项目实例之四在调试目录下创建指定文件夹

承接专栏《MFC工控项目实例之三theApp变量传递对话框参数》 在调试目录Debug下创建DATA、LIB、TEMP三个文件夹 1、SEAL_PRESSURE.h中添加代码 class CSeatApp : public CWinApp { ... public:CString m_Path;CString m_DataPath,m_TempPath,m_LibPath; ... };2、SEAL_PRESSURE…

机器人、人工智能相关领域 news/events (专栏目录)

Some Insights 一些机器人、人工智能或相关领域的news、events等 1. 智能制造 - 你需要了解的 10 个基本要素 2. 现实世界中的人工智能:工业制造的 4 个成功案例研究 3. 企业使用人工智能情况调查 4. 未来工厂中的人工智能:人工智能加速制造成果规模…

[C++ STL] vector 详解

标题:[C STL] vector 详解 水墨不写bug 目录 一、背景 二、vector简介 三、vector的接口介绍 (1)默认成员函数接口 i,构造函数(constructor) ii,析构函数(destructor&#xff0…

Matlab|基于手肘法的kmeans聚类数的精确识别【K-means聚类】

主要内容 在电力系统调度研究过程中,由于全年涉及的风、光和负荷曲线较多,为了分析出典型场景,很多时候就用到聚类算法,而K-means聚类就是常用到聚类算法,但是对于K-means聚类算法,需要自行指定分类数&…

【深度学习】TCN,An Empirical Evaluation of Generic Convolutional【二】

文章目录 膨胀卷积什么是膨胀卷积膨胀卷积公式PyTorch代码 从零开始手动实现一个1D膨胀卷积,不使用PyTorch的nn.Conv1d1. 基本概念2. 手动实现1D膨胀卷积 TCN结构如何使用TCN源码说明1. Chomp1d 类2. TemporalBlock 类3. TemporalConvNet 类 使用方法 膨胀卷积 什么…