Numbers that were measured

One set of lengths, two machines

Three measured input–output pairs return a four-bar's four lengths to fourteen figures. Assembled the way the data was taken, that linkage reproduces every reading to 2.5 × 10⁻¹⁴ radians. Assembled the other way — which the same four lengths permit — it misses them by 268°, and no equation in the identification knows the difference.

Assumes Reading a residual.

Take a four-bar built four per cent long on the coupler and three per cent short on the rocker. Read its input and output angles at twenty-four positions, pick three of them, and hand the three pairs to Freudenstein’s relation.

Back come four lengths: g = 4, a = 1, b = 3.64, c = 2.91. Those are the machine’s, to fourteen figures.

Now build that linkage and check it against all twenty-four readings. Assembled one way it reproduces every one of them to 2.5 × 10⁻¹⁴ radians. Assembled the other way it misses them by up to 268 degrees.

One set of lengths, two machines. Three measured input–output pairs, marked, and the linkage Freudenstein's relation returns from them — which is the truth's four lengths to fourteen figures. The relation is a statement about the two angles and it holds on both assembly branches, because it was derived by squaring and that is the step that forgets which one the mechanism is on. So the identified linkage assembled the way the data was taken passes through every reading, to 2.53e-14 radians, and assembled the other way misses them by up to 268° — at the first precision point it reads -111.6° where 98.8° was wanted. That is not a near miss and not a failure either. It is the other answer.
Fig. 1 The three measured pairs, and the linkage the identification returned, drawn assembled each way.

Where the second machine comes from

A four-bar’s closure equations are quadratic. Given the crank’s position, the free joint B sits at an intersection of two circles — one centred on A of radius b, one centred on O₄ of radius c — and two circles intersect in two points.

Both are legitimate configurations of the same four bars and the same four pins. One has the coupler and rocker crossing to the left of the line joining A and O₄, the other to the right. A physical machine is in one of them and stays there: crossing between the two requires passing through the configuration where the two circles are tangent, which is where the mechanism would have to come apart.

So four lengths is not a mechanism. It is a parts list, and a parts list is a strictly weaker thing than a machine. The mechanism is the parts list plus a choice of which intersection the machine was assembled at.

Why the identification cannot tell

Freudenstein’s relation is obtained by eliminating the coupler angle from the loop closure, and the elimination goes through a squaring.

Squaring is exactly the step that forgets a sign. sin φ and −sin φ have the same square, and the two signs are the two intersections. So the relation that comes out — K₁ cos ψ − K₂ cos θ + K₃ = cos(θ − ψ) — is satisfied by both assemblies of the same linkage at their respective output angles, and it holds identically for both.

An identification that solves that relation is therefore working with an equation that cannot distinguish them. Three measured pairs determine the three K’s, the three K’s determine the shape, and nothing anywhere in the chain carries the branch.

This is not a weakness of Freudenstein’s method in particular. Any elimination of an interior variable from a quadratic system does the same thing, and the alternative — fitting the full closure system by iteration — carries the branch only because the solver was seeded on one side and stayed there, which is a property of the software rather than of the data.

The numbers

At the three prescribed poses, the identified linkage assembled on the branch the data came from and on the other one:

crank 20.05°     wanted 98.82°     other branch −111.61°
crank 140.05°    wanted 123.29°    other branch −138.64°
crank 260.05°    wanted 136.31°    other branch −109.75°

Over the whole twenty-four-pose sweep the mean miss on the wrong branch is 239.7° and the worst is 267.9°.

Those are not near misses. The wrong branch is not a slightly worse answer, it is a different machine, and the site’s own approximation library records the same phenomenon from the design side: a linkage synthesised from three correct pairs and then assembled from a generic guess “reaches none of the three prescribed pairs and reports no error of any kind” — 98.42° wanted and 40.46° delivered, in that case.

Two branches, and the count of them is not two

A precision worth having before the diagnostics, because two is the answer to a narrower question than it looks.

Two is the number of ways to place the free joint B given the crank’s position. A four-bar as an object has more structure than that: it also has inversions, which are the four mechanisms obtained by grounding each link in turn, and those are genuinely different machines built from the same four bars.

An identification does not confront the inversions, because the measurement names which link is the frame — the readings are angles at O₂ and O₄, and saying so has already chosen the inversion. It does confront the branches, because nothing in the readings names which intersection the machine sits at.

So the ambiguity an identification faces is exactly the assembly count and not the inversion count, and the distinction matters when reading the site’s own tallies: a chain with sixteen mechanisms in it does not present sixteen alternatives to a measurement, it presents as many as the named mechanism has assemblies.

The residual is the diagnostic and it is loud

Of all the failures in this field this is the easiest to catch.

A residual of four and a half radians is not a subtle signal. It cannot be mistaken for instrument noise, it cannot be mistaken for a missing parameter, and it cannot be mistaken for a poorly conditioned direction. Anybody who looks at the residual at all sees it immediately.

