Wheels, and where they may not go

How many wiggles

A bracket of two permitted directions may point somewhere new; the bracket of that with a permitted direction may point somewhere newer still. How deep the process goes before it stops is an integer — 2·3 for a wheel, 2·3·4 for a car, 2·3·4·5 for a car and trailer — and the same integer turns up as the exponent of a manoeuvre nobody told it about.

Assumes The motion left over by going nowhere.

A wheel’s two permitted directions span a plane, and their bracket points out of it into the third dimension. Three dimensions, filled. The process stops because there is nowhere left to go.

Most mechanisms are not that lucky. A car has four coordinates and two controls, so even after one bracket there are only three directions accounted for and a fourth to find. It is found by taking the bracket again — of the bracket with one of the original fields — and the question of how many times that has to be done is the subject here.

How many wiggles it takes. The growth vector: how many independent directions are available after one bracket, two, three. The first number is what the constraints leave and the last is the dimension of the configuration space, so the length of the row is how deep the manoeuvring has to go. A car needs one bracket more than a trolley and a car with a trailer one more again — and the ball changes by one depending only on whether it may be twisted.
Fig. 1 The answer for every mechanism in this field. Each row starts at what the constraints leave and ends at the dimension of the configuration space, and the length of the row is how many nested manoeuvres it takes to get from one to the other. Every number is a measured rank rather than a counted one.

The construction

Write Δ1\Delta_1 for the span of the permitted directions at a configuration — the plane, for a wheel; also a plane, for a car, since a car has two controls too.

Write Δ2\Delta_2 for the span of Δ1\Delta_1 together with every bracket of a Δ1\Delta_1 direction with a Δ1\Delta_1 direction. Then Δ3\Delta_3 for the span of Δ2\Delta_2 together with every bracket of a Δ2\Delta_2 direction with an original field. And so on.

Each Δk\Delta_k contains the one before it, so the dimensions can only rise or stay put, and once they stay put they stay put forever. The sequence of dimensions

dimΔ1, dimΔ2, dimΔ3, \dim\Delta_1,\ \dim\Delta_2,\ \dim\Delta_3,\ \dots

is the growth vector, and there are exactly three things worth knowing about it.

It starts at the number of independent controls — what the constraint rows leave.

It ends at the dimension of the reachable set. That is Chow’s theorem, and it is the piece of mathematics this whole field leans on: if the brackets eventually fill the space then the mechanism can be driven anywhere in it. The manoeuvre of the previous essay is the constructive half — a bracket direction is not merely spanned, it is travelled.

Its length is how many nested manoeuvres are needed, and that is the number this essay is really about, because it is the one with a physical consequence.

What the mechanisms return

A wheel: 2, 3. Two controls, one bracket, done. The bracket is the forbidden direction itself, so one manoeuvre reaches everything.

A car: 2, 3, 4. The controls are drive and steer, where steer changes the steering angle rather than setting it. Their bracket is not the sideways direction at all — it is a pure change of heading, a turn on the spot, which is not something a car can do directly. Taking the bracket again, of that with the drive field, gives the sideways direction. So a car reaches sideways only at the second level.

That is the formal statement of something every driver knows and no driver would put this way: a car cannot turn on the spot, and it cannot go sideways, and those are different degrees of difficulty rather than two instances of the same difficulty. Turning on the spot is one manoeuvre away; going sideways is two.

What a car forbids, and what it permits. The constraint rows above and the permitted directions below, at one configuration. The two were written from opposite ends of the same geometry — the rows from what may not happen, the fields from what may — and the largest product between any row and any field is 1.4e-17. That is this field's version of the two routes the rest of the site runs on, and every figure here rests on it: the pictures are drawn by integrating the fields and captioned with what the rows forbid.
Fig. 2 The car’s rows and fields. The second row is the one that makes the difference: it ties the heading rate to the distance travelled and to the steering angle, so a stationary car cannot change its heading and a car with its wheels straight cannot change it either. Both of those are needed before the sideways direction is reachable, which is why it takes two brackets rather than one.

