One path to the tool

An arm is a tree

The serial field's chains are the ones that never close, and as graphs they are trees. There are 106 distinct arrangements of ten links joined that way, and exactly one of them is the straight arm every essay in the field has drawn — the other 105 branch.

Assumes The chain that does not close and The mechanism is the graph.

The serial field’s premise is the absence of a loop. A robot arm has a base, a sequence of joints, and a tool at the end; nothing closes back, so there is no loop-closure equation to solve, the forward problem is a product of transforms, and the entire apparatus of this site’s other fields is not needed.

Seen as a graph, that is a very specific statement. An open chain is a tree — a connected graph with no cycle, and therefore with exactly one joint fewer than it has links.

Which raises the question this rung is about. There are a great many trees, and the field has drawn one of them.

The count

Feed the topology field’s enumerator a different problem — one fewer joint than links, and the minimum-degree condition relaxed to one, because an arm’s base and its tool each carry a single joint — and it returns the number of distinct open chains at each size.

The chains that never close, counted by the same routine. An open chain has one joint fewer than it has links, so its graph is a tree and its mobility is the joint count rather than one. Feeding the same enumerator that produced the closed-chain census — with the minimum-degree condition relaxed to one, because an arm's base and its end each carry a single joint — gives 1, 2, 3, 6, 11, 23, 47, 106 for three links up to ten. That is the number of unlabelled trees, a sequence anybody can look up, and reproducing it is the strongest check the enumerator gets: it was written for a different problem, tested against three mechanism counts, and asked here for a number from a different subject entirely.
Fig. 1 The count of distinct open chains. One at three links, two at four, and 106 at ten.

One, two, three, six, eleven, twenty-three, forty-seven, a hundred and six. That is the number of unlabelled trees, a sequence from graph theory that has nothing to do with mechanisms, and reproducing it is the strongest single check the enumerator gets: it was written to count kinematic chains, tested against four mechanism counts, and asked here for a number from a different subject.

And exactly one of them is an arm

At every size, precisely one tree is a path — a sequence with no branch — and that one is the arm.

Every essay in the serial field has drawn it. Where the hand can go is a path’s workspace; the wrist is three joints and one point is a path’s decomposition; eight ways to hold the same tool counts a path’s inverse-kinematic solutions.

elbow arm at a postureelbow arm, drawn from 6 joint values through a product of 6 exponentials — no equation is solved anywhere in this picture, because an open chain has none to solve. The thin lines are the joint axes at this configuration, which are also the columns of the arm's Jacobian: the tool's velocity is a sum of turns about exactly those lines. Here the smallest singular value of that Jacobian is 0.3674 and the largest is 2.407, so the arm is comfortably away from a configuration where a direction of motion is lost. Drag θ₃ elbow.θ₁ baseθ₂ shoulderθ₃ elbowθ₄ roll θ₅ θ₆toolσ_min 0.3674 · condition 6.6the pose is a product of exponentials, not a solve
Fig. 2 The one tree the field has drawn: a path from base to tool, with every joint in series.

The other 105 at ten links branch, and a branch is not an exotic object. A hand with three fingers is a tree with three branches. A quadruped with its feet off the ground is a tree with four. A robot with two arms on one torso is a tree with two. Every one of them has nine degrees of freedom with ten links and nine joints, exactly as the arm does, and every one is a different machine.

Where a six-joint arm's postures actually land. 1331 postures of the six-joint arm's first three joints, sorted by how far from the base they put the tool. The obvious bound is the sum of the link lengths, 2.602 m, and the sample gets to 2.578 — 99.1% of it, which is the arm being straight. What the distribution shows is that a joint space sampled evenly does not produce a workspace sampled evenly: the tool spends most of its configurations at a middling radius and almost none at the extremes, because reaching the boundary needs one particular posture and reaching the middle needs any of many.
Fig. 3 A path’s workspace. A branched tree has one of these per branch tip, and they share the joints closer to the base.

What branching changes

Three things, and the third is where it stops being a serial problem at all.

The forward problem stays trivial. Given the joint angles, the position of any point on any link is a product of transforms along the path from the base to that link. A branch changes which path, and nothing else. There is still no closure equation and still nothing to solve.

