How many answers

The count that does not move

A mechanism does not have a number of assembly modes. Its family has a complex solution count that never changes, and each member has a real count that does — 676 sets of leg lengths for one platform, all with six complex solutions, and nought, two or four of them real. The number a machine shop cares about is the one that is not a property of the machine.

Assumes Two circles, four answers and One command, six answers.

“A four-bar has two assembly modes.” “A planar parallel platform has up to six.” “The Gough platform has forty solutions.”

Three sentences of the same shape, and one of them contains a hedge that the other two are missing. The hedge is doing real work, and pulling it out gives a distinction the rest of this field runs on.

Two numbers, not one

Write a mechanism’s closure conditions as polynomials and there are two entirely different counts available.

The number of complex solutions. This is fixed for the whole family. Every planar three-legged platform of a given architecture, with any three leg lengths whatever, has exactly six. It does not move, it cannot move, and it is a property of the shape of the equations rather than of the numbers in them.

The number of real solutions. This is a property of the particular member, and it changes.

The second is what anybody means by assembly modes, because a solution with an imaginary part is not a configuration of a machine. And it is the second that varies — so a mechanism does not have a number of assembly modes at all. A set of leg lengths has one.

The count that moves, and the one that does not. 676 sets of leg lengths for one 3-RPR platform, the third leg held at 2.2. Every one of them has exactly 6 complex solutions. The number that is real runs 0, 2 — 141 cells at 0, 535 cells at 2 — and that number is what a machine shop would call the assembly modes.
Fig. 1 676 sets of leg lengths for one platform, the third leg held fixed. Every one has six complex solutions. The number that is real is nought, two or four, and the boundaries between the regions are where a pair of them meets.

Over 676 sets of leg lengths for one platform, the complex count is six in every cell. The real count is nought in 506 of the 1,728 triples tried, two in 1,189, and four in 33 — and never six, for this architecture and this range.

That last clause matters and is stated rather than hidden. Six real assemblies is what the architecture permits; it is not what these lengths give. Quoting “up to six” for a platform that reaches four is the ordinary way this distinction gets lost.

Two circles, four answers, two of them nowhere. A four-bar with its crank held at 20° is two circles: the coupler pin is 3.5 from the crank pin and 3 from the far ground pivot. Two quadratics in two unknowns, so Bézout's number is four — and the tracker finds two. The other two paths run off to infinity, and they do so for every pair of circles ever drawn: two circles meet the line at infinity in the same two points, and those are what the fourth and third answers are.
Fig. 2 A four-bar with its crank near a toggle. The two crossings of the circles are approaching each other, and where they meet the real count drops from two to nought.

What happens at a boundary

The interesting part of that map is not the regions. It is the lines between them.

Solutions of a polynomial system with real coefficients come in conjugate pairs: if zz is a solution then so is zˉ\bar{z}. So the real count can only change by two, and it changes when a conjugate pair meets on the real axis and separates into two real solutions, or when two real solutions meet and lift off it as a conjugate pair.

At the instant they meet, there is one solution of multiplicity two, and the Jacobian of the system is singular there.

Which is to say: the boundaries on that map are singularities. Not near them, not close to them — on them. The line where the real count drops from four to two is exactly the set of leg lengths at which the platform has a configuration it can move out of with every actuator locked, which is the direct singularity the parallel field spent an essay on.

The same statement one level down is the four-bar’s toggle. Two circles intersecting twice, once, or not at all; the once is where the discriminant vanishes; and the four-bar at that configuration is the thing this site has two names for. A toggle is a discriminant going to zero, and the site has been drawing them for four phases without saying so.

That is the whole payoff of writing the equations down algebraically: two phenomena the site had treated as separate subjects — the assembly count of a parallel platform and the toggle of a planar four-bar — turn out to be the same event described in two vocabularies.

