Contacts that only push

Free at every instant and going nowhere

Three points on a circle of 1.1 radii around a unit disc leave it free in every direction at every configuration — rank two, margin nought, the whole plane of centres shaded — and it cannot get out. The threshold is 1/sin(π/n), which is 1.154701 for three, and a flood fill of the free space agrees with the formula at every radius sampled.

Assumes The escape is a place and The space of configurations.

Everything in this field so far is local. A cone is the set of velocities permitted at one configuration, and every quantity built on it — the margin, the escape region, the second-order test — is a statement about an instant. It is worth finding out what that leaves out, and the case that shows it is one where the local answer is not wrong about anything and is silent about the only question a fixture is built to answer.

Free in every direction, and it cannot get outA disc of radius 1 among 3 point obstacles on a circle of radius 1.100. The shaded discs are the obstacles grown by the part's own radius, which is what the part's centre may not enter — the configuration space, and for a round part it is the plane itself. The part is caged when those grown discs overlap enough to close a ring around it, which happens below R = 1/sin(π/3) = 1.154701, and here it does. **At every configuration inside the cage the part is free.** The three normals all point at its centre, the rank of its rows is two, the escape cone is a whole line, and none of that has anything to do with whether it can leave. A hold is a statement about velocities at one configuration; a cage is a statement about where a finite motion can go, and the second does not follow from the first in either direction. positioned by solving, not by drawing.R 1.100 of a threshold 1.1547caged — reachable area 0.061
Fig. 1 A unit disc among three point obstacles at 1.1 radii. Drag them outward and watch where it stops being trapped.

The local answer

Three points arranged around a disc, touching it. Each contributes one contact, and a disc’s normals all pass through its centre, so every row has a zero moment entry, the rank is two, and the cone of permitted twists is the whole spin axis.

Drawn as a region of centres, both senses are shaded everywhere. The part may rotate about any point in either sense, and it may translate in any direction, because with three rows in a plane through the origin the hull has no interior and the margin is nought.

Caged, and free at the instant it is caged. The same 3 obstacles, at the configuration where they touch, with the plane coloured by what the part may do — the same picture as every other figure in this family. Both regions are the whole plane: every centre of rotation in either sense is permitted, and so is every translation, because the three rows have rank 2 and the origin is nowhere near the inside of their hull. The margin is 0. And the part cannot leave. The local picture is not wrong about anything — the part really can move in any direction it likes, right here — and it is silent about the only question a fixture is built to answer. That is the boundary of what everything above this rung measures, and it is worth drawing rather than stating.
Fig. 2 The same configuration, read the way every other figure in this family reads one. The plane is uniformly shaded, which is the picture of a rank of two.

That answer is exactly right. The disc really can move in any direction it likes from where it is, and if the obstacles were removed one at a time it would find nothing to stop it. Every instrument in the five rungs before this one returns the same verdict — not held — and each of them is telling the truth.

And it cannot get out

The disc’s configuration space is unusual and useful: a round part’s orientation does nothing, so the only coordinates are the two of its centre, and the free space is the plane less an open disc of radius rr about each obstacle. That is a picture rather than an abstraction, and the whole global question can be read off it.

The part is trapped exactly when those grown obstacle discs contain a closed curve around it. For nn obstacles evenly spaced on a circle of radius RR, adjacent grown discs overlap when the gap between neighbouring obstacles is narrower than the part’s diameter:

2Rsin(π/n)<2r,that isR<rsin(π/n).2R\sin(\pi/n) < 2r, \qquad\text{that is}\qquad R < \frac{r}{\sin(\pi/n)} .

For three obstacles that is R<1.154701R < 1.154701 radii. At R=1.1R = 1.1 the disc’s centre can reach an area of 0.060 and no more. At R=1.25R = 1.25 it can reach the whole picture.

Where a cage stops being one. The area the part's centre can reach, against how far out the obstacles are. Below R = 1.154701 that area is a few hundredths and the part is trapped; above it the area is the whole picture and the part is gone. The jump is not a soft transition and not a numerical artefact — it is where two grown obstacle discs stop overlapping, a condition with a closed form — and the two routes to it are drawn on the same axes: the dashed line is 1/sin(π/3) and the points are a flood fill of the free space on a grid, which knows nothing about circles and is told only whether each cell is free. 6 of the 22 radii sampled are caged and the fill and the formula agree about every one of them.
Fig. 3 The area the centre can reach against how far out the obstacles are, with the analytic threshold as a dashed line. The jump is not a soft transition.

Two routes to the threshold

The closed form above is an argument about circles, so the second route is told nothing about circles at all.

