Numbers that were measured

The direction no protractor can see

A four-bar's output angle depends only on the ratios of its lengths. That is a sentence anybody would agree to, and it has a consequence with a number attached: the vector of the four lengths is annihilated by every row of the machine's own identification Jacobian, to 7.6 × 10⁻¹⁵, at every pose, for ever.

Assumes The matrix a calibration inverts.

Everybody agrees to this sentence: a four-bar’s motion depends on the ratios of its lengths, not on their sizes. Double every bar and the result is the same mechanism drawn bigger. It is one of the first things anybody notices about linkages and nobody argues with it.

It has a consequence that is not obvious at all, and the consequence has a number.

Three machines a protractor cannot tell apart. The same four-bar at 0.60×, 1.00×, 1.50×, drawn one inside another at the same crank angle. Every one of them puts its output link at 102.914064°, and the three readings differ by 2.8e-14° — which is the solver's floor rather than a difference. A protractor on the output link is reading a function of the ratios of the lengths, so it is the same function for every member of this family, at every crank angle, exactly. Whatever such an instrument recovers, it is not the size of the machine.
Fig. 1 Three machines at the same crank angle, one inside another. Every one of them puts its output link in the same place.

One line of calculus

A function that does not change when all its arguments are multiplied by the same factor is called homogeneous of degree zero. The output angle ψ(θ; g, a, b, c) is one, for every θ.

Euler’s relation says what that implies about the derivatives. Differentiate ψ(θ; kg, ka, kb, kc) with respect to k and set k = 1: the left side is zero, because the function did not depend on k, and the right side is the chain rule.

g ∂ψ/∂g + a ∂ψ/∂a + b ∂ψ/∂b + c ∂ψ/∂c = 0

That is one row of the identification Jacobian multiplied by the vector of the four lengths, and it comes out zero. Not approximately, not on average, and not at particular configurations: at every pose, for every four-bar.

So the parameter vector is a null vector of its own identification Jacobian. Whatever a protractor on the output link recovers, it does not recover the direction in which the machine simply gets bigger.

Seven point six times ten to the minus fifteen

The site’s habit is that an argument is not finished until something has measured it, and this one is measured over twenty-four poses of the default four-bar.

The reading is the largest, over all twenty-four rows, of |row · p| divided by the row’s length times the vector’s length — a dimensionless number that would be one if the row and the parameter vector were parallel and is zero if they are perpendicular. It comes out 7.6 × 10⁻¹⁵.

That is one linear solve’s worth of arithmetic and nothing else. Every entry of every row is the result of a 6 × 6 elimination against the mechanism’s analytic Jacobian, and the residual of an exact identity computed that way is the elimination’s own rounding. There is no geometry left in the number.

The same computation on the whole matrix gives four singular values: 2.163, 1.296, 0.415 and 4.5 × 10⁻¹⁵. The gap between the third and the fourth is a factor of 10¹⁴. A rank decision made across a gap like that is not a decision at all — move the cut anywhere between 10⁻¹⁴ and 10⁻¹ of the largest value and the answer is three.

And the direction is the machine

The decomposition does not only say that a direction is missing; it says which one. The last right singular vector, normalised so its largest entry is one, comes back as

g 1     a 0.24999999999999936     b 0.8750000000000013     c 0.7500000000000002

and the four lengths, normalised the same way, are 1, 0.25, 0.875, 0.75. The measured null direction is the machine, to fifteen figures, with the departure sitting where the arithmetic put it rather than anywhere interesting.

This is worth pausing on because it is the difference between a numerical fact and a geometric one. A rank deficiency found by a decomposition is usually a direction with no name — some combination of parameters that happens not to matter. Here the direction has a name, the name was predictable before the matrix was built, and the prediction and the measurement agree to the last digit either can carry.