Bézout's number, and the answer. 3 polynomial systems, each solved by tracking every one of Bézout's paths. The Bézout column is what the shape of the system permits; the solutions column is what it has. four-bar coupler pin: 4 → 2; 3-RPR platform: 16 → 6; Gough, generic: 1458 → 80. The last column is how many paths were tracked per solution found.
Fig. 3 The three systems in this essay, with the two counts side by side. The solutions column is the family’s; the real column is one member’s, and it is the only one of the two that a different set of lengths would change.
The count that moves, and the one that does not. 900 sets of leg lengths for one 3-RPR platform, the third leg held at 2.6. Every one of them has exactly 6 complex solutions. The number that is real runs 0, 2, 4 — 389 cells at 0, 506 cells at 2, 5 cells at 4 — and that number is what a machine shop would call the assembly modes.
Fig. 4 The same map on a wider window and a finer grid. The boundaries move with the window and the complex count does not move at all, which is the distinction the whole essay turns on drawn twice rather than asserted once.

Why the complex count cannot move

The reason the first number is fixed is worth spelling out, because “it just is” is unsatisfying and the actual argument is short.

Bézout’s theorem counts solutions in projective space over the complex numbers, with multiplicity, and gives the product of the degrees. That product depends on the degrees and on nothing else. Change the coefficients — the link lengths, the leg lengths, the crank angle — and the degrees are unchanged, so the count is unchanged.

The complication is that some of Bézout’s solutions are at infinity, and how many are there could in principle vary with the coefficients. For a generic member of the family it does not: the number at infinity is itself determined by the leading forms of the equations, which are the parts the coefficients of the lower terms cannot touch.

The word generic is not decoration, and this field contains a case where it bites. A platform whose anchors are arranged symmetrically is not generic, and its count is not the generic one — it has 28 poses where a general platform has 40, and the missing twelve are at infinity, held there by the symmetry. Perturb the symmetry and they come back. So “the complex count is constant across the family” is true within a family and the boundaries of a family are set by which degeneracies its members have.

Measuring it rather than asserting it

The claim that one count is constant and the other is not is exactly the kind of claim this site requires a test for, and the test has a structure worth describing because half of it is unusual.

The first half is obvious: solve the system for many members of the family and check that the complex count never moves. That is a check that can pass by luck if the members chosen happen to be alike.

The second half is the one that does the work. assertRealCountVariesAndComplexDoesNot fails if every member gives the same real count. A set of leg lengths that all give two real assemblies cannot demonstrate that the real count varies, whatever else it shows, and an assertion that quietly passed on such a set would be reporting a property of the sample as a property of the mechanism.

So the check is required to exhibit the variation it is named for. It is given three leg sets and requires the real counts to differ; it gets nought, two and two, and the first of those is what carries it.

That pattern — an assertion that refuses a sample too uniform to show anything — recurs through this phase. The same shape appears in the essay on the randomness in a homotopy, where the four-bar is refused as a demonstration because it is too small to fail.

What the map is not

Two things about that figure need saying, because a coloured map of a parameter space invites a reading it does not support.

It is a slice. The third leg is held at a fixed length. The full parameter space of this platform is three-dimensional, and what is drawn is one plane through it. Regions that look like islands may be connected through the third dimension, and boundaries that look like curves are sections of surfaces.

It is a grid, and the boundaries are between cells rather than on them. Each cell is one complete solve, so the resolution of the boundary is the resolution of the grid. The singular set is not being traced; it is being bracketed. That is a weaker thing, and the parallel field’s own singularity map does better — it follows a contour of the determinant rather than sampling and testing — for the same reason it is worth noting here: a boundary found by sampling is only as sharp as the sample.

The reason this figure samples instead is that the quantity being mapped is a count, and a count has no contour. There is no continuous function whose zero set is the boundary between two real solutions and four; there is a discriminant, and computing it symbolically for this system is the elimination this field has already said it does not do.

