A number that runs away
Assumes The common normal, and where it is.
Two joint axes, one unit apart, nominally parallel — the arrangement the shoulder and elbow of nearly every industrial arm are built to. Give the second a fixed out-of-plane tilt of a twentieth of a degree and close the in-plane twist towards zero.
twist offset d link length a θ
30° −0.0030 1.0000 0.100°
10° −0.0285 1.0000 0.288°
5° −0.1144 0.9999 0.574°
2° −0.7156 0.9997 1.432°
1° −2.8575 0.9988 2.863°
0.5° −11.3456 0.9950 5.711°
0.2° −67.4067 0.9701 14.036°
0.1° −229.1830 0.8944 26.565°
0.05° −572.9576 0.7071 45.000°
0.02° −987.8580 0.3714 68.199°
0.01° −1101.8416 0.1961 78.690°
What the table says
Read the first column and the last row together. The twist has gone from thirty degrees to a hundredth of a degree — the axes have become more nearly what the design intended — and the parameter describing where their common normal sits has gone from three thousandths of a link length to eleven hundred link lengths.
The other columns move too. The link length a, which is the shortest distance between two axes designed one unit apart, reads 0.196 at the bottom of the table. The angle θ swings from a tenth of a degree to seventy-nine.
Nothing physical has moved by more than half a degree. Every one of these rows describes an arm that a machinist would call correctly made, and the parameters describing them are unrecognisable as descriptions of the same object.
The link length reads a fifth of itself
Of the four numbers in the table, the offset is the one that runs away and the link length is the one that is hardest to accept.
a is defined as the shortest distance between the two axes. Two axes designed one unit apart, and made within half a degree of parallel, have a shortest distance of 0.196 at the bottom row of the table.
That sounds impossible until the geometry is drawn. The two axes are lines, not segments. Two nearly parallel lines one unit apart near the joint converge slowly, and if they are skew rather than intersecting, the point at which they come closest is far away — hundreds of units along, which is exactly where the common normal’s foot is. At that distance they have converged to 0.196.
So the number is correct and it is a distance between two lines at a place no part of the machine occupies. A parameter can be exactly right and describe nothing, and that is the whole trouble with this chart in one row of a table.
A reader designing a part from a = 0.196 would build a link a fifth of the intended length. Nobody does that, because nobody reads DH parameters as manufacturing dimensions — which is itself a tacit admission that they are not descriptions.
Two routes, and they agree
The site’s habit is that a number computed once is not a number, so the offset is obtained two ways.
The extraction takes the two axes as lines in space, computes the cross product of their directions, finds the unique line meeting both at right angles, and reads off where its foot lies. It knows nothing about any formula; it is the construction the convention specifies, carried out.
The closed form is
d = −A cos α cos β sin β / (sin²α cos²β + sin²β)
obtained by carrying that construction through symbolically once.
The two agree to a worst relative difference of 5 × 10⁻¹⁶ over all eleven rows. That is machine precision, and it means the construction and the algebra are the same thing rather than two things that resemble each other.
What A is, and why the offset scales with it
One reading of the table is easy to get wrong. The offsets are quoted in link lengths because A, the nominal distance between the axes, is one unit — and the offset is proportional to A.
So an arm with a 300 mm link and axes a hundredth of a degree from parallel has an offset of about 330 metres. The number is not a fixed property of the tolerance; it is the tolerance’s effect on that arm, and a bigger arm gets a bigger absurdity.
That proportionality is worth having because it says the ratio is the invariant. The offset in units of the link length depends only on the angles, so a small arm and a large one assembled to the same angular tolerance have DH tables that are equally uninterpretable — which is the useful form of the statement, since angular assembly tolerances do not scale with size.
It also means the number cannot be made comfortable by choosing units. Millimetres, metres or link lengths, it is three orders larger than anything the machine contains.
The measurement is of a construction, not of a machine
Worth being clear about what was measured, because there is no physical experiment here and there did not need to be one.
The eleven rows come from placing two lines in space at stated angles and carrying out the construction the Denavit–Hartenberg convention specifies. That is an exact computation on exact inputs, with no solver, no tolerance and no approximation anywhere. The only error in the table is floating-point.
So the result is not arms behave like this; it is this construction behaves like this, and every arm whose parameters are obtained by that construction inherits it. That is a stronger statement than a measurement of one machine would be, and it is the kind of statement the whole site prefers: a claim about a rule rather than about an instance.
It also means the numbers are checkable by anybody with a pencil. The closed form is three lines of trigonometry, the construction is a cross product and two dot products, and the eleven rows follow.
Why it runs away
The closed form is a quotient, and for small angles it is
d ≈ −Aβ / (α² + β²)
The numerator is a small thing. The denominator is a sum of squares of small things — which is much smaller — so the quotient is large.
The geometry behind that is worth saying without algebra. The common normal’s direction is the cross product of the two axis directions; two nearly parallel axes have a nearly zero cross product, so the direction is determined by whatever small departure from parallel exists. Rotate that direction slightly and the line, constrained to meet both axes, slides an enormous distance along them.
The line pivots, and its foot travels. How far it travels goes as the reciprocal of how nearly parallel the axes are.
The worst case is A over 2α
Fix the twist α and vary the out-of-plane tilt β. The offset −Aβ/(α² + β²) is zero at β = 0, zero as β grows large, and largest in between — at β = α, where it takes the value −A/2α.
Measured against the extraction:
twist worst d A/2α
5° −5.7150 −5.7296
2° −14.3181 −14.3239
1° −28.6450 −28.6479
0.5° −57.2943 −57.2958
0.2° −143.2389 −143.2394
0.1° −286.4786 −286.4789
0.05° −572.9576 −572.9578
At five degrees the bound is out by a quarter of a per cent, at one degree by a hundredth, and below that the two agree to the digits printed. It is a small-angle statement and it is checked where it applies.
At thirty degrees it is out by ten per cent — 0.857 against 0.955 — and that is checked too, as a refusal: a first-order expansion that were exact at thirty degrees would be evidence of a mistake rather than of a good bound.
The offset is large because the twist is small, which is the chart complaining rather than the machine. Setting the two parameterisations side by side is what separates the two claims: one of them has a coordinate that runs away in exactly this configuration and the other has not, and the mechanism underneath them is the same mechanism.
An error that improves as the machine improves
Turn the table round and read it as a statement about manufacturing, because that reading is the one that decides whether anybody should care.
A machine’s assembly tolerance is a promise: the axes will be within some angle of parallel. Tightening that promise is what a manufacturer does when accuracy matters, and it is expensive.
Here, tightening it makes one derived quantity worse without limit. An arm assembled to a degree has offsets of order 30; to a tenth of a degree, of order 300; to a hundredth, of order 3,000. Every improvement in the machine is a degradation in the numbers used to describe it.
There is no paradox in that and it is worth naming why, because the sentence sounds like one. The offset is not an error and it is not a quality. It is a coordinate, and a coordinate system that is singular where the machine is aimed produces large coordinates for machines close to the aim. Being far out in a coordinate system is not being far out, and the only thing wrong is the choice of coordinates.
The reason it matters anyway is that people read coordinates. A table of DH parameters with a −1,102 in it looks like a machine with something badly wrong, and a table with a −3 in it looks like a machine that is fine. The second arm is the worse one.
What a bound like that is for
A/2α is a design rule and it should be read as one.
An arm whose parallel pairs are assembled to within a tenth of a degree has, in the worst case, DH offsets of the order of 286 times its link lengths. An arm assembled to a hundredth has offsets of 2,860 times. Neither number is usable and the second is worse, which is the counter-intuitive part: improving the assembly makes the parameters worse.
That is the sharpest available statement of why the chart is the problem. Every other quantity in engineering improves as the tolerance tightens. This one diverges.
The rule also says when the chart is safe. Above a few degrees of twist the offsets are fractions of a link length and everything is ordinary, so a chain whose consecutive axes are nowhere within a few degrees of parallel can be described in DH parameters with no difficulty at all. The trouble is confined to a neighbourhood, and the neighbourhood is where the design aims.
Compared with the site’s other divergent quantities
This is not the first quantity on this site that runs to infinity, and putting them side by side says which kind of divergence this is.
A screw’s pitch becomes infinite for a pure translation. That is a divergence of a representation of a motion, the motion itself is perfectly ordinary, and the fix is to represent a screw by a line and a ratio rather than by a pitch.
A transmission angle does not diverge; it goes to zero at a dead centre, and the mechanism there genuinely cannot transmit. That is a divergence of the machine.
A sensitivity at a toggle becomes infinite because the implicit-function theorem fails: the Jacobian is singular and the derivative does not exist. That is a divergence of an object, and the honest report there is nothing rather than a large number.
This one is the first kind. The offset diverges because a construction is degenerate, and the machine at the degenerate point is the one the design intended. That is the distinguishing feature — the other divergences happen at configurations a designer avoids, and this one happens at the configuration a designer aims for.
The tilt is what makes it happen
One detail worth isolating, because it explains why the effect is not always seen.
With β = 0 exactly — the second axis tilted only in the plane of the two — the offset is zero at every twist. The two axes then intersect in the plane, their common normal is at the intersection, and nothing runs anywhere.
The divergence needs an out-of-plane component, and it needs the out-of-plane component to be comparable with the in-plane one. The maximum at β = α says exactly that: the offset is largest when the two departures from parallel are the same size.
So an arm whose assembly errors happen to be mostly in one plane has better-behaved DH parameters than one whose errors are isotropic, and neither is a better arm. The number depends on the direction of an error that nobody controls the direction of, which is another way of saying it is not a description of anything.
Reading the log-log plot
The figure plots the offset against the twist with both axes logarithmic, and the shape says two things a table does not.
Over the middle of the range the points lie on a straight line of slope −1, which is the 1/α behaviour the closed form predicts: each factor of ten closer to parallel multiplies the offset by ten. That is the regime where β is much smaller than α, so the denominator is dominated by α² and the quotient goes as β/α².
At the left end the line bends. Once α falls below β the denominator is dominated by β² instead, the offset saturates at about A/β, and further improvement in the twist buys nothing more. The bottom rows of the table show that: −988 at 0.02° and −1,102 at 0.01°, a factor of two closer to parallel for twelve per cent more offset.
So the divergence has a ceiling, and the ceiling is set by whichever departure from parallel is larger. The offset goes as one over the bigger of the two angles, and the A/2α bound is the value at the crossover where they are equal.
That is a more useful summary than either limit alone: an arm’s DH offsets are of order A divided by its worst assembly angle, whichever plane that angle happens to be in.
What it does to a fit
The consequence for a calibration is immediate and it is not subtle.
A nominal DH model of a parallel pair has d = 0, by convention. The real machine’s d is −1,102. A Gauss–Newton fit started from the nominal, taking steps bounded by damping, has no route from one to the other in any reasonable number of iterations — and the linearised correction it computes at the nominal is a statement about a neighbourhood the answer is not in.
Two of the parameters also trade against each other. A change in α of δ can be compensated by a change in d of roughly Aδ/α², so for small α the two columns of the identification Jacobian are nearly dependent and the conditioning in that pair is dreadful.
Both problems vanish in a chart with no common normal in it, whose parameters are all O(1) and whose conditioning does not move at all as the axes close. That is the next essay and it is what turns this one from an observation into a repair.
What a report should not contain
The practical instruction, and it is a prohibition rather than a method.
Do not quote a DH offset as a dimension. For a pair of axes that are not nearly parallel it is a real distance and quoting it is fine. For a nominally parallel pair it is a number of the order of a thousand link lengths, describing a point outside the machine, and a report that prints it beside a link length in the same units has printed two incomparable things.
Do not compare two arms’ tables entry by entry. Two arms of the same design, assembled to the same tolerance, have offsets of −1,102 and +780 because their small assembly errors happened to point differently. The difference between those two numbers is not a difference between the arms in any sense a reader would take it for.
And do not take a small change in a table as a small change in an arm, or the reverse. The map between them is ill-conditioned in one direction, and reasoning across it is exactly what the ill-conditioning forbids.
What can be reported is the geometry: where the axes are, in some frame, as directions and points. That is more numbers and every one of them is a description.
What the site does with this
Two things, and both are small.
The extraction routine refuses exactly parallel axes rather than returning the convention’s zero, because zero there is a choice and this field’s subject is the difference between a choice and a measurement. That refusal is one of the site’s own gate’s assertions.
And nothing on this site is described in DH parameters near a parallel pair. The serial field builds its arms from explicit axis directions and positions, which is a chart with more parameters and no singularity, and which was chosen for a reason that had nothing to do with this and turns out to have avoided it.
That is worth recording as luck rather than foresight. The choice was made because explicit axes are easier to read; the property that matters here is that the map from geometry to parameters is the identity, which no construction can make ill-conditioned.
It comes at a price the field should state. Explicit axes are six numbers per joint rather than four, so the description is not minimal and a fit in those coordinates has redundant directions. Both problems are real, they sit at opposite ends of one axis, and choosing between them is the subject of the two essays that follow.
What this makes readable
Essays that name this one as a prerequisite.
- The chart breaks, the machine does not Numbers that were measured
About the same objects
Not linked from either essay — found by the objects both name.
- A machine that measures itself calibration · identifiable · noise amplification
- An arm's parameters and its poses calibration · identifiable · serial chain
- Four indices, four answers calibration · identifiable · noise amplification
- How many poses are enough calibration · identifiable · noise amplification
- Two instruments disagree about the worst calibration · identifiable · noise amplification
- What another measurement is worth calibration · identifiable · noise amplification
What links here
Essays that link to this one from their own argument.
- The common normal, and where it is Numbers that were measured
- Six per joint is two too many Numbers that were measured
The objects this essay names
Each one links to every other essay that touches it.
CalibrationCommon normalDH parametersIdentifiableNoise amplificationParallel axis defectParameter chartSerial chain