What makes it worth an essay is not the difficulty of detecting it but the shape of what has gone wrong. The parameters are right. Every one of the four lengths is the machine’s to fourteen figures. The failure is entirely in a piece of information that is not a parameter, that no amount of data supplies, and that the model’s parameter list has no slot for.

That is a genuinely different kind of defect from everything else in this field, all of which is about parameters being wrong or undetermined. Here nothing is wrong with any number.

A fit converging onto the machine. The sum of squared residuals through a calibration of a four-bar built 3% long on the coupler and 1% short on the rocker, started from the nominal dimensions. It falls by a factor of 5.1e+28 in 5 steps and then stops at 9.86e-31, which is the solver's own floor. With perfect readings the shape comes back exactly. The last two steps fall faster than the ones before them, which is what a Gauss–Newton descent does when the Jacobian has full rank on the directions it is allowed to move in.
Fig. 2 What the fit does when it is on the right branch: a clean descent to the solver’s floor.
Every length wrong, every reading right. A four-bar was built to the dimensions in the upper bar of each pair and its output angle read at 30 positions. A calibration started from the nominal dimensions returns the lower bar. It reproduces every one of those readings to 1.81e-16 radians and not one of its four numbers is the machine's: they are the machine's multiplied by 0.992289, every one of them, to 3.0e-16. The shape is recovered exactly — the distance in Freudenstein's three invariants is 6.3e-16 — and the size is a free parameter the damping happened to leave near where it started. A machinist handed these numbers would build a machine that works and is not this one.
Fig. 3 And what it returns there — the shape exactly, the size arbitrarily, and the branch not mentioned.

When it is not loud

The comfortable version above has the model on the wrong branch for the whole sweep. There is an uncomfortable version.

A machine measured across a configuration where the two branches nearly meet — near a dead centre, where the coupler and rocker approach collinearity — has two assemblies that are close together there, so a fit can be on the wrong branch for part of the sweep and the right one for the rest. The solver, following the sweep by carrying the previous answer forward, can be pushed across.

The residual is then large at some poses and small at others, which looks like a set of outliers rather than like a branch error. The correct diagnosis is available and it is not the first one anybody reaches for.

The defence is the same as the defence against several other things in this field: keep the measured poses away from the limit positions. A pose selection does that anyway, because the rows near a limit are short, so the arrangement that is best for conditioning is also the one that keeps the branches apart.

The two branches are not mirror images

A small correction to the picture most readers will have formed, because getting it wrong makes the ambiguity sound easier to reason about than it is.

The second assembly is not the whole mechanism reflected. Reflecting a four-bar about the line joining its ground pivots gives a mechanism whose output angle is the negative of the original’s at the negated crank angle — a symmetry, and a different one. The second assembly keeps the crank exactly where it is and puts B at the other intersection, so the crank angle is shared and the output angle is not related to the first by any sign.

That is why the misses in the table have no pattern in them: −111.61° against 98.82°, −138.64° against 123.29°, −109.75° against 136.31°. The differences are 210°, 262° and 246°, which are not equal and are not a reflection of anything.

It also means the wrong-branch machine is a perfectly good mechanism doing a perfectly good job of something else. Its input–output curve is smooth, its transmission angle is defined throughout, and it satisfies the same Freudenstein relation. There is nothing degenerate about it, which is what makes it an alternative answer rather than an error.

What settles the branch

Nothing in the readings does, if the readings are angles at the input and output. Three things outside them do.

Looking at the machine. One photograph. The branch is a visible fact about which side of the line A–O₄ the coupler passes, and no measurement is needed to see it.

Measuring anything on the coupler. The two assemblies put the tracing point in completely different places — 2.7 × 10⁻¹⁴ apart on the identified machine, which is to say they coincide only because the identification returned the truth; on any other linkage they are far apart. A single reading of the coupler point separates them at once.

Or following the machine continuously. A sweep from a known starting configuration cannot cross branches without passing through a singularity, so a solver that tracks the previous answer stays on the branch it started on. That is what this site’s own sweeps do and it is why every figure here is on one branch throughout.

The first is free and is what anybody would actually do. The point of listing three is that the branch is settled by information of a different kind rather than by more of the same, which is the recurring shape of every ambiguity in this field.

A calibration that improves the machine and reports the wrong one. The truth's tracing point is 0.148 units from where the model says it is, and the model has only four lengths with which to say so. Fitted over half a turn, it reduces the error there by a factor of 34 and over the other half by a factor of 21, so every practical test says the calibration worked. It got there by moving the rocker by -0.1855 — 6.2% — and the coupler by -0.0257. The residual it cannot drive away, 3.07e-3, is the only signal that anything is missing, and it is the signal a practitioner is most likely to read as instrument noise.
Fig. 4 For comparison, a residual that is small and wrong rather than large and wrong: a model missing a parameter, settling above the noise and improving the machine while it does so.
The instrument's error, multiplied. The error in the recovered shape against the error in each reading, over four decades, each point the mean of six independent calibrations and the open marks the worst of the six. The slope is 0.9994 — the error is linear in the noise, with no threshold and no saturation — and the constant is 1.90. So a protractor good to a milliradian gives a shape good to about 1.9 milliradians' worth, and the factor belongs to the mechanism and the poses rather than to the instrument. The bound from the smallest singular value is 2.16, which the measurement sits under, as it must.
Fig. 5 And the ordinary kind of error, which is linear in the instrument’s and has nothing discrete about it.

