Bennett, and the condition that moves it
Assumes Six freedoms, not three and Sarrus, and the straight line that is exact.
Take four bars and pin them into a closed loop, but do not make the pins parallel. Give each pin an arbitrary direction in space. That is a spatial four-bar, and the count says it has −2 degrees of freedom.
The count is not merely pessimistic here. A generic spatial four-bar really cannot move. Ask the solver to close the loop at a hundred different values of the first joint angle and it succeeds at one or two of them — isolated configurations where the four bars happen to fit, with nothing in between. It is not a mechanism; it is a set of assemblies.
In 1903 Geoffrey Thomas Bennett published the exception.
The condition
Bennett’s linkage is specified by four numbers. Opposite links are equal in pairs — lengths a and b — and so are their twists, the angles α and β by which each link rotates the joint axis at one end relative to the one at the other. The condition is one equation:
That is all. Satisfy it and the loop turns through a full revolution. Fail it and the loop is a set of isolated assemblies.
There is nothing approximate about the statement and nothing gradual about the consequence, which is what makes the linkage worth an essay rather than a footnote. Most mechanism design is about proportions that are better or worse. This is a mechanism that is either a mechanism or is not.
What the screw system says
The measurement route this site prefers explains the condition without deriving it.
Take the four joint screws — direction and moment for each axis, six numbers apiece — and form the 6 × 4 matrix. For a generic set of four axes that matrix has rank 4, so the mobility is 4 − 4 = 0 and the loop is rigid wherever it can be assembled at all.
Under Bennett’s condition the rank drops to 3. Mobility is 4 − 3 = 1, and the linkage turns.
So the condition is precisely the requirement that four screws which would generally be independent become dependent — that the four axes, despite being in general position in every visible sense, are special in a way that a drawing does not reveal. There is no parallelism to see and no intersection to see. The four axes are genuinely skew, and the specialness is a relation among six numbers.
That is what makes Bennett’s linkage different in kind from the Sarrus linkage, whose specialness is parallelism and is visible in any figure, and from the universal joint, whose specialness is that four axes meet at a point. Those two look special. Bennett’s does not.
Reading the table
Bennett’s linkage is always published as a Denavit–Hartenberg table, and the table is worth a paragraph because it is where the condition hides.
Each row describes one link by four numbers: the length of the common perpendicular between its two joint axes, the twist between those axes, the offset along the axis from one perpendicular to the next, and the joint angle itself. For Bennett’s linkage every offset is zero — the four common perpendiculars all meet the axes at the same points — and the four rows read a, α; b, β; a, α; b, β.
So the table shows the symmetry immediately: opposite links identical. What it does not show is the condition, because the condition is a relation between the entries of different rows, and there is no cell in the table where it lives. Two Bennett tables and two non-Bennett tables look exactly alike, and only arithmetic separates them.
This is the practical difference between a mechanism whose specialness is geometric and one whose specialness is dimensional. The Sarrus linkage’s axes are parallel and any drawing shows it. Bennett’s condition survives no representation at all: not the table, not the figure, not the physical part on a bench. The only way to know whether a four-bar on the bench is a Bennett linkage is to measure it and do the sum — or to try to turn it.
How sensitive it is
The interesting question is not whether the condition works but what happens near it, and this is where the figure earns its place.
Take the linkage, leave all four twists exactly as they were, and change one bar’s length. The topology is untouched, the count is untouched, and the condition is broken by whatever fraction the bar was changed.
At the exact condition, every sampled position of the first joint closes to within 10⁻⁹ — in practice to about 10⁻¹⁶. At two parts in a thousand, most positions are gone. At two percent, two positions of forty-eight survive, which is the generic behaviour: isolated assemblies and no mechanism.
The figure above is worth dragging for what it does not show. The gap the loop is open by peaks at about 0.024 on bars of 1.0 and 1.6 — a part in a hundred and fifty of the span, four pixels on the page. A drawing of this linkage looks entirely plausible at every position, and the only thing that says otherwise is a number — which is why the figure magnifies the open end twenty times in its own box and says so, rather than leaving the reader to take the caption’s word for it. That is the practical reason a mechanism resting on a dimensional condition was a mathematical object for most of a century: the error cannot be seen, only measured.
It is also why the figure draws the chain open rather than joining the fourth bar back to the first joint. Closing that quadrilateral would put the fourth bar at 0.992 against its declared 1.012 — a bar 2% short, drawn without comment, in a figure whose caption says the lengths are what the argument is about.
Compare that with what a planar four-bar does when a bar is a fraction long. It still moves. Grashof’s classification may change if the change is large enough to cross a boundary, and the coupler curve shifts slightly, but the mechanism remains a mechanism. A planar four-bar’s mobility does not depend on a relation between its lengths at all.
This is the practical meaning of overconstraint. Both linkages carry redundant constraints — the planar four-bar carries three, and so does Bennett’s. The difference is what the redundancy rests on. Parallel axes are a condition manufacture can hold, and a bar being a percent long does not stop axes being parallel. Bennett’s condition couples the lengths to the twists, so an error in a length breaks it directly.
That is why the linkage was a mathematical object for the better part of a century. It was published in 1903, and the machining accuracy to make one that turns freely through a revolution — with joints that are not simply loose enough to absorb the error — arrived a good deal later.
The linkage that is nearly Bennett
The sensitivity plot raises a design question that the essay should answer rather than leave hanging: what does a nearly Bennett linkage do?
It does one of two things depending on how the joints are made, and neither is what a designer wants.
With ideal joints — zero clearance, perfectly rigid bars — it does what the figure shows: it assembles at isolated positions and cannot move between them. The linkage is a structure that happens to have four assemblies.
With real joints, which have clearance, the small dimensional error is absorbed by the pins moving in their holes. The linkage turns. It also wears rapidly at whichever joint is taking the mismatch, it has slack that varies through the revolution, and its behaviour depends on the clearance rather than on the design. That is the practical version of overconstraint failing, and it is why an overconstrained mechanism made a little wrong is often worse than a determinate one made a lot wrong.
There is a third possibility that is worth naming because it is what happens in structures rather than mechanisms: the bars deform. An overconstrained loop that is dimensionally wrong and stiffly built puts the mismatch into strain, and the mechanism turns against an internal preload that goes round with it. It moves, it is stiff, and it is loaded by nothing but its own geometry.
None of these three is visible in a still picture of a mechanism, which is the reason the site draws mechanisms only from solved configurations: a drawing shows what the designer meant, and the question here is what the parts do.
Two routes to the same closure
Bennett’s linkage has a closed-form closure relation, which makes it one of the site’s cleanest cases of a claim checked two ways.
The relation is that opposite joint angles are equal and opposite, θ₃ = −θ₁ and θ₄ = −θ₂, with the two independent angles linked by
The obvious way to test that against the solver is to seed Newton with the closed-form angles and see how far it moves them. That test is worthless, and finding out why was instructive: Newton moves them by exactly zero at every position, because the relation is exact and the seeded configuration is already converged. The check passed with the solver never having run.
So the two routes have to be separated properly. The first evaluates the loop’s closure residual at the closed-form angles, without solving at all — if the relation were wrong by a milliradian, that residual would say so, and it is the only test the formula gets. It comes out at 10⁻¹⁶. The second starts Newton a fifth of a radian away from those angles and requires it to come back, which is a test of the solver on a rank-deficient loop with three redundant constraints to work through. It returns to the closed-form angles to about 10⁻¹⁶.
Reported separately, because they can fail separately and mean different things. This is a specific case of a general failure worth naming: a check whose two routes share a step is testing one route twice, and it looks exactly like a check that is passing. The gear library on this site has its own instance of the same mistake, where a conjugate-action test parameterised both tooth flanks by the same roll angle and announced that the ratio was constant.
What the condition looks like as a picture
There is one way to see the condition without arithmetic, and it is the reason Bennett’s paper is remembered as elegant rather than merely correct.
Consider the four link lengths and their twists as four line segments in space, each with an angle attached. Bennett’s condition, sin α / a = sin β / b, is the statement that the ratio of a twist’s sine to its link’s length is the same for both pairs. That is the same form as the sine rule for a triangle, where the ratio of a side to the sine of its opposite angle is constant — and the resemblance is not a coincidence. The linkage’s four axes are the four generators of a hyperboloid, and the condition is what makes the four bars close on that surface.
That description is worth having because it says something the algebra does not: the condition is scale-invariant in a particular way. Double both lengths and the condition still holds; double one and it does not. So the family of Bennett linkages is a two-parameter family up to overall size — pick α and β, and the ratio a/b is then forced. There is no freedom left to satisfy anything else with, which is a real limitation on using the linkage for a prescribed motion.
That is the difference between this and the planar four-bar, where four lengths can be chosen to satisfy three prescribed positions with room to spare. Bennett’s linkage has almost nothing to spend on a design requirement, because nearly all of its dimensional freedom has already gone into being mobile at all.
What a rank-deficient solve needs
Bennett’s linkage is a good stress test for the solver, and what it needs is worth stating because it is counter-intuitive.
An ordinary Newton–Raphson step assumes the Jacobian can be inverted. Bennett’s screw matrix has rank 3 out of a possible 6, so three of its rows are redundant and the system is genuinely singular. A solver that damps lightly — enough to handle round-off and no more — produces a step that is numerical garbage, the line search rejects every halving of it, and the report comes back saying the mechanism cannot be assembled.
The fix is to escalate the damping until a step helps: try nearly undamped, then a bit, then a lot, and take the first one that reduces the residual. This is Levenberg–Marquardt, it is what the planar solver already does for the same reason, and the observation worth carrying is that the mechanisms that need the escalation are precisely the interesting ones. A solver tuned for well-conditioned problems reports that every overconstrained linkage in the literature is impossible.
There is a second thing the sweep needs, and it is a decision about what to do after a position that fails. The first version restarted from the mechanism’s seed configuration, which turns one refusal into a refusal of everything downstream: Bennett’s linkage was reported as reaching sixteen of twenty-four positions when it in fact turns through all of them, and the eight missing were the consequence of a single bad guess. Carrying the last position that did solve, and falling back to the seed only when there has not been one, separates “this configuration does not exist” from “the guess was poor”. Those are the two things the whole spatial file exists to tell apart, and conflating them in the sweep undoes the point of having a solver.
Why four and not five
A last question about the linkage, and it is the one that makes Bennett’s result surprising rather than merely clever.
The count says a spatial loop needs seven revolute joints to have one degree of freedom. Seven-joint loops with axes in general position do move, and the count is right about them. So mechanisms with mobility 1 are not rare in space — they are simply large.
What Bennett found is a loop that does the same job with four. Three fewer joints, three fewer bars, three fewer bearings to make and lubricate, and a mechanism whose whole travel is one rigid loop rather than a chain with slack accumulating along it. If it could be built reliably it would be strictly better than the seven-joint version for anything it can do.
The reason it cannot always be is that the seven-joint loop’s mobility is structural — it comes from the count, it holds for any lengths, and manufacturing error moves the mechanism slightly rather than stopping it. Bennett’s mobility is dimensional. The mechanism is better in every respect except the one that decides whether it works.
That trade is not confined to this linkage or to spatial mechanisms. It is the same trade a statically determinate structure makes against a redundant one, read from the other side: determinacy is tolerant and floppy, redundancy is stiff and brittle, and which one is right depends entirely on whether the geometry can be held.
Where it goes
Bennett’s linkage is the seed of a small family. Two Bennett loops sharing links give the Goldberg 5R and 6R linkages; a particular arrangement of three gives Myard’s; and the Bricard linkages are a separate family of overconstrained 6R loops found by a similar hunt for conditions that drop the screw rank. All of them are mechanisms that Kutzbach declares immobile and that move.
None of them is in a car. The reason is the sensitivity measured above: a mechanism whose mobility rests on an exact dimensional relation has no tolerance to give away, and a production process that holds a bar to two parts in a thousand is expensive for a linkage that a planar four-bar could replace.
Where they are used is where the stiffness of the overconstraint is the point rather than the motion — deployable structures, where a linkage that folds flat and unfolds to a definite shape with no slack is worth the manufacturing difficulty, and where the parts are few and the quantities small.
The honest summary of the field, then, is that overconstraint is a spectrum. Parallel axes are the cheap end and every planar mechanism sits there. The Sarrus linkage’s one redundant constraint is a step along it, still resting on parallelism and still buildable in 1853. Bennett’s three redundant constraints rest on a dimensional equation, and that is the expensive end — where the mechanism is either exactly right or it is a structure, with nothing in between.
What this makes readable
Essays that name this one as a prerequisite.
- Two ways to be overconstrained Out of the plane
- Bennett's condition is a ratio Out of the plane
About the same objects
Not linked from either essay — found by the objects both name.
- The formula is repaired by the thing it replaced constraint · mobility · overconstraint · rank · redundant constraint · screw · screw system · twist
- Why a hinge works bennett's linkage · constraint · mobility · overconstraint · redundant constraint · screw system
- Almost nothing is a group constraint · overconstraint · rank · screw system · twist
- The count was right and the name was wrong constraint · mobility · overconstraint · rank · redundant constraint
- What a count cannot see constraint · mobility · overconstraint · rank · redundant constraint
- What a mechanism cannot do constraint · mobility · rank · screw · screw system
What links here
The 8 of 27 essays linking to this one that name the most of the same objects.
- Two ways to be overconstrained Out of the plane
- Fragility has a direction As built
- Six freedoms, not three Out of the plane
- Compose two positions and see where you land What a joint is
- A constraint that has been said already Many of one thing
- A name for each overconstraint Out of the plane
- In space there is one chain Out of the plane
- The instrument that is not a derivative What a joint is
The objects this essay names
Each one links to every other essay that touches it.
Bennett's linkageConstraintDenavit–Hartenberg parametersLoop closureMobilityOverconstraintRankRedundant constraintScrewScrew systemTwist