The count that moves, and the one that does not. 484 sets of leg lengths for one 3-RPR platform, the third leg held at 1.8. Every one of them has exactly 6 complex solutions. The number that is real runs 0, 2 — 14 cells at 0, 470 cells at 2 — and that number is what a machine shop would call the assembly modes.
Fig. 5 The same platform with its third leg shortened to 1.8. The regions move, the boundaries move, and the complex count is six in every cell of this map too.

A sweep is a walk across the same map

There is a second reading of the map that connects it to the way the rest of this site works, and it is worth having because it turns a static picture into a moving one.

Every figure on this site that drags a crank through a full turn is a walk through parameter space. The crank angle is a parameter; each value of it gives a different member of the family; and the sweep is a path across a map exactly like the one above, with the mechanism’s assembly count changing underneath it.

For a Grashof crank-rocker the path stays in a region where the count is two the whole way round, which is what “the crank rotates fully” means. For a non-Grashof linkage the path leaves that region, and the essays in the linkage field describe what happens in the language of the mechanism — the input can only rock, and it reverses at a limit position. In this language the same event is a pair of real solutions meeting and becoming complex, and the limit position is the parameter value at which they meet.

Two vocabularies, one phenomenon, and the reason to have both is that they make different things easy. The mechanism vocabulary makes it obvious what the machine does. The algebraic one makes it obvious why the number changes by two — which the mechanism vocabulary never explains, and which is a consequence of the coefficients being real and nothing else.

It also explains a small thing that is otherwise a curiosity. A four-bar’s two assemblies are usually called “open” and “crossed”, as though they were two designs. They are two roots of one quadratic, and at a toggle they are the same root. Whether they are usefully thought of as two mechanisms depends entirely on whether the working range stays away from the configurations where they meet.

What varies, and by how much

The map is a picture of where the count changes. What it does not show is how sensitive that is, and the numbers are worth having.

Over the 1,728 leg triples tried, the count is nought in 506, two in 1,189, and four in 33. Two things stand out.

Four real assemblies is rare. Thirty-three cells of 1,728 — under two per cent. A platform designed without attention to this would almost certainly be built in a region with two, and would never encounter the extra pair.

Nought is common. Over a quarter of the triples give no real solution at all, which means the three commanded leg lengths are geometrically inconsistent — there is no way to assemble the platform with those lengths. A controller that commands them is commanding an impossibility, and the mechanism’s response is a question about forces rather than about positions.

That second figure is a reminder that the direct kinematics of a parallel mechanism is not a function. It is a correspondence, and it is empty over a substantial part of its input space. The inverse problem — given the pose, find the lengths — has none of this trouble, which is the asymmetry the parallel field exists to make vivid.

The consequence for a design

None of this is abstract for somebody choosing dimensions.

A platform being designed to work in a particular region of its workspace has to be assembled in a particular mode, and stay in it. Crossing a boundary of the kind this map draws does not mean the machine breaks — it means two of its assembly modes have merged and separated, and the mode the controller believes it is in may no longer exist. What the machine does at that moment is not a kinematic question, which is where this site stops.

What is kinematic, and what the map does say, is:

  • How far the working point is from a boundary is a design margin, and it can be measured in the same units as the leg lengths rather than in degrees of some angle.
  • The number of assemblies is not a fixed property to design around. A platform with four assembly modes at one set of lengths has two at another, and both are the same machine.
  • Two of them merging is a singularity, so a design that keeps well away from the boundaries is a design that keeps well away from the configurations where the mechanism loses control of itself.

That third point is the practical form of the whole essay: the boundaries on a map of how many answers there are are the same boundaries as on a map of where the machine fails, and the parallel field arrived at them from the other side without either field noticing they were the same lines.

