As built

A length is a range

Every figure on this site so far has been drawn from four numbers. No four numbers were ever cut. Give each of them a tolerance of ±0.01 and the rocker's output stops being an angle and becomes a band 0.73° wide at one part of the turn and 0.36° wide at another — and which of those a designer is told depends only on where somebody measured.

Assumes Four bars and four pins.

Every four-bar on this site has been built from four numbers. The ground is 4, the crank 1, the coupler 3.5, the rocker 3, and from those four the solver finds where the pins are to fourteen decimal places.

No linkage has ever had those four numbers.

The output is a band, not an angle. The rocker's angle through one turn of the crank, for a four-bar whose four lengths are each specified to ±0.01. The line is the nominal mechanism; the band is where the output of an actual one lies, found by building all sixteen extreme combinations of the four lengths at every crank angle and solving each. The band is not a constant width: it is 0.73° at its widest, near 30°, and 0.36° at its narrowest — a factor of 2.0. Which of those a designer is told depends entirely on where the mechanism was measured.
Fig. 1 The rocker’s angle through one turn, for a four-bar whose four lengths are each specified to ±0.01. The line is the mechanism on the drawing. The band is where the output of one off the machine lies, found by building all sixteen extreme combinations of the four lengths at every crank position and solving each. It is 0.73° wide at its widest and 0.36° at its narrowest.

This is not a small point about precision. It is a change in what kind of object the answer is. Everywhere else on this site, “where is the rocker when the crank is at 60°?” has an answer — a number, converged to, asserted, and drawn. Here it has a set of answers, and the set has a shape.

What a tolerance actually is

A drawing that says a link is 3.5 long is not a specification. A drawing that says it is 3.5 ± 0.01 is one, and the difference is that the second can be inspected. Every dimension on every engineering drawing ever issued carries a tolerance, either written next to it or inherited from a block in the corner of the sheet, because a dimension without one cannot be accepted or rejected.

So the honest model of a four-bar is not four numbers. It is a box in four dimensions: every length independently anywhere in its own interval. A particular linkage is a point in that box, and the population coming off a machine is a cloud of points filling it.

The question this field asks is what that box does to the motion, and there are two routes to an answer, as there are two routes to everything here.

What a sketched mechanism costs. A four-bar positioned the way one is drawn by hand: the crank pin at its angle, and the rocker interpolated smoothly between its extremes because that is what the motion looks like. Plotted is how long the coupler would have to be at each position, minus how long it is. The error reaches 0.89 on a coupler of 3.5 — 25% — and a reader looking at the drawing would see nothing wrong, because every individual frame is a perfectly plausible picture of a four-bar. This is the failure the solver exists to make impossible: a configuration that does not satisfy the constraints cannot be drawn, because there is nothing to draw it from.
Fig. 2 The failure this site was built to make impossible, for comparison. A four-bar positioned the way one is sketched needs its coupler to change length by a quarter as it goes round, and every individual frame looks perfectly plausible. A tolerance band is the honest version of the same admission: the mechanism is not where the drawing says, and here is by how much.

Where the ± came from

It is worth knowing that this is a recent idea, because it makes clear that it is an idea rather than a fact about the world.

For most of the history of machinery there were no tolerances, because there were no interchangeable parts. A linkage was fitted: the bars were made roughly, assembled, and then filed until the thing moved sweetly. The fitter was, without describing it that way, solving the inverse problem by hand — adjusting the dimensions until the motion was right, which is exactly what synthesis does with a compass. Every machine was therefore a one-off, and a replacement part had to be fitted to the machine it was going into.

Interchangeability is what made the tolerance necessary. If a part is to fit a machine it has never seen, somebody has to say in advance how wrong it is allowed to be, and somebody else has to be able to check. That is the entire content of a tolerance: it is a contract, written on a drawing, between a designer who will not be present and a machinist who has not been told what the part is for.

The consequence for this site is that the ± is not a confession of sloppiness. It is a design variable. Making it smaller costs money — a length held to ±0.001 costs several times one held to ±0.01, and the ratio grows steeply as the numbers shrink — and the question of where to spend it is a real engineering decision with a computable answer.

The measurement: build them all

The output angle is monotone in each length over a small enough box — move the coupler out and the rocker goes one way, and it keeps going that way. An extremum of a function monotone in each variable is at a corner of the box. Four lengths, two extremes each, is sixteen corners.

