Linkages

Grashof is a shape test

The oldest classification in the subject compares sums of lengths, so it is unchanged by making the machine bigger — which means a protractor recovers it exactly without recovering a single length. What it does not recover is the margin, and the margin is what says whether the classification is safe.

Assumes Grashof, predicted and then swept.

Sort a four-bar’s four lengths. Call the shortest s, the longest l, and the other two p and q. If

s + l ≤ p + q

then some link turns all the way round relative to another. That is Grashof’s condition, it is the oldest classification in the subject, and it has a property worth naming.

Grashof's classification, predicted and then swept. Four sets of link lengths. For each, Grashof's condition predicts from the lengths alone whether the input can rotate a full turn, and the solver then attempts all 180 positions and reports how many assembled. The prediction and the measurement agree in every case, which is what licenses quoting the classification for a mechanism nobody has swept.
Fig. 1 The condition and the classes it produces, on the four-bar this site runs on.

It is a comparison of lengths

Scale every link by the same factor and both sides of the inequality scale by that factor. The inequality’s direction is unchanged, so the classification is unchanged.

That makes Grashof’s class a shape: a property of the four ratios and not of the four lengths, and one of the quantities a scaling survey puts on the zero line.

The consequence for measurement is immediate and is not obvious. A protractor on the output link cannot recover a four-bar’s size — three of its four parameters come back and the fourth never does. It recovers the Grashof class exactly, from three readings, with any instrument whatever.

The first question anybody asks about a four-bar is answered by the measurement that cannot answer the second.

Two ways to check that, and both are here

The scaling argument is one line and this site does not accept one-line arguments without a measurement, so the invariance is measured the same way everything else in the survey is: compute the quantity at scale factors from 0.8 to 1.6 and fit the power it follows.

The class gives exponent zero, with the fitted departure at machine precision. The margin gives exponent 1.000000.

There is a control on both, and the control is what makes the first reading mean anything. A quantity that did not move under a scaling might simply not depend on the geometry — a constant is scale-invariant and so is the number seven. So each is also perturbed by changing one link by five per cent, and the class’s underlying quantity moves by 13%.

Invariance is only evidence when the quantity varies, and the pair of perturbations is what separates a shape from a constant. A count fails the second test and is filed in a third class for exactly that reason — and the Grashof class, being a label rather than a number, is a count in that sense while its margin is not.

What the class decides

That is worth having because the class is not a label; it decides what the mechanism is for.

A crank rocker has a link that turns fully and one that swings, which is what a motor drives. A drag link has two links turning fully, which is a coupling. A double rocker has neither, so it cannot be driven continuously from either ground pivot at all.

Where the dead centres fall follows from the class. Which inversions exist follows. Whether a continuous input produces a continuous output follows.

All of it recoverable from angles. A calibration that cannot say how big the machine is can say what it is.

The margin is a length

Now the other half, and it is the half that gets left out.

The classification is the sign of s + l − p − q. That quantity itself is a length: scale the machine and it scales. Its fitted exponent under a scaling is 1.000000, against the class’s zero.

For this site’s four-bar the sorted lengths are 1, 3, 3.5, 4. So s + l = 5, p + q = 6.5, and the margin is 1.5 units — with the shortest link at 1, that is one and a half times the shortest link of slack.

That is comfortable. A four-bar at 4, 1, 3.4, 1.65 has s + l = 5 and p + q = 5.05, a margin of 0.05, and a twentieth of a unit of manufacturing error on any one link changes what kind of machine it is.

The class is exact and the class is brittle, and the second is invisible in the first.

