

Robotic Grasp Detection (2): 抓取几何与质量评价
以具体抓取候选为线索,从摩擦锥、力旋量、力闭合到鲁棒质量,解释解析抓取质量如何计算,以及它与仿真和真实成功的区别。
先看一个具体问题(A Concrete Starting Point)#
假设机器人要从桌面上夹起一个纸盒。视觉系统已经找到了两个候选抓取:
- 候选 A:两个夹指接触纸盒的左右两侧,接触位置大致位于中部;
- 候选 B:两个夹指也能接触左右两侧,但位置更靠近顶部。
这两个候选都可能看起来“能够夹住”。但是,当机器人抬起纸盒、机械臂发生一点姿态误差,或者纸盒受到侧向扰动时,它们的表现可能完全不同。候选 A 也许能够稳定抬起,候选 B 则可能让纸盒旋转或从夹指中滑落。
因此,抓取检测(Grasp Detection)不能只回答:
这个姿态看起来像不像一个抓取?
它还需要回答:
在多个可行候选中,哪一个更值得执行?
这就是抓取质量(Grasp Quality)要解决的问题。抓取质量不是一个由网络凭空产生的神秘分数,而是对某个抓取候选进行评价的结果。评价可以来自接触力学模型、仿真执行,也可以来自真实机器人试验;不同来源得到的分数,含义并不相同。
Grasp Quality 的宽泛定义(A Broad Meaning of Grasp Quality)#
对于给定的物体和机械手,通常不止一个抓取能够满足基本要求。Roa 和 Suárez 将抓取质量指标(Grasp Quality Measure)概括为:用于量化一个抓取“好坏程度”的指标(an index that quantifies the goodness of a grasp)[1]。
这个定义故意比较宽泛,因为“好”取决于我们究竟想评价什么:
- 如果关心接触力能否抵抗外部扰动,质量可以由力闭合(Force Closure)或 Ferrari–Canny 指标表示;
- 如果关心感知误差和控制误差,质量可以表示不确定性下的成功概率;
- 如果关心仿真中的动作结果,质量可以是是否成功闭合和抬升;
- 如果关心真实部署,质量可以是多次机器人试验中的执行成功率;
- 如果抓取服务于后续操作,质量还要考虑抓取是否适合任务。
所以,Grasp Quality 不是所有论文都共用的一个固定公式。下面这三个概念需要先分开:
| 概念 | 含义 | 典型输出 |
|---|---|---|
| 力闭合(Force Closure) | 接触力学上是否能够抵抗各个方向的外部扰动 | 通常是二值判断 |
| 解析质量(Analytic Quality) | 在力学模型下,抵抗扰动的余量有多大 | 连续分数,例如 Ferrari–Canny Epsilon |
| 执行成功(Execution Success) | 机器人实际是否完成闭合、抬升或后续任务 | 二值结果或成功率 |
一个力闭合抓取不一定能够被机器人成功执行;一个真实执行成功的抓取,也不一定具有较高的 Ferrari–Canny 分数。它们评价的是同一个抓取候选的不同方面。
本文聚焦平行夹爪(Parallel-Jaw Gripper),但重点不是某一副夹爪,而是建立一条从接触几何到质量分数的推导链:
先固定一个最简单的物理模型(A Minimal Physical Model)#
为了能够计算,我们先暂时做几个简化:
- 物体是刚体(Rigid Body),形状在抓取过程中不改变;
- 抓取过程是准静态的(Quasi-Static),暂不考虑碰撞冲击和高速动态;
- 夹指与物体在有限个接触点接触;
- 接触遵循库仑摩擦模型(Coulomb Friction Model);
- 物体的质心、接触位置和接触法线已经能够估计。
这些假设不是现实世界的完整描述,而是让接触力可以被写成公式。后面讨论的每个解析指标,都只在这些假设下成立。
下面统一使用物体坐标系,并把向量写成列向量。设 为接触点数量,接触编号为 ;这里 表示正整数集合。三维位置、方向和力都属于 ;标量(例如法向力、摩擦系数和长度)属于 。
力负责平移,力矩负责旋转#
先不考虑摩擦。物体受到的接触力可以改变物体的平移运动;如果力的作用线没有经过质心,它还会产生旋转效果。
设第 个接触点为 ,物体质心为 ,接触力为 。从质心指向接触点的向量是力臂(Moment Arm):
接触力产生的力矩(Torque) 为:
这里的叉乘说明了一个很直观的事实:力越大、力臂越长,产生的旋转效果通常越明显;如果力的作用线正好经过质心,力矩就会变小。
在准静态平衡下,设 和 分别是作用在物体上的外部力和外部力矩。记 为三维零向量,接触力和外部扰动需要满足:
第一行平衡平移,第二行平衡旋转。抓取质量的核心问题,就是判断接触力是否有足够的方向和幅值,同时满足这两个平衡关系。
摩擦锥:接触力不是任意方向(Friction Cone)#
如果夹指和物体完全没有摩擦,夹指只能沿接触法线推物体。现实中的夹指存在摩擦,因此还可以施加一部分切向力,但切向力不能无限增大。
把第 个接触力分成法向分量和切向分量:
其中 是指向物体内部的单位接触法线(Contact Normal), 是法向力大小, 是切向力向量:
- ,且 ;
- ,所以 位于接触切平面内。
库仑摩擦模型给出的限制是:
其中 是摩擦系数(Friction Coefficient)。当 较大时,切向力允许更大,接触力的方向也可以偏离法线更多。
把所有满足这个不等式的力方向画在接触点周围,就得到一个圆锥,称为摩擦锥(Friction Cone)。记摩擦锥半角为 ,则:
因此,判断一个候选是否可能稳定,第一步不是看两个接触点距离有多远,而是看夹指施加的力是否落在两个接触点各自的摩擦锥内。
为什么要离散化摩擦锥#
连续圆锥包含无穷多个力方向,计算机通常用 条边组成的多面锥近似它。设 是接触切平面的两个正交单位向量,即 、 且 ;再设每个接触的法向力预算为 。令 ,第 条边对应的接触力 可以写成:
这些 是摩擦锥边界上的代表性接触力。 越大,圆锥近似越精细,但后续需要处理的候选力也越多。
如果只需要表示允许的力方向,通常令法向力预算为 ;如果需要保留力的物理尺度,则使用具体的 。在不带上限的库仑模型下,第 个接触的摩擦锥可以写成:
因此, 是一个力的集合,而不是一个单独的力向量; 则是给定法向力预算下对这个集合边界的离散采样。
这里的 很重要。如果不限制法向力大小,那么把所有接触力同时放大,就可以得到任意大的“抗扰动能力”,质量分数将失去有限尺度。因此,计算 Ferrari–Canny 指标时必须说明力是否被归一化,以及采用了怎样的力预算。
对向抓取:一个快速的几何判断(Antipodal Grasp)#
对于平行夹爪,常见的候选生成方法是寻找对向抓取(Antipodal Grasp)。它的直观条件是:
- 两个接触点位于物体相对的两侧;
- 两个夹指的压紧方向大致相反;
- 连接两个接触点的方向落在两侧接触摩擦锥允许的范围内。
如果两个夹指只是碰到了物体,但接触力方向明显偏向同一侧,物体就可能沿着另一个方向滑走。对向条件可以快速排除这类候选。
但对向抓取只是局部几何条件,不是完整的质量评价。即使一个候选满足对向条件,它仍然可能:
- 与桌面或邻近物体碰撞;
- 夹爪开口不足;
- 夹得太浅;
- 产生过大的旋转力矩;
- 超出机械臂的可达范围。
因此,对向抓取通常用于候选生成,随后还需要进行力闭合、解析质量和执行可行性检查。
把接触力写成力旋量(Wrench)#
前面的分析同时涉及合力和力矩。为了用同一个数学对象表示它们,机器人抓取理论把三维力和三维力矩合称为力旋量(Wrench)。设 是物体的特征长度(Characteristic Length),并用它把力矩归一化;单个接触产生的归一化力旋量 写成:
上面有六个分量:三维力 和三维力矩 。除以 是为了处理单位不同的问题:
- 力的单位是牛顿(N);
- 力矩的单位是牛顿米(N·m);
- 是物体的特征长度(Characteristic Length)。
如果不进行归一化,就不能直接把力和力矩放在同一个欧氏距离中比较。 越大,同样大小的力矩在归一化后越小;因此 会影响之后的质量分数,复现实验时必须记录这个参数。
抓取映射(Grasp Map)#
把接触力转换为力旋量,可以写成矩阵形式。先定义三维单位矩阵 ,以及叉乘矩阵 ;对任意 ,它满足 。下式中的 就是同一个矩阵,因为 。于是抓取映射 为:
其中 是叉乘矩阵。它的作用就是把“力作用在什么位置”编码进矩阵:同一个力作用在不同的接触点上,会产生不同的力矩。
如果有 个接触点,把所有接触力按接触编号拼接为 :
把所有接触的映射块横向拼接为 ,就可以写成:
这里的 是某一组接触力产生的合力旋量;把所有允许的 收集起来,才得到后面定义的集合 。
Grasp Wrench Space:抓取能够抵抗哪些扰动#
到目前为止,我们已经完成了三次转换:
把所有可能的力旋量收集起来,就得到抓取力旋量空间(Grasp Wrench Space, GWS)。真实的 GWS 位于六维空间 ,因为它同时包含三个力分量和三个力矩分量。虽然人无法直接画出六维空间,但计算机可以在六维空间中计算它的凸包(Convex Hull)。
在常见的接触力归一化下,先把每个接触的摩擦锥离散成 ,再计算接触点 的力矩 和对应力旋量 :
记 为包含给定点集的最小凸集。对所有原始力旋量求凸包,得到 :
“求凸包”可以先用二维例子理解:给平面上一组点,用一条橡皮筋把它们从外面包起来,橡皮筋围成的区域就是凸包。在这里,点变成了六维向量,橡皮筋变成了六维凸多面体。
实际程序通常执行以下步骤:
接触点 、法线 、质心 、摩擦系数 、摩擦锥边数 、法向力预算 和特征长度
- for 对每个接触点
- 建立接触切平面的正交单位基
- for 对每条摩擦锥边
- 根据离散摩擦锥公式计算
-
计算 和
- end for
- end for
-
在 中计算
如果每个接触点有独立的力上限,允许的 GWS 更严格地说是各接触力旋量集合的闵可夫斯基和(Minkowski Sum),而不是简单套用同一个总力预算。这个区别会影响最终分数,但初学时可以先掌握“摩擦锥边 → 力旋量点 → 凸包”的主线。
Force Closure:原点为什么重要#
外部扰动可以是任意方向的力和力矩,例如:
- 从侧面推物体;
- 向下拉物体;
- 让物体绕质心旋转。
对于下面的有限力旋量凸包判据, 表示六维零向量:
如果接触力能够组合出大小相反的力旋量,抵消这些扰动,抓取就具有较强的抗扰动能力。
在 GWS 中,常用的判断方式是看六维原点 是否位于凸包 的内部。这里 表示集合 的内部:
这里的“原点”代表零合力、零合力矩;“位于内部”表示原点周围存在一个小区域,扰动方向稍微变化时,仍然可以通过改变接触力来平衡。
因此,Force Closure 是一个二值判断:满足或不满足。它回答的是:
理论上,接触力是否能够抵抗各个方向的外部扰动?
它没有回答以下问题:
- 需要多大的夹紧力?
- 机器人能否准确到达接触点?
- 夹爪是否会先撞到桌面?
- 摩擦系数的估计是否准确?
- 真实物体是否会变形?
这也是为什么还需要连续的质量指标。
Ferrari–Canny:从“能不能”到“余量有多大”#
Force Closure 只能把抓取分成“可以”和“不可以”。但如果两个候选都满足 Force Closure,我们还想知道哪个候选更有余量。
Ferrari–Canny Epsilon 指标用一个非常直观的几何量回答这个问题:以 GWS 原点为球心,能够放进 GWS 的最大球半径是多少。下面用 表示这个半径。
假设凸包已经被写成一组半空间约束。这里 是凸包面的数量;对每个 , 是第 个面的外向法向量, 是该面的偏置; 仍表示任意一个力旋量:
其中每个约束对应凸包的一个面。若原点位于凸包内部,则在采用外向法向量、因而 的约定下,原点到第 个面的距离 为:
最小的距离就是最薄弱方向的余量:
计算过程可以概括为:
- 离散每个接触的摩擦锥;
- 将每条锥边变成六维力旋量;
- 在 中求凸包;
- 检查原点是否在内部;
- 求原点到所有凸包面的距离;
- 取最小距离作为 。
因此, 不是“两个接触点距离越远越大”的简单几何启发式,而是 GWS 在最弱方向上的安全余量。摩擦锥边数、力矩归一化、最大接触力和接触模型都会影响它 [1]。
其他解析指标#
除了 ,还可以使用其他指标。令 分别表示矩阵 的最小、最大奇异值,并令 表示各向同性分数,则常见形式为:
-
GWS 体积(Wrench-Space Volume):计算 的六维体积,描述整体覆盖范围;
-
抓取矩阵最小奇异值:如果 的最小奇异值很小,说明某个方向的力传递接近退化;
-
各向同性(Isotropy):
这个比值越接近 ,表示不同方向的力传递越均衡;
-
几何和环境指标:例如接触到质心的距离、夹爪闭合余量、表面平坦度、重力方向和碰撞距离。
这些指标没有绝对的“最佳选择”。 强调最弱方向,体积强调整体范围,各向同性强调方向均衡,碰撞距离则关注执行安全。Hybrid Physical Metric 将力闭合、平坦度、重力和碰撞等因素结合起来 [6],说明场景级抓取通常需要组合多个评价信号。
鲁棒抓取质量:把误差加入计算(Robust Grasp Quality)#
上面的计算默认物体模型、接触位置、夹爪姿态和摩擦系数都准确。但真实系统中至少存在以下误差:
- 深度相机的测量噪声;
- 手眼标定误差;
- 机器人到达姿态的误差;
- 摩擦系数未知;
- 物体质心估计不准。
一个名义姿态的 很高,并不代表它在姿态偏移后仍然可靠。鲁棒抓取质量(Robust Grasp Quality)会对这些变量进行扰动,再重新计算质量。
Dex-Net 2.0 使用鲁棒性函数描述在观测和控制不确定性下的抓取表现。设 是抓取动作, 是观测, 表示由感知、标定或执行误差引起的不确定性状态;这里 、 和 分别表示动作、观测和不确定性状态的取值空间。令 表示在该状态下是否成功,令 表示给定观测后的不确定性分布,则期望成功质量 为:
这里的 可以由 Force Closure 或物理抬升等二值结果定义 [4]。如果质量函数不是二值成功指标,则令 表示某次不确定性状态下得到的连续质量,并在采样时用 替换 ;此时对应的期望质量不再必然是成功概率。
如果解析积分无法直接求出,最常见的方法是蒙特卡洛采样(Monte Carlo Sampling)。设 为样本数, 为样本编号, 为分位数水平;对第 个不确定性样本记 。当标签是成功与否时, 就是二值变量 :
抓取动作 、观测 、不确定性分布 、样本数 和分位数水平
- for 对
- 从 采样不确定性状态
- 根据 扰动物体位姿、夹爪位姿、摩擦系数或质心
- 重新计算接触、碰撞和单次质量
- if 质量标签是成功与否
- 令
- end if
- end for
- 计算
- 计算质量样本的 分位数
- if 使用二值成功标签
-
计算失败比例
- end if
其中 是样本均值, 是质量样本的 分位数。平均质量适合风险中性的排序;低分位数 更关注最差的一部分情况。一个候选可能平均分很高,但在少量姿态偏差下突然失效,这种候选的低分位数会较低。
Dex-Net 1.0 将物体模型、抓取模型和相关奖励组织到数据库中,用于鲁棒抓取规划 [2]。Johns 等人则研究了夹爪位姿不确定性对抓取函数的影响 [3]。这些工作说明,鲁棒质量不是给解析指标简单加一个噪声,而是需要明确扰动变量、分布和重新计算规则。
学习模型输出的质量是什么(Learned Quality Score)#
解析计算需要物体几何、接触位置和摩擦假设。在大规模检测中,网络通常学习从深度图或点云直接预测一个质量分数。
以 GQ-CNN 为例,输入并不是一张完整深度图就结束了。一个候选需要先确定:
- 抓取中心;
- 平面内旋转角;
- 夹爪距离相机的深度;
- 夹爪开口或候选宽度。
随后,系统把候选附近的深度区域旋转到夹爪闭合轴对齐的坐标系,裁剪成固定尺寸的局部图块,再把图块和候选深度送入网络。网络预测的是该候选在 Dex-Net 标签模型下的鲁棒质量 [4]。
因此,学习模型的输出语义完全依赖训练标签:
- 训练标签来自 Force Closure,模型学习的是力闭合相关分数;
- 训练标签来自仿真抬升,模型学习的是仿真成功相关分数;
- 训练标签来自真实机器人试验,输出才可能与真实执行概率相关。
网络输出一个位于 和 之间的分数,并不自动意味着它是经过校准的真实成功概率。更准确的推理流程是:
- 采样或生成抓取候选
- 删除缺少有效深度或存在明显碰撞的候选
- 为每个保留候选构造候选对齐的局部输入
- 用网络预测训练标签所定义的抓取质量
- 检查夹爪宽度、场景碰撞、机械臂可达性和接近轨迹
- 在满足全部约束的候选中选择最高分抓取
仿真成功和真实成功(Simulation and Physical Outcomes)#
仿真可以比静态力闭合加入更多因素,例如夹爪闭合过程、物体质量、重力、碰撞和动力学接触。ACRONYM 使用大规模物理仿真生成平行夹爪抓取数据,并将仿真结果作为成功标签 [5]。
但仿真成功仍然依赖:
- 物体网格是否准确;
- 质量和质心是否准确;
- 摩擦系数是否准确;
- 接触求解器是否可靠;
- 夹爪碰撞模型是否接近真实硬件。
真实机器人实验更接近最终目标,通常记录:
- 夹爪是否成功闭合;
- 物体是否被抬离桌面;
- 搬运过程中是否掉落;
- 受到扰动后是否保持;
- 多次试验中的成功率。
这些结果属于执行层面的评价。它们受到控制器、传感器、机械臂和环境的共同影响,因此不能直接替代解析质量;同样,解析质量也不能直接被称为真实成功概率。
解析质量不是执行终点(From Analytic Quality to Execution)#
一个解析分数较高的候选,真正发送给机器人之前还要通过几何和运动检查:
- 夹爪是否与物体、桌面和邻近物体碰撞;
- 夹爪开口是否处于硬件范围;
- 机械臂是否存在逆运动学(Inverse Kinematics, IK)解;
- 接近和退出轨迹是否能够规划;
- 抓取位置是否适合后续搬运、放置或操作。
这解释了为什么实际系统常常先用解析质量筛掉明显不稳定的候选,再用碰撞、可达性和任务约束重新排序。
对于柔性物体,刚体模型还会失效。Deformation-Aware Grasp Synthesis 将物体刚度和形变信息加入抓取选择 [7]:一个几何上稳定的接触,可能会让软物体产生过大变形。对于已经发生接触的系统,视觉和触觉还可以继续判断滑移,并通过重新抓取修正初始动作 [8]。
小结(Summary)#
可以把本文的主线压缩成四句话:
- 抓取检测通常会产生多个候选,因此需要质量指标进行排序;
- 摩擦锥规定接触力允许朝哪些方向施加;
- 接触力通过力臂产生力矩,再被组合成六维力旋量;
- GWS 的位置和形状可以给出 Force Closure、、体积等解析质量,但这些分数始终依赖物理假设,不能自动等同于真实执行成功。
后续分析任何抓取质量方法时,首先要问的不是“分数越大是不是越好”,而是:
这个分数究竟评价了什么,使用了什么假设,又与真实机器人执行的哪一个阶段对应?
参考文献(References)#
- M. A. Roa and R. Suárez, “Grasp Quality Measures: Review and Performance,” Autonomous Robots, 2014. DOI ↗
- J. Mahler et al., “Dex-Net 1.0: A Cloud-Based Network of 3D Objects for Robust Grasp Planning Using a Multi-Armed Bandit Model with Correlated Rewards,” 2016 IEEE International Conference on Robotics and Automation, 2016. DOI ↗
- E. Johns, S. Leutenegger, and A. J. Davison, “Deep Learning a Grasp Function for Grasping under Gripper Pose Uncertainty,” 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2016. DOI ↗
- J. Mahler et al., “Dex-Net 2.0: Deep Learning to Plan Robust Grasps with Synthetic Point Clouds and Analytic Grasp Metrics,” Robotics: Science and Systems XIII, 2017. DOI ↗
- C. Eppner, A. Mousavian, and D. Fox, “ACRONYM: A Large-Scale Grasp Dataset Based on Simulation,” 2021 IEEE International Conference on Robotics and Automation, 2021. DOI ↗
- Y. Lu et al., “Hybrid Physical Metric for 6-DoF Grasp Pose Detection,” 2022 International Conference on Robotics and Automation, 2022. DOI ↗
- T. N. Le, J. Lundell, F. J. Abu-Dakka, and V. Kyrki, “Deformation-Aware Data-Driven Grasp Synthesis,” IEEE Robotics and Automation Letters, 2022. DOI ↗
- R. Calandra et al., “More Than a Feeling: Learning to Grasp and Regrasp Using Vision and Touch,” IEEE Robotics and Automation Letters, 2018. DOI ↗