One command, six answers
Assumes The easy problem and the hard one change places and Four bars and four pins.
Read the three encoders on a planar parallel platform. They say the motors are at 216, 48 and 144 degrees. Where is the platform?
There are six answers. Every one of them puts all three attachment points exactly from their respective elbows, to within 2 × 10⁻¹⁵. Every one is a configuration the mechanism physically has. None of them is more correct than the others, and nothing in the encoder readings distinguishes them.
Why this is not the same as a four-bar’s two branches
The site has met multiple solutions before. A four-bar has two assembly configurations at most crank angles, and every sweep on this site carries the previous solution forward so that a figure cannot jump between them mid-animation.
The parallel case is that phenomenon and more of it, and the “more” is qualitative.
A four-bar’s two branches come from one circle intersection: two ways to close one loop. The platform’s six come from three conditions that have to hold at once, and the count is not two-to-the-something — it is the number of real roots of a polynomial system, which varies with the coefficients.
That variation is the interesting part. A four-bar has two branches at every crank angle it can reach, always, with the number fixed by the topology. The platform has six sometimes, four sometimes, two usually and none most of the time — and the count is a function of where the motors are.
The reduction, and why not just Newton
Newton–Raphson on the three residuals finds a solution: whichever one is in the basin of the guess. Fired from a spread of guesses it finds several. How many depends on the spread, the seed and the damping, and none of those is a property of the mechanism.
The site tried that first, and the honest report on it is more interesting than the one that was nearly written here. The search finds all six. From 220 spread starts it converges on every one of them, and it does so with a single damping value as readily as with the escalating ladder the solver now uses.
So the reduction below is not a repair to a broken search. It is a replacement for a correct answer that carried no way of knowing it was correct. Six from a search means six were reached; nothing in the method says whether a seventh was there. Six from an exhaustive scan at a tenth of a degree means there is no seventh wider than a tenth of a degree from its neighbour, which is a different kind of statement and is the one worth publishing.
That the two agree is evidence — for the scan, not against the search. Had the scan reported five, the search would have refuted it.
The reduction removes the guessing entirely.
Fix the platform’s angle φ. Every leg then says the platform’s centre lies on a circle of radius about a known point — known, because with φ fixed both the elbow and the offset from centre to attachment are known. Two circles of equal radius meet at two points, so legs 1 and 2 pin the centre to one of two places. The third leg becomes one scalar equation in φ:
Scan φ over the full turn on each of the two branches. Every sign change brackets a root; bisect each bracket eighty times; polish the result against the full three-equation residual; merge duplicates, because the two branches meet where the first pair of circles is tangent and a root sitting on the meeting is found twice.
Exhaustive, and only to a stated resolution
The scan is exhaustive in a way a search is not: it looks at every platform angle, on both branches, at a fixed spacing. Two roots closer together in φ than that spacing are one sign change and are found as one.
That is the honest limit and it is reported with the count everywhere the count appears. At 3,600 steps the resolution is a tenth of a degree.
The distinction between “exhaustive” and “exhaustive at 0.1°” is not pedantry. Roots merge — that is what a singularity is, in this vocabulary — and near a merge two roots really are arbitrarily close. A count taken at a coarse resolution near a singular set will miss pairs and report an even number as odd or an odd one as even. The resolution is therefore part of the measurement, in the same way the step size is part of Bricard’s range.
The count is a property of the actuator angles
Sweeping the three motor angles — every 12 degrees on the first, every 24 on the other two, 6,750 triples in all — and counting roots at each gives:
| Assemblies | Actuator triples | What that count is |
|---|---|---|
| 0 | 5,419 | no pose satisfies all three legs |
| 1 | 72 | singular — two assemblies have merged |
| 2 | 1,024 | the ordinary case |
| 3 | 6 | singular |
| 4 | 149 | two more than ordinary |
| 5 | 5 | singular |
| 6 | 75 | the most this mechanism reaches |
Two things in that table are worth reading carefully.
Most triples assemble in no way at all. Four-fifths of them. That is not a defect: three arbitrary motor angles generally put the three attachment points in positions no rigid triangle of the right size fits between. The actuator space is three-dimensional and the assemblable part of it is a region with a boundary, not the whole thing.
The odd counts exist, and they are 83 of the 6,750. An odd count means the closure curve has a double root: it touches the axis instead of crossing, so two assemblies have coincided. That is precisely a direct singularity — the configuration where the mechanism gains a freedom — arrived at by counting roots rather than by evaluating a determinant.
So this histogram is the singular surface seen from the actuator side. The boundary in actuator space between a four-assembly region and a two-assembly one is a surface of direct singularities, and the odd samples are the ones that landed on it.
What the branches of the closure curve are
The two curves in the closure figure are not two halves of one function. They are two different functions, and knowing which is which explains the gaps.
Legs 1 and 2 each put the platform’s centre on a circle of radius . Two circles of equal radius, centres and apart by , meet at two points when and at none when . The two meeting points are symmetric about the line joining the centres, and labelling them and by which side they fall on gives the two branches.
So a gap in the plot is not a place where the third leg cannot reach. It is a place where the first two legs already cannot agree: their circles are too far apart to meet, so there is no candidate centre for the third leg to be asked about, and the function is undefined rather than large. As φ turns, and move, changes, and the domain opens and closes.
Where the two circles are exactly tangent, and the two meeting points coincide: the two branches join. A root sitting on that join is found once on each branch and is the same pose, which is why the scan merges duplicates rather than reporting it twice. It is also, incidentally, an inverse singularity — two legs in line — arriving in the middle of a machinery built for something else.
Working modes multiply this again
Everything above holds one choice of elbow per leg. The three elbows are chosen independently at assembly, so there are eight working modes, and each has its own closure curve, its own domain and its own root count.
That is a second multiplicity on top of the assembly modes and it compounds differently. A working mode is fixed by how the machine was bolted together and cannot change during motion — the only way from one to another is through a leg going perfectly straight, which is the boundary of that mode’s own workspace. An assembly mode is also fixed in practice, but by a weaker mechanism: a machine can in principle be driven through a direct singularity into another one if it is unloaded and lucky, and on this platform there is a second route that needs no singularity at all, a loop of the motors round a cusp.
So the full ambiguity in “where is the platform, given the encoders” is eight working modes times up to six assembly modes, and the answer to the practical question — which one — is decided by two entirely different pieces of history. The first was decided by the fitter. The second was decided by whatever the machine has done since.
What “six” is a lower bound on
Six is the maximum this survey found on this mechanism at this sampling. It is not a theorem.
The general 3-RRR platform’s forward problem is known to have at most six solutions, from elimination theory rather than from a search, so six is in fact the ceiling — but that is a result quoted here, not one this site computed. What the site computed is that six is attained, on a specific mechanism, at specific motor angles, with all six poses exhibited and each verified against all three leg equations.
The difference matters because those are different claims with different evidence. “At most six” is a statement about a polynomial system’s degree. “Six here” is a measurement, and the measurement is what a figure can show.
And a survey on a coarse grid is a survey on a coarse grid. It found the maximum at (216°, 48°, 144°) among 6,750 samples; a finer grid would find more triples with six and would not find seven.
Which one is the machine in
This is the practical question and it has an unsatisfying answer.
A physical mechanism is in one assembly mode. Which one was decided when it was built, and in ordinary motion it does not change. The direct way from one mode to another passes through a configuration where two modes coincide, which is a direct singularity, and passing through one under load is the thing the essay on the two kinds of singularity says not to do. It is not the only way: driven round a cusp of the singular surface, this platform arrives in a different mode without ever becoming singular, which makes the mode a constant of the motors’ history rather than of the machine.
So in practice the mode is a constant, and a controller tracks it by continuity: solve the forward problem starting from where the platform was a millisecond ago, and Newton stays in the same basin. That works and it is what every real controller does.
What it does not do is establish the mode. Switch the machine on cold, read the encoders, and the pose is genuinely ambiguous — there are six answers and the readings distinguish none of them. Real machines resolve that with extra sensing: a redundant encoder on one passive joint, a homing routine that drives to a known configuration, or a limit switch.
That is a design consequence with an immediate cost, and it comes straight out of the mathematics: a parallel machine needs more sensors than its degrees of freedom, and the number of extra ones is decided by how many modes have to be told apart.
The check, and both halves of it
assertAssemblyModesAreFound has to do more than count.
It takes a commanded pose, runs the inverse to get motor angles, runs the scan, and requires that the commanded pose is among the results — the one solution known to exist must be found, or the scan is missing roots. It requires every returned pose to satisfy all three legs to the solver’s tolerance, or the scan is returning roots of the reduction that are not poses. And it separately runs the actuator angles at which the survey found the maximum and requires exactly six, no two closer than 10⁻³, each satisfying all three legs.
The last clause is there because six near-identical poses would also be six poses. The closest pair at those angles is 0.72 apart, which is not close by any measure.
Without the six-mode half the assertion would pass at every pose with two, and “up to six” in this essay’s title would be a quotation from the literature rather than a measurement. Without the commanded-pose half it would pass on a scan that found some roots and missed others. Neither half is interesting alone.
What it costs to be near a merge
There is a practical reading of the odd counts that is worth separating from the geometric one.
Near a triple where two assemblies have merged, the two are close but distinct. The machine is then in one of two poses that differ by very little, and a forward solve that tracks by continuity has a correspondingly small margin: a millisecond’s worth of motion, a bit of encoder noise, and the tracking can land in the other basin.
That failure does not announce itself. The solve converges, the residual is tiny, and the reported pose is a genuine solution of the equations — of the wrong one. Everything downstream of it is then wrong by the difference between the two modes, which near the merge is small and away from it is not, because the machine keeps moving and the two poses separate.
This is the same shape as the branch problem the synthesis field records: a construction that is exactly correct and produces a mechanism that reaches its prescribed positions in the wrong order or on the wrong branch. The arithmetic is not what fails. What fails is the assumption that a solution of the equations is the solution the machine is in.
One extra sensor settles it
The mode is a constant tracked by continuity, and the essay is right that continuity cannot establish it. What can is worth spelling out, because the answer is cheap and it is a design decision rather than a computation.
Continuity fails whenever the chain of solutions is broken: a power cycle, a dropped control interval, a servo released and the platform moved by hand, a fault and a restart. After any of those the controller has three encoder readings and up to six poses consistent with them, and no amount of solving separates them — they are all exact solutions of the same equations.
What separates them is any measurement that is not a function of the motor angles. The six poses are genuinely different platform positions and orientations, far apart rather than nearly coincident, so one additional reading of almost any kind picks out which. An inclinometer on the platform reads six different angles. A linear scale between the base and the platform reads six different lengths. A camera sees six different pictures.
So a parallel machine that may lose continuity needs exactly one redundant sensor, and one is enough for a reason the geometry supplies: the ambiguity is discrete and coarse, not continuous and fine. The sensor does not have to be accurate — it has to be accurate enough to tell six well-separated poses apart, which is a very low bar and is why an inclinometer or a limit switch will do.
That is a different requirement from the accuracy sensors a machine already carries, and conflating the two is how the requirement gets missed. The encoders are precise and ambiguous; the recovery sensor is coarse and unambiguous, and neither substitutes for the other.
The exception is the case where the modes are not well separated, which is the essay’s own warning about the odd counts. Near a merge two of the six are close together, and a coarse sensor cannot separate them — so a machine that may be re-started anywhere in its workspace needs its recovery sensor to resolve the closest pair of modes anywhere in that workspace. That is a number the map already computes, and it turns fit an inclinometer into a specification with a tolerance on it.
Where the ambiguity is worse
The planar platform’s six is the small case. A Gough–Stewart platform — six extending legs, six freedoms — has a forward problem with forty solutions in the complex numbers, and how many of those are real depends on the platform and the leg lengths.
This site does not compute forty. It searches from a spread of starts, finds sixteen distinct real poses for one set of leg lengths, and says plainly that sixteen is a lower bound found by search rather than a count. The reduction that works so well here — fix one parameter, collapse the rest — does not generalise to six unknowns in any elementary way, and the methods that do compute forty are elimination-theoretic and are not on this site.
That is the honest boundary of this field as built: exhaustive counts for the planar case at a stated resolution, lower bounds for the spatial one, and the theoretical ceiling quoted with attribution in both. The alternative — printing “40” beside a picture of a mechanism the site found sixteen assemblies of — is exactly the sort of thing the whole site exists not to do.
What this makes readable
Essays that name this one as a prerequisite.
- The count that does not move How many answers
- Round a cusp into another assembly Several legs, one platform
About the same objects
Not linked from either essay — found by the objects both name.
- Branches were components all along root count · singularity · working mode
- Eight ways to hold the same tool newton–raphson · root count
- Legs intersect parallel mechanism · platform
- Why the platform stays flat parallel mechanism · platform
What links here
The 8 of 10 essays linking to this one that name the most of the same objects.
- Round a cusp into another assembly Several legs, one platform
- The easy problem and the hard one change places Several legs, one platform
- The workspace is not a shape you choose Several legs, one platform
- The smallest parallel robot Several legs, one platform
- Two orientations no position can rescue Several legs, one platform
- Three legs and one plane Several legs, one platform
- A yaw that is singular everywhere Several legs, one platform
- What a fourth leg buys Several legs, one platform
The objects this essay names
Each one links to every other essay that touches it.
Assembly-modeDirect singularityForward kinematicsNewton–RaphsonParallel mechanismPlatformRoot countSingularityWorking mode