A four-bar at 60°, solvedGround 4, crank 1, coupler 3.5, rocker 3. Every joint position here is the output of a Newton–Raphson solve on the loop-closure equations, converged to 0.0e+0 — not a placement that looked right. Grashof's condition classifies these lengths as a crank rocker, and sweeping the crank through 360° confirms it: 120 of 120 positions assemble. The transmission angle at this instant is 66.9°.ABO₂O₄crank (input)couplerrocker (output)crank rocker · residual 0.0e+0positioned by solving, not by drawing
Fig. 2 A machine with a margin of 1.5 units, at a general position of its turn.
A four-bar at 130°, solvedGround 4, crank 1, coupler 3.4, rocker 1.65. Every joint position here is the output of a Newton–Raphson solve on the loop-closure equations, converged to 1.6e-15 — not a placement that looked right. Grashof's condition classifies these lengths as a crank rocker, and sweeping the crank through 360° confirms it: 120 of 120 positions assemble. The transmission angle at this instant is 134.5°.ABO₂O₄crank (input)couplerrocker (output)crank rocker · residual 1.6e-15positioned by solving, not by drawing
Fig. 3 And one with a margin of 0.05, which is the same class and a twentieth of a unit from being another.

What the margin does not measure

One thing the margin is not, because it is tempting to read it as a general robustness figure.

It measures the distance to Grashof’s boundary and nothing else. A machine with a large Grashof margin can still be a poor design: its transmission angle can fall to nothing, its stroke can be tiny, its coupler curve can be uninteresting.

Those are separate quantities with separate margins. The transmission angle’s own margin is how far its minimum sits above whatever the design rule demands — 54.31° above a rule of 40° on this machine, which is another comfortable number. The stroke’s margin is how far the rocker’s swing is from zero.

Every classification has its own boundary and its own distance to it, and a design has as many margins as it has classifications. What they share is the shape of the reporting rule: the label is the answer and the distance is the evidence.

The site computes several of these and prints none of them, which is the general form of what this essay is asking for and is a larger job than one anchor.

How to report a class

The rule follows and it is one number.

Not crank rocker. Crank rocker, margin 1.5 units, or 1.5 shortest links.

Both forms of the margin are worth having and they say different things. In units it is what a manufacturing tolerance has to be compared against: a machine whose four lengths are each held to ±0.01 has its margin uncertain by ±0.04, and 1.5 is a hundred and eighty standard tolerances away from zero.

As a multiple of the shortest link it is dimensionless — exponent zero, a shape — and it is what compares two designs. A margin of 1.5 shortest links is generous whatever size the machine is; a margin of 0.05 shortest links is a design that has to be manufactured carefully.

An integer or a label with no margin is a claim with no evidence about how nearly it is false, which is the general form of the rule and this is its oldest instance.

Why the margin has two useful forms

Both forms of the margin appear above and it is worth being clear that they answer different questions rather than being two units for one thing.

In units it is a manufacturing question. A machine whose four lengths are each held to ±0.01 has a margin uncertain by up to ±0.04 in the worst case, so a margin of 1.5 is far outside anything the tolerances can reach and a margin of 0.05 is one and a quarter tolerance bands away. That comparison needs both quantities in the same units and it is the comparison a production engineer makes.

In shortest links it is a design question. It is dimensionless, it compares two designs of different sizes, and it is what a designer should carry in their head as a rule of thumb. The site’s own machine sits at 1.5; anything under about 0.2 is a design whose class depends on the shop.

The two are related by the shortest link and they are not interchangeable, because a machine ten times bigger held to the same absolute tolerance has ten times the margin in tolerance bands and the same margin in shortest links.

That is the tolerance band’s own ambiguity arriving at a different quantity, and for the same reason: an absolute tolerance is a length and a design is a shape.

What a measurement recovers about the margin

The class is recoverable from angles and the margin is not, quite, and the distinction is worth being exact about.

The margin in units is a length, so it has the same problem the lengths have: an angle-only measurement recovers it up to the unknown scale factor. Read a four-bar with a protractor, recover its shape, convert back to lengths at the nominal ground length, and the margin that comes out is the truth’s margin times whatever factor the fit landed on — 0.99229, in the worked case.

The margin as a multiple of the shortest link is a ratio and comes back exactly.

So the honest output of an angle-only calibration is: the class, certainly; the margin in shortest links, exactly; the margin in units, up to the size. That is a strange-sounding sentence and it is precisely what the readings support.