One curve, three machines. The output angle through a whole turn for four-bars at 0.60×, 1.00×, 1.50× the site's own. Three curves are drawn and one is visible: the largest departure between any two of them, at any of the 96 sampled positions, is 4.9e-14 radians. This is the whole of the field's first result in one picture. A function generator is a device for turning an input angle into an output angle, and what it computes is decided by three numbers rather than four — so measuring what it computes, however carefully and however often, recovers three.
Fig. 2 Not one configuration but ninety-six: three curves drawn and one visible.
Three machines a protractor cannot tell apart. The same four-bar at 0.50×, 1.00×, 2.00×, drawn one inside another at the same crank angle. Every one of them puts its output link at 125.070468°, and the three readings differ by 0.0e+0° — which is the solver's floor rather than a difference. A protractor on the output link is reading a function of the ratios of the lengths, so it is the same function for every member of this family, at every crank angle, exactly. Whatever such an instrument recovers, it is not the size of the machine.
Fig. 3 The same statement at a factor of four between the smallest and largest, at a different crank angle, in case the first picture looked like a coincidence of proportions.

It is not a property of this four-bar

Four machines, all four ranks three.

The site’s crank rocker gives a residual of 7.6 × 10⁻¹⁵. The drag link — 2, 3.2, 3, 3.4, whose crank and coupler both turn all the way round — gives 6.4 × 10⁻¹⁶. Chebyshev’s linkage, whose proportions are chosen for a straight line rather than for anything about measurement, gives 1.4 × 10⁻¹⁵. A double rocker, which reaches only seven of the twenty-four poses and therefore contributes seven rows rather than twenty-four, gives 2.2 × 10⁻¹⁵ and rank three all the same, because seven rows are already more than three columns.

That last one is the useful case. It says the deficiency is not something that goes away with more data or arrives with less: three rows are enough to see the rank and twenty-four are not enough to raise it.

The argument never mentioned the lengths. It used only that the output is an angle and the parameters are lengths, so it applies to every mechanism on this site whose output is read as an angle — which is nearly all of them.

What survives, and it is most of the site

The obvious reading of this result is that a whole parameter has been lost. The more useful reading is the other one: everything that is a ratio survives, and an astonishing amount of this site is ratios.

Grashof’s classification is a comparison of sums of lengths and is unchanged by scaling, so a protractor recovers whether a machine is a crank rocker or a double rocker. The transmission angle is an angle in a triangle whose sides all scale together, so it is recovered exactly. So is the velocity ratio, so is the number of dead centres and where they are, so is the whole shape of the coupler curve up to similarity, so is the mobility — which is a count and has no size in it at all.

What is lost is the size, and with it every quantity that has a length in it: where the coupler point actually is in the room, how fast it goes, what area its curve encloses.

That division is sharp enough to be a survey, and it is one. It also explains why the loss is so easy to overlook in practice: a designer asking whether a linkage is any good is asking almost entirely about ratios, and the one measurement that cannot answer their question is the one they were going to read off the drawing anyway.

The size has to come from somewhere

The practical repair is not subtle and the interesting part is what it says about instruments rather than about mechanisms.

Measure anything that carries a length. Put a rule across the frame bar. Watch the tracing point with a coordinate machine instead of watching the output link with a protractor. Any single reading with a length in it fixes the factor, and after that the other three parameters come from the angles.

The reason is the units, and it is worth being exact about. A derivative of an angle with respect to a length has dimensions of one over a length, so multiplying a column by its own parameter gives a pure number — which is exactly the condition Euler’s relation needs. A derivative of a position with respect to a length is dimensionless, the same multiplication gives a length, and nothing cancels. The null space is a fact about the units of the readings, and that is the whole of it.

On the same twenty poses of the same machine, the coordinate machine gives rank four with a fourth singular value of 0.469 against a largest of 4.60. Not marginal: one part in ten.

The coordinates that do not move. Above: the four link lengths as the whole machine is scaled from 0.5× to 2.0×, four straight lines through the origin. Below: Freudenstein's K₁ = g/a, K₂ = g/c and K₃ = (g² + a² + c² − b²)/2ac over the same range, three horizontal lines whose total variation is 1.3e-15. Each of them is homogeneous of degree zero in the lengths, so the scale ray is a level set of all three at once — and the map from a four-bar's shape to its three K's is invertible, so they are not merely invariant but complete. The identifiable quotient of a four-bar's parameter space is three-dimensional, and this site has had its coordinates since its first essay on synthesis.
Fig. 4 The four lengths along a scale ray, and the three combinations that do not move along it.

Three numbers, and the site already had them

