One path to the tool

The distance between two poses

Ask an arm to take the shortest route between two poses and three reasonable definitions give three different paths, of lengths 1.223, 1.443 and 1.550 metres. The disagreement is not numerical. There is no distance between two rigid poses until somebody chooses a length to measure a radian in, and on this arm the choice changes which of two poses is nearer at 74.5 millimetres.

Assumes A straight line at constant speed and Every motion is a screw.

Two poses. Move the tool from one to the other by the shortest route.

The instruction sounds complete and it is not, and the incompleteness is not a matter of precision. There is no shortest route, because there is no distance — and the reason is arithmetic rather than philosophical: a pose is a rotation and a translation, and comparing two of them means adding a radian to a metre.

Three shortest paths. The tool's route between the same two poses, under three interpolations. The straight one is position interpolated along a line with the rotation carried separately, which is what most controllers do. The screw path is the single turn about a single axis that Chasles's theorem says takes any pose to any other — the only one of the three that mentions no coordinate system — and it is 18.0% longer. The joint-space path is what the arm does when nobody asks for anything in particular, and it is 26.8% longer again. The screw axis itself is drawn: pitch -0.096 m per radian.
Fig. 1 Three routes between one pair of poses, all of them defensible. The straight one interpolates the position along a line and carries the orientation separately. The curved one is the single screw motion — one turn about one axis, advancing along it — that Chasles’s theorem says takes any pose to any other. The third is joint-space interpolation, which is what the arm does when nobody asks for anything in particular.

Three definitions of shortest

Position first. Interpolate the tool’s position along the straight line between its endpoints, and carry the orientation along its own shortest arc, independently. This is what most controllers do when told to move linearly, and the tool path is a straight line of 1.223 m by construction.

One screw. Chasles’s theorem says that any rigid displacement — however the pose changed — can be achieved by a single rotation about a single axis combined with a translation along that same axis. One screw, one axis, one parameter. Interpolate along it and the tool travels 1.443 m, eighteen per cent further, on a helix about an axis of pitch −0.096 m per radian.

Joint space. Run every joint linearly. The tool travels 1.550 m, twenty-seven per cent further than the line.

None of the three is an approximation of another. The first is shortest in position and says nothing about orientation. The second is the unique motion with no coordinate system in it at all — it is defined by the two poses alone, and any two observers will construct the same helix. The third is shortest in the arm’s own coordinates and is the only one guaranteed to be reachable at every step.

Four routes, four lengths. The distance the tool travels between the same two poses, under three interpolations and against the straight line for comparison. The screw motion — the one Chasles's theorem says is a single turn about a single axis, and the only one here that mentions no coordinates — is 18.0% longer than the straight line, and the joint-space path is 26.8% longer. None of them is wrong. They are answers to three different questions that all get asked with the word "shortest".
Fig. 2 The four lengths side by side, with the straight line for reference. The screw motion is the one with the best claim to being canonical and it is not the shortest; the joint-space path is the one the machine finds easiest and it is the longest. There is no ordering here that some reasonable criterion does not reverse.
Every joint move bows, and most of them go through a singularity. 60 moves between pairs of ordinary postures, each with every joint run linearly from one value to the other. The bow off the straight line runs from 11.6% to 82.4% of the distance travelled, with a median of 29.9% — so a third of the distance is typical rather than a lucky pair of endpoints. The vertical axis is the other half: 55 of these 60 moves pass within σ_min 0.05 of a singularity and one gets to 1.7e-5, and not one of them is affected by it in the slightest. The same moves demanded in task space would have been impossible.
Fig. 3 Sixty pairs of poses rather than one. The three definitions disagree on nearly all of them, and the size of the disagreement is a property of the pair rather than a constant that could be quoted once.

Why there is no answer

The set of rigid poses is a group, and the question “how far apart are two of its elements” has an answer whenever the group carries a metric that respects its own structure. For rotations alone it does: the angle of the relative rotation is a distance, and it does not care which frame it is measured in or which order the composition runs. Rotations have a bi-invariant metric and it is essentially unique.

Rigid poses do not. It is a theorem rather than an inconvenience: SE(3) admits no bi-invariant Riemannian metric. Any distance defined on poses fails to be invariant either under changing where the world’s origin is or under changing where the body’s own reference point is — and usually under both.

