Week 10 — Grasping and Manipulation Day 2 of 7
Why This Matters
A parallel-jaw gripper closes on a machined aluminum block. The force sensor reads 40 N per finger. The robot lifts. The block rotates 15 degrees and slips out. The gripper had enough force. It did not have a stable grasp.
This failure happens on factory floors every week. Engineers size grippers by payload weight and friction coefficient. They ignore the geometry of contact. A grasp is stable only when the contact forces can resist any disturbance wrench. That is a separate condition from “enough grip force.”
Form closure and force closure are the two classical tests for grasp stability. Form closure means the fingers block all motion by geometry alone, with no friction. Force closure means friction and normal forces together can resist any applied wrench. Get these tests wrong and you ship a cell that drops parts at 0.3 g acceleration or when a coolant line tugs the cable.
The cost is real. A single dropped 2 kg casting on an automotive line can stop 40 stations. Rework and line restart cost $15,000 to $50,000 per event. Worse, a slipping grasp can throw the part toward a human operator. ISO 10218 and ISO/TS 15066 treat grasp integrity as a safety function, not a convenience.
This lesson gives you the tools to prove a grasp is stable before you build the cell. You will compute contact wrenches, check the friction cone, and run the Ferrari-Canny epsilon metric. You will know when two fingers are enough and when you need three.
Core Concepts
Form Closure: Geometry Alone
Form closure means the object cannot move in any direction without penetrating a finger or the palm. Friction is irrelevant. The contacts physically block motion.
Consider a 2D disk held by two point contacts. Two contacts give you 2 constraints. The disk has 3 degrees of freedom in the plane (x, y, rotation). Two constraints cannot block 3 DOF. The disk can rotate and slide. Not form closed.
Now use three point contacts spaced around the disk at 120 degrees. Three constraints block 3 DOF. The disk is fully constrained. This is form closure in 2D.
The general rule is Somov’s condition. For form closure in $n$-dimensional configuration space with frictionless point contacts, you need at least $n+1$ contacts. In 3D, that is 4 contacts minimum. In 2D planar grasping, 3 contacts.
But count alone is not enough. The contact normals must positively span the space. For a 2D object with contacts at positions $p_i$ and inward normals $n_i$, the set of vectors must satisfy:
$$\sum_i \lambda_i , \mathbf{w}_i = 0, \quad \lambda_i > 0$$
where $\mathbf{w}_i$ is the wrench from contact $i$. If you can find strictly positive weights that sum to zero, the grasp is form closed.
A common mistake: placing three contacts on one side of a block. The normals all point roughly the same way. They cannot span the space. The block slides out the open side. This grasp fails the positive-span test even though it has 3 contacts.
Force Closure: Friction Does the Work
Force closure is weaker and more practical. It means the contacts, using both normal force and friction, can resist any external wrench. You need fewer contacts because friction adds constraint directions.
For a 2D grasp with Coulomb friction coefficient $\mu$, each contact provides a friction cone. The cone half-angle is $\arctan(\mu)$. A contact can push along any direction inside that cone. Force closure holds when the union of all friction cones positively spans the wrench space.
A two-finger pinch grasp on a flat object is force closed if the friction cones overlap enough to resist rotation. With $\mu = 0.5$, the cone half-angle is 26.6 degrees. Two opposed contacts at the center of mass give a cone pair that resists sliding and rotation about the contact axis. But it cannot resist rotation about the line joining the contacts. The object spins like a coin. That DOF is unconstrained. This is why a two-finger pinch on a flat plate is only force closed in 2D, not 3D.
The Ferrari-Canny epsilon metric measures how far a grasp is from losing force closure. It is the radius of the largest ball centered at the origin that fits inside the convex hull of the contact wrenches. A larger $\epsilon$ means a more robust grasp. Values above 0.1 (normalized) are generally safe. Values below 0.02 are fragile.
| Grasp type | Contacts | $\mu$ | $\epsilon$ (typical) | Stability |
|---|---|---|---|---|
| 2-finger pinch, flat plate | 2 | 0.5 | 0.01 | Marginal |
| 3-finger tripod on sphere | 3 | 0.6 | 0.18 | Strong |
| 4-finger cage on cube | 4 | 0.4 | 0.25 | Very strong |
| 2-finger parallel jaw, cylinder | 2 | 0.7 | 0.09 | Adequate |
Mathematical Foundation
Define the contact wrench for contact $i$ as a 6-vector in 3D:
$$\mathbf{w}_i = \begin{bmatrix} \mathbf{f}_i \ \boldsymbol{\tau}_i \end{bmatrix} = \begin{bmatrix} \mathbf{f}_i \ \mathbf{p}_i \times \mathbf{f}_i \end{bmatrix}$$
Symbols:
- $\mathbf{f}_i$: contact force vector at contact $i$, in newtons.
- $\mathbf{p}_i$: position of contact $i$ relative to the object center of mass, in meters.
- $\boldsymbol{\tau}_i$: torque about the center of mass, in newton-meters.
- $\mathbf{w}_i$: the 6D wrench.
For force closure, the set of achievable wrenches is the positive span of the contact wrenches, each limited to its friction cone. The grasp is force closed if the origin lies strictly inside the convex hull of the primitive wrenches.
The Ferrari-Canny metric is:
$$\epsilon = \min_{|\mathbf{w}{ext}| = 1} \max{\mathbf{f} \in FC} |\mathbf{w}_{ext}|$$
In practice you compute it as the distance from the origin to the nearest face of the convex hull of the friction cone edges. Each contact contributes a set of edge wrenches (the cone boundary). The hull of all edges bounds the grasp wrench space.
Worked numeric example. Consider a 2-finger parallel jaw on a 0.1 m cube. Contacts at $p_1 = (0, 0.05, 0)$ and $p_2 = (0, -0.05, 0)$. Normal forces along $y$. Friction coefficient $\mu = 0.5$.
Contact 1 wrench for a unit normal force: $\mathbf{f}_1 = (0, 1, 0)$, $\boldsymbol{\tau}_1 = \mathbf{p}_1 \times \mathbf{f}_1 = (0.05 \cdot 0 - 0 \cdot 0, ; 0 \cdot 0 - 0 \cdot 0, ; 0 \cdot 1 - 0.05 \cdot 0) = (0, 0, 0)$. Wait — recompute: $\mathbf{p}_1 = (0, 0.05, 0)$, $\mathbf{f}_1 = (0, 1, 0)$. Cross product: $(0.05 \cdot 0 - 0 \cdot 1, ; 0 \cdot 0 - 0 \cdot 0, ; 0 \cdot 1 - 0.05 \cdot 0) = (0, 0, 0)$. The force passes through the origin line, so zero torque about x and z. Good.
Now add a friction force in $x$ at contact 1 of magnitude $\mu = 0.5$: $\mathbf{f}_1 = (0.5, 1, 0)$. Torque: $\mathbf{p}_1 \times \mathbf{f}_1 = (0.05 \cdot 0 - 0 \cdot 1, ; 0 \cdot 0.5 - 0 \cdot 0, ; 0 \cdot 1 - 0.05 \cdot 0.5) = (0, 0, -0.025)$ N·m. So the friction edge wrench has a 0.025 N·m torque about $z$.
Contact 2 is symmetric: $\mathbf{f}_2 = (-0.5, -1, 0)$, torque $(0, 0, -0.025)$ as well. The two friction edges both produce negative $z$ torque. The grasp cannot generate positive $z$ torque from these edges alone. The cube can rotate about $z$ if the opposing friction edges do not balance. In this configuration the grasp is not force closed about $z$ because both contacts’ friction cones push the same rotational direction. You need a third contact or a palm to close that DOF.
This is the exact failure that drops parts. The math shows it before you build.
Practical Example
Scenario. A UR10e arm with a Robotiq 2F-85 parallel gripper picks 0.8 kg steel shafts, 40 mm diameter, 200 mm long, from a conveyor. Cycle time 4 s. Acceleration 0.5 g lateral. The gripper max force is 235 N. Fingers are steel pads, $\mu = 0.4$ against oiled steel.
Step 1 — Compute required grip force. The lateral acceleration creates a disturbance force $F = m a = 0.8 \cdot 4.9 = 3.92$ N. Friction must resist this: $2 \mu N \geq F$, so $N \geq 3.92 / (2 \cdot 0.4) = 4.9$ N per finger. That is tiny. Force is not the problem.
Step 2 — Check rotational stability. The shaft is a cylinder. Two point contacts on a cylinder give a line contact along the axis. The grasp resists translation in the plane perpendicular to the fingers. It does not resist rotation about the shaft axis or sliding along the axis. The axial direction is unconstrained by geometry. Friction alone holds it.
Step 3 — Compute the axial friction margin. Axial disturbance from conveyor drag is about 2 N. Available axial friction is $2 \mu N = 2 \cdot 0.4 \cdot N$. With $N = 50$ N (a safe setting), friction is 40 N. Margin is 20x. Safe.
Step 4 — Apply the Ferrari-Canny check. Build the wrench set. For a cylinder, the contact normals point radially. The friction cones allow axial force. The convex hull of edge wrenches includes axial force but the torque about the shaft axis is zero for all edges (forces pass through the axis). The hull touches the origin in the torque-about-axis direction. $\epsilon$ for that DOF is 0. The grasp is not force closed about the shaft axis. If the shaft is oiled and the conveyor jerks, it can spin.
Step 5 — Fix. Add a rubber pad with $\mu = 0.9$ and a slight V-groove to create a third contact point. Or add a wrist rotation constraint in software and a slip sensor. Or use a three-finger gripper. For this cell, the fix is a V-groove pad, which creates a form-closed axial stop and raises $\epsilon$ above 0.1.
This is the reasoning a senior engineer does in 10 minutes. Without it, you find out on the line.
Common Pitfalls
1. Counting contacts instead of checking the span. Engineers assume 3 contacts means form closure. Three contacts on one face of a block do not span the wrench space. The block slides out the open side. Why: Somov’s condition requires positive spanning, not just count. Detect: Compute the convex hull of contact wrenches and check the origin is interior. Fix: Spread contacts around the object, or add a palm.
2. Using static friction coefficient for dynamic events. A grasp designed with $\mu = 0.6$ static fails when the part starts sliding and $\mu$ drops to 0.4 kinetic. Why: Coulomb friction is not constant across slip regimes. Detect: Measure both coefficients for your actual materials. Fix: Design with the kinetic value and a 1.5x safety factor.
3. Ignoring the torque about the contact line. A two-finger pinch on a flat plate resists sliding but not spin about the line joining the fingers. Why: The contact wrenches have zero moment about that axis. Detect: Check the rank of the wrench matrix. Fix: Add a third contact off the line, or a suction cup, or a wrist DOF lock.
4. Treating force closure as binary. A grasp is force closed or not, but the margin matters. A grasp with $\epsilon = 0.005$ passes the test and fails in the field. Why: Sensor noise, part tolerance, and wear eat the margin. Detect: Compute $\epsilon$, not just the boolean. Fix: Require $\epsilon \geq 0.05$ for production cells.
5. Forgetting the object’s own dynamics. The grasp is stable at rest but the object’s inertia during acceleration creates a wrench the grasp cannot resist. Why: Force closure is a static test; dynamic wrenches add to the disturbance. Detect: Add $m a$ and $I \alpha$ terms to the disturbance wrench. Fix: Size grip force for peak dynamic load, not static weight.
Key Takeaways
- Form closure needs $n+1$ frictionless contacts and positive spanning. Count is necessary but not sufficient. Three contacts on one side fail.
- Force closure uses friction cones and is the practical test for real grippers. Compute the Ferrari-Canny $\epsilon$ and require at least 0.05 for production.
- A two-finger pinch is never force closed about the contact line. Flat plates and cylinders need a third contact or a geometric stop for that DOF.
- Design with kinetic friction, not static. Oiled steel drops from $\mu = 0.6$ to $\mu = 0.4$ once slip starts.
- Static force closure is not enough for moving parts. Add inertial wrenches $m a$ and $I \alpha$ to the disturbance set before you size the gripper.
Tomorrow
We take the closure tests from today and turn them into an algorithm: Grasp Planning, where we search candidate grasps with A* and RRT and rank them by the $\epsilon$ metric you just learned.