here - Concurrent Dynamics

Transcription

here - Concurrent Dynamics
MBS Angular Momentum
Martin Tong
Concurrent Dynamics International
November 2014
11/27/2014
copyright 2014 Concurrent Dynamics
International
Introduction
•
The angular momentum of a multibody system (MBS) or a system of interconnected bodies
has two important properties.
1.
It is a state of motion corresponding to vehicle’s generalized coordinates and rates
and it is independent of the dynamics formalism. If the multibody dynamics
simulation program computes it, then it must be identical to the independently
computed momentum state based on the values of I j ,  j , rj , rj , hkw  j 1:N ,k 1:N
supplied by the simulation program.
w
2.
•
It is constant in the inertial space when no external torque is exerted on the system.
This property allows one to verify the correctness of the dynamics formulation
underlying the simulation. Test this by disabling external forces to the system (jets,
impact forces) and enabling gravity if it is uniform (i.e. g at each cm is identical) and
all interbody forces/torque (i.e. joint torque).
The following presents the derivation of the angular momentum of a rigid MBS.
11/27/2014
copyright 2014 Concurrent Dynamics
International
Fig. 1 Notation 1
hingej
bi
bj
cmj
dj
sj
i
si
bi bodyi
ˆi hingei position from cmsys
i inertial position of hingei
rˆi cmi position from cmsys
ri inertial position of cmi
dj hingejp to hingej displacement
sj hingej to cmj displacement
R inertial position of cmsys
b1 root body
bi=bjp; parent of bj
11/27/2014
hingek
dk
ˆi
rˆi
ˆ1
z
cmsys
R
rˆ1
1
r1
s1
cm1
hinge1
Inertial frame
x
copyright 2014 Concurrent Dynamics
International
y
b1
Fig. 2 Notation 2
hingej
bi
bj
cmj
hingek
dj
sj
cmi
i
si
dk
ri
bi
i
i
ri
bodyi
hingei position from hinge1
hingei inertial position
cmi position from hinge1
ri inertial position of cmi
dj hingejp to hingej displacement
si hingei to cmi displacement
R inertial position of cmsys
c cmsys position from hinge1
bi=bjp; parent of bj
11/28/2014
rˆi
s1
cm1
c
z
cmsys
R
x
copyright 2014 Concurrent Dynamics
International
1
r1
hinge1
Inertial frame
y
b1
•
The root body b1 is the reference body whose position and attitude serve as
the starting value to compute the same for other bodies in the system in a
hierarchical manner. Generally, the choice of b1 is arbitrary. In the case of a
humanoid robot, b1 could be the head, the torso or the hip.
•
Body indexing rule used here is the Parent-First order meaning that the index
of a body is always a lower integer number than the indices of its children.
•
All vectors in the following discussion are given in the format xji . The subsript j
denotes the body that x belongs to and the superscript i denotes the
coordinate frame that the vector is in.
•
Vectors with no superscript are given in inertial coordinates unless defined
otherwise
11/27/2014
copyright 2014 Concurrent Dynamics
International
• If a point, C, is the center of mass of a rigid body bj then the first mass
moment about C is zero, i.e.
 ldm  0
(1)
bj
where dm differential mass at l from C
• Angular momentum of a body bj about the system center of mass per
Fig. 1 is defined by
h j   (l  rˆj )  (l  rˆj  R ) dm
(2)
bj
where rˆj  cm of b j measured from system cm in inertial coordinates
rˆj  d (rˆj ) / dt
R  inertial velocity of system cm
11/27/2014
copyright 2014 Concurrent Dynamics
International
• Angular momentum of body bj about its own center of mass is
hˆ  l  l dm  I 
(3)
j

j
j
bj
where l   j  l
 j  total angular rate of b j in inertial coordinates
I j    l ldm in inertial coordinates
bj
l  skew symmetric matrix of l
• Given Eqs. 1 to 3, the angular momentum of body bj about the system
center of mass is
h j  I j j  m j rˆj  (rˆj  R)
where m j   dm
bj
11/27/2014
copyright 2014 Concurrent Dynamics
International
(4)
• Given Eq. 4, the angular momentum of all bodies (N) in the system about
the system center of mass is
N
H sys   h j
j 1
N
=  ( I j j  m j rˆj  (rˆj  R))
(5)
j 1
• Equation 5 reduces to
N
H sys   ( I j j  m j rˆj  rˆj )
(6)
j 1
since
N
 m rˆ
j 1
11/27/2014
j j
 0 , given that rˆj is measured from system cm, see Fig. 1