So: at each crank angle, build sixteen four-bars, solve each one, and take the largest and smallest output angle. That is what the figure above is. At 72 crank positions it is 1,152 solves, and every one of them converged — which matters, because a corner linkage is not guaranteed to be assemblable at every angle the nominal one reaches, and if some were refused the band would be a statement about a mechanism that jams rather than about one that is inaccurate.

The result is not a constant width. The band is widest at about 30° of crank rotation and narrowest at about 120°, and the ratio between them is 2.02.

That factor is the essay’s first point. A mechanism does not have an accuracy. It has an accuracy at each position, and a specification that quotes one number has quietly chosen a position — usually whichever one the test rig was set up at.

Reading the figure carefully

Two things in that picture repay a second look.

The first is that the band is not symmetric about the nominal line in any interesting way, and it is not obvious in advance that it should be. Each corner linkage is a perfectly good four-bar with its own smooth output curve; the band is the envelope of sixteen such curves, and the nominal one is not the average of them. Over most of the turn the nominal sits near the middle because the response is nearly linear and the sixteen corners come in opposing pairs. Where the response starts to bend — near the ends of the rocker’s swing — the envelope is measurably lopsided, and a design that has to hit a target angle at one particular position should be aiming at the centre of the band there rather than at the nominal.

The second is that every one of those 1,152 solves converged, and that is a claim rather than a formality. A corner linkage is a different mechanism from the nominal one — it has different link lengths, so it has a different Grashof classification in principle and a different range of crank angles it can reach. If a corner had been unable to assemble at some angle, the honest report would be not “the band is wide there” but “some accepted parts will jam there” — a completely different failure, and a far worse one. The generator counts refusals and asserts there are none, so the band above is a statement about accuracy and not a statement about assembly. For these lengths and this tolerance, all sixteen corners are crank-rockers and all sixteen go all the way round.

That check is cheap and it is the kind that only exists because the solver refuses positions rather than inventing them. A drawing package asked to place a linkage at an impossible angle would place it somewhere plausible.

The band scales exactly with the tolerance

Tighten the tolerance by a factor of ten and the band shrinks by a factor of ten:

The output is a band, not an angle. The rocker's angle through one turn of the crank, for a four-bar whose four lengths are each specified to ±0.001. The line is the nominal mechanism; the band is where the output of an actual one lies, found by building all sixteen extreme combinations of the four lengths at every crank angle and solving each. The band is not a constant width: it is 0.07° at its widest, near 30°, and 0.04° at its narrowest — a factor of 2.0. Which of those a designer is told depends entirely on where the mechanism was measured.
Fig. 3 The same linkage at ±0.001 instead of ±0.01. The band is 0.073° at its widest against 0.73°, and the ratio between its widest and narrowest points is 2.03 against 2.02 — the shape is identical and only the scale has changed.

This is worth pausing on, because it is the thing that makes the subject tractable. The relationship between a small dimensional error and the output error is linear, to the accuracy anybody cares about, and it stays linear until something else goes wrong. That means the whole analysis can be done once, at unit tolerance, and scaled — and it means the four lengths’ contributions can be separated and ranked, which is the next essay.

It also means the sixteen-corner enumeration, which is expensive, has a cheap substitute. If the response is linear then the band is just a sum of four terms, and each term is a derivative times a tolerance. Finding those derivatives is a problem with two answers, and the fact that the two agree is the only independent check this site has ever had of its own solver.

Why the band is not the same width everywhere

The width at a position is set by how strongly the output responds to a change in each length there, and that response is a property of the configuration.

Think about where the rocker is nearly at the end of its swing. The crank is turning, the rocker is barely moving, and the geometry is close to the arrangement where the coupler and the crank line up. Push the coupler out by a hundredth there and the rocker has to go somewhere it was reluctant to go anyway; the output moves a lot. Now think about the middle of the stroke, where the rocker is sweeping quickly and everything is comfortably away from any extreme. The same hundredth moves the output much less.

