As built

Fragility has a direction

Tilt one axis of a Sarrus linkage out of true by a thousandth of a radian and it stops dead. Tilt the same axis of the same mechanism by two hundred times as much, in the other direction, and it drives through a full turn with nothing measurably wrong. Three orders of magnitude between two errors of the same size — and the direction that matters is the one the reciprocal screw system names.

Assumes Two ways to be overconstrained.

This site has been admiring overconstrained mechanisms for two phases. Sarrus’s linkage gives exact straight-line motion from six bars and counts as immobile. Bennett’s four-bar moves for one relation between its lengths and twists. The planar four-bar itself, counted in space, is the same phenomenon.

Every one of them works because some constraint is imposed more than once and the copies agree — and two constraints agree only while the geometry is exact. So the obvious conclusion, which four essays here have arrived at in different words, is that overconstrained mechanisms cannot be built.

That conclusion is too crude to be useful, and it is wrong about the case it is usually said of.

The same error, twice, in two directions. A Sarrus linkage with one axis of one chain tilted off true, and the motion range that survives. Tilted within the plane the chain works in, it does not care: at 0.2 radians — eleven and a half degrees, which is not a manufacturing error by any standard — it still drives through a full turn. Tilted out of that plane, 0.001 radians stops it dead. Two hundred times the error, in the other direction, for no cost at all. What separates them is whether the perturbation lies in the screw system the mechanism leaves unconstrained — so "an overconstrained mechanism must be exact" is not merely crude, it is wrong about the case it is usually said of.
Fig. 1 A Sarrus linkage with one axis of one chain tilted off true, and the motion range that survives. The two curves are the same tilt in two directions. Out of the plane the chain works in, a thousandth of a radian ends it. Within that plane, two hundred times as much costs nothing at all.

The experiment

Sarrus’s linkage is two three-joint chains between the same two plates. Chain A’s three axes are all parallel to x̂, so it confines the moving plate to a plane; chain B’s are all parallel to ŷ, confining it to another. The intersection of the two allowances is translation along ẑ, exactly, produced by pin joints with no approximation anywhere.

The perturbation is the smallest one that can be made: take the middle axis of chain A and rotate it by an angle. Nothing else changes — same six links, same six revolutes, same link lengths, same topology. One axis is not quite where the drawing says.

There are two directions to rotate it in, and both are equally plausible as manufacturing errors. About ẑ keeps the axis perpendicular to the direction of travel; call it in plane. About ŷ leans it along the direction of travel; call it out of plane.

At 0.001 radians — a twentieth of a degree, which is a fine tolerance on any bored hole — the out-of-plane tilt takes the motion range from a full turn to zero. The mechanism does not move.

At 0.2 radians — eleven and a half degrees, which is not a manufacturing error by any standard and would be visible across a workshop — the in-plane tilt leaves the motion range at a full turn. Nothing measurable has happened.

Two hundred times the error. Three orders of magnitude between them, and no difference at all except direction.

Why, and what it says about the count

The explanation is the reciprocal screw system, which this site built two phases ago for a different purpose.

A mechanism’s freedoms are a subspace of screw space. Everything orthogonal to that subspace under the reciprocal product is a wrench the mechanism carries without moving — the constraints. For Sarrus’s linkage the freedom is one screw, the translation along ẑ, and the constraint system is the five-dimensional space reciprocal to it.

Chain A contributes a set of constraints and chain B contributes another, and the mechanism is overconstrained precisely because those two sets overlap. The overlapping constraints are imposed twice. Where the two copies agree, nothing happens; where a perturbation makes them disagree, the loop is over-determined in earnest and cannot close.

But a perturbation does not necessarily move a doubly-imposed constraint. Tilt the axis in a direction that lies within the system chain A was already free in, and the constraint it imposes is unchanged — the two copies still agree, and the mechanism does not notice. Tilt it in a direction that changes the imposed constraint, and the copies part company immediately.

So the sentence “an overconstrained mechanism must be exact” should read: it must be exact in the directions its redundant constraints depend on, and it is completely indifferent in the others. That is a statement with content, it names a computable subspace, and it turns a warning into a specification.

Whose constraints stay put. The largest principal angle between a mechanism's screw system at the start of its motion and at each later position. The 2 mechanisms whose motion lies in a subgroup of the rigid displacements — planar, spherical, translational — never leave the same subspace, and read between 2.3e-6 and 3.0e-6 degrees, which is the precision of an arccosine near one rather than a movement. The paradoxical ones turn through 49°. Every curve runs over its own range of motion, because Bricard's linkage assembles over 0 degrees and a shared axis would hide it.
Fig. 2 How far a loop’s screw system moves as it is driven. A perturbation that leaves this unchanged is one the mechanism does not notice; one that moves it is one that breaks the agreement between constraints imposed twice.