The inverse problem changes completely. On an arm, six joints and six required numbers is a square problem with a finite solution count — eight, on the classical wrist-partitioned arm. On a tree with two branches, prescribing both tips means twelve required numbers against joints that are partly shared, and the shared joints have to satisfy both. The problem is no longer square and no longer decomposes.

Counted twice. Damped least squares from 600 scattered starting postures. 522 of them converge, and they land on exactly 8 distinct sets of joint values — every one of which is one the closed form returns. That agreement is evidence and not proof: a search reports a lower bound on how many solutions a problem has, exactly as the six hundred starts that found sixteen poses of a Gough platform did. What makes it worth running is that a construction cannot check its own count — a missing branch returns seven perfect answers and nothing in the arithmetic notices.
Fig. 4 The arm’s inverse problem and its eight solutions. On a branched tree the equivalent problem shares its early joints between two goals.

And a tree that touches something becomes a loop. Pin the tool and it is a loop makes the point for an arm; for a tree with several branches, putting two tips on the same object closes a cycle through the shared joints, and the whole thing becomes a parallel mechanism whose easy and hard problems have swapped.

What the tree census had to change

The enumerator that produced the closed-chain census needed two alterations and no others, which is worth recording because it is the check on both.

The joint count. A closed chain of one degree of freedom has (3n4)/2(3n-4)/2 pins; a tree has n1n-1. Both are stated as a function of the link count and passed in.

The minimum degree. The closed census requires every link to carry at least two joints, because a link with one is a flag that swings and takes nothing with it. On a tree that condition is exactly wrong: an arm’s base carries one joint and its tool carries one, and a tree with no vertex of degree one does not exist.

Everything else is the same code: the same search over degree sequences, the same pruning rule rejecting a labelling two equal-degree links would improve, the same canonical form, the same deduplication. The subset scan for structures is skipped, because a tree has no cycle and therefore no subchain that could be one.

That is why the sequence 1, 2, 3, 6, 11, 23, 47, 106 is the enumerator’s best check. It was not tuned against it, it is a number from a subject with no mechanisms in it, and getting it right means the search, the canonical form and the deduplication are all doing what they claim — three separate things that a mechanism count could confirm only jointly.

The loop count is the whole distinction

There is a single number that separates the serial field from every other field on this site, and it is a graph quantity: jn+1j - n + 1, the number of independent loops.

For a tree it is nought, by definition. For a four-bar it is one. For a six-bar two. For a ten-link chain of one degree of freedom four. For a Gough platform six.

One, two, sixteen, two hundred and thirty. Every planar chain of mobility one, up to ten links, counted by enumeration rather than quoted. The pins column is forced: a chain of 10 links has one degree of freedom only if it has exactly (3n − 4)/2 pins, which is why no odd link count appears. Pass the count is how many graphs satisfy Grübler's rule, are connected, are simple and give every link at least two pins. Are chains is how many of those survive the fourth condition, that no proper subchain is already a structure — and the gap between the two columns is the whole of this field's first argument: at ten links 1,878 graphs pass a rule that 230 of them deserve. Mechanisms is larger again, because a chain is not a mechanism until a link is held still, and how many different mechanisms that gives is a question about the chain's own symmetry.
Fig. 5 The closed-chain census, where the pin count is always one more than the link count plus the loops. Every row here has a positive loop count and none of them is a tree.

That number decides almost everything about how a mechanism is analysed. Nought loops means a product of transforms and no solve. One or more means a closure residual, a Newton iteration, assembly branches, and configurations the mechanism cannot reach.

It also decides the mobility, given the link count. A tree of nn links has n1n-1 joints and mobility 3(n1)2(n1)=n13(n-1) - 2(n-1) = n-1: one per joint, which is what makes an arm’s configuration a list of joint angles. Every loop subtracts three from that, which is why a ten-link mechanism with four loops has one degree of freedom rather than nine.

Where the field’s chains sit in the tree census

Worth placing, because the serial field’s arms are a specific and small corner of it.

A six-jointed arm is seven links and six joints — a path on seven vertices, one of the eleven trees at that size. A wrist-partitioned arm is the same path with a structural condition on its geometry rather than on its graph: three consecutive axes meeting at a point, which is a dimensional condition and is invisible here.

