Multibody Dynamics · Module 3 of 10

Generalized Coordinates and Degrees of Freedom

How many numbers does it take to pin down a machine, and how many can move freely? Generalized coordinates and the mobility count answer both before you write any dynamics.

01

Readiness check

Tick only what you can do closed-notes before starting.

  • Count the coordinates of a rigid body in a plane and in space.
  • Recall that a constraint equation removes one freedom.
  • State what a degree of freedom means physically.
  • Recall the planar mobility formula from Module 1.
  • Distinguish an input you choose from a motion that follows.
0 or 1 weak itemsContinue with this module.
2 weak itemsRevisit the DOF count in Module 1.
3 or more weak itemsReview rigid-body motion in Dynamics, Module 7.
02

The core idea

Generalized coordinates are a minimal set of numbers that fixes the configuration of a system. The degrees of freedom equal the coordinates you could write minus the independent constraints that tie them together.

planar mobility: M = 3(n − 1) − 2 jspatial mobility: M = 6(n − 1) − Σ(6 − fi)DOF = coordinates − independent constraints

There are two honest ways to describe a machine. The minimal way uses exactly as many numbers as there are degrees of freedom, one angle per joint in a simple chain; these are generalized coordinates, and they carry no constraints because every value is allowed. The systematic way gives each body its own absolute coordinates and then writes constraint equations for every joint; this is larger but assembles the same way for any system, which is why general-purpose codes prefer it. Both must agree on the mobility, the number of independent motions. The Grubler-Kutzbach criterion counts it directly from the topology: start from the freedoms of all moving bodies and subtract the freedoms each joint removes. In the plane a body has three freedoms and a lower pair removes two; in space a body has six and a joint removes six minus its own freedom. A positive mobility is a mechanism, zero is a structure, and a negative number signals redundant or over-constraining joints.

The skill works when: you can state the minimal number of coordinates and match it to the mobility count.
The skill breaks down when: you double-count a joint or forget a closed loop, and the mobility comes out wrong.
The concept. Start with all the coordinates a system could have (blue), subtract the constraint equations (red), and what remains is a small set of independent generalized coordinates (green) equal to the degrees of freedom.
03

The skills, taught in order

Five skills turn a machine’s topology into a coordinate count.

3.1 Configuration space

The configuration is the complete set of numbers needed to locate every body. Its dimension in a minimal description equals the degrees of freedom; this is the space the motion lives in.

3.2 Generalized coordinates

Choose a minimal, independent set, often joint angles or displacements. Good coordinates make the constraints disappear and shrink the equations of motion to their smallest form.

3.3 Dependent coordinates and constraints

Absolute coordinates are dependent: they carry redundancy plus constraint equations. They cost more unknowns but give one uniform assembly procedure for any topology.

3.4 Planar mobility

Use M = 3(n − 1) − 2j for planar mechanisms with lower pairs, counting n as all links including ground. This is the fastest freedom check for a linkage sketch.

3.5 Spatial mobility

Use M = 6(n − 1) − Σ(6 − fi) in space, where fi is the freedom of each joint. It catches over-constraint that a planar count would miss.

JointPlanar freedomSpatial freedom
Revolute (pin)11
Prismatic (slider)11
Cylindricalnot applicable2
Spherical (ball)not applicable3

Each joint’s freedom f is what it allows; the mobility formulas subtract what it removes.

Engineering connection: the mobility count tells a designer at sketch stage whether a linkage will move at all, need more actuators, or lock up as an over-constrained structure.

04

Worked example 1: mobility of a spatial robot arm

A robot arm has a fixed base and three moving links connected in series by three revolute joints, each allowing one rotation. Find the spatial mobility.

Figure 1. A spatial three-link arm. The Kutzbach count over six-freedom bodies gives mobility three, one independent angle per revolute joint.
  1. ProblemFind the mobility of the spatial arm in Figure 1.
  2. Given / findTotal bodies n = 4 (base plus three links), three revolute joints with freedom f = 1 each. Find M.
  3. AssumptionsRigid links, ideal single-freedom joints, an open chain with no closed loops.
  4. ModelSpatial Kutzbach: M = 6(n − 1) − Σ(6 − fi).
  5. EquationsM = 6(4 − 1) − 3·(6 − 1)
  6. SolveM = 6(3) − 3(5) = 18 − 15 = 3.
  7. CheckThree degrees of freedom equal the three joint angles, and an open serial chain of k single-freedom joints always has k freedoms.
  8. ConclusionThe arm has three degrees of freedom, one per joint. Three motors position the end effector, matching the three generalized coordinates.
Result. M = 3, one independent angle per joint.
05

Worked example 2: coordinates and DOF of a slider-crank

A planar slider-crank has three moving bodies (crank, connecting rod, slider) joined by three pins and one slider joint. Using absolute coordinates, count coordinates, constraints, and degrees of freedom.