A car and trailer: 2, 3, 4, 5. Five coordinates, still two controls, three brackets. Each additional towed unit adds a coordinate and a level, so a lorry with two trailers needs four and a road train needs five. Nothing about the mechanism gets harder except the depth, and the depth is what costs.

A ball on a plane: 3, 5. Five coordinates and three controls, because a ball resting on a plane may be spun about the vertical through its contact point without sliding. Three directions, one round of brackets, and the remaining two appear at once.

A ball that may not be twisted: 2, 3, 5. Forbid the spin — which is what happens to a ball held between two plates, or under a fingertip — and the same object has two controls instead of three, needs two rounds of brackets instead of one, and the second round produces two new directions rather than one.

That last pair is the sharpest thing in the table. The two mechanisms are the same ball on the same plane. Nothing has changed about the geometry, the radius, the contact or the coordinates. One constraint has been added, the count of freedoms has gone from three to two, and the growth vector has gained a level. The difficulty of manoeuvring a ball is not a property of the ball.

Round the square and back, turnedThe contact point's path is a closed square of side 90 mm, and the little arrows are a marked point on the ball's surface, carried round by the rotation. The ball ends where it started and pointing somewhere else: 2.6425 radians against the 3.2400 the loop's area predicts. Nothing about the ball's own path is closed — the trace it makes on its own surface is not — and that is exactly why the orientation does not come back.side 90 mm · turned 2.6425 radarea ÷ r² predicts 3.2400
Fig. 3 The untwistable ball, taken round a closed square. It arrives back at its starting point with its marked point somewhere else — a rotation about the vertical, which is exactly the direction the no-twisting constraint forbids, assembled out of four sides none of which twisted it. The second round of brackets is what produces the remaining two directions, and this is the first of them.

The second route, which knows nothing about ranks

Everything above is linear algebra on derivatives. The site’s standing habit is that a number computed one way is worth what a second computation says about it, and there is a second computation here that shares nothing with the first.

Fly the four-leg manoeuvre and fit the exponent of each coordinate separately against the amplitude.

For a wheel: the sideways coordinate comes out at 1.991.99.

For a car: the heading comes out at 2.022.02 and the sideways coordinate at 3.023.02.

Those are the depths, and the fit was given no integers and told nothing about brackets. A direction that first becomes available at level kk of the filtration moves by εk\varepsilon^k under a manoeuvre of amplitude ε\varepsilon. A wheel’s sideways coordinate is new at level 2 and moves as ε2\varepsilon^2; a car’s heading is new at level 2 and does the same; a car’s sideways coordinate is new at level 3 and moves as ε3\varepsilon^3.

The rule holds for the directions that are new and not for the others, and the exception is worth stating because leaving it out would make the correspondence look tidier than it is. A wheel’s along-track coordinate is available at level 1 — driving forward is exactly that — and it does not move as ε1\varepsilon^1 under the manoeuvre. It moves as ε2.99\varepsilon^{2.99}, and a car’s moves as ε5.05\varepsilon^{5.05}.

The reason is that the manoeuvre is built to cancel the directions it starts with. Its four legs undo each other in that direction by construction, so what survives there is not a bracket at all but the leftover of a deliberate cancellation, and its order is a fact about the manoeuvre’s symmetry rather than about the mechanism. The exponents that mean something are the ones belonging to directions the manoeuvre had no way of producing directly, and those are exactly the new ones at each level.

Which direction costs which power. The same manoeuvre, and the exponent of each coordinate separately. The directions the manoeuvre reaches — a wheel's sideways, a car's heading, a car's sideways — come out at whole numbers, and the whole number is how many brackets deep that direction is. A wheel's sideways is second order and a car's is third, because a car's steering angle is a coordinate rather than a control, and that single step is the difference between pushing a trolley sideways and parking. The marked rows are the along-track coordinates, which the manoeuvre cancels by construction: their exponents are leftovers of that cancellation and mean nothing about the mechanism.
Fig. 4 The exponents, fitted over a decade of amplitudes for two mechanisms. The single step from 2 to 3 between a wheel’s sideways coordinate and a car’s is the whole practical content of the growth vector: the same manoeuvre, made ten times smaller, wins a hundredth as much for a trolley and a thousandth as much for a car.

