Multibody Dynamics · Module 4 of 10
Kinematic Constraints and Joints
Every joint is really an equation. Write it once, differentiate it to get the Jacobian, and you have the machinery that a simulator uses to hold a mechanism together.
Readiness check
Tick only what you can do closed-notes before starting.
- Differentiate x² + y² with respect to time.
- Recall that a gradient points normal to a level curve.
- State what a Jacobian matrix collects.
- Recall the chain rule for a function of moving coordinates.
- Distinguish a position condition from a velocity condition.
The core idea
A holonomic constraint is an equation on the coordinates, Φ(q) = 0. Its gradient, the constraint Jacobian Φ_q, turns the position condition into velocity and acceleration conditions that a solver enforces at every instant.
position: Φ(q) = 0velocity: Φ_q q̇ = 0acceleration: Φ_q q̈ = γA joint is a promise about geometry: a pin says two points coincide, a slider says a point stays on a line, a rod says a distance is fixed. Each promise is written as a constraint equation Φ(q) = 0 on the coordinates. Because the machine keeps moving, the constraint must hold at every instant, so we differentiate it. The first derivative gives the velocity constraint Φ_q q̇ = 0, where Φ_q is the Jacobian, the matrix of partial derivatives of the constraints with respect to the coordinates. The Jacobian is the single most important object in constrained multibody dynamics: it maps allowed velocities, supplies the directions of constraint forces, and appears in every equation of motion to come. Differentiating once more gives the acceleration constraint Φ_q q̈ = γ, whose right side γ gathers the lower-order velocity terms. Most joints are holonomic (position-level); a rolling wheel that cannot slip is nonholonomic, a constraint on velocities that cannot be integrated back to a position equation.
The skills, taught in order
Five skills convert joints into the equations a solver enforces.
4.1 Write the constraint
Translate each joint into Φ(q) = 0. A distance constraint is x² + y² − L² = 0; a point-on-line constraint sets a coordinate to a fixed value. Getting Φ right is most of the work.
4.2 Build the Jacobian
Differentiate Φ with respect to the coordinates to get Φ_q. Each constraint contributes a row; each coordinate a column. The Jacobian is reused in kinematics and in dynamics.
4.3 Velocity analysis
Solve Φ_q q̇ = 0 (or a driven right side) for the velocities. Given the independent rates, the dependent ones follow from the Jacobian, which is how a mechanism’s velocities are found.
4.4 Acceleration analysis
Differentiate again to get Φ_q q̈ = γ. The term γ holds the velocity-squared pieces; solving gives accelerations, the bridge to the equations of motion.
4.5 Holonomic versus nonholonomic
Classify the constraint. Holonomic constraints reduce configuration freedom; nonholonomic ones (rolling without slipping) restrict velocities only and cannot be integrated to a position law.
| Joint (planar) | Constraint idea | Rows removed |
|---|---|---|
| Revolute (pin) | two points coincide | 2 |
| Prismatic (slider) | point on a line, no relative turn | 2 |
| Distance / rod | fixed separation | 1 |
| Rolling (no slip) | contact velocity zero | 1 (nonholonomic) |
Each joint is one or more rows of Φ; the Jacobian stacks them for the whole system.
Engineering connection: a rolling wheel or a car tire is nonholonomic, which is exactly why parallel parking takes maneuvers a sideways-sliding block would not need.
Worked example 1: the Jacobian of a distance constraint
A point mass is held by a rigid rod of length L = 2 m to a fixed pivot at the origin. At the instant the mass is at (1.732, 1.0) m, write the constraint, its Jacobian, and the velocity condition.
- ProblemFind Φ, Φ_q, and the velocity constraint for the pendulum in Figure 1.
- Given / findL = 2 m, position (x, y) = (1.732, 1.0). Find the constraint equation, Jacobian row, and velocity constraint.
- AssumptionsRigid rod, frictionless pivot, planar motion; the rod length is exactly fixed.
- ModelDistance constraint Φ = x² + y² − L²; Jacobian Φ_q = (2x, 2y); velocity constraint Φ_q q̇ = 0.
- EquationsΦ = x² + y² − 4Φ_q = (2x, 2y)ẋx + ẏy = 0
- SolveCheck Φ: 1.732² + 1.0² − 4 = 3 + 1 − 4 = 0. Jacobian: (2·1.732, 2·1.0) = (3.464, 2.0).
- CheckThe Jacobian points radially outward along the rod, so the velocities it allows are perpendicular to it, tangent to the circle, exactly as a pendulum swings.
- ConclusionThe joint gives one constraint row (3.464, 2.0). Any velocity satisfying ẋx + ẏy = 0 keeps the rod length fixed.
Worked example 2: the acceleration constraint
For the same rod (constraint x² + y² − 4 = 0), the mass moves along the circle with speed 3 m/s. Find the right side gamma of the acceleration constraint Φ_q q̈ = γ.
- ProblemFind gamma for the pendulum in Figure 2 at a speed of 3 m/s.
- Given / findΦ = x² + y² − 4, speed v = 3 m/s so ẋ² + ẏ² = 9. Find gamma.
- AssumptionsRigid rod; the velocity is tangent to the circle with magnitude 3 m/s.
- ModelDifferentiate the velocity constraint: d/dt(Φ_q q̇) = Φ_q q̈ + (dΦ_q/dt) q̇ = 0, so Φ_q q̈ = γ with γ = −2(ẋ² + ẏ²).
- EquationsΦ_q q̈ = 2x·ẍ + 2y·ÿγ = −2(ẋ² + ẏ²)
- Solveγ = −2(9) = −18.
- CheckThe negative value is the centripetal effect: even with no tangential acceleration, the rod must pull inward to bend the straight-line velocity onto the circle.
- ConclusionThe acceleration constraint reads 2x·ẍ + 2y·ÿ = −18. That right side feeds directly into the constrained equations of motion in Module 8.
Misconceptions and diagnostics
| Mistake | Symptom | Diagnostic question | Correction |
|---|---|---|---|
| Forgetting to differentiate the constraint | Trying to enforce position only, so velocities drift | Did I write the velocity and acceleration forms? | Differentiate Φ once and twice for the full set. |
| Wrong Jacobian sign or factor | Constraint forces point the wrong way | Is Φ_q the true partial derivative? | Recompute Φ_q term by term from Φ. |
| Treating rolling as holonomic | Expecting a no-slip wheel to have a position law | Can this condition be integrated to Φ(q)=0? | Rolling is nonholonomic; enforce it at the velocity level. |
| Dropping the gamma term | Accelerations violate the constraint | Did I keep the velocity-squared terms? | Include γ = −(Φ_q q̇)_q q̇ on the right side. |
Practice ladder
For Φ = x − 3 = 0 (a point held on a vertical line x = 3), write the Jacobian row and the velocity constraint.
Show answer
Φ_q = (1, 0); velocity constraint ẋ = 0. The point may move only in y.
A rod constraint x² + y² − 25 = 0 holds at (3, 4). Write the Jacobian and check the constraint.
Show answer
Φ = 9 + 16 − 25 = 0; Φ_q = (2x, 2y) = (6, 8).
For the rod x² + y² − 4 = 0 moving at 2 m/s along the circle, find gamma.
Show answer
γ = −2(ẋ² + ẏ²) = −2(4) = −8.
Pick a joint from a machine you know, write its constraint equation, and differentiate to the velocity level.
What good work looks like
A good answer states Φ(q) = 0 for the joint, forms the Jacobian by differentiation, and writes Φ_q q̇ = 0, noting whether the constraint is holonomic.
Working with AI, and proving it yourself
Ask AI to check your Jacobian, not to guess the joint
Portfolio task
For one mechanism, write every joint constraint, assemble the full Jacobian, and confirm its number of rows equals the constraints you counted in Module 3.
Retrieval and spaced review
Closed notes. Answer out loud, then reveal.
1. What is a holonomic constraint?
An equation on the coordinates, Φ(q) = 0.
2. What does the constraint Jacobian collect?
The partial derivatives Φ_q of the constraints with respect to the coordinates.
3. Write the velocity constraint.
Φ_q q̇ = 0 (or a driven right side).
4. What does gamma represent?
The velocity-dependent right side of the acceleration constraint Φ_q q̈ = γ.
5. Why is rolling nonholonomic?
It restricts velocities but cannot be integrated to a position equation.
Textbook mapping
Kinematic relationships and joint constraints are developed in Wittenburg’s formalism. Use these references to read further.
| Topic in this module | Where to read more |
|---|---|
| Constraints and kinematic relationships | Wittenburg, Dynamics of Multibody Systems, ch. 5 |
| Systematic joint description | Sol, Kinematics and Dynamics of Multibody Systems (1983) |
| Jacobian and constraint equations | Nikravesh, Computer-Aided Analysis of Mechanical Systems |
Chapter references are to Wittenburg, Dynamics of Multibody Systems (Springer); the systematic connection treatment follows Sol (1983).