What can move

What decides whether it moves

Before a mechanism does anything it has to be able to. Two bars pinned to a point cannot move; three can. The count that separates them is one subtraction, it is the first thing anybody computes about a machine, and it can be wrong in a way that no amount of care with the arithmetic will catch.

Pin two bars to two points on a bench and to each other. Nothing moves. The shape is fixed by its lengths, and changing it would mean changing a length.

Add one more bar and one more pin, making four in a closed loop, and the whole thing moves — one input gives one determinate output, and that is a machine.

The difference between those two objects is a single number called mobility, and computing it is the first thing anybody does with a mechanism.

Three bars and four barsOn the left, two bars to a common point: three links, three joints, and Grübler gives 3(3−1) − 2(3) = 0. The Jacobian agrees — two free coordinates, rank 2, nothing left over — and the shape cannot change without a bar changing length. On the right, one more bar and one more joint gives mobility 1, and the whole of this site follows from that difference. The triangle is why bridges are triangulated and the quadrilateral is why machines are not.mobility 0 — a structuremobility 1 — a mechanismtriangle: 2 coordinates, rank 2, 0 freeone bar apart
Fig. 1 On the left, two bars to a common point: three links, three joints, mobility zero. On the right, one more bar and one more joint gives mobility one. The ghosted outlines on the right are other positions the same linkage passes through; there are none on the left because there is nowhere for it to go.

Counting

The count is a subtraction, and both sides of it are easy.

A rigid body in a plane has three degrees of freedom: it can move in two directions and rotate. So n bodies, before anything is joined, have 3n between them. Bolting one of them to the frame removes three, leaving 3(n − 1).

Then every joint takes some away. A pin joint leaves one body free to rotate relative to the other and removes the two translations, so it costs two. A sliding joint leaves one translation and removes a rotation and a translation, so it also costs two. Joints that leave two freedoms — a pin rolling in a slot, a gear tooth pressing on another — cost one.

Putting that together gives Grübler’s criterion:

M=3(n1)2j1j2M = 3(n - 1) - 2j_1 - j_2

with n the number of links including the frame, j₁ the number of one-freedom joints and j₂ the number of two-freedom ones.

Apply it to the two objects above. The triangulated pair is three links and three pins: 3(3 − 1) − 2(3) = 0. The four-bar is four links and four pins: 3(4 − 1) − 2(4) = 1.

That is the whole of it, and it is why bridges are triangulated and machines are not.

What the count is a count of

Mobility is how many inputs the mechanism needs before its configuration is determined.

Mobility 0 means it needs none, because there is only one configuration — it is a structure. Mobility 1 means it needs one: turn the crank and everything else follows, which is the case almost every mechanism in engineering is designed to be. Mobility 2 needs two independent inputs, which is what a robot arm with two joints has, and what a mechanism accidentally has when a designer has miscounted.

Negative mobility means the count says the thing is over-constrained: there are more constraints than freedoms. Sometimes that is exactly what it means and the assembly will not go together. Sometimes it means something much more interesting, which is the subject of another essay.

Counting is not measuring

Grübler’s criterion is a statement about topology. It counts links and it counts joints, and it never asks how long anything is.

That is its strength — the answer for a four-bar is 1 whatever the four lengths are, which is why the classification of mechanisms can be done on a sketch — and it is exactly where it fails, because there are arrangements whose constraints are redundant because of their dimensions, and a formula that cannot see dimensions cannot see the redundancy.

So this site computes mobility a second way, from the geometry, and the second way is a by-product of solving the mechanism rather than drawing it.

The solve works by writing every constraint as an equation that must equal zero, and taking the derivative of each equation with respect to each free coordinate. That table of derivatives is the constraint Jacobian. Its rank — the number of genuinely independent rows — is how many freedoms the constraints actually remove, and the mobility is the number of free coordinates minus that rank.

Nothing in that calculation knows what a link is or what a joint is. It is arithmetic on a matrix of numbers that came out of the geometry.

Mobility, counted and measuredGrü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.GrüblerJacobiantriangulated frame00agreefour-bar11agreeslider-crank11agreePeaucellier cell11agreeparallelogram + third bar01they disagree — the mechanism moves3(n−1) − 2j₁ − j₂ · free coordinates − rank(J)one row where the formula loses
Fig. 2 Five mechanisms, each counted by Grübler and measured from the Jacobian. Four agree. One does not, and the essays that follow are largely about that row.

Why bother having two

Because agreement between two independent calculations is the only evidence either one is right, and because when they disagree the disagreement is informative rather than embarrassing.