What became of Bézout's paths. 3-RPR platform: 6 of 16 paths arrived at a solution and 10 went to infinity; Gough, this site's: 56 of 1458 paths arrived at a solution and 1402 went to infinity. The surplus is not merely wasted — it is cheap: a path on its way to infinity is abandoned in a handful of steps, while every path that arrives is tracked in full.
Fig. 6 The two platforms whose assembly counts this essay is about, and what became of the paths that produced them.
A lower bound that happened to be tight. The site's own Gough platform at its home pose. The search starts Newton from a spread of guesses and reports what it lands on: 16 from 400, 16 from 1200, 16 from 4000. Tracking every one of the 1458 Bézout paths says there are 28 poses in the complex numbers and 16 of them are real. The search was right. Nothing available to the search could have said so.
Fig. 7 What a search returns instead. A run that has found every solution cannot say so, and the count that does not move is the only thing that lets it stop — which is why the invariant is worth having even where nobody is drawing a map.

Where the site had already met this

It is worth noting that the parallel field reached this observation from the other direction and stopped one step short of it.

lib/parallel.js surveys 6,750 actuator triples of a three-legged planar mechanism and reports how many assemblies each permits. The finding recorded there is that the assembly count is a property of the actuators, not of the mechanism — which is precisely the distinction this essay is about, arrived at by counting rather than by algebra.

It found something else in the same survey that now has an explanation. Of the 6,750 triples, 83 gave an odd number of assemblies, and the field recorded them as “direct singularities counted rather than drawn — two assemblies merged”. That reading was right, and the algebraic version says why it must be: real solutions arrive and depart in conjugate pairs, so an odd count is impossible except at the instant two of them coincide, where the count is odd because one solution is being counted once instead of twice.

So an odd assembly count is not a near-singularity or a numerical artefact. It is a singularity, exactly, and the survey had 83 of them without a mechanism for saying so. Having both descriptions is the point of the field: the survey knows where they are and the algebra knows why they are the only place an odd number can occur.

The four-bar, one more time

It is worth closing on the smallest case, because the whole essay is visible in it and takes one sentence.

A four-bar with its crank at a given angle is two circles. They meet twice, once or not at all. Two is an assembly mode on each branch; not at all is a crank angle the mechanism cannot reach; once is the toggle. The complex count is two throughout — the circles always meet twice over the complex numbers — and the real count is two, one or nought.

Grashof’s condition, which this site introduced in its first field as a statement about which links can rotate fully, is precisely the condition that the real count never drops to nought as the crank goes round. It has been a statement about the reality of the roots of a quadratic the whole time.

That is not a deflation of Grashof and it should not be read as one. The condition s+lp+qs + l \le p + q is a statement about four lengths that anybody can check on the back of an envelope, and the algebraic restatement is a statement about a discriminant that nobody would want to evaluate by hand. The value of having both is that the first is usable and the second says what class of fact it belongs to — and knowing that a design rule is a reality-of-roots condition tells a designer immediately what happens near its boundary, which is that two configurations approach each other and merge, rather than that anything breaks.

The general pattern, across the three mechanisms in this essay, is the same in each: the complex count is the family’s, the real count is the member’s, the boundary between real counts is a singularity, and every classical design condition that keeps a mechanism working is a condition that keeps it inside one region of that map.

The two numbers are worth naming once more in the form a machine shop would use, because that is where the distinction bites. The complex count is a property of the design and the real count is a property of the parts. Every platform built to one drawing has the same six complex solutions; the number of them that are real is decided by the leg lengths as built, so two nominally identical machines can have four assembly modes and two. That is an unusual kind of variation — not a tolerance on a dimension but a change in how many configurations exist — and no dimensional inspection reports it. It also says what the boundary between the counts means physically: a machine sitting near it has two modes close together, and a small change in a leg length makes them merge and vanish. The number of ways a machine can be assembled is a tolerance-sensitive quantity, which is a sentence worth sitting with, and it is invisible in every specification these machines carry.

About the same objects

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

What links here

The 8 of 12 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 branchBezoutComplex solutionDirect singularityDiscriminantPlanar parallelPolynomial systemReal solution