Arms with their tools pinned down. Pin an arm's tool to the ground and the open chain is a closed loop, which the first field of this site knows how to count. Kutzbach gives 6(n − 1) − 5n = n − 6 for a loop of n revolutes, and the measurement is n minus the rank of its screw system — the columns of the arm's own Jacobian, read as constraints rather than as velocities. The two agree on every row but one, and the one is the arm at a wrist singularity: the formula says the pinned arm is a structure and the mechanism has a freedom. That is the finding this site opened with, arrived at from the far end of its subject.
Fig. 6 The condition that makes an arm’s inverse problem tractable, which is about where the axes go and not about which link is joined to which.

A redundant arm is a longer path — eight links, seven joints, seven degrees of freedom against six required — and the freedom that does nothing is the extra one. Still a path, still one tree out of twenty-three.

The ellipsoid collapsing. The smallest singular value of the Jacobian, along a path that carries elbow arm through a singular configuration. It reaches 8.82e-9 at 50% of the way along — which is not a small number, it is a zero being approached, and the joint rates a controller needs to hold a task-space speed are its reciprocal. Nothing about the tool's position on this path is remarkable at that point; the singularity is a property of the configuration, not of the place.
Fig. 7 What redundancy buys, measured. It is a fact about a longer path, and every longer path is still one tree among many.

So the whole serial field, across fifteen essays, has worked inside a single family: paths. The census says how many other families there are at each size, and the answer at ten links is 105.

The one tree that is a path, and why it is the one

It is worth asking why a path is the shape that got built, since the census says there are 105 alternatives at ten links and industry has settled almost entirely on one.

A path has a natural base and a natural tip. Its two degree-one links are unambiguous, so this end is bolted down and that end holds the tool needs no further decision. A tree with four branches has four candidate tips and a base that has to be chosen.

A path’s inverse problem is square. Six joints and six numbers to satisfy, which has a finite solution count and a classical closed form when the wrist axes meet. A branched tree prescribing two tips is over-determined in some joints and under-determined in others, and there is no equivalent.

And a path accumulates error in one direction only. An error at the shoulder ends up multiplied by the arm’s length, which is bad and is at least simple. On a branched tree an error in a shared joint moves every tip at once, and the tips’ errors are correlated in a way that a per-branch budget cannot express.

What a microradian at each joint is worth. The same error at every joint of S-R-S arm, and what each one does to the tool. The numbers are not a property of the joints — every one of them is the distance from the tool to that joint's axis, computed two ways that share no arithmetic and agreeing to 1.8e-10. The joint that matters most is θ₁, at 0.0762 mm against 0.0000 for the least — a spread of 10.7 times, decided entirely by how far each axis is from the tool. One joint is worth exactly nothing: its axis passes through the tool point, so turning it changes where the tool is pointing and not where it is.
Fig. 8 The error budget on a path, where each joint contributes once. On a shared branch a single joint contributes to several outputs.

None of those is a topological necessity and all three are reasons. What the census adds is that they are choices with a denominator: the path is one of 106 at ten links, and the other 105 are not absent because they are impossible.

Counting arms with an input per joint

One quantity from the closed-chain census transfers directly and one does not, and the pair is instructive.

Inversions transfer. A tree, like a chain, becomes a machine only when a link is bolted down, and two links give the same machine when an automorphism carries one to the other. A path on seven links has an automorphism group of order two — the reflection that swaps its two ends — so grounding link 1 and grounding link 7 give the same arm, and its seven links give four distinct machines rather than seven. A robot with its base at the middle joint is a genuinely different machine from one with its base at an end, and the orbit count says how many such choices there are.

The driving choice does not transfer. A closed chain has one input and the interesting question is where to put it; a tree has an input per joint and there is nothing to choose. So the frame-and-input pair count — 153 driven eight-link mechanisms, nine driven six-bars — has no analogue here at all, and neither does the Assur decomposition, since there is nothing to solve.

That split is a clean summary of what the two fields share. Both are about which links are joined to which; only one of them has anything to solve, and every quantity in this field that involves a solve is absent from the other.

The branched trees that do get built

The claim that industry settled on paths is right about industrial arms and wrong about robots generally, and the exceptions are worth naming because they are not marginal.