A photograph is data

The recommended resolution — look at the machine — deserves defending rather than apologising for, because it sounds like giving up on measurement.

This site’s standard of evidence is that every input can be read off a drawing or an instrument. A photograph of an assembled mechanism qualifies on both counts: which side of the line A–O₄ the coupler passes is visible, unambiguous, and reproducible by anybody standing in front of the machine. It is not a softer kind of evidence than an angle reading; it is a different question, answered by a different observation, at no cost.

What makes it feel unsatisfactory is that it cannot be automated into the fit. The fit takes numbers and a branch is not a number. So it lands in the part of a procedure that a person does and a script does not, which is exactly the part that gets lost when the procedure is written down.

That is the practical lesson and it is not about mechanisms. The pieces of information that resolve discrete ambiguities are usually the ones that are obvious in the room and absent from the file, and a report has to carry them deliberately because nothing carries them by accident.

Not a null space

Worth separating, because the two get run together and they call for different instruments.

A null space is a direction: a continuous family of parameter values the data cannot distinguish, detected by the rank of the identification Jacobian, and present at every point of that family.

A branch ambiguity is discrete: two isolated configurations, with nothing in between, and the identification Jacobian at either of them is perfectly ordinary and of full rank. No derivative detects it, because a derivative is a local object and the alternative is not local.

The general instrument for a discrete ambiguity is to run the fit from several starting points and see whether it lands in more than one place. Here that works trivially — seed the free joint above and below the ground line — and it is the same instrument that finds the three linkages tracing one coupler curve, which is a discrete ambiguity of the same kind and considerably harder to see.

Three pairs is the fragile case

The example above uses three measured pairs and a linear solve, which is the arrangement in which the branch ambiguity is at its purest — and it is worth saying what changes with more.

With thirty measured pairs and a non-linear fit, the branch is not in the equations either, and it is in the software. The fit builds the model at each pose by solving the closure system, and the solver seeds the free joint somewhere; that seed decides the branch, silently, for the whole fit. A fit seeded above the ground line stays above it and returns a machine on that branch; one seeded below returns a machine on the other.

So the many-pose version has the same ambiguity with a different failure mode. The three-pair version returns a parts list and leaves the branch to whoever builds the model. The thirty-pose version returns a machine on whichever branch its solver happened to pick, with a residual that is either at the noise or enormous depending on whether that matched the data.

The second is better only because it is loud. A residual of four radians is unmissable; a parts list with no branch attached is silent, and it is what a linear identification returns by construction.

How many branches there are

For a four-bar, two, and the count is a property of the mechanism’s algebra rather than of the measurement.

The site has counted these before. A four-bar has two assembly modes; a Watt six-bar has four; a Stephenson six-bar has up to six; a planar platform has six and a Gough platform up to forty. Every one of those is a count of the real solutions of the closure system, and every one of them is a count of the ways an identification can be right about the lengths and wrong about the machine.

So the difficulty scales badly. Two branches is a coin flip that a photograph settles. Forty is a genuine problem, and for a parallel platform it is one that the machine’s own sensors do not resolve — which is why a platform’s calibration is done with the platform driven continuously from a known assembly rather than sampled at isolated poses.

The branch count is the number of ways a correct parts list describes the wrong machine, and it is a number the site already computes for every mechanism it carries.

The same problem on the machines the site already counts

The two-branch case is the smallest instance of something the site has been computing for a long time without connecting it to measurement.

Counting assembly modes is one of this site’s standing activities: a four-bar has two, a Watt six-bar four, a Stephenson six-bar up to six, a planar platform six, a Gough platform up to forty. Those counts are computed by following every root of the closure system, which is a considerable piece of machinery built for a question about design.

Every one of those numbers is also a count of the ways an identification can be right about the parts list and wrong about the machine. A count of two is a coin flip. A count of forty is a genuine obstruction, and it explains a practice in parallel-machine calibration that otherwise looks like superstition: the platform is driven continuously from a known assembly rather than sampled at isolated poses, because continuity is what carries the branch along and isolated poses do not have it.

A number the site computed for one reason turns out to answer a question in another field, which has happened three times in this field and is the reason it earns its place rather than sitting beside the others.

What a report should carry

One extra line and it is not a number.

Assembly: coupler above the ground line at the reference pose. Or a photograph, or a sketch, or a statement of which intersection the tracking solver was seeded at. Any of them settles it and none of them comes out of a fit.

The reason it gets omitted is that on a physical bench the branch is obvious and never in doubt — nobody looking at the machine wonders which way it is assembled. The omission bites later, when the four numbers are handed to somebody who is not looking at the machine, and they rebuild the model from the parts list.

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

Assembly-modeBranch ambiguityCalibrationFreudenstein equationIdentifiableKinematic solveMeasurement residualPrecision position