A grid is laid over the picture; a cell is free when the part’s centre there is at least rr from every obstacle; and the free cells connected to the part’s own position are flooded from it. The part is caged when no flooded cell reaches the edge of the picture. Nothing in that knows what shape anything is.

The two agree at every radius sampled — twenty-two of them, six caged and sixteen not — and the flood fill’s reachable area is what the plot above draws.

How many obstacles, and how much room they leave. The threshold radius for a unit disc caged by evenly spaced points, and what it means. The middle column is the reason the formula is the formula: at the threshold the gap between neighbouring obstacles is exactly 2, the part's own diameter, on every row — the cage holds precisely while no gap in it is wide enough to pass. The right-hand column is what the part's centre has to play with, and it grows quickly: three obstacles leave 0.155 of a radius and eight leave 1.61, so a cage is loose in proportion to how many things are doing it. None of these arrangements is a hold at any radius, at any number of obstacles, because the part is round.
Fig. 4 The threshold at several obstacle counts, with the gap it corresponds to. At the threshold the gap between neighbours is exactly the part’s own diameter, on every row.

The middle column of that table is the check the formula deserves: at the threshold radius the distance between neighbouring obstacles comes to exactly 2, the part’s diameter, at three obstacles and at eight. That is the geometric content of 1/sin(π/n)1/\sin(\pi/n) and it is worth extracting, because the formula on its own is the kind of expression a reader has to take on trust.

The grid, and the artefact it produced

The flood fill has one failure worth recording, because it produced a cage where there was none and the number looked reasonable.

The grid was even-sided, so the cell nearest the part’s own position was half a cell away from it rather than on it. At radii just above rr — where the obstacles are only barely clear of the part — that cell is inside a grown obstacle. The fill therefore started nowhere, flooded nothing, and reported a reachable area of one cell and a cage.

It was found by asking for the threshold from below rather than from above, which put the sampled radii into exactly the region where the artefact lives. The repair is one line — force the grid odd, so that one cell sits exactly on the part’s position — and the assertion that catches it is that the starting cell is free, checked rather than assumed.

The shape of that defect is the field’s standing one. A routine that reports trapped by failing to start is indistinguishable from one that reports trapped by finding a boundary, and the number it produces is not obviously wrong.

Free in every direction, and it cannot get outA disc of radius 1 among 3 point obstacles on a circle of radius 1.020. The shaded discs are the obstacles grown by the part's own radius, which is what the part's centre may not enter — the configuration space, and for a round part it is the plane itself. The part is caged when those grown discs overlap enough to close a ring around it, which happens below R = 1/sin(π/3) = 1.154701, and here it does. **At every configuration inside the cage the part is free.** The three normals all point at its centre, the rank of its rows is two, the escape cone is a whole line, and none of that has anything to do with whether it can leave. A hold is a statement about velocities at one configuration; a cage is a statement about where a finite motion can go, and the second does not follow from the first in either direction. positioned by solving, not by drawing.R 1.020 of a threshold 1.1547caged — reachable area 0.002
Fig. 5 The regime where the artefact lived: obstacles barely clear of the part, where the free space around it is a sliver.

What separates the two questions

It is worth being precise about why the local and global answers can differ, because it is not that the local one is an approximation.

The cone is the tangent cone to the free space at the current configuration. A configuration in the interior of the free space has a full tangent cone — every direction permitted — which is what the disc at the middle of its cage has once it moves off the contacts at all. So a large cone says the part is in the interior of its free space, which is true and says nothing about whether that free space is bounded.

Form closure is the statement that the tangent cone is trivial, which forces the free space to be a single point locally. Caging is the statement that the connected component of the free space containing the part is bounded. Neither implies the other, and both are ordinary situations: a held part is caged trivially, and a caged part need not be held anywhere in its cage.

The site has met the same gap in one other place and it is worth the comparison. A four-bar’s branches turned out to be connected components of its configuration space: a solve finds a configuration and cannot say which component it is in, and the answer to can this linkage get from here to there is a global fact about a set rather than a local fact about a Jacobian. This rung is the same distinction with the free space being cut out by inequalities rather than by equations.

Which obstacles matter

The condition is about gaps between neighbours, which has a consequence worth extracting: most of the obstacles in a cage are doing nothing, and which ones are is decided by an ordering rather than by a distance.

Grow every obstacle by the part’s radius and join two of them when their grown discs overlap. The part is caged exactly when that graph contains a cycle enclosing it. So an obstacle whose grown disc overlaps nothing contributes no edge and cannot be on any cycle — it is not part of the cage however close it is to the part, because a cage is made of pairs.