This is a habit rather than a one-off. Elsewhere on the site, Grashof’s condition predicts which links can turn fully and a full sweep measures it; a gear’s velocity ratio is derived from the base radii and tested on the drawn flank; an epicyclic ratio is computed by Willis’s equation and by the tabular method. In each case one route knows the formula and the other knows the object.

For mobility the pairing is unusually clean, because the two routes have genuinely disjoint inputs: one sees only the topology, the other only the dimensions. There is no way for a mistake in one to propagate into the other.

What a joint costs, and why the count is fragile

The arithmetic is easy and the inputs to it are not, which is the practical difficulty with Grübler’s criterion and the reason it is got wrong so often.

Counting links. A rigid coupler carrying three pins is one link, not two. Written as two distance constraints it looks like two bars pinned together; written as one bar with a point attached it looks like one. Both descriptions produce the same motion, and they give different Grübler counts — so the formula’s input is a modelling decision rather than a fact about the mechanism.

That is not a hypothetical difficulty. On this site the topology is declared by each mechanism rather than inferred from its constraint list, because an earlier version inferred it and gave a slider-crank −2 degrees of freedom, which is not a number any mechanism has.

Counting joints. A pin where three links meet is not one joint. Three links pinned coaxially can rotate independently, so it counts as two — and the rule generalises: a joint connecting k links counts as k − 1. Missing that is the single most common arithmetic error in the subject.

Deciding what kind of joint something is. A roller running in a slot is a two-freedom joint if it can both roll and slide, and a one-freedom joint if it is constrained to roll without slipping. The picture looks the same.

The Jacobian route has none of these difficulties, because it takes the constraints as written and does not need them classified.

The tolerance nobody mentions

Rank is a decision about which numbers are zero, and in floating-point arithmetic no number is exactly zero.

That makes the measured mobility depend on a threshold, and a threshold is a choice. This site uses a relative one — scaled by the largest pivot in the elimination — and reports the gap: the ratio between the smallest accepted pivot and the largest rejected one. A gap in the millions means the decision was not close and the rank is unambiguous. A gap near one means the matrix is nearly singular and the answer genuinely depends on where the line is drawn.

That second case is not a defect to be engineered away. It is what a mechanism looks like at a singular configuration — a dead centre, a toggle, a change point — where the constraints momentarily stop determining the motion, and reporting the gap is how a figure can say whether it was near one.

The angles this crank cannot reachA non-Grashof four-bar — non-Grashof (triple rocker) — asked for all 360 input angles. It assembled at 273 of them. The dial on the left marks the reachable arcs in green and the refused ones in red; the refusals are not a numerical failure but the mechanism's dead centres, where the crank and coupler line up and the linkage physically stops. Nothing about the four lengths had to be inspected to find them: the solver was asked, and declined.273of 360input anglenon-Grashof (triple rocker) · s + l exceeds p + q by 0.50green: assembles · red: refused
Fig. 3 A four-bar asked for all 360 input angles. It assembled at 273. The red arcs are not a numerical failure but the mechanism’s dead centres, where the bars would have to change length — and locating them took no inspection of the four lengths at all.

Over-constrained, and the exceptions that matter

A count below zero says the mechanism has more constraints than freedoms. Usually that means the parts will not go together without being forced, which is a real and expensive manufacturing problem: an over-constrained assembly binds, wears unevenly, and transmits stresses it was never designed for.

But a redundant constraint is only redundant if it is dependent on the others, and dependence is a property of the dimensions. Three bars that happen to be parallel constrain no more than two of them do. A door with three hinges is over-constrained by the count and works because the hinges are collinear — and stops working the moment a frame settles and they are not.

That is the case Grübler cannot see and the Jacobian can, and it is worth its own essay because the mechanisms it applies to are not curiosities. They include the parallel-motion linkages in drafting machines and anglepoise lamps, the coupling rods of steam locomotives, and a great many suspension designs.

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. 4 The case in question: five links, six pins, so Grübler gives 3(5 − 1) − 2(6) = 0 and calls it a structure. The Jacobian measures one degree of freedom, and the mechanism moves through 59 of 60 sampled positions. The formula is the one that is wrong.

What to take from this

Mobility is the first question about a mechanism and it is not a hard one — one subtraction, from two counts.

Both counts are easy to get wrong, and neither error announces itself. A miscounted joint gives a plausible number for a mechanism that will not work; an unnoticed redundancy gives zero for one that works fine.

The second route costs almost nothing once the mechanism is being solved anyway, and it is independent in a way that two versions of the same arithmetic are not. That is why every mechanism on this site carries both numbers, and why the one row where they disagree gets a page to itself.