Bennett’s is the case with no forgiving direction

The contrast is worth having, because it stops the conclusion becoming a new piece of folklore in the other direction.

Bennett’s four-bar has a single scalar condition relating its two lengths and two twists: sin α / a = sin β / b. There is one number, it is either right or it is not, and there is no direction to be wrong in.

Bennett's linkage, built to a tolerance. Bennett's four-bar moves for one relation between its two lengths and two twists and for no other. Here the second length is multiplied by 1 + δ, leaving everything else alone, and the bars show how far the mechanism can then be driven from its assembled configuration. Exact, it sweeps 360°. At δ = 10⁻⁴ — one part in ten thousand, which is a fine machining tolerance on a link of 1.6 — it does not move at all. This is why a mechanism that is celebrated in every kinematics course is in almost nothing that was ever manufactured, and the essay beside it is about the one thing that rescues it.
Fig. 3 Bennett’s linkage with its second length multiplied by 1 + δ. Exact, it sweeps 225°. At δ = 10⁻⁵ — one part in a hundred thousand — it does not move at all. There is no tolerant direction here, because the condition is a single equation rather than a subspace.

The measurement is brutal and clean. At δ = 0 the driven joint sweeps 225°. At δ = 10⁻⁵ the loop does not close at any configuration reachable from its nominal one, and the same is true at every larger perturbation tried.

That is a real difference between two mechanisms both correctly described as overconstrained, and it comes from the shape of what makes each of them work. Sarrus’s redundancy is geometric — two chains, each confining the plate to a surface, and the surfaces intersect in a line — and a perturbation that keeps the surfaces intersecting is harmless. Bennett’s is algebraic: one equation in four parameters, satisfied or not.

Overconstraint is therefore not one property. It is a family, and the members differ in how many dimensions of manufacturing error they can absorb — which is exactly the dimension of the space of perturbations that leaves the redundant constraints agreeing.

The gap is proportional to the error, and that is the useful part

Saying that Bennett’s linkage “does not move” at any perturbation is true and not actionable. Something must distinguish one part in a million from one part in a hundred, and it does.

The quantity underneath is how badly the loop fails to close: the residual the solver drives down to and then cannot improve. Measured across four decades of detune it is exactly proportional to the detune — the ratio varies by 0.07% between δ = 10⁻⁶ and δ = 10⁻² — with a constant of 0.507.

What the clearance has to swallow. Bennett's linkage with its second length multiplied by 1 + δ, and the closure error the solver drives down to and then cannot improve on. The loop does not close at any δ tried, including one part in a million. But the gap is exactly proportional to δ — the ratio varies by 0.07% across four decades — with a measured constant of 0.507. Shared over 4 joints that is 0.127 δ of play per pin, so a linkage machined to one part in a thousand needs about 0.20 mm of clearance in a link of 1.6 m, or a hundredth of a millimetre in a link of 1.6 cm. That is an ordinary running fit, and it is why a mechanism that cannot be built is in every folding table.
Fig. 4 The closure error against the error in Bennett’s condition, on log axes. A straight line of slope one, with a measured constant of 0.507, and the same divided among four joints. That constant is what turns “must be exact” into a number of microns.
What the clearance has to swallow. Bennett's linkage with its second length multiplied by 1 + δ, and the closure error the solver drives down to and then cannot improve on. The loop does not close at any δ tried, including one part in a million. But the gap is exactly proportional to δ — the ratio varies by 0.07% across four decades — with a measured constant of 0.507. Shared over 2 joints that is 0.253 δ of play per pin, so a linkage machined to one part in a thousand needs about 0.41 mm of clearance in a link of 1.6 m, or a hundredth of a millimetre in a link of 1.6 cm. That is an ordinary running fit, and it is why a mechanism that cannot be built is in every folding table.
Fig. 5 The same gap with the error shared between two joints rather than four. It halves, exactly, which is what makes this a linear quantity a designer can budget rather than a threshold to be avoided.

A straight line of slope one on log paper is not a surprise — a first-order argument predicts it — but the constant is not available from any theory, and the constant is the whole practical content. Shared over four joints it says each pin must absorb 0.127 δ of misfit.

Which is to say: a Bennett linkage machined to one part in a thousand needs about a ten-thousandth of a link length of play in each pin. On a link of 1.6 cm that is sixteen microns, which is an ordinary running fit and is what those joints would have anyway.

So the mechanism that cannot be built is buildable, and the thing that builds it is the clearance that was there for other reasons. That is the next essay, and it is the resolution of a tension this site has been carrying since its spatial phase.

The planar four-bar is the same story, told about something familiar

The two mechanisms above are exotic. The point generalises to the least exotic mechanism there is, and that is where it stops being a curiosity.

