Eight ways to hold the same tool
Assumes The chain that does not close and Where the hand can go.
Put a tool at a point, held at an angle. Ask the arm what its joints should read.
This is the reversal the parallel field named and it has come round the other way. There, a platform’s forward problem had forty solutions and its inverse problem was a subtraction and a square root per leg. Here the forward problem is a product of six matrices with one answer, and the inverse problem has eight.
Where the eight come from
They are not eight of a kind. They are two, twice, twice, and the three binary choices are about three different parts of the machine.
Two for the base. The arm’s shoulder and elbow swing in a plane, and that plane is set to one side of the base axis by the shoulder offset — 0.18 m on this arm. So the wrist centre’s position, seen from above, fixes the angle of that plane only up to a reflection: the arm can face the target, or it can turn round and reach for it over its own shoulder. Algebraically, has two solutions, and they merge when — which is the shoulder singularity and the surface of the cylindrical hole the arm cannot reach into.
Two for the elbow. Inside that plane the problem is a triangle: the upper arm, the forearm, and the line from shoulder to wrist centre. The cosine rule gives the angle between the first two up to a sign, and the sign is elbow up or elbow down. It is exactly the two-link problem the planar arm has, and exactly the two assembly branches a four-bar has, arrived at from a third direction.
Two for the wrist. Once the wrist centre is placed, three intersecting axes have to supply whatever rotation is left. Reading three angles off a rotation is a z-y-z Euler problem, and it has two branches: the middle angle can be taken positive or negative, with the outer two shifted by π to compensate. Both give the same tool orientation with the wrist folded the other way, which is why a robot can hold a tool one way with its wrist “up” and the same way with it “down”.
Two times two times two. Nothing about the number eight is an approximation, a count of what was found, or a property of these particular link lengths.
The decoupling that makes it possible
None of the above would work if the three wrist axes did not meet at a point.
The construction starts by finding the wrist centre: back off from the target along the tool’s own axis by the tool length. That is only legitimate because the last three joints cannot move the wrist centre — they all pass through it — so the wrist centre’s position depends on the first three joints alone. Three equations, three unknowns, and a triangle to solve them with. Then the orientation is whatever is left, and three intersecting axes can supply any of it.
That property is Pieper’s condition and it is the whole reason industrial arms are built the way they are. It is the next essay, because it deserves one: it is a design decision made for the sake of an equation, and the equation is solved on a machine that runs the control loop a thousand times a second.
Without it, the six-joint inverse problem is a genuinely hard piece of elimination theory. The general 6R arm has sixteen solutions — the result is Lee and Liang’s and Raghavan and Roth’s, from the late 1980s, and it was open for a long time before that. This site does not compute it. Its algebra field has the machinery in principle, and saying so is not the same as having done it; the honest position is that the count of sixteen is a result obtained by people who did that work, and what is computed here is the decoupled case.
The second route, and what a search can know
A construction cannot check its own count. If a branch were missing, the seven remaining answers would each be perfect, the round trip would pass, and nothing in the arithmetic would notice. So the count is checked by a method that knows nothing about wrists.
Damped least squares, from six hundred scattered starting postures, each iterating until the tool arrives or two hundred steps have gone by.
parallel field put on sixteen platform poses found from six hundred starts, against a known count of forty.The 78 starts that do not converge are not failures of the arm. They are seeds from which the damped iteration wanders into a region where the step it wants is enormous and the damping refuses it, and it runs out of iterations. Nothing is lost — the eight are all found many times over — but it is worth noticing, because it is the shape of what happens when an arm is asked for a pose near a singularity and the answer is not to iterate harder.
Why a machine wants the construction
For a figure on this page, eight postures found by either method would do. For the machine the difference is decisive, and there are three reasons.
Speed. The construction is a few dozen floating-point operations. The search is 522 successful Newton runs of up to 200 steps each, and every step is a 6 × 6 solve. A controller closing its loop at a kilohertz has a millisecond, and it is not spending it here.
Determinism. The iteration’s answer depends on its seed. Seed it with the arm’s current posture and it returns the nearest solution, which is usually what is wanted and is occasionally catastrophic — a path that passes near a singularity can hand the iteration to a different branch without anything in the software noticing that the arm has just been asked to turn itself inside out.
Naming. The construction returns eight postures labelled: front or back, elbow up or down, wrist or flipped. A machine chooses among them by rules — this one’s cables will not take the flipped wrist, that one’s base cannot swing to the back configuration, the elbow-down solution puts the upper arm through the fixture — and rules need names. A search returns eight arrays of six numbers.
Exact, and out of reach
Every one of the eight satisfies the equations. A built arm has hard stops, and a posture outside them is a solution to the equations and not to the problem.
So the eight were counted again with limits on — a base that swings most of a turn, a shoulder and elbow that cannot fold back through the arm’s own structure, wrists stopped short of a full turn by the cables running through them. Three hundred and forty-five reachable poses, each with all eight postures constructed exactly.
That is a familiar shape and it belongs to a different field of this site. The synthesis field measured 1,176 exactly correct three-position linkages of which 176 could actually be built, the rest disqualified by branch, circuit and order defects that the construction cannot see. Here the construction returns eight exact postures and the machine can use three of them, and at one pose in nine it can use none.
Exactness is not the scarce quantity. In both cases the construction is doing its job perfectly and the shortfall is somewhere the construction has no access to — there, whether the linkage can travel between the prescribed positions without disassembly; here, whether the joints can get to the values the answer asks for. A solution that satisfies every equation can still be a solution to nothing, and the only way to find out is to ask a question the equations do not contain.
What the branches are, in the site’s own vocabulary
By now this site has met multi-valued solutions four times, and it is worth putting them beside one another, because they are the same phenomenon and the vocabulary has drifted.
- A four-bar’s two assemblies: for one crank angle, two positions of the coupler. Reflections about the diagonal.
- A 3-RRR platform’s six assembly modes: for one triple of actuator angles, six poses of the platform.
- A Gough platform’s forty poses: for one set of six leg lengths, forty poses in the complex numbers, sixteen of them found real by search.
- An arm’s eight postures: for one tool pose, eight sets of joint values.
The first three are all forward problems and the last is an inverse one, which is why the vocabulary drifted. But every one of them is the same statement: a fibre of the map between joint space and task space has more than one point in it. And every one of them has the same practical consequence, which is that a mechanism cannot pass from one to another without going through a configuration where two of them have merged — a singularity.
That last sentence is the thread this whole field is strung on, and it is made exact in the space of configurations, which shows the branches to be connected components of one set and the singularities to be where components meet.
When eight is not eight
The count is not eight everywhere. It is eight for a general reachable pose, and the exceptions are where the interesting geometry is.
On the boundary of the workspace, elbow up and elbow down have merged: the arm is straight and there is one solution where there were two. On the shoulder cylinder, front and back have merged. At a wrist singularity the two wrist branches have merged, and worse — the fourth and sixth joints have become the same axis, so only their sum is determined and there is a one-parameter family of answers rather than a discrete pair.
That last case is not a mathematical curiosity. It is what a real arm meets when it is asked to point its tool straight along its forearm, which is a completely ordinary thing to ask, and the reason a controller near it either refuses or moves very slowly indeed. The demand it makes on joint rates is measured in a straight line at constant speed and it goes as one over the distance.
Outside the workspace the count is zero, and the construction says so rather than returning the nearest thing: the cosine rule’s argument leaves , and there is no triangle. That refusal is the arm’s equivalent of a closure equation with no solution, and it is the only place in this field where the geometry can refuse anything.
The tool sticking out is what makes it a problem
One detail of the construction is easy to skip past and it is where a good deal of practical error lives: the first step backs off from the target along the tool’s own axis, by the tool’s length.
If the tool were at the wrist centre — a spot welder’s tip exactly at the intersection of the last three axes — the position problem would not involve the orientation at all. Ask for a position, solve three joints; ask for an orientation, solve three more; the two halves would not talk to each other in either direction.
Real tools stick out. A gripper’s fingers are 200 mm beyond the flange, a welding torch further, a deburring spindle further still, and the moment the tool has length, where the wrist centre has to be depends on which way the tool is pointing. That is what the back-off step encodes, and it is why the same arm reaching the same point with two different tools needs two different postures.
It is also where the tool length itself enters as a number that has to be right. An error in it does not move the tool by that error; it moves the wrist centre target by that error, and the whole posture changes to suit. The error budget treats that properly — a tool offset is one more parameter in the model, and it is one of the ones a calibration can actually find.
The check that would catch a missing branch
Three assertions guard the eight, and they fail in different ways, which is the point of having three.
Every solution reproduces the target. Run each of the eight forward and compare with the pose asked for: worst case . This catches a sign error in a branch, which otherwise produces a plausible arm holding the tool somewhere else entirely.
The posture the target was made from is among them. Each test target is generated by picking joint values and running the arm forward, so one particular answer is known in advance and must appear in the list. This catches a construction that is self-consistent and wrong — eight postures that all satisfy each other and none of which is the arm the target came from.
There are eight, at every test pose. Not “at least two”, not “several”: eight, four times over, at four different targets. This is the one that would catch a missing branch, and it is the one the search backs up independently.
None of the three is sufficient alone, and the second is the one most easily left out. It is also the one that fails first when a convention drifts — when a joint’s zero is redefined, or an angle is measured from the wrong reference — because the construction goes on being internally consistent while ceasing to describe the arm the figures draw.
The posture label is a component, not a preference
The eight come out labelled — front or back, elbow up or down, wrist flipped or not — and those labels are more than a convenience for a controller. They are the discrete part of the arm’s state, and treating them as a choice made once rather than as a variable is what makes an arm’s motion planning tractable.
Move the arm continuously and the labels cannot change. Getting from elbow-up to elbow-down means passing through the configuration where the two merge, which is the arm straight, which is exactly the boundary singularity. So a continuous path within the workspace stays in one posture, and the eight postures are eight connected components of the solution set — the same object a four-bar’s branches are, arriving in an inverse problem instead of a forward one.
That has a consequence a planner cannot avoid. A path from one pose to another is not a path between two poses; it is a path between two poses in the same posture. Compute the eight solutions at the start and the eight at the end, match them by label, and plan within one label — because a plan that silently changes label is a plan that passes through a singularity, and a singularity is where the arm loses a freedom and the joint rates go to infinity.
Deliberate reconfiguration is therefore a separate manoeuvre with its own rules. An arm that must change posture has to be taken to a singular configuration on purpose, slowly, usually with the tool clear of anything, and brought out the other side — which is why industrial controllers treat it as a distinct command rather than as part of a move, and why a robot occasionally straightens its arm entirely in the middle of a cycle for no reason a bystander can see.
It also explains the value of computing all eight rather than one. The controller does not need seven of them for the move it is making; it needs them to know which postures the target admits, so it can choose one that is reachable throughout the whole path rather than one that is fine at the endpoints and runs into a limit in between. That is a question about eight components, and having the labels is what makes it answerable without searching.
Which is the sharpest statement of what the construction buys over the iteration. A search returns postures; the construction returns postures with their labels, and the labels are the component structure. One of those is a list of answers and the other is a map of the solution set.
What the eight are worth knowing
There is a use for all eight beyond choosing one, and it is the reason a good controller computes them rather than the nearest.
An arm working near a limit can often reach the same pose in another posture that is nowhere near it. An arm whose path is about to pass through a wrist singularity can sometimes step around it by switching branches while the tool is stationary — which cannot be done, because switching branches means passing through the singularity, and that is precisely the finding this field keeps arriving at from different directions. The branches are separate for a reason, and the reason has a shape.
What this makes readable
Essays that name this one as a prerequisite.
- The freedom that does nothing One path to the tool
- The wrist is three joints and one point One path to the tool
About the same objects
Not linked from either essay — found by the objects both name.
- Four bars that add two angles assembly branch · closed form
- Four numbers or a screw open chain · serial manipulator
- One command, six answers newton–raphson · root count
- The search that was right assembly branch · newton–raphson
- The workspace is not a shape you choose inverse kinematics · workspace
- Two routes to a Jacobian open chain · serial manipulator
What links here
The 8 of 20 essays linking to this one that name the most of the same objects.
- The space of configurations One path to the tool
- The wrist is three joints and one point One path to the tool
- The chain that does not close One path to the tool
- The easy problem and the hard one change places Several legs, one platform
- The freedom that does nothing One path to the tool
- A straight line at constant speed One path to the tool
- The arm that hits itself One path to the tool
- Where the arm loses a direction One path to the tool
The objects this essay names
Each one links to every other essay that touches it.
Assembly branchClosed formInverse kinematicsJoint limitsNewton–RaphsonOpen chainPieper conditionRoot countSerial manipulatorWorkspace