What a calibration cannot see
Assumes Four numbers or a screw and Where an error at the shoulder ends up.
A robot arrives with a model: where its axes are, how long its links are, where the tool sits. The model is wrong — castings shrink, bearings sit where they sit, a tool gets bumped — and calibration is the business of fitting it to measurements of where the tool actually goes.
Fitting is least squares, and least squares has a rank.
Why a fit can be perfect and useless
Before the arithmetic, the shape of the problem. A calibration is a least-squares fit and a least-squares fit always returns something: give it thirty-six parameters and a hundred measurements and it will hand back thirty-six numbers with a small residual, whatever the geometry.
What it will not do is report that six of those numbers were determined by nothing. Along the unidentifiable directions the residual is exactly flat — the fit is free to slide anywhere and the measurements do not object — so where it stops depends on the starting guess, the regularisation, and the arithmetic’s rounding. Run the same calibration twice from different seeds and six combinations come back different while the predictions are identical to the last digit.
That is a well-behaved failure and a dangerous one. The model works: it predicts the tool’s pose as well as the measurements allow. The parameters do not mean anything individually, and anybody reading them as physical facts — “the shoulder axis has moved 0.3 mm since last year” — is reading arithmetic noise along a flat direction.
The rank is what says which reading is safe.
The model, and what is in it
Each revolute joint’s axis is a line in space: two numbers for its direction and two for its position across itself. Sliding it along itself changes nothing, and spinning it about itself changes nothing, so four parameters is a complete description of a revolute joint’s geometry.
A sliding joint is a direction rather than a line, and moving it sideways changes nothing whatever: two parameters. That is a fact about the joint rather than a discovery, and it is stated in the model rather than left to be found as a rank deficiency — a hole a model digs for itself is not a finding.
Then the two ends: six parameters for where the arm is bolted down, and six for where the tool sits relative to the flange. Both are genuinely unknown on a real installation and both have to be in the model.
For a six-joint arm that is .
Thirty of them
Build the matrix by nudging each parameter and asking how the tool pose moves — a central difference of the whole forward map, at every posture, stacked. Then take its rank.
Thirty, and the number is not a coincidence. The classical result, from Everett and Hollerbach in the 1980s, is that a serial arm’s identifiable parameter count is
for revolute joints and prismatic ones. For a six-joint arm, .
That count and this rank were computed with nothing in common: one is a formula from a paper and the other is a numerical rank of a matrix of finite differences. They agree on four different arms:
| arm | parameters | rank | 4R + 2P + 6 | gap |
|---|---|---|---|---|
| six-joint elbow | 36 | 30 | 30 | 2.7 × 10⁴ |
| seven-joint S-R-S | 40 | 34 | 34 | 4.2 × 10⁴ |
| SCARA (3R + 1P) | 26 | 20 | 20 | 4.0 × 10⁵ |
| planar three-link | 24 | 18 | 18 | 1.5 × 10⁶ |
The deficit is six in every case, and six is the number of parameters in a rigid displacement. That is the whole explanation: displace the base by some transform and displace every joint axis and the tool by the same transform, and nothing about the arm has changed — the tool goes exactly where it always went. Six parameters of the thirty-six describe a change that is not a change.
The combination, named
“Six unidentifiable directions” is a statement a reader cannot check. What can be checked is a direction, written out.
Read the terms and the redundancy is legible: a rotation applied to the tool frame can be taken out again by rotating the wrist axes the other way, and a base motion can be absorbed by the first joint’s position. What a measurement sees is the composition, and the composition is unchanged.
This is why “which parameters are unidentifiable” is a question with no answer while “how many” has a definite one. The unidentifiable set is a six-dimensional subspace and any basis of it is as good as any other; the six particular combinations printed depend on how the eigenvectors came out. A calibration deals with this by removing six parameters from the model by fiat — fixing the base frame, or the tool frame, or six joint parameters — and which six is a convention.
Take the ends off and the deficit goes
The claim that the six missing directions are a rigid displacement of everything can be tested by removing the thing that makes them possible.
Drop the base frame from the model — assert that the arm is bolted exactly where the drawing says — and the remaining thirty parameters come out rank thirty, deficit zero. Drop the tool frame instead and the same: thirty parameters, all thirty identifiable. Drop both and twenty-four parameters are twenty-four identifiable.
So the deficit is not a property of the arm at all. It is a property of a model that carries a free frame at each end, and it disappears the moment either end is nailed down. That is the honest way to describe it, and it is what a working calibration does: fix six parameters somewhere by convention, fit the other thirty, and never discover that the six so fixed were the ambiguous ones, because the question was never put.
The choice of which to fix is not free of consequence, though the rank is. Fixing the base means every geometric error accumulates into the tool frame’s fitted value; fixing the tool means it accumulates into the base’s. Either way the predictions are identical — the model reproduces the same tool poses — which is what “unidentifiable” means, and is why nobody is harmed by the convention as long as nobody reads the individual numbers as physical facts.
Measuring the position only
The count assumed each measurement gives a whole pose: three coordinates and three angles. A great many calibrations measure only the position — a laser tracker following a retroreflector on the flange gives three numbers per posture and nothing about orientation.
The arithmetic changes and the conclusion does not. Each posture then contributes three equations rather than six, so twice as many postures are needed to reach the same rank — ten instead of five for this arm — and the parameters that only affect orientation become harder to see, not impossible: they still move the measured point, because the point is offset from the wrist.
Except when it is not. A retroreflector mounted exactly on the last joint’s axis has a lever arm of zero, which the error budget already established, and that joint’s parameters then affect nothing measurable at all. The fix is to mount the target off the axis, and to measure at several tool offsets — which is why calibration artefacts are asymmetric lumps rather than tidy spheres on the flange, and the reason is one perpendicular distance.
Two decisions that had to be got right
The rank above is a number of the kind this site distrusts: an integer produced by a threshold. Two things had to be done properly before it meant anything, and both were got wrong first.
Normalise the columns. The matrix mixes units. A column for a tilt answers in tool motion per radian; a column for a shift answers in tool motion per metre; the tool’s own six are three of each. So the columns differ in size by factors that have nothing to do with independence, and a rank tolerance applied to the raw matrix is reading the units. Unnormalised, this returned 31 for the six-joint arm and 20 for the planar three-link — both wrong, and both decided on a gap of about 1.2, which is a coin toss reported as an integer.
Scaling a column changes no rank, so normalising costs nothing and buys the gaps in the table.
Take the rank from singular values, not from elimination. Row reduction with a relative threshold answers this badly, because the columns are finite differences: a genuinely null direction produces a pivot at the difference noise, around , which is within a factor of ten of the threshold. Singular values put the whole spectrum on the table instead, and an essay can print the smallest kept and the largest dropped and let a reader see the four orders between them.
These are the same two lessons the seating fixtures in the practice field taught, in the same order — that a rank must survive a change of units, and that a rank decision should report how close it was.
Five postures, and why anyone measures fifty
Each posture measured contributes six equations. The rank rises by six per posture and then stops.
The answer is the second curve, which is not in the figure’s line but is in its numbers: the gap between the weakest real parameter and the strongest imaginary one runs from at five postures to at twenty. A thirty-fold improvement in how clearly the model separates from its own null space.
Determined and well determined are different properties. Five postures give a fit that exists; twenty give one that survives a measuring instrument with noise in it. This is the same distinction the precision-point essay drew about synthesis, where the positions a linkage is fitted through can be exactly satisfied and badly chosen, and it is why measurement design — which postures to visit — is a subject of its own.
The choice of postures matters as much as their number, and this site does not make it: the eleven used here are a spread produced by a formula, and a real calibration chooses them by optimising an observability index. That is a design problem with an objective in it and it sits outside this field.
What this has to do with the parameterisation
The second essay in this field measured that a Denavit–Hartenberg table’s parameters jump by times a nudge when two consecutive axes are parallel. This essay is where that stops being an aesthetic complaint.
Fit a discontinuous parameterisation and the fit is ill-conditioned exactly where the design is best. An arm with deliberately parallel axes is easier to build accurately and harder to identify; a small physical change of the kind a calibration exists to find produces an enormous change in the fitted numbers; and two calibrations of the same arm at different times return values that cannot be compared.
The count above does not care — 4R + 2P + 6 is a property of the arm, not of the description, and the rank comes out the same whichever parameters are used. What changes is the conditioning, which is why the robotics literature has a family of models built specifically to avoid the problem, and why the model in this file is joint screws rather than a table.
That separation is worth stating plainly, because it is the essay’s most transferable sentence. How much can be learned is a property of the machine. How well it can be learned is a property of the description.
A rank that is a fact about a machine
It is worth collecting what kind of statement this essay has actually made, because the site has a category for it.
The applied field sorted catalogue numbers into five verdicts and found that the only exact ones were counts — a mobility, a rank, a ratio of tooth counts — because an integer cannot vary with position and has no operating point to be quoted at. Thirty is such a number. It does not depend on the posture, on the units the arm is written in, on how many measurements are taken, or on which description of the arm is fitted. Change any of those and it is still thirty.
It is also a number with a formula, which puts it in the small class of quantities on this site where a count and a measurement can be set against each other. That class is the site’s most productive: Grübler’s criterion against the Jacobian’s rank, Kutzbach’s against the screw system’s, the corrected count with its ν term, and now Everett and Hollerbach’s against a matrix of finite differences. Four arms, four agreements, and the value of the agreement is that either side could have been wrong.
What the formula cannot report, and the measurement can, is how far from deficient a particular arm is. The gaps in the table above span two orders of magnitude between the six-joint arm and the planar one — the ranks are equally definite and the confidence is not. That is the same distinction the rank routine has reported since the foundation, and it is the reason a rank on this site always comes with the margin it was decided by.
Which end to fix, and what it decides
The rank does not care which of the two ends is held fixed, and the essay says the choice has a consequence. The consequence is worth naming, because it is about what the fitted model is true relative to rather than about how well it fits.
Fix the base — assert that the arm is bolted exactly where the drawing says — and the six directions that were free are removed from the base’s side. Every remaining error then has to be absorbed by the parameters that are still free, which means the fitted tool frame and link geometry now carry whatever the base’s real misplacement was. The model predicts the tool’s pose accurately in the base’s nominal frame, and it is wrong about where the arm physically sits.
Fix the tool and the arrangement reverses. The fitted base frame absorbs the error, the model is accurate in the tool’s own frame, and it is wrong about the tool’s offset.
Neither is more correct and the residual is identical, which is exactly what a rank deficiency means. What differs is which frame the model tells the truth in, and that has to match the frame the application works in.
So the choice follows from the job rather than from the arm. A cell that positions parts against a fixture measured in the cell’s coordinates wants the base fixed to the cell’s frame, because that is the frame in which the tool’s predicted pose has to be right. A hand-guided arm, or one whose tool is exchanged and re-measured, wants the tool end held and the base fitted, because the tool is the thing whose location is independently known.
And getting it wrong is a failure that no residual reports. The fit converges, the errors are small, the arm repeats — and the tool arrives systematically offset in the one frame anybody cares about, by the amount of whichever rigid displacement was absorbed into the wrong end. That is the practical shape of a rank deficiency: not a fit that fails, but a fit that succeeds in the wrong coordinates.
What calibration cannot fix
Calibration adjusts a kinematic model, and a real arm’s error is not entirely kinematic.
Deflection under gravity and payload is a posture-dependent error that no rigid model can absorb — fitting it into the joint parameters produces a model that is right at the postures measured and wrong elsewhere, which is worse than not fitting it, because the error is now hidden.
Backlash gives a joint a band rather than an angle, and which end of the band it is at depends on which way it last moved. A single-valued model cannot represent that at all, and the residuals a calibration leaves behind are partly this.
Thermal drift moves the geometry faster than a calibration can be repeated, which is why the model is fitted warm and why a machine’s accuracy specification comes with a temperature.
What calibration does fix is the largest and most stubborn part: an arm whose model is wrong by a millimetre in a link and a tenth of a degree in an axis, which is an ordinary state for a machine off the line, and whose tool is then out by several times that through the lever arms. Getting from a taught-point machine to one that can be given a coordinate is what those thirty numbers are for.
About the same objects
Not linked from either essay — found by the objects both name.
- Where the arm loses a direction conditioning · jacobian · rank · serial manipulator
- A straight line at constant speed conditioning · jacobian · serial manipulator
- Free to turn and unable to conditioning · null space · rank
- It moves to first order and not at all null space · rank · tolerance
- The test is a program, not a rank conditioning · null space · rank
- Two routes to a Jacobian jacobian · rank · serial manipulator
What links here
The 8 of 10 essays linking to this one that name the most of the same objects.
- Four numbers or a screw One path to the tool
- The freedom that does nothing One path to the tool
- Where an error at the shoulder ends up One path to the tool
- Four joints that give a group, and four that do not What a joint is
- The distance between two poses One path to the tool
- Six things a joint is not Drawn wrongly
- The arm that is a group One path to the tool
- Which way did the bicycle go Wheels, and where they may not go
The objects this essay names
Each one links to every other essay that touches it.
CalibrationConditioningDenavit–Hartenberg parametersIdentificationJacobianNull spaceParameterisationRankSerial manipulatorTolerance