One set of lengths, two mechanismsThe same four bars pinned in the same order and the same crank angle, assembled two ways. B sits 4.53 units apart between them. Both satisfy the loop-closure equations exactly, so neither is more correct — and a built mechanism is in one branch permanently, because getting to the other requires taking a pin out. The solver reaches whichever branch its starting guess is nearer, which is why every sweep on this site carries the previous position forward rather than starting fresh.B openB crossedθ = 75°, both residuals below 1e-12two solutions, one mechanism
Fig. 5 One more thing the count does not settle. The same four lengths at the same crank angle assemble two ways, and mobility is 1 for both — the number describes the constraints, not how many configurations satisfy them.
A 6-slot Geneva wheelThe driving pin enters a radial slot, carries the wheel through 60°, and leaves. The centre distance is not free: it must be crank ÷ sin(180°/6) = 60.00 so that the pin enters *along* the slot, with the crank and slot perpendicular. That is the mechanism's one design requirement and it is what makes the driven wheel start and stop from rest — measured here at 1.5e-3 against a peak of 1.000. What it does not fix is the acceleration, which peaks at 1.35 and is why film sprocket holes tear.driver6 slotscentre distance 60.00 = crank ÷ sin(180°/6)index 60° per turn
Fig. 6 A mechanism whose mobility is 1 and whose output is stationary for most of the cycle. Counting degrees of freedom says nothing about whether the output moves at any particular instant.

The spatial case, and why the plane is the easy one

Everything above is planar: three freedoms per body, and joints that remove one or two. In space a body has six freedoms and the counting changes shape.

Grübler’s planar criterion becomes the Kutzbach criterion, with six in place of three and joint classes that are much more varied — a revolute removes five, a prismatic five, a cylindrical four, a spherical three, a planar three, a screw five. The arithmetic is no harder and the failure modes are considerably worse, because spatial mechanisms are far more likely to be overconstrained.

The famous cases are worth naming. The Bennett linkage is a four-bar with revolute joints whose axes are skew: the count says mobility −2, and it moves. The Sarrus linkage produces pure straight-line motion from six revolutes, and the count says zero. The Bricard octahedra are flexible polyhedra, which the count and most intuitions both say are impossible.

Each of these works because the link lengths and joint angles satisfy special relations that make some constraints dependent. Break the relation by a fraction of a degree and the mechanism becomes exactly what the count says it is: a rigid structure. That is the same phenomenon as three parallel bars in the plane, except that in space the special relations are far less obvious and the mechanisms far more striking.

The rank test handles all of them without modification, because it never assumed independence in the first place. That is not an accident of this implementation — it is the reason the rank test is the right tool for a question that generic formulas answer generically.

Under-constrained, and the failure nobody plans for

The count can be wrong in the other direction too, and that case gets much less attention because it is less flattering.

A mechanism with mobility greater than intended has a freedom nobody specified, and it will find it. The usual culprits are a link that can rotate about its own axis without affecting anything — a passive freedom, harmless but it inflates the count — and a genuine missing constraint, which is not harmless at all.

A connecting rod with spherical joints at both ends can spin about the line joining the two centres. That is a passive freedom: it changes nothing, it is counted, and the count for the mechanism comes out one too high. Subtracting it by hand is standard practice and it is exactly the kind of adjustment that makes a count untrustworthy, because it requires the analyst to already know the answer.

The rank test reports the passive freedom too, and reports it as a specific null-space direction that can be inspected: the vector says which coordinates move, and a spin about a link axis is recognisable at a glance. A number cannot be inspected; a direction can. That difference — being told what, not just how many — is most of why the measured route earns its extra cost.

The question behind the question

“Does it move” is answered by a count or by a rank, and both are answering a narrower question than the one a designer usually has, which is worth separating out.

Does it move? Mobility, by either route. A yes-or-no about the existence of motion.

Where can it move to? The workspace — the set of configurations reachable from the current one without disassembly. That is a global question and mobility is local, so a mechanism can have mobility one everywhere and a workspace made of two disconnected pieces, which is exactly what the two assembly branches of a four-bar are.

How well does it move there? The transmission angle, the velocity ratio, the mechanical advantage — quality measures that vary through the workspace and decide whether the motion is usable.

What happens at the edges? Dead centres, toggles and change points, where the rank drops and the mechanism’s behaviour changes character.

Mobility is the first of these and the cheapest, and it is a screening question: a mechanism with the wrong mobility is wrong regardless of the answers to the rest. But a mechanism with the right mobility has settled almost nothing about whether it is a good machine, and the remaining three questions all require configurations to have been computed.

That is the practical reason this site solves rather than counts. Once the constraint equations exist and can be solved, mobility is a rank computation on a matrix that was needed anyway, the workspace is a sweep, the quality measures are readings off the solved positions, and the singularities are where the rank drops. One piece of machinery answers all four, and the count answers one of them with an assumption that the interesting mechanisms violate.