蚂蚁灵波给触觉加“翻译”:π0.5拉拉链成功率从15%回到59%
金磊 发自 凹非寺 量子位 | 公众号 QbitAI 太反差了。 明明给机器人装上了触觉,它咋就变得更笨了呢…… △图片由AI生成 事情是这样的。 ....
金磊 发自 凹非寺,量子位 | 公众号 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的轻量版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 能单独拿去用,接到 π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