Token导航 LogoToken导航

AI 资讯 · 科技行者

人形机器人三阶段实验学会接住飞来箱子

更新 2026-11-10科技行者正文 6931字阅读约 22分钟

有一个场景你肯定经历过。朋友从卡车上往下扔箱子,你站在下面,眼睛盯着飞来的纸箱,身体不自觉地往前迎,手臂张开,膝盖微屈,箱子落到胸前的瞬间顺势往怀里一收,稳稳接住。

这个动作看起来毫不费力,但如果你仔细想想,它其实在零点几秒内完成了好几件事:你的眼睛要判断箱子飞行的轨迹,大脑要预判它会落在哪里,身体要提前移动到位,手臂和躯干要配合形成一个"兜",还要在接触的瞬间卸力,不然箱子的冲量会把你顶得后退甚至摔倒。

现在把这件事交给一个机器人来做,会发生什么。

华盛顿大学、南加州大学等机构的研究团队做了一个实验,让一台Unitree G1人形机器人去接人扔过来的真实纸箱,全程只依赖机器人身上的摄像头,没有动作捕捉设备,没有反光标记,箱子就是一个普通纸箱。结果是,在2.5米距离下机器人接住了65%的箱子,5米距离下是40%,作为对比,三个真人在同样距离下的成功率是85%和68.3%。机器人达到了人类表现的76%和59%。

这个数字乍一看不算完美,但你要知道,此前的人形机器人想做类似的动态交互,几乎都要靠外部动作捕捉系统或者给物体贴反光标记来"作弊"。真正做到完全依赖机器人自己眼睛去看、去判断、去接住一个没有任何标记的普通物体,这件事此前几乎没人在真实机器人上做成过。

**这篇论文的核心贡献,就是提出了一套叫Reflex的三阶段训练框架,把"接箱子"这个看似单一的动作,拆解成三个可以分别训练的能力。**

接箱子到底难在哪

你可能会觉得,接个箱子有什么难的,不就是伸手去接吗。但只要把这个任务拆开看,就会发现它同时卡住了三个完全不同的技术难关。

第一个难关是全身协调。接一个篮球,你用两只手就够了。但接一个纸箱完全不同,箱子有重量,有体积,冲过来的时候冲量不小,机器人必须用前臂和躯干共同形成支撑面,把箱子"抱"在胸口,还要在吸收冲击的同时保持平衡不摔倒。这不是手部动作,是全身动作。

第二个难关是时间紧迫带来的预判压力。论文里提到一个关键数字:在真实机器人实验中,箱子从扔出到到达机器人身边大约只有1秒,而摄像头采集图像到机器人做出控制指令这中间的延迟,中位数就有69毫秒。

延迟*:指信号从产生到被处理完成所经过的时间,这里特指摄像头拍到画面到机器人实际做出动作之间的时间差。

这意味着机器人根本来不及"看到哪里打到哪里",它必须在箱子还没完全飞到眼前时就提前预判轨迹,把身体摆好位置,等箱子到达的时候已经准备妥当。

第三个难关是视觉本身的复杂性。摄像头是装在机器人身上的,机器人一动,摄像头也跟着动,这样拍到的画面里,箱子的移动和机器人自己身体的移动是叠加在一起的,很难直接分离出"箱子到底在往哪飞"。更麻烦的是,箱子越飞近,机器人自己的手臂越容易挡住摄像头的视线,导致关键时刻反而看不清目标了。

**这三个难关凑在一起,此前几乎没有系统能同时解决。**机械臂可以接东西,但大多是固定底座或轮式底座,不需要考虑全身平衡;一些人形机器人能做踢球、打乒乓球之类的动态动作,但往往依赖动作捕捉设备或者带反光标记的特制球。真正做到全身控制、快速反应、纯视觉感知三者合一,这篇论文算是把这个空白填上了一块。

把一个大问题拆成三块来解

面对这么复杂的任务,研究团队没有选择"一步到位"训练一个端到端的网络,而是把整个流程拆成三个阶段,层层递进。

**为什么不直接端到端训练?答案藏在计算成本和学习难度两方面。**

如果直接用强化学习从像素级的图像输入去训练一个控制策略,会遇到两个麻烦。首先,每次让机器人尝试一次动作,都需要实时渲染RGB-D图像,这个渲染过程本身就很慢,会把整个训练速度拖垮。论文里给了具体数字:不需要渲染的状态策略训练,每秒能跑28000个环境步,一旦加上图像渲染,直接掉到每秒1500步,差了将近20倍。

RGB-D*:一种同时包含颜色信息(RGB)和深度信息(Depth)的图像数据,相当于普通照片加上每个像素到摄像头的距离信息。

