Machines you have met

A roller is not a slider

A scissor lift has one degree of freedom, at every height and for any number of stages. Grübler's criterion agrees — if the rollers under it are counted as pins in slots. Count them as slider blocks, which is how every textbook draws a slider, and the same formula declares a machine holding a car in the air to be a structure with minus one.

Assumes Counting and measuring mobility and What each joint takes away.

A scissor lift is the most legible mechanism in this field. Two bars cross and are pinned where they cross; the bottom of one is pinned to the floor and the bottom of the other rolls along it; the top pair carries a platform the same way. Stack the pairs and the platform goes higher. There is nothing hidden.

It is also the mechanism this site’s first field gets wrong, and the way it gets it wrong is worth an essay because the mistake is not in the arithmetic.

A 3-stage stack at 35°Every bar is the same length and every stage is at the same angle, which is a consequence of the solve rather than an assumption in the drawing: the pins at the crossings and the roller on the ground leave one freedom, and it has been used. The platform is at 1547 mm and the ram — the heavy line from the ground pin — is 428 mm long. Moving the ram one millimetre from here raises the platform 5.0 mm; at the bottom of the travel the same millimetre is worth 17.6 mm.ram1547 mm uppositioned by solving, not by drawing
Fig. 1 A three-stage stack, solved. Every bar is the same length and every stage stands at the same angle — that is a consequence of the solve rather than an assumption in the drawing, and it is asserted as such: the levels come out equally spaced to 1.1 × 10⁻¹³ of a bar length. The heavy line is the ram.

The count, and the count again

Grübler’s criterion is M=3(n1)2j1j2M = 3(n-1) - 2j_1 - j_2, with n the number of links including the frame, j₁ the number of joints that leave one freedom, and j₂ the number that leave two. It knows nothing about dimensions. It is a statement about how many bodies there are and how they are joined.

For the three-stage stack: eight links — the frame, six bars and the platform. The joints are the pin on the floor, three pins where bars cross, four pins joining one stage to the next, and two rollers. That is eight pins, and the rollers are the question.

Count the rollers as pins in slots — the roller can turn in its track, so the pair leaves two freedoms and removes one — and the criterion gives M = 1. Count them as prismatic pairs — a slider block that slides in a guide and cannot rotate in it, which is how a slider is drawn in every kinematics course — and each removes two instead of one, and the criterion gives M = −1.

Minus one is not a small error. It is the assertion that the mechanism is a structure, and an over-stiff one: not merely unable to move, but unable to be assembled without straining something.

One machine, two counts, one measurement. Grübler's criterion applied to the same stack twice. Call the rollers what they are — pins in slots, two freedoms each — and the count is 1 at every height, which is what the machine has. Draw them as slider blocks that cannot turn, which is how a slider is drawn in every textbook, and the count is −1: a structure, at every height, for a machine that is holding a car up. The right-hand column is the rank of the constraint Jacobian, which knows nothing about either drawing.
Fig. 2 The two counts and the measurement, at four stack heights. The middle column is a machine standing in every warehouse in the country, being told it cannot move. The right-hand column is the rank of the constraint Jacobian, which knows nothing about either drawing and is the same at every height.

The measurement settles it, and it settles it the same way at every height: the number of free coordinates minus the rank of the constraint matrix is 1 for one stage, two stages, three, four, five. The machine has one degree of freedom. Feed it one ram and it does one thing.

Why the difference is exactly one equation

The two joints differ by a single scalar constraint, and it is easy to say which.

A pin in a slot says: this point of the moving body lies on this line. That is one equation. The body may turn about the pin freely — a roller’s whole job is to turn — so nothing constrains the angle.

A prismatic pair says: this point lies on this line and this body’s direction is fixed relative to the guide. Two equations. A drawer runner is a prismatic pair. A trolley wheel is not.

The site could not even write the first of those until this phase. Its solver had one kind of sliding constraint, and it pins a joint to a line given by fixed numbers — right for a slider-crank’s guide and wrong for anything whose track is bolted to something that moves. A scissor lift’s top roller runs in a channel under a platform that is itself rising and tilting. So a constraint type was added — m.rail(p, a, b), which says that the joint p lies on the line through joints a and b. One equation, the cross product (ba)×(pa)(b-a) \times (p-a), with its Jacobian written out and checked against a central difference. That check is not a formality: the previous depth phase found four wrong signs in an analytic Jacobian that had survived four phases, and the reason they survived is that no assertion had ever compared that matrix with anything computed differently. A new constraint type went into the same check in the same commit.

