Download Generalized Coordinates, Lagrange`s Equations, and Constraints 1

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Hooke's law wikipedia , lookup

N-body problem wikipedia , lookup

Vibration wikipedia , lookup

Internal energy wikipedia , lookup

Dynamical system wikipedia , lookup

Fluid dynamics wikipedia , lookup

Kinematics wikipedia , lookup

Nuclear structure wikipedia , lookup

Relativistic quantum mechanics wikipedia , lookup

Dynamic substructuring wikipedia , lookup

Theoretical and experimental justification for the Schrödinger equation wikipedia , lookup

Derivations of the Lorentz transformations wikipedia , lookup

Centripetal force wikipedia , lookup

Classical central-force problem wikipedia , lookup

Hunting oscillation wikipedia , lookup

Joseph-Louis Lagrange wikipedia , lookup

Hamiltonian mechanics wikipedia , lookup

Work (physics) wikipedia , lookup

Virtual work wikipedia , lookup

Computational electromagnetics wikipedia , lookup

Rigid body dynamics wikipedia , lookup

Equations of motion wikipedia , lookup

First class constraint wikipedia , lookup

Dirac bracket wikipedia , lookup

Routhian mechanics wikipedia , lookup

Lagrangian mechanics wikipedia , lookup

Analytical mechanics wikipedia , lookup

Transcript
Generalized Coordinates, Lagrange’s Equations, and Constraints
CEE 541. Structural Dynamics
Department of Civil and Environmental Engineering
Duke University
Henri P. Gavin
Fall, 2016
1 Cartesian Coordinates and Generalized Coordinates
The set of coordinates used to describe the motion of a dynamic system is not unique.
For example, consider an elastic pendulum (a mass on the end of a spring). The position of
the mass at any point in time may be expressed in Cartesian coordinates (x(t), y(t)) or in
terms of the angle of the pendulum and the stretch of the spring (θ(t), u(t)). Of course, these
two coordinate systems are related. For Cartesian coordinates centered at the pivot point,
x(t) =
(l + u(t)) sin θ(t)
y(t) = −(l + u(t)) cos θ(t)
y
y = −(l+u)cos θ
x
l
θ
where l is the un-stretched length of the spring. Let’s define
"
r(t) =
u
K
M
(1)
(2)
r1 (t)
r2 (t)
#
"
=
x(θ(t), u(t))
y(θ(t), u(t))
g and
"
q(t) =
x = (l+u)sin θ
q1 (t)
q2 (t)
#
"
=
#
"
=
(l + u(t)) sin θ(t)
−(l + u(t)) cos θ(t)
θ(t)
u(t)
#
(3)
#
(4)
so that r(t) is a function of q(t).
The potential energy, V , may be expressed in terms of r or in terms of q.
In Cartesian coordinates, the velocities are
"
ṙ(t) =
ṙ1 (t)
ṙ2 (t)
#
"
=
u̇(t) sin θ(t) + (l + u(t)) cos θ(t)θ̇(t)
−u̇(t) cos θ(t) + (l + u(t)) sin θ(t)θ̇(t)
#
(5)
So, in general, Cartesian velocities ṙ(t) can be a function of both the velocity and position of
some other coordinates (q̇(t) and q(t)). Such coordinates q are called generalized coordinates.
The kinetic energy, T , may be expressed in terms of either ṙ or, more generally, in terms of
q̇ and q.
Small changes (or variations) in the rectangular coordinates, (δx, δy) consistent with all
displacement constraints, can be found from variations in the generalized coordinates (δθ, δu).
∂x
∂x
δθ +
δu = (l + u(t)) cos θ(t)δθ + sin θ(t)δu
∂θ
∂u
∂y
∂y
δy =
δθ +
δu = (l + u(t)) sin θ(t)δθ − cos θ(t)δu
∂θ
∂u
δx =
(6)
(7)
2
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
2 Principle of Virtual Displacements
Virtual displacements δri are any displacements consistent with the constraints of the
system. The principle of virtual displacements1 says that the work of real external forces
through virtual external displacements equals the work of the real internal forces arising
from the real external forces through virtual internal displacements consistent with the real
external displacements. In system described by n coordinates ri , with n internal inertial
forces M r̈i (t), potential energy V (r), and n external forces pi collocated with coordinates ri ,
the principle of virtual dispalcements says,
n
X
i=1
∂V
M r̈i +
∂ri
!
δri =
n
X
(pi (t)) δri
(8)
i=1
3 Minimum Total Potential Energy
The total potential energy, Π, is defined as the internal potential energy, V , minus the
potential energy of external forces2 . In terms of the r (Cartesian) coordinate system and
n forces fi collocated with the n displacement coordinates, ri , the total potential energy is
given by equation (9).
Π(r) = V (r) −
n
X
(9)
fi ri .
i=1
The principle of minimum total potential energy states that the total potential energy is
minimized in a condition of equilibrium. Minimizing the total potential energy is the same
as setting the variation of the total potential energy to zero. For any arbitrary set of “variational” displacements δri (t), consistent with displacement constraints,
min Π(r) ⇒ δΠ(r) = 0 ⇔
r
n
n
X
X
∂V
∂Π
fi δri = 0 ,
δri = 0 ⇔
δri −
i=1 ∂ri
i=1
i=1 ∂ri
n
X
(10)
In a dynamic situation, the forces fi can include inertial forces, damping forces, and external
loads. For example,
fi (t) = −M r̈i (t) + pi (t) ,
(11)
where pi is an external force collocated with the displacement coordinate ri . Substituting
equation (11) into equation (10), and rearranging slightly, results in the d’Alembert-Lagrange
equations, the same as equation (8) found from the principle of virtual displacements,
n
X
i=1
!
∂V
M r̈i (t) +
− pi (t) δri = 0 .
∂ri
(12)
In equations (8) and (12) the virtual displacements (i.e., the variations) δri must be arbitrary
and independent of one another; these equations must hold for each coordinate ri individually.
M r̈i (t) +
∂V
− pi (t) = 0 .
∂ri
(13)
1
d’Alembert, J-B le R, 1743
In solid mechanics, internal strain energy is conventionally assigned the variable U , whereas the potential
energy of external forces is conventionally assigned the variable V . In Lagrange’s equations potential energy
is assigned the variable V and kinetic energy is denoted by T .
2
CC BY-NC-ND HP Gavin
3
Generalized Coordinates and Lagrange’s Equations
4 Derivation of Lagrange’s equations from “f = ma”
For many problems equation (13) is enough to determine equations of motion. However,
in coordinate systems where the kinetic energy depends on the position and velocity of
some generalized coordinates, q(t) and q̇(t), expressions for inertial forces become more
complicated.
P
The first goal, then, is to relate the work of inertial forces ( i M r̈i δri ) to the kinetic
energy in terms of a set of generalized coordinates. To do this requires a change of coordinates
from variations in n Cartesian coordinates δr to variations in m generalized coordinates δq,
δri =
m
X
∂ ṙi
∂ri
δqj =
δqj
j=1 ∂ q̇j
j=1 ∂qj
m
X
and
m
X
d
∂ ṙi
δri = δ ṙi =
δqj .
dt
j=1 ∂qj
(14)
Now, consider the kinetic energy of a constant mass M . The kinetic energy in terms of
velocities in Cartesian coordinates is given by T (ṙ) = 12 M (ṙ12 + ṙ22 ), and
∂T
δri = M ṙi δri .
∂ ṙi
(15)
Applying the product and chain rules of calculus to equation (15),
d
dt
∂T
δri
∂ ṙi

!
= M r̈i δri + M ṙi
d
δri
dt
(16)

m
d  ∂T X
∂ ṙi 
∂T
δqj
= M r̈i δri +
δ ṙi
dt ∂ ṙi j=1 ∂ q̇j
∂ ṙi

M r̈i δri
(17)

m
m
∂ ṙi  ∂T X
∂ ṙi
d  ∂T X
=
δqj −
δqj .
dt ∂ ṙi j=1 ∂ q̇j
∂ ṙi j=1 ∂qj
(18)
P
Equation (18) is a step to getting the work of inertial forces ( i M r̈i δri ) in terms of a set of
generalized coordinates qj . Next, changing the derivatives of the potential energy from ri to
qj ,
m
X
∂V
∂V ∂qj ∂ri
δri =
δqj .
(19)
∂ri
j=1 ∂qj ∂ri ∂qj
Finally, expressing the work of external forces pi in terms of the new coordinates qj ,
n
X
i=1
pi (t) δri =
n
X
i=1
pi (t)
m
X
m X
n
m
X
X
∂ri
∂ri
δqj =
pi (t)
δqj =
Qj (t) δqj ,
∂qj
j=1 ∂qj
j=1 i=1
j=1
(20)
where Qj (t) are called generalized forces. Substituting equations (18), (19) and (20) into
equation (12), rearranging the order of the summations, factoring out the common δqj ,
canceling the ∂ri and ∂ ṙi terms, and eliminating the sum over i, leaves the equation in terms
CC BY-NC-ND HP Gavin
4
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
of qj and q̇j ,
n
X




m
m
m
m
X
X
∂ ṙi  ∂T X
∂ ṙi
∂V ∂qj ∂ri
∂ri
d ∂T X
 
δqj −
δqj +
δqj − pi (t)
δqj  = 0
dt
∂
ṙ
∂
q̇
∂
ṙ
∂q
∂q
∂r
∂q
∂q
i
j
i
j
j
i
j
j
i=1
j=1
j=1
j=1
j=1
m
n
X
X
j=1
i=1
"
d
dt
∂T ∂ ṙi
∂ ṙi ∂ q̇j
!
∂T ∂ ṙi ∂V ∂qj ∂ri
∂ri
−
+
− pi
∂ ṙi ∂qj ∂qj ∂ri ∂qj
∂qj
m
X
j=1
"
d
dt
∂T
∂ q̇j
!
∂T
∂V
−
+
− Qj
∂qj ∂qj
#
δqj = 0
#
δqj = 0
The variations δqj must be arbitrary and independent of one another; this equation must
hold for each generalized coordinate qj individually. Removing the summation over j and
canceling out the common δqj factor results in Lagrange’s equations,3
d
dt
∂T
∂ q̇j
!
−
∂V
∂T
+
− Qj = 0
∂qj ∂qj
(21)
are which are applicable in any coordinate system, Cartesian or not.
5 The Lagrangian
Lagrange’s equations may be expressed more compactly in terms of the Lagrangian of
the energies,
L(q, q̇, t) ≡ T (q, q̇, t) − V (q, t)
(22)
Since the potential energy V depends only on the positions, q, and not on the velocities, q̇,
Lagrange’s equations may be written,
d
dt
3
∂L
∂ q̇j
!
−
∂L
− Qj = 0
∂qj
(23)
Lagrange, J.L., Mecanique analytique, Mm Ve Courcier, 1811.
CC BY-NC-ND HP Gavin
5
Generalized Coordinates and Lagrange’s Equations
6 Explanation of Lagrange’s equations in terms of Hamilton’s principle
Define a Lagrangian of kinetic and potential energies
L(q, q̇, t) ≡ T (q, q̇, t) − V (q, t)
(24)
and define an action potential functional
S[q(t)] =
Z t2
L(q, q̇, t) dt
(25)
t1
with end points q1 = q(t1 ) and q2 = q(t2 ). Consider the true path of q(t) from t1 to t2 and
a variation δq(t) such that δq(t1 ) = 0 and δq(t2 ) = 0.
Hamilton’s principle:4
The solution q(t) is an extremum of the action potential S[q(t)]
⇐⇒ δS[q(t)]
=0
Z
⇐⇒
t2
δL(q, q̇, t) dt = 0
t1
Substituting the Lagrangian into Hamilton’s principle,
Z t2 (X "
∂T
t1
i
∂T
∂V
δ q̇i +
δqi −
δqi
∂ q̇i
∂qi
∂qi
#)
dt = 0
We wish to factor out the independent variations δqi , however the first term contains the
variation of the derivative, δ q̇i . If the conditions for admissible variations in position δq
fully specify the conditions for admissible variations in velocity δ q̇, the variation and the
differentiation can be transposed,
d
δqi = δ q̇i ,
(26)
dt
and we can integrate the first term by parts,
Z t2
t1
"
∂T
∂T
δ q̇i =
δqi
∂ q̇i
∂ q̇i
#t2
−
t1
Z t2
t1
d
dt
!
∂T
δqi dt
∂ q̇i
Since δq(t1 ) = 0 and δq(t2 ) = 0,
Z t2 (X "
t1
i
d
−
dt
!
∂T
∂T
∂V
δqi +
δqi −
δqi
∂ q̇i
∂qi
∂qi
#)
dt = 0
The variations δqi must be arbitrary, so the term within the square brackets must be zero
for all i.
!
∂T
∂V
d ∂T
−
+
= 0.
dt ∂ q̇i
∂qi ∂qi
4
Hamilton, W.R., “On a General Method in Dynamics,” Phil. Trans. of the Royal Society Part II (1834)
pp. 247-308; Part I (1835) pp. 95-144
CC BY-NC-ND HP Gavin
6
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
7 A Little History
I_Newton.jpg
JL_Lagrange.jpg
WR_Hamilton.jpg
JR_dAlembert.jpg
JCF_Gauss.jpg
Sir
Isaac
Newton
Jean-Baptiste
le Rond
d’Alembert
Joseph-Louis
Lagrange
Carl
Fredrich
Gauss
William
Rowan
Hamilton
1642-1727
1717-1783
1736-1813
1777-1855
1805-1865
Second
Law
1687
d’Alembert’s
Principle
1743
Méchanique
Analytique
1788
Gauss’s
Principle
1829
Hamilton’s
Principle
1834-1835
fi dt = d(mi vi )
(fi − mi ai )δri = 0
P
d ∂L
dt ∂ q̇i
−
∂L
∂qi
= Qi
G = 12 (q̈ − a)T M(q̈ − a)
δG = 0
R t2
S = t1 L(q, q̇, t)dt
δS = 0
CC BY-NC-ND HP Gavin
7
Generalized Coordinates and Lagrange’s Equations
8 Example: an elastic pendulum
For an elastic pendulum (a mass swinging on the end of a spring), it is much easier to
express the kinetic energy and the potential energy in terms of θ and u than x and y.
T (θ, u, θ̇, u̇) =
1
1
M ((l + u)θ̇)2 + M u̇2
2
2
(27)
1
V (θ, u) = M g(l − (l + u) cos θ) + Ku2
2
(28)
Lagrange’s equations require the following derivatives (where q1 = θ and q2 = u):
d ∂T
d ∂T
=
dt ∂ q̇1
dt ∂ θ̇
∂T
∂T
=
∂q1
∂θ
∂V
∂V
=
∂q1
∂θ
d ∂T
d ∂T
=
dt ∂ q̇2
dt ∂ u̇
∂T
∂T
=
∂q2
∂u
∂V
∂V
=
∂q2
∂u
=
d
(M (l + u)2 θ̇) = M (2(l + u)u̇θ̇ + (l + u)2 θ̈)
dt
(29)
= 0
(30)
= M g(l + u) sin θ
(31)
=
d
M u̇ = M ü
dt
(32)
= M (l + u)θ̇2
(33)
= Ku − M g cos θ
(34)
Substituting these derivatives into Lagrange’s equations for q1 gives
M (2(l + u)u̇θ̇ + (l + u)2 θ̈) + M g(l + u) sin θ = 0 .
(35)
Substituting these derivatives into Lagrange’s equations for q2 gives
M ü − M (l + u)θ̇2 + Ku − M g cos θ = 0 .
(36)
These last two equations represent a pair of coupled nonlinear ordinary differential equations
describing the unconstrained motion of an elastic pendulum. They may be written in matrix
form as
"
#"
#
"
#
M (l + u)2 0
−M g(l + u) sin θ − M 2(l + u)u̇θ̇
θ̈
=
(37)
0
M
ü
M (l + u)θ̇2 − Ku + M g cos θ
or
M(q(t), t) q̈(t) = Q(q(t), q̇(t), t)
(38)
As can be seen, the inertial terms (involving mass) are more complicated than just
M r̈, and can involve position, velocity, and acceleration of the generalized coordinates. By
carefully relating forces in Cartisian coordinates to those in generalized coordinates through
free-body diagrams the same equations of motion may be derived, but doing so with Lagrange’s equations is often more straight-forward once the kinetic and potential energies are
derived.
CC BY-NC-ND HP Gavin
8
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
9 Maple software to compute derivatives for Lagrange’s equations
9.1 A forced spring-mass-damper oscillator
Consider a forced mass-spring-damper oscillator . . . basically the same as the elastic
pendulum with just the u(t) coordinate, (without the θ coordinate), but with some linear
viscous damping in parallel with the spring, and external forcing f (t), collocated with the
displacement u(t).
1
M u̇(t)2
2
1
V (u) =
Ku(t)2
2
p(u, u̇) δu = −cu̇(t) δu + f (t) δu
T (u, u̇) =
where (p δu) is the work of real non-conservative forces through a virtual displacement δu, in
which the damping force is cu̇ and the external driving force is f (t). The Maple software may
be used to apply Lagrange’s equations to these expressions for kinetic energy, T , potential
energy V , and the work of non-conservative forces and external forcing, W . Here are the
Maple commands:
> with(Physics):
> Setup(mathematicalnotation=true)
> v := diff(u(t),t);
d
v := -- u(t)
dt
> T := (1/2) * M * vˆ2;
/d
\2
T := 1/2 M |-- u(t)|
\dt
/
> V := (1/2) * K * u(t)ˆ2;
2
V := 1/2 K u(t)
> p := -C * diff(u(t),t)
+ f(t) ;
/d
\
p := -C |-- u(t)| + f(t)
\dt
/
The lines above setup Maple to invoke the desired functional notation, define the velocities v as the derivatives of time-dependent displacements u(t), and represent the kinetic
energy T, potential energy V, and the external and non-conservative forces p. The subsequent
lines evaluate the derivatives and combine the derivatives into Lagrange’s equations to give
us the equations of motion.
CC BY-NC-ND HP Gavin
9
Generalized Coordinates and Lagrange’s Equations
> dTdv := diff(T, v);
/d
\
dTdv := M |-- u(t)|
\dt
/
> ddt_dTdv := diff(dTdv,t);
/ 2
\
|d
|
ddt_dTdv := M |--- u(t)|
| 2
|
\dt
/
> dTdu := diff(T,u(t));
dTdu := 0
> dVdu := diff(V,u(t));
dVdu := K u(t)
> Q := p*diff(u(t),u(t));
/d
\
Q := -C |-- u(t)| + f(t)
\dt
/
> EOM := ddt_dTdv - dTdu + dVdu = Q;
/ 2
\
|d
|
/d
\
EOM := M |--- u(t)| + K u(t) = -C |-- u(t)| + f(t)
| 2
|
\dt
/
\dt
/
> quit
. . . giving us the expected equation of motion (EOM) . . .
M ü(t) + C u̇(t) + Ku(t) = f (t)
CC BY-NC-ND HP Gavin
10
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
9.2 An elastic pendulum
For the elastic pendulum problem considered earlier, the first coordinate is θ(t), and is
called q(t) in the Maple commands. The second coordinate is u(t) . . . called u(t) in Maple.
> with(Physics):
> Setup(mathematicalnotation=true)
> v1 := diff(q(t),t);
d
v1 := -- q(t)
dt
> v2 := diff(u(t),t);
d
v2 := -- u(t)
dt
> T := (1/2) * M * (( l+u(t))*v1)ˆ2
+
(1/2) * M * v2ˆ2;
2 /d
\2
/d
\2
T := 1/2 M (l + u(t)) |-- q(t)| + 1/2 M |-- u(t)|
\dt
/
\dt
/
> V := M * g * ( l - (l+u(t)) * cos(q(t)))
+
(1/2) * K * u(t)ˆ2;
2
V := M g (l - (l + u(t)) cos(q(t))) + 1/2 K u(t)
> EOM1 := diff( diff(T,v1) , t) - diff(T,q(t)) + diff(V,q(t));
/ 2
\
/d
\ /d
\
2 |d
|
EOM1 := 2 M (l + u(t)) |-- q(t)| |-- u(t)| + M (l + u(t)) |--- q(t)|
\dt
/ \dt
/
| 2
|
\dt
/
+ M g (l + u(t)) sin(q(t))
> EOM2 := diff( diff(T,v2) , t) - diff(T,u(t)) + diff(V,u(t));
/ 2
\
|d
|
/d
\2
EOM2 := M |--- u(t)| - M (l + u(t)) |-- q(t)| - M g cos(q(t)) + K u(t)
| 2
|
\dt
/
\dt
/
> quit
The Maple expressions EOM1 and EOM2 are the same equations of motion as the previouslyderived equations (35) and (36).
CC BY-NC-ND HP Gavin
11
Generalized Coordinates and Lagrange’s Equations
10 Matlab simulation of an elastic pendulum
To simulate the dynamic response of a system described by a set of ordinary differential
equations, the system equations may be written in a state variable form, in which the highestorder derivatives of each equation (θ̈ and ü in this example) are written in terms of the
lower-order derivatives (θ̇, u̇, θ, and u in this example). The set of lower-order derivatives is
called the state vector. In this example, the equations of motion are re-expressed as
θ̈ = −(2u̇θ̇ + g sin θ)/(l + u)
ü = (l + u)θ̇2 − (K/M )u + g cos θ
(39)
(40)
In general, the state derivative ẋ = [θ̇, u̇, θ̈, ü]T is written as a function of the state, x =
[θ, u, θ̇, u̇]T , ẋ(t) = f (t, x). The equations of motion are written in this way in the following
Matlab simulation.
1
2
% elastic pendulum sim
% s i m u l a t e t h e f r e e r e s p o n s e o f an e l a s t i c pendulum
3
4
5
6
% f o r m a t and e x p o r t p l o t i n . e p s
epsPlots = 0;
i f epsPlots , formatPlot (14 ,5); e l s e formatPlot (0); end
animate = 1;
7
8
% s ys t e m c o n s t a n t s a r e g l o b a l v a r i a b l e s
...
9
10
global
l
g
K
M
11
12
13
14
15
l
g
K
M
%
%
%
%
= 1.0;
= 9.8;
= 25.6;
= 1.0;
un−s t r e t c h e d l e n g t h o f t h e pendulum , m
g r a v i t a t i o n a l a c c e l e r a t i o n , m/ s ˆ2
e l a s t i c s p r i n g c o n s t a n t , N/m
pendulum mass , kg
16
17
18
f p r i n t f ( ’ spring - mass frequency = % f Hz \ n ’ , sqrt ( K / M )/(2* pi ))
f p r i n t f ( ’ pendulum frequency = % f Hz \ n ’ , sqrt ( g / l )/(2* pi ))
19
20
21
22
23
t_final = 36;
delta_t = 0.02;
points = f l o o r ( t_final / delta_t );
t = [1: points ]* delta_t ;
%
%
%
%
simulation duration , s
time s t e p increment , s
number o f d a t a p o i n t s
time data , s
24
25
% i n i t i a l conditions
26
27
28
29
30
theta_o
u_o
theta_dot_o
u_dot_o
=
=
=
=
0.0;
l;
0.5;
0.0;
%
%
%
%
initial
initial
initial
initial
r o t a t i o n angle
spring stretch
r o ta t io n rate ,
spring stretch
, rad
, m
rad / s
r a t e , m/ s
31
32
% initial
x_o = [ theta_o ; u_o ; theta_dot_o ; u_dot_o ];
state
33
34
35
% s o l v e t h e e q u a t i o n s o f motion
[t ,x , dxdt , TV ] = ode4u ( ’ e l a s t i c _ p e n d u l u m _ s y s ’ , t , x_o );
36
37
38
39
40
theta
u
theta_dot
u_dot
=
=
=
=
x (1 ,:);
x (2 ,:);
x (3 ,:);
x (4 ,:);
T
V
= TV (1 ,:);
= TV (2 ,:);
41
42
43
% kinetic
energy
% p o t e n t i a l energy
44
45
% c o n v e r t from ” q ” c o o r d i n a t e s t o ” r ” c o o r d i n a t e s
...
46
47
48
x = ( l + u ).* s i n ( theta );
y = -( l + u ).* cos ( theta );
% eq ’ n ( 1 )
% eq ’ n ( 2 )
CC BY-NC-ND HP Gavin
12
1
2
3
4
5
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
function [ dxdt , TV ] = e l a s t i c _ p e n d u l u m _ s y s (t , x )
% [ d x d t ,TV] = e l a s t i c p e n d u l u m s y s ( t , x )
% s ys t e m e q u a t i o n s f o r an e l a s t i c pendulum
% compute t h e s t a t e d e r i v a t i v e , d x d t , t h e k i n e t i c energy , T, and t h e
% p o t e n t i a l energy , V,
o f an e l a s t i c pendulum .
6
7
% s ys t e m c o n s t a n t s a r e pre−d e f i n e d g l o b a l v a r i a b l e s
...
8
9
global
l g K M
10
11
% define the state vector
12
13
14
15
16
theta
u
theta_dot
u_dot
=
=
=
=
x (1);
x (2);
x (3);
x (4);
%
%
%
%
r o t a t i o n angle
spring stretch
r ot a ti on rate ,
spring stretch
, rad
, m
rad / s
r a t e , m/ s
17
18
% compute t h e a c c e l e r a t i o n o f t h e t a and u
19
20
theta_ddot = -(2* u_dot * theta_dot + g * s i n ( theta )) / ( l + u );
% eq ’ n ( 3 5 )
21
22
u_ddot
= ( l + u )* theta_dot ˆ2
-
( K / M )* u
+
g * cos ( theta );
% eq ’ n ( 3 6 )
23
24
% assemble the s t a t e d e r i v a t i v e
25
26
dxdt = [ theta_dot ; u_dot ; theta_ddot ; u_ddot ];
27
28
29
TV = [ (1/2) * M * (( l + u ).* theta_dot ).ˆ2 + (1/2) * M * u_dot .ˆ2 ; % K. E . ( 2 5 )
M * g *( l -( l + u ).* cos ( theta )) + (1/2) * K * u .ˆ2 ];
% P.E. (26)
30
31
32
% −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− e l a s t i c p e n d u l u m s y s
CC BY-NC-ND HP Gavin
13
Generalized Coordinates and Lagrange’s Equations
1
θ(t) and u(t)
0.5
0
-0.5
swing, q1(t) = θ(t), rad
stretch, q2(t) = u(t), m
-1
0
5
10
15
20
energies, Joules
time, s
6
5
4
3
2
1
0
-1
-2
K.E.
P.E.
K.E.+P.E.
0
5
10
15
20
time, s
0
t = 36.000 s
y position, m
-0.5
-1
-1.5
-2
(x0, y0)
-1
-0.5
0
0.5
1
x position, m
Figure 1. Free response of an elastic pendulum from an initial rotational velocity,
p θ̇(0) of
2
0.5 rad/s for l = 1.0
p m, g = 9.8 m/s , K = 25.6 N/m, and M√= 1 kg. Tk = 2π M/K =
1.242 s. Tl = 2π l/g = 2.007 s. Even though Tk /Tl ≈ ( 5 − 1)/2, the least rational
number, the record repeats every 24 seconds. Note that in the absence of internal damping and
external forcing, the sum of kinetic energy and potential energy is constant. Why is it that the
internal potential energy becomes negative as compared to it’s initial value? What is the initial
configuration of the system (θ(0), u(0)) in this example? About what values do θ(t) and u(t)
oscillate for t > 0? (spyrograph!)
CC BY-NC-ND HP Gavin
14
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
11 Constraints
Suppose that in a dynamical system described by m generalized dynamic coordinates,
q(t) =
h
q1 (t), q2 (t), · · · , qm (t)
i
there are specific requirements on the motion that must be satisfied. For example, suppose the
elastic pendulum must move along a particular line, g(θ(t), u(t)) = 0, or that the pendulum
can not move past a particular line, g(θ(t), u(t)) ≤ 0. If these constraints to the motion of the
system can be written pureley in terms of the positions of the coordinates, then the system
(including the differential equations and the constraints) is called a holonomic system.
There are a number of intriguing terms connected to constrained dynamical systems.
• A system with constraints that depend only on the position of the coordinates,
g(q(t), t) = 0
is holonomic.
• A system with constraints that depend on the position and velocity of the coordinates,
g(q(t), q̇(t), t) = 0
(in which g(q(t), q̇(t), t) can not be integrated into a holonomic form) is non-holonomic.
• A system with constraints that are independent of time,
g(q) = 0
or
g(q, q̇) = 0
is scleronomic.
• A system with constraints that are explicitely dependent on time, as in the constraints
listed under the first two definitions is rheonomic.
• A system with constraints that are linear in the velocities,
g(q(t), q̇(t)) = f (q(t)) · q̇(t)
is pfafian.
Any unconstrained system must be forced to adhere to a prescribed constraint. The
required constraint forces QC are collocated with the generalized coordinates q, and the
virtual work of the constraint forces acting through virtual displacements is zero5
QC · δq = 0.
Geometrically, the constraint forces are normal to the displacement variations.
5
Lanczos, C., The Variational Principles of Mechanics, 4th ed., Dover 1986
CC BY-NC-ND HP Gavin
15
Generalized Coordinates and Lagrange’s Equations
11.1 Holonomic systems
Consider a constraint for the elastic pendulum in which the pendulum must move along
a curve g(θ(t), u(t)) = 0. For example, consider the constraint
u(t) = l − lθ2 (t)
g(θ(t), u(t)) = 1 − θ2 (t) − u(t)/l .
⇐⇒
Clearly the elastic pendulum will not follow the path g = 0 all by itself; it needs to be forced,
somehow, to follow the prescribed trajectory. In a holonomic system (in which the constraints
are on the coordinate positions) it can be helpful to think of a frictionless guide that enforces
the dynamics to evolve along a partiular line, g(q) = 0. The guide exerts constraint forces
QC in a direction transverse to the guide, but not along the guide.
For relatively simple systems such as this, incorporating a constraint can be as simple
as solving the constraint equation for one of the variables, for example, u(t) = l − lθ2 (t) and
using the constraint to eliminate one of the coordinates. With the substitution of u(t) =
l − lθ2 (t) into the expressions for kinetic energy and potential energy, Lagranges equations
can be written in terms of the remaining coordinate, θ. This is a perfectly acceptable means
of incorporating holonomic constraints into an analysis. However, in general, a set of c
constraint equations g(q) = 0 can not be re-arranged to express the position of c coordinates
in terms of the remaining (m − c) coordinates. Furthermore, reducing the dimension of the
system by using the constraint equation to eliminate variables does not give us the forces
required to enforce the constraints, and therefore misses an important aspect of the behavior
of the system. So a more general approach is required to derive the equations of motion for
constrained systems.
Recall that an admissible variation, δq must adhere to all constraints. For example, the
solution to the constrained elastic pendulum, perterbued by [δθ, δu], must lie along the curve
1 − θ2 − u/l = 0. In order for the variation δq to be admissible, the perturbed solution must
also lie on the line of the constraint. In other words, the variation δq must be perpendicular
to the gradient of g with respect to q,
"
∂g
∂q
#
δq = 0 .
(41)
A constraint evaluated at a perturbed solution q + δq, in general, can be approximated via
a truncated Taylor series
"
#
∂g
g(q + δq, t) = g(q, t) +
δq + h.o.t. .
∂q
The constraints at the perturbed solution are satisfied for infinitessimal pertubations as long
as equation (41) holds. Because admissible variations δq are normal to [∂g/∂q] and the
constraint force QC is normal to δq, the constraint force must lie within [∂g/∂q],
"
C
Q =λ
T
∂g
∂q
#
.
CC BY-NC-ND HP Gavin
16
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
.
q
q
2
2
dg
dq
dg
.
dq
δq
δq
.
1
.
.
g(q , q , q , q ) = 0
q
q
1
g(q , q ) = 0
1
2
1
2
1
2
Figure 2. Admissibile variations δq for holonomic (left) and non-holonomic (right) systems. In
holonomic systems δq adheres to the constraint g(q) = 0 since δq is normal to the gradient of
g with respect to q. In holonomic systems δq need only be normal to ∂g/∂ q̇.
The constraint forces QC
j may now be added into Lagrange’s equations as the forces
required to adhere the motion to the constraints gi (q) = 0.
d
dt
∂T
∂ q̇j
!
−
X ∂gi
∂V
∂T
+
−
λi
− Qj = 0
∂qj ∂qj
∂qj
i
in which
X
i
λi
(42)
∂gi
∂qj
is the generalized force on coordinate qj applied through the system of constraints,
g(q, t) = 0 .
(43)
These forces are precisely the actions that enforce the constraints. Equations (42) and (43)
uniquely describe the dynamics of the system. In numerical simulations these two systems of
equations are solved simultaneously for the accelerations, q̈(t), and the Lagrange multipliers,
λ(t), from which the constraint forces, QC (t), can be found.
CC BY-NC-ND HP Gavin
17
Generalized Coordinates and Lagrange’s Equations
Let’s apply this to the elastic pendulum, constrained to move along a path
u(t) = l − lθ2 (t)
g(θ(t), u(t)) = 1 − θ2 (t) − u(t)/l .
⇐⇒
(44)
The derivitives of T and V are as they were previously. The new derivitives required to
model the actions of the constraints are
∂g
∂g
=
= −2θ
(45)
∂q1
∂θ
∂g
∂g
=
= −1/l
(46)
∂q2
∂u
Equation (35) now includes a new term for the constraint force in the θ direction, +λ(2θ),
and the new term for the constraint force in the u direction in equation (36) is +λ(1/l). (This
problem has one constraint, and therefore one Lagrange multiplier, but two coordinates, and
therefore two generalized constraint forces.) There are no other non-conservative forces Qj
applied to this system. The problem now involves three equations (two equations of motion
and the constraint) and three unknowns θ, u (or their derivitives) and λ. In principle, a
solution can be found. In solving the equations of motion numerically, as a system of firstorder o.d.e’s, we solve for the highest order derivitives in each equation in terms of the
lower-order derivitives. In this case the highest order derivitives are θ̈ and ü. In the case of
constrained dynamics, we also need to solve for the Lagrange multiplier(s), λ. The constraint
equation(s) give(s) the additional equation(s) to do so. But in this problem the constraint
equation is in terms of positions θ and u. However, by differentiating the constraint we can
put this in terms of accelerations θ̈ and ü. So doing, with some rearrangement,
2lθθ̈ + ü = −2lθ̇2 .
(47)
Now we have three equations and three unknowns for θ̈, ü, and λ.
M (l + u)2 θ̈ + 2θλ = −M g(l + u) sin θ − M 2(l + u)u̇θ̇
1
M ü + λ = M (l + u)θ̇2 − Ku + M g cos θ
l
2lθθ̈ + ü = −2lθ̇2
(48)
(49)
(50)
The constraint force in the θ direction is λ(2θ) and the constraint force in the u direction is
λ/l. The three equations may be written in matrix form . . .
−M g(l + u) sin θ − M 2(l + u)u̇θ̇
M (l + u)2 0 2θ
θ̈




0
M 1/l   ü  =  M (l + u)θ̇2 − Ku + M g cos θ 


2θ
1/l 0
λ
−2θ̇2





(51)
Note that the initial condition of the system must also adhere to the constraints,
lθ02 + u0 = l
2lθ0 θ̇0 + u̇0 = 0
(52)
(53)
These equations can be integrated numerically as was shown in the previous Matlab example, except for the fact that in the presence of constraints, the accelerations and Lagrange
multiplier need to be evaluated as a solution of three equations with three unknowns.
CC BY-NC-ND HP Gavin
18
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
θ(t) and u(t)
1
0.5
0
-0.5
-1
swing, q1(t) = θ(t), rad
stretch, q2(t) = u(t), m
-1.5
0
5
10
15
20
time, s
energies, Joules
5
K.E.
P.E.
K.E.+P.E.
4
3
2
1
0
0
5
10
15
20
time, s
Figure 3. Free response of an undamped elastic pendulum from an initial condition uo = l and
θ̇o = 1 constrained to move along the arc u = l − lθ2 . The motion is periodic and the total
energy is conserved exactly.
0
t = 20.000 s
y position, m
-0.5
-1
-1.5
-2
(x0, y0)
-1
-0.5
0
0.5
1
x position, m
Figure 4. The constrained motion of the pendulum is seen to satisfy the equation u = l − lθ2
for l = 1 m.
15
10
5
0
-5
θ constraint force, Qθ
u constraint force, Qu
-10
0
5
10
15
20
Figure 5. The constraint forces in the θ (blue) and u (green) directions required to enforce
the constraint u(t) = l − lθ2 (t).
CC BY-NC-ND HP Gavin
19
Generalized Coordinates and Lagrange’s Equations
11.2 Non-holonomic systems
A non-holonomic system has internal constraint forces QC
j which adhere the responses
to a non-integrable relationship involving the positions and velocities of the coordinates,
g(q, q̇, t) = 0 .
(54)
The constraint forces QC
j are normal to the constraint surface g(q, q̇,t) = 0. As always, any
admissible variations must satisfy the constraints
#
"
"
#
∂g
∂g
δq +
δ q̇ + h.o.t. = 0
g(q + δq, q̇ + δ q̇, t) = g(q, q̇, t) +
∂q
∂ q̇
So, for infinitessimal variations,
"
∂g ∂g
,
∂q ∂ q̇
#
"
·
δq
δ q̇
#
=0.
It may be shown6 that this condition is equivalent to
"
∂g
∂ q̇
#
· δq = 0
(55)
which is the constraint on the displacement variations for non-holonomic systems.
As in holonomic constraints, the constraint forces QC in non-holonomic systems do no
work through the displacement variations, δq. Since admissible variations δq are normal to
[∂g/∂ q̇], the constraint forces must therefore lie within [∂g/∂ q̇],
"
QC = λ T
∂g(q, q̇)
∂ q̇
#
.
Including these constraint forces into Lagrange’s equations gives the non-holonomic form of
Lagrange’s equations,78
d
dt
∂T
∂ q̇j
!
−
X ∂gi
∂T
∂V
+
−
λi
− Qj = 0 ,
∂qj ∂qj
∂ q̇j
i
in which
X
i
λi
(56)
∂gi
∂ q̇j
is the generalized force on coordinate qj applied through the system of constraints g = 0.
Equations (54) and (56) uniquely prescribe the constraint forces (Lagrange multipliers λ)
and the dynamics of a system constrained by a function of velocity and displacement.
6
P.S. Harvey, Jr., Rolling Isolation Systems: Modeling, Analysis, and Assessment, Ph.D. dissertation,
Duke Univ, 2013
7
M.R. Flannery, “The enigma of nonholonomic constraints,” Am. J. Physics 73(3) 265-272 (2005)
8
M.R. Flannery, “d’Alembert-Lagrange analytical dynamics for nonholonomic systems,” J. Mathematical
Physics 52 032705 (2011)
CC BY-NC-ND HP Gavin
20
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
As an example, suppose the dynamics of the elastic pendulum are controlled by some
internal forces so that the direction of motion arctan(dy/dx) is actively steered to an angle
φ that is proportional to the stretch in the spring, φ = −bu/l. The velocity transvese to the
steered angle must be zero, giving the constraint,
u̇
= tan(θ + bu/l)
⇐⇒
g(θ, u, θ̇, u̇) = u̇ cos(θ + bu/l) − lθ̇ sin(θ + bu/l)
(57)
lθ̇
The additional derivitives required for the non-holonomic form of Lagranges equations are
∂g
∂g
=
= −l sin(θ + bu/l)
(58)
∂ q̇1
∂ θ̇
∂g
∂g
=
= cos(θ + bu/l)
(59)
∂ q̇2
∂ u̇
Equation (35) now includes a new term for the constraint force in the θ direction, −λ(ls),
and the new term for the constraint force in the u direction in equation (36) is +λ(c), where
s = sin(θ + bu/l) and c = cos(θ + bu/l). Note that in this case, the constraint forces are
dependent upon the position of the pendulum (θ and u), but not on the velocities. The
constraint equation along with the equations of motion uniquely define the solution θ(t),
u(t), and λ(t). Since, for numerical simulation purposes, we are interested in solving for the
accelerations, θ̈(t) and ü(t), we can differentiate the constraint equation to transform it into
a form that is linear in the accelerations,
ġ = −bu̇2 s/l + üc − lθ̇2 c − lθ̈s − θ̇u̇(s + bc)
(60)
Our three equations are now,
M (l + u)2 θ̈ − (ls)λ = −M g(l + u) sin θ − M 2(l + u)u̇θ̇
M ü + (c)λ = M (l + u)θ̇2 − Ku + M g cos θ
−(ls)θ̈ + (c)ü = lθ̇2 c + θ̇u̇(s + bc) + bu̇2 s/l
(61)
(62)
(63)
with an initial condition that also satisfies the constraint, u̇0 = lθ̇0 tan(θ + bu/l). The three
equations may be written in matrix form . . .
−M g(l + u) sin θ − M 2(l + u)u̇θ̇
M (l + u)2
0
−l sin θ
θ̈




0
M
cos θ   ü  =  M (l + u)θ̇2 − Ku + M g cos θ 


2
2
−l sin θ cos θ
0
λ
lθ̇ c + θ̇u̇(s + bc) + bu̇ s/l





(64)
Note that the upper-left 2 × 2 blocks in the matrices of equations (51) and (64) are the
same as the corresponding matrix M in the unconstrained system (37). The same is true
for the first two elements of the right-hand-side vectors of equations (51) and (64) and the
right-hand-side vector Q of the unconstrained system (37). Furthermore, if the differentiated
constraint equations (47) and (60) are written as
ĝ = A(q(t), q̇(t)) q̈(t) − b(q(t), q̇(t), t)
then both equations (51) and (64) may be written
"
M AT
A 0
#"
q̈
λ
#
"
=
Q
b
#
.
(65)
This expression can be obtained directly from Gauss’s principle of least constraint, which
provides an appealing interpretation of constrained dynamical systems.
CC BY-NC-ND HP Gavin
21
Generalized Coordinates and Lagrange’s Equations
1
θ(t) and u(t)
0.5
0
-0.5
swing, q1(t) = θ(t), rad
stretch, q2(t) = u(t), m
-1
0
5
10
15
20
25
30
35
40
energies, Joules
time, s
5
4
3
2
1
0
-1
-2
K.E.
P.E.
K.E.+P.E.
0
5
10
15
20
25
30
35
40
time, s
Figure 6. Free response of an undamped elastic pendulum from an initial condition uo = l/2,
θo = 0.2 rad, θ̇o = 1 rad/s, with trajectory constrained by lθ̇/u̇ = tan(θ + bu/l), with b = 5.
The motion is not periodic but total energy is conserved exactly and the constraint is satisfied
at all times.
2
1.5
y position, m
1
0.5
0
t = 40.000 s
-0.5
-1
-1.5
-2
-1.5
(x0, y0)
-1
-0.5
0
0.5
1
1.5
x position, m
Figure 7. The constrained motion of the pendulum does not follow a fixed relation between u
and θ — the constraint is non-holonomic. (ying & yang)
100
50
0
-50
-100
-150
-200
θ constraint force, Qθ
u constraint force, Qu
-250
0
5
10
15
20
25
30
35
40
Figure 8. The constraint forces in the θ (blue) and u (green) directions required to enforce
the constraint lθ̇/u̇ = tan(θ + bu/l).
CC BY-NC-ND HP Gavin
22
CEE 541. Structural Dynamics – Duke University – Fall 2016 – H.P. Gavin
12 Gauss’s Principle of Least Constraint
Consider the equations of motion of the unconstrained system written as equation (38),
M(q, t) q̈ = Q(q, q̇, t) .
The matrix M is assumed to be symmetric and positive definite. Define the accelerations of
the unconstrained system as
a ≡ M−1 Q
and write the differentiated constraints as
A(q, q̇, t) q̈ = b(q, q̇, t).
The constrained system requires additional actions QC to enforce the constraint, so the
equations of motion of the constrained system are
M(q, t) q̈ = Q(q, q̇, t) + QC (q, q̇, t) .
Lastly, define a quadratic form of the accelerations,
1
G = (q̈ − a)T M (q̈ − a)
2
Gauss’s Principle of Least Constraint910 states that the accelerations of the constrained system q̈ minimize G subject to the constraints Aq̈ = b. The naturally-constrained accelerations
q̈ are as close as possible to the unconstrained accelerations a in a least-squares sense and
at each instant in time while satisfying the constraint Aq̈ = b.
To minimize a quadratic objective subject to a linear constraint the objective can be
augmented via Lagrange multipliers λ,
1
(q̈ − a)T M (q̈ − a) + λT (A q̈ − b)
(66)
GA =
2
1 T
1
=
q̈ Mq̈ + q̈T Ma + aT Ma + λT Aq̈ − λT b
2
2
minimized with respect to q̈,
∂GA
∂q̈
!T
⇐⇒
=0
Mq̈ = Q − AT λ
(67)
Aq̈ = b
(68)
and maximized with respect to λ,
∂GA
∂λ
!T
=0
⇐⇒
These conditions are met in equation (65), as derived earlier for both holonomic and nonholonomic systems,
"
#"
#
"
#
M AT
q̈
Q
=
.
A 0
λ
b
9
Hofrath and Gauss, C.F., “Uber ein Neues Allgemeines Grundgesatz der Mechanik,”, J. Reine Angewandte Mathematik, 4:232-235. (1829)
10
Udwadia, F.E. and Kalaba, R.E., “A New Perspective on Constrained Motion,” Proc. Mathematical and
Physical Sciences, 439(1906):407-410. (1992).
CC BY-NC-ND HP Gavin
23
G( q"1(t), q"2(t) )
Generalized Coordinates and Lagrange’s Equations
Aq"=b
a2(t)
q"2(t)
fC(t)=-AT y
a1(t)
q"1(t)
The force of the constraints is now apparent, QC = −AT λ. While equation (65) is
sufficient for analyzing the behavior and simulating the response of constrained dynamical
systems, it is also useful in building an understanding of their nature. Solving the first of the
equations for q̈,
q̈ = M−1 Q − M−1 AT λ
and inserting this expression into the constraint equation,
AM−1 Q − AM−1 AT λ = b
the Lagrange multipliers may be found,
λ = −(AM−1 AT )−1 (b − AM−1 Q) ,
and substituting a = M−1 Q, the constraint force, QC = −AT λ, can be found as well,
QC = −AT (AM−1 AT )−1 (Aa − b) .
or
QC = K(Aa − b) .
The difference (Aa − b) is the amount of the constraint violation associated with the unconstrained accelerations a. If the unconstrained accelerations satisfy the constraint, then the
constraint force is zero. The matrix K = −AT (AM−1 AT )−1 is a kind of natural nonlinear
feedback gain matrix that relates the constraint violation of the unconstrained accelerations
(Aa − b) to the constriant force required to bring the constraint to zero, QC .
The constrained minimum of the quadratic objective G gives the correct equations of motion.
CC BY-NC-ND HP Gavin