Concept

Inverse kinematics — where it appears

The map back: which joint values put the tool at a wanted pose, which for a six-joint arm has eight answers and for a redundant one a curve of them. It is where an arm's design decisions show up, because whether it has a closed-form solution at all depends on three of its axes meeting at a point or being parallel.

Named by 12 essays across 2 fields — each of them below, with the objects they name alongside it.

elbow arm at a posture. elbow 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 θ₂ shoulder.

The chain that does not close

Every mechanism in these essays so far has been a loop, and a loop is why a configuration here is a solve. An arm has no loop. Its pose is a product of six transforms, evaluated, with nothing to converge and nothing to refuse — and the difficulty does not disappear, it moves to the other end of the problem.

serial · Serial
Three legs, one platform. A 3-RRR planar parallel mechanism at (0.20, -0.15) turned 11.5°, elbows up/up/up. The three actuator angles were computed one leg at a time and independently, which is what makes this direction cheap. The dashed lines extend each leg's second link: those are the three forces the legs can transmit to the platform, and the mechanism is controllable exactly while they stay independent. Here they miss one another by 0.651, and the smallest singular value of the three is 0.9550. At this position the platform can be turned through 206° in all before a leg runs out of reach.

The easy problem and the hard one change places

For a robot arm, working out where the hand is takes a walk down a chain and working out what the joints must be to put it somewhere is the hard part. Connect the platform by three legs instead of one and both statements reverse — and the reversal is not a matter of degree.

parallel · Parallel
Six legs, six numbers. A Gough–Stewart platform at (0.00, 0.00, 2.40) with a rotation vector of (0.00, 0.00, 0.15). The six leg lengths run from 3.077 to 3.263, and every one of them was computed from the pose by a single subtraction and a square root, with no leg consulting another. Going the other way — six lengths in, one pose out — takes an iterative solve and does not have one answer. The six leg lines span a screw system of order 6; the smallest singular value of the six is 0.0316, which is how far this pose is from a configuration where they become dependent and the platform stops being controllable.

Six legs and a square root

A Gough–Stewart platform's inverse problem is one subtraction and one square root per leg, computed six times without any leg consulting another. Its forward problem has forty solutions. That gap is the whole design, and it is why flight simulators are built this way and robot arms are not.

parallel · Parallel
8 postures, one tool pose. The tool is at one place, held one way. Eight different sets of joint values put it there, and this is all of them at once: two ways for the base joint to face the target, two for the elbow, and two for the wrist — two by two by two. Every posture here came out of a closed form and was checked by running the arm forward again; the worst disagreement is below 10⁻¹⁴ of a metre. Which of them a machine can actually use is a separate question, and it is answered by the joint limits rather than by the geometry.

Eight ways to hold the same tool

A six-joint arm asked to put its tool at one place, held one way, has eight answers. Not approximately eight and not eight found by looking — two for the base, two for the elbow, two for the wrist, each exact to a hundredth of a femtometre, and a search from six hundred starting postures finds those eight and no ninth.

serial · Serial
elbow arm at a posture. elbow 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 θ₅ pitch.

The wrist is three joints and one point

Three axes meeting at a point is what makes a six-joint arm's inverse problem solvable in closed form, and it is why every industrial arm is built that way. Move one of those axes by ten millimetres and the construction goes on returning eight confident answers, every one of them out by three and a half.

serial · Serial
Where the platform stops being controllable, at 0°. Every point is a position of the platform's centre at a fixed orientation of 0°, shaded by how far it is from a direct singularity — pale is near. Unshaded means unreachable, which is the workspace boundary and the ordinary kind of singularity. The line is det A = 0, traced through the field rather than tested for: it runs through the middle of the reachable region in 102 segments, and on it the platform can move with all three actuators locked. 3312 of 6561 sampled positions are reachable.

The workspace is not a shape you choose

A serial arm's reach is roughly a sphere and can be quoted as a number. A parallel mechanism's is the intersection of three reachability conditions, changes with every degree of orientation, and has a surface of uncontrollable poses cutting through the middle of it. There is no formula. There is a map, and it has to be computed.

parallel · Parallel
How far a joint-space move bows off the line. Every joint runs from its start value to its end value at a constant rate — the simplest possible move, and the one that can never be refused, because every point along it is a set of joint values and every set of joint values is a pose. The tool does not travel in a straight line while it happens. It bows away by 402 mm over a move of 1223 mm, which is 32.9% of the distance travelled and enough to hit something that the straight line would have missed.

A straight line at constant speed

Run every joint from its start value to its end value and the tool bows 402 mm off the line between them. Insist on the line instead and the arm will follow it — until the path passes near a singularity, where the joint rates a metre a second demands grow as one over the distance, measured at an exponent of −1.010.