The transmission angle through one turn. μ is the angle at B between coupler and rocker, computed from each solved position rather than from a formula. It runs from 54.3° to 100.3° for these lengths. The shaded band is the usual design rule — keep μ between 40° and 140° — and this linkage stays inside it throughout. The rule is about geometry alone: nothing here knows about friction, and a mechanism with a comfortable μ can still be a poor machine.
Fig. 4 The transmission angle of the same linkage through the same turn. Its worst values sit where the tolerance band is widest, and that is not a coincidence: both quantities are asking how squarely the coupler is pushing on the rocker, and a configuration in which force transmits badly is one in which a length error transmits well.

That is the same intuition that governs the transmission angle and the velocity ratio, and it is not a coincidence: all three are statements about how well-conditioned the constraint equations are at a configuration. The velocity ratio asks how the output moves when the input moves. The tolerance sensitivity asks how it moves when a length moves. Both are questions about the same matrix.

The difference is that everybody computes the first and almost nobody computes the second, even though the second is what decides whether the thing works when it is made.

The sixteen corners are not sixteen equally likely mechanisms

A word of care about what the band means.

The band is the set of outputs of the extreme linkages. It is a bound, and it is the right bound if the question is “could any accepted part be this far out?” — which is the question an inspector asks.

It is emphatically not a prediction of what a batch will look like. A part with every one of its four lengths at the extreme of its tolerance, all four conspiring in the same direction, is a rare part. If the four errors are independent, most parts sit near the middle of the box and the typical output error is much smaller than the band. How much smaller is a question with an exact answer for four contributions, and it is the subject of its own essay, because the answer is bought with an independence assumption that a single machining fixture takes straight back.

Both numbers are useful and they answer different questions. Confusing them is how a design gets tolerances four times tighter than it needs, or a batch gets accepted that should not have been.

The four lengths do not matter equally. Each length's average contribution to the output band, for a tolerance of ±0.01 on all four, averaged over the 48 crank positions the mechanism reaches. The coupler contributes 38% of the total and the rocker 11% — a factor of 3.4 between the ends of the ranking. A tolerance specified equally on all four therefore spends most of its cost buying accuracy the mechanism does not notice, which is what a sensitivity ranking is for.
Fig. 5 What the band decomposes into. The sixteen corners give the total; the four contributions give the reason, and only the second can be acted on.

A tolerance and a solver tolerance are different things

There is a word collision here that is worth heading off, because both meanings appear in this essay and one of them is six orders of magnitude smaller than the other.

The solver on this site drives the constraint residual to 10⁻¹³ and is judged against 10⁻⁹. That is a numerical tolerance: it says how nearly the computed configuration satisfies the equations of the mechanism it was asked about. It is a property of the arithmetic.

A manufacturing tolerance of ±0.01 is a statement about which mechanism was asked about. It is ten orders of magnitude larger and it is not arithmetic at all.

The two never interact, and the reason is worth stating: the corner enumeration solves sixteen exact problems, each to 10⁻¹³, and then takes differences between their answers. It does not solve one approximate problem. So the numerical error in the band is around 10⁻¹³ and the band is around 10⁻², and nothing in this field is anywhere near the floor of the machinery that computes it.

That is not true of the derivative route, where a finite difference divides a difference of two converged answers by a small step and amplifies the noise by one over that step. The step used there is 10⁻⁶ against a solve at 10⁻¹³, which leaves six decades of headroom, and the essay on the two routes says what happens when it does not.

Two ways of adding four tolerances. The output band from ±0.01 on each of four lengths, combined two ways. The upper curve is worst case — every error at its extreme and conspiring — and the lower is root-sum-square, which treats the four as independent random errors. RSS is smaller everywhere, by between 1.42 and 1.95, and with four contributions the most it can ever be is √4 = 2. That factor is not a saving found in the geometry; it is bought with the assumption that the four errors are independent, and one fixture that locates two of the holes takes it straight back.
Fig. 6 The same band, split into the two ways its four contributions can be added up. The upper curve assumes every length is at its extreme and all four conspire; the lower treats them as independent. Both are computed from the same four sensitivities and they differ by up to a factor of two.

What this does not model

This site computes kinematics and not dynamics, and this field does not change that. Nothing here knows a force.

In particular: a tolerance band on the output angle says nothing about whether the mechanism binds. Two links slightly too long may simply put the rocker somewhere slightly wrong, or they may make the assembly impossible to fit together at all, and the difference is decided by the clearances in the joints — which is a separate mechanism entirely and the other half of this field.