That is the opposite of how a hold works. A hold is decided by the hull of all the rows at once and every contact either is or is not on a facet of it; there is no notion of two contacts being neighbours. Here adjacency is the whole structure, and an obstacle’s contribution depends entirely on what is beside it.

It also means a cage cannot be improved by adding an obstacle in the middle of a gap that is already narrow enough, and can be destroyed by removing one anywhere on the enclosing cycle. Both of those are the reverse of the intuition a hold builds, where a spare contact changes nothing either way.

The threshold from the other side

The area the centre can reach is worth reading rather than merely thresholding, because how it behaves near the boundary says what kind of transition this is.

Below the threshold the reachable region is the curved triangle between three grown discs, and its area grows smoothly as the obstacles move out — 0.060 at 1.1 radii of a threshold at 1.1547. At the threshold the three grown discs stop overlapping pairwise and the region opens; above it the reachable area is the whole picture, bounded only by where the picture stops.

So the quantity jumps by four orders of magnitude across one radius, and it jumps because a connectivity changed rather than because a size did. That is the signature of a topological transition and it is why no continuous margin exists on this side of the field: there is nothing between bounded and unbounded to measure.

The comparison worth making is with the field’s own margin, which falls smoothly to nought as an arrangement approaches one that lets go. A hold has a continuous approach to failure and a cage does not, and a designer relying on either should know which they have.

Where the site has been here before

Three places, and none of them is about contacts, which is the point.

A four-bar’s branches are connected components of its configuration space — a solve lands in one and cannot leave it, and no local computation says so. A search that has stopped finding new branches is not a proof there are no more, which is the same gap read as a limit on evidence. And an arm’s workspace has holes in it that no Jacobian at any single pose reveals.

Each of those is a global fact about a set, arrived at after a field’s worth of local machinery, and each of them is where that field stops. This rung is the same shape and it arrives earlier, because a cone is a smaller instrument than a Jacobian: it decides one configuration and says nothing at all about a neighbourhood.

Reachable, and dexterous. A 3-link planar arm with links 1.6, 1.2, 0.7. The outer region is everywhere the tool can be put: an annulus from 0.00 to 3.50. The inner region is everywhere it can be put at every tool angle — from 1.10 to 2.10, which is 26% of the area. Both are measured by counting cells on a 260 × 260 grid and both agree with the area computed from the radii to 0.06%, which is what makes the picture a measurement.
Fig. 6 The serial field’s version: a reachable set whose shape no single-pose computation produces.

What a cage is for

Caging is not a weaker form of holding used when holding is too hard; it is a different specification, and there are jobs for which it is the right one.

A part that is caged can be moved by moving the cage, which is what a set of fingers that close around a part rather than onto it does. Nothing has to be pressed, so nothing is deformed and nothing has to be positioned accurately — the specification is a gap narrower than the part rather than a contact at a computed place.

And a caged part is not located, at all. It rattles about inside its cage by an amount the reachable area measures directly: 0.060 of a unit at R=1.1R = 1.1, which for a 20 mm disc is a couple of millimetres of play. So a cage is what a designer wants when the part must not escape and need not be positioned, and it is exactly wrong when the part must be positioned.

The pose set is finite exactly when the part is held. Two arrangements, both with 0.06 of clearance on every contact, with the set of positions the part's centre may occupy drawn to scale. The one on the left holds: its pose set is a small bounded polyhedron, and every dimension of it is proportional to the clearance. The one on the right does not: its pose set runs off the page in the direction the part slides out of the vee, and giving the contacts a tighter tolerance narrows the box without ever closing that direction. A tolerance cannot buy a hold. The clearance decides how big a finite pose set is and the arrangement decides whether it is finite, and the second question has to be settled first because no amount of the first will settle it.
Fig. 7 The corresponding picture for a hold with a clearance: a bounded pose set on the left and an unbounded one on the right. A cage’s pose set is bounded and large.

Why the field stops here

The obvious next question is how to compute a cage in general, and the honest answer is that this field does not.

The disc is the case where the question is easy, and it is easy for a reason that does not generalise: the configuration space is two-dimensional because the orientation does nothing, and the free space is a plane less a union of discs, which is a picture. A part with an orientation has a three-dimensional configuration space; the free space in it is bounded by surfaces rather than circles; and asking whether a component of it is bounded is a genuine computation on a three-dimensional set.

That is a motion-planning problem rather than a kinematics one, and it needs machinery — cell decompositions, roadmaps — this site has not built and would be building for one rung.