The practical face of that is the units. Write a pose distance as

d2=ω2+p2L2d^2 = \lVert \boldsymbol\omega \rVert^2 + \frac{\lVert \mathbf p \rVert^2}{L^2}

and LL is a length that somebody has to choose. It is the size of a rotation counted as “worth” a metre of translation. Nothing in the geometry supplies it.

The choice changes the answer, at 74.5 millimetres

That would be a footnote if the choice never mattered. It matters, and here is the measurement.

Start the arm at a posture. Consider two nearby poses: one reached by rolling the last wrist joint by 1.2 rad, which turns the tool through 69° and — because the last axis passes through the tool point — moves it not at all; and one reached by swinging the base by 0.15 rad, which turns the tool by 8.6° and carries it 88.7 mm.

Which is nearer to where the arm started?

length scale L 37 mm 75 mm 298 mm
nearer pose the wrist roll the base swing the base swing

They trade places at L=74.5L = 74.5 mm. Below that scale a rotation is cheap and the wrist roll is the smaller change; above it a rotation is expensive and the base swing is. And 74.5 mm is not an exotic number — it is about the width of a gripper, comfortably inside the range of lengths a person specifying a robot cell would think of as natural.

So two controllers, one written with a length scale of a centimetre and one with a length scale of a metre, will disagree about which of two poses is nearer for ordinary motions of an ordinary machine. Neither is wrong.

Where the site has been quietly choosing

This essay’s own machinery makes that choice, and it is worth pointing at rather than leaving buried.

poseError here takes the norm of the twist between two poses — three components in radians and three in metres, summed in quadrature — which is exactly the formula above with L=1L = 1 metre, chosen by not thinking about it. That is defensible in the one place it is used and nowhere else: it is a convergence test inside the inverse solver, where both halves are on their way to 101510^{-15} and no comparison between them is being made. A number that is going to zero does not need its units decided.

Where it would not be defensible is anywhere the value itself is read: “the nearest of the eight postures”, “the pose error of this calibration”, “how close the arm got”. Every one of those is a comparison, and every one needs its length scale stated. The calibration essay hits the same wall from a different side and solves it differently — by normalising each column of a matrix, so that the rank decision is about independence rather than about units.

There is a third solution and it is the one this field prefers where it can: do not form a scalar at all. The singularity essay reports a rank and a reciprocal screw rather than a condition number, because both survive a change of units. A screw is a line with a pitch on it, and a line does not care what it is measured in.

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.
Fig. 4 And the practical consequence of the third route. A joint-space move is the shortest path in the arm’s own coordinates, which is a perfectly good definition of shortest, and its tool path bows 402 mm off the line. Three definitions, three answers, and each one is shortest by its own measure.

How the crossover was measured

The two candidate poses were not picked to make a point; they were picked because they are the two cheapest motions this arm has, and their asymmetry falls out of the geometry rather than being arranged.

Rolling the last wrist joint turns the tool and does not move it at all, because that axis passes through the tool point — the same fact the error budget reports as a lever arm of exactly zero. So candidate one is a pure rotation: 1.2 rad of turn, 0.0 mm of travel.

Swinging the base turns the tool very little and carries it some way, because the tool is 0.94 m out from the base axis. Candidate two is mostly a translation: 0.15 rad of turn, 88.7 mm of travel.

Set the two distances equal and solve for the length scale:

L2=pb2pa2ωa2ωb2L^2 = \frac{\lVert \mathbf p_b \rVert^2 - \lVert \mathbf p_a \rVert^2}{\lVert \boldsymbol\omega_a \rVert^2 - \lVert \boldsymbol\omega_b \rVert^2}

which is 74.5 mm here. There is nothing delicate about the calculation; what makes it worth doing is that the answer lands in the middle of the range of lengths a person would pick, rather than at 10610^{-6} or 10610^{6} where the ambiguity would be harmless.

And the check on it insists on exactly that. The assertion behind this measurement fails if the crossover is smaller than 5 mm or larger than half a metre, because outside that band the finding would be an observation about arithmetic rather than about machines — and it fails if the two candidates do not swap places, which would mean the crossover was a division rather than an event.

What the screw motion is for

