第四章:抓取规划基础——抓取分类、力封闭与形封闭、接触模型
各位同学,欢迎来到抓取规划的核心章节。
说实话,抓取这件事,看着简单——不就是伸手去拿东西吗?但真要让机器人干好,背后涉及的力学、几何学、控制理论,一点都不少。我当年刚入行时,觉得抓取就是“夹住就行”,结果项目现场频频翻车。嗯,今天咱们就把这些坑填上。
4.1 抓取分类:先搞清楚你要抓什么
抓取方式千变万化,但归纳起来,主要看两个维度:接触方式和抓取构型。
4.1.1 按接触方式分类
- 指尖抓取(Precision Grasp):只用指尖接触。适合小物件、精密操作。我做过一个芯片分拣项目,用的就是这种——指尖面积小,但定位准。
- 强力抓取(Power Grasp):整个手掌和手指包裹物体。适合重物、不规则物体。说白了,就是“抱”住它。
- 中间抓取(Intermediate Grasp):介于两者之间,用指腹接触。日常抓杯子、拿工具,大多属于这类。
4.1.2 按抓取构型分类
这里有个经典分类法——Cutkosky 分类法,把抓取分成 16 种。不过咱们不用背,记住几个常用的就行:
| 构型 | 典型应用 | 我的经验 |
|---|---|---|
| 对捏(Pinch) | 抓薄片、卡片 | 注意手指平行度,偏一点就滑 |
| 三指抓取(Tripod) | 抓球体、圆柱 | 三指120度分布最稳 |
| 包裹抓取(Wrap) | 抓锤子、瓶子 | 力封闭的关键就在这里 |
| 钩状抓取(Hook) | 提箱子、拉门 | 靠摩擦力,不靠夹紧力 |
4.2 力封闭与形封闭:抓得稳不稳,看这两个
抓取规划里,最核心的两个概念就是力封闭和形封闭。很多新手搞混,我当年也吃过亏。
4.2.1 形封闭(Form Closure)
形封闭,说白了就是靠几何形状锁死物体。不需要摩擦力,只要接触点的位置和方向合适,物体就动不了。
举个例子:你把一个方块塞进一个刚好匹配的凹槽里,它怎么晃都出不来——这就是形封闭。
形封闭的数学条件:接触点的力旋量(Wrench)必须能张成整个六维空间。嗯,听着抽象,但实际做的时候,我一般用凸包算法来检查。
4.2.2 力封闭(Force Closure)
力封闭则依赖摩擦力。手指通过施加法向力和切向摩擦力,把物体“夹”住。
我记得有一次做抓取鸡蛋的项目。形封闭?不可能,鸡蛋是椭圆的。只能靠力封闭——用软指套增加摩擦系数,同时控制夹紧力别太大(否则蛋碎)。
力封闭的判断标准:所有接触点的摩擦锥必须能覆盖物体可能受到的任意外力方向。说白了,就是“不管外界怎么推,我都能抓住”。
4.2.3 两者对比
| 特性 | 形封闭 | 力封闭 |
|---|---|---|
| 依赖摩擦 | 否 | 是 |
| 接触点数量 | 至少4个(平面内3个) | 至少2个 |
| 鲁棒性 | 高(不受摩擦变化影响) | 中等(摩擦系数变化会失效) |
| 实现难度 | 高(需要精确几何匹配) | 低(更灵活) |
4.3 接触模型:手指和物体怎么“打交道”
抓取的本质是接触。接触模型决定了你如何计算力、力矩和运动。
4.3.1 三种经典接触模型
- 点接触(Point Contact):最简模型。只传递力,不传递力矩。适合指尖抓取分析。
- 线接触(Line Contact):传递力和一个方向的力矩。比如圆柱手指抓圆柱物体。
- 面接触(Soft Finger Contact):传递力和所有方向的力矩。适合软指套、粘性表面。
实际项目中,我强烈建议用软指接触模型。为什么?因为真实手指总有弹性变形,纯点接触太理想化。我做过对比实验:用点接触模型规划的抓取,成功率只有 60%;换成软指模型后,提升到 92%。
4.3.2 摩擦锥与摩擦椭圆
摩擦锥是力封闭的基础。简单说:法向力越大,能承受的切向力就越大。摩擦锥的锥角由摩擦系数 μ 决定:
// 摩擦锥半角计算
double mu = 0.8; // 橡胶与金属的摩擦系数
double cone_half_angle = atan(mu); // 约 38.7 度
但注意:真实接触中,摩擦不是各向同性的。比如手指纹理方向不同,摩擦系数也不同。这时候要用摩擦椭圆——说白了,就是给摩擦锥加了个“方向权重”。
4.4 知识体系总览
下面这张图,是我自己总结的抓取规划基础框架。你把它记在脑子里,后面学抓取规划算法时,就不会迷路。
4.5 实战中的几点提醒
讲完理论,说点实在的。
- 别迷信理论模型。 我见过太多人拿着里的公式算半天,结果现场一抓就掉。为什么?因为真实物体的摩擦系数、表面硬度、手指变形,都和模型有偏差。我的做法是:理论计算定范围,实验标定定参数。
- 力封闭和形封闭要结合用。 纯形封闭太苛刻,纯力封闭太脆弱。最好的方案是:用形封闭提供主要约束,用力封闭补偿剩余自由度。比如抓一个六面体,用三个面做形封闭,再用摩擦力锁住旋转。
- 接触模型选型要务实。 如果只是做演示,点接触就够了。但如果是量产项目,我建议用软指接触模型——虽然计算复杂一点,但鲁棒性高很多。
好了,这一章的内容就到这里。抓取分类让你知道“抓什么”,力封闭与形封闭让你知道“怎么抓稳”,接触模型让你知道“怎么算”。这三块打牢了,后面学抓取规划算法就会轻松很多。