What can move

What each joint takes away

Grübler's formula has a 2 in it for pins and a 1 for cam contacts, and those numbers are not conventions to be memorised. They are the number of constraints each kind of joint imposes, they are measurable as the rank of a matrix, and miscounting one of them is the commonest way the formula is got wrong.

Assumes What decides whether it moves and Counting and measuring mobility.

Grübler’s criterion is

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

and the two coefficients in it are usually presented as something to remember. They are not. They are counts of constraints, they can be derived in a line each, and the reason the formula has two joint terms rather than one is that there are two genuinely different ways for two bodies to touch.

What each kind of joint takes away. Grübler's formula is M = 3(n − 1) − 2j₁ − j₂, and the 2 and the 1 in it are not conventions. A lower pair — a pin or a slide — holds two bodies together over a surface and leaves one relative freedom, so it costs 2. A higher pair — a cam against a follower, a wheel on a rail — touches at a point, the contact travels along both surfaces, and it costs 1. Five chains, each built and each measured from the rank of its constraint Jacobian, which has never heard of the formula. The last row is the one worth having: count that cam contact as a pin, as is very easily done, and the formula returns 0 where the mechanism has 1. The Jacobian does not move.
Fig. 1 Five chains, each built and each measured from the rank of its constraint Jacobian, which has never heard of Grübler’s formula. The last row is the one worth having: count that cam contact as a pin, as is very easily done, and the formula returns 0 where the mechanism has 1.

Two bodies, and how they can touch

A rigid body in the plane has three freedoms: two of position and one of orientation. Join two bodies and ask how many of the six they had between them survive.

A pin joint — a revolute pair — holds one point of the first body coincident with one point of the second. That is two equations, one for each coordinate, and it leaves the two bodies free only to rotate relative to each other. Two constraints, one relative freedom.

A slide — a prismatic pair — holds one body’s orientation fixed relative to the other and confines it to a line. Also two constraints, also one relative freedom, though the freedom is a translation rather than a rotation.

Both of these are lower pairs, and the defining feature is that the two bodies touch over a surface. A pin sits in a bore; a slide runs in a way. The contact is an area, the same material points stay in contact as the joint moves, and the joint has one degree of freedom.

Now consider a cam bearing on a follower, or a wheel rolling on a rail, or two gear teeth in mesh. The bodies touch at a point — a line, in three dimensions, but a point in the plane cross-section. The single geometric requirement is that the two surfaces touch: one equation, not two.

That leaves two relative freedoms. The follower can move along the cam’s surface, and it can rotate. Which is why a cam contact costs 1 in the formula and not 2, and why the point of contact travels along both surfaces rather than staying put on either. These are the higher pairs.

The two-constraint and one-constraint arithmetic

Put those into the count.

Take n links, one of which is the frame. The moving links have 3(n − 1) freedoms between them if nothing is joined. Each lower pair removes two, each higher pair removes one. What is left is the mobility:

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

That is the whole derivation. The 2 is the number of equations a surface contact imposes and the 1 is the number a point contact imposes, and neither is arbitrary.

The same argument one dimension up gives the spatial version: six freedoms per body, and a revolute joint leaves one of the six, so it costs five.

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. 2 The other way the count goes wrong, for contrast. Miscounting a pair is a mistake in the description; a redundant constraint is a property of the mechanism, and only the second survives a correct description.
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. 3 The same assembly at another position. What each joint takes away is a number the count applies uniformly, and here it takes away one freedom too many at every angle the mechanism reaches.

The full taxonomy, briefly

Planar mechanisms use three joint types and the classical taxonomy has more, so it is worth listing what exists and what each costs.

In the plane there are exactly three lower pairs and they all cost two: the revolute (a pin), the prismatic (a slide), and — rarely drawn but genuinely a lower pair — the rolling contact with no slip, where two surfaces touch and are constrained not to slide. That last one is the odd case: the bodies touch at a point, which sounds like a higher pair, but the no-slip condition adds a second equation relating the two rotations, so the pair costs two after all. A gear pair treated as two pitch circles rolling is exactly this, and it is why a gear train’s ratio is a matter of counting teeth rather than of solving anything.

The higher pairs cost one: a cam bearing on a follower, a wheel free to slide as well as roll, a pin in a slot, and two gear teeth considered as touching profiles rather than as rolling circles.

In space the list is longer and the costs run from five down to one. A revolute or a prismatic joint leaves one freedom of six and costs five. A cylindrical joint — a pin free to slide along its own axis — leaves two and costs four. A spherical joint, a ball in a socket, leaves three and costs three. A planar contact leaves three and costs three. A point contact leaves five and costs one.

The pattern in every case is the same: count the freedoms the joint leaves, subtract from the freedoms a free body has, and that is the cost. There is nothing to memorise beyond that sentence.

Measuring the same thing

A formula about constraint counts should be checkable against the constraints themselves, and it is.

