ROB-400 · Lesson 4 of 12 · 36 min
Grasp analysis: the grasp matrix, force closure and form closure
A grasp is a set of contacts between a hand and an object. Lesson 3 described what a single contact can transmit. This lesson puts several contacts together and asks the central question of grasp analysis: can these contacts, pushing within their friction cones, hold the object against any disturbance that might act on it? If the answer is yes, the grasp is said to have force closure. If the contacts trap the object purely by geometry, with no help from friction, the grasp has form closure. Between those ideas lie the tools engineers use every day to compare grasps, reject weak ones and understand why a grasp failed.
The mathematics is linear algebra plus a little convex geometry. You do not need to memorize proofs, but you do need to be able to build the grasp matrix for a simple case, recognize when a set of contact wrenches surrounds the origin, and interpret a grasp quality number. Those skills transfer directly to the grasp planners and learned grasp detectors in lessons 5 and 6, which either compute these quantities or are trained on data labelled by them.
From contact forces to object wrenches
Place a coordinate frame at a reference point on the object, often its centre of mass. A force \( \mathbf{f}_i \) applied at contact point \( \mathbf{p}_i \) produces a wrench on the object: the force itself and the moment \( \mathbf{p}_i \times \mathbf{f}_i \) about the reference point. With several contacts the total wrench is the sum. Stacking every contact force into one long vector \( \mathbf{f}_c \), the relationship becomes a single matrix product.
The matrix \( G \) is the grasp matrix. Each block \( G_i \) maps the force transmitted at contact \( i \), expressed in that contact's local frame (normal plus tangential directions), into a wrench in the object frame. For a point contact with friction in 3-D, each block has three columns; for a soft-finger contact it has four, the extra column representing torsion about the normal. In the plane, a point contact with friction has two columns: the normal and the single tangential direction, and wrenches have three components, \( f_x \), \( f_y \) and the moment \( \tau \).
Two facts about \( G \) matter immediately. First, if \( G \) does not have full row rank (rank 3 in the plane, 6 in space), there is some wrench direction the contacts cannot produce at all, no matter how hard they push. Second, even with full rank, the contact forces are constrained: normal components must be non-negative and every contact force must lie inside its friction cone. Full rank is necessary but not sufficient. That is why grasp analysis always combines the grasp matrix with the friction cones.
Worked problem
Building a planar grasp matrix
A rectangular block 80 mm wide is pinched by two fingers on its left and right faces at the height of its centre. Contact 1 is at \( (-0.04, 0) \) m with inward normal \( +x \); contact 2 is at \( (0.04, 0) \) m with inward normal \( -x \). Write the grasp matrix for point contacts with friction in the plane, using columns ordered normal then tangential, with tangential directions \( +y \) at contact 1 and \( -y \) at contact 2.
Show solution
- A force \( (f_x, f_y) \) at \( (x, y) \) gives the planar wrench \( (f_x, f_y, x f_y - y f_x) \).
- Contact 1 normal \( (1, 0) \) at \( (-0.04, 0) \): wrench \( (1, 0, 0) \). Tangent \( (0, 1) \): wrench \( (0, 1, -0.04) \).
- Contact 2 normal \( (-1, 0) \) at \( (0.04, 0) \): wrench \( (-1, 0, 0) \). Tangent \( (0, -1) \): wrench \( (0, -1, -0.04) \).
- Columns side by side: \( G = \begin{bmatrix} 1 & 0 & -1 & 0 \\ 0 & 1 & 0 & -1 \\ 0 & -0.04 & 0 & -0.04 \end{bmatrix} \), rank 3.
Answer: The grasp matrix has full rank, so the two contacts together can in principle produce any planar wrench. Whether they can do it while staying inside their friction cones is the force closure question.
Equilibrium and internal forces
For a held object to stay still, the contact wrench must balance any external wrench, such as gravity, an inertial load during motion or a push from the environment: \( G \mathbf{f}_c = -\mathbf{w}_{\text{ext}} \). Because \( G \) usually has more columns than rows, many contact force vectors satisfy that equation. The difference between any two solutions lies in the null space of \( G \). Forces in the null space produce no net wrench; they are internal forces, the squeeze that the fingers apply against each other.
Internal forces are what make friction grasps work. Squeezing two fingers together does nothing to the object's motion, but it raises the normal force at each contact and so enlarges the tangential force each contact can carry before slipping. A gripper controller that holds an object chooses an internal force large enough to keep every contact inside its cone under the expected loads, but not so large that it crushes the object or wastes energy. Lesson 7 turns this into a sizing calculation.
Worked problem
Internal force in a two-finger pinch
Using the grasp matrix from the previous example, find a non-zero contact force vector in the null space of \( G \). What does it represent physically?
Show solution
- Try \( \mathbf{f}_c = (s, 0, s, 0) \): both normal components equal to \( s \), no tangential force.
- \( G \mathbf{f}_c = (s - s,\; 0,\; 0) = (0, 0, 0) \), so the vector lies in the null space.
- Physically, both fingers press inward with force \( s \): equal and opposite, no net force or moment.
Answer: The null-space vector is the squeeze. Increasing \( s \) raises the friction available at both contacts without moving the object, which is exactly what a parallel-jaw gripper does when it closes harder.
Force closure
A grasp has force closure if, for every external wrench, there exist contact forces inside the friction cones that balance it. An equivalent and more useful statement uses the linearized cones from lesson 3. Each edge of each friction pyramid, mapped through the grasp, gives a primitive contact wrench. Any feasible contact force produces a non-negative combination of these primitive wrenches. The grasp has force closure exactly when non-negative combinations of the primitive wrenches cover the whole wrench space, which happens when the origin lies strictly inside their convex hull.
That geometric test is easy to picture in the plane, where wrenches have three components. Each contact with friction contributes two primitive wrenches, one for each edge of its two-dimensional friction cone. Two contacts give four vectors in three dimensions. Their convex hull is a solid; if the origin sits strictly inside that solid, the grasp resists any disturbance given enough squeeze. If the origin lies on a face or outside, some disturbance direction cannot be resisted.
For two contacts in the plane there is a beautiful shortcut. Two point contacts with friction achieve force closure if and only if the line segment joining the contact points lies inside both friction cones. Contacts that satisfy this condition are called antipodal. The test needs only angles: measure the angle between each contact normal and the line joining the contacts, and check that both angles are smaller than the cone half-angle \( \arctan\mu \). Lesson 5 uses this test to sample grasps quickly on arbitrary shapes.
Worked problem
Is the pinch antipodal?
Two fingers contact a part at \( \mathbf{p}_1 = (0, 0) \) mm with inward normal pointing along \( 10^\circ \) above the \( +x \) axis, and at \( \mathbf{p}_2 = (60, 6) \) mm with inward normal pointing along \( 180^\circ \). The pad friction coefficient is 0.25. Does the grasp have force closure? What if \( \mu = 0.4 \)?
Show solution
- Direction from contact 1 to contact 2: \( \arctan(6/60) \approx 5.7^\circ \). Angle to normal 1: \( |10 - 5.7| = 4.3^\circ \).
- Direction from contact 2 to contact 1: \( 185.7^\circ \). Angle to normal 2: \( |185.7 - 180| = 5.7^\circ \).
- With \( \mu = 0.25 \), the half-angle is \( \arctan 0.25 \approx 14.0^\circ \). Both angles are smaller, so the grasp is antipodal.
- With \( \mu = 0.4 \), the half-angle is \( 21.8^\circ \); the grasp is even more comfortably inside the cones.
Answer: The grasp has force closure at both friction values. Its margin is the gap between the largest misalignment (5.7 degrees) and the half-angle, about 8 degrees at \( \mu = 0.25 \), which tolerates some pose error.
Form closure
Form closure is stricter. A grasp has form closure if the contacts prevent all motion of the object by geometry alone, treating every contact as frictionless. A peg in a well-fitting hole and a part clamped in a fixture with locating pins are classic examples. Because frictionless contacts can only push along their normals, form closure needs more contacts than force closure: at least four in the plane and seven in space for a rigid body with no special symmetry. Those numbers are lower bounds; a badly arranged set of seven contacts can still leave the object free to move.
Industrial fixtures aim for form closure because it does not depend on friction that may change with oil, wear or temperature. Robot hands rarely achieve it, because surrounding an object with many contacts is slow and needs complex fingers. A useful middle ground is a grasp that has form closure in the directions of the largest expected loads, for example fingers that cup under a part so gravity is resisted geometrically, plus friction for the rest. Shaped fingertips that match a part, sometimes called form-fit fingers, follow this idea and are widely used in machine tending.
Worked problem
Counting contacts for form closure
A designer wants to hold a flat rectangular plate in the plane using only frictionless locating pins against its edges. Is three pins enough? How would four pins be arranged?
Show solution
- A planar rigid body has three degrees of freedom. Frictionless contacts can only push, so each contact constrains motion in one direction only.
- To block motion in both directions of every degree of freedom, at least \( 3 + 1 = 4 \) unilateral contacts are needed.
- Three pins can constrain at most three directions; the plate can always slide or rotate away from at least one pin.
- A workable arrangement: two pins on one long edge, one on the short edge, and a fourth on the opposite long edge offset so its line of action passes between the first two, blocking both rotation directions.
Answer: Three frictionless pins cannot give form closure; four well-placed pins can. Fixture designers use the 3-2-1 principle in 3-D for locating plus clamps to complete the closure.
Measuring how good a grasp is
Force closure is a yes-or-no property, but two grasps that both have it can differ greatly in robustness. Grasp quality metrics put a number on that difference. The most widely used is the epsilon metric, introduced by Ferrari and Canny in 1992. Normalize the contact forces so the total, or the largest, normal force is one unit. The set of wrenches the grasp can then produce is the convex hull of the primitive wrenches. The epsilon metric is the radius of the largest ball, centred at the origin, that fits inside that hull. A larger radius means the grasp can resist a larger disturbance in its weakest direction for the same squeeze.
The formula reads: in each direction \( \mathbf{u} \), find how far the hull extends, which is the largest projection of any primitive wrench \( \mathbf{w}_j \) onto \( \mathbf{u} \); then take the smallest of those distances over all directions. If the origin is outside the hull, some direction has a negative support value, and \( \varepsilon \) is negative, signalling no force closure. Because moments and forces have different units, implementations divide moments by a characteristic length, often the object's radius, so both parts of the wrench are comparable.
Other metrics capture different concerns. The volume of the wrench hull rewards grasps that are strong on average rather than in the worst case. Metrics based on the smallest singular value of \( G \) measure how close the grasp is to losing rank. Task-oriented metrics weight directions by the disturbances the task will actually apply: a grasp for pouring needs to resist moments about the handle axis more than a grasp for lifting straight up. No single number is best; planners often combine several.
# Planar force closure and an approximate epsilon metric from sampled directions
import numpy as np
def primitive_wrenches(contacts, mu, L):
"""contacts: list of (point, inward unit normal). Returns 2 cone-edge wrenches per contact."""
ws = []
a = np.arctan(mu)
for p, n in contacts:
for s in (+1, -1):
c, si = np.cos(s * a), np.sin(s * a)
f = np.array([c * n[0] - si * n[1], si * n[0] + c * n[1]]) # rotate normal by +/- alpha
f = f / np.linalg.norm(f)
tau = p[0] * f[1] - p[1] * f[0]
ws.append([f[0], f[1], tau / L]) # scale moment by length L
return np.array(ws)
def epsilon(ws, n=20000, seed=1):
rng = np.random.default_rng(seed)
u = rng.normal(size=(n, 3)); u /= np.linalg.norm(u, axis=1, keepdims=True)
return (u @ ws.T).max(axis=1).min()
L = 0.04 # half-width of the block, m
antipodal = [((-0.04, 0.0), (1.0, 0.0)), ((0.04, 0.0), (-1.0, 0.0))]
offset = [((-0.04, -0.02), (1.0, 0.0)), ((0.04, 0.02), (-1.0, 0.0))]
for name, g in (("antipodal", antipodal), ("offset", offset)):
for mu in (0.0, 0.2, 0.5):
e = epsilon(primitive_wrenches(g, mu, L))
print(f"{name:9s} mu={mu:.1f} epsilon={e:+.3f} {'closure' if e > 1e-3 else 'no closure'}")antipodal mu=0.0 epsilon=+0.000 no closure antipodal mu=0.2 epsilon=+0.139 closure antipodal mu=0.5 epsilon=+0.304 closure offset mu=0.0 epsilon=-0.499 no closure offset mu=0.2 epsilon=-0.294 no closure offset mu=0.5 epsilon=+0.001 no closure
Read the output carefully. With no friction (\( \mu = 0 \)) neither grasp has closure: the antipodal pinch sits exactly on the boundary, because frictionless fingers cannot resist a sideways push. With friction, the antipodal grasp has a clearly positive epsilon that grows with \( \mu \), because wider cones surround the origin more generously. The offset grasp is negative at low friction. At \( \mu = 0.5 \) it lands almost exactly on zero, and that is no accident: the line joining its contacts tilts \( \arctan(0.04/0.08) \approx 26.6^\circ \) from the normals, which equals \( \arctan 0.5 \), the cone half-angle. The sampled metric and the antipodal angle test agree, and both say the offset grasp would need slightly more friction, or better contact placement, to be safe.
Grasp analysis in three dimensions
In space, wrenches have six components and each contact with friction contributes a cone in force space. With a four-edge pyramid per contact, a three-finger grasp gives twelve primitive wrenches in six dimensions. The same convex-hull test and epsilon metric apply, computed with a convex hull or linear programming library rather than by hand. Soft-finger contacts add a torsion column per contact, which is often what turns a two-finger grasp from marginal to robust.
Two simple 3-D facts are worth remembering. Two hard point contacts can never achieve force closure in 3-D, because the object can always rotate about the line joining them. Two soft-finger contacts can, provided the torsional friction is enough for the expected moments about that line. Three hard contacts with friction can achieve force closure on most shapes when their friction cones jointly cover the space, which is why many robot hands have three fingers.
Limits of the analysis
Grasp analysis rests on assumptions that real grasps violate. Contacts are not points: fingers deform and objects have corners. Friction is uncertain and changes with contamination. Objects are not perfectly rigid, and their mass properties may be unknown. Most importantly, the analysis assumes the planned contacts are achieved exactly, but perception and positioning errors shift the actual contacts by millimetres. A grasp that sits just inside its friction cones on paper may fail in practice.
Engineers respond in three ways. They prefer grasps with margin: contacts far inside their cones and large epsilon values. They evaluate a planned grasp under sampled pose errors and friction values, estimating the probability that closure survives, which lesson 5 calls robust grasp planning. And they verify grasps physically, with force-torque or tactile sensing after closing and with a small shake or lift test before fast motion. Analysis tells you which grasps are worth trying; testing tells you which ones work.
Common mistakes
MistakeTreating full rank of the grasp matrix as proof of a good grasp
InsteadRank is necessary, but contact forces must also stay within friction cones; check force closure.
MistakeForgetting that contacts cannot pull
InsteadUse non-negative normal forces and cone edges, not arbitrary signed contact forces.
MistakeMixing newtons and newton-metres in one quality number
InsteadScale moments by a characteristic length before computing hull-based metrics.
MistakeAssuming two hard fingers hold an object against every disturbance
InsteadTwo point contacts cannot resist rotation about the line joining them; use pads or a third contact.
MistakeTrusting a marginal grasp because it passes on paper
InsteadPrefer grasps with large angular and epsilon margins and test them under pose and friction errors.
Summary and key terms
- The grasp matrix maps contact forces, expressed in contact frames, into the net wrench on the object.
- Equilibrium requires the contact wrench to balance external loads; null-space forces are internal squeeze.
- Force closure means friction-cone contact forces can resist any wrench; geometrically, the origin lies inside the hull of the primitive wrenches.
- Two planar contacts give force closure exactly when they are antipodal: the line joining them lies inside both cones.
- Form closure resists all motion by geometry alone and needs at least four contacts in the plane and seven in space.
- The epsilon metric is the radius of the largest origin-centred ball inside the wrench hull; larger is more robust.
- Real grasps need margin against pose, friction and modelling errors, plus verification by sensing.
- Grasp matrix
- The matrix \( G \) relating stacked contact forces to the net wrench on the object.
- Primitive wrench
- The object wrench produced by one edge of a linearized friction cone.
- Internal force
- A combination of contact forces in the null space of \( G \) that squeezes without moving the object.
- Force closure
- A grasp that can resist any external wrench with contact forces inside the friction cones.
- Form closure
- A grasp that prevents all motion by geometry alone, without friction.
- Antipodal grasp
- Two contacts whose connecting line lies inside both friction cones.
- Epsilon metric
- The Ferrari–Canny quality measure: radius of the largest origin-centred ball inside the wrench hull.
- Characteristic length
- A length used to scale moments so they are comparable with forces in quality metrics.
- Form-fit fingers
- Fingertips shaped to match a part so geometry resists the main loads.
- Robust grasp
- A grasp that keeps closure across expected pose, friction and model errors.
Practice problems
Work each problem on paper first, then reveal the answer to check.
A force \( (0, 5) \) N acts at \( (0.02, 0) \) m. What planar wrench does it produce?
Show answer
\( (0, 5, 0.1) \): moment \( 0.02 \times 5 = 0.1 \) N·m.
How many columns does \( G \) have for three point contacts with friction in 3-D?
Show answer
Nine.
Why do internal forces matter in friction grasps?
Show answer
They raise normal forces, which raises the friction available at every contact.
Two contacts have misalignment angles of 9 and 12 degrees with \( \mu = 0.2 \). Antipodal?
Show answer
No: \( \arctan 0.2 \approx 11.3^\circ \), and 12 degrees exceeds it.
What minimum number of frictionless contacts gives form closure in the plane?
Show answer
Four.
What does a negative epsilon metric indicate?
Show answer
The origin is outside the wrench hull, so there is no force closure.
Why scale moments before computing epsilon?
Show answer
Forces and moments have different units; scaling makes them comparable.
Can two hard point contacts give force closure in 3-D?
Show answer
No; the object can rotate about the line joining them.
Name one task-oriented consideration in grasp quality.
Show answer
Weighting the disturbance directions the task applies, such as moments when pouring.
Give two ways to verify a grasp physically.
Show answer
Force-torque or tactile sensing after closing, and a small lift or shake test.
Lesson quiz · 5 questions
Score 60% or more to complete this lesson.
Create a free account to save your progress, take quizzes and earn a certificate.