Multibody Dynamics · Module 8 of 10
Constrained Equations of Motion (DAEs)
Put motion and constraints in one system and you get a differential-algebraic equation. Solving it for accelerations and multipliers, and keeping it from drifting, is the heart of a multibody solver.
Readiness check
Tick only what you can do closed-notes before starting.
- Solve a small linear system for two unknowns.
- Recall the constraint Jacobian Φ_q from Module 4.
- Recall the acceleration-constraint term γ.
- State what a Lagrange multiplier represents physically.
- Recall that a spring-damper can drive an error to zero.
The core idea
The constrained equations of motion couple the dynamics M q̈ + Φ_qTλ = Q with the acceleration constraint Φ_q q̈ = γ. Solved together they give the accelerations and the multipliers λ, the joint reaction forces.
dynamics: M q̈ + Φ_qT λ = Qconstraint: Φ_q q̈ = γstabilized: Φ̈ + 2αΦ̇ + β2Φ = 0When you keep dependent coordinates, the equations of motion carry the unknown joint reactions explicitly. Each reaction is a Lagrange multiplier λ acting along the constraint gradient, so it enters the dynamics as Φ_qTλ. Stacking the mass-matrix dynamics with the acceleration-level constraint gives one linear system per instant, the augmented or descriptor form, whose unknowns are the accelerations q̈ and the multipliers λ. This mix of differential equations (for the motion) and algebraic equations (the constraints) is a differential-algebraic equation, a DAE, not an ordinary differential equation. Its differential index, the number of time-differentiations needed to recover an ODE, is a measure of how hard it is to integrate; multibody constraints are typically index-three at position level. Because we enforce the constraint only at acceleration level, small position and velocity errors accumulate and the simulation drifts off the constraint. Baumgarte stabilization fixes this by replacing the bare acceleration constraint with a spring-damper feedback on the constraint error, so any drift decays instead of growing.
The skills, taught in order
Five skills produce and tame the constrained equations.
8.1 Lagrange multipliers as reactions
Each constraint contributes Φ_qTλ to the dynamics; the multiplier is the reaction force magnitude. This makes joint loads a direct output of the solve.
8.2 The augmented system
Stack M q̈ + Φ_qTλ = Q with Φ_q q̈ = γ into one matrix equation. Its solution at each step gives accelerations and multipliers together.
8.3 Differential index
Count the differentiations needed to turn the DAE into an ODE. Higher index means more sensitivity to error; multibody systems are usually index three at position level.
8.4 Constraint drift
Recognize that acceleration-level enforcement lets position and velocity errors grow. Monitoring Φ and Φ̇ over a run reveals the drift.
8.5 Baumgarte stabilization
Replace Φ̈ = 0 with Φ̈ + 2αΦ̇ + β2Φ = 0. Choosing α = β gives critical damping so the constraint error returns to zero quickly and smoothly.
| Enforce constraint at | Guarantees | Risk |
|---|---|---|
| Position (Φ = 0) | exact geometry | hard to integrate directly |
| Velocity (Φ_q q̇ = 0) | rates consistent | position may drift |
| Acceleration (Φ_q q̈ = γ) | easy to solve | position and velocity drift |
| Stabilized (Baumgarte) | drift decays | gains must be tuned |
Solvers work at acceleration level for speed, then stabilize to hold the geometry.
Engineering connection: the joint-reaction multipliers a DAE solve produces are exactly the loads a designer needs to size pins, bearings, and brackets.
Worked example 1: solving the augmented system for a multiplier
Two unit-mass coordinates are tied by the constraint x = y (so Φ = x − y). A force of 10 N acts on the first coordinate, none on the second, and the system starts at rest so γ = 0. Find the accelerations and the multiplier.
- ProblemSolve the augmented system in Figure 1 for q̈ and λ.
- Given / findM = identity (unit masses), Φ_q = (1, −1), Q = (10, 0), γ = 0. Find q̈₁, q̈₂, λ.
- AssumptionsRigid ideal constraint x = y; the multiplier is the internal force holding the coordinates equal.
- ModelDynamics: q̈₁ + λ = 10, q̈₂ − λ = 0. Constraint (accel): q̈₁ − q̈₂ = 0.
- Equationsq̈₁ = 10 − λ, q̈₂ = λq̈₁ = q̈₂ → 10 − λ = λ
- Solve10 − λ = λ gives λ = 5 N, and q̈₁ = q̈₂ = 5 m/s².
- CheckThe constraint force splits the 10 N load so both coordinates share the same acceleration, exactly what x = y demands.
- ConclusionThe multiplier is 5 N, the internal force enforcing the constraint, and both coordinates accelerate at 5 m/s². The augmented system delivers motion and reaction in one solve.
Worked example 2: Baumgarte constraint stabilization
A simulation has drifted so the constraint value is Φ = 0.01 with Φ̇ = 0. Using Baumgarte feedback with α = β = 10, find the restoring term added to the acceleration constraint and describe how the error behaves.
- ProblemFind the Baumgarte correction for the drift in Figure 2 and describe the response.
- Given / findΦ = 0.01, Φ̇ = 0, gains α = β = 10. Find the correction −2αΦ̇ − β²Φ and the error behavior.
- AssumptionsSmall drift; the stabilized law Φ̈ + 2αΦ̇ + β²Φ = 0 governs the error.
- ModelReplace Φ̈ = 0 with Φ̈ = −2αΦ̇ − β²Φ; this term is added to γ.
- Equationscorrection = −2αΦ̇ − β2Φ= −2(10)(0) − (10)2(0.01)
- Solvecorrection = 0 − 100(0.01) = −1.0. With α = β = 10 the error equation is critically damped, so Φ decays to zero like e−10t with no overshoot.
- CheckThe negative correction pushes the positive drift back toward zero, and equal gains give the fastest non-oscillatory return, the intended behavior.
- ConclusionBaumgarte feedback adds a restoring term of −1.0 that drives the 0.01 drift back to the constraint. The gains set how fast, trading stiffness against step-size limits.
Misconceptions and diagnostics
| Mistake | Symptom | Diagnostic question | Correction |
|---|---|---|---|
| Treating the DAE as an ODE | Integrator ignores the algebraic constraints | Are the constraints being enforced each step? | Solve the augmented system, not just the dynamics. |
| No constraint stabilization | Position drift grows over a long run | Is Φ staying near zero? | Add Baumgarte or a projection to control drift. |
| Baumgarte gains too large | Stiff behavior forces tiny time steps | Do the gains match the time step? | Tune α, β to the step size; equal gains give critical damping. |
| Misreading the multiplier | Constraint force sign or magnitude wrong | Is λ paired with the right Jacobian row? | The reaction is Φ_qTλ along the constraint gradient. |
Practice ladder
In the augmented example, change the load to Q = (12, 0). Find λ and the accelerations.
Show answer
12 − λ = λ gives λ = 6 N, and q̈₁ = q̈₂ = 6 m/s².
A DAE constraint is enforced at acceleration level only. Which quantities can drift, and which stays satisfied?
Show answer
Acceleration stays consistent; position and velocity can drift, which is why stabilization is added.
With Baumgarte gains α = β = 20 and a drift Φ = 0.005, Φ̇ = 0, find the correction term.
Show answer
correction = −β²Φ = −400(0.005) = −2.0.
For a constrained model you know, set up the augmented system symbolically and state what its multipliers physically represent.
What good work looks like
A good answer stacks M q̈ + Φ_qTλ = Q with Φ_q q̈ = γ, identifies the unknowns, and names the multipliers as the joint reaction forces.
Working with AI, and proving it yourself
Ask AI to check your augmented setup, not to hide the constraints
Portfolio task
For one constrained system, assemble the augmented equations, solve one step for the accelerations and multipliers, and state the drift-control method you would use.
Retrieval and spaced review
Closed notes. Answer out loud, then reveal.
1. Write the constrained dynamics.
M q̈ + Φ_qTλ = Q with Φ_q q̈ = γ.
2. What does a Lagrange multiplier represent?
The joint reaction force along the constraint gradient.
3. Why is this a DAE, not an ODE?
It mixes differential motion equations with algebraic constraints.
4. What is constraint drift?
Growth of position or velocity error when constraints are enforced only at acceleration level.
5. What does Baumgarte stabilization do?
Adds spring-damper feedback so constraint error decays to zero.
Textbook mapping
The general constrained formalism is the core of Wittenburg’s book. Use these references to read further.
| Topic in this module | Where to read more |
|---|---|
| General equations of motion for constrained systems | Wittenburg, Dynamics of Multibody Systems, ch. 5 |
| Descriptor form and Lagrange multipliers | Nikravesh, Computer-Aided Analysis of Mechanical Systems |
| DAE index and Baumgarte stabilization | Computational-dynamics texts on constrained multibody integration |
Chapter references are to Wittenburg, Dynamics of Multibody Systems (Springer); the DAE and stabilization treatment is standard in computational multibody dynamics.