An arm's parameters and its poses
Assumes A chain multiplies.
A serial arm is the mechanism people actually calibrate, and it is worth running the whole apparatus over one to see which of this field’s difficulties bite and which do not.
Nothing is invisible
Start with the result that is unlike a linkage’s.
An arm is measured by watching its tool position, because that is what anybody cares about. A position carries a length, so the standing argument does not apply: the readings scale when the arm does, the columns do not cancel, and there is no null direction.
The check is worth doing rather than assuming, because the argument runs on the units of the readings and an arm’s readings are of a kind the four-bar essays did not consider. Scale the arm by k and drive it to the same joint angles: every link is k times longer, every joint position is k times further from the base, and the tool lands at k times its old position. The reading changes. There is no cancellation available, and the scaling direction is as visible as any other.
Rank is full. Every length is recoverable. The site’s own arm — links of 1.6, 1.2 and 0.7 — has three parameters and a reach of 3.5, and a coordinate measurement of its tool determines all three.
Compare with a four-bar read by protractor, which has four parameters and recovers three. The arm is the easier case for rank and the harder case for everything else, which is the opposite of the usual impression.
Start with the result that is unlike a linkage’s.
Why it is nevertheless hard
Three reasons, none of them about identifiability.
The parameter count. A planar three-link arm is small; a six-axis industrial arm has thirty distinguishable parameters against forty-eight in a naive model. More parameters means more poses, worse conditioning, and a much larger chance of a redundant direction acquired by accident.
And the Jacobian is singular in places a designer likes. At full extension the arm’s tool cannot move radially, so a whole direction of the task space is unavailable — and rows of the identification Jacobian near there are short and nearly parallel.
Three ordinary engineering difficulties, and not one of them is the difficulty this field spends most of its time on. An arm has no null space and a four-bar does, which reverses the intuition that a more complicated machine is a harder measurement problem. It is harder in every way except the one that cannot be fixed by measuring better.
Three reasons, none of them about identifiability.
The pose space has three dimensions. A four-bar’s poses are a crank angle — a one-dimensional set, easily spread over. An arm’s poses are a point in joint space of the same dimension as its freedoms, so a pose plan is a scatter in three dimensions rather than a spread round a circle, and “well spread” is a much less obvious instruction.
The base and tool frames are the real parameters
The three link lengths are the visible parameters and they are not the ones a real calibration spends its effort on.
An arm’s tool position is measured in some frame — a coordinate machine’s, a tracker’s, a fixture’s — and where that frame sits relative to the arm’s base is six numbers in space or three in the plane. Where the tool point sits relative to the last link is three more.
So a planar three-link arm calibrated against an external instrument has three lengths plus three for the base frame plus two for the tool point, which is eight parameters rather than three, and six of them are frames.
That is the practical shape of an arm calibration and it changes the arithmetic. Eight columns need more poses to span than three; the frame columns are strongly informative and can dominate the spectrum in the way a tracing point’s coordinates do on a four-bar; and every one of them is a parameter that has to be in the list or absorbed into the lengths.
An arm’s calibration is mostly about where things are relative to each other, and the link lengths — the parameters a reader would name — are three of eight.
Where the singularities are
The last of those is worth locating rather than asserting.
A planar three-link arm is singular when its three links are collinear, which is at full extension and at full folding. At full extension the tool is at the reach — 3.5 units for the site’s arm — and that is exactly the boundary of the workspace.
So the poses with the greatest reach are the poses whose rows carry least information, and a plan that spread poses evenly through the workspace would concentrate them near a boundary that is uninformative.
That is the mistake the pose-selection essay names and this is the mechanism where it is easiest to make. Spreading in the workspace is the natural instruction because the workspace is what a person can see; what has to be spanned is the row space, and the two are not the same thing.
Both of those describe how the arm behaves at a configuration rather than the configuration itself. What a calibration actually holds is a list of configurations, each one a set of joint angles with a measured end position beside it, and the whole difficulty of planning a calibration is deciding which ones are worth visiting.
Redundancy is a second problem
A three-link planar arm has three joints and a two-dimensional task if only the tool’s position matters, so it is redundant: a whole one-parameter family of joint configurations reaches each point.
That is a well-known property with well-known consequences for control, and it has one for calibration that is less often noticed.
A redundant arm can be driven to the same tool position in many ways, so a pose plan specified in task coordinates does not determine the configurations, and two executions of the same plan can produce different rows. The plan has to be specified in joint coordinates, or the redundancy resolved by a stated rule, or the actual configurations recorded.
A calibration of a redundant arm needs its plan in joint space, and a plan in task space is under-specified in a way that produces different conditioning on different runs of nominally the same procedure.
Joint encoders alone would recover nothing
The complement of the first result, and it explains a practice.
An arm’s joint encoders read angles. If those were the only readings, the parameters would be entirely unrecoverable — not up to a scale, but entirely, because an open chain’s joint angles are independent coordinates and any set of them is consistent with any link lengths whatever.
That is worse than a closed loop’s situation and it is worth being clear about why. A closed loop with two sensors gives one equation per pose, because the loop relates the two readings. An open chain gives none: there is no loop, so there is no relation, so there is nothing the parameters have to satisfy.
A serial arm cannot self-calibrate from joint sensing, at all, and that is a structural fact rather than a matter of conditioning.
Which is why every arm calibration involves either an external instrument or an added constraint — touching a fixed point, closing the chain against a fixture, running a redundant sensor. The added constraint manufactures the loop the arm does not have, and after that the arithmetic is a closed loop’s.
What the conditioning looks like
Running the field’s own instruments over the arm gives the ordinary answers with the arm’s own numbers.
The rank is three of three from any four well-spread poses — full, with a comfortable gap, and unimproved by more poses. That is the same behaviour a four-bar shows: rank arrives at the parameter count and stops.
The conditioning improves with poses and flattens, and the knee is later than a four-bar’s because there are more directions to span. Three parameters rather than four is not the driver; the driver is that each pose contributes two rows (a tool x and a tool y) rather than one, so the matrix fills faster in rows and the same directions have to be spanned.
And the amplification is one over the smallest singular value, as always, and it is the number to print beside a residual.
The redundancy resolution is not cyclic
One of the field’s own findings interacts with all of this and is worth putting beside it.
A redundant arm driven round a closed loop in task space does not return to the same joint configuration. The tool comes back and the elbow does not.
For a calibration that is a hazard of a specific kind: a plan that drives the arm through a sequence of tool positions and returns to the start has not returned to the start, so a repeat of the plan measures a different set of configurations.
Two consequences. A drift check that returns to the first tool position does not return to the first pose, so a discrepancy there is not necessarily a drift. And repeating a plan for the averaging gain does not average the same rows.
Both are fixed by planning in joint space, and both are invisible in a plan written in task coordinates — which is how a plan is naturally written, because task coordinates are what the arm is for.
Poses in three dimensions
The pose plan’s dimension is the practical difficulty and it is worth putting a number on.
A four-bar’s candidate poses are a circle, and three dozen points on a circle is a fine pool. An arm’s are a box in joint space: three angles, each over its own range, and a pool with three dozen points in each dimension is forty-six thousand candidates.
A greedy selection over forty-six thousand candidates, taking eight, is three hundred and seventy thousand decompositions. That is still seconds rather than minutes and it is a different scale of computation from a four-bar’s two hundred and eighty.
For a six-axis arm the pool is six-dimensional and a grid is hopeless. Practice there is to sample the joint space randomly, a few thousand candidates, and select greedily from the sample — which is a sampled optimum of a sampled pool, two approximations rather than none.
The dimension of the pose space is what makes an arm’s plan an approximation and a linkage’s exact, and it is the difficulty that scales worst with the machine.
A joint-angle offset is a parameter too
One more column that belongs in the list and is easy to leave out, because it is not a dimension.
An encoder reads zero somewhere, and where it reads zero relative to the link’s actual direction is a parameter of the machine. Three joints, three offsets, and every one of them is as much a property of the built arm as a link length is.
They are dimensionless, which puts them in the same class as a spatial loop’s twists: untouched by a scaling, and therefore not in the invisible direction — though an arm has no invisible direction anyway.
What they do affect is the count. A planar three-link arm calibrated against an external instrument has three lengths, three offsets, three for the base frame and two for the tool point: eleven parameters for a machine a reader would describe with three numbers.
That is the shape of every real arm calibration and it is why the parameter count matters more here than anywhere else on this site. Eleven columns need many more poses to span than three, and every one of the eight that are not lengths is a candidate for being left out and absorbed.
What a plan looks like here
Putting it together, a measurement plan for a planar three-link arm differs from a four-bar’s in three ways and is the same in the rest.
Specify it in joint space. Three angles per pose, recorded, not derived from a task position.
Keep away from the singular configurations, which are the collinear ones at full extension and full folding, and which a selection rule avoids anyway because the rows there are short.
Spread in the row space rather than in the workspace. That is what the greedy selection does and it is the instruction that differs most from intuition, because the workspace is visible and the row space is not.
And then the rest is unchanged: enough poses to span, a few more for the conditioning, repeats for the √n, the residual against the instrument’s own repeatability, and the rank and amplification printed with the answer.
The error the field already measures
The serial field computes a pose error and a workspace loss, and both interact with the identification apparatus in a way worth stating.
The field’s error figure shows how far the tool lands from where it was commanded, given errors in the joint readings. That is a forward propagation: given parameter or reading errors, what does the tool do.
An identification is the same matrix read backwards: given tool measurements, what were the parameters. The matrix is the same one, its rows are the same rows, and the two questions are the forward and inverse readings of one object.
That gives a free result. Wherever the field has computed a pose-error sensitivity, it has computed a column of the identification Jacobian, and the conditioning that decides how well a calibration recovers a parameter is the same conditioning that decides how strongly that parameter’s error reaches the tool.
A parameter that matters a lot to the tool is a parameter a measurement of the tool recovers well. That is a pleasant alignment and it is not universal — it holds because the same map is being read both ways — and it means an arm’s calibration recovers best exactly the parameters whose errors matter most.
Nothing is invisible and it is still hard
An arm is the counter-example this field needs, and the shape of the counter-example is not the one anybody expects.
Measured by tool position, an arm has no unidentifiable direction at all. The readings are coordinates and coordinates carry a length, so the scaling that hides on every angle-read machine in this survey is visible here; the base and tool frames absorb their six numbers and after that every remaining parameter moves the tool somewhere a measurement can see. On the one question this whole field is organised around — what can be recovered — an arm is easier than a four-bar.
And arm calibration is nonetheless the hardest routine practice on this site, which means the field’s central question is not the one that decides the difficulty.
What decides it is three ordinary things. Conditioning, because the parameters are of two kinds and a plan in the wrong coordinates weights them badly. Dimension, because thirty parameters need a great many more poses than four do and the poses have to be spread over a three-dimensional workspace rather than a circle. Redundancy, because an arm with more joints than the task needs does not repeat a pose when commanded to a tool position, so a plan in task coordinates does not specify what the machine will actually do.
Each of those has an ordinary answer — better poses, more of them, a plan written in joint space — and none of them is about rank. That is the useful observation and it cuts against the way this field naturally reads. A rank computation is the first thing to do and it answers one question; having answered it, an arm’s remaining difficulty is entirely in the quality of what can be recovered rather than in whether it can be.
The contrast with a closed chain is the sharpest one the survey has produced, and it is worth ending on because it explains a practice. An arm cannot calibrate itself from its own joint sensing at all: an open chain has no loop, so there is no equation its parameters must satisfy, and any number of joint readings at any number of poses says nothing whatever about the geometry. A four-bar with two encoders determines its own shape. A platform with instrumented joints determines nearly all of itself. An arm determines nothing about itself, ever, from inside.
So every real arm calibration brings something into the room — a laser tracker, a coordinate machine, a ballbar, a fixture the tool is touched against — or manufactures a constraint by pressing the tool onto a plane and closing the chain through the floor. That looks like conservatism, or like an industry that has not noticed self-calibration. It is neither. It is a topological fact about open chains, and no instrumentation of the joints will ever get round it.
About the same objects
Not linked from either essay — found by the objects both name.
- Four indices, four answers calibration · identifiable · identification jacobian · pose selection
- Two instruments disagree about the worst calibration · identifiable · identification jacobian · pose selection
- What a model is allowed to change calibration · identifiable · identification jacobian · redundant parameter
- What another measurement is worth calibration · identifiable · identification jacobian · pose selection
- A dimension is a measurement calibration · identifiable · identification jacobian
- A number that runs away calibration · identifiable · serial chain
What links here
Essays that link to this one from their own argument.
- A platform that measures itself Several legs, one platform
- A ruler and a protractor Numbers that were measured
The objects this essay names
Each one links to every other essay that touches it.
CalibrationIdentifiableIdentification jacobianPose selectionRedundant parameterSerial chainSingular configurationWorkspace