Part II · 第 9 章 机器人形态 · 9.3Part II · Ch. 9 Embodiments · 9.3

抓取与灵巧手Grasping & Dexterous Hands

机械臂把手送到物体旁边,真正决定物体拿不拿得住的,是手指放在哪里。每个接触点只能给出一个落在摩擦锥里的力,几个接触点的力合起来,能不能抵抗来自任何方向的力和力矩?这就是力封闭。本节从一个接触点的摩擦锥出发,用 wrench 空间里的凸包判断力封闭,用 Ferrari–Canny 指标 ε 给抓取打分,推出两指对跖(antipodal)条件,再看抓取矩阵与手部雅可比如何把关节力矩变成物体上的合力与"挤压"内力,最后看 Dex-Net 一类学习方法怎样大规模给抓取打分。 The arm brings the hand next to the object; whether the object stays in the hand is decided by where the fingers go. Each contact can only push with a force inside its friction cone, so the question is whether several such forces together can resist a disturbance from any direction, forces and torques alike. That is force closure. We start from one contact's friction cone, test closure with a convex hull in wrench space, score grasps with the Ferrari–Canny quality ε, derive the two-finger antipodal condition, see how the grasp map and the hand Jacobian turn joint torques into a net wrench plus an internal "squeeze", and finally watch how learned planners such as Dex-Net score grasps at scale.

