当GelSight、DIGIT、BioTac、PaXini这些传感器同时出现在一个实验室里,它们输出的数据却互不认识——这不是工程bug,是行业级的基础设施缺失。

01 一个被忽视的事实:触觉数据没有"通用语言"

2026年,具身智能赛道最火的词是VLA(Vision-Language-Action)、是世界模型、是端到端策略。但很少有人认真讨论过一个前提问题:模型训练用的触觉数据,格式是统一的吗?

答案是不统一,而且非常不统一。

举个例子:同样是"机器人抓取一个塑料瓶"这个动作:

  • GelSight 输出的是凝胶形变的图像序列——640×480像素的灰度图
  • PaXini 输出的是电容阵列的力矩阵——8×8或16×16的数值网格
  • BioTac 输出的是多模态信号——阻抗、温度、三轴力,各自独立采样
  • DIGIT 输出的是视触觉图像——但分辨率、坐标系和GelSight完全不同

这四个传感器都在测量同一件事:手指接触物体时发生了什么。但它们的数据格式完全不同,处理代码完全不同,标注方式完全不同。

一个实验室如果同时用两种传感器,就需要写两套处理代码、维护两套标注流程、训练两套模型。想比较两个传感器的效果?先花两周做数据对齐。

这就是触觉数据的现状:硬件百花齐放,数据各自为政。

02 为什么不能直接统一原始信号?

面对数据碎片化,最直觉的想法是:把所有传感器的原始输出统一到一种格式不就行了?

新智具身(NeoteAI)最近发布的NeoForce就是这么做的——把任意触觉信号映射为三轴力场(2个切向剪切 + 1个法向压力),用神经网络做物理表征层的统一。这是一个很好的方案,但它回答的是另一个问题。

物理信号层的统一,回答的是"传感器感受到了什么"——力的大小、方向、分布。这很重要,但只对了一半。

语义标注层的统一,回答的是"发生了什么、意味着什么"——这是接触还是滑移?这是抓取还是放下?纹理是光滑还是粗糙?力是在增大还是释放?

这两层不是替代关系,而是互补关系:

plaintext

传感器原始信号 → 物理表征(NeoForce类方案)→ 语义标注(TLabel)→ 模型训练

物理表征告诉你"法向力1.2N,切向力0.3N";语义标注告诉你"正在发生滑移,置信度0.92,处于grasp阶段"。模型需要的是后者——它不关心传感器怎么算出力的,它关心接触状态是什么。

TLabel选择做语义标注层的标准化,不替代物理表征层,而是在它之上叠加一层通用语义。

03 14维Schema:不是拍脑袋定的数字

TLabel Schema V2定义了14个语义维度。这个数字是怎么来的?

不是从学术论文里推导出来的,是从实际标注需求反推出来的。我们梳理了 tactile manipulation 领域最常见的标注需求,发现绝大多数研究者和工程师在做数据分析时,关心的就是这几类问题:

表格

问题 对应维度
碰没碰到? contact
碰在哪了? contact_centroidcontact_region
用了多大劲? force_magnitudeforce_vectortorque_vector
滑没滑? slip_eventslip_velocity
在做什么动作? manipulation_phase
摸起来什么感觉? texture_classobject_deformationtemperature
这个标注靠谱吗? confidencecompliance_level

14个维度,覆盖了从空间感知、力学感知、表面感知到动态感知和元信息的完整链路。不多不少——少了不够用,多了传感器填不出来。

关键设计决策:Capability Declaration(能力声明)

这是TLabel最核心的机制。我们不要求所有传感器都填满14个维度——那是不可能的。BioTac能测温度,GelSight测不了;PaXini能测法向力,但给不出精确的三轴力向量。

所以每个传感器适配器在输出数据时,先声明自己能标注什么、不能标注什么

json

{

"capabilities": {

"contact": true,

"force_vector": false,

"temperature": false,

"slip_event": true

}

}

能标注的字段填值,不能标注的字段填null。绝不编造数据。

这个机制让一个49元的单点压力传感器和一个4900元的BioTac,都能用同一套格式输出——只是信息密度不同。

04 Compliance Level:让低端传感器也能"入网"

能力声明解决了"诚不诚实"的问题,但还有一个问题:下游模型怎么知道这批数据的信息量够不够用?

这就是Compliance Level(合规等级)的作用。TLabel定义了四个等级:

表格

等级 含义 必填字段 典型传感器
L1 基础触觉 contact, centroid, slip, confidence 单点电阻式、接近觉传感器
L2 力感知 L1 + force_magnitude PaXini, YCB-Slide, GelSight
L3 完整力向量 L2 + force_vector [Fx,Fy,Fz] ToucHD, 标定的DM-TAC
L4 富语义 L3 + 全部可选字段 BioTac, 下一代多模态传感器

等级是累积的:L3自动满足L2和L1的所有要求。