If three of four directions are recoverable then there are three recoverable quantities, and the natural question is what they are.

They are Freudenstein’s — K₁ = g/a, K₂ = g/c and K₃ = (g² + a² + c² − b²)/2ac. Each is homogeneous of degree zero in the lengths, so the scale ray is a level set of all three at once; together they determine the linkage’s shape, so nothing is missing; and the map from a shape to its three K’s is invertible, so they are coordinates rather than merely invariants.

Over a scale factor from 0.5 to 2 their total variation is 0. The four lengths over the same range are four straight lines through the origin.

The site has had that parameterisation since its first essay on synthesis and has used it to design function generators from three prescribed angle pairs. That it is also the exact answer to what can be measured is an essay of its own, and it is the sort of coincidence that is not one: the reason three prescribed pairs determine a function generator and the reason three measured pairs determine a machine’s shape are the same reason.

The same statement without any calculus

Euler’s relation is the short proof and it is not the persuasive one. Here is the persuasive one.

Take a four-bar and a photograph of it. Now take a second four-bar built to lengths exactly twice as long, and photograph it from twice as far away. The two photographs are identical — not similar, identical, pixel for pixel — because a similarity is exactly the transformation that preserves every angle and every ratio in a figure.

An angle sensor on the output link reads a number that is visible in the photograph. So does a comparison of the input and output angles, so does the transmission angle, so does the question of whether the crank turns all the way round. Anything a reader could work out from the photograph alone is recoverable; anything they could not is not, and what they could not is exactly one number, which is how far away the camera was.

That is the whole result, and it is why the null space is one-dimensional rather than two or three. A four-bar’s parameter space is four-dimensional, similarities of the plane that fix the two ground pivots form a one-parameter group, and the quotient is three-dimensional. Nothing about mechanisms went into that count.

Where the size goes when it is not measured

One more consequence, and it is the one that decides how a report should be written.

A calibration that returns four lengths is making four claims and only three of them are supported. The honest presentation of the same result is three numbers and a sentence: the shape is these three invariants, measured; the size was not measured and is whatever the nominal drawing said.

That is not a smaller result. Three invariants determine the Grashof class, the full input–output relation, the transmission angle at every position, every dead centre, and the coupler curve up to similarity. A designer handed those three numbers knows almost everything they wanted to know about the machine and knows nothing about how big it is — which they can find with a rule in one measurement, if they care.

The failure mode this avoids is specific and it is why the essay ends here rather than on the algebra. Four numbers, presented as measured, get used as measured. Somebody puts them into a tolerance study, or an interference check, or a stack-up against a housing, and every one of those cares about a size. Three of the four numbers carry a measurement and the fourth carries a starting guess, and after the report is written nothing distinguishes them.

Why nobody notices

A result this sharp ought to have bitten somebody, and mostly it has not. The reason is worth setting out, because it is also the reason the result matters when it does bite.

Almost nobody calibrates a four-bar. The mechanisms people calibrate are robot arms, and a robot arm is measured with a coordinate machine or a laser tracker precisely because what is wanted is where the tool goes — which is a position and carries a length. The instrument that has this null space is the one nobody reaches for on the machines where calibration is routine.

Where the null space does bite is the cheap case, and the cheap case is common. Two encoders on a linkage, no external instrument, no fixture, no datum: that arrangement is attractive exactly because it needs nothing, and it is a pure angle measurement. It recovers a shape and hands back four lengths, and the four lengths are not the machine’s. Nothing about the fit says so — the residual is at the encoders’ own noise and the numbers look entirely reasonable.

The other place it bites is a model that has been over-parameterised without anybody meaning to. A model with one redundant direction returns arbitrary numbers along it, and a redundant direction is easy to acquire and hard to see. Scale is only the most legible example; a six-bar has two, and the second is not a scaling of anything.

What a fit does with an invisible direction

Left alone, an undamped least-squares step along a direction the data cannot see is infinite: the objective is flat, so the Gauss–Newton step divides by zero and the answer runs off.

Nobody’s fit does that, because every practical fit is damped, and damping is what makes the answer finite. But damping does not find anything along the flat direction — it merely prefers to stay near where it started. So a calibration of angle data returns a machine whose shape is the truth’s and whose size is wherever the nominal model happened to put it, and the size that comes back is a fact about the starting guess rather than about the machine.