The two routes agree, and they are as independent as any pair on this site. One differentiates fields at a point and takes ranks; the other integrates trajectories over finite intervals and fits a slope in logarithms. Neither can be derived from the other’s output, and a mistake in either shows up as an integer that does not match.

What the depth costs

Reading the growth vector as a cost is the reason to have it, and the arithmetic is one line.

A manoeuvre of amplitude ε\varepsilon costs about 4ε4\varepsilon of driving and wins about εk\varepsilon^k in a direction of depth kk. To gain a fixed distance δ\delta in that direction therefore takes about δ/εk\delta/\varepsilon^k manoeuvres and about 4δ/εk14\delta/\varepsilon^{k-1} of driving.

For k=2k = 2 the driving grows as 1/ε1/\varepsilon: halve the room and drive twice as far. For k=3k = 3 it grows as 1/ε21/\varepsilon^2: halve the room and drive four times as far. That is the difference between a trolley in a supermarket aisle and a car in a tight bay, and it is a difference of one in an integer nobody measures directly.

The next essay turns this into metres, because the manoeuvre used here — drive, turn on the spot, drive back, turn back — is not one a car can perform, and the version built from arcs has a closed form worth having.

Four legs that do not cancelDrive forward, turn, drive back, turn back — each leg exactly as long as the one it is undoing. The mechanism does not come home. What is left over is 285.8 mm at an amplitude of 1.00, and it points along the direction the wheel forbids. The gap and the computed bracket are 90.00° apart here and 90.00° apart at a tenth of this amplitude — the agreement is a leading-order statement and the departure is the third-order remainder, which falls with the manoeuvre rather than staying put. Every point on the path was reached by a permitted velocity, so nothing here cheats; the sideways motion is assembled out of motions that are not sideways.start286 mm outamplitude 1.00 · gap 285.8 mmthe gap is the bracket, measured rather than differentiated
Fig. 5 The manoeuvre performed by a car, with its steering rate as the second control. It is a longer, less tidy path than the trolley’s, and the reason is the extra level: a car has to spend part of the manoeuvre acquiring a steering angle before it can spend the rest using it.
A car, where it was driven toThe mechanism at a configuration nothing wrote down: it was reached by integrating permitted velocities from the start of the trail, and there is no equation here whose root it is. The barred line at each wheel is the direction that wheel forbids — the subject of the whole field, and the one thing a photograph of a car cannot show. The constraint residual along the drawn history is 1.4e-17.rearfront4 coordinates · 2 rows · 2 controlspositioned by solving, not by drawing
Fig. 6 A car driven along a control history, with the forbidden direction marked at each wheel. Two bars, not one: the rear axle may not slide across itself, and neither may the front. The second of those is what ties the heading to the steering angle, and it is the row that makes the sideways direction two brackets away rather than one.

What happens in between

The construction says nothing about mechanisms whose brackets stop growing before they fill the space, and it is worth saying what that case looks like rather than leaving it as an unmentioned possibility.

If the sequence stops at r<nr < n, the mechanism is confined to a family of rr-dimensional surfaces — not to a single one, as the trolley on a rail is, but to whichever member of the family it started on. Frobenius’ theorem is the case r=dimΔ1r = \dim\Delta_1: the sequence never grows at all. Everything between is possible in principle, and none of it occurs in this field, where every mechanism either fills its space or is the trolley.

That is not a coincidence, and it is not a claim that partial cases are rare in general. It is a consequence of what the field is made of: rolling constraints on a plane, whose fields turn with the mechanism, and turning is what makes brackets point somewhere new.

The step, which had to be chosen against itself

A bracket is a derivative, and a bracket of a bracket is a derivative of something that already carries a derivative’s error. That matters here more than anywhere else on this site, because the deepest mechanism in the table needs three nested rounds and the naive approach collapses well before that.