Figure 2. A slider-crank in absolute coordinates: nine coordinates, eight constraints from three pins and one slider, one degree of freedom.
  1. ProblemFind the degrees of freedom of the slider-crank in Figure 2 with absolute coordinates.
  2. Given / findThree moving bodies, each (x, y, θ); three revolute joints and one prismatic joint, each removing 2 planar freedoms.
  3. AssumptionsRigid bodies, ideal joints, planar motion.
  4. ModelCoordinates = 3 per body; each planar lower pair removes 2. DOF = coordinates − constraints.
  5. Equationscoordinates = 3 × 3 = 9constraints = 4 joints × 2 = 8DOF = 9 − 8 = 1
  6. SolveNine coordinates minus eight constraints gives 1 degree of freedom.
  7. CheckThe planar formula agrees: M = 3(4 − 1) − 2(4) = 9 − 8 = 1, counting ground as the fourth link.
  8. ConclusionThe slider-crank is a one-degree-of-freedom mechanism. One crank angle drives the piston, which is why a single engine cylinder needs one kinematic input.
Result. DOF = 1, a single-input mechanism.
06

Misconceptions and diagnostics

MistakeSymptomDiagnostic questionCorrection
Using dependent coordinates as if independentToo many unknowns and no constraints writtenDid I add the constraint equations?Dependent coordinates always come with constraints.
Dropping ground from the link countPlanar mobility comes out one too highIs ground counted as a link?Include ground as one of the n links in 3(n−1).
Applying a planar count in spaceMissing over-constraint or extra freedomsIs the motion truly planar?Use the spatial formula for three-dimensional systems.
Ignoring redundant constraintsMobility reads negative but the thing still movesAre some constraints repeated?Redundant constraints inflate the subtraction; count independent ones.
07

Practice ladder

Level 1 · Direct skill

A planar mechanism has 6 links (including ground) and 7 revolute joints. Find its mobility.

Show answer

M = 3(6 − 1) − 2(7) = 15 − 14 = 1.

Level 2 · Mixed concept

A spatial chain has a base and two links joined by a spherical joint (f = 3) then a revolute joint (f = 1). Find the mobility.

Show answer

M = 6(3 − 1) − [(6−3) + (6−1)] = 12 − 8 = 4.

Level 3 · Independent problem

A four-bar loop is closed, then one extra binary link with two pins is added between two existing links. Predict the change in mobility.

Show answer

Adding one link and two pins changes M by 3(1) − 2(2) = −1, so a 1-DOF four-bar becomes a 0-DOF structure.

Transfer task | Real engineering

Take a mechanism you use and choose generalized coordinates for it, then verify their number against a mobility count.

What good work looks like

A good answer lists a minimal, independent coordinate set, computes mobility from the topology, and confirms the two numbers match.

08

Working with AI, and proving it yourself

Ask AI to audit your mobility count, not to choose your coordinates

"Here is my link and joint list; check my Grubler-Kutzbach count."
"Give me three linkages and I will classify each as mechanism, structure, or over-constrained."
"How many DOF does this have?" Deriving it is the skill.
"Pick coordinates for me." Choosing a minimal independent set is the point.

Portfolio task

For one mechanism, write both a minimal generalized-coordinate model and an absolute-coordinate model, and show they agree on the degrees of freedom.

Must include: a minimal coordinate list, an absolute-coordinate count with constraints, and a matching DOF from both.
09

Retrieval and spaced review

Closed notes. Answer out loud, then reveal.

1. What are generalized coordinates?

A minimal, independent set of numbers that fixes the configuration.

2. Write the planar mobility formula.

M = 3(n − 1) − 2j with n links including ground.

3. Write the spatial mobility formula.

M = 6(n − 1) − Σ(6 − fi).

4. Why do absolute coordinates need constraints?

They are dependent and carry redundancy that constraints remove.

5. What does zero mobility mean?

The assembly is a structure, not a mechanism.

TodayFinish this quiz and Levels 1 and 2 of the ladder.
+1 dayRe-derive the slider-crank DOF from a blank page.
+3 daysCount mobility for three new mechanisms, one spatial.
+7 daysMove on to writing constraints in Module 4.
+30 daysReuse the mobility check whenever you sketch a new linkage.
10

Textbook mapping

System description and coordinate choice are central to Wittenburg’s formalism. Use these references to read further.

Topic in this moduleWhere to read more
System structure and coordinatesWittenburg, Dynamics of Multibody Systems, ch. 5
Mobility of mechanismsMachine-theory texts on the Grubler-Kutzbach criterion
Dependent versus independent coordinatesNikravesh, Computer-Aided Analysis of Mechanical Systems

Chapter references are to Wittenburg, Dynamics of Multibody Systems (Springer); the coordinate discussion is standard across computational-dynamics texts.