约 35 分钟~35 min 前置:1.6 秩与零空间 · 6.2 凸性 · 7.6 静力学与 wrench · 8.4 接触与摩擦Prereqs: 1.6 Rank & Null Space · 6.2 Convexity · 7.6 Statics & Wrenches · 8.4 Contact & Friction 5 个交互5 interactives

    1为什么机器人需要它Why robots need this

    "拿起来再放下"是几乎所有操作任务的第一步,而它比看上去难:手指落点稍有不同,物体就可能在手里打转、滑落,或者被一个小扰动(碰到料箱壁、手臂加速)甩出去。抓取要回答的是一个静力学问题:手指放在哪里、用多大的力捏,物体才无论受到什么样的外力和外力矩都不会脱手?

    • 抓取合成:给定物体形状,找出一组接触点,使抓取是"力封闭"的,并且尽可能稳。
    • 抓取评分:几千个候选抓取里挑哪一个?需要一个数来衡量"这个抓取有多抗扰"(Ferrari–Canny 的 ε)。Dex-Net 一类的学习方法,本质上是在学习这个分数。
    • 手的设计与控制:夹爪只要一个自由度,灵巧手要十六到二十四个。自由度多了能做手内操作(in-hand manipulation),代价是传感器、驱动和控制的复杂度。关节力矩怎样变成指尖力,指尖力怎样合成物体上的 wrench,靠的是 3.4 节的 \(\boldsymbol\tau=J^\top\mathbf F\) 再加一个新矩阵:抓取矩阵 \(G\)。

    本节只处理准静态、刚体、点接触的情形:物体不加速,接触不变形。这个模型很简单,却解释了夹爪为什么要有橡胶指垫、为什么对跖的两指夹得住而斜着夹不住、为什么三指能抓圆盘。(8.4 节讲接触与摩擦本身,这里只用它的结论:摩擦锥。)

    "Pick it up and put it down" is the first step of almost every manipulation task, and it is harder than it looks: move a fingertip slightly and the object spins in the hand, slips out, or gets flung off by a small disturbance (bumping the bin wall, accelerating the arm). Grasping asks a statics question: where should the fingers go, and how hard should they squeeze, so that the object cannot escape whatever external force and torque act on it?

    • Grasp synthesis: given the object's shape, find contact points that make the grasp "force closure", and as robust as possible.
    • Grasp scoring: among thousands of candidates, which one? We need a number for "how disturbance-resistant is this grasp" (the Ferrari–Canny ε). Learned planners such as Dex-Net are, at heart, learning this score.
    • Hand design and control: a gripper has one degree of freedom, a dexterous hand sixteen to twenty-four. More freedom allows in-hand manipulation, at the price of sensors, actuators and control complexity. How joint torques become fingertip forces, and fingertip forces become a wrench on the object, uses Lesson 3.4's \(\boldsymbol\tau=J^\top\mathbf F\) plus one new matrix: the grasp map \(G\).

    This lesson treats the quasi-static, rigid, point-contact case: the object does not accelerate and contacts do not deform. The model is simple, yet it explains why grippers wear rubber pads, why two opposite fingers hold an object that a slanted pinch cannot, and why three fingers can hold a disc. (Lesson 8.4 covers contact and friction themselves; here we only use its conclusion, the friction cone.)

    2直觉:一个接触点 = 一个力的锥Intuition: one contact = a cone of forces

    手指按在物体上,手指给物体的接触力有三条规矩:只能推不能拉(法向分量 \(f_n\ge0\));切向力不能大于 \(\mu f_n\)(库仑摩擦);方向由接触点的法向决定。把"所有允许的力"画出来,就是一个以内法向为轴、半角 \(\varphi=\arctan\mu\) 的摩擦锥。锥里的任何力都是它两条边的非负组合:\(\mathbf f=\alpha_+\mathbf e_++\alpha_-\mathbf e_-\),\(\alpha_\pm\ge0\)。

    力还会产生力矩。物体上相对于参考点 \(\mathbf c\)(取质心)的受力点 \(\mathbf p\),力 \(\mathbf f\) 产生力矩 \(m=(\mathbf p-\mathbf c)\times\mathbf f\)(1.8 节的叉积)。把力矩放前面,得到平面里的 wrench \(\mathbf w=(m/\rho,\ f_x,\ f_y)\),三维空间中的一个点(和 7.6 节一致:wrench 力矩在前,力矩除以一个特征长度 \(\rho\) 是为了让三个分量量纲一致)。这样,一个摩擦锥就变成 wrench 空间里由两个"边 wrench" \(\mathbf w_\pm\) 张成的一个二维扇形。左图是物体上的接触,右图是它在 wrench 空间里的样子,两个图用同一个滑块联动。

    When a fingertip presses on an object, the contact force obeys three rules: it can only push, never pull (normal component \(f_n\ge0\)); the tangential part cannot exceed \(\mu f_n\) (Coulomb friction); and its direction is tied to the surface normal. Draw all allowed forces and you get the friction cone: axis along the inward normal, half-angle \(\varphi=\arctan\mu\). Every force in the cone is a non-negative combination of its two edges: \(\mathbf f=\alpha_+\mathbf e_++\alpha_-\mathbf e_-\), \(\alpha_\pm\ge0\).

    A force also makes a torque. For a contact at \(\mathbf p\) and a reference point \(\mathbf c\) (take the centroid), force \(\mathbf f\) gives the moment \(m=(\mathbf p-\mathbf c)\times\mathbf f\) (the cross product of Lesson 1.8). Putting the moment first gives the planar wrench \(\mathbf w=(m/\rho,\ f_x,\ f_y)\), a point in 3D (as in Lesson 7.6: moment first; dividing the moment by a characteristic length \(\rho\) just makes the three components share units). A friction cone then becomes a 2-D sector in wrench space, spanned by two "edge wrenches" \(\mathbf w_\pm\). The left panel is the contact on the object, the right one is its image in wrench space; one slider drives both.

    FIG 1一个接触点的摩擦锥与它的 wrench 扇形One contact's friction cone and its wrench sector
    物体与接触点OBJECT & CONTACT
    wrench 空间 (m/ρ, fx, fy),拖动旋转WRENCH SPACE (m/ρ, fx, fy) · drag to orbit
    拖动物体边界上的圆圈移动接触点,拖动琥珀色手柄设定手指施加在物体上的力 \(\mathbf F\)。绿色扇形是摩擦锥,两条紫、蓝边是 \(\mathbf e_\pm=\mathbf n\pm\mu\mathbf t\)(法向分量归一为 1)。右图中同样的两条边是 wrench \(\mathbf w_\pm\),绿色扇形是锥在线性映射 \(\mathbf F\mapsto\mathbf w\) 下的像;\(\mathbf F\) 在锥内,当且仅当它的 wrench(琥珀色箭头 \(\mathbf w(\mathbf F)\),出锥时变红)落在扇形内。 Drag the circle on the object's boundary to move the contact, and the amber handle to set the force \(\mathbf F\) the finger applies to the object. The green sector is the friction cone; the purple and blue edges are \(\mathbf e_\pm=\mathbf n\pm\mu\mathbf t\) (normal part normalized to 1). On the right the same two edges are the wrenches \(\mathbf w_\pm\) and the green sector is the image of the cone under the linear map \(\mathbf F\mapsto\mathbf w\); \(\mathbf F\) is in the cone exactly when its wrench (the amber arrow \(\mathbf w(\mathbf F)\), red when outside) lies in the sector.
    试一试Try this
    • 把力 \(\mathbf F\) 拖到锥外面:箭头变红,读数显示"打滑"。再把它拖成背向物体(拉)的方向,看会发生什么。Drag the force \(\mathbf F\) outside the cone: the arrow turns red and the readout says "slips". Then drag it to point away from the object (a pull) and see what happens.
    • 保持一个打滑的 \(\mathbf F\) 不动,增大 \(\mu\)(粗糙的指垫),直到它重新落进锥里。需要的 \(\mu\) 等于什么?Leave a slipping \(\mathbf F\) alone and raise \(\mu\) (a grippier pad) until it falls back inside the cone. What value of \(\mu\) is needed?
    • 把 \(\mu\) 调到 0:锥缩成一条线,右图的扇形缩成一条射线。没有摩擦的接触只能提供什么?Set \(\mu\) to 0: the cone collapses to a line and the sector to a single ray. What can a frictionless contact supply?
    核心洞见Key insight

    一个摩擦接触提供的 wrench 集合是一个凸锥:所有"边 wrench"的非负组合。几个接触叠加,就是把这些锥相加(Minkowski 和),也是所有边 wrench 的非负组合。抓得牢不牢,归结为一个几何问题:这堆边 wrench 的非负组合能不能铺满整个 wrench 空间?

    The wrenches one frictional contact can supply form a convex cone: all non-negative combinations of its edge wrenches. Several contacts add up as the Minkowski sum of such cones, again the non-negative combinations of all the edge wrenches. Whether the grasp is secure becomes a geometry question: do the non-negative combinations of these edge wrenches fill the whole wrench space?

    3动手玩:平面力封闭实验室Play: the planar force-closure lab

    现在放 2 到 4 个接触点。每个接触点贡献两条边 wrench,一共 \(2k\) 个点散在右图的 wrench 空间里。力封闭的意思是:这些边 wrench 的非负组合覆盖整个 wrench 空间,也就是它们的凸包把原点严格包在里面(1.6 节与 6.2 节:非负组合的集合是凸锥,覆盖整个空间等价于凸包包住原点)。直觉:原点在凸包内部,说明总能挑出一组接触力,抵消任意方向的外力和外力矩。

    右图里的透明多面体就是凸包。如果原点在里面,它周围能放下一个最大的球,球半径就是 Ferrari–Canny 质量 \(\varepsilon\):这个抓取在每一个方向上,都至少能抵抗大小为 \(\varepsilon\) 的外 wrench(接触法向力的总和限制为 1)。红色箭头画在物体上,是抓取最抵抗不了的那个外 wrench:它是一个沿某条作用线的力(或者一个纯力矩)。

    Now place 2 to 4 contacts. Each contributes two edge wrenches, so \(2k\) points scatter in the wrench space on the right. Force closure means the non-negative combinations of these edge wrenches cover the whole wrench space, i.e. their convex hull strictly contains the origin (Lessons 1.6 and 6.2: non-negative combinations form a convex cone, and the cone is everything exactly when the hull surrounds the origin). Intuition: with the origin inside the hull, you can always pick contact forces that cancel an external force and torque from any direction.

    The translucent polyhedron on the right is the hull. When it contains the origin, the largest ball around the origin that fits inside it has radius equal to the Ferrari–Canny quality \(\varepsilon\): in every direction the grasp can resist an external wrench of size at least \(\varepsilon\) (with the total contact normal force limited to 1). The red arrow drawn on the object is the external wrench the grasp resists least: a force along some line of action (or a pure torque).

    FIG 2力封闭实验室Force-closure lab
    物体:拖动接触点OBJECT · drag the contacts
    wrench 空间中的凸包HULL IN WRENCH SPACE
    预设Presets
    圆圈是接触点,彩色扇形是各自的摩擦锥。右图的点是边 wrench(颜色对应接触点),透明多面体是它们的凸包,中心的实心小圆点是原点,绿色线框球半径等于 \(\varepsilon\)。抓取不封闭时凸包不包住原点,读数给出原点到凸包的距离。读数里的"采样"是对 20000 个方向取 \(\min_{\mathbf d}\max_i\mathbf d\cdot\mathbf w_i\) 的独立数值核对,它总是略大于精确值,方向越多越接近。力矩用 \(\rho\)(物体边界到质心的最大距离)归一化,参考点取质心。 Circles are contacts and the colored sectors their friction cones. The dots on the right are the edge wrenches (color = contact), the translucent polyhedron is their hull, the small solid dot at the center is the origin and the green wireframe ball has radius \(\varepsilon\). When the grasp is not closed the hull misses the origin, and the readout gives the distance from the origin to the hull. "Sampled" in the readout is an independent numerical check, \(\min_{\mathbf d}\max_i\mathbf d\cdot\mathbf w_i\) over 20000 directions; it always lies slightly above the exact value and approaches it as directions are added. Moments are normalized by \(\rho\) (the largest distance from the centroid to the boundary) and the reference point is the centroid.
    试一试Try this
    • 点"两指对跖"预设,再把一个接触点沿边拖开:只用两个点接触就能力封闭吗?什么时候开始不封闭?Press the "Two-finger antipodal" preset, then drag one contact along its edge: can two point contacts reach force closure? When does it stop being closed?
    • 在圆盘上放三个接触点对称分布(用"圆盘三指"预设):读数 \(\varepsilon\) 正好等于 \(\mu\)。拖动一个点远离对称位置,\(\varepsilon\) 如何变化?Put three contacts symmetrically on the disc (the "Disc, 3 fingers" preset): the readout shows \(\varepsilon=\mu\) exactly. Drag one contact away from symmetry: how does \(\varepsilon\) change?
    • 令 \(\mu=0\)、4 个接触点,在矩形上找到一个封闭抓取("形封闭"预设)。摩擦为 0 时,3 个接触点能封闭吗?为什么?(提示:3 个向量能正张成整个 3 维空间吗?)With \(\mu=0\) and 4 contacts, find a closed grasp on the rectangle (the "Form closure" preset). With no friction, can 3 contacts ever close, and why? (Hint: can 3 vectors positively span a 3-D space?)
    三种说法,一个条件Three phrasings, one condition

    力学:抓取能抵抗任意外 wrench。代数:边 wrench 正张成 \(\mathbb R^3\)(平面)或 \(\mathbb R^6\)(空间)。几何:边 wrench 的凸包以原点为内点。FIG 2 里同时看得到三者:红箭头所指的外 wrench 能否被抵消(封闭时能,不封闭时不能)、多面体是否包住原点、读数是否显示"封闭",三者永远一致。

    Mechanics: the grasp can resist any external wrench. Algebra: the edge wrenches positively span \(\mathbb R^3\) (plane) or \(\mathbb R^6\) (space). Geometry: the hull of the edge wrenches has the origin as an interior point. FIG 2 shows all three at once: whether the red arrow's wrench can be cancelled (yes when closed, no otherwise), whether the polyhedron surrounds the origin, and whether the readout says "closed" always agree.

    4第二、第三视角:对跖条件与手Second and third views: the antipodal condition and the hand

    两指对跖:一条线落在两个锥里Two fingers: a line inside both cones

    最常见的夹爪只有两个接触点。FIG 2 的 2 指实验已经暗示了答案,Nguyen(1988)给出了干净的定理:两个带摩擦的点接触构成平面力封闭,当且仅当两接触点的连线落在两个摩擦锥内,即连线与各自内法向的夹角都小于 \(\varphi=\arctan\mu\)。这样的一对点称为对跖(antipodal)。物理上很自然:沿连线两头相向捏,每个指尖的力都在锥里,两个力大小相等方向相反,合力为零,且作用线重合,合力矩也为零。

    下面用椭圆(任何光滑曲线都一样)看这个条件。左图拖动两个接触点;右图是点对空间:横轴是接触点 1 的位置参数 \(\theta_1\),纵轴是接触点 2 的 \(\theta_2\),绿色区域是所有封闭的点对。拖动右图的圆点同样会移动左图的接触点。增大 \(\mu\),绿色区域从椭圆长短轴端点处的几个小点长大成越来越宽的带。令 \(\mu=0\),区域缩到测度为零。

    The most common gripper has just two contacts, and FIG 2's two-finger experiments already hint at the answer. Nguyen (1988) gave the clean theorem: two frictional point contacts form planar force closure if and only if the line joining them lies inside both friction cones, i.e. its angle to each inward normal is less than \(\varphi=\arctan\mu\). Such a pair is called antipodal. Physically it is natural: pinching along the line from both ends, each fingertip force is in its cone, the two forces are equal and opposite, sum to zero, and share a line of action so their moment vanishes too.

    Let us see the condition on an ellipse (any smooth curve behaves the same). On the left drag the two contacts; on the right is the pair space: the horizontal axis is contact 1's position parameter \(\theta_1\), the vertical axis contact 2's \(\theta_2\), and the green region is every closed pair. Dragging the dot on the right moves the contacts on the left too. Raise \(\mu\) and the green region grows from a few specks near the ends of the ellipse's axes into wider and wider bands. At \(\mu=0\) it shrinks to measure zero.

    FIG 3对跖抓取与点对空间Antipodal grasps and the pair space
    椭圆上的两个接触点TWO CONTACTS ON AN ELLIPSE
    点对空间 (θ₁, θ₂):绿 = 封闭PAIR SPACE (θ₁, θ₂) · green = closed
    左图:虚线是两接触点的连线,\(\alpha_1,\alpha_2\) 是连线与各自内法向(青色短线)的夹角,绿色表示 \(\alpha_i<\varphi\),红色表示不满足。右图的绿色区域用定理逐点判定(120×120 个格子),读数里的"封闭比例"是绿格占全部格子的比例。右图的虚线是 \(\theta_2=\theta_1+\pi\)(椭圆参数意义下的"对面")。点对关于对角线对称,因为交换两个手指不改变抓取。 Left: the dashed line joins the two contacts, \(\alpha_1,\alpha_2\) are its angles to the inward normals (short cyan ticks); green means \(\alpha_i<\varphi\), red means violated. The green region on the right is decided cell by cell with the theorem (120×120 cells) and "closed fraction" is the share of green cells. The dashed line is \(\theta_2=\theta_1+\pi\) (the "opposite" point in the ellipse's parameter). The map is symmetric about the diagonal because swapping the two fingers changes nothing.
    试一试Try this
    • 令 \(\mu\le0.25\),把两个接触点拖成一个封闭对。注意绿色区域有多小:低摩擦下,两指必须几乎正对着夹。With \(\mu\le0.25\), drag the two contacts into a closed pair. Notice how small the green region is: with low friction the two fingers must pinch almost head-on.
    • 把 \(\mu\) 增到 0.9 以上,让封闭比例超过 30%。橡胶指垫的 \(\mu\) 能到 1 左右,光滑金属指尖只有 0.2 到 0.3。Raise \(\mu\) above 0.9 so that the closed fraction exceeds 30%. A rubber pad can reach \(\mu\approx1\), while smooth metal fingertips give only 0.2 to 0.3.
    • 点"μ = 0":无摩擦时,只有两个接触点恰好沿共同法线正对(椭圆的长、短轴端点)才有机会,但这时抓取仍不封闭。为什么?Press "μ = 0": with no friction only a pair sitting exactly on a common normal (the ends of the ellipse's axes) has a chance, and even then it is not closed. Why?

    形封闭与力封闭Form closure versus force closure

    摩擦并不总是可靠的(油、水、不同材质)。如果去掉摩擦,单靠几何把物体"卡死",叫形封闭(form closure)。无摩擦接触只提供一条法向射线,每个接触只给一个 wrench,要在 \(n\) 维 wrench 空间里正张成,至少要 \(n+1\) 个:平面(\(n=3\))至少 4 个接触点,空间(\(n=6\))至少 7 个。这正是 FIG 2 里 \(\mu=0\) 时 3 个点无论怎样放都封闭不了的原因。摩擦换来更少的接触:平面 2 个,空间 3 个就够了。形封闭的优点是抓取不依赖摩擦系数,缺点是需要更多手指、形状要配合,而且圆盘、球这类旋转对称的物体,无摩擦接触永远无法约束它绕自己转动(FIG 2 里的 \(\mu=0\) 圆盘)。

    Friction is not always reliable (oil, water, odd materials). If you remove friction and lock the object by geometry alone, that is form closure. A frictionless contact supplies only a normal ray, one wrench per contact, and positively spanning an \(n\)-dimensional wrench space takes at least \(n+1\) of them: at least 4 contacts in the plane (\(n=3\)) and 7 in space (\(n=6\)). This is why, at \(\mu=0\), no placement of 3 points in FIG 2 can close. Friction buys fewer contacts: 2 in the plane and 3 in space suffice. Form closure's advantage is that it does not depend on the friction coefficient; the drawbacks are more fingers, shape-specific placement, and that a rotationally symmetric object such as a disc or sphere can never have its spin constrained by frictionless contacts (the \(\mu=0\) disc in FIG 2).

    从关节力矩到物体:抓取矩阵与手部雅可比From joint torques to the object: the grasp map and the hand Jacobian

    前面的 \(\mathbf F\) 是凭空出现的。真实的手靠关节电机出力,两个矩阵把这条链连起来:手部雅可比 \(J_h\)(3.4 节:\(\boldsymbol\tau=J_h^\top\mathbf f\),每根手指一个 \(J\))和抓取矩阵 \(G\)(指尖力 → 物体 wrench,\(\mathbf w=G\mathbf f\))。\(G\) 是 \(3\times 2k\)(\(k\) 个接触点),比方程数多得多的未知数让它有零空间(1.6 节):零空间里的接触力合成的 wrench 为零,物体动不了,它们就是手指之间互相"挤压"的内力。内力正是抓取能握紧而不平移物体的原因,也是摩擦抓取的救星:把内力开大,每个接触点的法向力增大,摩擦锥里能放的切向力也跟着增大。

    FIG 4 是平面二指手,每指两个关节。选好物体的重量和重心位置后,手需要对物体施加的 wrench 是固定的(抵消重力);这在 \(f\) 空间里只确定了 \(G^{+}\mathbf w\) 这一部分,剩下的自由度就是沿零空间的挤压大小 \(N\)。试着调 \(N\):太小摩擦锥放不下所需的切向力,物体滑落;足够大就稳住了;再大只是白白消耗关节力矩。

    So far \(\mathbf F\) appeared from nowhere. A real hand produces force with joint motors, and two matrices complete the chain: the hand Jacobian \(J_h\) (Lesson 3.4: \(\boldsymbol\tau=J_h^\top\mathbf f\), one \(J\) per finger) and the grasp map \(G\) (fingertip forces → wrench on the object, \(\mathbf w=G\mathbf f\)). \(G\) is \(3\times 2k\) for \(k\) contacts; many more unknowns than equations give it a null space (Lesson 1.6): contact forces in the null space add up to zero wrench, the object does not move, and they are the internal forces by which the fingers squeeze each other. Internal force is how a grasp holds tight without pushing the object around, and it is the saviour of frictional grasps: more squeeze means more normal force at each contact, and a wider range of tangential forces inside each cone.

    FIG 4 is a planar two-finger hand, two joints per finger. Once the weight and centre of mass are chosen, the wrench the hand must apply (to cancel gravity) is fixed; in \(\mathbf f\)-space that pins down only the part \(G^{+}\mathbf w\), and the remaining freedom is the squeeze \(N\) along the null space. Try varying \(N\): too small and the cone cannot hold the needed tangential force, so the object slips; large enough and it holds; any more is joint torque wasted.

    FIG 4平面二指手:关节力矩、内力与摩擦锥Planar two-finger hand: joint torques, squeeze and cones
    τL1
    τL2
    τR1
    τR2
    琥珀色圆点是物体重心(拖动或用滑块改变偏移 \(x_c\)),向下的琥珀箭头是重力 \(mg\)。每个指尖画出摩擦锥(绿色),以及指尖施加在物体上的力 \(\mathbf f_i=\)(浅色:\(G^{+}\mathbf w\),承担重力的摩擦力)+(青色:挤压 \(N\) 沿零空间)。合力在锥内为琥珀色,出锥为红并且物体下滑。右侧四根条是由 \(\boldsymbol\tau=J_h^\top\mathbf f\) 算出的关节力矩,红色竖线是力矩上限,超限变红。读数里的核对项分别是 \(G\mathbf f-\mathbf w_d\) 与由 \(\boldsymbol\tau\) 反解 \(\mathbf f=J_h^{-\top}\boldsymbol\tau\) 的往返误差。 The amber dot is the object's centre of mass (drag it or use the slider for the offset \(x_c\)); the downward amber arrow is gravity \(mg\). Each fingertip shows its friction cone (green) and the force \(\mathbf f_i\) it applies to the object = (faint: \(G^{+}\mathbf w\), the friction that carries the weight) + (cyan: squeeze \(N\) along the null space). The total is amber inside the cone and red outside, and then the object slides down. The four bars on the right are the joint torques from \(\boldsymbol\tau=J_h^\top\mathbf f\); red ticks are the torque limit and a bar turns red beyond it. The readout's checks are \(G\mathbf f-\mathbf w_d\) and the round-trip error of recovering \(\mathbf f=J_h^{-\top}\boldsymbol\tau\) from the torques.
    试一试Try this
    • 调整挤压 \(N\),使物体不滑,并且 \(N\) 只比最小值 \(N_{\min}\) 大不超过 15%。读数里的 \(N_{\min}\) 公式是什么形状?Tune the squeeze \(N\) so the object does not slip and \(N\) exceeds the minimum \(N_{\min}\) by less than 15%. What shape does the \(N_{\min}\) formula in the readout have?
    • 把重心偏移 \(|x_c|\) 拉到 2 cm 以上,并重新找到一个刚好不滑的 \(N\)(不超过 \(N_{\min}\) 的 1.15 倍):偏心让一侧手指承担更多摩擦力,所需的挤压为什么变大?Move the centre of mass off by more than 2 cm and find a just-non-slipping \(N\) again (at most 1.15 × \(N_{\min}\)): an off-centre mass loads one finger with more friction, so why does the required squeeze grow?
    同一个对偶出现两次The same duality, twice

    3.4 节:\(\boldsymbol\tau=J^\top\mathbf F\),"关节速度映到指尖速度,指尖力映到关节力矩"。抓取矩阵里是同一个故事:物体的 twist \(\mathbf V\) 映到各接触点的速度 \(\mathbf v_c=G^\top\mathbf V\),各接触力映到物体的 wrench \(\mathbf w=G\mathbf f\)(虚功原理 \(\mathbf w^\top\mathbf V=\mathbf f^\top\mathbf v_c\),即功率 \(\boldsymbol\omega^\top\mathbf m+\mathbf v^\top\mathbf f\))。手和物体间的关系,就是 \(J_h\dot{\mathbf q}=G^\top\mathbf V\)(接触点不脱离、不滑动时手指与物体的速度一致)。

    Lesson 3.4: \(\boldsymbol\tau=J^\top\mathbf F\), "joint velocities map to fingertip velocity and fingertip force maps to joint torque". The grasp map tells the same story: the object's twist \(\mathbf V\) maps to the contact-point velocities \(\mathbf v_c=G^\top\mathbf V\), and the contact forces map to the object's wrench \(\mathbf w=G\mathbf f\) (virtual work \(\mathbf w^\top\mathbf V=\mathbf f^\top\mathbf v_c\), the same power pairing \(\boldsymbol\omega^\top\mathbf m+\mathbf v^\top\mathbf f\)). The hand and the object are tied together by \(J_h\dot{\mathbf q}=G^\top\mathbf V\) (when contacts neither break nor slide, fingers and object move together).

    5再看数学The math

    提示:把鼠标悬停在公式中带底色的符号上,FIG 2、FIG 3 或 FIG 4 中对应的元素会被高亮。Tip: hover the highlighted symbols in the formulas; the matching element in FIG 2, FIG 3 or FIG 4 lights up.

    接触模型Contact models

    手指与物体的接触被建模成一个点,选哪种模型决定了每个接触能传多少"独立的力"(\(B_i\) 的列数):

    A fingertip-object contact is modeled as a point, and the model decides how many independent force components one contact can transmit (the number of columns of \(B_i\)):

    接触模型Contact model 允许的接触力Allowed contact force 平面 / 空间的独立分量Components: plane / space
    无摩擦点接触Frictionless point \(\mathbf f=f_n\mathbf n,\ f_n\ge0\) 1 / 1
    带摩擦点接触(库仑)Point with friction (Coulomb) \(\mathbf f=f_n\mathbf n+\mathbf f_t,\ \|\mathbf f_t\|\le\mu f_n,\ f_n\ge0\) 2 / 3 (空间里是圆锥,常用 \(m\) 棱锥近似)(a round cone in space, usually replaced by an \(m\)-sided pyramid)
    软指(soft finger)Soft finger 再加绕法线的力矩 \(|m_n|\le\gamma f_n\)plus a torque about the normal, \(|m_n|\le\gamma f_n\) — / 4

    抓取矩阵The grasp map

    取物体上的参考点 \(\mathbf c\)。第 \(i\) 个接触点在 \(\mathbf p_i\),接触力 \(\mathbf f_i\in\mathbb R^3\)(空间)对物体产生的 wrench(力矩在前,7.6 节;7.6 节把 wrench 记作 \(\mathbf F\),本节改记为 \(\mathbf w\),把 \(\mathbf F\) 留给 FIG 1 里手指的力)是

    Take a reference point \(\mathbf c\) on the object. Contact \(i\) at \(\mathbf p_i\) applying force \(\mathbf f_i\in\mathbb R^3\) (space) gives the object the wrench (moment first, Lesson 7.6; that lesson writes a wrench as \(\mathbf F\), here it is \(\mathbf w\) and \(\mathbf F\) is the finger force of FIG 1)

    $$ \mathbf w_i=\begin{bmatrix}\mathbf m_i\\ \mathbf f_i\end{bmatrix}=\underbrace{\begin{bmatrix}[\mathbf p_i-\mathbf c]_\times\\ I_3\end{bmatrix}}_{G_i\ (6\times3)}\mathbf f_i,\qquad \mathbf w=\sum_{i=1}^{k}G_i\mathbf f_i=\hl{G}{G}\,\mathbf f,\qquad \text{plane:}\ G_i=\begin{bmatrix}-(p_{i,y}-c_y) & p_{i,x}-c_x\\ 1&0\\ 0&1\end{bmatrix}. $$

    (\([\cdot]_\times\) 是 1.8 节的叉积矩阵;平面里 \(\mathbf m=(\mathbf p-\mathbf c)\times\mathbf f\) 是标量,也就是上式第一行。)接触力写成锥的基 \(\hl{cone}{\mathbf f_i=B_i\boldsymbol\lambda_i}\),\(\boldsymbol\lambda_i\ge0\),\(B_i\) 的列就是 FIG 1 的 \(\mathbf e_\pm=\mathbf n\pm\mu\mathbf t\)。物体平衡要求 \(\mathbf w+\mathbf w_{\text{ext}}=\mathbf 0\),所以抓取抵抗得了 \(\mathbf w_{\text{ext}}\),当且仅当 \(-\mathbf w_{\text{ext}}\) 属于 \(\{GB\boldsymbol\lambda:\boldsymbol\lambda\ge0\}\),这个集合正是 FIG 2 凸包张成的锥。

    (\([\cdot]_\times\) is the cross-product matrix of Lesson 1.8; in the plane \(m=(\mathbf p-\mathbf c)\times\mathbf f\) is a scalar, the first row above.) Writing the contact force in the cone's basis, \(\hl{cone}{\mathbf f_i=B_i\boldsymbol\lambda_i}\) with \(\boldsymbol\lambda_i\ge0\), the columns of \(B_i\) are FIG 1's \(\mathbf e_\pm=\mathbf n\pm\mu\mathbf t\). Equilibrium demands \(\mathbf w+\mathbf w_{\text{ext}}=\mathbf 0\), so the grasp resists \(\mathbf w_{\text{ext}}\) if and only if \(-\mathbf w_{\text{ext}}\) lies in \(\{GB\boldsymbol\lambda:\boldsymbol\lambda\ge0\}\), exactly the cone spanned by FIG 2's hull.

    力封闭、形封闭与内力Force closure, form closure and internal force

    令 \(p=3\)(平面)或 \(6\)(空间)。把全部边 wrench 记作 \(\mathbf w_1,\dots,\mathbf w_m\)(FIG 2 里 \(m=2k\))。

    Let \(p=3\) (plane) or \(6\) (space), and write all edge wrenches as \(\mathbf w_1,\dots,\mathbf w_m\) (so \(m=2k\) in FIG 2).

    $$ \text{force closure}\ \iff\ \Big\{\sum_j\lambda_j\mathbf w_j:\lambda_j\ge0\Big\}=\mathbb R^{p}\ \iff\ \mathbf 0\in\operatorname{int}\,\hl{hull}{\operatorname{conv}\{\mathbf w_j\}}\ \iff\ \operatorname{rank}G=p\ \text{ and }\ \exists\,\mathbf f\in\mathcal N(G)\cap\operatorname{int}\prod_i\mathrm{FC}_i. $$

    最后一个等价式(Murray–Li–Sastry 第 5 章;Nguyen)把 1.6 节的零空间带了回来:矩阵 \(G\) 要满行秩(能产生任何方向的 wrench),而且零空间里存在一个严格在所有摩擦锥内部的内力(手指可以一边互相挤压,一边每个接触点都稳稳在锥里)。形封闭是 \(\mu=0\) 的特例,此时每个接触只有一个 \(\mathbf w_i\),要正张成 \(\mathbb R^p\) 至少要 \(m\ge p+1\) 个:4 个(平面),7 个(空间);Markenscoff–Ni–Papadimitriou(1990)证明平面里不含圆弧的物体 4 个就够,没有旋转对称的一般 3D 物体 7 个就够。

    The last equivalence (Murray–Li–Sastry ch. 5; Nguyen) brings back Lesson 1.6's null space: \(G\) must have full row rank (it can generate a wrench in any direction), and the null space must contain an internal force strictly inside all the friction cones (the fingers can squeeze each other while every contact sits safely in its cone). Form closure is the \(\mu=0\) special case: each contact has a single \(\mathbf w_i\), and positively spanning \(\mathbb R^p\) takes \(m\ge p+1\) of them, 4 in the plane and 7 in space; Markenscoff, Ni and Papadimitriou (1990) showed that 4 frictionless contacts suffice for planar bodies without circular parts and 7 for generic 3-D bodies without rotational symmetry.

    对跖定理The antipodal theorem

    两个点接触时 \(G\) 是 \(3\times4\),零空间一维(秩 3)。零空间里的力满足 \(\mathbf f_1+\mathbf f_2=\mathbf 0\) 且合力矩为 0,所以它必须沿着两个接触点的连线,成对地"相向挤压"。它要严格落在两个锥内,等价于:

    With two point contacts \(G\) is \(3\times4\) with a one-dimensional null space (rank 3). A null-space force satisfies \(\mathbf f_1+\mathbf f_2=\mathbf 0\) with zero net moment, so it must run along the line joining the contacts, squeezing the pair against each other. Having it strictly inside both cones is equivalent to:

    $$ \hl{angle}{\angle\big(\mathbf p_2-\mathbf p_1,\ \mathbf n_1\big)}<\arctan\mu,\qquad \angle\big(\mathbf p_1-\mathbf p_2,\ \mathbf n_2\big)<\arctan\mu. $$

    FIG 3 的绿色区域就是用这两个不等式逐格画出的;在阈值处 \(\varepsilon\) 线性降为 0(数值检查过:把 \(\theta_2\) 扫过阈值,\(\varepsilon\) 在边界一侧恰为 0,另一侧随与边界的距离线性增长)。

    FIG 3's green region is drawn cell by cell with these two inequalities. At the threshold \(\varepsilon\) drops linearly to 0 (checked numerically: sweeping \(\theta_2\) across the boundary, \(\varepsilon\) is exactly 0 on one side and grows linearly with the distance from the boundary on the other).

    质量指标 \(\varepsilon\)The quality metric \(\varepsilon\)

    Ferrari 与 Canny(1992)把"这个抓取多抗扰"定义成凸包里以原点为心的最大球的半径:

    Ferrari and Canny (1992) defined "how disturbance-resistant is this grasp" as the radius of the largest ball centred at the origin that fits in the hull:

    $$ \hl{eps}{\varepsilon}\;=\;\max\{r:\ \mathcal B_r(\mathbf 0)\subseteq\operatorname{conv}\{\mathbf w_j\}\}\;=\;\min_{\|\mathbf d\|=1}\ \max_{j}\ \mathbf d^\top\mathbf w_j\;=\;\min_{\text{facets }F}\ \frac{b_F}{\|\mathbf a_F\|}. $$

    中间的 \(\max_j\mathbf d^\top\mathbf w_j\) 是凸包沿 \(\mathbf d\) 方向的"支撑函数";让它最小的方向 \(\mathbf d^\star\) 最薄,\(-\varepsilon\mathbf d^\star\)(FIG 2 的红色箭头)就是最难抵抗的外 wrench。凸包写成 \(\{\mathbf w:\mathbf a_F^\top\mathbf w\le b_F\}\) 的面片形式时,\(\varepsilon\) 是原点到最近面片的距离。FIG 2 里点很少,用暴力枚举所有三点面即可得到精确值;点多时(三维摩擦金字塔)用 qhull 一类的凸包算法或线性规划(6.8 节)。几个检验过的值:三指对称夹圆盘(\(\rho=R\)),\(\varepsilon=\mu\),直到 \(\mu\approx0.91\) 才被另一个面片截断;两个对跖点夹圆盘,\(\varepsilon\) 等于四面体凸包的内切球半径,和数值精确值一致。

    The middle expression \(\max_j\mathbf d^\top\mathbf w_j\) is the hull's support function along \(\mathbf d\); the direction \(\mathbf d^\star\) minimizing it is where the hull is thinnest, and \(-\varepsilon\mathbf d^\star\) (FIG 2's red arrow) is the external wrench that is hardest to resist. When the hull is written as facets \(\{\mathbf w:\mathbf a_F^\top\mathbf w\le b_F\}\), \(\varepsilon\) is the distance from the origin to the nearest facet. With so few points in FIG 2, brute-force enumeration of all point triples gives the exact value; with many points (3-D friction pyramids) use a hull algorithm such as qhull, or a linear program (Lesson 6.8). Some checked values: three symmetric fingers on a disc (\(\rho=R\)) give \(\varepsilon=\mu\) exactly, until \(\mu\approx0.91\) where another facet takes over; two antipodal contacts on a disc give \(\varepsilon\) equal to the in-radius of the tetrahedral hull, matching the numeric value.

    注意 \(\varepsilon\) 不是坐标无关的:换参考点 \(\mathbf c\)、换特征长度 \(\rho\)(单位)就会改变它的数值,因为这相当于对 wrench 空间做了线性变换。只有"是否封闭"(原点在不在凸包内)不受影响。不同抓取之间比较 \(\varepsilon\),必须是同一物体、同一参考点、同一 \(\rho\)、同一种范数(FIG 2 用的是总法向力 \(\le1\) 的 \(L_1\) 范数;另一种常用的是每个接触法向力 \(\le1\) 的 \(L_\infty\) 范数)。

    Note that \(\varepsilon\) is not coordinate-free: changing the reference point \(\mathbf c\) or the length scale \(\rho\) (the units) changes its value, since that is a linear change of the wrench space. Only whether the grasp is closed (is the origin inside the hull) is unaffected. Compare \(\varepsilon\) across grasps only for the same object, reference point, \(\rho\) and norm (FIG 2 uses the \(L_1\) norm, total normal force \(\le1\); the other common choice is the \(L_\infty\) norm, each contact's normal force \(\le1\)).

    手:\(J_h\)、内力与抓取力优化The hand: \(J_h\), internal force and grasp-force optimization

    把所有手指的雅可比叠成分块对角矩阵 \(J_h=\operatorname{diag}(J_1,\dots,J_k)\)(每个 \(J_i\) 是 3.4 节的指尖雅可比)。静力学给出

    Stack the finger Jacobians into the block-diagonal \(J_h=\operatorname{diag}(J_1,\dots,J_k)\) (each \(J_i\) is a Lesson 3.4 fingertip Jacobian). Statics gives

    $$ \boldsymbol\tau=J_h^\top\mathbf f,\qquad \mathbf w=G\mathbf f,\qquad \mathbf f=\underbrace{G^{+}\mathbf w_d}_{\text{net wrench}}+\underbrace{\mathcal N(G)\,\boldsymbol\lambda}_{\text{internal force}},\qquad J_h\dot{\mathbf q}=G^\top\mathbf V. $$

    对每根手指是 \(2\times2\) 的可逆 \(J_i\)(FIG 4),则 \(\mathbf f_i=J_i^{-\top}\boldsymbol\tau_i\):给定关节力矩就确定指尖力。实际控制里反过来:先选 \(\mathbf f\),再算 \(\boldsymbol\tau\)。选 \(\mathbf f\) 的过程叫抓取力优化:在 \(G\mathbf f=\mathbf w_d\)、\(\mathbf f_i\in\) 缩进的摩擦锥(留安全余量)、\(\|\boldsymbol\tau\|_\infty\le\tau_{\max}\) 这些约束下,最小化(比如)\(\|\mathbf f\|^2\) 或最大关节力矩。目标是凸二次或线性函数,约束是锥和线性不等式,所以是 QP/SOCP(6.7 到 6.8 节);手控制器每个周期解一次。

    For a finger with an invertible \(2\times2\) \(J_i\) (FIG 4), \(\mathbf f_i=J_i^{-\top}\boldsymbol\tau_i\): the joint torques fix the fingertip force. In control one goes the other way: choose \(\mathbf f\) first, then compute \(\boldsymbol\tau\). Choosing \(\mathbf f\) is grasp-force optimization: minimize (say) \(\|\mathbf f\|^2\) or the largest joint torque subject to \(G\mathbf f=\mathbf w_d\), \(\mathbf f_i\) inside shrunken friction cones (a safety margin) and \(\|\boldsymbol\tau\|_\infty\le\tau_{\max}\). The objective is convex quadratic or linear and the constraints are cones and linear inequalities, so it is a QP or SOCP (Lessons 6.7 to 6.8), solved by the hand controller every cycle.

    欠驱动、协同与手内操作(指路)Underactuation, synergies and in-hand manipulation (pointers)

    欠驱动手指:一个电机通过肌腱带动 2 到 3 个关节,肌腱力 \(F_t\) 在第 \(i\) 个关节产生力矩 \(r_iF_t\),被关节弹簧 \(k_iq_i\) 和接触力平衡:\(r_iF_t=k_iq_i+(J^\top\mathbf f)_i\)。指节碰到物体后那个关节被接触力"卡住",电机继续拉,后面的指节继续合拢直到全部贴合:手指自适应地"包住"物体,不需要感知形状。代价是你不能独立控制各关节力矩,内力分布由机构几何和弹簧决定。协同:人手的抓取姿态高度相关,少数几个主成分(Santello 等,1998)就能解释大部分姿态的方差,把关节角写成 \(\mathbf q=\bar{\mathbf q}+S\mathbf z\),\(\mathbf z\) 只有两三维,就是一个"软件版"的欠驱动。手内操作:在保持封闭的同时让物体的 twist \(\mathbf V\) 变化,就要让接触点在物体表面滚动或滑动(接触点的位置 \(\mathbf p_i\) 变成状态量),需要接触运动学和"手指步态";这是 Murray–Li–Sastry 第 5、6 章和近年强化学习(见下一节)的领域。

    Underactuated fingers: one motor drives 2 to 3 joints through a tendon; tendon force \(F_t\) produces torque \(r_iF_t\) at joint \(i\), balanced by the joint spring \(k_iq_i\) and the contact forces: \(r_iF_t=k_iq_i+(J^\top\mathbf f)_i\). Once a phalanx touches the object, that joint is held by the contact force; the motor keeps pulling and the remaining phalanges keep closing until all conform: the finger wraps the object adaptively without sensing its shape. The price is that you cannot command joint torques independently; the internal-force distribution is set by the mechanism's geometry and springs. Synergies: human grasp postures are strongly correlated, and a few principal components (Santello et al., 1998) explain most of the posture variance; writing joint angles as \(\mathbf q=\bar{\mathbf q}+S\mathbf z\) with a 2- or 3-dimensional \(\mathbf z\) is a "software" version of underactuation. In-hand manipulation: changing the object's twist \(\mathbf V\) while keeping closure means contacts roll or slide on the object (the contact locations \(\mathbf p_i\) become states), which needs contact kinematics and "finger gaiting"; this is the territory of Murray–Li–Sastry ch. 5 to 6 and of recent reinforcement learning (next section).

    6机器人中的它:给一堆候选抓取打分In robotics: scoring a pile of candidate grasps

    料箱拣选(bin picking)的经典流程:相机拍到物体,规划器采样几百到几千个候选抓取,用分数排序,把最好的交给机械臂。Dex-Net 2.0(Mahler 等,RSS 2017)的做法是:先在仿真里对上百万个合成点云上的抓取,用上面讲的 Ferrari–Canny 类指标并加入摩擦系数、物体位姿、夹爪位姿的随机扰动,算出鲁棒质量作为标签,再训练一个神经网络(GQ-CNN)直接从深度图预测成功概率,这样现实里不用解几何,一次前向就给出分数。

    下图用同样的逻辑做一个玩具版本:一个 160 边形的"土豆",平行夹爪从相对两侧闭合。候选是所有边界点对(线的亮度表示分数),夹爪张开宽度有上限。"名义"模式按精确几何下的 \(\varepsilon\) 排序;"鲁棒"模式则让物体的位姿有高斯误差(平移与旋转),夹爪沿原来的闭合线重新接触,对 40 次随机误差取平均 \(\varepsilon\),并统计仍然封闭的比例。

    The classic bin-picking pipeline: a camera sees the pile, the planner samples hundreds to thousands of candidate grasps, ranks them by a score, and hands the best one to the arm. Dex-Net 2.0 (Mahler et al., RSS 2017) computes, for millions of grasps on synthetic point clouds, a Ferrari–Canny-style quality made robust by randomizing the friction coefficient, object pose and gripper pose, uses it as the label, and trains a neural network (GQ-CNN) to predict the success probability straight from a depth image, so at run time no geometry has to be solved: one forward pass gives the score.

    The figure below does the same thing in miniature: a 160-gon "potato" and a parallel-jaw gripper closing from opposite sides. Candidates are all pairs of boundary points (a line's brightness encodes its score), and the gripper's maximum opening is limited. "Nominal" ranks by \(\varepsilon\) with exact geometry; "Robust" gives the object a Gaussian pose error (translation and rotation), lets the gripper re-contact along its original closing line, and averages \(\varepsilon\) over 40 random errors, also counting how often the grasp is still closed.

    FIG 5平行夹爪抓取规划Parallel-jaw grasp planner
    细线是满足开口限制且名义上封闭的候选对,线越不透明分数越高(当前排序方式)。粗线加两侧指垫是当前排名第一的抓取;虚线圈是"另一种排序方式"的第一名,两者不同时读数会提示。位姿误差 \(\sigma\) 以物体半径为单位(旋转用 \(\sigma\) 弧度);随机数固定,所以拖动滑块时排名变化是真实的,不是抖动。 Thin lines are the candidate pairs that fit the opening limit and are nominally closed; the more opaque the line, the higher the score (under the current ranking). The thick line with finger pads is the top-ranked grasp; the dashed ring marks the top pick of the other ranking, and the readout says so when they differ. Pose error \(\sigma\) is in object radii (rotation uses \(\sigma\) radians); the random numbers are fixed, so changes in the ranking as you drag a slider are real, not jitter.
    试一试Try this
    • 把 \(\sigma\) 调到 0.08 以上并切到"鲁棒":名义最优的抓取和鲁棒最优的抓取不是同一个。名义分数最高的那个,在位姿误差下为什么容易失败?Raise \(\sigma\) above 0.08 and switch to "Robust": the nominally best grasp and the robustly best grasp differ. Why does the nominal winner fail so easily under pose error?
    真实系统里In real systems

    学习式抓取检测:Dex-Net 2.0/3.0(平行夹爪/吸盘,用解析质量作标签)、GraspNet-1Billion(Fang 等,CVPR 2020)、6-DoF GraspNet(Mousavian 等,ICCV 2019)、Contact-GraspNet(Sundermeyer 等,ICRA 2021)、AnyGrasp(Fang 等,T-RO 2023),输入点云,输出 6 自由度夹爪位姿与分数;Part V 与 Part VI 会从监督学习与扩散策略的角度回来讲这些方法。吸盘:不需要摩擦,需要一块可密封的平面,仓储拣选里最常用。手内重定向:OpenAI 的魔方手(2019)用 Shadow Hand、自动域随机化和 PPO 在仿真里训练再迁移到真机;后来 Allegro 与 LEAP Hand 上的手内旋转策略(Qi 等,2022 年起)用相同路线。触觉:GelSight、DIGIT 这类视触觉传感器直接看到接触面,估计法向力与滑移(9.4 节的传感器分类表把它们与其他传感器放在一起比较)。夹爪选择:平行夹爪便宜可靠,适合形状规则的零件;吸盘适合有平面的箱体;软手和自适应手适合形状不确定;灵巧手适合手内操作和使用工具,但贵、脆、难控。

    Learned grasp detection: Dex-Net 2.0/3.0 (parallel-jaw/suction, analytic quality as labels), GraspNet-1Billion (Fang et al., CVPR 2020), 6-DoF GraspNet (Mousavian et al., ICCV 2019), Contact-GraspNet (Sundermeyer et al., ICRA 2021) and AnyGrasp (Fang et al., T-RO 2023) take a point cloud and output 6-DoF gripper poses with scores; Parts V and VI return to these methods from the supervised-learning and diffusion-policy angles. Suction: needs no friction, only a sealable surface, and is the workhorse of warehouse picking. In-hand reorientation: OpenAI's Rubik's-cube hand (2019) trained in simulation on a Shadow Hand with automatic domain randomization and PPO and transferred to hardware; in-hand rotation policies on Allegro and LEAP Hands (Qi et al., from 2022) follow the same recipe. Touch: vision-based tactile sensors such as GelSight and DIGIT see the contact patch and estimate normal force and slip (the sensor table of Lesson 9.4 compares them with other sensors). Choosing a gripper: parallel-jaw grippers are cheap and reliable for regular parts; suction suits boxes with a flat face; soft and adaptive hands suit uncertain shapes; dexterous hands suit in-hand manipulation and tool use, but are expensive, fragile and hard to control.

    末端执行器End effector 自由度 / 驱动DoF / actuation 特点Notes
    平行夹爪(Franka Hand)Parallel-jaw (Franka Hand)1 个驱动,行程约 80 mm1 actuator, ≈80 mm stroke对跖捏取;便宜,鲁棒,最常用antipodal pinch; cheap, robust, the default
    自适应夹爪(Robotiq 2F-85)Adaptive gripper (Robotiq 2F-85)1 个驱动,连杆式欠驱动指,行程 85 mm1 actuator, linkage underactuated fingers, 85 mm stroke指节自动贴合,适应形状fingers conform to the part
    三指自适应(Robotiq 3-Finger)3-finger adaptive (Robotiq)3 指各 1 个驱动,外加 1 个开合电机(共 4 个)3 fingers, one actuator each, plus 1 spread motor (4 total)包络抓取(power grasp)enveloping power grasps
    吸盘 / 软抓手Suction / soft grippers0 个手指自由度(真空或气压)no finger DoF (vacuum or pneumatics)吸盘要可密封平面;软手靠被动柔顺suction needs a sealable face; soft fingers rely on passive compliance
    Ability Hand(PSYONIC)Ability Hand (PSYONIC)5 指,6 个驱动自由度5 digits, 6 actuated DoF假肢出身,轻巧prosthetic origin; light
    Allegro Hand16 自由度,4 指 × 4 关节,全驱动16 DoF, 4 fingers × 4 joints, fully actuated研究常用,仿真模型成熟research workhorse; mature simulation models
    LEAP Hand16 自由度,4 指 × 4 关节,全驱动16 DoF, 4 fingers × 4 joints, fully actuated低成本,面向机器人学习(Shaw 等,RSS 2023)low cost, built for robot learning (Shaw et al., RSS 2023)
    Shadow Dexterous Hand24 个关节,20 个驱动(指端两个关节耦合)24 joints, 20 actuated (distal joints coupled)接近人手尺寸;OpenAI 魔方手near human size; OpenAI's cube hand

    作为参照,人手的关节自由度常被引用为 20 多个(连手腕约 27)。机器人手的难点不在自由度的个数,而在驱动器体积、肌腱摩擦、触觉传感和它们的可靠性。

    For reference, the human hand is usually quoted at 20-odd joint DoF (about 27 counting the wrist). The hard part for robot hands is not the number of degrees of freedom but actuator volume, tendon friction, tactile sensing, and reliability.

    7常见误区Common pitfalls

    误区 1:只看力平衡,忽略力矩Pitfall 1: balancing forces and forgetting torques

    力封闭是关于wrench的,力和力矩一起。在 FIG 2 里把圆盘上的三个接触点对称放置并令 \(\mu=0\):三个法向力互成 120°,合力为零,看上去"平衡"了,但它们的作用线都过圆心,对绕圆心的转动毫无抵抗,\(\varepsilon=0\)。有了摩擦,切向力才有了力臂,\(\varepsilon=\mu\)。直觉"力平衡"会漏掉一整个自由度。

    Force closure is about wrenches, forces and torques together. In FIG 2 put three contacts symmetrically on the disc and set \(\mu=0\): the three normal forces are 120° apart, sum to zero and look "balanced", but all their lines pass through the centre, so nothing resists a spin about it and \(\varepsilon=0\). With friction the tangential forces get a lever arm and \(\varepsilon=\mu\). The "forces balance" intuition misses an entire degree of freedom.

    误区 2:把 \(\mu\) 当成已知常数Pitfall 2: treating \(\mu\) as a known constant

    \(\mu\) 不是物体的属性,而是指垫与物体这一对表面在当前条件(干湿、油污、速度、压力)下的性质,估计往往差一倍。FIG 3 显示封闭区域对 \(\mu\) 很敏感。实践里用一个保守的 \(\mu\)(比标称值小)画锥,或者像 Dex-Net 那样把 \(\mu\) 当作随机变量去采样,再取期望或最差情形。

    \(\mu\) is not a property of the object but of the pair of surfaces (pad and object) under the current conditions (wet or dry, oil, speed, pressure), and the estimate is often off by a factor of two. FIG 3 shows how sensitive the closed region is to \(\mu\). In practice draw the cone with a conservative \(\mu\) (smaller than nominal), or treat \(\mu\) as a random variable as Dex-Net does and take the expectation or the worst case.

    误区 3:理想接触点不等于手指够得着的点Pitfall 3: the ideal contact points are not points the fingers can reach

    本节把接触点当作可以任意摆放的点。真实的手指有厚度和指垫,是一块曲面而不是一个点;接近方向会撞到料箱壁和邻近物体;手指的关节要能给出需要的力矩(FIG 4 的力矩条)。"力封闭"只是必要条件之一。抓取规划还要加上运动学可达性、碰撞检测、抓取力是否在关节力矩限制内。

    This lesson treats contacts as points that can be placed anywhere. Real fingers have thickness and pads, a curved patch rather than a point; the approach direction collides with the bin wall and neighbouring objects; and the finger joints must deliver the required torques (FIG 4's bars). Force closure is only one necessary ingredient. Grasp planning adds kinematic reachability, collision checking, and whether the grasp forces fit within the joint torque limits.

    误区 4:平面封闭 ≠ 三维封闭Pitfall 4: closed in the plane is not closed in 3-D

    FIG 3 里的对跖抓取在平面里封闭,但把物体放到三维里,两个点接触夹一个物体,绕两点连线的转动没有任何抵抗:点接触(哪怕有摩擦)不能产生绕法线的力矩。所以一个夹爪夹住瓶子,瓶子仍可能绕夹爪的轴摆下去。解决办法是增加第三个接触、用有面积的指垫(软指模型提供绕法线的摩擦力矩),或者抓在重心附近,让重力绕夹爪轴的力矩尽量小。

    The antipodal grasp of FIG 3 is closed in the plane, but in 3-D two point contacts pinching an object offer no resistance to rotation about the line joining them: a point contact, even with friction, cannot produce a moment about its normal. So a bottle pinched by a gripper can still swing down about the gripper's axis. The fixes are a third contact, a finger pad with area (the soft-finger model gives a friction moment about the normal), or grasping near the centre of mass so that gravity's moment about the gripper axis stays small.

    误区 5:\(\varepsilon\) 越大越好,也不依赖单位Pitfall 5: bigger \(\varepsilon\) is always better, and unit-free

    FIG 5 展示了第一个问题:名义 \(\varepsilon\) 最高的抓取可能对位姿误差很敏感,鲁棒排序才是实际成功率的更好代理,这也是 Dex-Net 用鲁棒质量当标签的原因。第二个问题在上一节:\(\varepsilon\) 依赖参考点和 \(\rho\),换单位就换数值。把它当作同一物体上的排序依据,而不是跨物体的绝对"好坏"。还有第三个:\(\varepsilon\) 不管动力学。手臂在加速时,惯性力会附加在 \(\mathbf w_{\text{ext}}\) 上。

    FIG 5 shows the first problem: the grasp with the highest nominal \(\varepsilon\) can be very sensitive to pose error, and the robust ranking is a better proxy for real success, which is why Dex-Net labels with a robust quality. The second was in the previous section: \(\varepsilon\) depends on the reference point and on \(\rho\), so changing units changes the number. Use it to rank grasps of the same object, not as an absolute "goodness" across objects. And a third: \(\varepsilon\) ignores dynamics; when the arm accelerates, inertial forces add to \(\mathbf w_{\text{ext}}\).

    8小练习Check yourself

    1. 指垫与物体的摩擦系数 \(\mu=0.5\)。摩擦锥的半角是多少?1. The pad-object friction coefficient is \(\mu=0.5\). What is the half-angle of the friction cone?
    \(\varphi=\arctan\mu=\arctan0.5\approx26.6^\circ\)。切向力与法向力之比不超过 \(\mu\) 正好是锥的边界:边上 \(\tan\varphi=f_t/f_n=\mu\)。\(\varphi=\arctan\mu=\arctan0.5\approx26.6^\circ\). The cone's boundary is where the tangential-to-normal ratio equals \(\mu\): on the edge \(\tan\varphi=f_t/f_n=\mu\).
    2. 橡胶指垫 \(\mu=0.8\),两指在平面里夹一个物体,两接触点的连线与两侧的内法向都成 35° 角。这是力封闭吗?2. Rubber pads with \(\mu=0.8\) pinch an object in the plane, and the line joining the two contacts makes 35° with each inward normal. Is this force closure?
    对跖定理:连线在两个锥里就封闭,不需要法线重合(而没有摩擦时,即使法线重合,两点也封闭不了:平面里无摩擦至少要 4 个接触点)。有摩擦时 2 个点接触就够,且封闭与质量无关,质量只决定需要多大的挤压力(FIG 4)。Antipodal theorem: the line being inside both cones is enough; coincident normals are not needed (and without friction even coincident normals would not close: a frictionless planar grasp needs at least 4 contacts). With friction two point contacts suffice, and closure is independent of mass; mass only decides how hard you must squeeze (FIG 4).
    3. 至少需要多少个无摩擦点接触才能对一个一般的物体形封闭?(平面 / 空间)3. At least how many frictionless point contacts does form closure of a generic body need? (plane / space)
    \(n\) 维 wrench 空间里,无摩擦接触每个只给一个 wrench,要正张成 \(\mathbb R^n\) 至少要 \(n+1\) 个:平面 \(n=3\) 得 4,空间 \(n=6\) 得 7。FIG 2 里 \(\mu=0\) 时 3 个点永远不封闭、4 个点可以。In an \(n\)-dimensional wrench space each frictionless contact supplies one wrench, and positively spanning \(\mathbb R^n\) needs at least \(n+1\): \(n=3\) gives 4 in the plane and \(n=6\) gives 7 in space. In FIG 2 at \(\mu=0\), 3 points never close and 4 can.
    4. 用两个对称的平行指垫(\(\mu=0.4\))夹住 0.5 kg 的物块,重心在两指中间,\(g=9.8\ \text{m/s}^2\)。抓住它所需的最小挤压力 \(N\)(每个指尖的法向力)约为?4. Two symmetric parallel pads (\(\mu=0.4\)) hold a 0.5 kg block with its centre of mass midway between the fingers, \(g=9.8\ \text{m/s}^2\). The minimum squeeze \(N\) (normal force at each fingertip) is about?
    \(mg=0.5\times9.8=4.9\) N,两个指尖各分担 \(mg/2=2.45\) N 的摩擦力。要求 \(2.45\le\mu N\),得 \(N\ge2.45/0.4\approx6.1\) N(对应 FIG 4 的 \(N_{\min}=mg/(2\mu)\))。若偏心,\(N_{\min}\) 变为 \(mg\,(1/2+|x_c|/w)/\mu\)。\(mg=0.5\times9.8=4.9\) N, so each fingertip carries \(mg/2=2.45\) N of friction. Requiring \(2.45\le\mu N\) gives \(N\ge2.45/0.4\approx6.1\) N (FIG 4's \(N_{\min}=mg/(2\mu)\)). With an off-centre mass, \(N_{\min}=mg\,(1/2+|x_c|/w)/\mu\).
    5. 在三维中,用两个带摩擦的点接触夹住一个物体。哪一种外 wrench 是它抵抗不了的?5. In 3-D, two frictional point contacts pinch an object. Which external wrench can the grasp not resist?
    点接触的力只有 3 个分量,两个接触共 6 个未知数,但 \(G\) 的秩只有 5:缺的就是绕连线的力矩(接触点都在连线上,接触力对这条线没有力矩)。软指(绕法线有摩擦力矩)或第三个接触才能补上。A point contact transmits 3 force components, 6 unknowns for two contacts, but \(G\) has rank only 5: the missing direction is the torque about the joining line (both contact points lie on that line, so their forces exert no moment about it). A soft finger (friction moment about the normal) or a third contact fills the gap.

    9延伸阅读Further reading

    • R. M. Murray, Z. Li & S. S. Sastry, A Mathematical Introduction to Robotic Manipulation (CRC Press, 1994), Ch. 5 — 多指手运动学:接触模型、抓取矩阵、力封闭与形封闭的严格定义Multifingered hand kinematics: contact models, the grasp map, rigorous definitions of force and form closure
    • K. Lynch & F. Park, Modern Robotics, Ch. 12 — 抓取与操作:接触运动学、摩擦、形封闭与力封闭Grasping and manipulation: contact kinematics, friction, form and force closure
    • V.-D. Nguyen, Constructing Force-Closure Grasps, Int. J. Robotics Research 7(3), 1988 — 两指对跖定理与力封闭抓取的构造The two-finger antipodal theorem and the construction of force-closure grasps
    • C. Ferrari & J. Canny, Planning Optimal Grasps, IEEE ICRA 1992 — 质量指标 \(\varepsilon\)(最大内切球)的出处The source of the quality metric \(\varepsilon\) (largest inscribed ball)
    • A. Bicchi & V. Kumar, Robotic Grasping and Contact: A Review, IEEE ICRA 2000 — 抓取与接触研究的综述A survey of grasping and contact research
    • M. T. Mason & J. K. Salisbury, Robot Hands and the Mechanics of Manipulation (MIT Press, 1985) — 手与操作力学的早期经典An early classic on hands and the mechanics of manipulation
    • E. Markenscoff, L. Ni & C. H. Papadimitriou, The Geometry of Grasping, Int. J. Robotics Research 9(1), 1990 — 形封闭需要几个接触点How many contacts form closure needs
    • J. Mahler et al., Dex-Net 2.0: Deep Learning to Plan Robust Grasps with Synthetic Point Clouds and Analytic Grasp Metrics, RSS 2017 — 用解析质量作标签训练抓取质量网络Training a grasp-quality network with analytic quality as labels
    • OpenAI et al., Solving Rubik's Cube with a Robot Hand, arXiv:1910.07113, 2019 — 灵巧手的手内操作:仿真训练、自动域随机化、迁移到真机Dexterous in-hand manipulation: simulation training, automatic domain randomization, transfer to hardware
    • M. Santello, M. Flanders & J. F. Soechting, Postural Hand Synergies for Tool Use, J. Neuroscience 18(23), 1998 — 人手抓取姿态的低维协同Low-dimensional synergies of human hand postures