Central differences at 10510^{-5} give a first bracket accurate to about 101010^{-10}. Differencing that at 10510^{-5} divides the inherited error by 10510^{-5} and returns 10510^{-5} of noise, which is survivable; doing it once more returns numbers with no digits in them at all. Three levels at a single step size is not a computation.

So the step grows with the level — 10510^{-5}, then 2×1032\times10^{-3}, then 2×1022\times10^{-2} — each chosen so that the truncation error the level adds and the amplified error it inherits are about the same size. That is a compromise and it is worth saying so plainly rather than presenting the ranks as exact.

What makes the ranks trustworthy despite it is that a rank is a decision about directions rather than about sizes, and the decisions here are not close. Every vector is normalised before the rank is taken, and at every level of every mechanism in the table the rows that were rejected were rejected because they were exactly zero — brackets that vanish identically, of which there are many — rather than because they were small. There was no marginal call anywhere in the table, which is the property that makes a coarse step acceptable and would make it unacceptable if it were not true.

The independent confirmation is the exponents, which are computed with no differencing at all.

Where the growth vector does not change, and why that is the finding

The obvious place to look for a growth vector that collapses is a configuration where a mechanism is in trouble, and the obvious candidate is a car and trailer folded up.

It does not collapse. The growth vector of a car and trailer is 2,3,4,52, 3, 4, 5 at a hitch angle of zero, at forty-five degrees, at ninety degrees, at a hundred and thirty-five, and at a hundred and eighty — the rig folded back on itself. Every configuration is still reachable from every other, and the mechanism is exactly as manoeuvrable, in the sense this essay measures manoeuvrability, as it is when straight.

Whatever a jackknife is, it is not a loss of reachability, and the essay that measures it has to find a different explanation — which turns out to be about the room the rig has rather than about its constraints.

The tracks a car and trailer leaves. Each wheel's own path, drawn as the integrator produced it. Every one of them is tangent to its own wheel at every instant, because that is the only motion the constraint rows permit — and the residual along this whole history is 7.0e-17, which is the integrator's error and not the mechanism's. The tracks are what the mechanism can be identified from afterwards, and two of the essays in this field do nothing but read them.
Fig. 7 Three tracks: the car’s front wheel, its rear axle, and the trailer’s axle. The trailer’s heading is the fifth coordinate, and it is dragged rather than driven — which is why the mechanism has five coordinates and still only two controls, and why its growth vector needs one more level than the car’s.

What the first number means, and what it does not

The growth vector’s first entry is the count of velocity freedoms, which is the number the mobility field spent its whole argument on. It is worth being careful about what the rest of the row does to that argument, because it would be easy to read this field as saying the mobility count was wrong.

It was not wrong. A car really does have two velocity freedoms; at any instant there are two things it can do and no more. What the row adds is that the count answers a question about instants, and there is a second question about intervals whose answer is a different number.

The two questions coincide on every mechanism outside this field, which is why the site never had to separate them. A four-bar’s velocity freedoms are 1 and its growth vector is just 11: nothing to bracket, since one field has no bracket with anything, and the reachable set is the one-dimensional curve the loop closure defines. Every closed-loop mechanism on this site has a growth vector of length one, and that is the same statement as its constraints are position constraints, which is the same statement as it has a configuration space that can be solved for.

Two numbers, and where they differ. Every mechanism in this field, with what its constraints leave and what its brackets fill. On every mechanism without a rolling contact the two columns are the same number, which is why nobody had to say which one mobility meant. Here only the rail agrees with itself — and the rail is the one mechanism in the table that cannot go anywhere new.
Fig. 8 Both numbers, side by side, for every mechanism here. The mechanisms on this site that are not in this table would all sit on the diagonal — their two columns equal, their growth vector a single entry — which is what having a solvable configuration space means.

The bound nobody needs

There is a natural worry about the construction: might it go on forever? Could a mechanism need ten brackets, or a hundred?