The measurement of exactly that is in the essay on what a fit returns: a four-bar built out of true, measured at thirty positions, comes back as the truth’s four lengths multiplied by 0.99229, every one of them, to fifteen figures, with a residual of 1.8 × 10⁻¹⁶ radians.

A number that is arbitrary and looks measured is the worst kind of number a report can carry, and this is the mechanism that produces one. The repair is not a better fit. It is either a reading with a length in it or a model that does not pretend to have a fourth parameter — and the second is the honest choice when there is genuinely nothing to measure the size with, because a model of three parameters returns three numbers and no fourth to be misread.

A note on the two routes

The identity above is exact, which makes it a poor test on its own: an assertion that can only pass proves nothing, and this site’s habit is that every claim gets something it could fail.

So the null check is fed a Jacobian with one column multiplied by 1.01 — a one per cent error in one parameter’s derivative, which is about the size of a plausible mistake in a sign convention or a chain rule. The residual goes from 7.6 × 10⁻¹⁵ to 4.6 × 10⁻³, which is twelve orders above the tolerance and impossible to miss.

That refusal is what makes the identity load-bearing rather than decorative, and it does a second job. The identification Jacobian’s four columns are four genuinely different constructions — two bar derivatives, one driven-constraint derivative and one that comes from a ground pivot moving — and there is no other check on this site that would catch an error in any single one of them. The tolerance field compares the two sensitivity routes, which catches a mistake made in one route and not one made in both; the null identity catches a mistake in one column, which is a different failure and until now had nothing looking for it.

One curve, three machines. The output angle through a whole turn for four-bars at 0.40×, 1.00×, 2.50× the site's own. Three curves are drawn and one is visible: the largest departure between any two of them, at any of the 72 sampled positions, is 6.9e-14 radians. This is the whole of the field's first result in one picture. A function generator is a device for turning an input angle into an output angle, and what it computes is decided by three numbers rather than four — so measuring what it computes, however carefully and however often, recovers three.
Fig. 5 A factor of six between the smallest and the largest machine, over seventy-two positions, still one curve.
Which numbers have a size. Twelve quantities from eight fields of mechanism kinematics, each scaled by taking every length in its mechanism up and down together and fitting the power its value follows. A shape lands on zero, a length on one, a curvature on minus one, an area on two, and every row lands on an integer to 3.3e-11. The sorting is not a units argument — it is measured from each field's own library, by asking that library the same question. What it says is that most of what kinematics computes is a shape: a mobility, a Grashof class, a transmission angle, a contact ratio and a velocity ratio are all unchanged by making the machine bigger, so all of them are recoverable from a measurement that cannot recover a single length. The row worth stopping at is the tolerance band: held to a fixed ±0.01 it lands on minus one, because ±0.01 is a length and a bigger machine held to the same absolute tolerance is a better machine. Written as a percentage the same band lands on zero. One quantity, two drawing conventions, two different kinds of number.
Fig. 6 The division this result creates, run across the site: which of its numbers change when a machine is made bigger, and by what power.

What this is not

Two misreadings, both natural.

It is not a numerical difficulty. A singular value at 10⁻¹⁵ of the largest is not a small number waiting for better conditioning. It is nought, for a reason that is one line long and holds identically at every pose of every four-bar. No amount of data helps and no instrument helps, because the information is not in the readings — an angle sensor reading a mechanism made of lengths simply does not produce numbers that contain a size.

And it is not a fault in the mechanism. The machine is perfectly well behaved; every one of its positions solves to 10⁻¹³ and every classification of it is unambiguous. What has a null space is the pairing of a mechanism with an instrument. Change the instrument and the rank changes on the same poses of the same machine, which is the clearest evidence available that the deficiency belongs to neither half alone.

The general form of that is the rule to carry out of this essay. The question “is this parameter identifiable” is not well formed. The question is whether this parameter is identifiable from these readings at these poses, and the answer moves when any of the three does.

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

Grashof's conditionIdentifiableIdentification jacobianScale invarianceSimilaritySingular valueTransmission angleUnidentifiable direction