其次,"接住箱子"这个最终结果只有在动作全部完成之后才能知道成功还是失败,这种延迟的、稀疏的反馈信号,对于同时学习"怎么看懂图像"和"怎么控制29个关节"这两件事来说实在太模糊了,机器人很难从一次失败里分辨出究竟是没看清箱子,还是身体动作没协调好。

这就好比你要同时教一个孩子两件事:怎么通过望远镜观察远处的鸟,以及怎么用网子去捞鱼。如果你把这两件事混在一起教,孩子每次失败了都不知道问题出在哪里,是望远镜没对准,还是网子挥得不对。拆开教的话,先练好用网子捞鱼这个动作本身,等动作熟练了,再单独教他怎么通过望远镜找目标,最后把两者拼在一起,他才能真正学会。如果偏要混在一起从头练,大概率是两头都学不扎实,训练成本还高得吓人。

于是研究团队把整个流程拆成了三个阶段,每个阶段只专注解决一个问题。

第一阶段:先学会用身体接箱子

第一阶段完全不涉及视觉,机器人直接拿到的是"上帝视角"的精确信息,包括箱子相对自己的位置、速度等等,这些信息在模拟器里是完全准确、没有任何噪声和延迟的。

**这一步的目标很纯粹:先让机器人学会怎么用身体去接住一个已知轨迹的箱子。**

训练用的是强化学习里经典的PPO算法。

PPO*:全称近端策略优化(Proximal Policy Optimization),一种常用的强化学习训练方法,通过让机器人反复尝试动作并根据结果好坏调整策略,逐步学会更优的行为。

同时,团队还引入了两种帮助机器人学会"像人一样动"的技巧。一个是让机器人模仿真人接东西时的参考动作轨迹,另一个叫AMP。

AMP*:对抗运动先验(Adversarial Motion Priors),通过训练一个"裁判"网络来判断机器人的动作是否像真人动作,倒逼机器人的动作风格更自然、更协调,而不是生硬地完成任务。

这两个技巧为什么重要,论文做了一个很直接的消融实验。如果把这两个动作先验都去掉,训练直接崩溃,机器人甚至因为触发"脚部过高"的异常终止条件,一次都没能真正走到接箱子那一步。如果单独去掉其中一个,成功率会掉4到5个百分点,不算特别致命,但如果两个都去掉,就是灾难性的。

这告诉我们一个有意思的道理:让机器人学会"像人一样协调地动",不只是为了好看,它其实是整个任务能不能完成的地基。如果没有这层约束,机器人很容易学出一些在模拟器物理规则下"凑巧能完成任务"但完全不自然、不稳定的怪异姿势,这种姿势在真实世界里往往站不住。

第二阶段:教机器人理解箱子的运动规律

第一阶段用的是完全理想化的箱子信息,但真实世界里,机器人的传感器看到的信息是有延迟的、不完整的,有时候箱子被遮挡了根本看不到。第二阶段要解决的问题是:怎么把这种有噪声、不完整的观测,压缩成一个机器人真正需要的、紧凑的"箱子动态表示"。

这里引入了一个核心概念,叫隐变量。

隐变量*:这里指一个8维的数值向量,它不是直接的物理量(比如位置、速度),而是经过神经网络压缩提炼出来的、专门方便控制器使用的内部表示。

你可以把它想象成一个经验丰富的接球手脑子里的"直觉信号"。他不会在脑子里精确计算球的坐标和速度公式,但他会形成一种"这球往这边飘,大概这个时候到"的综合判断,这个判断综合了他看到的、以及根据经验推断出来的信息。隐变量就是机器人版本的这种"直觉"。

这一阶段还有一个关键的训练技巧,叫动作匹配初始化。具体做法是,先让第一阶段训练好的"老师"策略给出标准动作,然后用这些标准动作去监督新网络的训练,让新网络一开始就学会模仿老师的行为,而不是从随机的状态瞎摸索。

论文的对比实验显示,这种初始化方式比另一种"直接把位置速度权重映射过去"的方法,在最终接箱子的成功率上平均高出5.2个百分点。这个差距看起来不大,但考虑到最终的真实机器人测试里,成功率在40%到65%之间浮动,5个百分点的差距已经相当可观了,相当于每接20个箱子,就能多接住1个。

这一阶段还用到了一个叫DAgger的技巧。

DAgger*:数据集聚合(Dataset Aggregation),一种让学生网络不仅学习老师在原始数据上的行为,还要学习老师在学生自己实际走过的轨迹上会怎么做的训练方法,目的是减少学生在真实部署时遇到"没见过的状态"而不知所措的情况。

为什么这个很重要?想象你在学开车,教练只在固定路线上给你示范,但你真正上路以后遇到的情况千变万化,教练没教过的路口你可能就慌了。DAgger相当于让教练根据你自己实际开车走过的路,再给你补课,这样你遇到陌生状况的概率就小多了。如果不做这一步,机器人在视觉控制下走到的那些"老师没见过"的状态,很容易变成接箱子失败的高发区。

