5小时动作碎片,最后变成了机器人的身体直觉。

    作者丨吴思梦

    编辑丨岑   峰 马晓宁

                                                                                                       

如果你玩过《Mario Tennis》或者《TopSpin》,大概不会觉得打网球是一件特别复杂的事。
球飞过来,移动人物,判断落点,在合适的时机按下击球键。
尤其在《Mario Tennis Aces》里,游戏甚至把网球进一步拆成了一套很直观的动作语言:正手、反手、上旋、切削、吊高球,甚至还有需要精确卡点才能完成的特殊击球。
Mario Tennis Aces 游戏画面
现实里的网球当然远比这些复杂,游戏做的事情是“动作映射”(action mapping),本质上是把玩家一个非常抽象的“按键操作”,映射成角色一整套复杂的身体动作。玩家不需要知道这个动作是怎么完成的,因为中间的运动控制被游戏系统接管了。
球什么时候落地、身体什么时候转腰、脚要往哪边迈、手臂应该以多大的速度挥出去,这些事情在游戏里几乎都被隐藏。玩家看到的只是一个简单的输入,游戏引擎负责把它翻译成一连串完整的身体动作。哪怕球飞得再快,角色也不会因为来不及调整重心而站不稳,更不会因为脚下慢了一步,整个人失去平衡。
但如果把这个“按一下就能挥拍”的角色换成一台真正的人形机器人,“具身性”将会使事情变得完全不一样。具身智能则要求机器人重新承担这个被游戏隐藏起来的身体过程,即从意图到动作的鸿沟。
它首先得判断球从哪里来,再决定什么时候移动、移动多少;接近击球点时,双腿、腰部、躯干、肩膀、手臂和手腕必须协调起来。球拍碰到网球的时间可能只有很短的一息,而就在这段时间里,机器人还必须处理自身姿态、关节速度、摩擦力、球拍重量和来球速度等一系列变化。
网球因此成了一个很有意思的机器人问题。
它不像在实验室里抓取一个静止的杯子。球一直在飞,击球点一直在变,机器人不能只把一个动作做对一次,而是要在不断变化的状态里重复做对。它需要的也不再只是“知道该做什么”,而是让整个身体在几百毫秒甚至更短的时间里形成一个协调的反应。
这也是 IROS 2026 上一项来自银河通用 GaLbot 团队、清华大学、北京大学、上海启智研究院和上海人工智能实验室研究团队的工作——LATENT,试图回答的问题。
论文题目本身就很有意思:Learning Athletic Humanoid Tennis Skills from Imperfect Human Motion Data。关键词不是“perfect”,反而是“imperfect”。
研究团队没有给机器人准备一套经过精心筛选、完整、准确的人类职业网球比赛数据。相反,他们有意从并不完美的人类动作数据出发,让机器人学习网球运动中最基本的身体能力,再通过强化学习和仿真,把这些能力组合成能够真正击球的策略。
换句话说,他们想解决的不是“怎样把人类动作完整复制给机器人”,而是一个更接近现实的问题:如果人类给机器人的示范本来就不完整、不够精确,它还能从里面学到什么?

图片

01


五个小时的不完美数据

如果真的想让机器人学习一个人类网球运动员,最直觉的办法,是把这个运动员完整地记录下来。
从准备姿势开始,到移动、挥拍、击球、回位,再到下一次击球。最好还有大量不同来球、不同落点、不同身体姿态,甚至完整的比赛过程。这样机器人看到的就不只是“手应该怎么挥”,而是一套完整的网球行为。
问题是,这样的数据非常难采。
更不用说如果目标是人形机器人,人体和机器人本身的身体结构并不一样。人的手臂长度、关节范围、身体重量、肌肉力量都与机器人不同,即使动作捕捉系统准确地记录下一个人的动作,也不能保证机器人能够一模一样地执行。LATENT采取了另一条路。
研究团队找来了5名业余网球选手,在一个约3米×5米的动作采集区域里,记录了大约5小时的人体运动数据。这个空间甚至不到标准网球场的一个很小部分。研究人员没有要求球员打完整比赛,而是把注意力集中在网球运动中一些最基础的身体动作上,包括正手、反手,以及侧向滑步、交叉步等移动动作。
人类网球动作捕捉 
这些动作看起来很碎。
一个人向侧面迈两步,一个人完成一次正手挥拍,一个人做一次反手动作。它们并不能拼成一场完整的网球比赛,更谈不上告诉机器人“下一球应该打到哪里”。
但研究团队认为,这些碎片仍然包含了一件非常重要的东西:人类在面对网球运动时,是怎样使用自己的身体的。
这也是论文所说的“imperfect human motion data”。所谓“不完美”,至少有两个层面。
第一,它不够精确。动作捕捉得到的人体运动并不意味着机器人可以毫无修改地照搬,尤其是在手腕等局部动作上,人类数据和机器人身体之间存在明显差异。
第二,它不够完整。研究团队收集的是网球基本动作,而不是一套完整的比赛行为。数据可以告诉机器人怎样移动、怎样挥拍,却不会直接告诉它面对不同来球时应该选择什么策略。
传统思路很容易把这些缺点看成问题:数据不够准,那就继续采;数据不完整,那就再采更多。LATENT的思路却稍微往旁边走了一步。
他们没有试图把这些数据修补成一份“完美的人类网球运动说明书”,而是把它当成一种先验。机器人不需要成为某个具体人类运动员的复制品,它首先需要知道,人类在网球这样的高速运动里,大概是怎样使用身体的。
这个区别很重要。因为对于强化学习来说,从零开始探索所有可能的身体动作,代价非常高。一个29自由度的人形机器人,并不是只有“挥拍”和“不挥拍”两个选择。每一个时刻,它都可能改变腿、腰、躯干、肩膀和手臂的状态。
如果完全从零开始,它甚至不知道什么样的身体运动算是合理的。人类的动作数据,哪怕只是一些碎片,也可以先给它画出一个大致的边界。
这就像一个人第一次拿起网球拍。你不需要先给他一套完整的职业训练课程,他只要知道“人类大概是这样站、这样移动、这样挥拍”,接下来才有可能在不断试错中找到自己的打法。
LATENT做的事情,大概可以理解为是让机器人先获得这样的“身体直觉”。
图片

