当前位置: 首页 » 资讯 » 科技头条 » 正文

莱斯大学:多平行世界训练法实现机器人接球成功率68%能力提升

IP属地 中国·北京 科技行者 时间:2026-05-27 18:26:47


这项由莱斯大学计算机科学系与机器人与人工智能研究院联合开展的研究,以预印本形式发布于2025年5月10日,论文编号为arXiv:2605.09789,感兴趣的读者可通过该编号查询完整论文。

教一个机器人接球,听起来好像没什么难度——毕竟小孩子几岁就能学会这件事。但如果告诉你,这个机器人用的不是篮筐、不是网兜、不是任何有弧度的接收容器,而是一块平平的硬板子,而且这块板子表面还特意做得很光滑,球一碰上去就容易溜走,你还觉得简单吗?

这正是莱斯大学的研究团队设定的挑战场景。他们让一台机械臂手持一块平板,去接住从空中飞来的球——皮球、乒乓球、羽毛球、泡沫球,甚至形状不规则的玩具苹果和木质方块。而且,这一切都是机器人在模拟器里练习之后,直接"毕业"上岗,没有经过任何真实世界的额外训练,成功率依然达到了68%。

这背后的核心思想,可以用一个非常形象的比方来理解。

**一、为什么教机器人接球这么难**

现实世界里,没有任何两个球的物理特性是完全一样的。一个皮球和一个乒乓球,弹跳方式不同;同样是皮球,充气程度不一样,弹性也不一样;球碰到板子的那一刹那,接触面的摩擦力、板子的角度、球的旋转方向,任何一个细节出了偏差,球就会飞出去。

对于机器人来说,这件事更加棘手。在虚拟的训练环境(也就是"模拟器")里,研究人员可以把物理规律设定得非常精确。但真实世界里的物理规律是模糊的、充满噪声的——摄像头捕捉球的位置时会有误差,机械臂执行动作时会有轻微的抖动,球的弹性系数也不可能提前精确测量。这种"虚拟练习场"和"真实球场"之间的落差,研究人员把它叫做"仿真到现实的鸿沟"(Sim-to-Real Gap)。

传统的解决办法叫做"域随机化"(Domain Randomization)。思路很直接:既然真实世界充满随机性,就在训练时也引入随机性。每一次训练,就随机给球设定一套物理参数——也许今天练的球很有弹性,明天练的球弹性差一点,后天再换一个摩擦力不同的球。通过大量这样的随机练习,机器人理论上应该能适应各种情况。

但问题在于,这种方法每次只随机生成一种情况,然后让机器人去应对那一种情况。这就好像一个篮球运动员每次练习只用一种特定的球,换一种球就要重新适应。每一次训练,机器人只能看到一个"可能世界"的样本,对整体情况的理解仍然是片面的。

**二、"平行宇宙"式训练:同时在十个世界里练球**

莱斯大学的研究团队提出了一个完全不同的思路,他们把这个方法叫做"域随机化实例集"(Domain-Randomized Instance Set,简称DRIS)。

DRIS的核心思想是:与其每次只给机器人看一个世界的样本,不如同时给它看一批世界的样本,让它在所有这些世界里同时做出同一个动作,然后综合考察这个动作在所有世界里的表现好不好。

具体操作是这样的:训练时,不只生成一个球,而是同时生成比如十个球,每个球的物理参数都不一样——有的弹性强,有的摩擦力大,有的半径更大,有的密度不同。这十个球同时飞向机械臂,机械臂做出一个统一的接球动作。结果,有些球被成功稳在了板子上,有些球还是滚走了。训练系统记录下所有这些结果的平均表现,然后以此来更新机器人的"接球策略"。

这和传统方法的差别,可以用一个贴切的场景来理解。假设你是一名厨师,正在学习调味的技巧。传统方法是:今天做一道菜,加了一克盐,尝尝味道;明天再做,加了两克盐,再尝;日复一日,一次只尝一种搭配。DRIS的方法是:今天同时做十道菜,每道菜的盐量都不一样,一次性尝遍所有版本,然后做出一个综合所有反馈的判断,找到一个对各种情况都相对合适的调味比例。显然,后者对"不确定性"的覆盖更全面,学到的规律也更经得起考验。

从数学的角度来说,这个方法实际上在做一件很精妙的事情:它让机器人的训练信号变得更"稳定"。传统方法每次只看一个随机样本,学习方向会随着样本的随机性而飘忽不定,就像罗盘在强磁场附近乱转。DRIS用多个样本的平均结果来指导学习,就像把多个罗盘的读数平均起来,随机噪声相互抵消,指向反而更准确。研究团队在论文的理论分析部分正式证明了这一点:当DRIS里的实例数量N增大时,梯度估计器(可以理解为"告诉机器人该往哪个方向改进"的信号)的方差会显著降低,最终收敛到一个更稳健的优化方向。

