A Brief Synopsis of Kane`s Method and a few Applications

advertisement
A Brief Synopsis of Kane’s Method
This paper is the result of my interest in multi-body dynamics and desire to increase my
knowledge on the topic. My initial intentions were to teach myself Kane’s method (originally
called Lagrange form of d’Alembert’s principle) for developing dynamical equations of motion
and then prepare a lecture for class. As I started learning and applying the technique I realized
that a small lecture would not be sufficient to teach the method and have time to get to some of
the more interesting applications. In this paper I present a proof of Kane’s Method using the
Principle of Virtual Work, a general procedure for developing equations of motion, and a few
applications.
Essentially all methods for obtaining equations of motion are equivalent. However, the
ease of use of the various methods differs; some are more suited for multibody dynamics than
others. The Newton-Euler method is comprehensive in that a complete solution for all the forces
and kinematic variables are obtained, but it is inefficient. Applying the Newton-Euler method
requires that force and moment balances be applied for each body taking in consideration every
interactive and constraint force. Therefore, the method is inefficient when only a few of the
system’s forces need to be solved for.
Lagrange’s Equations provides a method for disregarding all interactive and constraint
forces that do not perform work. The major disadvantage of this method is the need to
differentiate scalar energy functions (kinetic and potential energy). This is not much of a
problem for small multibody systems, but becomes an efficiency problem for large multibody
systems.
Kane’s method offers the advantages of both the Newton-Euler and Lagrange methods
without the disadvantages. With the use of generalized forces the need for examining interactive
and constraint forces between bodies is eliminated. Since Kane’s method does not employ the
use of energy functions, differentiating is not a problem. The differentiating required to compute
velocities and accelerations can obtained through the use of algorithms based on vector products.
Kane’s method provides an elegant means to develop the dynamics equations for multibody
systems that lends itself to automated numerical computation. (Huston 1990)
1
Derivation of Kane’s Equations Using the Principle of Virtual Work
Consider an open-chain multibody system of N interconnected rigid bodies each subject
to external and constraint forces. The external forces can be transformed into an equivalent force



and torque ( Fk and M k ) passing through Gk , the mass center of the body k (k = 1,2…N).


Similar to the external forces, the constraint forces may be written as Fkc and M kc . Using
d’Alembert’s principle for the force equilibrium of body k, the following is obtained:



Fk  Fk  Fkc  0

where Fk  mk ak is the inertia force of body k.
The concept of virtual work may be described as follows for a system of N particles with
3N degrees of freedom. The systems configuration can be described using qr (r = 1,2,…3N)
generalized coordinates with force components F1, F2,…, F3N applied to the particles along the
corresponding generalized coordinates. The virtual work is then defined as:
N 
W   Fi  ri
i 1

th
Where Fi is the resultant force acting on the i particle and ri is the position vector of the
particle in the inertial reference frame. ri is the virtual displacement, which is imaginary in the
sense that it is assumed to occur without the passage of time.
Now applying the concept of virtual work to our multibody system considering only the
work due to the forces on the system we obtain:



W  ( Fk  Fk  Fkc )  rk  0
(k = 1,2,…,N)
The constraints that are commonly encountered are known as workless constraints so…

Fkc  rk  0
Which simplifies the virtual work equation to:

or

W  ( Fki  Fk )  rk  0
(k = 1,2,…,N)

  rk
W  ( Fk  Fk ) 
qr  0
qr
(r = 1,2,…,3N)
*
2
The positions vector may also be written as:
 
rk  rk (qr , t )
so


rk dq r rk

rk 

q r dt
t


rk
rk

q r 
q r
t

Taking the partial derivative of rk with respect to q r yields


rk
rk

q r q r
or


vk rk

q r qr
Since the virtual displacement qr is arbitrary without violating the constraints we can write * as:
f r  f r  0
where f r and f r are the generalized active and inertia forces respectively and are defined as
follows:
 vk
f r  Fk 
q r
and
  vk

f r  Fk 
q r
In a similar fashion it can be shown using virtual work that the moments can be written as:
M r  M r  0
where M r and M r are the generalized active and inertia moments respectively and are defined
as follows:
  k
M r  Tk 
q r
and

      k

M r  ( k  I   k  I   k ) 
q r
By superposition of the force and moment equations we arrive at Kane’s equations:
Fr  Fr  0
where
Fr  f r  M r
Fr  f r  M r
(Adapted from Amirouche 1992)
3
Notation
Notation that will be used throughout the rest of the paper:
q r - generalized coordinate
dq r
u r - generalized speed, typically equal to
dt
N P
v - velocity of P with respect to the Newtonian (inertial) reference frame
N  A
v - velocity of the center of mass of body A

Nv A
N A
v r - partial velocity, equal to
u r
Cn or Sn – Cos(n) or Sin(n)
General Procedure for using Kane’s Method
1) Label important points (important points being defined as all center of mass locations, and
locations of applied forces with the exception of conservative constraint forces).
2) Select generalized coordinates (qr) and generalized speeds (ur), then generate expressions for
angular velocity and acceleration of all bodies and velocity and acceleration of the important
points.
3) Construct a partial velocity table of the form:
Generalized
Speeds ( ur )
r=1
r=2
.
.
.
N
 A
vr
N
.
.
.
B
vr
.
.
.
N

r A
N
.
.
.

r B
.
.
.
4) Fr + Fr* = 0
where the generalized active force, Fr, is defined as:
 A 
 A  B 
 B
Fr   FA  N v r  T A  N  r  FB  N v r  TB  N  r


r
and the generalized inertia force, Fr*, is defined
  as: A





 B
    
B
A
Fr    mN a A N vr  N A  I  N  A  I N  A N  r  mN a B N vr  N B  I  N  B  I N  B N  r





r
5) Which can then be written in the form:
M u  RHS (u)
4

Applications
In this section of the paper I will step through some of the example problems I did to
familiarize myself with Kane’s method. I started with simple two-dimensional problems that I
could easily confirm the equations of motion using other methods. As I felt more comfortable
with Kane’s method I moved onto 3D problems involving non-holonomic constraints. Presented
here are a few of those problems, which demonstrate the subtleties of Kane’s method.
Problem 1
The first problem is a spring-mass-pendulum problem with frictionless sliding. This was
problem is good for showing the general procedure of Kane’s method.
q1
Define Transformation Matrix:
K
A
L
n̂1
b̂
n̂
b̂
q2
n̂
3
n̂2
n̂3
2
2
1
n̂
b̂1
b̂2
b̂3
C2
-S2
0
S2
C2
0
0
0
1
P
1
Mass of A and P are M1 and M2 respectively
Step 1) Define important points as the center of mass of A and particle P.
Step 2) Select generalized coordinates as shown in the figure and generate velocity and
acceleration expressions for the important points.
N A
N A
v  u1n̂1
a  u1n̂1
 AP
N P N  A N  P
v  v   r
 u1nˆ1  (u2bˆ3 )  (Lbˆ2 )
N P
a  u nˆ  u Lbˆ  u 2 Lbˆ
 u nˆ  u Lbˆ
1 1
2
1 1
1
2
1
2
2
Step 3) Construct a partial velocity table.
ur
r=1
r=2
N

vrA
N

vrP
n̂1
n̂1
0
Lb̂1
5
Step 4) Fr  Fr  0


Fr  ( Kq1nˆ1  M1 gnˆ2 )N vrA  (M 2 gnˆ2 )N vrP
F1   Kq1
F2  M 2 Lg sin( q2 )



Fr  (M1 N a A )N vrA  (M 2 gnˆ2 )N vrP
F1  M1u1  M 2 (u1  u2 L cos( q2 )  u22 L sin( q2 ))
F2  M 2 (u1L cos( q2 )  u2 L2 )
Step 5) Assemble Fr  Fr  0
  ( M 1  M 2 )  M 2 L cos( q2 )  u1   M 2u22 L sin( q2 )  Kq1 


 M L cos( q )
 M 2 L2  u2  
M 2 Lg sin( q2 )
2
2


Problem 2
This problem is useful in that it shows how auxiliary generalized speeds can be
introduced to bring constraint forces and torques into evidence. In this case we will introduce u3
to find an expression for Tc (constraint torque about â1 ). The joints at O and P are revolute.
Body A and B are uniform rods with length 4L and 2L respectively. Body A has two times the
mass of body B.
Define the direction cosine matrices:
n̂
3
n̂1
O
n̂ 2
n̂3
n̂
2
n̂
1
g
A
b̂3
q1
P
â3
B
q2
â1
â 2
0
S1
0
1
0
-S1
0
C1
â 3
â1
C1
â 2
0
S1
b̂2
0
1
0
b̂3
-S1
0
C1
b̂1
b̂2
â 3
â1
C1
b̂1
â2
Step 1) Choose important points: Center of Mass of bodies A and B, and point P.
Step 2) Select generalized coordinates as shown in the figure (plus auxiliary generalized
coordinate u3) and generate velocity and acceleration expressions for the important points.
6
The prime in the equations below indicates that the specified quantities contain the
auxiliary generalized coordinate.
Body A
N  A
   u 3 aˆ1  u1 aˆ 2

N  A N  O N  A
v   v     r OA  2 L(u 3 aˆ 2  u1 aˆ1 )
N A
  u1â2
N  A
a  2 Lu1 aˆ1  2 Lu12 aˆ 3
Point P

N  P N O N  A
v   v     r OP  4 L(u 3 aˆ 2  u1 aˆ1 )
Body B
N  B N  A A B
        (u 3 aˆ1  u1 aˆ 2 )  u 2 aˆ 3

N  B N  P N  B
v   v      r PB  L(4u1  u 2 c 2 )aˆ1  (4u 3  u 2 s 2 )aˆ 2  (u 3 c 2  u1 s 2 )aˆ 3 
N B N A A B N  A A B
          u1 aˆ 2  u 2 aˆ 3  u1u 2 aˆ1




N  B N  P N  B
a  a    r PB  N  B ( N  B  r PB )
 4u1 aˆ1  u12 aˆ 2  L u 2 c 2 aˆ1  u 2 s 2 aˆ 2  (u1u 2 c 2  u1 s 2 )aˆ 3   L (u12 s 2  u 22 s 2 )aˆ1  u 22 c 2 aˆ 2  u1u 2 c 2 aˆ 3

Step 3) Construct a partial velocity table.
ur
N

 r A
N

v r A
N

 r B
N

v r B
â 2
 4 Laˆ1  Ls 2 aˆ 3
0
 2Laˆ1
0
â 3
â1
2Laˆ 2
â1
L(c2 aˆ1  s2 aˆ 2 )
L(4aˆ 2  c 2 aˆ 3 )
r=1
â 2
r=2
r=3
7

Step 4) Fr  Fr  0
  A
 A
B
Fr  (2mgnˆ 3 ) N v r  (Tc aˆ 3 ) N  r  (mgnˆ 3 ) N v r
F1  mgL(8s1  s2 c1 )
F2  mgLs1c2
F3  mgLc1c2  Tc
 A  

  A
  A 

 A
Fr  (2m N a A ) N v r   N  A  I A  N  A  I A  N  A  N  r




B
B
B







 B


 (m N a B ) N vr   N A  I B  N  B  I B  N  B  N  r


 A 
I A
4 2
3 L

 2m  0

 0

 B 
I B

0
 4
4 2
4
L 0  L2 aˆ1 aˆ1  L2 aˆ 2 aˆ 2
3
3
 3
0
0


0
0 
1
1
0
0   L2 bˆ1bˆ1  L2 bˆ3 bˆ3

3
3
1 2
0
L 
3 
0
1 2
3 L
 m 0

 0

 8mL2 
 mL2 
2
u1  (8mL )u1   
(u1 s 22  u1u 2 s 2 c2 )
F  
3 
 3 

 (mL2 ) 4(u1  u 2 c2  s 2 (u12  u 2 ) 2 )  s 2 (2u1u 2 c2  u1 s 2 )

1


 mL 
(u 2  s 2 c2 u12 )  mL2 (u1  u 2 c2  s 2 (u12  u 22 ))c2  s 2 (4u12  u 2 s 2  u 22 )
F2  
 3 
 mL2 
(u1 s 2 c2  2u1u 2 c22 )  mL2 4(4u12  u 2 s 2  u 22 )  c2 (2u1u 2 c2  u1 s 2 )
F3  
3



2



Step 5) Assemble Fr  Fr  0
 8mL2
4mL2 2
2
 12mL 
s2

3
3


 mL2 c 2


mL2

s 2 c 2  mL2 s 2

3

 4mL c 2
2

mL2
 mL2
3
4mL2 s 2

 mL2

0
u1u 2 s 2 c 2  mL2 (4s 2 (u12  u 2 ) 2  2s 2 c 2 u1u 2 )  mgl (8s1  s 2 c1 )

  u1   3 2

mL 2


2
2
2
2
2
2


0 u 2  
u1 s 2 c 2  mL s 2 c 2 (u1  u 2 )  mgls1c 2  mL s 2 (4u1  u 2 ) 



3
 Tc   2mL2

1
u1u 2 c 22  16mL2 u12  mglc 2 c1  2mL2 c 22 u1u 2  16mL2 u 22 

3



8
Problem 3
This non-holonomic system demonstrates the usefulness of choosing the generalized
speeds to be something other than the first derivative of the generalized coordinates.
n̂
Define the direction cosine
matrices:
â 3
â1
â 2
2
n̂
2
q2
â2
b̂2
n̂1
C1
0
S1
n̂ 2
n̂3
0
1
0
-S1
0
C1
n̂
b̂3
1
O
â1
â3
q4
q1
n̂
P
~
P C
q5
3
C
b̂1
â1
â 2
â 3
b̂1
0
0
1
b̂2
S2
C2
0
b̂3
-C1
S2
0
~
Step 1) Choose important points: Center of Mass of bodies C, point P and P (on body C).
Step 2) Select generalized coordinates as shown in the figure and generate velocity and
acceleration expressions for the important points.
N




 C  N  A  A B  B C
 q1aˆ 2  q 2 bˆ1  q 3bˆ3
Case A – Choose u i  q i (i = 1,2,…,5)
Imposing the rolling without slip constraint we obtain:
~
N  P N  C N  C
v  v    (Rbˆ2 )  0



 [u4 nˆ3  u5nˆ1 ( N  B  Rbˆ2 )] ( N  B  B C )  (Rbˆ2 )  0

 u4nˆ3  u5nˆ1 ( B C  Rbˆ2 )  u4nˆ3  u5nˆ1  u3 Rbˆ1  0
 u4 nˆ3  u5 nˆ1  u3 Raˆ3  u4 nˆ3  u5nˆ1  u3 R(sin( q1 )nˆ1  cos( q1 )nˆ3 )  0
Which gives us constraint relations on u 4 and u 5
u4  u3 R cos( q1 )
u5  u3 R sin( q1 )
9
N
 

v C  u 4 nˆ3  u5 nˆ1 ( N  B  Rbˆ2 )
 u 4 nˆ3  u5 nˆ1  (u1aˆ 2  u 2 bˆ1 )  ( Rbˆ2 )
 u4 nˆ3  u5nˆ1  [u1 (cos( q2 )bˆ2  sin( q2 )bˆ3 )  u2bˆ1 ]  ( Rbˆ2 )
Pluging in the constraint relations allows us to develop the non-holonomic expression for the
velocity of the center of mass of body C:
 
N~
v C  u3 R cos( q1 )nˆ3  u3 R sin( q1 )nˆ1  u1 R sin( q2 )bˆ1  u 2 Rbˆ3
 u Raˆ  u R sin( q )bˆ  u Rbˆ
3
3
1
2
1
2
3
 u3 Rbˆ1  u1R sin( q2 )bˆ1  u2 Rbˆ3
N





 C  N  B  B C  N  B  B  C







{N  A  A B  N  A  A  B } B C  N  B B  C
 {u1aˆ2  u2bˆ1  (u1aˆ2 )  (u2bˆ1 )}  u3bˆ3  (u1aˆ2  u2bˆ1 )  (u3bˆ3 )
 u1 (c2bˆ2  s2bˆ3 )  u2bˆ1  u1 (c2bˆ2  s2bˆ3 )  (u2bˆ1 )  u3bˆ3  [u1 (c2bˆ2  s2bˆ3 )  u2bˆ1 ]  u3bˆ3
 u (c bˆ  s bˆ )  u bˆ  u u (c bˆ  s bˆ )  u bˆ  u u c bˆ  u u bˆ
1
2 2
2 3
2 1
1 2
2 3
2 1
3 3
1 3 2 1
3 2 2
 (u2  u1u2 s2  u1u3c2 )bˆ1  (u1c2  u3u2 )bˆ2  (u1s2  u1u2c2  u3 )bˆ3
N
~  B N~ C 
~ C  N d Nv C
~ 

d v
a 

 N  B N v C
dt
dt
 R[(u1 s2  u1u2 c2  u3 )bˆ1  u 2bˆ3 ]  [u1 (c2 bˆ2  s2 bˆ3 )  u 2bˆ1 ]  (u3 Rbˆ1  u1 Rs 2 bˆ1  u2 Rbˆ3 )
 R[(u1s2  u1u2c2  u3 )bˆ1  u2bˆ3 ]  u1u3 Rc2bˆ3  u12 Rc2 s2bˆ3  u1u2 Rc2bˆ1  u1u3s2 Rbˆ2  u12 s22 Rbˆ2  u32 Rbˆ2  u1u3 Rs 2bˆ2  u22 Rbˆ2
Step 3) Construct a partial velocity table.
ur
N

 rC
N
~
v rC 
r=1
c2 bˆ2  s2 bˆ3
 Rs 2 b̂1
r=2
 b̂1
 Rb̂3
r=3
b̂3
 Rb̂1
Step 4) Fr  Fr  0


~
~
Fr   mc g (c2bˆ2  s2bˆ3 )  N vrC
~
F1  0
~
F2  mc Rgs 2
~
F3  0
10
 C  
 C  
~  ~ 


~
Fr  {I C    N  C  I C  N  C } N  rC  (mC N a C ) N vrC




~
Fr   I11bˆ1bˆ1  I 22bˆ2 bˆ2  I 33bˆ3bˆ3  (u 2  u1u2 s2  u1u3c2 )bˆ1  (u1c2  u3u2 )bˆ2  (u1 s2  u1u2 c2  u3 )bˆ3  N  rC
~
 mc  R[(u1 s 2  u1u 2 c2  u 3 )bˆ1  u 2 bˆ3 ]  u1u3 Rc 2 bˆ3  u12 Rc 2 s 2 bˆ3  u1u 2 Rc 2 bˆ1  u12 s 22 Rbˆ2  u32 Rbˆ2  u 22 Rbˆ2  N vrC


~
F1  I 22 c2 (u1c2  u3u 2 )  I 33 s 2 (u1 s 2  u1u 2 c2  u 3 )  mc R 2 s 2 (u1 s 2  2u1u 2 c2  u 3 )
~
F2  I 11 (u 2  u1u 2 s 2  u1u3 c2 )  mc R 2 (u 2  u1u3 c2  u12 c2 s 2 )
~
F3  I 33 (u1 s 2  u1u 2 c2  u 3 )  mc R 2 (u1 s 2  2u1u 2 c2  u 3 )
Step 5) Assemble Fr  Fr  0
 I 22 c 22  I 33 s 22  mc R 2 s 22

0


I 33 s 2  mc R 2 s 2

0
I 11  mc R 2
0
I 33 s 2  mc R 2 s 2   u1    I 22 c 2 u 2 u 3  I 33 s 2 c 2 u1u 2  2mc R 2 s 2 c 2 u1u 2 
  

2
0
 u 2    I 11 s 2 u1u 2  I 11c 2 u1u 3  mc ( R c 2 u1u 3  Rgs 2 )

I 33  mc R 2  u 3  
 I 33 c 2 u1u 2  2mc R 2 c 2 u1u 3

Notice that the inertia matrix, M, is not symmetric. However if the definitions of the generalized
speeds are choosen wisely then it is possible to produce a inertia matrix that is symmetric
positive definite.

Case B - Choose u1, u2, u3 such that N  C  u1bˆ1  u 2 bˆ2  u3bˆ3
N

 C  q1aˆ 2  q 2 bˆ1  q 3bˆ3
 q1 (c2 bˆ2  s 2 bˆ3 )  q 2 bˆ1  q 3bˆ3  (q 2 )bˆ1  (q1c2 )bˆ2  (q1 s 2  q 3 )bˆ3
From which we can derive the expressions for u1, u2, u3:
u1  q 2
u 2  q1c2
u3  q1 s 2  q 3

~  

v C  N v B  N  C  Rbˆ2  0  (u1bˆ1  u 2 bˆ2  u3bˆ3 )  Rbˆ2  R(u3bˆ1  u1bˆ3 )
N C
  u1bˆ1  u2bˆ2  u3bˆ3

N~
a C  R (u3  u1u2 )bˆ1  (u1  u3u2 )bˆ3  (u12  u32 )bˆ2
N


Step 3) Construct a partial velocity table.
N C
ur
r
N
~
v rC 
r=1
b̂1
Rb̂3
r=2
b̂2
0
r=3
b̂3
 Rb̂1
11
Step 4) Fr  Fr  0


 

~

~
Fr   I11u1bˆ1  I 22u 2bˆ2  I 33u3bˆ3  N  rC  mc R (u3  u1u2 )bˆ1  (u1  u3u2 )bˆ3  (u12  u32 )bˆ2  N vrC
~
F1  I11u1  mc R 2 (u1  u3u2 )
~
F2   I 22 u 2
~
F3  I 33u3  mc R 2 (u3  u1u 2 )
~
~
Fr   mc g (c2bˆ2  s2bˆ3 )  N vrC
~
F1  mc Rgs 2
~
F2  0
~
F3  0


Step 5) Assemble Fr  Fr  0
 I 11  mc R 2

0


0

0
I 22
0
  u1  mc R 2 u 3 u 2  mc R 2 gs 2 
0
  

0
0
 u 2   


I 33  mc R 2  u 3  
 mc R 2 u1u 2

The inertia matrix is now symmetric positive definite.
Conclusions
Although the applications of Kane’s method to multibody systems in this paper has been
light, I have shown that is a powerful technique. It offers the advantages of both the NewtonEuler and Lagrange methods in that it can be comprehensive and efficient.
As part of learning Kane’s method I have taught myself how to use Autolev, a dynamics
software package that uses Kane’s method to develop equations of motion and perform
simulations. In the future I plan on using Autolev to develop equations of motion for a biped.
So far I have successfully built simple models of a biped in the frontal plane to compare to
published works. The next step is to develop a simple three dimensional model and slowly
increase its complexity by adding joints/additional degrees of freedom.
12
References
Amirouche, Farid M.L. Computational Methods in Multibody Dynamics. New Jersey: Prentice
Hall, 1992.
Anderson, Kurt S. Lecture Notes from Applied Multibody Dynamics. Rensselaer Polytechnic
Institute 1998.
Critchley, James H. Personal Interviews. February-May 1999.
Critchley, James H. Personal Notes: Kane's Method Application. March 1999.
Huston, Ronald L. Multibody Dynamics. Boston: Butterworth-Heinemann, 1990.
Kane, Thomas R., and David A. Levinson. Dynamics: Theory and Applications. New York:
McGraw-Hill, 1985.
13
Download