LingBot-Touch:蚂蚁灵波开源的触觉基础模型 26 项真机任务最高提升 24.8 个百分点
更新时间:2026-11-12 23:40:30 发布时间:15小时前 阅读:22次
LingBot-Touch 是蚂蚁灵波科技 2026 年 11 月 9 日放出的触觉基础模型,把磁触觉、视触觉、压阻式三类传感器的读数映射到同一套指尖坐标与 token 地址,输出四层特征拼成的 latent,供不同灵巧手和动作模型当条件输入。权重、推理代码和 30 组双侧样例已在 Hugging Face、魔搭与 GitHub 放出,按 Apache 2.0 许可分发,Tiny 版 5.46M 参数、Small 版 21.76M 参数。
项目主页首屏,标题下四个入口分别是技术报告、代码、Hugging Face 与魔搭
LingBot-Touch 是什么
- 开发方蚂蚁灵波科技英文名 Robbyant,官网页脚写 An embodied AI company under Ant Group,注册主体为上海蚂蚁灵波科技有限公司。
- 两档权重都叫 Haptic Transformer,Tiny 为 5.46M 参数、嵌入宽度 192,Small 为 21.76M 参数、嵌入宽度 384,层数都是 12,参数量含 tokenizer 与共享主干、不含预训练预测器。
- 下载包里只有 config.json 与 encoder.pt 两个文件,对外放出的是冻结的目标编码器与取特征的接口。
- 论文同时接了 Diffusion Policy、π0.5、LingBot-VLA、T-Rex 四种动作模型,token 只作为额外条件输入拼在视觉与本体位姿旁边,策略其余部分与训练配方都不动。
- 项目主页 26 项任务的演示片段都标注为真机实时推理、1 倍速播放,其中三段单独点名是 LingBot-VLA 加 LingBot-Touch。
官方给出四项指标:4,983 小时触觉记录、13.3 亿帧、Tiny 编码器 5.46M 参数、26 项真机加 12 项仿真任务
LingBot-Touch 的 4,983 小时触觉数据
- 总量 4,983 小时、464,431 段交互、约 13.3 亿帧,分到 24 个操作类别,从开合、装配到擦拭、倾倒、用工具。
- 压阻式 2,197 小时、86,906 段,来自 Juqiao、Xspark、TACHIN 三种触觉手套,Juqiao 每指 9 个触点、100 Hz,Xspark 每指 16 个、60 Hz,TACHIN 拇指 124 个、其余四指各 61 个、60 Hz。
- 磁触觉 1,136 小时、294,871 段,来自 PaXini 手套,拇指 116 个触点、其余四指各 96 个,采样 41.7 到 83.3 Hz。
- 视触觉 1,650 小时、82,654 段,来自双臂平台上 Sharpa Wave 灵巧手的遥操作,每指 240×240 形变图,采样 30 Hz。
- 人戴手套采集 3,333 小时,占三分之二,遥操作 1,650 小时;24 个操作类别里多数由不止一个来源采到,同一类交互因此有不同的传感器版本。
- 标注停在 episode 级的操作类别,没有力、接触位置、接触起止时刻,预训练的监督全部来自 latent 预测目标。
按操作类别堆叠的三类数据量,压阻 2,197 小时、磁 1,136 小时、视触觉 1,650 小时
LingBot-Touch 的传感器接口与预训练目标
- 每个触点的位置先按传感器和手指各自的模板离线标定,p=α·p̃+b,α 取 1/r、b 取 −o/r,把触觉点收进单位半径的参考几何,参数一次定好、跨时间窗复用。
- 三个模态各配一个两层 MLP 的 tokenizer,把一个触点连续两帧的 6 个数值压成一个 token,T 帧的片段产出 T/2 个 token。
- 共享的 Haptic Transformer 用 5D RoPE 把时间、手指、三维位置放在五个轴上分开编码,不需要固定 token 数,也不需要每个传感器一张位置表。
- 每根手指上被遮的触点比例最终为 80%,前 300 步从 40% 线性升到 80% 再固定;被遮的触点整段片段都不给看,上下文分支读不到它在别的时间步的读数。
- 目标分支的 tokenizer 与编码器按在线分支做 EMA 更新,动量按 0.999 到 1.0 调度,梯度经 stop-gradient 截断、不回传目标分支。
- 布局增强第一步改密度:磁触觉按 24、32、48、64、76、96 个触点重构视图,视触觉把形变图聚成 32、96、200 个虚拟触点,压阻式保留原生布局不下采样。
- 第二步改位置:每个触点的坐标偏移不超过它与同指最近邻距离的一半,偏移量按片段重采,同一触点在上下文分支与目标分支看到同一套几何。
- 预训练共 200,000 次优化器更新,片段取 32 帧,一个 token 覆盖 2 或 4 帧。
LingBot-Touch 在五项接触探测任务上的误差
- 做法是冻结编码器,只训一个 cross-attention 探针,探针一层、宽 192、3 个头,MLP 隐宽 768,AdamW 学习率 1e-4,每平台各训 100 轮。
- 五项分别是指尖合力恢复、接触中心估计、接触面积估计、未来四帧的力预测、触觉找视频帧,第五项按 top-5 召回计分。
- FTP-1 是此前把异构传感器按形态映射进同一 token 空间的触觉策略模型,本身带磁触觉分支;这里给 Sharpa Wave 训一个编码每指 96 个形变值的适配器,给 XHand1 训一个编码每指 120 个三通道读数的适配器。
- 本模型这一侧除探针之外没有任何参数更新。
- 表中本模型统一用 Small 版、5K 小时预训练,评估时不加任何传感器适配器。
| 任务 |
Sharpa 本模型 |
Sharpa FTP-1 |
XHand1 本模型 |
XHand1 FTP-1 |
| 指尖合力 MAE(N) |
0.81 |
2.31 |
1.32 |
3.72 |
| 接触中心误差(mm) |
0.12 |
2.19 |
0.16 |
5.89 |
| 接触面积 MAE(百分点) |
0.66 |
2.90 |
0.43 |
4.39 |
| 未来四帧力 MAE(N) |
1.04 |
1.67 |
1.45 |
2.00 |
| 触觉找视频帧 Recall@5 |
72.6% |
16.5% |
47.1% |
6.0% |
- Sharpa Wave 的视触觉传感器在预训练数据里,XHand1 的磁触觉型号不在;未见传感器上五项里有四项误差更高,例外是接触面积,XHand1 的 0.43 个百分点比 Sharpa 的 0.66 更低。
- 差距最大的是检索:在没见过的传感器上,本模型 47.1%,带适配器的 FTP-1 是 6.0%。
- 接触中心的误差在未见传感器上是 FTP-1 在已见传感器上的十分之一以下。
LingBot-Touch 接入四种动作模型后的真机成功率
- 26 项任务都挑在接触决定成败的环节上,包括 SD 卡推出、拔笔帽、插吸管、拧瓶盖、扣喷枪、拉拉链、鸡蛋搬运、麻将分拣、盒子交接、抽书。
- Sharpa Wave 上 20 项,XHand1 上 6 项,每项采 200 段示范,需要双手的任务采 500 段。
- 每种策略跑三种配置:原模型、加原始触觉信号、加冻结的 token,每项评 20 次试验。
- 编码器取 16 帧、30 Hz 的触觉窗口,cross-attention 读数压成每手 40 个 token,再线性投到策略的条件维度。
- 参数量只增加 0.16%(T-Rex)、0.15%(π0.5)、0.13%(LingBot-VLA)。
- 表中编码器是 Tiny 版,预训练 4K 小时,26 项任务全部用这一套权重跑完。
| 灵巧手 |
策略 |
原模型 |
加原始触觉 |
加 LingBot-Touch |
| Sharpa Wave |
Diffusion Policy |
22.31 |
30.06 |
35.51 |
| Sharpa Wave |
π0.5 |
47.56 |
56.70 |
68.58 |
| Sharpa Wave |
LingBot-VLA |
45.60 |
56.29 |
72.51 |
| Sharpa Wave |
T-Rex |
44.06 |
57.99 |
70.05 |
| XHand1 |
Diffusion Policy |
19.38 |
24.00 |
35.67 |
| XHand1 |
π0.5 |
49.71 |
48.00 |
74.17 |
| XHand1 |
LingBot-VLA |
57.21 |
57.21 |
75.04 |
| XHand1 |
T-Rex |
49.96 |
51.92 |
63.79 |
官网放出的真机任务片段:麻将分拣、SD 卡推出、扣喷枪、抽袋,标注为实时推理 1 倍速
- 104 个任务与策略组合里,加 token 的版本在 89 个上最高,在 99 个上不低于原模型。
- 增益落在视觉判断不了的那一步:拉链头是否咬合,LingBot-VLA 从 11% 到 55%;喷枪扳机是否压到位,从 42.5% 到 87.5%;SD 卡有没有脱开,T-Rex 从 32% 到 92%。
LingBot-Touch 的原始触觉信号收益最多只有 token 的一半
- 四种策略加原始信号的平均提升是 7.0、6.6、8.2、11.2 个百分点,加 token 是 13.9、21.8、24.8、23.2。
- 原始信号在 104 个组合里的 22 个上让结果变差:LingBot-VLA 的麻将分拣从 28.8% 掉到 5.0%,鸡蛋搬运从 65.0% 掉到 28.8%,π0.5 的拉拉链从 39.0% 掉到 15.0%。
- 200 段示范不足以让策略从零学会读一套稀疏高维信号,视觉模型能给出物体位置,读不出压得多重、抓握有没有在滑。
- XHand1 上差别更清楚:原始信号给四种策略带来 +4.6、−1.7、0.0、+2.0,token 是 +16.3、+24.5、+17.8、+13.8。
LingBot-Touch 在 12 项仿真任务上的成功率
- 12 项任务在 Sharpa Wave 上 8 项、XHand1 上 4 项,策略用 PPO 训练三个随机种子,仿真里的触觉按几何穿透深度渲染成形变图。
- 平均成功率 69.0%,对照是任务内训练的 CNN 45.6%、原始信号 38.5%、二值接触 30.3%、无触觉 21.4%。
- 单任务上,转盘 97.4%(其余方法最高 82.9%),转笔 97.1%(最高 64.2%),球平衡在 Sharpa Wave 上 67.7%(最高 32.4%)。
- 三个种子间的标准差平均 3.9 个百分点,最大 9.2;对照方法在转笔上到 55 个点,说明有的种子学得会有的学不会。
左为 12 项仿真任务的平均训练成功率,右为逐任务对比,LingBot-Touch 在 12 项上都最高
LingBot-Touch 的数据与参数规模曲线
- Small 从 1K 加到 5K 小时,每档在两只手上都不降;Sharpa Wave 的力误差从 1.68 N 降到 0.81 N,检索从 42.5% 升到 72.6%。
- Tiny 跟到约 4K 小时后走平,5K 时检索在两只手上都回落,此时卡住的是模型容量而不是数据量。
- 多源互补:固定 331 小时视触觉与 228 小时磁触觉,再加 441 小时压阻,8 个组合里 7 个变好;磁侧力误差从 4.34 N 降到 2.52 N、未来力误差从 3.77 N 降到 1.84 N,视触觉侧唯一退步是接触中心从 0.41 mm 涨到 0.68 mm。
- 同样 1,000 小时预算下,单源模型在自己传感器上 8 个组合里赢 7 个,接触中心误差 0.34 对 0.68 mm(视触觉)、0.33 对 1.12 mm(磁),未来力预测输 1.49 对 1.67 N。
- 换成信号重建目标就掉:1K 小时时接触中心误差 0.90 mm,VAE 是 3.03 mm、MAE 是 3.07 mm;检索 32.1% 对 4.4% 与 5.6%。
LingBot-Touch 在本地跑一次推理的步骤
- 从 Hugging Face 或魔搭下载 lingbot-touch-tiny 的 config.json 与 encoder.pt,放进 checkpoints/lingbot-touch-tiny/;模型文件不在代码仓库里,下载要账号对该仓库有权限。
- 建 Python 3.12.13 环境,装 PyTorch 2.11.0 与仓库本体。
- 按传感器选分支:Sharpa Wave 走视触觉,XHand 走磁触觉。
- 跑 infer.py,指定输入格式、模型目录、输入文件与输出路径。
- 读输出里的 latent,形状为 [B,N,C],同时取 time_id、finger_id、pos_xyz 三个地址。
- 下游读数用 cross-attention 查询,不要用逐 token 线性投影或均值池化。
conda create -n lingbot-touch python=3.12.13 pip=26.0.1 -y
conda activate lingbot-touch
python -m pip install "torch==2.11.0" --index-url https://download.pytorch.org/whl/cu130
python -m pip install .
python -m pip check
python infer.py --input-format sharpa \
--bundle checkpoints/lingbot-touch-tiny \
--input sample_data/sharpa/001_left.pt \
--output outputs/sharpa/001_left_features.pt \
--device cpu
样例里 Sharpa 的输入是 [1,16,5,200] 的标量读数,XHand 是 [1,16,5,120,3] 的三轴读数,XHand 还要走一次 120 到 96 的点选择。Sharpa 与 XHand 各带 30 组双侧输入,两个平台合计 120 个单手文件,每个 16 帧。输出目录里已有的特征文件不会被覆盖,重跑要换目录;机器有 NVIDIA 卡就把 –device cpu 换成 –device cuda:0。
LingBot-Touch 没有覆盖的传感器与手型
- 真机与仿真只用 Sharpa Wave 与 XHand1 两只手,论文把更多手型列为后续要补的实验。
- 电容式传感器没有进预训练,原因是当时拿到的电容数据没达到质量要求。
- 坐标与布局只覆盖指尖,手掌与指节其他位置的接触覆盖偏少,论文把扩展到整只手列为下一步。
LingBot-Touch 的下载地址与许可
- 项目主页 https://technology.robbyant.com/lingbot-touch
- 代码与数据接口 https://github.com/Robbyant/lingbot-touch
- Hugging Face 合集 https://huggingface.co/collections/robbyant/lingbot-touch
- 魔搭合集 https://www.modelscope.cn/collections/Robbyant/LingBot-Touch
- 论文 https://arxiv.org/abs/2611.12806
- 许可为 Apache 2.0,第三方组件保留各自许可。