A roller is not a slider
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.
The count, and the count again
Grübler’s criterion is , 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.
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 , 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.
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.
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.
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.
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.
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.
- A higher pair has no group What a joint is
- Six points and no more Machines you have met
About the same objects
Not linked from either essay — found by the objects both name.
- The count was right and the name was wrong constraint · degrees of freedom · grübler's criterion · mobility · overconstraint · rank
- What a count cannot see constraint · degrees of freedom · grübler's criterion · mobility · overconstraint · rank
- A clearance is a link constraint · degrees of freedom · grübler's criterion · lower pair · mobility
- A constraint that has been said already constraint jacobian · grübler's criterion · mobility · overconstraint · rank
- Nine bars that ought to be rigid constraint jacobian · degrees of freedom · grübler's criterion · mobility · overconstraint
- Six freedoms, not three constraint · degrees of freedom · mobility · overconstraint · rank
What links here
The 8 of 10 essays linking to this one that name the most of the same objects.
- The freedom that is a set What can move
- What each joint takes away What can move
- Counting and measuring mobility What can move
- A higher pair has no group What a joint is
- A joint is a surface that slides on itself What a joint is
- The seventh contact Machines you have met
- A piano hinge is not forty door hinges As built
- A parallelogram carries an angle, and only so far The curve as an equation
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