等级是物理决定的:一个只能测法向力的传感器,正确标注就是L2,不是"不合规"。

等级是自动设置的:适配器根据传感器物理能力自动设定,不需要人工干预。

这意味着什么?意味着一个做低成本灵巧手的团队,用最便宜的力传感器(L1/L2),也能产出格式合规的数据。等将来换了好传感器,历史数据和新数据可以在同一套格式下共存。

数据不会因为传感器升级而报废。

05 三层架构:为什么要把Schema和Adapter分开

v0.17版本做了一个重要的架构决策:把Schema层和Adapter层彻底分离

plaintext

Layer 1: Schema → 14维语义标准 + Compliance Level L1-L4

Layer 2: Adapters → DataAdapterBase / SensorAdapterBase

Layer 3: Downstream → 特征派生 · 数据增强 · 格式导出

为什么要分这么清楚?因为标准应该是稳定的,而适配器应该是可以随意扩展的

TLabel定义的14维Schema是一种"语义协议"——就像UTF-8定义了字符编码规则,但不会限制你能编码哪些语言。Schema V2确定之后,不应该因为某个新传感器出现就去改Schema——而应该是写一个新的Adapter去适配。

目前TLabel已经内置了9个适配器:

  • 数据集适配器(7个) :GelSight/DIGIT、DM-TacClaw、PaXini、UniVTAC、TacQuad、VTouch、YCB-Slide
  • 实时传感器适配器(2个) :PaXini GEN3、DM-Tac

添加一个新传感器只需要做三件事:

  1. 继承DataAdapterBaseSensorAdapterBase
  2. 实现extract_schema()方法——把原始数据映射到14维Schema
  3. 声明compliance_level

整个流程大约30分钟。

这就是把标准做成基础设施的好处:核心层不需要频繁改动,生态层可以无限扩展。

06 从22维到14维:做减法比做加法难

用过v0.16的人可能会注意到:TLabel从v0.16到v0.17,语义维度从22个减到了14个。

这不是删减功能,是重新分类

v0.16的设计思路是"把所有可能的触觉信息都塞进Schema"——结果是一些维度在实际使用中几乎填不出来(比如whole_hand_coordination,大部分传感器根本拿不到这个信息),而另一些真正需要的维度又定义得不够清晰。

v0.17的做法是:

  • 砍掉传感器物理上填不出来的维度(如whole_hand_coordination、force_direction)
  • 合并语义重复的维度(force_direction → force_vector)
  • 新增实际需要的维度(confidence、compliance_level、force_magnitude、torque_vector、temperature)
  • 把可选维度彻底标记为Optional,不强制要求

最终14维,每一维都有明确的物理含义、数据类型和填充条件。

做标准最难的不是定义多少规则,而是克制住定义更多规则的冲动。

07 和现有生态的关系

TLabel不打算替代任何东西。它的位置很明确:触觉数据从"传感器原始输出"到"模型可训练数据"之间的标注中间层

表格

现有标准 它做什么 TLabel怎么配合
LeRobot 机器人数据管理框架 TLabel标注可以附加到LeRobot episode
RLDS/Open X-Embodiment 任务级数据格式 TLabel提供逐帧触觉细节
FTP-1 基础模型训练格式 TLabel可直接导出为FTP-1 Zarr
NeoForce 物理信号层统一 TLabel做语义层统一,两者叠加

TLabel已经实现了到LeRobot、FTP-1、JSON/CSV的导出,RLDS导出在开发中。

08 一些数据

截至2026年7月:

  • GitHub: 34 stars,230 commits,21 releases,最新v0.17.2
  • PyPI: 月下载3500+次
  • 生态收录: Awesome-Touch、TACO、Forge等上游项目
  • 已验证传感器: GelSight、PaXini PXCap、DIGIT三种物理原理完全不同的传感器
  • 硬错误: 75万+帧数据中0个Schema验证错误
  • 跨场景泛化准确率: +7.93%(p=0.029)
  • 滑移风险检测F1: +10.35%(p<0.001)

这些数字不大,但说明一件事:Schema设计是可行的,而且在实际数据上跑得通。

09 下一步

TLabel目前还在非常早期的阶段。接下来要做的事:

  1. 更多传感器适配器——尤其是Lumi-Tac等国产视触觉传感器
  2. 触觉数据可视化——让标注结果直观可见
  3. 数据增强工具——基于语义标注做有意义的增强,而不是随机噪声
  4. 社区建设——让更多做触觉的人参与进来,一起完善Schema

标准从来不是一个人定的,也不是一个团队定的。它是在足够多的人用了之后,自然形成的共识。TLabel现在做的,是把这个共识的起点搭出来。

项目地址github.com/liesliy/tlabel

安装pip install tlabel

文档TLabel Format Specification v2.1

作者系牛宿科技创始人,专注具身智能触觉数据基础设施。欢迎交流。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