Numbers that were measured

A dimension is a measurement

Every library on this site takes the numbers on the drawing as given: chosen by a designer, cut by a machinist, and thereafter known. They are not known. This field runs the same kinematics with the parameters as the unknowns and the motion as the data, and the first thing that appears is a question with an exact answer — which of them can be recovered at all.

m.joint("A", x, y) and there it is. fourBar({ g: 4, a: 1, b: 3.5, c: 3 }) and the mechanism exists, with four numbers in it that the solver will use and never question.

Twenty-five fields have been built on that sentence. The foundation is handed lengths and finds where the pins go. Synthesis is handed prescribed positions and produces lengths, which it then hands on. The tolerance field gives the lengths ranges rather than values and asks how far the output moves — and even there the range is an input, a number a designer chose and wrote on a drawing.

In every one of those the parameters are known. They are not known.

A dimension on a drawing is a demand. A dimension of a machine that exists is a measurement, and the two differ by however well the thing was made — which is what the tolerance field is about, and which it treats as a bound rather than as a quantity anybody ever goes and finds out. This field goes and finds out. It runs the same kinematics with the parameters as the unknowns and the motion as the data.

The identification Jacobian of a four-bar, read by protractor. One row for every number the instrument reads and one column for every parameter that might be wrong. Each cell is the derivative of that reading with respect to that parameter, drawn to the right of its centre line when positive and to the left when negative, with the largest entry in the whole matrix at 4.09e-1. 14 rows against 4 columns: far more equations than unknowns, which is what makes an identification a least-squares problem rather than a solve, and what makes the question of which combinations of columns cancel a real one. These are the same derivatives the tolerance field computes one at a time — the same matrix read down instead of across.
Fig. 1 The object this field is about, and the reason it needed no new solver: every entry is a derivative the tolerance field already computes.

The third corner

The site has had two corners of a triangle almost from its first essays and has never drawn the third.

Given the lengths, find the motion. That is analysis, the thing this collection opens with, and it is the reader’s problem: here is a machine, what does it do. The answer is a solve, one configuration at a time, and it is exact.

Given the motion, find the lengths. That is synthesis, and it is the designer’s problem: a motion is wanted, and the question is which machine produces it. The classical constructions prescribe exactly as many positions as there are free numbers and solve exactly — three positions give a dyad, five give a Burmester curve, and prescribing more is asking for a mechanism that does not exist.

Given a motion that was observed, find the lengths it came from. That is this field, and it is the third problem: here is a machine somebody built, what is it actually made of. The difference from the second is not noise and is not carelessness. It is that an observation gives far more equations than there are unknowns — twenty readings for four parameters, four hundred for thirty — and the moment there are more equations than unknowns, a question appears that neither of the other two problems can ask.

Not what are the lengths. Which of them can be recovered at all.

That question has an exact answer, it is a question about the rank of a matrix, and on this site’s own default four-bar the answer is three.

The matrix, which was already here

Stack one row for every number the instrument reads and one column for every parameter that might be wrong, each entry the derivative of that reading with respect to that parameter. The result is the identification Jacobian, and it is the object the whole field turns on.

Its entries are not new. The tolerance field computes exactly these derivatives, by implicit differentiation of the constraint equations:

J ∂x/∂ℓ + ∂f/∂ℓ = 0   ⟹   ∂x/∂ℓ = −J⁻¹ ∂f/∂ℓ

through the same analytic Jacobian the solver has been taking Newton steps with since the foundation. It uses one row at a time and asks how far the output moves when a length is wrong. This field stacks a hundred of them and asks what the stack’s null space is.

The same matrix, read down instead of across. A column of the stack is a sensitivity; a row is a pose; the whole thing is the derivative of the map from parameters to observable motion. That is why this field needed no new solver and why every number in it can be checked against a field that has been running here for years of essays.

