蚂蚁灵波LingBot-Touch开源:机器人触觉为何反变笨?
蚂蚁灵波开源LingBot-Touch
蚂蚁灵波把LingBot-Touch开源了。
金磊 发自 凹非寺,量子位 | 公众号 QbitAI
太反差了。
给机器人装上触觉,它怎么反而变笨了……
△图片由AI生成
事情得从一个实验说起。
有个团队在Sharpa Wave灵巧手的五根手指上都贴了触觉传感器,让它去完成拉上袋子拉链的任务。
他们用的是π0.5动作模型,仅靠摄像头时成功率有39%。
接着团队把指尖传感器的读数原样喂进去。按理说多了一种感官,拉拉链应该更顺手才对。
结果您猜怎么着。
AUV(哎呦喂)……成功率一下跌到15%!
这还不是孤例。
还是Sharpa Wave灵巧手配π0.5,换成交接盒子的任务,接入原始触觉后成功率从57%降到48%。
把灵巧手换成XHand也一样,6项任务平均成功率从49.71%滑到48%。
多了一种感官,机器人反倒笨手笨脚,原因究竟在哪?
答案落在读数这件事上。
触觉数据跟别的数据不太一样:机器人手指大部分时间不碰物体,读数差不多就是一大片“0”;就算开始接触,信号也是稀疏还带噪声。
再加上不同传感器各管各的——视触觉拍指尖软胶的形变,磁触觉测磁场,压阻式触觉记电阻……数据各不相同。
△三类触觉传感器怎么感知接触,各有什么取舍
比如捏住一个瓶盖,三种传感器给出的就是三种完全不同的数字。动作模型看不懂,还得硬用……说白了是在帮倒忙。
那这局怎么破?
蚂蚁灵波给出的解法是:在传感器和动作模型中间加一个“翻译”。
(注:上面那些实验正是蚂蚁灵波做的。)
具体做法是,先把各种传感器读到的数据翻译成动作模型看得懂的形式——手指碰在哪儿、用了多大劲、力往哪边偏、有没有打滑,再交给它。
用的还是那个π0.5,任务也还是拉拉链,加上这套触觉处理之后,成功率一下冲到59%,比完全不用触觉高出20个百分点;交接盒子的成功率同样从48%回升到63%。
前面说的那层“翻译”,指的就是蚂蚁灵波今天开源的触觉预训练基础模型LingBot-Touch。
有了它,开头提到的拧瓶盖动作顺了不少:
视频地址:
https://mp.weixin.qq.com/s/b7PNN5A3W8e1bZDVNTd5tg
拧瓶盖最容易出问题的地方,其实就在指腹和盖面贴合的那一小块。捏松一点,指腹就在盖面上打滑,手腕转了半圈,盖子却没动。偏偏这一幕,摄像头拍不到。
那LingBot-Touch这层“翻译”到底是怎么实现的?
灵巧手缺的就是这层翻译
先把LingBot-Touch具体做什么讲明白。
它接收的是磁触觉、视触觉、压阻式触觉三类传感器的信号,统一编码成一种触觉Token,从中解析出接触发生在哪儿、受力多大、力的方向随时间怎么变。
它站在中间位置:往下对接各类传感器和灵巧手,往上把Token交给不同的动作模型。
各家传感器信号再五花八门,到了动作模型这边都能被统一读懂,路子不同,结果一样。
△LingBot-Touch连接多种触觉传感器与真实灵巧操作
它还有个轻量版LingBot-Touch-Tiny,参数只有约532万;技术报告、代码和模型权重目前都已开源。
那LingBot-Touch是怎么练出来的?
蚂蚁灵波团队大致走了三步。
第一步,统一坐标。
第一个难题出在传感器本身:触点数量和排布差得太远。有的灵巧手光拇指上就铺了116个触点,有的布料手套只有一个3×3的小阵列。
按编号硬对,显然对不上。
团队的做法是先把所有传感器的触点映射进同一个标准化的指尖空间,再给每个Token分配一个“地址”,由时间、手指和三维位置共同组成。
地址通过旋转位置编码(RoPE)进入模型,模型因此不再依赖固定的触点数量,换一种布局照样能读。
在这之上,三类传感器各有自己的轻量入口,负责把原始读数转成Token;入口之后,共用同一个触觉Transformer主干。
换句话说,传感器之间的差异由各自入口消化,接触本身的规律则放进主干里一起学。
△LingBot-Touch整体架构,三类传感器分入口、共用一个主干
第二步,在特征空间里做预测。
坐标统一之后,团队遇到第二个坑,就是开头提到的那一大片“0”。
直接让模型还原原始读数,它很快就能找到捷径:只要把“没碰到”的背景学扎实,损失就压得很低。可分数好看归好看,真正有用的接触信息却没学到多少。
于是LingBot-Touch走了JEPA路线。训练时,模型会随机遮住90%的触点,而且整段时间都遮着;剩下10%的变化,用来在特征空间里预测被遮住部分的表征,不必逐点还原读数。
效果立竿见影。同样用1000小时数据训练,LingBot-Touch判断接触中心的误差是0.90毫米,VAE和MAE都在3毫米以上。换成用一段触觉去找对应的视频画面,LingBot-Touch的前5召回率是32.07%,另外两种方法都不到6%。
△同样的数据,特征空间预测与还原原始读数的效果对比
第三步是扩充数据,防止模型死记硬背。LingBot-Touch的预训练数据一共4983小时、约13.3亿帧,其中三分之二来自人戴着触觉手套干活,剩下三分之一来自遥操作Sharpa Wave双臂机器人。
手套被大量采用,原因在于它用不着机器人:一个人待在普通环境里,一天录上好几个小时不成问题。可这些数据标出的只是开、关、装配、倒水之类的任务类别,哪一帧都没标过力的大小。
△预训练数据的构成,覆盖三类传感原理
不过数据攒够了,团队还得防着模型“偷懒”。预训练里只有三种传感器布局,模型很可能直接把这三套触点位置背下来,等碰到第四种布局就抓瞎。所以训练时,团队会随机改变触点的采样密度,再把每个触点的位置小幅挪一挪,逼着模型去学接触本身的规律。
三步走完,就该上真机检验了。测试覆盖两款灵巧手:高自由度的Sharpa Wave做20项任务,低自由度的XHand做6项,一共26项。
参与测试的动作模型有四种:Diffusion Policy、π0.5、LingBot-VLA和T-Rex。每种模型都要在不用触觉、直接喂原始信号、接入LingBot-Touch这三种设置下分别测试。结果,在两款手上,四种模型都是接入LingBot-Touch的那一组平均成功率最高。
和不用触觉相比,T-Rex、π0.5、LingBot-VLA的成功率分别提升了23.18、21.81、24.81个百分点,而付出的代价,只是参数量多了0.13%到0.16%。
△两款灵巧手上,四种动作模型在三种设置下的平均成功率
就拿单手插吸管来说,这个任务的难点在于刺破封膜的那一下。吸管抵住透明封膜往下压,阻力越来越大,膜一破,手上会突然松掉。摄像头很难分清膜是被压凹了还是已经被扎穿,但指尖可以。要是收力慢上一步,吸管就会直接冲到杯底。
视频地址:
https://mp.weixin.qq.com/s/b7PNN5A3W8e1bZDVNTd5tg
当然,最能说明问题的,还得是XHand这组实验。XHand用的磁触觉传感器,型号从来没出现在预训练数据里;而且预训练中的磁触觉数据,全部来自人戴的手套。接入XHand时,LingBot-Touch更是一个参数都没改。
即便如此,π0.5在6项任务上的平均成功率,还是从直接喂原始信号时的48.00%升到了74.17%。
分离叠杯这一项,成功率从32.5%涨到72.5%,翻了一倍还多。
这项任务里,灵巧手只拿走最上面那只杯子。一只手要扶稳整摞杯子,另一只手捏住杯沿往外抽。阻力忽然变小、指腹仍稳稳贴着杯沿,说明杯子已经松脱,得立刻收力;要是指腹自己在杯沿上打滑,那就该重新抓。
这两种情况,手感完全不一样。
视频地址:
https://mp.weixin.qq.com/s/b7PNN5A3W8e1bZDVNTd5tg
说白了,人手积累下来的经验,帮机器人读懂了一只它从未摸过的手。
团队还把LingBot-Touch与此前的触觉基础模型FTP-1放在一起比了比。
在Sharpa Wave上判断接触中心,FTP-1的误差为2.19毫米,LingBot-Touch只有0.12毫米;换到XHand上,误差也从5.89毫米降到0.16毫米。
别忘了,FTP-1在这两只手上分别配了专门的适配器,LingBot-Touch用的却是同一个冻结的编码器。
△与FTP-1在两款灵巧手上的对比
另外,LingBot-Touch的Scaling Law也已经初步显现。
Tiny版在4000小时左右开始饱和;换成容量更大的Small版,到5000小时效果仍在上涨。真机任务的成功率,同样随着预训练数据增加而稳步提升。
△预训练数据量与模型规模对效果的影响
补齐了触觉的拼图
技术细节看完了,再把LingBot-Touch放回蚂蚁灵波整条技术路线里,它的位置会更清楚。
此前,灵波的通用大脑已经铺开三块能力:空间感知有LingBot-Vision和LingBot-Depth 2.0,环境交互有LingBot-Video和LingBot-World 2.0,灵巧操作则有LingBot-VLA 2.0和LingBot-VA 2.0。
这几块能力大多在解决碰到之前的事——东西在哪、手该伸到哪、下一步该干什么。
可手指一碰上物体,视觉能给的信息就少了。指腹贴着瓶盖的地方会被手挡住,钥匙插进锁孔之后更是什么都看不见。
LingBot-Touch补的正是这一块。一句话说,视觉管接触之前,触觉管接触之后。
双手开锁就是个典型例子。
一只手握住挂锁,另一只手捏着钥匙对准锁孔,这一步主要靠眼睛;钥匙往里一推,可能把锁顶歪,推到一半卡住,还得退一点、换个角度再试。
钥匙进了锁孔,摄像头基本帮不上忙,灵巧手只能靠钥匙传回指尖的阻力来判断。
视频地址:
https://mp.weixin.qq.com/s/b7PNN5A3W8e1bZDVNTd5tg
看到这里,或许有人要问:灵波为什么把触觉单独做成一个基础模型?
原因在于,每只手的控制方式都不一样,但它们都得理解接触。
把“理解接触”这件事单独拎出来,做成可复用的一层,一款硬件攒下的经验就能成为下一款机器人的起点。
这个思路,其实和灵波此前做LingBot-VLA一脉相承。
VLA要解决的是同一个大脑如何驱动不同构型的机器人,业内把它叫作“一脑多机”。Touch把这个问题又往前推了一层:不同的手、不同的传感器攒下来的接触经验,能不能合在一起学,再迁移到新机器人身上。
前面XHand那组结果,算是给了个初步的答案。
LingBot-Touch的几处设计,正是从这个目标倒推出来的。数据采集用手套,图的是手套不绑在机器人本体上,数据规模才扩得起来;入口按传感原理划分,而不是按产品型号划分,为的是给以后出现的新传感器留出位置。
灵波反复提的具身原生,说的也是这件事:先看机器人在物理世界里怎么感知、怎么动手,再回过头决定模型怎么设计、拿什么数据训练。
眼下LingBot-Touch已经和LingBot-VLA、LingBot-Depth完成融合,用于提升通用大脑的手眼协同和精细操作能力。
落地这块,灵波正与乐聚、钛虎等本体伙伴,以及国大药房、隆盛等场景伙伴,在零售分拣、物流分拣和工业场景中做商业化测试。
大模型越强,具身原生越不能缺席
LingBot-Touch本身聊完,视角不妨拉远一点。
今年9月GPT-6 Astra发布后,RoboDojo团队让它在零样本条件下跑了42项仿真操作任务,综合得分在43个参评条目里排第一。
说实话,具身圈一度被这件事搞得挺慌。
可同一份报告里还有另一组数字。精度维度上,GPT-6 Astra的成功率只有4%,表现最好的公开策略是20.42%;插管、搭塔这类需要精确接触的任务,它几乎全军覆没,真机测试也因安全问题被叫停。
报告把这一差距归因于缺少物理常识,也就是对接触、力和碰撞的理解。
就在今天,Anthropic又发布了Claude Fable 5.2,大模型控制机器人的进度条再往前挪了一步。
Anthropic官方博客公布的内部测试结果显示,Fable 5.2在RoboDojo仿真测试中的平均成功率达到64.9%,是同一套测试框架下GPT-6 Astra(29.8%)的两倍还多,也超过了大多数专为控制机器人打造的AI系统。
官方演示里,Fable 5.2控制的机器人能解魔方、拧瓶盖、画画。不过RoboDojo考的是看着摄像头画面去控制一台仿真双臂机器人。
从Fable 5.1到Fable 5.2,前后两个多月,同一套测试的成功率就从27.6%涨到64.9%。通用大模型理解任务、推理规划,乃至直接上手操作的本事,都在肉眼可见地变强。
但这并不意味着具身模型就该退到一边,只管“动手”。
仿真跑出再高的分,也不等于真机上能把活干稳,中间卡着的是物理世界的泛化性。换只手、换个材质、或者到一个此前没碰过的场景里,机器人还干不干得成?这一关躲不开,只能让从物理世界里土生土长出来的大脑自己去解决。
蚂蚁灵波CEO朱兴的判断也是如此。
他提到,GPT-6 Astra、Claude Fable 5.2 这类数字世界的大语言模型越做越强,机器人在复杂任务推理和物理操作上确实跟着受益,灵波也在主动跟进吸收;可真要把操作闭环跑通,“物理操作泛化性这块硬骨头还是绕不开”,多数时候还得指望具身基础模型自己取得突破。
他眼中的通用大模型和具身基础模型,更接近1+1>2的关系:各自突破、相互促进,一起加速具身智能产业走向成熟。
啃这块硬骨头,灵波拿出的尝试就是LingBot-Touch。
触觉是物理世界原生的模态。互联网上文字、图片、视频海量,可几乎没有哪个网页记录过,拇指捏瓶盖时到底用了几牛的力。这类经验只能在真实交互里一点点攒,而它恰恰是物理世界泛化性的根基之一。
灵巧手摸麻将,靠的就是这种经验。
二筒和三筒在指腹下都是圆圈,要分清,就得数出有几个圆、每个圆排在什么位置。这些线索,全藏在指腹下浅浅的刻纹里。
视频地址:
https://mp.weixin.qq.com/s/b7PNN5A3W8e1bZDVNTd5tg
过去各家传感器各有一套数据和模型,触觉始终是零散的,换一只手就得从头再来。LingBot-Touch证明的是,触觉同样能有统一的表征。
再往前推一步看,LingBot-Touch这套办法——统一坐标、入口分开、主干共享、在特征空间里做预测——其实没有哪一环是触觉独有的。
同样的思路贯穿在蚂蚁灵波整条具身原生路线里。按规划,灵波会持续探索物理操作泛化性的上限,打造跨构型的机器人行业通用大脑,推动视觉、深度、触觉乃至温度等更多物理模态在统一模型中对齐。
机器人以后还会多出哪些感知方式,现在谁也说不准。但至少,已经有一条可以参照的路。
在硬件和场景之间做一层智能,把不同本体、不同传感器积累下来的物理经验转化成可以共享的通用能力,这正是蚂蚁灵波想做的事。
而且这层能力是以开源、可拆分的方式交出去的。灵波会在推进商业化的同时,持续向社区开源开放。
LingBot-Touch能单独拿去用,接在π0.5、Diffusion Policy这些别家的动作模型上一样有效。传感器厂商可以继续走自己的技术路线,整机厂也不用为了某个模型去换传感器。
奥迪今年初披露过一个数字:全行业线束生产与装配的自动化比例还不到10%。这类边接触、边调整的活儿,正是灵巧手迟迟接不住的地方。
国内的情况是,中国的灵巧手和触觉传感器种类很多。过去这是数据互不相通的麻烦,可一旦经验能够共享,这份多样性反倒会变成数据上的优势。
说到底,机器人手上有了信号,也未必会用。正如朱兴所说,“模态输入的质量很大程度上决定了动作输出的质量”,没有好的输入,就没有好的输出。
通用大模型迭代再快,具身原生的大脑也不能落下。机器人要在物理世界稳稳当当把活干好,这份本事说到底得靠具身原生的大脑,在真实环境里一点点练出来。
项目主页:
https://technology.robbyant.com/lingbot-touch
技术报告:
https://github.com/Robbyant/lingbot-touch/tree/main/paper
GitHub:
https://github.com/Robbyant/lingbot-touch
Hugging Face: https://huggingface.co/collections/robbyant/lingbot-touch
魔搭社区:
https://www.modelscope.cn/collections/Robbyant/LingBot-Touch