A planar four-bar, counted in space, has mobility −2 and rank 3: it is overconstrained, and it is overconstrained because its four axes are exactly parallel. Exactly parallel is a measure-zero condition. No four holes ever bored were exactly parallel.

So by the argument of this essay a four-bar should not work, and the question is which direction of error it forgives.

It forgives a great deal. The four axes’ positions can wander — that is just a length tolerance, and the first half of this field says what it costs in output angle and nothing more. What the mechanism does not forgive is the axes going out of parallel, because that is the redundancy: the four constraints “the plate stays in this plane” are the same constraint imposed four times, and they agree only while the axes are parallel.

A four-bar with one axis out of parallel by a thousandth of a radian is therefore, by the same argument as Sarrus, a mechanism that cannot close. And yet every four-bar ever built has axes out of parallel by rather more than that.

The resolution is that the misfit is small in absolute terms — an axis out of true by δ over a bearing of length L produces a misfit of order δL — and it is absorbed by the clearance, which is present in every one of those joints for entirely unrelated reasons. That is the whole of the next essay, and it is why the argument here matters far beyond the two mechanisms it was measured on.

What the measurement is, precisely

Two pieces of care, because the headline numbers are strong and should be readable rather than trusted.

The motion range is found by walking: the loop is assembled, the driven joint is stepped by 0.02 radians, and each solve is seeded by the previous one — exactly as a built mechanism carries its configuration forward. The walk stops when a solve fails. That is a measurement of how far the mechanism can be driven from where it is, which is the operational question, and it is not the same as asking whether some configuration exists somewhere in the parameter space that closes.

The range a walk finds also depends on the step it walks in, and by more than rounding — Bricard’s six-bar reaches 18.3° at a step of 0.02 and 109.4° at 0.005, because a smaller step keeps the seed closer. Every number here is therefore reported with its step, and the comparison between the two directions is sound because both used the same one.

For Bennett the second check is separate and stronger: the residual at the nominal configuration is 8.1 × 10⁻⁷ at a detune of 10⁻⁶ and the solver reduces it only to 5.07 × 10⁻⁷ before stalling. The loop is not merely hard to drive; it does not close where it stands.

How much of Bennett's turn survives a bar being wrong. The same four bars and the same four twists, with one bar's length changed by the amount on the left and nothing else touched. The bar shows the fraction of 48 sampled positions of the first joint at which the loop closes to within 10⁻⁹. Two parts in a thousand already costs most of the travel. This is what it means for a mechanism to work only on a condition rather than approximately near one — and it is why Bennett's linkage was a curiosity for eighty years before anyone could machine to it.
Fig. 6 The condition itself: one relation between two lengths and two twists, satisfied on a curve in parameter space and nowhere else. There is no direction to be wrong in because there is only one number to be wrong about.

A note on what “does not move” means here

Two different failures are both being reported as zero motion range, and separating them is worth a paragraph because they have different fixes.

The first is that the loop cannot be driven from where it is: it assembles at its nominal configuration, and every attempt to step the driven joint away fails to close. The mechanism is a structure with one valid pose.

The second is that the loop does not assemble at all: even at the nominal configuration the residual will not come down. That is the Bennett case, and it is stronger — the residual at the nominal pose is 8.1 × 10⁻⁷ at a detune of 10⁻⁶, and the solver reduces it only to 5.07 × 10⁻⁷ before stalling.

The distinction matters because a mechanism of the first kind can sometimes be rescued by assembling it in a different pose, and one of the second kind cannot be assembled anywhere. Both look identical in a motion-range table, which is why the residual is measured separately rather than inferred from the range.

What a designer does with this

The practical shape of the result, since it is easy to read as a piece of theory.

Given an overconstrained mechanism, the redundant constraints are computable — this site computes them for every loop in its ledger. Each redundant constraint depends on some of the geometry and not on the rest, and the perturbations that leave it undisturbed form a subspace.

That subspace is a tolerance specification, and an unusually informative one: it says which features must be held tightly, which may be loose, and — this is the part no ordinary tolerance analysis produces — which directions of error on a given feature matter. A hole whose position may wander a millimetre and whose axis must be parallel to a thousandth is a perfectly ordinary thing to specify, and it is the kind of specification this analysis produces and a scalar sensitivity does not.

The manufacturing consequence follows immediately: features whose direction matters should be produced in one setup on one machine, because that is what holds relative orientation. Features whose position matters and whose direction does not can be located separately and cheaply. That is a real difference in how a part is made, decided by a computation on the mechanism’s screw system.

None of which is available from the sentence “an overconstrained mechanism must be exact”. That sentence gives one instruction — make everything as accurate as possible — which is the instruction a designer gives when they do not know which errors matter.