What 20 poses determine. The singular values of the identification Jacobian, on a log axis, with the rank cut at 1e-9 of the largest. 3 of 4 parameters are determined; 1 is not, and the one that is not sits at 3.85e-15 against the largest at 1.97e+0. That is not a small number, it is nought: the gap between the last kept value and the first discarded one is a factor of 9.8e+13, so the decision does not depend on where the cut is put. The condition number over the recovered directions is 5.21.
Fig. 2 The rank of that matrix is how many parameters twenty readings determine, and the decision is not a close one.
The direction no protractor can see. The measured null direction of the identification Jacobian against the four link lengths themselves, both normalised so the largest entry is one. They are the same vector to 1.3e-15. That is Euler's relation rather than a coincidence: the output angle depends only on the ratios of the lengths, a function homogeneous of degree zero is annihilated by its own argument, and the residual over all 24 rows is 7.61e-15. Scaling this four-bar by any factor whatever produces a machine no reading of its output angle can distinguish from it.
Fig. 3 And the direction the readings cannot reach, measured, beside the direction the algebra predicts.

The first answer, and it is exact

A four-bar read by a protractor on its output link has rank three, not four.

The missing direction is not obscure and it is not numerical. The output angle of a four-bar depends only on the ratios of its lengths: a machine at twice the size, at the same crank angle, puts its output link at exactly the same angle. So the function is homogeneous of degree zero in the four lengths, and a function homogeneous of degree zero is annihilated by its own argument — Euler’s relation, one line of calculus:

g ∂ψ/∂g + a ∂ψ/∂a + b ∂ψ/∂b + c ∂ψ/∂c = 0

The parameter vector is a null vector of its own identification Jacobian, at every pose, exactly. Measured over twenty-four poses of the site’s own four-bar the residual is 7.6 × 10⁻¹⁵, which is one linear solve’s worth of arithmetic and nothing else, and the measured null direction is (1, 0.25, 0.875, 0.75) against the lengths’ own (4, 1, 3.5, 3) normalised — the same vector to fifteen figures.

The fourth singular value is 4.5 × 10⁻¹⁵ against a largest of 2.16. The gap between the last kept value and the first discarded one is a factor of 10¹⁴, so the rank decision does not depend on where the cut is put, which is the difference between a measurement and a convention.

So: a four-bar measured with a protractor is a three-parameter machine, however many readings are taken, however good the instrument, forever. The fourth parameter needs a ruler.

Why this belongs on this site

The boundary essay sets the test for whether a quantity is inside the site’s standard of evidence, and it is a sharp one: can every input be read off a drawing? Friction needs a coefficient, elasticity a stiffness, inertia a mass, wear a rate. Each is a property of a material, measured, varying with conditions, quoted with an uncertainty larger than most of the effects here — and a figure resting on one is a figure whose most important input cannot be verified.

Nothing in this field is one of those.

A measured pose is a number read off an instrument. A hole position is a number read off a drawing. A setup is a fact about a factory, and where one enters it enters as a stated fraction rather than as a fitted one, with the essay saying so. The identification Jacobian is built from the same derivatives the tolerance field computes from geometry. There is no force anywhere in the field and no material property anywhere in it.

That same boundary essay ends by naming what the work after the tolerance field should do first — take the feature positions as the variables and derive the lengths from them, since two pivot holes bored in one setup share an error and no analysis on the lengths can see it. This field does that, and it turns out to be the same subject as identification rather than a neighbour of it: both are about where a number on a drawing comes from and what could ever confirm it.

What each instrument recovers. The same twenty poses of the same four-bar, read three ways. A protractor on the output link recovers 3 of the four lengths and leaves the fourth exactly invisible, because its readings are dimensionless in the lengths and scaling the machine does not move them. A coordinate machine on the tracing point recovers all six parameters — the four lengths and the two that say where the tracer sits — at a condition number of 162.3. Using both recovers the same six at 26.1, 6.2 times better, which is the case for putting two instruments on one machine: not more parameters, better-conditioned ones.
Fig. 4 Three instruments on one machine. What each recovers is decided by the units of its readings, which is a fact about the instrument and not about the mechanism.

What the field will find

Four things, so a reader knows what is coming and can decide whether to believe it.