第三阶段:让机器人真正学会用眼睛看

前两个阶段都没有用到真实的图像,直到第三阶段,才真正把摄像头拍到的RGB-D画面接进来。

这一阶段的任务很明确:训练一个视觉编码器,让它能从一段25帧的图像历史和机器人自身的运动信息中,还原出第二阶段里那个8维的隐变量,而且整个过程中,前两个阶段训练好的控制器是被冻住不动的。

视觉编码器*:一个专门处理图像序列、提取关键特征的神经网络模块,这里具体结构是先用卷积神经网络(CNN)定位箱子在图像中的位置,再用GRU处理这段位置信息的时间序列,推断箱子的运动状态。

GRU*:门控循环单元(Gated Recurrent Unit),一种专门用来处理时间序列数据的神经网络结构,能记住过去几帧发生的事情,从而推断出当前的运动趋势。

为什么一定要用一整段历史图像,而不是单看最新的一帧?这里有个消融实验的结果特别能说明问题。如果把输入砍成单帧,也就是机器人只能看到眼前这一瞬间的画面,完全看不到之前的运动轨迹,那么在箱子正对着飞来的情况下,成功率直接从85.2%掉到49.6%,少了35.6个百分点;如果箱子是偏一点飞过来的,降幅更惨,少了39.8个百分点。

这个落差相当惊人。换成生活化的说法就是,如果你接球的时候只能看一眼"球现在在哪",完全不知道它刚才是怎么飞过来的,你连它是在加速还是减速、往哪个方向偏都判断不出来,接球基本就是在瞎猜。单帧图像给出的只是一个静态的快照,而连续的历史帧才能告诉机器人箱子的运动趋势,这正是预判轨迹的关键信息来源。

另一个很关键的输入是摄像头自身的运动信息,也就是论文里说的"camera ego-motion"。

ego-motion*:指摄像头(或携带摄像头的机器人身体)自身在空间中的运动状态,包括它移动的方向和速度。

机器人在准备接箱子的过程中,身体本身也在移动,摄像头拍到的画面里,箱子的运动和摄像头自己的晃动是叠加在一起的。如果不告诉机器人"我自己刚才动了多少",它就很难把箱子真实的运动轨迹从这团混合的画面变化里剥离出来。实验显示,去掉这部分信息后,成功率在箱子正对飞来时掉了10.4个百分点,偏移飞来时掉了22.6个百分点,偏移情况下的损失明显更大,这说明摄像头自身的晃动,在复杂轨迹判断里干扰更严重。

视觉训练阶段还有一个值得一提的细节,是关于颜色泛化的问题。模拟训练时如果不对箱子颜色做任何处理,蓝色和黑色的箱子接住的成功率只有60.2%和61.2%,明显比其他颜色低很多。加入颜色随机增强训练之后,这两个颜色的成功率一下子提升到88.0%和88.8%,几乎和其他颜色拉平了。

这背后的原因不难理解,深色物体在图像里的边缘和纹理信息相对模糊,如果训练数据里颜色种类不够丰富,网络很容易"记住"几种常见颜色的识别套路,碰到没见过的深色就露馅。给训练数据加入颜色扰动,相当于强迫网络去学习"箱子的形状轮廓"这种更本质的特征,而不是依赖颜色这种浅层线索。

数据说话:仿真和真实世界的表现

在仿真环境里,完整的Reflex系统,也就是依靠纯视觉输入的版本,接箱子成功率达到85.7%,而用理想化的、带有特权信息的箱子观测数据,成功率是87.9%。两者差距只有2.2个百分点,这说明视觉感知这条链路几乎没有拖累整体表现太多。

真实机器人测试的数据同样值得细看。在2.5米、5米、7米三个距离下,机器人的成功率分别是65%、40%、15%,对比三位真人在同样距离下的成功率85%、68.3%、28.3%,机器人大致达到了人类水平的76%、59%、53%。有意思的是,人类在7米距离下的成功率也掉到了28.3%,这说明7米已经接近人类投掷和接取的实际极限距离了,机器人的落后不完全是技术问题,也有物理极限的因素在里面。

论文还测试了不同箱子大小和重量的影响。对于0.5公斤到2公斤的载荷,机器人的接住成功率在77.7%到91.2%之间,表现相当稳定。但一旦箱子的尺寸超出训练时见过的范围,比如特别小或特别大的箱子,成功率就会大幅下跌,小箱子只有25.5%,大箱子只有39.7%。