Two machines that differ only in size

The clearest way to see the invariance is to build two.

Take the site’s four-bar at 4, 1, 3.5, 3 and the same machine at 8, 2, 7, 6. Sorted, the first is 1, 3, 3.5, 4 and the second is 2, 6, 7, 8. The first has s + l = 5 against p + q = 6.5; the second has 10 against 13. Both satisfy the inequality, both are crank rockers, both have the crank as the shortest link.

Their margins are 1.5 and 3.0 — a size, doubled. Their margins in shortest links are both 1.5 — a shape, unchanged.

And every angle either machine reaches is the same angle at the same crank position, to the solver’s own floor. A protractor watching the two cannot distinguish them at all, and its inability is exactly what makes the classification recoverable: whatever a protractor determines is a property of the family, and the class is a property of the family.

The invariance and the unidentifiability are the same fact, which is a pleasing way round for a result to arrive. The reason a protractor cannot see the size is the reason it can see the class.

Everything else about the class is a shape too

Running down what Grashof’s condition determines and asking the same question of each.

Which link is the crank — a comparison of lengths, exponent zero, recovered.

Whether the crank turns fully — a sign, recovered.

The transmission angle through the turn — an angle in a triangle whose sides scale together. Its minimum over a full turn of this machine is 54.31°, at a crank angle of zero, and both numbers are unchanged by scaling. Recovered.

Where the dead centres fall — crank angles, recovered.

The time ratio between the forward and return strokes — a ratio of angles, recovered.

Not one of those needs a length. A designer handed an angle-only calibration knows the machine’s class, its proportions, its transmission behaviour and its timing, and does not know how big it is.

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 through a turn: an angle in a triangle whose three sides scale together, so this curve is the same at every size.

The condition has no derivative at its boundary

A small technical point that explains why the margin has to be reported separately rather than propagated.

An ordinary tolerance study takes a quantity, differentiates it with respect to the lengths, and combines the sensitivities. That works for the output angle, the transmission angle and every continuous quantity on this site.

The Grashof class has no derivative. It is a label, it takes one of a small number of values, and it is locally constant in the lengths — so its sensitivity to any length is zero everywhere except at the boundary, where it does not exist.

A tolerance study therefore reports nothing about it, correctly and uselessly. What has a derivative is the margin, whose sensitivity to each length is ±1 depending on whether that link is one of s and l or one of p and q. Four sensitivities, all of magnitude one, and a band on the margin that is the sum or the quadrature of the four length tolerances.

The class’s uncertainty lives entirely in its margin’s uncertainty, which is a well-behaved continuous quantity with an ordinary error bar — and computing it is four additions.

The classification and the sweep

This anchor’s own first essay makes the point that a classification is a prediction and must be measured: the condition says the crank turns fully and a sweep checks it.

The scaling result adds a small thing to that. The sweep is performed on one machine at one size, and the prediction it confirms is about a family — every scaled copy of that machine. So one sweep confirms the condition for an infinite set of linkages, and that is not an assumption but a consequence of the classification being a shape.

It also says what a sweep cannot confirm. A sweep at one size says nothing about how close the machine is to the boundary, because a sweep either completes or does not. Two machines with margins of 1.5 and 0.05 both sweep cleanly, and only the margin distinguishes them.

The sweep tests the sign and the margin measures the distance to it, and the site has been computing the first and printing neither.

One set of lengths, two mechanisms. The same four bars pinned in the same order and the same crank angle, assembled two ways. B sits 4.53 units apart between them. Both satisfy the loop-closure equations exactly, so neither is more correct — and a built mechanism is in one branch permanently, because getting to the other requires taking a pin out. The solver reaches whichever branch its starting guess is nearer, which is why a sweep carries the previous position forward rather than starting fresh.
Fig. 5 A four-bar’s two assemblies, which the class does not distinguish: both branches of one linkage have the same four lengths and the same Grashof class.
A four-bar at 40°, solvedGround 1.8, crank 3, coupler 2.6, rocker 3.2. Every joint position here is the output of a Newton–Raphson solve on the loop-closure equations, converged to 4.4e-16 — not a placement that looked right. Grashof's condition classifies these lengths as a double crank, and sweeping the crank through 360° confirms it: 120 of 120 positions assemble. The transmission angle at this instant is 38.4°.ABO₂O₄crank (input)couplerrocker (output)double crank · residual 4.4e-16positioned by solving, not by drawing
Fig. 6 A drag link, where two links turn fully rather than one: a different class of the same condition, and one that a scaling likewise cannot change.