**三、从数学上看,DRIS到底做了什么**

在论文的理论分析部分,研究团队用了一个叫做"信念状态传播"(Belief State Propagation)的概念来解释DRIS的数学意义,听起来很抽象,但实质上非常直观。

当机器人面对一个不确定的物理世界时,它其实无法精确知道当前球的弹性系数是多少、摩擦力是多少。它能做的,是维护一个"可能性分布"——这个球有30%的概率很有弹性,有50%的概率弹性中等,有20%的概率弹性很差。这个分布就叫"信念"(Belief)。随着时间推移,这个信念会根据观测到的新信息不断更新,这个更新过程就叫"信念传播"。

DRIS里的每一个并行实例,正是这个"可能性分布"的一个采样点。当所有实例同时向前演化时,整个集合就精确地追踪了这个不确定性的时间演化。研究团队证明,DRIS等价于对系统信念状态做了精确的粒子近似(Particle Approximation)——这是一种经典的概率推断方法,在导航、气象预测等领域早有应用。传统的单实例域随机化,则相当于每次只用一个粒子来近似整个分布,精度自然差很多。

研究团队进一步通过一个局部代价函数的泰勒展开分析,证明了随着DRIS实例数量增大,训练目标函数会逐渐从"被随机噪声主导"变为"被物理不确定性的方差惩罚项主导"。换句话说,机器人学到的策略会越来越倾向于找那些在各种物理条件下都表现稳定的动作,而不是只在某一特定条件下最优的动作。这正是"鲁棒性"(Robustness)的本质含义。

此外,研究团队还给出了一个"仿真到现实的误差上界"(Sim-to-Real Transfer Bound)。这个上界告诉我们:机器人在真实世界里的表现,不会比它在模拟器里的表现差太多,差距的大小由两部分决定——一部分是有限样本带来的估计误差(这部分随着DRIS实例数N增大而减小),另一部分是模拟器和真实世界之间的物理参数分布差异(这部分和N无关,是固有的)。DRIS通过增大N来压缩前一部分误差,使得整体的仿真到现实误差尽可能小。

**四、机器人是怎么"理解"这十个球的状态的**

有一个实际问题需要解决:训练时有十个球,但真实接球时只有一个球。机器人的输入维度不能随着球的数量变化而变化,否则部署时就没法用了。

研究团队用了一个叫做"点云自编码器"(Point Cloud Autoencoder)的工具来处理这个问题。点云是三维空间中一堆点的集合,原本用于处理三维物体的形状数据。研究团队把这个工具扩展了一下,用来处理"一堆球的状态"——每个球的状态包括它相对于板子的位置(三个数字)和它当前的速度(三个数字),合起来是六个数字。把N个球的状态堆在一起,就得到了一个N×6的数据集合,像一朵由N个点组成的"点云"。

自编码器的工作原理是:先用一个编码器网络把这朵"状态点云"压缩成一个固定长度的向量(比如64个数字),再用一个解码器网络把这个向量还原回原始状态点云。训练时用"倒角距离"(Chamfer Distance)作为衡量还原质量的指标——直观来说,就是衡量还原出来的点云和原始点云有多像。

关键在于,编码器里用了一个叫做"逐特征最大池化"(Feature-wise Max Pooling)的操作,这个操作天然地对输入点的顺序和数量不敏感——不管输入是10个球还是200个球,输出都是同样维度的向量。这样一来,训练时可以用N个球,部署时只需要把单个球的状态当作"只有一个点的点云"输入,编码器照样可以工作,输出同样维度的向量供策略网络使用。

策略网络的设计也有一个有趣的细节。研究团队引入了一个叫做"FiLM条件调制"(Feature-wise Linear Modulation)的机制。简单来说,就是让板子当前的倾斜角度来"调节"状态特征的解读方式。当板子是水平的,球在板面上的滑动趋势和板子倾斜时完全不同;把倾斜角度信息注入到特征处理过程中,策略网络就能更准确地预测球的下一步行为,从而做出更合理的动作。

**五、接球任务的具体设计:平板接球为什么难**

在进入实验结果之前,有必要理解一下这个接球任务到底难在哪里。

大多数机器人接球的研究用的是碗形、杯形或者网状的接收器。这些容器有一个天然优势:即使接触时机或角度不太准,球碰到容器边缘之后,在重力作用下也会自然地滑向中心,最终稳定下来。这是一种"被动稳定"——不需要主动控制,形状本身就帮你兜底了。

莱斯大学的研究团队偏偏选择了一块平板,表面还覆盖了一层光滑的氯丁橡胶泡沫垫(用于保护机械臂,但同时让球更容易在上面滑动)。平板没有任何被动稳定能力——球碰上去之后,如果板子的角度、速度和时机不对,球就会直接弹飞或者滚走。每一个细节都必须由机器人主动控制。

