🦾 灵巧操作与抓取规划:从"抓得住"到"干得巧"
"手"有了自由度与触觉(见 05-04),下一步是"怎么抓、怎么控、怎么学"。
本页讲清抓取问题的数学表述、6D 抓取姿态规划、力控与柔顺、灵巧操作任务分类、数据基准、VLA 与 sim2real——读完你能回答"机器人是怎么决定把手伸向哪里、用多大力、又怎么抵抗滑落的"。
抓取规划
力封闭
6D 抓取
阻抗控制
抓取质量
sim2real
🎯 本页学习目标
1. 能用"接触点 + 摩擦锥"的模型描述一次抓取,并区分力封闭(force closure)与形封闭(form closure)
2. 能说出 2~3 种抓取质量度量(ε 度量、体积度量、任务导向度量),并解释 ε 度量的几何含义
3. 能讲清"6D 抓取姿态"的组成,以及 GraspNet-1Billion 这类方法"从点云生成候选 → 打分 → 排序"的完整流程
4. 能对比阻抗控制与导纳控制的输入输出与适用场景,并解释六维力/力矩反馈在柔顺操作中的作用(衔接
05-02 六维力)
5. 能举例说明开门、插线、倒水等灵巧操作的共性难点,并说出 GraspNet-1Billion / DexGraspNet / RoboTurk / AgiBot World 各自的用途、规模与获取方式
6. 能解释抓取如何与 VLA 语言指令结合(衔接
04-08),以及灵巧操作 sim2real 的三大要点(衔接
04-07)
建议用时:约 70 分钟(建议先读
05-04 灵巧手专题 打底,本页与其无缝衔接)
1 抓取问题的表述:接触、封闭性与质量
在聊算法之前,先把"抓取"这件事翻译成数学语言。一次抓取(grasp)由三要素定义:接触点集(手指/夹爪落在物体表面的位置与法向)、接触模型(每个接触点能施加多大的力/力矩)、封闭性(这些接触能不能"锁死"物体)。理解了这三层,后面所有"抓取质量""抓取规划"才有统一的评判标尺。
1.1 接触点与接触模型:一个点能"顶"多大力
手指与物体的接触,通常抽象成三种理想模型,按"能传递的信息量"从低到高排列:
| 接触模型 | 能施加的量 | 摩擦锥 | 典型场景 |
点接触无摩擦 (point contact without friction) | 仅法向力(沿接触法线方向) | 一条射线(1 维) | 理论分析、形封闭讨论的起点 |
点接触有摩擦 (point contact with friction, PCWF) | 法向力 + 切向摩擦力 | 三维摩擦锥(顶点在接触点) | 多数夹爪、硬指尖抓取 |
软指接触 (soft finger contact) | 法向力 + 切向力 + 绕法线的摩擦力矩 | 摩擦锥 + 力矩约束(4 维) | 软指尖、灵巧手捏取 |
其中摩擦锥(friction cone)是核心概念:若摩擦系数为 μ,接触点能承受的切向力最多是法向力的 μ 倍,所有允许接触力向量的集合在力空间里就构成一个"锥"。库仑摩擦定律 f_t ≤ μ·f_n 把"这个接触会不会打滑"变成了一个几何约束——抓取是否稳健,本质上就是看"这些锥的合力能不能覆盖所有可能的外界扰动"。
1.2 力封闭 vs 形封闭:两种"锁死"物体
| 概念 | 英文 | 定义 | 是否依赖摩擦 | 关系 |
| 力封闭 | force closure | 接触点固定时,手指能在摩擦锥内合成任意外力螺旋(wrench),从而抵抗任意方向的外部扰动 | 依赖(靠摩擦提供切向力) | 较宽松,是工程上最常用的标准 |
| 形封闭 | form closure | 仅靠接触点的几何布置把物体完全卡死,即使接触无摩擦物体也无法移动 | 不依赖 | 形封闭 ⇒ 力封闭(更强条件) |
- 直观例子:把一支笔竖直夹在两指间(对捏)——靠摩擦力防滑,是力封闭;把笔放进一个刚好卡住的凹槽/夹爪完全包住它的轮廓——几何上动不了,是形封闭。
- 数量关系:无摩擦形封闭通常需要比力封闭更多的接触点(一般 2D 需 ≥4 个、3D 需 ≥7 个无摩擦点),而带摩擦的力封闭往往 2~3 个接触点就够(如二指夹持)。这正是夹爪只需两个指头、灵巧手却要五指的原因之一。
- 工程结论:真实机器人几乎都用"力封闭"做判断——因为摩擦是免费的、几何上完美卡死又太难保证。形封闭更多出现在夹具设计(fixture)与理论分析里。
1.3 抓取质量度量:给每一次抓取"打分"
有了"封闭"这个概念还不够——两次都力封闭的抓取,一个只差 0.1N 就滑、另一个能扛 50N,显然不一样。于是需要抓取质量度量(grasp quality metric)把"好抓"量化,这是抓取规划里"候选打分 + 排序"的依据。
| 度量 | 思想 | 几何含义 | 优点 / 局限 |
ε 度量 (Ferrari & Canny, 1992) | 最坏情况下,抓取能抵抗的最大扰动 wrench 的大小 | 抓取力螺旋空间(grasp wrench space)中,以原点为中心、能塞进去的最大内切球半径 | 最经典、最稳健;计算靠凸包/线性规划,略贵 |
体积度量 (volume metric) | 抓取力螺旋空间的总体积 | 可行 wrench 集合的凸包体积 | 反映"综合能力";但可能被某方向的短板掩盖 |
任务导向度量 (task wrench space) | 只在任务需要的扰动方向(如竖直重力)上评估 | 任务 wrench 锥与抓取空间的交集大小 | 贴合实际(倒水只关心某方向);需先定义任务 |
| 距离/分布度量 | 看接触点到摩擦锥边界的"安全裕量"、接触点分布是否均匀 | 锥内点到边界的余量 | 直观、易算;但维度不统一、难以横比 |
💡 一句话理解 ε 度量:把"这个抓取能施加的所有力螺旋"画成一个从原点出发的凸集,ε 就是"能在原点塞下的最大球的半径"。球越大,说明无论外界从哪个方向使劲,抓取都有"余量"扛住;ε > 0 即力封闭,ε 越大越稳。它是 GraspNet、DexGraspNet 等数据集给抓取标注"是否稳健"的理论依据。
1.4 ε 度量手算例:两指抓圆柱,ε 到底怎么算出来
用一个能全程手算的最小例子把 ε 度量走一遍:两个指尖对抓一根圆柱(2D 简化),每个接触点法向力 5N,摩擦系数 μ = 0.4。取圆柱半径 r = 1,接触点 P₁ = (1, 0)、P₂ = (−1, 0),法向都指向圆心。
第一步:算每个接触点的摩擦锥。库仑定律 f_t ≤ μ·f_n = 0.4 × 5 = 2N——每个接触点在摩擦锥内最多提供 2N 的切向抵抗。把每个接触能施加的力取 3 个"棱方向"(1 个法向 + 2 个锥边界切向),映射到物体 2D 力螺旋空间 (f_x, f_y, m)(力矩 m = x·f_y − y·f_x),得到 6 个 primitive wrench:
c1 = (-5, 0, 0) P₁ 法向(-x 方向,推物体向左)
c2 = ( 0, 2, 2) P₁ 切向 +y,力臂 r=1 → m = 1×2 = +2
c3 = ( 0,-2, -2) P₁ 切向 -y → m = -2
c4 = ( 5, 0, 0) P₂ 法向(+x 方向,推物体向右)
c5 = ( 0, 2, -2) P₂ 切向 +y @ (-1,0) → m = -1×2 = -2
c6 = ( 0,-2, 2) P₂ 切向 -y → m = +2
G 矩阵(3×6,每列一个 primitive wrench):
⎡ -5 0 0 5 0 0 ⎤
G = ⎢ 0 2 -2 0 2 -2 ⎥
⎣ 0 2 -2 0 -2 2 ⎦
第二步:判断力封闭。力封闭等价于"6 个 primitive 的非负组合能张满整个力螺旋空间"(即能抵抗任意方向的外部扰动)。逐项检查:
- x 方向:c1 与 c4 恰好互为相反向量,非负组合可覆盖整条 x 轴——外界推 (3N, 0) 时,取 0.6·c1 = (−3, 0, 0) 即可抵抗,法向力 5N > 3N,余量充足,摩擦都没动用;
- y 方向与力矩:c2 + c6 = (0, 0, 4) 与 c3 + c5 = (0, 0, −4) 给出 ±m 轴;c2、c3 本身给出 ±y 方向的锥——两指的切向能力"错开力臂"后,力矩轴也被张满;
- 结论:非负组合张满 R³,ε > 0,力封闭成立。
第三步:算 ε 的数值。把抓取力螺旋空间取为 conv(原点 ∪ c1…c6),ε = 原点到凸包最近面的距离。该凸包的 8 个侧面方程为 2f_x ± 5f_y = ±10 与 2f_x ± 5m = ±10,每个面到原点的距离都是:
ε = 10 / √(2² + 5²) = 10 / √29 ≈ 1.86 N (r = 1 时)
# python 验算(任意三 primitive 组成面,原点距离取最小):
# d = |10| / norm((2,5,0)) = 10/sqrt(29) ≈ 1.857 → 与 8 个面全一致
# 结果:eps = 1.857 > 0 → 力封闭成立
这个例子的三个直觉:① ε 由"法向力 5"与"摩擦能力 2"按力臂几何耦合决定——法向翻倍或 μ 翻倍,ε 都会变大;② 接触点力臂 r 越大,同样的切向力换来越大的力矩裕量(例子中 m = ±2 就来自 r = 1);③ 反过来,若 μ = 0(无摩擦),切向 primitive 全部消失,y 与力矩方向张不满,ε = 0——退化回"只能顶不能夹",这正是力封闭必须依赖摩擦的原因。
2 抓取姿态规划:手该伸向哪里、怎么放
知道了"怎么评价一次抓取",下一个问题是"怎么找到一次好抓取"。这被称作抓取规划(grasp planning)或抓取合成(grasp synthesis),从传统几何规划一路演进到今天的端到端深度学习。它的输出统一为抓取姿态(grasp pose)——告诉执行器"在什么位置、以什么朝向、开多大"去合拢。
2.1 6D 抓取:一个姿态的六个自由度
- 6D = 位置(3 维)+ 朝向(3 维):夹爪中心点在哪 (x,y,z),加上朝向(翻滚/俯仰/偏航或四元数),共 6 个自由度。
- 平行夹爪常补第 7 维:还要一个"夹爪张开宽度"(approach width),于是有 7-DoF 抓取的说法;再加"接近方向"(approach direction),构成完整的抓取动作。
- 采样 vs 学习:早期做法是几何采样 + 力学验证——在物体表面随机撒接触点对、算 ε 度量、排序;现在主流是端到端网络——输入点云/RGB-D,直接回归每个位置的 6D 抓取与置信度,再非极大值抑制取 top-k。
2.2 从点云生成候选:GraspNet-1Billion 的范式
以 GraspNet-1Billion(CVPR 2020)为代表的现代抓取检测,把"生成候选"统一成一条深度学习流水线:
1输入场景
RGB-D 相机拍到的密集杂乱桌面(单帧点云),而非 CAD 模型
2特征提取
PointNet++ 类骨干对点云逐点编码几何特征
3候选生成
网络在每点附近预测抓取姿态(位置、朝向、宽度)+ 质量分
4打分排序
用质量分 + 碰撞检测过滤,输出 top-k 可执行抓取
它的意义在于给了行业一个大规模、带标注的基准:约 9.7 万张 RGB-D 图、88 类物体、12 亿条标注的 6D 抓取(每条含力封闭标签与摩擦系数标注),让"谁家的抓取检测更准"第一次可以被公平比较。理解这条流水线,你就理解了从"点云"到"动作"的桥梁长什么样。
2.3 夹爪抓取 vs 灵巧手抓取:两套完全不同的规划难度
| 维度 | 夹爪(平行两指) | 灵巧手(五指) |
| 抓取空间 | 6D(+宽度),状态空间小 | 手整体 6D 姿态 × 大量关节角,状态空间爆炸 |
| 代表数据 | GraspNet-1Billion(12 亿条 6D 抓取) | DexGraspNet(132 万条灵巧手抓取,仿真生成) |
| 质量度量 | 力封闭 ε 度量为主,可直接标注 | 接触点更多,需考虑关节限位、自碰撞、指尖力分配 |
| 规划思路 | 采样 + 打分 / 端到端 6D 检测 | 人先验(GrabNet/GRAB)+ 优化 + 强化学习 |
| 执行难点 | 基本不会"抓后失稳" | 多指协同、在手操作、力分配是额外难题 |
⚠️ 不要误以为"灵巧手 = 夹爪加几根手指":夹爪的抓取规划是"6 个自由度 + 一个宽度"的搜索问题,灵巧手则是在人手 20+ 维关节空间里找"整手姿态 + 每根手指弯曲"的组合,候选数量呈指数级增长,还要额外处理手指之间、手指与物体的自碰撞。这就是为什么夹爪有 GraspNet 这种"点云直接出结果"的成熟方案,而灵巧手至今还在大量依赖仿真生成(DexGraspNet)与人类先验(GRAB)。
3 力控抓取:从"走到位置"到"顺着接触"
找到抓取姿态只是第一步。真正把物体拿起来、插进去、拧上去,靠的是力控——因为一旦发生接触,纯位置控制就会陷入"要么顶死、要么打滑"的两难。力控的目标是让机械臂/手在接触中表现得像一个"有弹性、会顺应"的系统,而不是一根刚硬的杆。
3.1 为什么位置控制不够
- 位置控制假设世界是刚性的:它只回答"走到 (x,y,z)",但抓取/装配的世界充满接触、形变与误差——插一根 USB 线,差 0.5 毫米就卡死,而相机根本测不出这 0.5 毫米。
- 接触会产生无穷大的力:刚体位置环在"顶到东西还继续走"时会迅速达到力饱和,轻则打滑、重则压坏物体或损坏关节。
- 解决思路:把"力"也纳入控制闭环——这就是阻抗控制与导纳控制的由来。
3.2 阻抗控制 vs 导纳控制:一对"镜像"
两者都把末端渲染成一个质量-弹簧-阻尼系统(有惯性、有刚度、有阻尼),区别只在于"谁测量、谁输出":
| 维度 | 阻抗控制 (impedance control) | 导纳控制 (admittance control) |
| 输入 → 输出 | 测外力/力矩 → 直接输出位置/速度修正 | 测外力/力矩 → 算出期望位置,交给内环位置控制器执行 |
| 内环 | 电流/力矩环(直接控力) | 高带宽刚性位置环(控位置) |
| 适合系统 | 低摩擦、可反驱的直驱/准直驱关节 | 高刚度、含减速器、难反驱的系统(谐波关节) |
| 自由空间表现 | 一般(力环在无接触时较难精确走位) | 好(内环就是位置控制) |
| 接触稳定性 | 好,天然柔顺 | 对刚度大、惯量大的系统更稳,不易振荡 |
💡 记法:阻抗控制是"测力、控位置"(力在输入侧);导纳控制是"测力、控位置目标"(位置仍是内环,力在输入侧)。一句话:"阻抗控运动、导纳控参考"——两者是同一个目标(把接触做柔)在"刚性/柔性硬件"两种底座上的不同实现。带减速器的人形关节模组通常更倾向导纳式(内环位置环稳定),直驱/准直驱则可用纯阻抗。
3.3 力/力矩反馈:六维力传感器是力控的"眼睛"
- 信号来源:力控需要实时知道"末端受了多大的力/力矩"。来源有三:①腕部/掌根六维力传感器(直接测 Fx/Fy/Fz + Mx/My/Mz,最准);②关节电流估算(准直驱可用,零成本但精度受摩擦影响);③指尖触觉/视触觉(测接触分布,见 05-04)。
- 六维力的作用:它是阻抗/导纳控制的外环输入,也是判断"有没有接触、接触方向、有没有滑"的直接依据。关于六维力传感器的原理(应变片 + 惠斯通电桥 + 标定矩阵解耦)与代表厂商,详见 05-02 前沿技术专题库 · 专题三。
- 采样率要求:滑动是毫秒级事件,力反馈通常要 ≥100Hz、理想 1kHz+,才能及时"加大握力"防滑。
3.4 柔顺操作:让"硬碰硬"变成"顺着走"
柔顺(compliance)是力控的直接产物,指末端在接触中能主动"让步"。它在三类任务里不可替代:
- 装配(peg-in-hole / 插线):孔位有误差,靠柔顺让轴"贴着孔壁滑进去",而不是硬顶。经典方法是"力-位混合控制":沿插入方向控位置、垂直方向控力(贴壁)。
- 拧紧/旋盖:既要沿螺纹方向给扭矩、又要沿轴向给压力,还要在"到底"瞬间感知扭矩突变停止——全程是力与力矩的协同。
- 安全交互:人机协作时,阻抗控制让机器臂"被推就退",是碰撞安全的第一道防线。
4 操作任务:开门、插线、倒水的共性与难点
抓取是"操作(manipulation)"的入口,但操作远不止"拿起来放下"。按能力阶梯,操作任务大致分五层,越往上对"抓取 + 力控 + 决策"的综合要求越高:
1抓取放置
pick & place:定位、抓、搬、放,是物流分拣的标配
2灵巧抓取
对异形/易碎/易滑物体做多模式抓取(捏/握/勾)
3工具使用
拿钥匙开门、拿螺丝刀拧、拿杯子倒水——操作"人设计的工具"
4双手机器操作
两只手协同:一只手扶、一只手拧,需要协调与约束
5长程任务
端到端多步任务(整理桌面、做饭),需要任务规划 + 技能库
4.1 三个典型任务拆解
| 任务 | 关键难点 | 为什么难 |
开门 (door opening) | 抓住把手、沿铰链圆弧运动、感知门重与阻尼 | 门绕固定铰链转,末端轨迹是约束运动;把手方向、开门力度、门后障碍都未知 |
插线 (cable/plug insertion) | 毫米级对准 + 柔顺插入 + 插到位检测 | USB/线缆是柔性体、公差极小、且插孔常被遮挡;需要力控主导而非视觉主导 |
倒水 (pouring) | 保持水平、控制流量与角度、防止溢出 | 涉及液体动力学(晃、溅、溢出),还要感知容器重量变化判断"倒了多少" |
4.2 灵巧操作的四大共性难点
- 接触与摩擦的不可预测性:物体、材质、温度都会改变摩擦系数,而抓取稳定恰恰对摩擦极敏感。
- 感知的不完全:遮挡、光照、柔性形变让视觉失效,只能靠触觉 + 力觉补盲(回到第 3 节)。
- 长时程与误差累积:任务越长,中间一步失败就越难恢复,需要重规划 + 恢复策略。
- 动作空间的高维:灵巧手 + 双臂让策略输出维度巨大,对数据与算力的需求随之爆炸(这也是第 6、7 节数据与 VLA 的议题)。
5 数据与基准:抓取和操作靠什么"喂大"
现代灵巧操作的进步,一半靠算法、一半靠数据。下面四个(加两个延伸)是抓取/操作方向最常被引用的数据集与平台,规模、用途、获取方式已用 web_search 核实。
| 名称 | 类型 | 规模 / 内容 | 用途 | 获取 |
| GraspNet-1Billion | 夹爪 6D 抓取检测基准 | 约 9.7 万张 RGB-D、88 类物体、约 12 亿条标注 6D 抓取(含力封闭/摩擦标注) | 训练与评测"从点云出抓取"的抓取检测模型 | 官网 graspnet.net + GitHub graspnet 组织 |
| DexGraspNet | 灵巧手仿真抓取数据集 | 约 132 万条抓取 × 5355 物体 × 133 类(Shadow Hand 仿真) | 给灵巧手生成"手怎么放"的抓取姿态,喂给规划/学习 | 项目页 pku-epic.github.io/DexGraspNet + GitHub PKU-EPIC |
| RoboTurk | 众包遥操作平台 | 让众包工人远程操控机械臂采集演示;后续工作将规模推到数百小时级 | 低成本、大规模采集"人怎么操作"的演示数据 | 论文 arXiv:1811.02790 / 1911.04052 |
| AgiBot World | 真机操作数据集(整机) | 百万级轨迹、覆盖 5 大场景 217 个任务(智元 2024-12 开源) | 训练灵巧操作/VLA 的"真机底座",号称比 Open X-Embodiment 高一个数量级 | 官网 agibot.com.cn + GitHub OpenDriveLab/AgiBot-World |
| GRAB(延伸) | 人手-物体交互动捕 | 10 人 × 51 物体 × 1334 段,基于 SMPL-X 手模型 | 学习"人手怎么抓"的仿人先验(见 05-04) | MPI 项目页 ps.is.mpg.de |
| Open X-Embodiment / RT-X(延伸) | 跨机构机器人数据集联盟 | 汇聚 60+ 数据集、约百万级演示、22 种机器人形态 | 训练通用机器人策略(RT-1/RT-2),验证"数据越多越泛化" | arXiv:2310.08864 + robotics-transformer-x.github.io |
💡 数据如何串成一条链:GRAB / RoboTurk 提供"人怎么抓"的演示先验 → GraspNet / DexGraspNet 提供"机器人手怎么放"的抓取姿态 → AgiBot World / Open X-Embodiment 提供"真机端到端动作轨迹" → 三者合起来,正是训练一个"听懂指令、抓住东西、干得成活"的策略所需的完整数据金字塔。
6 与 VLA 结合:让"一句话"变成"一次抓取"
过去一年最大的变量,是VLA(视觉-语言-动作模型)把"听懂语言指令"与"输出机器人动作"打通了。抓取作为机器人最高频的动作,自然成了 VLA 的第一战场。VLA 的完整原理见 04-08 视觉语言动作模型 VLA 与世界模型详解,这里聚焦它与抓取的三个结合点。
6.1 语言指令驱动的抓取:三层架构
- 端到端(直接出动作):VLA 直接输出"抓取姿态 + 力控参数",如 RT-2 对"把红色杯子拿给我"直接出末端轨迹。优点是不需要中间模块,缺点是动作空间大、数据需求高。
- 分层(大模型出意图 + 低层出动作):VLA 只输出高层意图(目标物体、抓取点、动作类别),交给 GraspNet 类抓取检测 + 阻抗控制执行——"大模型负责想,抓取模块负责抓"。这是当前工程上最稳的落地方式。
- 语言作为先验:语言还能提供"常识"——"抓鸡蛋要轻""抓刀要握柄"这类文本先验,可以在奖励函数或数据筛选里引导策略。
6.2 抓取大模型的趋势
- 动作 token 化:把连续抓取动作离散成 token,让 LLM 的 next-token 预测直接生成动作序列(RT-2 的思路)。
- 数据规模竞赛:抓取能力的上限正被数据规模定义——AgiBot World、Open X-Embodiment 的出现,正是为了给"抓取大模型"提供海量真机轨迹。
- 零样本抓取:目标是用一个通用模型,对没见过的物体也能直接给出可用抓取,而不必每个物体都重新训练——这是"通用抓取"的终极方向。
⚠️ 清醒认识:VLA 解决"抓什么",但"抓不抓得稳"仍要靠第 1~3 节的封闭性、质量度量与力控兜底。语言模型不会替你解决摩擦与接触稳定性——把 VLA 当成"高层调度器"、把抓取规划与力控当成"可靠底座",才是稳健的组合。
7 仿真到现实:灵巧操作的 sim2real 要点
灵巧操作是 sim2real 差距最大的方向之一——仿真里"转魔方、拧瓶盖"轻松刷分,真机却常因摩擦、弹性、延迟差异而崩盘。通用的 sim2real 流程见 04-07 sim2real 部署步骤拆解,这里聚焦抓取/操作特有的三个要点:
7.1 域随机化:让策略"见过世面"
- 物理参数随机化:训练时随机采样摩擦系数、物体质量/质心、恢复系数、关节阻尼等,逼策略学习"对参数不敏感"的稳健抓取。
- 感知随机化:随机化光照、纹理、点云噪声、相机位姿,让视觉模块在真实传感器下不崩。
- 动作随机化:随机化执行延迟、电机死区、控制频率,模拟真机的"不完美"。
7.2 触觉建模:仿真里最难复现的一块
- 仿真里的接触力是"理想点接触",而真实指尖是软指 + 触觉阵列 + 摩擦随温度/湿度变化。GelSight 类视触觉传感器在仿真里常靠专门插件近似,但微滑动、粘滑(stick-slip)现象极难建模。
- 对策:抓取相关的 sim2real 更依赖"域随机化 + 少量真机微调",而不是指望把触觉仿真到"以假乱真"。
7.3 标定与渐进迁移
- 标定:真机部署前要标定手眼矩阵、夹爪/手指零点、力传感器零漂与温漂,否则"仿真里准、真机上偏"。
- 渐进迁移:先在结构化单一物体上验证抓取成功率,再逐步加杂物、加遮挡、加动态扰动,而不是一步到位上真实家庭场景。
8 常见误区:五条"想当然"
⚠️ 误区一:"抓取就是夹住,找到物体就行"
找到物体只是 20% 的活。抓在哪、用什么朝向、开多大、用多大力、会不会滑——每一个都是独立问题。忽略接触稳定性,就会出现"夹住了,一抬手就掉"的经典翻车。
⚠️ 误区二:"力封闭了就等于抓得稳"
力封闭只说明"存在"能抵抗扰动的力,不保证控制器真的施加了这个力。ε 度量小、摩擦系数估计偏了、力控没跟上,照样滑落。质量度量是"能力上限",不是"实际表现"。
⚠️ 误区三:"6D 抓取检测能解决一切抓取"
GraspNet 类方法解决的是"平行夹爪、刚体、单帧"的抓取检测;遇到柔性物体、透明物体、被遮挡物体、灵巧手多指抓取,6D 抓取检测的假设就失效了,需要触觉、形变建模与专门方法补位。
⚠️ 误区四:"有了视觉,力控可以省"
装配与抓取的最终成败在毫秒级接触事件,视觉存在延迟、遮挡与精度上限。插线、拧盖这类任务本质是"力的问题",必须力控闭环——视觉负责"大方向",力觉负责"最后半毫米"。
⚠️ 误区五:"数据越多,抓取就一定越好"
数据有质量之分:遥操作演示若质量参差、缺乏长尾失败样本、场景单一,量大也泛化差。要的是多样 + 含失败 + 跨形态的数据(这正是 AgiBot World、Open X-Embodiment 强调"规模化 + 多样性"的原因),而不是单纯堆量。
9 小结与思考
📌 本节小结:抓取 = 接触点 + 接触模型 + 封闭性,力封闭(靠摩擦抗任意扰动)是工程标准,形封闭(纯几何卡死)更强但不现实;质量度量用 ε 度量(可抗最大扰动球半径)等给抓取打分。抓取姿态是 6D(位置 + 朝向),GraspNet-1Billion 给出"点云 → 候选 → 打分 → 排序"的现代范式,灵巧手因高维动作空间而难度陡增。力控(阻抗/导纳)让接触变柔,六维力/力矩反馈是它的"眼睛",柔顺操作是装配、拧紧、安全交互的底层能力。开门/插线/倒水分别考验约束运动、毫米级柔顺装配、液体动力学,共性是接触不可预测 + 感知不完全 + 长时程 + 高维动作。数据靠 GraspNet / DexGraspNet / RoboTurk / AgiBot World(以及 GRAB、Open X-Embodiment)支撑,VLA 与抓取结合走"大模型出意图 + 低层力控"的分层路线。sim2real 靠域随机化 + 触觉建模 + 标定渐进迁移兜底。
🤔 思考题:
1. 给你的项目选一条抓取路线:任务是"从杂乱桌面抓取 50 种异形零件分拣",你会选 GraspNet 类 6D 检测,还是 DexGraspNet + 灵巧手?从封闭性、数据成本、成功率三个角度论证。
2. 捏一个光滑的鸡蛋:只靠视觉抓取姿态 + 位置控制能行吗?请设计一套"力控 + 触觉"的闭环,并说明每一步用什么传感器、闭环频率大概多少。
3. 如果让你用 AgiBot World 训练一个"听懂'把杯子里的水倒一半'并执行"的策略,你会用端到端 VLA 还是"VLA + 抓取 + 倒水技能库"的分层方案?为什么?
10 本节自测
1. 关于"力封闭(force closure)"与"形封闭(form closure)",下列说法正确的是?
💡 解析:力封闭是"手指在摩擦锥内能合成任意外力螺旋",依赖摩擦;形封闭是"即使无摩擦、仅靠几何布置物体也动不了",是更强条件(形封闭 ⇒ 力封闭),且无摩擦形封闭通常需要更多接触点。故选 C。
2. Ferrari & Canny 提出的 ε 度量(epsilon 度量),其几何含义是?
💡 解析:ε 度量把抓取能施加的所有力螺旋看成从原点出发的凸集,取"以原点为中心的最大内切球半径"作为质量分——球越大越稳,ε > 0 即力封闭。它与接触点数量、夹爪宽度、摩擦系数平均值无关。故选 B。
3. 阻抗控制与导纳控制最本质的区别是?
💡 解析:两者都"测力",区别在输出:阻抗控制以力/力矩环直接输出运动,适合低摩擦可反驱系统;导纳控制把力换算成期望位置,交给高带宽位置内环,适合含减速器、刚度大的系统。A 说反了(两者都测力),B/C 无依据。故选 D。
4. 关于抓取/操作数据集,下列匹配正确的是?
💡 解析:GraspNet-1Billion(夹爪 6D,约 12 亿条)与 DexGraspNet(灵巧手,约 132 万条)匹配正确。RoboTurk 是众包遥操作平台;AgiBot World 是百万级真机操作轨迹;Open X-Embodiment 汇聚了 60+ 数据集、22 种机器人形态。故选 A。
5. 关于「6D 抓取姿态」的组成,下列说法正确的是?
💡 解析:见 2.1 节,6D = 位置 3 维 (x,y,z)+ 朝向 3 维(翻滚/俯仰/偏航或四元数)共 6 个自由度;平行夹爪还要再补一个「夹爪张开宽度」,所以有 7-DoF 抓取的说法,再加「接近方向」构成完整抓取动作。6D 既不是手指关节角,也不是抓取模式。故选 B。
6. 关于「抓取/装配中视觉与力控的关系」,下列哪种认识属于本页第 8 节指出的常见误区?
💡 解析:本页「误区四」明确指正——装配与抓取的最终成败在毫秒级接触事件,视觉存在延迟、遮挡与精度上限,插线、拧盖这类任务本质是「力的问题」,必须力控闭环:视觉管「大方向」、力觉管「最后半毫米」。「有了视觉,力控就可以省」正是被否定的错误认知。故选 C。
7. GraspNet-1Billion 所代表的现代抓取检测流水线,正确的顺序是?
💡 解析:见 2.2 节的四步——①输入 RGB-D 相机拍到的单帧点云;②PointNet++ 类骨干逐点提取几何特征;③在每点附近预测抓取姿态(位置、朝向、宽度)与质量分;④用质量分 + 碰撞检测过滤,输出 top-k。顺序为「输入场景 → 特征提取 → 候选生成 → 打分排序」。故选 B。
8. 「力封闭」与「形封闭」的区别,下列正确的是?
💡 解析:形封闭是纯几何约束(物体怎么动都跑不出手指「笼子」),强但苛刻;力封闭承认手指可能打滑,靠多接触点的摩擦锥「合力封住」六维扰动空间(A)。人手抓鸡蛋、灵巧手抓球都是力封闭——所以触觉与法向力分配才那么重要。
9. 抓取质量度量 ε(epsilon 度量)衡量的是?
💡 解析:ε 是一个 min-max 几何量:在所有可能的扰动方向里找「最脆」的那个,再问这个方向上抓取还能抗多大强度(C)。它把「稳不稳」变成可优化、可比分的数——GraspNet 候选排序本质上就是在学一个近似的 ε 排序器。
10. 装配一根过盈销轴,接触刚度未知且变化,应优先选阻抗控制还是导纳控制?
💡 解析:两条经典路线的选择看「底层能不能柔」:阻抗控制要求关节反驱性好(直驱/QDD 才顺手);带谐波/RV 的人形关节反驱性差,工程上几乎都走「六维力传感器 + 导纳修正参考轨迹」(B)。C 忽略实现成本与稳定性差异;D 是装配最常见的翻车起点。
11. 六维力传感器的采样与闭环频率为什么要求 ≥100 Hz、理想 1 kHz?
💡 解析:抓握滑移从「开始滑」到「掉」往往只有几十毫秒(D);闭环若只有 10 Hz,修正还没算完东西已经掉了。1 kHz 让力控环与电流环同频对齐,阻抗/导纳的稳定性也更好设计。A 是数据记录视角不是控制视角;B/D 显然不成立。
12. sim2real 里「域随机化(domain randomization)」主要解决什么?
💡 解析:核心思想是「把 real 当作 randomized domain 的一个样本」:训练时故意把摩擦系数、负载质量、控制延迟抖动开到很宽,策略被迫学出鲁棒策略而不是过拟合仿真参数(A)。配合触觉建模与标定渐进迁移(本页 5.3 节)构成抓取 sim2real 的三件套。
📌 本节要点速查:①抓取 = 接触点 + 接触模型 + 封闭性:力封闭(靠摩擦锥内合力抗任意扰动)是工程标准,形封闭(纯几何卡死)更强但不现实;②抓取质量用 ε 度量(可抗最大扰动球半径)等打分,GraspNet-1Billion 走「点云 → 候选 → 打分 → 排序」的 6D 范式,灵巧手因高维动作空间难度陡增;③力控 = 阻抗(控运动)/导纳(控参考)+ 六维力/力矩反馈(≥100Hz、理想 1kHz+)让接触变柔,柔顺操作是装配/拧紧/安全交互的底层能力;④数据靠 GraspNet/DexGraspNet/RoboTurk/AgiBot World 支撑,VLA 与抓取走「大模型出意图 + 低层力控」分层,sim2real 靠域随机化 + 触觉建模 + 标定渐进迁移兜底。
11 参考来源
以下链接均经 web_search 核实为官方 / 稳定地址,数据集规模以官方页面为准。