
你有没有想过一只机械手抓杯子和抓一把螺丝刀动作应该完全不一样抓杯子你可能会整只手包裹上去虎口贴着杯壁五指自然收拢这是一种稳妥的抱住。但抓螺丝刀准备拧螺丝你会用拇指和食指捏住手柄末端其余手指微微翘起这是一种精细的捏住。同一只手两种截然不同的抓法背后是完全不同的任务意图。现在的问题是现在最先进的机器人抓取算法几乎完全不懂这个道理。它们只关心一件事能不能抓稳。给它一个杯子它大概率会用五个手指把杯子整个包起来因为这样最稳最不容易掉。至于你是想端起来喝水还是想把杯子倒扣过去晾干还是想用手指精确捏住杯耳它一概不管。这就好比你雇了一个搬家工人他只负责把东西从A点搬到B点不摔碎但完全不关心你搬这个东西是为了展示还是为了使用。这篇来自法国原子能委员会CEA List和巴黎萨克雷大学团队的论文就是想解决这个只管抓稳不管抓对的老问题。他们提出了一个叫 CoToGrasp 的框架核心目标是让机械手能按照人类的抓取分类学精确生成你指定的那种抓法哪怕面对的是它从没见过的物体。当前抓取算法的审美偏见要理解这篇论文的价值得先弄明白现在的抓取规划器到底出了什么问题。论文里做了一个挺扎心的实验。他们让四种主流的无条件抓取生成方法DFC、GenDexGrasp、DRO-Grasp、GOAG在同一批物体上各生成一百次抓取然后用一套自动分类系统去统计这些抓取到底属于人类抓取分类学里的哪一种模式。结果是灾难性的偏向。绝大多数生成的抓取都挤在包裹式的力量抓取这一个区域里论文用一张直方图画出来红框圈出的那部分几乎是一座孤峰剩下二十种精细抓取模式只能分到零星的几个百分点。这四种方法算出来的语义熵用来衡量抓取类型分布是否均衡的指标数值从0到1越接近1说明分布越均匀越接近0说明高度集中在少数几种模式上分别只有0.74、0.60、0.65、0.65而CoToGrasp达到了0.83。这个数字差距意味着什么意味着如果你想让机器人做一个精确的两指捏取动作用传统方法生成一百次可能大部分结果都是错的类型你得不断丢弃重来这个过程极其低效。为什么会这样因为这些方法在训练时优化的目标函数里压根没有抓取类型这个变量它们只优化物理稳定性和力闭合而包裹式的抓取天然最稳。这就像你训练一个学生只以考试不挂科为目标他自然会去选最容易拿分的题型去练习久而久之其他题型完全生疏哪怕你后来告诉他这次考试必须做某种特定难度的题他也做不出来。为什么加标签这么难数据集的死结那你可能会问既然问题这么明显为什么不干脆给训练数据打上这是精细抓取这是力量抓取的标签让模型学着区分呢这正是论文点出的第二个核心难题给抓取数据打上任务标签成本高到不现实。现有的一些方法比如论文中提到的 Dexonomy确实尝试过这条路它们用海量的解析计算构建数据集把每一种抓取类型和具体物体的网格严格绑定在一起。问题在于这种绑定太死了。如果一个新物体的局部几何形状和预先算好的关节模板对不上会发生什么论文里写得很直白优化直接失败或者退化成一种功能上完全错误的抓取类型。这就好比你按照某个特定尺寸的门把手专门设计了一套开门的手部动作模板一旦遇到形状稍微不同的门把手这套动作要么根本用不上要么勉强用上了但姿势别扭完全失去了原本要达成的开门效果。物体几何形状的多样性是无穷的你不可能给每一种可能的形状都算一遍专属模板这个数据收集的坑本身就填不满。换个思路不看物体看手CoToGrasp 的解法说出来其实挺反直觉的既然物体形状千变万化没法穷举那就干脆别在物体身上学接触规律了转而在手上学。论文提出了一个概念叫物体无关训练object-agnostic training意思是整个模型的训练过程完全不涉及任何具体物体的网格数据只用机械手自身的点云去训练。这背后有一个很巧妙的逻辑转换。论文指出接触这件事本质上是对称的手上某个点碰到了物体等价于物体上某个点碰到了手。传统方法习惯站在物体的角度问物体表面哪里可以被摸,这篇论文把提问方式倒过来问这个物体会激活手上的哪些区域。这个视角反转听起来只是文字游戏但它带来了实实在在的好处。物体表面是一个无穷大、无穷多样的空间理论上世界上物体的形状组合是无限的。而机械手的表面结构是固定的它的关节数量、活动范围、几何形状都是已知且有限的。把学习的对象从无边无际的物体空间换成边界清晰、维度有限的手部空间问题一下子被简化了。这就像你要教一个新员工处理客户投诉与其试图穷举世界上所有可能出现的投诉场景那是永远学不完的不如反过来专注训练他自己能做出的几种标准应对动作模块比如安抚、道歉、补偿、转接。不管客户投诉的内容多么千奇百怪最终都要落到这几个动作模块的组合上。手的动作能力是有限且固定的学会这个有限集合比试图预判所有物体形状要靠谱得多。一个统一的练功房特征化的规范工作空间光是在手上学这个思路还不够因为训练时用的是手的点云推理时面对的却是完全陌生的物体点云两种数据的几何特性天差地别直接拿训练好的模型去处理物体数据模型会一脸懵。为了解决这个训练和推理阶段不认识对方的问题论文设计了一个叫做特征化规范工作空间Feature-based Canonical Workspace的中间层。这个工作空间本质上是一组固定分布在机械手周围空间里的采样点不管你输入的是手还是物体都要先经过一个 DGCNN 编码器一种专门处理点云数据的图卷积神经网络能够提取每个点周围的局部几何特征比如曲率、法向量等细节提取局部几何特征然后通过加权的 k近邻聚合一种将邻近点的特征信息汇聚到某个固定采样点上的方法距离越近的点权重越大把这些特征投影到这组固定的工作空间点上。关键是这个投影过程还引入了一个叫做对齐距离aligned distance一种同时考虑两点之间欧氏距离和表面法向量对齐程度的度量方式用来判断两个表面是否可能真实接触的度量方式来控制权重衰减确保只有法向量方向合适、真正可能发生物理接触的点才会被有效聚合进来那些法线方向不对的点即使距离很近权重也会被压低。论文里做了一个量化验证用余弦相似度衡量手部特征和物体特征在这个工作空间投影前后的对齐程度。原始的 DGCNN 特征匹配点对之间的相似度只有0.35说明手和物体的原始几何特征差异确实很大。但投影到规范工作空间之后这个相似度跳到了0.61加上后续的注意力机制处理进一步提升到0.66。这组数字变化说明这个练功房式的中间层确实成功地把两种截然不同的数据源拉到了同一个可比较的语义空间里。这就好比两个说着完全不同方言的人要合作干活你不能指望他们直接听懂彼此但如果给他们一套统一的手势信号系统无论各自原本说什么方言都通过这套手势系统交流合作就顺畅了。工作空间起的就是这个手势系统的作用它不关心你原本是手还是物体只关心投影后大家都在同一套坐标和特征体系里说话。如果没有这一层转换模型在训练阶段学到的模式和推理阶段面对的数据分布之间会存在巨大鸿沟泛化能力会大打折扣。给每种抓法一个官方档案接触拓扑的定义前面说的都是怎么让手和物体的特征对齐但还有一个基础问题没解决怎么定义这是哪一种抓法论文采用了 Gonzalez 分类法一套由 Gonzalez 等人在2014年提出的人类抓取分类体系严格根据手部实际参与接触的表面区域来划分抓取类型而不是根据物体形状一共定义了21种接触拓扑模板从精细的指尖捏取到力量型的整手包裹还有专门针对工具使用的高度约束型抓法。每一种模板本质上是一个语义掩码标记出手上哪些区域应该在这种抓法下参与接触。论文还把这21种模板归纳成三大功能组精细抓取Precision、力量抓取Power以及针对特定工具使用场景高度定制的物体专属抓取Object-Specific。这套分类法之所以被选中是因为它严格基于手的接触表面而不是物体形状这意味着无论换成什么样的机械手只要能把手部表面按照对应的解剖区域划分好就能直接套用同一套语义标签体系。论文里给出了两种不同的机械手五指的 Shadow Hand 和四指的 Allegro Hand分别做了这种区域划分的映射证明了这套分类体系的通用性。自注意力机制让模型自己发现哪些接触点该结伴出现有了统一的工作空间和统一的分类标签接下来要解决的是怎么让模型学会某种抓取类型对应的具体空间分布规律。论文用了一个 Transformer 编码器一种基于自注意力机制的神经网络架构能够让序列中任意两个位置的信息互相交互捕捉长距离的依赖关系来处理工作空间里的这些采样点。这里有一个设计细节挺讲究他们没有采用标准视觉 Transformer 里常见的做法即用一个单独的全局 CLS 标记来承载条件信息而是把代表当前请求抓取类型的语义嵌入向量直接拼接到工作空间里每一个采样点的特征上。为什么要这么麻烦论文给出的解释是如果只用一个孤立的全局标记来传递我现在要做精细捏取这个语义信号这个信号在经过很多层深层注意力计算之后容易被稀释掉尤其是当你面对成千上万个空间标记的时候。把语义信号硬编码进每一个点里相当于给每个局部特征都反复提醒一遍当前的任务目标确保深层网络在每一层计算时都不会忘记这个约束。这就好比你交代团队一个复杂任务时如果只在开会最开始说一句记住这次的重点是速度优先等讨论到后面细节环节这句提醒可能早就被大家淡忘了。但如果你把速度优先这四个字写在每一份分发下去的文件上团队成员在处理每一个具体子任务时都能重新看到这个提醒执行时就不容易跑偏。之后这些经过注意力处理的特征还会经过一个 Set Transformer一种专门用于处理无序集合数据的注意力网络通过多头注意力池化和集合注意力块两个模块把一堆散乱的元素压缩成一个统一的描述向量压缩成一个全局的潜在描述符最终喂给一个条件变分自编码器CVAE一种生成模型能够在给定条件的情况下从一个概率分布里采样出多样化但符合条件约束的输出结果来生成具体的接触概率图。论文特别提到因为宏观层面的抓法多样性已经被严格的拓扑条件约束住了CVAE不需要再去建模那种同一个物体到底该捏还是该包的巨大不确定性它只需要处理同一种拓扑类型下的局部微小变化比如手指沿着边缘轻微滑动的位置差异。这个约束让原本容易出问题的标准高斯先验分布在这里反而变得高效且够用避免了很多生成模型常见的模式坍缩或者输出模糊的问题。生成之后三道关卡把关模型预测出一个接触模板之后并不能直接拿去执行论文设计了一套级联式的验证流程确保最终生成的抓取既符合语义又物理上站得住脚。第一道关卡叫标签一致性检查用来判断预测出的接触区域和真实需要的接触区域差异是不是在可接受范围内论文允许最多一个区域的偏差超过这个阈值就直接判定这次生成不合格果断放弃。第二道关卡是力闭合验证这是一种简化的力学稳定性估算方法快速判断预测出的接触点分布组合起来理论上能不能形成一个稳定的抓取。如果这一步没通过模型会重新从潜在空间里采样一个新的方案最多尝试20次。第三道关卡是关节配置优化这一步会用一个能量函数把手的实际几何形状去对齐预测出的三维接触点同时避免自身碰撞、避免穿透物体、遵守关节活动范围的限制。论文里还专门加了一个排斥力项用来把没有被分配接触任务的手指和掌心部分主动推离物体防止这些多余部位意外贴上物体表面破坏原本要求的接触拓扑纯粹性。这套三重验证机制的意义在于它把生成一个大概能用的结果和生成一个严格符合语义要求的结果这两件事拆分开来专门处理。如果没有这套过滤流程模型很可能生成一堆看起来还行但细看接触区域已经悄悄跑偏的抓取论文的消融实验也证明了这一点去掉标签一致性检查之后成功率和拓扑一致性都出现了明显下滑。硬碰硬的对比实验结果说话方法上的设计说了这么多最终还是得看实际表现。在无条件基线对比实验里论文用 Multidex 物体集测试了 CoToGrasp 和 DFC、GenDexGrasp、DRO-Grasp、GOAG 这四种方法。| 方法 | 是否物体无关训练 | 成功率SR | 语义熵HTC | 生成速度(秒/次) ||---|---|---|---|---|| DFC | 是 | 72.15 | 0.7389 | 1800 || GenDexGrasp | 否 | 71.15 | 0.5956 | 14.65 || DRO-Grasp | 否 | 63.30 | 0.6504 | 1.72 || GOAG | 是 | 77.90 | 0.6527 | 0.20 || CoToGrasp | 是 | 36.94 | **0.83** | **0.11** |乍一看 CoToGrasp 的整体成功率反而是最低的只有36.94%比 GOAG 的77.90%差了一大截这是不是说明这个方法反而更差了论文对此的解释是这恰恰说明了 CoToGrasp 是在认真执行任务而不是在偷懒走捷径。它被强制要求生成各种各样的拓扑类型包括那些物体几何形状本身并不天然适合的精细捏取因此在很多物体上即使一个精细抓取生成得再标准物理上也未必能稳当抓起来因为物体本身可能就不太适合被那样捏。相比之下其他方法可以自由选择最容易稳定的包裹式抓取成功率自然显得高但这份高成功率的代价是完全牺牲了功能多样性。而 CoToGrasp 的语义熵达到0.83是所有方法里最高的同时生成速度也是最快的每次只要0.11秒。再看和真正带拓扑条件的方法 Dexonomy 的正面对比这个对比是在 DexGraspNet 这个包含1126个几何多样物体的大规模数据集上做的。| 方法 | 成功率SR(%) | 拓扑一致性TC(%) | 语义熵HTC ||---|---|---|---|| Dexonomy | 27.16 | 14.28 | 0.77 || CoToGrasp | **29.75** | **17.18** | **0.96** |这次 CoToGrasp 在成功率和拓扑一致性上都占了优势。论文进一步拆解了力量、精细、物体专属这三大类别的具体表现CoToGrasp 在精细抓取类别上的优势尤其明显22.71%对Dexonomy的12.36%几乎是翻倍的差距。更值得琢磨的是论文里挖出的一个伪异常现象。在针对具体拓扑类型 M11物体专属类和 M21力量类的单独测试里Dexonomy 报出了看起来相当亮眼的60.5%和37.2%成功率但论文通过定性分析发现这背后其实是严重的模式坍缩当 Dexonomy 遇到几何形状比较刁钻的物体时它会悄悄放弃原本要求的拓扑类型转而默认生成一种未经验证的力量型包裹抓取因为它没有一个严格的后验拓扑检查机制这些实际上答非所问的抓取被错误地记录成了成功案例。而 CoToGrasp 因为有前面提到的验证流程能主动识别并拒绝这类答非所问的幻觉输出最终在 M21 这个类别上依然保持了33.5%的真实成功率。这个细节其实挺发人深省的它提醒我们一个看起来数字很漂亮的评测结果背后可能藏着某种系统性的偷懒行为只有配上足够严格的验证手段这些数字才真正靠得住。论文还专门分析了物体几何复杂度对两种方法的影响用凸度物体体积和其凸包体积的比值数值越低说明物体形状越不规则、凹陷越多来衡量物体难度。从凸物体过渡到非凸物体时CoToGrasp 保留了58.72%的成功率而 Dexonomy 只保留了37.42%。在凹陷特别严重的物体凸度小于0.4约占数据集的4%上CoToGrasp 的成功率是18.30%拓扑一致性居然还逆势上升到19.17%而 Dexonomy 在这类困难物体上的拓扑一致性直接崩到8.94%。这说明依赖固定关节模板的方法一旦碰上复杂形状就容易完全放弃语义要求而基于接触区域推理的方法反而能更好地利用局部复杂特征来锚定语义信息。从仿真走到真实世界最后论文没有止步于仿真数据还做了真实机器人实验。他们用一台6自由度的 UR10 机械臂配上 Allegro Hand一种四指仿人机械手在 YCB 数据集一套广泛用于机器人操作研究的标准测试物体集合的物体上执行了生成出来的抓取。因为 Allegro Hand 缺少小指某些必须五指参与的拓扑类型比如M6被主动排除掉了。论文展示了多张真实抓取的照片涵盖了从精细到力量各个类别的拓扑证明了在仿真中生成的这些接触拓扑确实能够在物理硬件上被成功执行并静态保持住。不过论文也很坦诚地讨论了真实执行中的困难。他们发现仅靠简单的线性插值让手指闭合会导致手指到达物体表面的时间不同步先接触的手指会产生不平衡的力矩把物体推离预定位置导致真实接触点偏离了原本预测的最优区域。这提示未来的工作需要往力位混合控制或者触觉反馈这类更主动感知接触状态的方向去改进。QAQ1CoToGrasp解决的核心问题是什么A现在主流的机械手抓取算法只优化物理稳定性导致生成的抓取几乎全部集中在包裹式的力量抓取上很少能按照人类的抓取分类学生成精细捏取或工具专用的特定抓法。CoToGrasp通过让模型学习接触拓扑而非物体形状本身解决了这个功能单一化的问题。Q2CoToGrasp为什么不需要给每个物体标注抓取类型的数据A因为它采用了物体无关训练方式模型完全在机械手自身的点云上训练学习的是手部的接触能力而不是特定物体的几何匹配关系。推理时只需要把新物体投影进同一个规范工作空间就能实现对未见过物体的零样本泛化。Q3CoToGrasp和Dexonomy相比表现如何A在DexGraspNet测试集上CoToGrasp的成功率是29.75%对Dexonomy的27.16%拓扑一致性是17.18%对14.28%。在精细抓取类别上优势更明显而且在几何形状复杂的非凸物体上CoToGrasp性能保留得也更好。