One set of lengths, two machines
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.
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.
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 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.
- Three machines, one curve Numbers that were measured
About the same objects
Not linked from either essay — found by the objects both name.
- A dimension is a measurement calibration · identifiable · kinematic solve · measurement residual
- The matrix a calibration inverts calibration · identifiable · kinematic solve · measurement residual
- A machine that measures itself calibration · freudenstein equation · identifiable
- A platform that measures itself assembly-mode · calibration · identifiable
- A number that runs away calibration · identifiable
- A ruler and a protractor calibration · identifiable
What links here
The 8 of 10 essays linking to this one that name the most of the same objects.
- A calibration is a synthesis with more equations Numbers that were measured
- What this field cannot measure Numbers that were measured
- Six things a measurement cannot tell you Drawn wrongly
- The coordinates the site already had Numbers that were measured
- The pose the machine cannot reach Numbers that were measured
- A count is neither Numbers that were measured
- Six per joint is two too many Numbers that were measured
- Three machines, one curve Numbers that were measured
The objects this essay names
Each one links to every other essay that touches it.
Assembly-modeBranch ambiguityCalibrationFreudenstein equationIdentifiableKinematic solveMeasurement residualPrecision position