为了让训练更高效,研究团队设计了一个巧妙的"运动坐标系"(Motion Frame)。这个坐标系以板子初始位置为原点,X-Z平面对准来球方向。所有的状态量(球相对于板的位移、球的速度)和动作量(板的平移、板的倾斜)都在这个坐标系里表达。这样做的好处是:不管球从哪个方向飞来,问题的表达形式都是一样的,策略网络不需要去学"不同来球方向"这个额外的变量,训练效率更高,泛化能力也更强。

动作的定义分两部分:一部分是板子中心的平移(沿X、Y、Z三个方向各移动多少),另一部分是板子的倾斜配置——用一个水平轴的方向角和绕该轴的旋转角来描述板子的朝向。奖励函数的设计也很精细,主要惩罚球的速度过大(特别是沿板面方向的速度,代表球在板上乱滑)以及球离开板面或超出板子边缘的情况。

**六、训练过程与模拟实验结果**

整个训练过程分两步完成,在一块单张NVIDIA GeForce RTX 3060 GPU(12GB显存)上运行,硬件要求并不算高。

第一步是训练DRIS编码器。让机器人用随机动作和一堆球互动,收集大量的"球群状态快照",然后用这些数据训练点云自编码器。这一步用了大约10分钟。

第二步是训练策略网络。把训练好的编码器冻结(不再更新它的参数),然后用近端策略优化算法(PPO)训练FiLM条件调制的策略网络。训练时同时运行128个并行仿真环境,每个环境里有一套DRIS球群,总共训练了1000个周期,用时约2小时。

模拟实验里,研究团队比较了五种配置:一种是完全端到端训练的基线(E2E,直接从单球状态到动作,不用DRIS),以及DRIS实例数分别为1、10、50、200的四种配置。测试时,无论训练时用了多少个球,测试都只用单球,以反映真实部署场景。

测试从三个角度考察鲁棒性。第一个角度是观测噪声:往球的位置和速度观测值里加入不同强度的高斯噪声,模拟摄像头测量误差。结果显示,E2E基线和DRIS(1)在无噪声时表现尚可,但噪声一增大,成功率就急剧下滑;而DRIS(10)即使只用了10个并行实例,鲁棒性就已经有了明显提升,DRIS(50)和DRIS(200)则更加稳健。更有趣的是,E2E和DRIS(1)在训练时间拉长后还会出现"过拟合到无噪声条件"的现象——在无噪声环境里越练越好,但一遇到噪声就越来越差。DRIS则没有这个问题。

第二个角度是执行误差:往机器人的关节目标角度里加入随机扰动,模拟控制器跟踪不准的情况。结论与观测噪声实验类似,DRIS明显优于E2E基线,且实例数越多效果越好,但10个实例就已经带来了显著提升。

第三个角度是分布外物理参数:在训练时,球的弹性系数(恢复系数)的范围是0.4到0.7;测试时,换成了弹性系数在0.7到0.8之间的球,这是训练时从未见过的参数范围。结果同样支持DRIS:实例数越多,对未见过的弹性系数的泛化能力越强。

研究团队还做了一个计算公平性对比。他们把E2E基线扩展到128×50=6400个并行单球环境,使总的球交互次数和DRIS(128环境×50实例)一样多。在2σ噪声下,扩展后的E2E成功率从0.55提升到0.73,但显存占用从0.65GB暴增到2GB;而DRIS(50)在同等交互量下达到了0.89的成功率,显存只增加到0.71GB。这说明DRIS的性能提升不只是因为"看了更多数据",而是因为"看数据的方式"本身更高效。

**七、真实机器人实验:从模拟直接上岗**

实验在一台7自由度的Franka Research 3(FR3)机械臂上进行,没有做任何针对真实环境的参数调整或策略微调,唯一做的是在真实机器人上标定控制器的刚度和阻尼参数,使其行为与模拟器里一致。

球的状态估计通过两台摄像头(帧率80FPS)来完成。摄像头捕捉球的图像,用颜色分割加轮廓圆拟合的方法检测球的位置,再通过三角测量还原三维坐标,最后用抛物线拟合平滑轨迹。球的速度则通过对最近0.1秒内的位置数据做线性回归来估算。推理在一颗AMD Ryzen 9 5950X CPU上实时运行,延迟完全满足要求。

为了让不同策略的对比更公平,研究团队设计并3D打印了一个带有三种可互换下段的斜坡装置,把球从斜坡顶端释放,斜坡弯曲半径分别为0.13m、0.20m、0.32m,对应三种不同的出口速度。四种测试球——网球状穿孔球(wiffle)、橡胶球、乒乓球、泡沫球——覆盖了从轻到重、从弹性强到弹性弱的广泛范围。每种球每种斜坡配置各做5次试验,共60次试验。成功的定义是球在板上保持稳定超过10秒。

