Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Constrained Dynamics Example: A bead on a wire

ƒ The penalty method: ƒ A 2D particle constrained to move


ƒ use springs to enforce constraints on the unit circle:
ƒ does not satisfy constraints exactly ƒ Express constraint as a scalar
ƒ leads to stiff equations behavior function:
ƒ Constraint forces: directly calculate the 1
forces required to maintain constraints: C ( x ) = ( x ⋅ x − 1) = 0
2
ƒ Cancel out any forces acting against the
constraint. ƒ Goal: compute a force to maintain the
constraint.

Example: A bead on a wire Example: A bead on a wire


Legal positions x must satisfy: ƒ Add a constraint force to ensure legal
1
C ( x ) = ( x ⋅ x − 1) = 0 acceleration:
2
f + fˆ
Legal velocities must satisfy: x=
 // fˆ is the (unkown) constraint force
m
C ( x ) = x ⋅ x = 0 f + fˆ
ƒ Substitute: C(x ) = x ⋅ + x ⋅ x = 0
Legal accelerations must satisfy: m

C( x ) = x ⋅ 
x + x ⋅ x = 0 ƒ Therefore: fˆ ⋅ x = −f ⋅ x − m x ⋅ x
Start with a legal position and velocity, and make One equation, two unknowns!
sure that the last equation is always satisfied.
Principle of Virtual Work Principle of Virtual Work
ƒ In order to uniquely solve the previous ƒ For every legal velocity fˆ ⋅ x should vanish
equation another equation is needed fˆ ⋅ x = 0, ∀x | x ⋅ x = 0
ƒ Principle of virtual work: the constraint ƒ Conclusion: f̂ must be in the direction of x:
does not add (or remove) any energy to fˆ = λ x
the total energy of the system.
m ƒ Substituting this term back, we get:
ƒ The kinetic energy is T = x ⋅ x −f ⋅ x − m x ⋅ x
2 λ=
ƒ Its time derivative is T = m x ⋅ x = m f ⋅ x + m fˆ ⋅ x x⋅x
This term should be zero

ƒ We got our extra equation !


ƒ Now we can compute fˆ = λ x and  (
x = f + fˆ / m )

General Case Constrained Dynamics System


ƒ General framework: ƒ Represent all particles as a 3n vector q
ƒ Assume C ( x ) = 0, C ( x ) = 0 ƒ Define a diagonal mass matrix M and its
ƒ Find force that will satisfy C (x ) = 0 inverse W
ƒ Use the principle of virtual work ƒ f is the vector of known forces
ƒ How to deal with: ƒ f̂ is the vector of unknown constraint forces
ƒ Many particles ? ƒ The global equation governing the system:
ƒ Many constraints ?
 = Wf
q
Constrained Dynamics System Principle of Virtual Work
∂C
ƒ Legal velocity C = q = Jq = 0 fˆ ⋅ q = 0, ∀q | Jq = 0
∂q
ƒ All and only vectors satisfying this can be
ƒ J is called the Jacobian of the system expressed as: fˆ = J T λ
ƒ Legal acceleration C = Jq
  + Jq   − JWf
ƒ Substituting f̂ we get: JWJ T λ = − Jq
ƒ Substitute the forces:
 = Jq
C   + JW(f + fˆ )

 = 0 and rearranging: ƒ λ are known as Lagrange multipliers


ƒ Requiring C
ƒ Using λ we can find f̂ and continue
  − JWf
JWfˆ = − Jq

You might also like