A calibration returns a machine that is not the one measured, and every reading agrees with it. A four-bar built out of true is measured at thirty positions and fitted from the nominal dimensions. The fit reproduces every reading to 1.8 × 10⁻¹⁶ radians and returns four lengths not one of which is the machine’s — they are the machine’s, multiplied by 0.99229, every one of them. The shape is exact and the size is a free parameter that the damping happened to leave near where it started.

A model missing a parameter absorbs it into the ones it has, and improves the machine while doing so. Give the truth a tracing point 0.198 units from where the model says and fit only the four lengths: the error over the measured half-turn falls by a factor of 33, the error over the unmeasured half falls by 21, and the rocker comes back 8% short. Every practical test says the calibration worked.

Some ambiguities are not directions but separate answers. Roberts’s cognates — three four-bars tracing one coupler curve, which the synthesis field proved here long before — read as an identification result are three exact global minima of one least-squares objective, with crank lengths 60% apart. No instrument chooses between them.

And the standard description of a robot arm breaks where the arm does not. Two nominally parallel joint axes have no unique common normal, and the Denavit–Hartenberg convention reads all four of its numbers off that line. At a hundredth of a degree of unintended twist the offset it assigns is −1,102 link lengths and the “link length” of a unit link reads 0.196. A chart that never asks for the common normal has a condition number of 7.5501, flat to five figures over the same three and a half decades.

Square, and tall

The difference between the second problem and the third is worth putting in one sentence of linear algebra, because it is the whole of why the third has a question the second cannot ask.

Synthesis prescribes as many conditions as the mechanism has free numbers. Three prescribed input–output pairs against three coefficients; five prescribed positions against the five free numbers of a dyad. The system is square. It has a solution or it does not, the solution is exact, and asking whether a coefficient is determined is meaningless — the system determines all of them or none.

Identification measures thirty poses against four parameters. The system is tall, by a factor of seven or seventy, and a tall system does something a square one cannot: it can be consistent in some directions and blind in others. The columns of a tall matrix can be linearly dependent while every row is a perfectly good equation, and when they are, no number of extra rows fixes it. That is exactly what happens here. Twenty-four rows, four columns, rank three: every row is honest, every reading is real, and one combination of the columns is zero.

The practical form of the same statement is worth having beside it. A designer who cannot synthesise a linkage for three positions is told so immediately — the construction returns nothing, or returns an imaginary coupler. A metrologist whose parameters are unidentifiable is told nothing at all. The fit converges, the residual falls to the noise, and four numbers come back. The failure of the third problem is silent in a way the failure of the second is not, which is the reason this field’s first essay is about a rank rather than about a technique.

What a reading is, and why its units decide everything

The result above sounds like a fact about four-bars and it is a fact about protractors.

A protractor’s reading is an angle. An angle is dimensionless, so the derivative of an angle with respect to a length has dimensions of one over a length — and every entry of a column of the identification Jacobian, scaled by that column’s own parameter, is then a pure number. That is exactly the condition Euler’s relation needs, and it is why the null vector is the parameter vector: the matrix cannot tell the difference between a machine and the same machine bigger, because nothing it reads has a size in it.

A coordinate measuring machine’s reading is a position. A position has a length in it. Scale the machine and the reading scales, and the column combination that cancelled no longer cancels. On the same twenty poses of the same four-bar the rank goes from three to four, and the fourth singular value is not marginal — it is 0.47 against a largest of 4.6, one part in ten rather than one part in 10¹⁴.

So the null space belongs to the pairing, not to either half of it. That is the most useful thing in this essay for anybody who is not reading it about four-bars. The question is this parameter identifiable is not well formed. The question is is this parameter identifiable from these readings at these poses, and the answer changes when any of the three does.

It changes in the other direction too, and less obviously. Putting both instruments on the machine at once recovers the same six parameters as the coordinate machine alone — and at a condition number of 26 rather than 162, six times better. Not more parameters: better-conditioned ones. Two instruments whose readings are in different units are not redundant, because the information they carry is in different directions of the same space.

What a null space is not

Two misreadings are worth heading off, because both are natural and both would make the field look like a complaint about arithmetic.