copyright 2014 Concurrent Dynamics
International
• For those systems that have N w spinning wheels, Eq. 6 becomes
Nw
N
H sys   ( I j j  m j rˆj  rˆj )+  hkw
j 1
k 1
where hkw  g kw I kw k ; wheel momentum
g kw  wheel spin axis in inertial coordinates
I kw  wheel spin axis inertia
 k  wheel spin speed
11/27/2014
copyright 2014 Concurrent Dynamics
International
(7)
Computing Hsys
• Equation. 7 is a function of m j , I j ,  j , rˆj , rˆj , hkw 
per Fig. 1 and it is
j 1:N , k 1: N
independent of R , the total velocity of the system cm
w
• Equation 7 requires that Hsys be computed in inertial coordinates
• Two other methods of computing Hsys can be done depending on the
coordinates of the terms in Eq. 7 as defined by the simulation program
• In the following, body b1 in an MBS is the root-body or the starting body
from which all joint location and total angular rates of member bodies are
defined in a hierarchical manner.
• Moreover, b1 must have 6 dof with respect to the inertial frame.
11/27/2014
copyright 2014 Concurrent Dynamics
International
Hsys: Method 1


• If all terms I j ,  j , rˆj , rˆj , hkw j 1:N ,k 1:N are available in inertial
coordinates from the simulation program per Fig. 1, then Hsys can be
computed per Eq. 7. The input to Eq. 7 are m j , I j ,  j , rˆj , rˆj , hkw  j 1:N ,k 1:N
w
w
11/27/2014
copyright 2014 Concurrent Dynamics
International
Hsys: Method 2


• If the output are 1j , rˆj1 , rˆj1 , hkw , and
cm per Fig. 1, then use Eq. 8 for Hsys:
rˆ , rˆ  are measured from system
1
j
1
j
Nw
 N

1 j
j 1
1
1
H sys  C1   (C j I j C1  j  m j rˆj  rˆj )+ [hkw ]1 
k 1
 j 1

where Cab  dcm from LFRa to LFRb
(8)
C1  dcm from LFR1 to inertial frame
I jj  inertia tensor of b j in LFR j coord
rˆj1  position of cm j from system cm in LFR1 coord
1j  angular rate of b j in LFR1 coord
[ hkw ]1  wheel(k ) momentum in LFR1 coord.

• Input for Eq. 8 are m j , I jj , 1j , rˆj1 , rˆj1 ,[hkw ]1 , C1 , C1j
11/27/2014
copyright 2014 Concurrent Dynamics
International

j 1:N , k 1:N w
Hsys: Method 3
• If the output are  1j , rj1 , rj1 , hkw  per Fig. 2, where rj1 , rj1 are measured
from hinge1, then use Eq. 9 for Hsys.
H sys
Nw
 N

1 j
j 1
1
1
1
1
 C1   (C j I j C1  j  m j rj  rj )  mc  c + [hkw ]1 
k 1
 j 1

(9)
 N
 N
1
1
1
where m   m j , c    m j rj  / m, c    m j rj  / m
j 1
 j 1

 j 1

rj  c  rˆj , position of cm j from LFR1 origin, see Fig's. 1 and 2.
N
1
rj1  C1T rj , in LFR1 coordinates
c1  position of system cm from LFR1 origin in LFR1 coordinates.
• Input for Eq. 9 is m j , I jj , 1j , rj1 , rj1 ,[hkw ]1 , C1 , C1j  j 1:N ,k 1:N
11/27/2014
copyright 2014 Concurrent Dynamics
International
w
Summary
•
•
Methods to compute the system angular momentum of a rigid multibody
system have been presented based on three types of output from the
simulation program
a. m j , I j ,  j , rˆj , rˆj , hkw 
, see Fig. 1
j 1:N , k 1: N w
b.
m , I
j
j
, 1j , rˆj1 , rˆj1 ,[ hkw ]1 , C1 , C 1j
c.
m , I
j
j
, 1j , rj1 , rj1 ,[ hkw ]1 , C1 , C 1j 
j
j

j 1: N , k 1: N w
j 1: N , k 1: N w
, see Fig. 1
, see Fig. 2
The Hsys computation (post-sim) serves to:
– Identify differences in the momentum state between the one computed
by the simulation program and that of independently computed based on
the position and rate data obtained from the simulation program to check
for mass property or kinematics discrepancies
– Verify the correctness of the underlying dynamics formulation of an MBS
simulation
11/27/2014
copyright 2014 Concurrent Dynamics
International