The same error, twice, in two directions. A Sarrus linkage with one axis of one chain tilted off true, and the motion range that survives. Tilted within the plane the chain works in, it does not care: at 0.2 radians — eleven and a half degrees, which is not a manufacturing error by any standard — it still drives through a full turn. Tilted out of that plane, 0.001 radians stops it dead. Two hundred times the error, in the other direction, for no cost at all. What separates them is whether the perturbation lies in the screw system the mechanism leaves unconstrained — so "an overconstrained mechanism must be exact" is not merely crude, it is wrong about the case it is usually said of.
Fig. 7 And the forgiving case at a tenth of the error. The Sarrus loop keeps almost all of its range, because its redundancy is in a direction the motion does not use — which is the difference this essay is about, stated as a number rather than as a classification.

The two mechanisms are not equally useful examples

Worth being clear about which of the two results generalises, because they generalise differently.

Bennett’s linkage is the cleaner measurement and the narrower lesson. One scalar condition, satisfied or not, no forgiving direction, and a beautifully linear misfit. It is the case where “must be exact” is simply true, and its value here is as a control: it shows that the Sarrus result is a property of Sarrus rather than an artefact of the method.

Sarrus is the broader lesson and the messier measurement. Its redundancy is geometric and multi-dimensional, so there is a whole subspace of harmless errors, and finding which is a computation on its screw system rather than a glance at an equation.

Most mechanisms that are overconstrained on purpose are of the second kind. A hinge, a linear guide with two rails, a three-legged table with four legs, a parallel-motion mechanism with a redundant bar: each imposes some constraint more than once for reasons of stiffness or load sharing, and each has directions of error it does not care about. Bennett-like mechanisms, where a single algebraic relation must hold, are rare and are usually the ones with names.

So the practical reading is Sarrus’s rather than Bennett’s, and the practical question about any overconstrained design is not “is it fragile” but “in which directions”.

A last framing. The two numbers in the title of this essay — 0.001 and 0.2 — are not a property of Sarrus’s linkage in the way its motion range is. They are the smallest and largest perturbations that happened to be tried, and the real content is that one direction failed at the smallest and the other survived the largest. Narrowing either bound would take more sampling and would not change the conclusion, which is qualitative: the two directions are separated by more decades than any manufacturing process spans.

Writing the subspace onto a drawing

The redundant directions are a tolerance specification is the practical claim, and it is worth following into the document that actually reaches a workshop, because a subspace of screw space is not something a drawing can carry.

What a drawing carries is geometric tolerances between features: parallelism between two axes, angularity between an axis and a face, position of a hole relative to a datum. Each of those is a statement about a relation, and each corresponds to a direction that a perturbation can move in.

So the translation is a matching exercise and it goes one way. For each redundant constraint the reciprocal system names, identify the feature relation it depends on — the parallelism of two bores, the perpendicularity of two axis directions, the concurrence of three axes — and tolerance that relation tightly. Everything else gets whatever the process gives for free.

The payoff is the factor this essay measured. A Sarrus linkage toleranced uniformly is being made to the tight standard in directions where two hundred times the error would have been harmless, and every one of those is a feature somebody is paying to hold. Toleranced by the subspace, the tight callouts land on the relations that matter and the rest of the part is ordinary work.

That is a genuinely unusual thing for a kinematic analysis to produce. Most of what this site computes tells a designer what a mechanism does; this tells a draughtsman which callouts to put on, and it is derived rather than inherited from practice. A drawing produced this way would look lopsided — a couple of very tight relations among generous ones — which is exactly what a well-toleranced overconstrained part should look like and rarely does.

And it says what the alternative costs. A drawing that holds everything tightly is not merely expensive; it is uninformative, because it does not tell anybody which relation the mechanism actually depends on. If something later has to be relaxed — for cost, for a process change, for a supplier — nobody knows which one is safe. The subspace is the answer to that question and it was computable all along.

Why this was not visible before

The site has had all the machinery for this since its spatial phase. constraintAnalysis computes the redundancy, the rank and the reciprocal system; bennett-cliff plots the redundancy against the detune and finds a spike one sample wide.

What was missing was the question. Every previous essay asked what the mechanism is — how many freedoms, how many redundant constraints, which screws — at exact geometry. None asked what happens at inexact geometry, because the site had no notion of inexact geometry until this field gave it one.

That is the ordinary shape of a phase here. The instantaneous count and the finite motion are different quantities, and a spike in the first turns out to be a cliff in the second; a perturbation parameter that existed for Bennett had no counterpart for Sarrus until this essay needed one, and adding it took four lines and produced the result the phase is named after.

What this makes readable

Essays that name this one as a prerequisite.

About the same objects

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

What links here

The 8 of 9 essays linking to this one that name the most of the same objects.

The objects this essay names

Each one links to every other essay that touches it.

Bennett's linkageClearanceConstraintKutzbach's criterionMobilityOverconstraintReciprocal screwRedundant constraintthe Sarrus linkageScrew systemTolerance