Given all that, the screw interpolation deserves defending, because it is the only one of the three that is coordinate-free.

The other two both depend on choices. Interpolating position and orientation separately depends on which point of the body is called the tool: pick a different point and the straight line is a different straight line, and the tool point’s path stops being straight. Joint-space interpolation depends on the arm — the same two poses reached by a different machine give a different path.

The screw path depends on nothing but the two poses. Its axis, pitch and angle are properties of the displacement, computed here by taking the logarithm of the relative transform. That is the same object the screw field has been drawing since the spatial phase, and the same helix, and this is Chasles’s theorem being used as a motion rather than as a description.

What it is not is shortest in any of the obvious senses, and it has one property that is worth measuring rather than asserting: the path length depends on which point of the body is measured.

Under one screw motion, different points of the same rigid hand travel different distances. Measured on this move:

point of the hand distance travelled
on the screw axis 0.190 m
the tool point 1.443 m
100 mm to one side 1.518 m
300 mm to one side 1.723 m

The point on the axis travels 0.190 m, which is exactly the pitch times the angle — it advances along the axis and does not go round at all. Everything else sweeps a helix, and the further from the axis it is, the wider. A factor of nine between the least and the most, for one motion of one body.

So “how far did it move” is not a question about a body. It is a question about a body and a chosen point, and the choice is the same kind of choice as the length scale: unavoidable, consequential and rarely stated. This is the third time in one essay that a quantity turns out to need a parameter nobody supplied, and it is the same parameter twice — where the tool is — appearing once in the metric and once in the measurement.

S-R-S arm at a postureS-R-S arm, drawn from 7 joint values through a product of 7 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.1456 and the largest is 1.903, so the arm is comfortably away from a configuration where a direction of motion is lost. Drag θ₄ elbow.θ₁ θ₂ θ₃θ₄ elbowθ₅ θ₆ θ₇toolσ_min 0.1456 · condition 13.1the pose is a product of exponentials, not a solve
Fig. 5 The same difficulty in one joint’s worth of motion. The traced curve is the tool’s path as the elbow of a seven-joint arm swings; a different point of the same rigid hand would trace a different curve of a different length, and there is no privileged point to measure by. Distance travelled is a property of a point and a path, and a pose is neither.
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.
Fig. 6 The space the joint-space answer is shortest in. A straight line here is short by one definition and is not a straight line in the task space at all — which is the whole of why there is no single shortest path.

What a machine does

In service the question is settled by the job, and it is worth naming the usual settlements because each is a length scale in disguise.

Weld a seam: the position matters to a tenth of a millimetre and the orientation to a few degrees, so LL is implicitly small — a degree of tilt is worth much less than a millimetre of drift.

Point a camera or a spray head: the orientation is the whole task and the standoff distance is loose. LL is large.

Move between two waypoints in free space: nothing matters but not colliding and not taking too long, which is why this move is done in joint space, where there is no metric problem at all — six angles, one unit, an unambiguous distance.

That last one is worth noticing. Joint space has a natural metric and task space does not. All six joint coordinates are angles on the same kind of quantity, so the sum of their squares is a distance in a way that a pose difference is not. It is one more entry in the list of things the arm’s own coordinates make easy and the task’s coordinates make hard — the same list that has straight lines on it, and singularities, and the eight postures.

What the three paths share

For all the disagreement, the three interpolations agree about two things exactly, and both are worth stating because they bound how bad the situation is.

They have the same endpoints. Every one of them starts at the first pose and finishes at the second, exactly, and a check at either end cannot tell them apart. That is why a program tested by driving to its waypoints and measuring there will pass whichever interpolation the controller happens to implement, and why the difference only shows up when something is in the way in the middle.

They agree when the rotation is zero. If the two poses differ by a pure translation, all three collapse onto the same straight line: the screw motion degenerates to a translation along its own direction, the split interpolation is that line by construction, and joint-space interpolation is the only one that can still wander. That is a real case — a machine moving a part sideways without turning it — and it is also the reason the test poses for this measurement had to be chosen with a large rotation between them. A pair with 5° of relative rotation would have shown three paths agreeing to a millimetre and proved nothing.