It is not a numerical difficulty. A singular value of 4.5 × 10⁻¹⁵ is not a small number that better conditioning would rescue. It is nought, and it is nought for a reason stated in one line of calculus that holds for every four-bar at every pose. More data does not help, a better protractor does not help, and a cleverer fit does not help. The information is not in the readings.

And it is not a fault in the mechanism. The machine is perfectly well behaved. What has a null space is the pairing of a mechanism with an instrument: change the instrument to one whose readings carry a length and the rank goes to four immediately, on the same poses of the same machine. That is the pattern the whole field runs on, and it is why every result here names three things — the mechanism, what is measured, and where.

Nine parameters, two of them invisible. A Watt six-bar has seven lengths, a fraction that says where a point rides on its rocker, and a third ground pivot with two coordinates. Reading its output link with a protractor over 28 poses gives a matrix of rank 7: two directions are invisible, at 8.24e-10 and 5.06e-10 against a largest of 7.49e+0. One is scaling the whole machine, with a zero against the fraction, because a fraction is not a length. The other is scaling the second loop alone about O₄ — that loop is a four-bar in its own right and its own size does not reach the output angle. The two wrong guesses a reader would try, scaling those five parameters about O₂ or scaling the first loop alone, are refused at 1.5e-1 and 2.0e-1.
Fig. 5 The same question of a mechanism with nine parameters, where the answer is two directions rather than one and the second is not a scaling of the machine at all.
What 20 poses determine. The singular values of the identification Jacobian, on a log axis, with the rank cut at 1e-9 of the largest. 6 of 6 parameters are determined; 0 are not, and the ones that are not sit at 0.00e+0 against the largest at 1.62e+1. That is not a small number, it is nought: the gap between the last kept value and the first discarded one is a factor of —, so the decision does not depend on where the cut is put. The condition number over the recovered directions is 162.26.
Fig. 6 And the same twenty poses read by an instrument whose numbers carry a length: six parameters, six singular values, no null space.

The instrument this field uses, and the one it does not

Everything above is read off a singular value decomposition, and which one is a decision worth recording rather than a detail.

The routine this site has used for subspaces since it first wrote about spatial mechanisms accumulates the Gram matrix Σvvᵀ and takes its symmetric eigenbasis, which is exactly right for a 6 × 6 screw system and has one property nobody had written down: forming AᵀA squares the condition number, so the smallest singular value it can tell from nought is about 1.5 × 10⁻⁸ of the largest, whatever tolerance it is handed.

The null space this field looks for sits at 10⁻¹⁵ of the largest. The Gram route would report it as a kept direction and the nullity as zero — a wrong answer that looks exactly like a right one, arrived at silently, on a matrix that is not obviously large. So the decompositions here are one-sided Jacobi instead, which computes small singular values to high relative accuracy and resolves a ratio of 10⁻¹⁴ rather than losing it.

That is a result from numerical analysis rather than one of this site’s, and it is used here as theirs. What is this site’s is the consequence: a rank decision about a mechanism has to be made by an instrument whose floor is below the thing being decided, and the floor of the obvious instrument is above it.

Where the field goes

The order is the order of the argument. First the matrix and what its rank means, then the exact invariances — scale, and the three numbers that survive it, which turn out to be Freudenstein’s and to have been on this site since its first synthesis essay without anybody saying that is what they are. Then the fit itself: how it converges, what it returns, what it does with noise, and what it does with a parameter the model has not got. Then where to measure, which is a real question with a surprising answer. Then the other half — a length is not a toleranced quantity but a derived one, because a part carries holes and the holes are what is made. And last the chart that breaks, which is the field’s clearest case of a defect that belongs to a description rather than to a machine.

Every one of those is a question about where a number comes from. The site has been writing numbers on drawings for twenty-five fields and has never once asked what would confirm one.

What this makes readable

Essays that name this one as a prerequisite.

About the same objects

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

What links here

The 8 of 14 essays linking to this one that name the most of the same objects.

The objects this essay names

Each one links to every other essay that touches it.

CalibrationIdentifiableIdentification jacobianKinematic solveLeast-squaresMeasurement residualSingular valueToleranceUnidentifiable direction