Mobility, counted and measured. Grübler's criterion counts links and joints and knows nothing about the dimensions; the rank of the constraint Jacobian measures the dimensions and knows nothing about the topology. They agree for four of these five. The parallelogram with a redundant third bar is the exception: the formula declares it a structure with zero degrees of freedom, and it moves. The formula is the one that is wrong, because it cannot see that the third bar's constraint equations are already implied by the other two.
Fig. 3 The audit the constraint field opened with, for comparison. There the formula fails because a constraint is redundant — the third parallel bar says something the first two have already said — and the failure depends on the dimensions, which Grübler cannot see. Here the formula fails for a completely different reason: the dimensions are irrelevant and the topology was described wrongly. Both come out as a mobility count that disagrees with the machine.

The stack does not change it

The obvious next question is whether the discrepancy grows with the stack, and it does not: the formula gives 1 or −1 depending on the roller, at one stage and at five, and the measurement gives 1 at both. Each added stage brings two links and three pins, and 3 × 2 − 2 × 3 = 0.

That is worth pausing on, because it means a scissor stack is not an overconstrained mechanism in the sense the spatial field uses the word. It is exactly constrained at any height, which is why a lift can be built twelve stages tall out of ordinary pins without needing any of them to be a spherical joint. The mechanisms that get into trouble as they grow are the ones whose redundancy grows — a scissor stack’s does not.

A 5-stage stack at 21°Every bar is the same length and every stage is at the same angle, which is a consequence of the solve rather than an assumption in the drawing: the pins at the crossings and the roller on the ground leave one freedom, and it has been used. The platform is at 1577 mm and the ram — the heavy line from the ground pin — is 317 mm long. Moving the ram one millimetre from here raises the platform 10.1 mm; at the bottom of the travel the same millimetre is worth 29.3 mm.ram1577 mm uppositioned by solving, not by drawing
Fig. 4 Five stages at a shallower angle. The count is the same, the measurement is the same, and the machine is four metres taller than the one above. What changes with height is not the mobility but what a millimetre of ram is worth, which is the other half of this essay.

What the machine is actually sold on

The count is exact and the other number in a lift’s specification is not. A lift is sold on how high it goes and how long its ram is, and the ratio of those two is quoted as though the mechanism had one.

It does not, and the reason is trigonometric rather than subtle. The platform’s height is n·L·sin φ for a stack of n bars of length L at angle φ. The ram runs between two points on the first stage, so its length goes as a square root of a sum of a cos² and a sin². Their derivatives have nothing to do with each other.

What a millimetre of ram is worth. The platform's rise per unit of ram extension, against how high the platform is. It runs from 18.5 at the bottom of the travel to 4.6 at the top — a factor of 4.1 — and the overall figure a catalogue quotes, total rise over total stroke, is a number the machine has at exactly one height. The curve is steepest where the lift is nearly closed, which is the position everything about a scissor lift is worst at.
Fig. 5 Platform rise per unit of ram extension, against how high the platform is. It is 19.5 at the bottom of the travel and 4.6 at the top — a factor of 4.3 across one machine’s stroke. Total rise over total stroke is 5.8, which the lift delivers at exactly one height.

At the bottom of the travel a millimetre of ram is worth nineteen millimetres of platform. That is a mechanical disadvantage of nineteen to one at the position where the load is highest above the ram’s line of action, which is why a scissor lift with a horizontal ram is a bad machine and why real ones angle the ram or use a second stage to break out of the flat. All of that is force, and force is outside this site — but the geometry that decides it is not, and the geometry is a curve rather than a number.

One stage, and why the pin at the crossing is two equations

The single stage is worth drawing on its own, because it is where the model is written and everything above is that model repeated.

A 1-stage stack at 51°Every bar is the same length and every stage is at the same angle, which is a consequence of the solve rather than an assumption in the drawing: the pins at the crossings and the roller on the ground leave one freedom, and it has been used. The platform is at 704 mm and the ram — the heavy line from the ground pin — is 546 mm long. Moving the ram one millimetre from here raises the platform 1.6 mm; at the bottom of the travel the same millimetre is worth 5.9 mm.ram704 mm uppositioned by solving, not by drawing
Fig. 6 One stage, opened to 52°. Four bodies — the frame, two bars and the platform — and five joints. The pin where the bars cross is the interesting one: it is written into the solver as two statements, that a joint sits at the midpoint of the first bar and that the same joint sits at the midpoint of the second, which is what a pin between two links is.