Nor does it say anything about wear. A tolerance is a statement about the part when it is new. Every clearance in this field grows over the life of a machine and the band grows with it, and how fast is a question about surface pressure and lubrication that has no kinematic answer.

The assumption underneath all of it

One thing in this essay is doing more work than it looks.

“The output angle is monotone in each length over a small enough box” is the sentence that licenses the corner enumeration, and it is true for this linkage — the corners and the linear estimate agree to within 0.04% at every one of 180 crank positions. But it is not true for every four-bar, and where it fails it fails spectacularly rather than gradually.

Where a tolerance stack-up stops meaning anything. The ratio between the first-order tolerance estimate and the band measured by building every corner linkage, for two four-bars at ±0.002 on each length. The crank-rocker's ratio is 1 at all 180 positions — a stack-up is exactly right for it, everywhere. The parallelogram is a change-point linkage, where all four bars can lie on one line, and at that position the estimate exceeds the measurement by a factor of 4.8e+5. The difference is not in the arithmetic, which is identical; it is that a derivative describes a map that can be inverted, and at a change point the map cannot.
Fig. 7 The first-order estimate divided by the measured band, for two four-bars at the same tolerance. The crank-rocker’s ratio is 1 at every position. The parallelogram is a change-point linkage — all four bars can lie on one line — and there the estimate exceeds the measurement by a factor of 4.8 × 10⁵.

A parallelogram is a change-point linkage: its shortest plus longest exactly equals the other two, so there is a configuration in which all four bars are collinear. At that configuration the constraint Jacobian loses rank, the derivative of output with respect to length is infinite, and a tolerance analysis based on derivatives returns nonsense — five and a half orders of magnitude of nonsense.

What actually happens to a real parallelogram there is not that it flies apart. It is that it chooses: it can come out of the fold as a parallelogram or as an anti-parallelogram, and which one it chooses is decided by whichever of its four lengths is a micron long. That is not an accuracy problem. It is a mechanism with two behaviours and a coin toss, and the essay on where a stack-up stops working is about telling the two situations apart before building either.

The band’s shape is a design number too

The band is 0.73° wide at one part of the turn and 0.36° at another, and the essay’s point is that quoting either alone is quoting the value of a function. There is a second number hiding in the same pair, and it is worth having because it distinguishes designs that the width alone does not.

The ratio of the widest to the narrowest — here almost exactly two — says how uniform the mechanism’s accuracy is across its cycle. A linkage whose band varies by a factor of two is one whose output accuracy depends strongly on where in the stroke it is read; one whose band is nearly flat delivers the same accuracy throughout.

Those are different properties and they are not ordered. Two linkages can have the same worst-case band and completely different uniformity, and which is preferable depends on the job: a mechanism used at one position wants a narrow band there and does not care about the rest, while one whose whole stroke matters wants the flat curve even if its worst point is slightly wider.

So a tolerance specification has the same shape as a transmission angle’s: a worst value and the interval it is worst over, and a curve behind both. The parallel is exact and it is not a coincidence — both quantities are sensitivities of the same solved mechanism, both vary over the cycle for the same geometric reason, and both are routinely quoted as single numbers.

The design lever is the same one too. The band is widest where the output responds most strongly to a change of length, which is near the ends of the rocker’s swing; so moving the working stroke away from the extremes narrows the band exactly as it improves the transmission angle. One repositioning buys both, which is worth knowing because the two are usually argued about separately and traded against each other for no reason.

Why this field exists at all

Eight essays on this site end with a sentence saying that clearance, backlash, friction or wear are outside what is computed here. That was honest each time and it accumulated into a hole.

Two of those four are geometry. A tolerance is a set of geometries; a clearance is a short link with a free direction. Both are questions about where a mechanism can be, which is the only kind of question this site answers, and both can be run through exactly the same solver that draws every other figure here. The other two — friction and wear — are not, and saying precisely where the line is is the last essay in this field rather than the first, because it is worth more once the reader has seen how much of “practice” turns out to be kinematics after all.

The specified mechanism is the one on the drawing. The built one is the one that has to work. They are not the same mechanism, and until this field they were the same figure.

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 48 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.

ConstraintDead centreFour-barGrashof's conditionJacobianNewton–RaphsonSensitivityStrokeToleranceTransmission angleVelocity ratio