Every mechanism on this site is a set of joint coordinates and a set of equations relating them. The Jacobian of those equations is a matrix whose rank is the number of independent constraints — which is what the formula is trying to count and cannot, because it counts joints rather than equations and has no way of knowing when two joints say the same thing.

So: unknowns minus rank is the measured mobility. It knows nothing about how many links there are or what kind of joints they are. It knows only what equations were written down and whether they are independent.

The figure’s table runs five chains through both routes.

The four-bar: four links, four pins, no higher pairs. Grübler gives 3(4 − 1) − 2 × 4 = 1. The Jacobian agrees.

The slider-crank: four links, three pins and a slide, all lower pairs. Grübler gives 1 again, which is the useful observation that changing a pin for a slide changes the motion completely and the mobility not at all.

The five-bar: five links, five pins. 3(5 − 1) − 2 × 5 = 2, so it needs two inputs and is a different kind of object. This is the row that explains why four is the smallest interesting number of bars.

The triangle: three links, three pins. 3(3 − 1) − 2 × 3 = 0. A structure.

The cam and roller follower: this is the row the essay exists for, and it needs care.

A four-bar at 60°, solvedGround 4, crank 1, coupler 3.5, rocker 3. Every joint position here is the output of a Newton–Raphson solve on the loop-closure equations, converged to 0.0e+0 — not a placement that looked right. Grashof's condition classifies these lengths as a crank rocker, and sweeping the crank through 360° confirms it: 120 of 120 positions assemble. The transmission angle at this instant is 66.9°.ABO₂O₄crank (input)couplerrocker (output)crank rocker · residual 0.0e+0positioned by solving, not by drawing
Fig. 4 Four links and four lower pairs: 3(4 − 1) − 2 × 4 = 1. The smallest chain of pins that gives one determinate output for one input.
Three bars and four bars. On 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.
Fig. 5 And the boundary. Adding or removing a constraint moves the count across zero, which is the line between a machine and a frame.

Why the four-bar is the smallest interesting chain

The table’s five rows are, read in order, an argument about why this site spends most of its time on one mechanism.

Three links and three pins give mobility 0. It is a triangle, it is rigid, and it is a structure rather than a machine.

Four links and four pins give 1. One input produces one determinate output, which is what a machine is: turn the crank and everything else has exactly one place to be. Nothing smaller does that.

Five links and five pins give 2. It moves, but it needs two inputs, and with only one it flops — the mechanism has a whole one-parameter family of configurations for each input position and no way to choose among them. That is not useless (a robot arm is exactly this, with a motor at every joint) but it is a different kind of object, and it is not what most machines are.

So mobility 1 is the interesting case, four links is the smallest chain that achieves it with pins alone, and the three-link cam-and-follower is the smallest that achieves it at all — at the cost of a higher pair and everything that comes with one.

Counting a cam correctly

An eccentric circular cam turning against a roller follower on a swinging arm. How many links, and how many joints of each kind?

There are three links: the frame, the cam, and the follower arm. Not four.

There are two lower pairs: the pin the cam turns on, and the pin the follower arm swings on.

There is one higher pair: the contact between the cam’s surface and the roller.

M=3(31)2×21=641=1M = 3(3 - 1) - 2 \times 2 - 1 = 6 - 4 - 1 = 1

which is right: turn the cam and the follower does one determinate thing.

Getting to that took a correction worth recording, because the mistake is structural rather than arithmetic. In the mechanism as this site’s solver expresses it, the cam contact appears as a distance equation — the roller’s centre stays at the sum of the two radii from the cam’s centre — and a distance equation is exactly what a bar imposes. So the contact looks like a link. Counting it as one gives four links, three lower pairs and one higher pair, hence 3(4 − 1) − 2 × 3 − 1 = 2, against a measured mobility of 1.

The disagreement looked like Grübler being wrong. It was the topology that had been declared wrong. The contact is a constraint, not a link: there is no rod between the cam’s centre and the roller’s, only two surfaces touching, and the fact that the constraint has the same algebraic form as a bar’s is a coincidence of the geometry rather than a statement about what is there.

That distinction — the equation is not what settles which kind of pair it is — is the point of the row. What settles it is whether the bodies touch over a surface or at a point, and that is a question about the physical joint that no amount of staring at the constraint list will answer.

A detail that trips people up and is worth one paragraph: the n in the formula includes the frame, and the (n − 1) is what removes it again.

The frame is a link. It has joints on it, it participates in the loop, and leaving it out of n gives an answer one link’s worth of freedoms too small. What it does not have is freedom, because it is bolted down, and that is what the subtraction accounts for.

The consequence is the one to remember: a mechanism and the same mechanism with a different link grounded have the same n and the same joint counts, so they have the same mobility. Which link is the frame is a decision about where the bench is and not a property of the chain, and the formula is correctly indifferent to it even though the resulting machines can be completely different.

The miscount, and what it does

Now do it wrongly on purpose. Call the cam contact a lower pair, as is very easily done by anyone counting joints on a drawing: three links, three lower pairs, no higher pairs.