No, and for a boring reason: each level either adds at least one dimension or ends the sequence, and there are only so many dimensions. A mechanism with nn coordinates and mm controls needs at most nm+1n - m + 1 levels. A car and trailer has 52+1=45 - 2 + 1 = 4, and takes exactly 4. A ball that may not be twisted has 52+1=45 - 2 + 1 = 4 and takes only 3, because its last level supplies two dimensions at once.

The bound being tight for the trailer and slack for the ball is not a defect in either. It says something about how the brackets are arranged, and the ball’s arrangement — two new directions arriving together — is what makes it the object it is. That arrangement has a name and a history in the literature on distributions, and what matters here is that it is measured on the ball this site draws rather than quoted about a ball in general.

The increments say more than the length

The vector’s length is the number the essay is named for, and reading the increments rather than the length turns the same measurement into a statement about symmetry.

Each bracket level adds some number of dimensions. For a wheel the sequence is 2, 3 — one added. For a car, 2, 3, 4 — one, then one. For a car and trailer, 2, 3, 4, 5 — one at every level. But for a ball that may not be twisted it is 2, 3, 5: the first bracket adds one and the second adds two.

An increment of one means the directions arrive in a strict order: there is a first forbidden direction, reached at depth one, then a second at depth two, and the mechanism’s difficulty is graded. An increment of two means two new directions arrive together, at the same depth, with nothing in the geometry to separate them.

That is a symmetry, and on the ball it is visible. The two directions that arrive at the second bracket are the two horizontal components of the ball’s orientation — tip forward and tip sideways — and the ball is round, so nothing distinguishes them. A mechanism with a symmetry acting on its forbidden directions delivers them in an orbit rather than one at a time, and the increment counts the orbit.

So the vector carries two different pieces of information and the essay has been reading one. The length says how deep the deepest manoeuvre is, which is the cost exponent. The increments say how the new directions are grouped, which is where the mechanism’s symmetries are — and the two are independent: a mechanism could have length four with increments 1, 1, 1 or length three with 1, 2.

The practical reading is about what a manoeuvre buys. Where an increment is one, a manoeuvre at that depth wins one new direction and the others have to be reached separately. Where it is two, the same manoeuvre reaches a two-dimensional set of new directions, and which of them it wins is chosen by the manoeuvre’s own orientation rather than by its depth. A ball can be tipped either way at the same price; a trailer’s four coordinates cost four different prices.

Which is why the trailer’s sequence is the one the field returns to. Every level adding exactly one is the case with no symmetry anywhere and a strict ordering of difficulty, and it is the shape in which the growth vector’s arithmetic is most nearly a schedule of what each coordinate costs.

Reading the vector

Four short readings, which between them cover every use the rest of this field makes of it.

Length 1 means confined. The mechanism has a configuration space of the dimension its count says, and everything the rest of the site does applies.

First entry equals last means the same thing, said in the vector’s own terms.

Length \ell means the deepest direction costs ε\varepsilon^{\ell}, which is the practical reading and the one that turns into metres.

Where the vector is measured matters. It is a fact about a configuration, not about a mechanism, and it can in principle differ from place to place. On every mechanism in this field it does not — the trailer’s constancy through the jackknife is the strongest instance — but that is a measurement rather than a theorem, and the essays that need it say where they measured.

The displacement is second order in the amplitude. Seven amplitudes, each wiggle flown and its net displacement measured. On logarithmic axes the points lie on a straight line of slope 2.032 — two, to three figures, on a measurement that was never told what to expect. That is the practical content of the whole field: halving the room a mechanism has to manoeuvre in quarters what each manoeuvre wins, so the number of them goes up by four.
Fig. 9 The whole net displacement of a car’s manoeuvre, fitted against amplitude. The slope is 2.03 rather than 3, because the largest component of the displacement is the heading change, which is only one bracket deep. The sideways component is the one at 3, and reading the total instead of the components is the mistake this figure exists to make visible — a mechanism’s difficulty lives in a direction, not in a magnitude.

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

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.

Configuration spaceControllabilityDistributionGrowth vectorLie bracketNonholonomicRankReachable setRolling constraintSecond-order