A hand is a tree with five branches from a common palm. A humanoid is a tree branching at the pelvis into two legs and at the chest into two arms and a neck — a single tree of thirty-odd links whose branch structure is the whole of its layout. A legged machine of any kind is a tree while its feet are in the air, and the walking gait is a sequence in which branches alternate between being free and being pinned to the ground. A dual-arm cell with two arms on one rotating column is a tree branching at the column, and it is built that way precisely so that the two arms share a base and know where each other are.

None of those is a curiosity, and together they are most of the robots that are not industrial arms. So the census’s 105 branched trees at ten links are not describing things nobody would build; they are describing a different half of the subject, one the serial field has not drawn because its essays are about arms.

What branching does to the analysis is worth stating, because it is not simply harder. Take the link where the branches meet. Once that link’s pose is known, each branch hanging off it is an ordinary open chain with a known base — so the inverse problem decomposes: place the branch link, then solve each branch independently against its own target. The difficulty is concentrated entirely in choosing the branch link’s pose, and everything downstream of that choice is the problem the serial field already solves.

That is a genuinely different structure from a longer arm, and it explains a piece of practice that otherwise looks like convention. A humanoid’s motion is planned as a torso trajectory plus limb solutions rather than as one thirty-dimensional problem, and the reason is not that thirty dimensions are too many — it is that the tree says the problem factors at exactly that link, and factoring it anywhere else does not work.

It also sharpens what the loop count is doing. A tree factors at its branch links; a closed chain factors nowhere, because every loop ties its links into a set that must be solved together. Branching multiplies sub-problems and a loop merges them, and those are opposite operations on the same quantity — which is why jn+1j - n + 1 separates the fields as cleanly as it does, and why a tree that touches something stops being a tree in the only sense that matters.

What is not claimed

Two things, because a count of trees is easy to over-read.

Not all 106 are useful machines. A tree with a long thin branch is an arm with a floppy stick on it; most branched trees describe things nobody would build. The census counts shapes, and being in a census is not an argument for anything. That caution applies to the closed-chain census too and it applies harder here, because a closed chain at least has to satisfy four conditions before it is counted and a tree has to satisfy one.

And a tree is not a mechanism until it is actuated. A ten-link tree has nine degrees of freedom, so it needs nine inputs — one per joint, which is exactly what a robot arm has and exactly what a linkage does not. That is the real difference between this census and the closed-chain one: there, one input and a solve; here, an input per joint and no solve at all.

The two censuses are therefore about different objects with the same name. A chain in the closed sense is a graph with loops and a single input; a chain in the open sense is a tree with an input per joint. They are counted by the same routine, with the minimum degree and the joint count changed, and they answer to entirely different fields of this site. It is a small piece of good fortune that one enumerator serves both, and it is the reason the tree sequence is available as a check at all: nobody would have written a tree counter for a site about linkages, and the closed-chain counter had to be written anyway.

It is worth being exact about what the census does and does not cover here, since the branched machines above are the reason to care. Every tree in the count is a tree of links joined by single joints, so a shoulder in which three links meet at one point is a link of degree three and not a joint of degree three — the distinction matters because a real humanoid’s hip is usually three joints in series on two tiny intermediate links, which the census counts as a path through the hip rather than as a branch at it. Branching in the graph sense happens where one rigid body carries three or more joints, which is a plate or a casting rather than a cluster of bearings. That is a narrower thing than the everyday sense of the word and it is the one the loop count is a statement about.

What a census of trees would be for

A last note on usefulness, since the closed-chain census has a clear application and this one does not obviously.

A closed-chain census is a design space: a linkage is chosen from it, given dimensions, and built. A tree census is not the same kind of object, because an open chain’s topology is usually forced by what the machine is for — a hand has as many branches as it has fingers, a quadruped has four legs, and nobody chooses those from a list.

Where it does say something is in the completeness direction, which is the direction every census on this site is useful in. There are 106 ten-link open chains, one of them is a path, and everything else with nine degrees of freedom and no loop is one of the other 105 — so the question is there some other arrangement of nine joints has a definite answer, and the answer is 105 arrangements, none of them exotic and none of them impossible.

About the same objects

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

The objects this essay names

Each one links to every other essay that touches it.

Branched chainCanonical formDegrees of freedomGraph isomorphismKinematic chainLoop closureMobilitySerial chainTreeType synthesis