02


机器人需要的是一套“身体语言”

研究团队没有简单地把采集到的人体动作逐关节塞给它。真正的难点恰恰在这里:人类动作不是机器人动作。
一个人挥拍时,大脑不会显式计算“左膝弯曲多少度、右髋转多少度、躯干倾斜多少度”。这些动作最终形成的是一种身体协调。
如果机器人每次都必须直接决定29个自由度应该怎样运动,学习空间会非常庞大,也很容易在强化学习过程中产生不自然甚至不稳定的动作。
LATENT 方法框架图
LATENT因此先训练了一个运动追踪器,让机器人能够学习人类动作所包含的身体运动模式。然后,研究团队又把这个运动追踪器进一步压缩成一个连续的 latent action space,也就是所谓的潜在动作空间。
如果用一个更直观的比喻,它有点像一本“动作词典”。
机器人不必每一次都从头计算29个关节应该怎样配合,而是可以先从这本词典里选择一种已经学过的身体运动,再根据眼前的球调整它。
这个动作空间还有一个很重要的特点:它不是把机器人固定在人类动作上。
人类示范只是提供了动作的先验,真正面对网球时,机器人还需要自己学习。这就是为什么论文没有把“模仿人类”当成最终目标。
假设一个人类球员挥拍时手腕有一个动作,而这个动作对于G1来说并不可靠,那么机器人没有必要死守这个动作。研究团队甚至专门对右手腕进行了处理:降低它在运动追踪阶段的可靠性,让机器人不能过度依赖这个存在误差的局部动作,再让高层策略在真正击球时对它进行修正。
这个设计很像故意给机器人留了一颗不太牢固的螺丝。
如果一个系统只有在这颗螺丝完全准确的时候才能工作,那么现实中的一点误差就可能让整个动作失效。相反,如果机器人从一开始就被迫学会依靠腿、髋部、躯干、肩膀等身体部分共同完成动作,那么当手腕出现偏差时,它仍然有机会调整整个身体,把球打回去。
这也是LATENT很有意思的一点:人类数据并不是机器人最终要追求的答案,而更像是机器人学习身体运动时的一种起点。
接下来,研究团队还要面对一个强化学习里很典型的问题。当机器人已经拥有了一套“动作词典”,强化学习会不会为了提高回球成功率,开始随意跳到词典里完全不同的动作之间?
答案是可能的。
于是研究团队提出了 Latent Action Barrier,也就是 LAB。它会约束高层策略生成的动作,让策略不要轻易偏离原本的动作分布。
 Latent Action Barrier
这里的“Barrier”不是把机器人锁死,而是在探索的时候划出一条边界。
论文使用 Mahalanobis distance 来衡量动作偏离程度,而不是简单的欧氏距离。原因也很好理解:不同动作维度的尺度和变化范围并不一样,不能把所有方向上的变化都当成同样的“偏离”。实验也证明了这个约束的价值。
在正手击球任务中,完整的 LATENT 策略成功率达到96.52%;去掉 LAB 后,成功率下降到93.12%。但更明显的变化出现在动作质量上:动作平滑性指标从25.61上升到37.64,关节力矩也从7.40上升到12.53。
也就是说,LAB真正改善的并不只是“能不能把球打回去”,而是机器人在完成任务时,能不能少一些突然的、剧烈的、机械的动作。
这很像人在运动时的区别。
一个人偶尔也可能把球打回去,但如果每一次击球都靠身体猛甩、突然停顿、不断修正,那么这种动作很难持续。真正有用的运动能力,不只是成功一次,而是能够把成功变成一种稳定的身体习惯。
图片

03


机器人也不能只在“干净的世界”里学习

到这里,机器人已经有了动作,也有了策略。但还有一个更大的问题:模拟世界和现实世界并不一样。
在模拟器里,研究人员知道球的质量、弹性、空气阻力,也知道机器人身体的质量和摩擦参数。球从哪里飞来、速度是多少,都可以精确控制。
现实里,一个网球的弹跳不会永远一样,球拍的重心可能存在细微误差,地面的摩擦力也会变化。机器人的关节、驱动器、传感器同样存在误差。更不用说真实系统还有延迟、噪声和偶尔丢失的观测。
如果机器人只在一个“完美模拟世界”里学会打球,一旦来到现实,原本学会的动作可能马上失效。LATENT采取的办法不是尽量把模拟世界做得完美,而是反过来:主动把不确定性塞进模拟世界。
研究团队对机器人的身体质量、质心、脚部摩擦、关节摩擦、驱动器惯量等参数进行随机化,也对网球的质量、恢复系数、空气阻力等动力学参数进行随机化。
原文:https://www.leiphone.com/category/private/HkC1hSwn255e7hL9.html