M=3(31)2×3=0M = 3(3 - 1) - 2 \times 3 = 0

The formula says the mechanism is a structure. The Jacobian’s rank has not moved, because nothing about the mechanism changed — only the description of it. The measured mobility is still 1, and the cam still turns.

The figure prints both. This is the negative case that makes the whole table a test rather than a demonstration: a check that only ever confirmed agreement would pass with the higher-pair term deleted from the formula entirely, since four of the five chains have no higher pairs at all.

Where the circular cam is a real assumption

There is a restriction in the row above that has to be stated because the essay would otherwise be quietly claiming too much.

The cam in the table is circular and eccentric — a disc turning about a point off its centre. Only for a circular cam is the distance from the cam’s own centre to the roller’s centre constant, so only a circular cam can be written as bars at all.

For a general profile the contact point is not at a fixed distance from anything, and finding it requires the profile’s geometry: the pitch curve is the base radius plus the follower’s displacement, and the contact is where the normal to that curve passes through the roller’s centre. That is what lib/cam.js does, and it is a different computation from a loop closure.

The mobility count is unaffected — a general cam contact is still one higher pair — but the mechanism cannot be handed to the four-bar solver, and a figure that quietly did so would be drawing a circular cam and calling it a general one.

Higher pairs and their equivalents

There is a classical construction that connects the two kinds of pair and is worth knowing because it explains why the counting is consistent.

Any higher pair can be replaced, for the purposes of instantaneous motion, by a lower-pair equivalent: a chain of links and pins that produces the same relative motion at that instant. A cam and follower in contact is instantaneously equivalent to a four-bar whose two “cranks” are the radii of curvature of the two surfaces at the contact point, with the coupler joining their centres.

Counting that equivalent gives: four links, four pins, mobility 1. Count the original: three links, two pins, one higher pair, mobility 1. They agree — one higher pair and one extra link is the same as two lower pairs, and 2 × 2 − 3 = 1, which is precisely the difference the formula’s two coefficients encode.

The equivalent is only instantaneous, because the radii of curvature change as the mechanism moves, so it is not a substitute for the cam. What it is good for is exactly this: showing that the two coefficients in the formula are two descriptions of the same underlying accounting rather than two independent conventions.

Why the distinction is not academic

Two practical consequences follow from the difference between the pairs, and both are reasons a designer cares.

Lower pairs are easy to make accurately and higher pairs are not. A bore and a shaft can be machined to a micron because both are simple surfaces of revolution and the manufacturing processes for them are ancient and cheap. A cam profile is a general curve, it has to be generated rather than turned, and its accuracy is limited by the machine that cut it. This is a large part of why linkages persisted so long against cams for jobs both could do: the linkage’s motion is decided by lengths and a length is measurable, while a cam’s motion is decided by a profile.

Higher pairs concentrate stress. A surface contact spreads a load over an area; a point or line contact does not, and the pressure at a cam-follower contact or a gear-tooth contact is orders of magnitude higher than at a pin of the same size. That is why gear teeth are case-hardened, why cam followers use rollers rather than flat faces where they can, and why the size of that roller becomes a design constraint in its own right.

Neither of those is kinematics, and this site does not compute either. They are worth naming because the reason the two kinds of pair are distinguished in the first place is not the mobility arithmetic — that is a consequence — but the fact that they behave differently as pieces of metal.

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. 6 The count and the measurement across a set of chains. Correcting the pair count removes the errors that come from describing a mechanism wrongly; it does nothing about the ones that come from its geometry being special.
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. 7 And the slide, counted beside the pin. A prismatic joint removes exactly what a revolute removes in the plane, which is why exchanging one for the other leaves this arithmetic untouched.

What the count still cannot see

Everything above makes the formula more reliable and none of it makes it right.

The count is about how many constraints there are, and it remains blind to whether they are independent. Three parallel bars where two would do is still counted as three constraints and still contributes one too many, and the Jacobian still catches it. Correcting the pair count fixes the errors that come from describing the mechanism wrongly; it does nothing about the errors that come from the geometry being special.

Those are two different failure modes and it is worth keeping them apart. A miscounted pair is a mistake in the input. A redundant constraint is a property of the mechanism, and the formula has no access to it whatever — which is why the second route exists, and why every mobility figure on this site prints both numbers rather than one.

The commonest way the formula is got wrong being a miscounted joint is worth pairing with the rest of the site’s evidence, because it means the failure has two quite different faces. A joint modelled as the wrong pair contributes the wrong number, and the count comes out wrong on a mechanism whose geometry is perfectly ordinary. A special geometry makes the constraints dependent, and the count comes out wrong on a mechanism whose joints are all correctly identified. Both produce the same symptom — an integer that disagrees with the machine — and they have opposite remedies. Perturb the dimensions and a geometry failure disappears while a joint failure survives, which is a one-line test that separates them and costs nothing on a mechanism that is already being solved.

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 17 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 jacobianFollowerGrübler's criterionHigher pairJacobianKinematic pairLower pairMobilityRank