Writing the crossing pin that way — one joint, two attachments — is the same choice the coupler point is written with, and it matters for the count. Four equations arrive and two unknowns arrive with them, so the pin removes two freedoms, which is what a pin does. The alternative — inferring the pin from a pair of distance constraints — gives the same picture and a different topology, and a topology is what Grübler is counting.

That is a general nuisance with mobility criteria and this site states it in the solver’s own docstring: the topology is declared, not inferred. A rigid bar carrying three pins can be written as two distance constraints or as one plus an attachment, and those are the same physical link described two ways. Inferring the counts from the constraint list once gave a slider-crank minus two degrees of freedom, which is not a number any mechanism has.

Where the roller mistake comes from

It is worth being fair to the textbook. The reason a slider is drawn as a block in a guide is that most sliders are blocks in guides — a slider-crank’s piston cannot rotate in its bore, and if it did the connecting rod would have nothing to push against. In the mechanisms the first field is built on, a prismatic pair is the right model almost every time.

What makes a scissor lift different is that its roller is doing a different job. It is not transmitting a direction; it is preventing the bar’s end from leaving the floor while letting it approach and recede. A wheel does that. A block would do it too, and would also fix the bar’s angle relative to the floor, which is a thing nobody wants and the mechanism cannot have.

The general lesson is the one the mechanism Grübler says cannot move already made from the other side, and it is worth stating in both directions:

  • The formula can be wrong because the geometry is special. Redundant constraints; the parallelogram; Sarrus; Bennett. This is the famous case, and it is a genuine limitation of a topological count.
  • The formula can be wrong because the topology was described wrongly. This is not a limitation of anything. It is a modelling error, it is much more common, and it is invisible, because the arithmetic is correct and the answer is a plausible integer.

The second kind is what a beginner meets first and what almost no worked example warns about, because a worked example arrives with its joints already classified.

Three parallel bars, and a formula that says this cannot moveFive links and six pin joints, so Grübler's criterion gives 3(5−1) − 2(6) = 0 and calls it a structure. The Jacobian has rank 5 against 6 free coordinates, so it measures one degree of freedom — and the sweep assembles 59 of 60 positions, which settles the matter. The third bar removes no freedom because its constraint is already implied by the other two, and a formula that counts joints cannot notice that they happen to be parallel. Mechanisms of exactly this kind carry drafting machines, anglepoise lamps and locomotive coupling rods, where the redundant bar is there for load sharing and for keeping the linkage out of its change point.the redundant oneGrübler: 3(5−1) − 2(6) = 0Jacobian: 6 − rank 5 = 1
Fig. 7 The famous case, for contrast: a parallelogram with a third parallel bar, which the formula calls a structure and which visibly turns. The dimensions are what make it move, and no count that ignores dimensions can be right about it. The scissor lift is not this. Its dimensions are ordinary and its count is wrong anyway.

The measurement that settles it

Both failure modes are settled the same way, and the settlement is the site’s founding habit: the constraint Jacobian is assembled from the model, its rank is measured, and the mobility is the number of free coordinates minus that rank.

That measurement is not immune from the second failure mode either — a model with a wrong constraint type gives a wrong rank, exactly as a wrong classification gives a wrong count. What it does is make the disagreement visible. Two independent routes to the mobility, one from the topology and one from the matrix, will agree when the model is right and diverge when it is not. On this machine they diverge by two, and the divergence is the signal that the roller has been described wrongly.

That is why this site computes a mobility twice for every mechanism it builds and asserts that the two agree. The assertion has never fired on a mechanism whose formula was correct, and it has fired four times on mechanisms whose model was not — three of those in the spatial field, and this one.

The gain, measured rather than differentiated

The rise-per-ram curve above deserves a note on how it was obtained, because there is a closed form for the first stage and it was not used.