这个现象背后的原因挺有启发性。研究团队发现,这个控制器基本上是"尺寸盲"的,第一阶段训练时用的是固定尺寸的箱子,根本没有把尺寸信息作为输入变量,所以当箱子尺寸变化时,机器人即便能够拦截到箱子的运动轨迹(拦截成功率仍有58.1%到86.1%),却经常没办法把它稳稳地抱住。这就好比一个人练了很久接固定大小的篮球,突然让他去接一个排球或者保龄球,手型和力道的调整没有专门练过,拦得住但抱不稳,是两件不同的事。

另外一个重要的对比实验,是看Reflex和传统的"检测加卡尔曼滤波"方案比起来表现如何。

卡尔曼滤波*:一种经典的状态估计算法,通过结合传感器的观测值和运动模型的预测值,对物体的真实状态(比如位置、速度)做出更精确、更平滑的估计,广泛用于目标跟踪领域。

在使用同样检测器的前提下,排除掉5米和7米这种超出训练范围的远距离投掷,Reflex的学习型隐变量方案,在13种测试条件里全部超过了"检测加状态策略"方案,平均高出5到15.6个百分点,这说明Reflex学到的那套隐变量表示,确实比传统滤波方法更懂得怎么把带噪声的观测转化成对控制有用的信息。

另外,论文里专门提到了反应延迟的问题。实验显示,如果训练时不对观测延迟做随机化处理,那么在各种延迟条件下的接箱子成功率都会低5到11个百分点。而如果训练时专门加入了延迟随机化,控制器反而在60毫秒延迟下表现最好,这个数字恰好跟真实机器人硬件管线里69毫秒的中位延迟很接近。

这其实揭示了一个很实用的训练哲学:不要只在理想条件下训练模型,要让它在训练阶段就见过真实部署时会遇到的那些"糟糕情况",这样它才能在真正糟糕的情况发生时表现得像是"早有准备"。

这篇论文最终把这整套接箱子的能力,接到了一个叫SONIC的行走控制器上,实现了接住箱子之后搬运7.8米、交给人、再走回7.3米的完整演示。在20次完整流程测试里,累计成功率是接住箱子65%,搬运环节35%,交接环节30%,返回环节25%。这个逐级下降的数字也说明,把多个独立训练的技能模块串联成一个完整任务,每个环节都会带来一定的失败率叠加,这是复合型机器人任务普遍要面对的挑战。

写在后面

读完这篇论文,最让我意外的一个细节其实不是接箱子成功率的数字,而是那个关于"尺寸盲"的发现。研究团队没有回避这个局限,反而清楚地写出来:机器人能拦住箱子,但抱不住的真正原因是训练阶段压根没把尺寸当作一个变量去考虑。这种诚实的失败分析,比单纯报喜不报忧的论文更有价值,它直接指出了下一步应该往哪里改进。

另一个值得琢磨的地方是人类对照组的数据。三位真人在7米外接箱子的成功率只有28.3%,这个数字某种程度上重新定义了"机器人表现差"的参照系。我们总习惯用100%当作满分去衡量机器人,但如果人类自己在同样条件下的上限就是不到三成,那机器人15%的成绩其实没有想象中那么悬殊。这提醒我们评估机器人能力的时候,找一个真实的、有血有肉的对照基准,比单纯看绝对数字更有意义。

论文里还提到一个短评,说"接箱子只是更广泛的一类视觉反应式全身技能的一个代表",包括拦截、避让、交接、物理协助。这句话让我想到,这套三阶段拆解训练的思路,其实不只能用在接箱子上。任何需要"预判外部动态物体、提前调整身体状态、在接触瞬间完成稳定响应"的任务,理论上都可以套用这个框架。比如躲避迎面而来的购物车,或者接住从楼上扔下的宠物,这些场景在人类生活里天天发生,却在机器人世界里几乎是空白地带。

真正让我停下来想的问题是:当机器人能够准确预判一个纸箱的飞行轨迹时,它离预判一个人类的意图,还有多远的距离?

Q&A

Q1:Reflex是什么?

A:Reflex是华盛顿大学等机构提出的一套三阶段训练框架,让人形机器人仅靠自身摄像头拍到的RGB-D画面,就能实时接住人扔来的纸箱,不依赖动作捕捉或反光标记。

Q2:Reflex在真实机器人上的接箱子成功率是多少?

A:在真实Unitree G1机器人上,2.5米距离成功率为65%,5米为40%,7米为15%,分别达到人类接球者在同等距离下成功率的76%、59%和53%。

Q3:为什么Reflex要把训练拆成三个阶段而不是一步到位?

A:因为端到端训练既要实时渲染图像又要同时学习视觉理解和身体控制,计算成本高且反馈信号模糊。拆成三阶段后,每个阶段只专注一个问题,训练效率和效果都更好。

文章标签机器人

资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。