Where the brittleness bites

A margin near zero is not a hypothetical and the case that produces it is common.

A parallelogram linkage — g = b, a = c — has s + l exactly equal to p + q. Its margin is zero, and it is the change-point case the site has met before: the mechanism moves, the classification is on a boundary, and at the folded position it can go either way.

Anything designed near a parallelogram inherits a small margin. So does anything designed for maximum stroke, since pushing a rocker’s swing towards its limit pushes the lengths towards the boundary.

Those are exactly the designs a tolerance study should look at, and a tolerance study on the lengths will report a band on the output angle and say nothing about the class. The class’s own margin is a quantity a tolerance study should carry and does not.

A margin of zero is a mechanism

The boundary case is not pathological and the site has met it twice.

A parallelogram has s + l exactly equal to p + q. It moves, it turns fully, and at the folded configuration where all four pins are collinear it can continue as a parallelogram or flip to an antiparallelogram. The classification is on its boundary and the mechanism is genuinely ambiguous there rather than merely near an edge.

That is the clearest evidence that the margin is the interesting quantity. At margin 1.5 the class is a fact about the machine. At margin exactly zero the class is not a fact at all — the machine’s behaviour at the change point is decided by something outside the four lengths.

And in between the margin behaves as a distance to that: a machine at 0.05 will behave as its class says and will do so with fifty times less certainty about staying in that class through a production run.

A boundary a mechanism can sit on is a boundary a measurement should report the distance to, which is the whole recommendation of this essay applied to the one case where it is obviously necessary.

Everything above is an argument for one change to how this site writes a caption, and it costs six characters.

A Grashof class is a shape: it survives a scaling exactly, it is recoverable from a protractor, and it is the same class for a wristwatch escapement and a dockside crane of the same proportions. That is a good property and it is why the class is worth having.

A class is also brittle rather than uncertain. It cannot be slightly wrong. What it can be is wrong, discontinuously, because the parameters crossed a boundary — and how far the machine is from that boundary is a completely different quantity, with a completely different character. The margin s + l − p − q is a length. It has an exponent of one, it is as large as the machine it was measured on, it has an ordinary error bar, and it is what actually decides whether the class is safe.

This site’s own four-bar has a margin of 1.5 units against a 5.0 sum: comfortable, unmistakable, immune to any manufacturing error anybody would tolerate. A four-bar at 4, 1, 3.4, 1.65 has a margin of 0.05, and a twentieth of a unit of error on any one link changes what kind of machine it is. Both are crank rockers, and every caption on this site would describe them identically.

The routine that decides the class already computes the margin. It has to: the sign of s + l − p − q is the decision, and the number is sitting in the returned object with nothing reading it. So the change is not a computation, it is a habit — quote a class with the distance to the next one, in the machine’s own units, the way any other measured quantity is quoted with its uncertainty.

There is a second form worth quoting beside it and it is the dimensionless one: the margin divided by the shortest link, or by the sum of all four. That number is a shape, it transfers between sizes, and it is the one to compare two designs with. The absolute margin says whether this machine is safe against this workshop’s tolerances; the relative one says whether the design is safe at all.

A count or a class with no margin beside it is an assertion, and with a margin it is a measurement. That is the whole of it, it applies to every integer this site prints, and the oldest quantity in the subject is where it is easiest to see.

About the same objects

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

What links here

The 8 of 10 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.

CalibrationCrank-rockerDead centreDouble rockerGrashof's conditionIdentifiableScale invarianceTransmission angle