Branches were components all along
Assumes The space of configurations and Twenty-eight, not forty.
This site has been saying one thing in seven ways since its first phase.
An assembly branch of a four-bar. A circuit in a synthesis defect. An assembly mode of a planar platform. A working mode, which is a different word for a related thing. A posture of an arm. A branch defect, and an order defect, which are two ways a linkage that satisfies every equation cannot be built.
Every one of those is a statement about the connected components of a configuration space, and this essay is the one that says so.
The claim, stated once
A mechanism’s configuration space is the set of its admissible configurations. Two configurations are in the same component when there is a continuous path of admissible configurations between them.
A physical mechanism can only move within one component, because moving is exactly the same thing as tracing a continuous path in that set. Getting to another component requires taking the mechanism apart.
That is the whole content, and everything below is it applied.
The four-bar, counted twice
The curve above is the zero set of on the torus of the two moving angles, traced by marching squares with the wrap joined, and its components counted by linking the segments.
Two components for the crank-rocker, and each visits all 360° of crank angle — which is what makes the crank a crank.
The second route is the site’s oldest: sweep the solver. Step the crank round with each solve seeded from the last, exactly as a built linkage moves, and record where it refuses. The crank-rocker completes all 360 steps.
Now the linkage that does not satisfy Grashof’s condition.
One component, not two. The two branches are joined, and they are joined at the limit positions.
Where they join, measured
That is a claim about a curve and it can be tested on the linkage itself.
At a crank angle of 0° the two rocker solutions are 120.1° apart. At 80°, they are 72.1° apart. At 110°, 29.0°. At 116°, 11.2°. At 117°, 3.3°. At 117.5° there are none.
The two branches converge, meet, and cease to exist — which is exactly what a limit position is, and exactly what “one component” means as a statement about a mechanism. Drive the crank of a triple rocker forward and it will reach 117.2°, stop, and come back on the other branch. It has changed assembly without being taken apart, because for this linkage there was never anything to change.
That is a real behaviour that anyone who has turned a stiff linkage has felt, and the configuration space is what makes it a prediction rather than an anecdote.
Three conditions, three topologies
Grashof’s condition has three cases, and it turns out that the configuration space has three shapes, and that they correspond one to one. Two would have been a coincidence with two names. Three is a classification.
| Grashof case | components | each spans | what the linkage does |
|---|---|---|---|
| strictly Grashof | 2 | 360° | the crank turns; the branch cannot change |
| change point (s + l = p + q) | 1 | 360° | the crank turns and the branch can change |
| non-Grashof | 1 | 240° | the crank turns back, and changes branch doing it |
The middle row is the one worth pausing on, because it is a linkage everybody has seen. A parallelogram — four bars, opposite pairs equal — is a change-point linkage, and its configuration space is a single component that goes all the way round. So its crank turns freely and it can pass from the parallelogram assembly to the anti-parallelogram one, at the position where all four bars line up.
That is not a curiosity, it is a well-known nuisance. A parallelogram linkage passing through its flattened position may come out the other side as an anti-parallelogram, with the coupler tilting instead of staying parallel, and every mechanism that relies on the parallel property has to be prevented from getting there — by an extra bar, by a flywheel’s momentum, or by offsetting the cranks, which is why a locomotive’s coupled wheels have their cranks at ninety degrees on the two sides.
The configuration space says exactly why: the two assemblies are one component, joined at the flattened configuration, so no amount of care in building keeps them apart. A crank-rocker’s two branches are apart, permanently, and need no protecting.
The vocabulary, resolved
With the definition in hand the seven words sort themselves out, and two of them turn out not to be the same thing after all.
Assembly branch, circuit, assembly mode, posture — all the same object: a connected component of the configuration space, or of a fibre of it. The words differ by which literature they come from. Linkage kinematics says branch and circuit; parallel-mechanism kinematics says assembly mode; robotics says posture or configuration.
Working mode is different and the difference matters. For a parallel mechanism it is a component of the space of actuated configurations — a statement about which way the legs are bent, not about where the platform is. A 3-RRR platform has assembly modes and working modes and the two are independent, which is why the parallel field had to name both.
A branch defect in synthesis is now a sentence rather than a symptom: the prescribed positions do not all lie in the same component. The linkage can be built to pass through each of them and cannot pass through them in one piece.
An order defect is a different failure and the distinction is sharper in this language than in any other. There, the positions are all in one component — the linkage does reach them all without disassembly — but not in the order asked for. Connectivity is fine; the parameterisation along the curve is wrong. One is a topological failure and the other is an ordering failure, and they need different repairs.
That distinction is why the synthesis field’s survey reports its two failure kinds separately: of 1,176 exactly correct three-position syntheses, 810 have a branch or circuit defect and 190 an order defect, and only 176 are usable. Those are two counts of two different things, and until now the reason they were two was a matter of definition rather than of structure.
How a component is counted
The count is a number produced by an algorithm and it deserves the same scepticism the site applies to any other, so here is what it does.
The closure condition is sampled on a grid over the torus and its zero set traced by marching squares — the sign of the function at four cell corners decides where the curve crosses each edge, and linear interpolation places the crossing. That is a standard method and this site already had one, inside the Burmester curve figure, which is why the version here is written separately rather than shared: that one traces a curve in a plane and has a pole to handle, and this one has a seam.
The seam is the whole difficulty. Index of the grid is index 0, so cells spanning the wrap are examined like any other, and two segment endpoints that agree modulo 2π have to be recognised as the same point. Both are handled by taking coordinates modulo 2π and hashing them into buckets a third of a cell across, then union-finding over the buckets.
Then the count is the number of groups, minus the ones with fewer than four segments — contouring noise rather than components. That threshold is a decision and it is worth naming as one: a genuine component smaller than four cells would be discarded, and on a mechanism whose branches include a tiny isolated loop the count would be wrong. None of the linkages here has one, which is a statement about these linkages rather than a guarantee.
The span is counted, not measured between extremes, for the same seam reason. A component that wraps has crank angles at both 1° and 359°, so max − min reports 358° for a curve that goes all the way round; counting how many of 72 five-degree buckets a component visits has no seam in it, and it is the same kind of quantity as the sweep’s reached count, which makes the comparison like with like.
What the algebra field was counting
The algebra field counts roots: how many solutions a mechanism’s closure conditions have, as polynomial systems, tracked by homotopy continuation.
In this language a root count is the number of points in a fibre — fix the input, and the solutions are the points of the configuration space lying over it. A four-bar’s fibre over a crank angle has two points, one on each branch, which is why its curve crosses each vertical line of the figure twice. A Gough platform’s fibre over a set of leg lengths has forty points in the complex numbers.
And the connection between the two views is the one thing this reframing genuinely adds rather than renames. A fibre’s points are distributed among the components, and how they are distributed is what a sweep discovers: the crank-rocker’s two fibre points are one per component, and the triple rocker’s two are both on the same component and merge at its ends. Root counting says how many; components say which are connected to which; and the pair together says what a mechanism can actually do.
The homotopy machinery is the third view of the same thing. A continuation path is a path in a configuration space — one with a parameter driving it — and a path that runs to infinity is one that leaves the real part of the space. That is why monodromy finds new solutions: looping the parameters round permutes the fibre, which is a statement about how the components sit over the parameter space.
What this does not do
It computes nothing new. Every number in this essay was available six phases ago and most of them were measured then.
What it does is make certain statements sayable and checkable. “A crank-rocker cannot change branch” was an observation supported by every sweep the site ever ran; it is now a consequence of a count that can be got two ways. “A branch defect disqualifies a synthesis” was a rule with a test attached; it is now a statement about which component a position is in. “A singularity is where branches merge” was a pattern noticed across four fields; it is now the definition of where components touch.
The honest description is that the site had the objects and not the noun. That is a common condition and it is worth marking when it ends, because the noun changes what gets asked. Having counted components, the next questions are natural and were not before: how many components does this mechanism have, does adding a joint join two of them, and can a design be chosen so that the positions it must reach are all in one.
What a phase gets for renaming things
There is a fair objection to an essay like this: renaming is not progress, and a site that spends a rung tidying its vocabulary has spent a rung.
The defence is in what the rename made computable, and there is a concrete list from this phase alone.
A count where there was a habit. “A four-bar has two branches” was true of every four-bar the site had drawn and had never been counted. It is now counted, on three linkages, and one of them has one branch rather than two — which nobody would have noticed, because the linkage that has one is precisely the linkage whose sweep refuses and whose refusal was already explained by Grashof.
A prediction that came out. The claim that a non-Grashof linkage changes branch by turning back was implied by the topology before it was measured, and the measurement — 120.1° between the branches at the start, 3.3° at 117°, none at 117.5° — was made afterwards to check it. That is the order this site prefers and it does not always achieve.
A distinction that was blurred. Branch defects and order defects had been counted separately for two phases on the grounds that the tests differed. They differ because one is about connectivity and the other about ordering along a connected curve, and that is a better reason than “the code has two functions”.
A boundary that is now drawable. Where this site stops and algorithms-data-structures.com begins was previously a matter of taste about motion planning. It is now a line with a definition on either side: whether a set is connected is a mechanism’s property, and finding a route through it is an algorithm’s.
None of that is a new number about a mechanism. All of it is about which questions can be asked, which is what a vocabulary is for.
The three things a component count is good for
Ending on use rather than on vocabulary, because the reframing earns its place by what it licenses.
A negative result that is final. If two configurations are in different components, no motion joins them — not a cleverer route, not a slower one. Most engineering answers are provisional and this one is not, which makes it worth computing before anything is searched for.
A design criterion that is checkable. A linkage synthesised to reach four positions should have all four in one component. That is a test, it can be run on a candidate before anything is built, and it is what the branch-defect check has always been doing.
An explanation for a mechanism’s behaviour at its limits. A rocker turning back, a linkage that jumps, an arm that reaches a pose two ways and cannot swap — all of them are the same statement about where components touch, and where they touch is where the mechanism is singular.
That last one is the whole of this field in a sentence. Every singularity this phase measured — an elbow, a shoulder, a wrist, a pinned arm that moves — is a configuration where the map from the mechanism’s own coordinates to the world’s stops being locally invertible, which is to say where two sheets of an answer come together. The site has been drawing those points for six phases. This is the phase that named the set they live in.
An inequality that decides a topology
The three Grashof cases giving three topologies is the most surprising line in the table, and it is worth stating in the form it deserves, because it says something about what Grashof’s condition is.
Grashof’s condition is an inequality on four lengths: shortest plus longest against the other two. It is arithmetic, it is checkable on a drawing, and it is usually presented as answering one question — can the shortest link turn all the way round.
What the configuration space says is stronger. The inequality decides the topology of a curve on a torus: two components for a Grashof linkage, one for a non-Grashof one, and a self-intersecting curve at the boundary where the inequality becomes an equality. Three algebraic cases, three topological types, and the correspondence is exact.
So Grashof’s condition is a topological classification wearing an algebraic disguise. That explains why it answers more questions than its statement suggests — whether the crank rotates, whether the mechanism can change branch by being driven, whether the two assemblies are reachable from one another — and it explains why all of those answers come from one inequality rather than from four separate arguments. They are four readings of one topology.
It also explains the change-point linkage’s peculiar standing. The equality case is where the curve self-intersects, so it is not merely a boundary between two behaviours: it is the configuration at which the two components meet, and the mechanism can pass from one to the other by going through the crossing. That is why a parallelogram flips into an anti-parallelogram, why the flip is unpredictable, and why the change-point case is singular in the count, in the rank, in the solve and in the topology at once. One event, four descriptions.
Which is the sharpest thing this reframing produces. A change point is a self-intersection of the configuration curve, and every symptom the site has collected about such linkages — the flip, the unpredictability, the solver’s refusal, the branch that is not a branch — is a consequence of a curve crossing itself.
The half of this that is not true of every mechanism
One hypothesis in the argument above was invisible until a later field violated it, and it is worth naming here rather than leaving it implicit.
Connectivity is a symmetric relation: a path run backwards is a path. Every mechanism this site had built when that sentence was written had only reversible joints — pins, sliders, screws — so being in the same component and being able to get there were the same thing. A mechanism with a one-way contact in it breaks the second without touching the first.
So the negative half of the result stands unconditionally — different components means no motion joins them — and the positive half carries a hypothesis. See the timing field’s last essay.
What this makes readable
Essays that name this one as a prerequisite.
- One piece, and still not reachable Motion that stops
- Where the input stops deciding Motion that stops
- Never three circuits How many answers
About the same objects
Not linked from either essay — found by the objects both name.
- Exactly right, and unbuildable assembly branch · branch defect · grashof's condition
- One command, six answers root count · singularity · working mode
- Round a cusp into another assembly root count · singularity · working mode
- Four bars and four pins assembly branch · grashof's condition
- How far the crank turns first limit position · singularity
- The chain has no lengths assembly branch · grashof's condition
What links here
The 8 of 36 essays linking to this one that name the most of the same objects.
- Never three circuits How many answers
- A parallelogram a micron wrong What can move
- Eight kinds of four-bar Linkages
- Every change point lies flat What can move
- Free space comes in pieces Links with a width
- One piece, and still not reachable Motion that stops
- The curve the other assembly draws The paths points trace
- The space of configurations One path to the tool
The objects this essay names
Each one links to every other essay that touches it.
Assembly branchBranch defectCircuitConfiguration spaceConnected componentGrashof's conditionLimit positionRoot countSingularityWorking mode