最终结果:手工设计的VelTrack基线(根据第一次碰撞后的球速来控制板子水平跟随)成功率只有5%,且仅在球偶然卡进板子和手指之间的缝隙时才算成功,称不上真正意义上的接球。E2E基线能做出合理的接触动作,但对观测噪声极其敏感,会产生抖动性动作,把球弹飞,成功率13%。DRIS(200)策略成功率68%,四种球全部至少成功接到过,且在多个配置上达到了满分5/5的成绩。

研究团队还做了若干定性测试。机器人能稳定接住人类直接扔出的球(比斜坡释放的随机性更大);虽然只训练了接球,但策略直接泛化到了"平衡一个已经在板子上的球"的任务,完全没有额外训练;甚至能接住玩具苹果、玩具草莓等形状不规则的物体。木质方块只能偶尔成功,因为方块碰撞时的动力学行为极难预测,"连人类都很难稳定接住",研究团队在论文里如是说。

**八、这套方法的局限性和未来方向**

研究团队在论文中坦诚地指出了几个尚待解决的问题。

第一个局限是编码器的设计问题。当前使用点云自编码器处理低维状态(位置和速度)效果很好,但如果任务需要输入图像或者复杂的几何信息,编码器的规模和训练成本会大幅增加,需要专门设计。

第二个局限是计算依赖问题。DRIS需要同时并行推进多个物理实例,这依赖于高效的并行仿真器支持。在涉及复杂多体接触(比如多个物体之间相互碰撞)的场景里,同时处理整个实例集的碰撞检测会带来很大的计算开销。

第三个也是最根本的局限,是"单一动作服务所有实例"这个设计本身的限制。DRIS里所有实例共享同一个动作,这意味着各实例的状态不能差异过大,否则没有一个动作能同时照顾所有实例的需求,训练会变得不稳定。研究团队引用了一篇关于机器人杂耍的经典研究,指出这种发散在"耗散性"系统(比如接球——接触本身会消耗能量,把球速降下来)中比较容易控制,但在"注能性"系统(比如抛球——每次接触都要把能量注入球,让它越来越快)里,各实例的状态会快速分化,难以用一个共同动作协调。这意味着DRIS天然适合"减速、稳定、抓取"类任务,但对于需要精确控制能量注入的任务(如杂耍、抛掷)可能效果有限。未来的研究方向之一,是设计自适应的或课程式的实例随机化策略,在训练过程中逐步增大实例间的差异,而不是一开始就引入最大随机性。

说到底,这项研究解决的是一个很根本的问题:如何让机器人在不确定的世界里做出稳健的决策。研究团队给出的答案是:不要试图精确预测不确定性,而是直接把不确定性的全貌纳入训练过程。同时练习十个"平行宇宙"里的接球,比只在一个宇宙里练一万次更能培养出真正经得起考验的能力。这个直觉不只适用于机器人接球,对任何需要在不确定环境里工作的自动化系统都有参考价值。

当然,68%的成功率还不是人类水平,失败案例主要集中在球的初始接触力道过大、球速太快来不及吸收动能的情况。但在没有任何真实环境训练、板子本身毫无被动稳定辅助的前提下,这个结果已经相当有说服力。感兴趣的读者可以通过arXiv编号2605.09789找到完整论文,其中附录部分包含了所有理论证明的完整推导。

**Q&A**

Q1:DRIS训练方法和普通的域随机化训练有什么实质区别?

A:普通域随机化每次训练只随机生成一种物理参数配置,机器人每次只在一种假设情境下练习。DRIS则同时生成一批参数各不相同的实例,让机器人用同一个动作同时面对所有这些情境,综合所有结果来更新策略。这样训练出来的动作在统计上对更大范围的不确定性都表现合理,而不是只对某一特定随机情境最优。

Q2:机器人接球时只有一个球,但训练时用了几十个球,这个矛盾是怎么解决的?

A:靠一个叫做点云自编码器的网络。这个网络能把任意数量球的状态压缩成固定长度的特征向量,无论输入是10个球还是200个球,输出维度都一样。部署时把单个球的状态当作"只有一个点的集合"输入,编码器照样能处理,策略网络的输入维度完全不受影响。

Q3:平板接球比用碗或网兜接球难在哪里?

A:碗形或网兜容器有被动稳定效果,球碰上边缘后会自然滑向中心,不需要机器人主动控制每一个细节。平板完全没有这种机制,球一旦碰上板子,如果角度、时机或速度哪个环节稍有偏差,球就会直接弹走或滚走。所有的稳定都必须靠机器人实时主动控制板子的平移和倾斜来实现,对感知误差和控制误差的容忍度极低。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。