The pair used here differ by 113.5° and 1.223 m, which is an ordinary pick-and-place move rather than an extreme one. The disagreement at that scale is 327 mm between the shortest and the longest tool path — enough to matter, from a pair of poses nobody would call unusual.

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.0966 and the largest is 2.630, so the arm is approaching a configuration where a direction of motion is lost. Drag θ₁ base.θ₁ baseθ₂ shoulderθ₃ elbowθ₄ roll θ₅ θ₆toolσ_min 0.0966 · condition 27.2the pose is a product of exponentials, not a solve
Fig. 7 The far end of the move: one of the two poses all three interpolations agree about exactly. Every route in this essay starts and finishes at a posture like this one, and any check made at the endpoints alone would find all three identical.

The length scale the job supplies

There is no canonical length to measure a radian in, and that is a fact about rigid poses. It does not follow that every choice is as good as every other for a particular machine doing a particular job, and there is a principled one available that is worth naming.

Take the task’s two tolerances: how far the tool may be out of position, and how far it may be out of orientation. A weld seam might allow 0.1 mm and 3°; a camera might allow 10 mm and 0.2°. Divide the first by the second, in consistent units, and the result is a length — the length at which a radian of orientation error costs the same as a millimetre of position error, for that job.

Use that as LL and the metric stops being arbitrary. A pose distance computed with it is measured in fractions of the tolerance budget, so a distance of one means the pose is at the edge of what the job accepts, and comparing two poses compares how much of the budget each spends. That is a quantity with a meaning rather than a number in mixed units.

It also explains why the two example tasks pull the choice so far apart. The welder’s ratio is 0.1 mm per 0.052 rad, about 2 mm; the camera’s is 10 mm per 0.0035 rad, nearly 3 metres. Those are three orders of magnitude apart, and 74.5 mm — the crossover this essay measures — sits between them. So the two jobs really do disagree about which of the two poses is nearer, and neither is wrong.

Which gives the practical instruction, and it is one line. Carry the length scale as a stated parameter and set it from the job’s tolerances, rather than leaving it implicit in whatever the code happened to do. A controller with LL in its configuration file can be pointed at a different task; one with L=1L = 1 buried in a norm has an opinion about welding it cannot be argued out of.

And there is a cheap check that says whether any of this mattered on a given problem. Vary LL over a couple of orders of magnitude and see whether any decision changes. If the same posture is chosen, the same path is preferred and the same pose is nearest throughout, the choice was harmless and can be left alone. If something flips, the flip is at some crossover and the crossover is where the arbitrary choice became a decision — which is exactly the place a stated tolerance ratio has to be produced.

The pattern this belongs to

This site has a category for numbers that are quoted as though they were properties and turn out to depend on a choice, and it has been growing since the foundation.

A velocity ratio quoted as a number is a claim it does not vary through the cycle, and for most mechanisms that is false. A chain drive’s ratio is a mean of something fluctuating by four per cent. A rocker arm’s ratio is quoted at one position of a swing that varies from 1.588 to 1.605. A roll centre is a construction that moves 131 mm over the suspension’s travel.

The pose distance is a different member of the same family, and in one way the worst of them. Those numbers all exist and are being quoted at one point of a range. This one does not exist until a parameter is supplied, and the parameter is almost never supplied, and it is almost never noticed that it was needed.

The applied field sorted catalogue numbers into five verdicts and found that the only ones that came out exact were counts — a mobility, a rank, a ratio of tooth counts — because an integer cannot vary with position, cannot be a mean, and has no operating point to be quoted at. This field has now added its own entries to both halves of that ledger. Its exact quantities are counts too: the eight postures, the rank of a Jacobian, the number of components of a configuration space. Its inexact ones are lengths and angles compared with each other, and the reason is the same one every time — a comparison needs a common unit, and rotation and translation do not have one.

That is not a limitation of this site’s arithmetic. It is a fact about rigid motion, it has been known since the nineteenth century, and it is why a screw is the object this subject keeps coming back to: a screw does not need the two halves to be commensurable, because it holds them as a line, a pitch and an angle rather than as six numbers to be summed.

About the same objects

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

What links here

Essays that link to this one from their own argument.

The objects this essay names

Each one links to every other essay that touches it.

Chasles's theoremConditioningInterpolationMetricPoseScrewSerial manipulatorTrajectoryTwist