The height of the platform is n·L·sin φ and the ram’s length is a fixed expression in φ, so d(height)/d(ram) can be written down for any stack. Writing it down would have made the figure a plot of an expression, and the point of the figure is that the stack does not change the answer. So the curve is a difference of two solved positions: the whole mechanism is assembled at one angle and at the next, and the two platform heights and the two ram lengths are read off the solutions.

That costs about sixty solves per curve and buys a check the closed form cannot give. If the stack’s stages ever came out at different angles — if a bar length were wrong, if the crossing pin were written as one equation instead of two — the closed form would keep producing a smooth, plausible curve about a mechanism the model does not have. The measured curve would not.

This is the same reasoning that has the site solving its four-bars rather than using the closed-form coupler equation, and it is the reason a figure here is slow. A generator that draws sixty positions of a five-stage stack is doing three hundred Newton solves before it draws a line, and every one of them is checked for convergence.

The name is hardware and the count needs equations

The failure here is worth stating in a form that transfers, because a roller is not a slider is a fact about one mechanism and the thing underneath it is a fact about every count anybody makes.

A joint’s name names a piece of hardware. A joint’s contribution to a count is a number of scalar equations. Those are different objects, and the mapping between them is not a function: one piece of hardware can impose different numbers of equations depending on how it is arranged, and two pieces of hardware with different names can impose the same.

The rollers are the worked example. A roller in a track and a slider block in a way are both the thing that slides, both get drawn as a rectangle on a line, and they differ in whether the moving body’s orientation is tied to the track. A slider block’s is; a roller’s is not, because the roller turns. That is one scalar equation, and each roller modelled the wrong way takes one degree of freedom out of the count that the mechanism has.

So the procedure that works is not identify the joints and look them up. It is: for each contact, ask what it forbids, count the scalar conditions, and only then reach for the formula. Three questions settle almost every case — does the contact fix a point of one body to a point of the other, does it fix a direction, and does it fix a distance — and every lower pair in the pair field’s classification is an answer to those three.

The trap is that the lookup usually works. A pin is two equations, a slider is two, a ball is three; a textbook mechanism uses textbook joints and the shortcut is correct. It fails precisely where the mechanism is doing something the textbook’s examples do not — which is to say, on the interesting mechanisms, and on the ones somebody has designed rather than copied.

That gives the second failure mode its proper standing next to the first. A special geometry defeating a count is a famous problem, has a literature, and is what everybody is warned about. A joint modelled as the wrong pair is not famous, has no literature, and is much commoner — and it produces exactly the same symptom, a count that disagrees with a machine that visibly works.

Telling the two apart is a one-line test and it is worth having explicitly. A special-geometry failure survives re-modelling and disappears when the dimensions are perturbed; a wrong-pair failure survives perturbation and disappears when the joint is re-modelled. Perturb the lengths of a scissor lift and it still counts to minus one, which says immediately that the problem is not in the geometry.

What this essay does not do

It does not say what the ram must be able to push, or what the pins carry, or how a lift folds flat without its own bars colliding — that last one is a genuine question about bodies with width and is the subject of where a hinge pin can go, applied to a different machine.

It also does not model the real thing, which has two scissor assemblies in parallel planes joined by cross-shafts. That mechanism is overconstrained in space in exactly the way the spatial field’s loops are — the second assembly repeats constraints the first has already imposed — and counting it needs the six-freedom arithmetic rather than the three-freedom one. It is named here rather than built, and it is the first thing a phase after this one should pick up.

What it does say is small and sharp: before a mobility count means anything, every joint in the mechanism has to be the joint the machine has. The formula cannot report it. The measurement reports only that something is wrong, not what. The one thing that finds it is looking at the roller and asking whether it can turn.

The rest of the field keeps meeting the same shape from other directions. A steering linkage is quoted against a condition it can only meet at a few angles; a rocker arm is quoted at one position of a swing; a chain drive is quoted as the mean of something that varies eleven times a turn. What separates this essay from those is that the lift’s number is exact and the count around it is not — the mechanism is better behaved than the arithmetic applied to it, which is the opposite of the usual complaint and the reason it opens the ladder rather than closing it.

Two essays further up the same ladder take the argument to a mechanism with no bars at all: a part resting on six contacts, where six is exactly the right number and where a seventh costs something that can be measured in microns.

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 10 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.

ConstraintConstraint jacobianDegrees of freedomGrübler's criterionHigher pairLower pairMobilityOverconstraintPin in slotPrismaticRank