serial · Serial
One tool pose, a curve of postures. 41 postures of S-R-S arm, every one of them holding the tool at the same pose. The tool moved 1.0e-13 of a metre over the whole sweep, which is the arithmetic's noise floor rather than a tolerance. The joint that moves most is the elbow, and it runs on a circle of radius 0.192 m about the line from shoulder to wrist — a curve computed here by walking the Jacobian's null space, and known independently as the intersection of two spheres. The two agree to 10⁻¹³.

The freedom that does nothing

Give an arm a seventh joint and one tool pose stops having eight answers and starts having infinitely many. The arm changes shape while the tool stands still — measured at 3.3 × 10⁻¹² of a metre over forty-one postures — and the elbow runs on a circle that two entirely different computations agree about to a tenth of a picometre.

serial · Serial
The free configurations, with joint limits. Every point is a pair of joint angles for a two-link arm; the pale region is the configurations at which neither link touches an obstacle, and the dark one is where something is in the way. The free space is in 2 pieces. The arm's joints cannot turn all the way round, so the edges of the square are edges — and now the barrier separates. The two crosses put the tool at exactly the same point, and the arm cannot get from one to the other at all.

The space of configurations

A two-joint arm's configurations are a torus, and drawing one on a page turns it into a square whose opposite edges are secretly the same line. Count the free space on the square and get three pieces; count it on the torus and get one. Eighty single-obstacle arrangements were tried and not one of them cut the torus in two — what does that is a pair of hard stops.

serial · Serial
The joint space an arm's own material forbids. A three-link planar arm, at every pair of relative joint angles on a 101 × 101 grid, with the pairs at which its first and third links are inside each other shaded. It is 21.4% of the arm's own joint space, and it is a two-dimensional picture of a three-dimensional space because the first joint does not enter it: turning the whole arm about its base carries every link with it, so a collision at one base angle is a collision at all of them — checked at forty pairs of relative angles with 0 disagreements. Only the first and third links can meet; consecutive links share a pin and are excluded, exactly as in the closed-loop machines.

The arm that hits itself

A three-link arm's joint space is a cube of angles and it may not use a fifth of it, because its own material is in the way. The forbidden set does not depend on where the arm is pointing — which is why it can be drawn as a picture rather than described as a volume.

serial · Serial
A straight move ends where its posture does. The six-joint arm with its stops on, moving its tool in a straight line at a fixed orientation in the posture it starts in (back · elbow up · wrist flipped). Faint: the arm at the start. Solid: where the move ends, 66.0 cm along, stopped by the base joint at its stop. Dashed: the same line continued, which this posture cannot follow. Of the arm's usable postures at the start, the best would have gone 125.5 cm.

A straight move ends at a stop

A six-joint arm asked to move its tool in a straight line at a fixed orientation keeps the posture it starts in, because changing posture means passing a singularity. Followed from three hundred random poses inside the arm's joint stops, in random directions, the starting posture carries the tool a median of 19.5 cm. Half the moves end at a joint stop, two in five where the arm stretches straight and its posture runs out, and three in a hundred near the wrist singularity, the one the literature on straight-line moves is about. The best of the arm's other usable postures would have gone a median of 34.5 cm, and in a third of the moves it would have gone further. On the way, an earlier count of how many postures an arm can hold was found to be reading its base angle a turn out.

serial · Serial
A seventh joint steers the base roll off its stop. The S-R-S arm with stops on every joint, moving its tool in a straight line at fixed orientation from the same start (faint). With its upper-arm roll locked, a six-joint arm, the move ends 27.0 cm along at the base roll at its stop (dashed arm). With all seven joints and the self-motion steered at every step to move the joint nearest its stop away from it, it ends 61.5 cm along at the base roll at its stop (solid arm). Shown 60.0 cm along, with the six-joint arm stopped where its move ended.

A seventh joint cannot move the elbow

A seven-joint arm can change its shape while its tool stands still, and on a straight move that freedom can be spent keeping its joints off their stops. Spent that way, it lengthens the median move from 23.3 cm to 33.3 cm, against the same arm with its extra joint locked. But the gain is all or nothing. Half the moves a stop used to end gain under a tenth, and a quarter gain more than two and a half times. One stop it never gets round: the elbow's, whose angle is set by the distance from shoulder to wrist and is the same, to 10⁻¹⁵ rad, whatever the other joints do. Nor does it ever reach past the edge of the arm's reach.

serial · Serial

Named alongside it

The objects these essays reach for when they reach for this one.

WorkspaceJoint limitsSerial manipulatorSingularityJacobianAssembly branchConditioningForward kinematicsOpen chainParallel mechanismPlatformRedundancy

All concepts