What the rung does claim is the distinction and one clean instance of it, with the threshold measured two ways. That is enough to fence everything above: every number in the five rungs before this one is a statement about an instant, and the question a fixture is built to answer is not.

The other direction, which is stranger

There is a converse worth stating, because the asymmetry is not what a reader expects.

A held part is trapped: its tangent cone is trivial, so it cannot move at all, so the component of free space containing it is a point. That direction is immediate and uninteresting.

The interesting direction is that a part can be caged at every configuration in its cage and held at none of them. That is what the disc does: at the configuration where all three obstacles touch it, the margin is nought; move it anywhere else in its cage and it touches fewer obstacles, so the margin is nought again for a better reason. There is no configuration in the whole cage where the local test says anything but free, and the part never leaves.

Seven arrangements, one routine, and the two that hold. Every row is the same three steps: write down one row per contact — the moment of its normal about the origin, then the normal itself — take the convex hull of those rows, and ask whether the origin is inside it. The parts differ, the numbers of contacts differ, and the routine does not. Two of the seven hold. The other five leave the part something, and the interesting column is what: four rays of rotation for the pinwheel, a translation straight out of the vee, and for the last two a whole line rather than any number of rays, which is what a rank below three means and is the case a reader has to be warned about. Note that the four contacts of the second row are the four of the first row, on the same four edges of the same square, at the same distance along each. positioned by solving, not by drawing.
Fig. 8 The ledger row for a disc, which is the same row at every configuration inside a cage. Nothing in it changes as the part moves.

So the local instrument is not merely silent about the global question; it is uniformly silent across a whole region, returning the same answer at every point of it. A reader who samples it densely learns nothing more than a reader who evaluates it once — which is unusual, and is the strongest form the gap between these two questions takes.

How many fingers a cage needs

The threshold 1/sin(π/n)1/\sin(\pi/n) is stated for three obstacles and it is a formula in nn, so it is worth reading as one — because the reading is a design rule for anything that grips by surrounding rather than by gripping.

Run it upward. Three obstacles cage a disc out to 1.1547 of its own radius, four to 1.4142, five to 1.7013, six to exactly 2. The threshold grows steadily, and for large nn the sine flattens into its argument, so it grows very nearly linearly: the reachable radius is about n/πn/\pi.

Inverted, that is the useful form. To cage a part with fingers on a circle of radius RR measured in part radii, the number needed is n>π/arcsin(1/R)n > \pi/\arcsin(1/R), which for anything but the tightest cages is about πR\pi R. A cage’s finger count is proportional to its radius — a cage twice as far out needs twice as many fingers, with no diminishing return in either direction.

That is a hard and slightly unwelcome scaling, and it explains a design pattern in gripping hardware. A gripper that closes to nearly the part’s own size needs three fingers; one that has to cage a part from a distance — because the part is fragile, or the approach is cluttered, or the fingers cannot converge — needs a number growing with the distance, and the count gets impractical quickly. So real grippers close in rather than reaching round, and the ones that do reach round are cages built for one part size.

It also says which fingers are doing the work, which the count alone hides. The condition is about gaps between neighbours, so what matters is the largest gap and not the average spacing; a cage with seven fingers and one wide gap performs like a cage with a gap that size and no others. Adding a finger in an already-narrow gap changes nothing at all, which is the same insensitivity a spare contact has in a hold and arrives here for a completely different reason.

Which sharpens the contrast the essay draws between a cage and a hold one last time. A hold is improved by contacts wherever they help the hull; a cage is improved only by closing its largest gap. Two specifications, two different notions of where the next contact should go, and a designer who reaches for the wrong one adds hardware that does nothing.

What the rolling field already knew

There is one field on this site where the local and global answers were also different, and it went the other way, which is worth having both.

A rolling wheel forbids a velocity and reaches every position at every heading anyway: the count of freedoms is two and the dimension of the reachable set is three. There the local restriction is real and the global freedom is larger than it looks, because permitted directions compose into ones that were not permitted.

Here the local freedom is real and the global reach is smaller than it looks, because permitted directions run into obstacles that were never in the local picture at all. Same gap, opposite signs, and the reason for the difference is the reason the two fields exist separately: a rolling constraint is an equation on velocities that does not integrate, and a contact is an inequality that has nothing to integrate.

About the same objects

Not linked from either essay — found by the objects both name.

What links here

Essays that link to this one from their own argument.

The objects this essay names

Each one links to every other essay that touches it.

CagingConfiguration spaceConnected componentConvex hullEscape coneForm closureFree spaceReachable setThresholdUnilateral constraint