Professional Documents
Culture Documents
Anand Vaz
Professor, Mechanical Engineering
Dr. B. R. Ambedkar National Institute of Technology
G. T. Road Bye Pass, Jalandhar 144011, India
anandvaz@ieee.org
The basic skeletal system of the human hand or its prosthesis can be considered to be made up of rigid
skeletal links. Modeling its dynamics requires an understanding of rigid body mechanics. Since we are
applying the method of bond graphs to understand the dynamics of the system, it would be appropriate to
start from first principles. We shall move from the derivation of system equations to the development of
their bond graph representations, a reverse process. Each rigid link can then be treated as a bond graph
module and assembled into a single bond graph to suit the configuration of the mechanical system. It will
then be easier to derive system equations for the whole mechanism in the usual algorithmic manner which
is characteristic of bond graphs.
Dynamics of rigid multi body systems is a well developed area and we would not like to repeat it again.
However, while pursuing our objective of developing the basic bond graph module structures some
repetition is inevitable and we apologize for it. It is preferable to have a smooth and logical development
even if it is at the cost of some repetition. The Newton-Euler formulation for rigid dynamics is found in
several references, for e.g., [1]. Bond graph representations have been described in [2] - [6].
rigid body
Y0 YB
P
XB
B
rP
0 P
r
Frame B fixed on
rigid body
B
r
0 B
0 Inertial frame 0 X0
Consider the rigid body shown in Fig. 1. Frame 0 is the inertial fixed frame with its origin at 0.
Fig. 1. Fixing frames
Frame B is fixed on the rigid body and has its origin located at point B. P is any general point on the rigid
body. We shall represent the position vector of a point U, seen from the point V and expressed in the frame
W using the notation
⎧ WV xU ⎫
⎪W ⎪
V rU = ⎨ V yU ⎬
W
(1)
⎪W z ⎪
⎩V U ⎭
0
The orientation of frame B with respect to fame 0 is given by the orthonormal rotation matrix B R of
dimension 3×3. Hence,
BR BR = BR BR = I
0 0 T 0 T 0
(2)
1 r0
0 P
− [ r ×]
0
B P
1ω0
0 B
MTF 1 0
B rP
0
1 r0
0 B
From Newton’s II Law the equation for translation of the particle at P with mass m is given by
d
dt
{
m 00 rP = 0 FP } (7)
The forces on all particles forming the rigid body can be summed up to obtain the equations of motion for
translation of the rigid body.
d
{
∑ dt m 00 rP = ∑ 0 FP } (8)
Instead of using the summation symbol, the limiting sum can be written as an Integral
∫∫∫
d 0
dt
0 rP dm = { } ∫∫∫ FP
0
(9)
Over the Over the
entire entire
rigid body rigid body
We shall however continue with the summation symbol, as we understand the mechanism of conversion to
the integral.
The position of the center of mass C (CM) is defined by
⎛ ⎞
∑ {m r } = ∑ m
0
0 P
0
r = ⎜ ∑ m ⎟ 00 rC = M 00 rC
0 C
⎝ ⎠
(10)
Hence,
∑m 0
C P r =0 (12)
⎛ ⎞
⎜ ∑ m ⎟ = M is the mass of the entire rigid body. Thus the effect of translation of all points on the rigid
⎝ ⎠
body can be assigned to its center of mass C.
Differentiating (10) with respect to time t, the momentum related to translation is obtained as
⎛ ⎞
{ }
∑ m 00 rP = ∑ m 00 rC = ⎜⎝ ∑ m ⎟⎠ 00 rC = M 00 rC (13)
From (8) and (13), the translation of the body can be expressed in terms of the motion of its CM as
d
dt
{
M 00 rC = ∑ 0 FP } (14)
Se : 0 Fn
1 0
I:[ M ]
0 rC
S e : 0 F1
The Bond graph representation for (14) is shown in Fig. 4.
Fig. 4. Sub Bond graph for the Newton's law applied to the rigid body
We proceed to derive the equations for torque about point B, due to forces on the body. Taking moments
about point B,
d
{ }
∑ B0 rP × dt m 00 rP = ∑ B0 rP × 0 FP (15)
{
d
} d
{
∑ B0 rP × dt m 00 rP = ∑ B0 rP × dt m 00 rB + m B0 rP }
(16)
= ∑ B0 rP ×
d
dt
{
m 00 rB + ∑ B0 rP ×
d
dt
}
m B0 rP { }
The first term on the RHS of (16) becomes a zero vector in the following cases [1],
(1) If point B is fixed with respect to the inertial frame.
(2) If point B is the CM.
(3) If point B accelerates towards or away from the CM.
For rigid links, it is convenient to consider the case (2), when point B coincides with the CM C,
⎢
(
⎡∑ m y 2 + z 2 )
−∑ mxy −∑ mxz ⎤
⎥
∑ −m ⎡⎣ B0 rP ×⎤⎦ ⎡⎣ B0 rP ×⎤⎦ = ⎢⎢ −∑ mxy ∑ m x 2 + z 2 ( )
−∑ m yz ⎥ = ⎡⎣ B0 I ⎤⎦
⎥
(22)
⎢ − mxz
⎣ ∑ −∑ m yz ∑ m x 2 + y 2 ⎥⎦( )
Now, (20) can be written as
d
{ d
} {
∑ dt ⎡⎣ B0 rP ×⎤⎦ m B0 rP = dt ∑ ⎡⎣ B0 rP ×⎤⎦ m B0 rP }
(23)
=
d
dt ⎣ ⎦
0
{
⎡ B I ⎤ 0 ωB
0
}
{ }
The term ⎡⎣ B0 I ⎤⎦ 00ωB in (20) is called the moment of momentum or angular momentum about B expressed
in frame 0. It is a vector. From (19) and (23), the equation for rotation of the rigid body, due to forces acting
on it, can be written as
d
{ }
⎡ B0 I ⎤ 00ωB = ∑ B0 rP × 0 FP = B0τ
dt ⎣ ⎦
(24)
It clearly represents the cause-effect relationship between torque acting on the rigid body and its angular
momentum. The total torque about the point B acting on the rigid body causes a change in the angular
momentum of the rigid body about point B. The effect is the rotation of the body with angular velocity
0 ω B , and is decided by the properties of the rigid body. This can be represented by a sub bond graph as
0
shown in Fig. 5.
T
⎡⎣ C0 rn ×⎤⎦
MTF S e : 0 Fn
⎡⎣ C0 I ⎤⎦ :I 1ω 0 T
0 B
⎡⎣ C0 r1 ×⎤⎦
0
τ 1 :S e MTF S e : 0 F1
The relations developed in (14), for translation, and (24), for rotation, are shown in a single bond graph in
Fig. 6. In fact both the equations can be derived from the bond graph of Fig. 6.
S e : 0 Fn
T
⎡⎣ C0 rn ×⎤⎦
MTF 0 0
Fn
⎡⎣ C0 I ⎤⎦ :I 1ω 0 T
1 0
I:[ M ]
0 rC
0 B
⎡⎣ C0 r1 ×⎤⎦
0
τ 1 :S e MTF 0 0
F1
S e : 0 F1
Fig. 6. Bond graph for (14) and (24). It represents dynamics of the rigid body, both translation and rotation.
Since the terms of the inertia tensor ⎡⎣ B0 I ⎤⎦ are expressed in the frame 0 they change due to rotation of frame
B. We know that the components of the inertia tensor are constant for the rigid body if expressed in the
moving frame B itself.
We shall need a small result before we proceed further. We know that a vector 0 K which is expressed in the
frame 0 can be expressed in another frame B using the rotation operator B0 RT .
0
K = B0 R B K , and B K = B0 RT 0 K (25)
How can we express the cross product matrix ⎡⎣ 0 K ×⎤⎦ which is expressed in the frame 0 to obtain ⎣⎡ B K ×⎦⎤
expressed in frame B?
Let
0
H = ⎡⎣ 0 K ×⎤⎦ 0 L and 0 H = B0 R B H , 0 L = B0 R B L (26)
Expressing in frame B,
0
B R B H = ⎡⎣ 0 K ×⎤⎦ B0 R B L (27)
Premultiplying (27) by B0 R T ,
B
H = B0 RT ⎡⎣ 0 K ×⎤⎦ B0 R B L
= ⎡ B0 RT ⎡⎣ 0 K ×⎤⎦ B0 R ⎤ B L (28)
⎣ ⎦
= ⎡⎣ B K ×⎤⎦ B L
Hence
⎡⎣ B K ×⎤⎦ = B0 RT ⎡⎣ 0 K ×⎤⎦ B0 R and ⎡⎣ 0 K ×⎤⎦ = B0 R ⎡⎣ B K ×⎤⎦ B0 RT (29)
We can now apply the result of (29) to (22)
⎡⎣ B0 I ⎤⎦ = −∑ m ⎡⎣ B0 rP ×⎤⎦ ⎡⎣ B0 rP ×⎤⎦
= −∑ m B0 R ⎡⎣ BB rP ×⎤⎦ B0 RT 0
B R ⎡⎣ BB rP ×⎤⎦ B0 RT
⎡ ⎤
= B0 R ⎢ −∑ m ⎡⎣ BB rP ×⎤⎦ ⎡⎣ BB rP ×⎤⎦ ⎥ B0 RT
⎣ ⎦
= B0 R ⎡⎣ BB I ⎤⎦ B0 RT
= ∑ ⎡⎣ B0 rP ×⎤⎦ 0 FP
d
dt
{ } {
⎡⎣ B0 I ⎤⎦ 00ωB = B0 R ⎡⎣ BB I ⎤⎦ 0BωB + B0 R } d
{
⎡ BB I ⎤ B0 ωB
dt ⎣ ⎦
}
{
= ⎡⎣ B0 R B0 RT ⎤⎦ B0 R ⎡⎣ BB I ⎤⎦ B0 ωB + B0 R } d
dt ⎣ ⎦
{
⎡ BB I ⎤ 0BωB (32) }
{
= ⎡⎣ 00ωB ×⎤⎦ B0 R ⎡⎣ BB I ⎤⎦ B0 ωB + B0 R } d
dt ⎣ ⎦
{
⎡ BB I ⎤ 0BωB }
This shows that the rate of change of angular momentum of the rigid body about B, observed and expressed
in the frame 0, can be written in terms of the rate of change of angular momentum observed and expressed
in frame B. B0 R is used to express the terms on the RHS in the frame 0.
To express in the frame B, pre multiplying by B0 R T , (32) becomes,
0
B RT
d
dt
{ } { }
⎡⎣ B0 I ⎤⎦ 00ωB = B0 RT ⎡⎣ 00ωB ×⎤⎦ B0 R ⎡⎣ BB I ⎤⎦ B0 ωB + B0 RT B0 R
d
{
⎡ BB I ⎤ B0 ωB
dt ⎣ ⎦
}
(33)
{
= ⎡⎣ B0 ωB ×⎤⎦ ⎡⎣ BB I ⎤⎦ B0 ωB +
d
} {
⎡ BB I ⎤ B0 ωB
dt ⎣ ⎦
}
It can also be seen from (31) that moment of the forces about B, can be expressed in different frames as
0
Bτ = ∑ ⎡⎣ B0 rP ×⎤⎦ 0 FP
= ∑ B0 R ⎡⎣ BB rP ×⎤⎦ B0 RT 0 FP
= B0 R ∑ ⎡⎣ BB rP ×⎤⎦ B0 RT 0 FP (34)
⎧ ⎫
= B0 R ⎨∑ ⎡⎣ BB rP ×⎤⎦ B FP ⎬
⎩ ⎭
= B0 R BBτ
0
B
RT
B
B
τ 0
B
τ
MTF
This is shown by the sub Bond graph of Fig. 7.
Fig. 7. Sub Bond graph for (34)
This is the Euler’s equation of rotation for the rigid body. It can be rearranged as
d
{ } {
⎡ BB I ⎤ B0 ωB = − ⎡⎣ 0BωB ×⎤⎦ ⎡⎣ BB I ⎤⎦ B0 ωB + BBτ
dt ⎣ ⎦
} (36)
{
= ⎡ ⎡⎣ BB I ⎤⎦ B0 ωB ×⎤ 0BωB + BBτ
⎣ ⎦ }
The Bond graph representation for (36) is shown in Fig. 8. It is also called as Euler junction structure.
{
⎡ ⎡ BB I ⎤ 0BωB ×⎤
⎣ ⎣ ⎦ ⎦ }
MGY
e f
τ
B
⎡⎣ BB I ⎤⎦ :I
B
1
0 ωB
B
O3
link 2
Y2 C2
τ2
0
X1
Y1 O2
τ1
0
C1 link 1
O1 X0
0
FO
1
The free body diagram (FBD) of the link 1 is shown in Fig. 10.
Y0
0
FO
2
τ2
0
X1
Y1 O2
τ1
0
C1 link 1
O1 X0
0
FO
1
Applying the basic equations of motion from (14) and (24) to link 1,
Translation:
d
dt
{
M 1 00 rC1 = 0 FO1 + 0 FO2 } (37)
and,
Rotation:
d
dt ⎣ 1 ⎦
{⎣ ⎦ }
⎡ C0 I ⎤ 00ω1 = ⎡ C10 rO1 ×⎤ 0 FO1 + ⎡ C10 rO2 ×⎤ 0 FO2 + 0τ 1 + 0τ 2
⎣ ⎦ (38)
Based on (37) and (38), the sub bond graph for link 1 is shown in Fig. 11. Note the differential causality on
the element I:[ M 1 ] . It occurs due to the imposition of kinematic constraints which result in the
dependence of the momentum of mass M 1 on the angular momentum of link 1 about its CM.
T
⎡⎣ C0 rO ×⎤⎦
1 2
− 0τ 2 MTF 0 0
FO2
⎡⎣ C10 I1 ⎤⎦ :I 1 0ω T
1 0 r I:[ M 1 ]
⎡⎣ C0 rO ×⎤⎦
0 1 0 C1
1 1
differential
0
τ 1 :Se MTF 0 0
FO1
causality
0
r = 0 :S f
0 O1
1 0 r
0 O1
We try to eliminate 0 FO1 from (37) and (38), since it is internal to the mechanism,
d
{
dt ⎣ 1 ⎦ ⎣ }
⎡ C0 I ⎤ 00ω1 = ⎡ C10 rO1 ×⎤ ⎧⎨
d 0
{ ⎫ ⎡ 0
} ⎤0
⎦ ⎩ dt M 1 0 rC1 − FO2 ⎬⎭ + ⎣ C1 rO2 ×⎦ FO2 + τ 1 + τ 2
0 0 0
Since
⎡ O10 rC1 ×⎤
⎣
d
{ 0 d
⎡ 0} ⎤ {0
⎦ dt M 1 0 rC1 = dt ⎣ O1 rC1 ×⎦ M 1 0 rC1 { }}
(40)
=−
d ⎡
{
M 1 ⎡ O0 rC ×⎤⎡ O0 rC ×⎤ ⎤ 00ω1
dt ⎣ ⎣ 1 1 ⎦⎣ 1 1 ⎦ ⎦
}
and
⎡ O10 I ⎤ = ⎡ C10 I ⎤ − ⎡ M 1 ⎡ O10 rC1 × ⎤⎡ O10 rC1 ×⎤ ⎤ (41)
⎣ ⎦ ⎣ ⎦ ⎣ ⎣ ⎦⎣ ⎦⎦
The simplified sub bond graph for link 1 is as shown in Fig. 12.
T
⎡⎣ O10 rO2 ×⎤⎦
− 0τ 2 MTF 00F
O2
⎡⎣ O10 I1 ⎤⎦ :I 1ω
0
0 1
0
τ 1 :Se
Fig. 12. Simplified sub bond graph for link 1.
Consider the free body diagram of link 2. Note the negative signs on 0 FO2 and 0τ 2 . These show the equal
and opposite nature of force and torque on link 2 due to link 1.
X2
0
FO 3
O3
Y2 C2
link 2
O2
− 0τ 2
− 0 FO 2
Applying (14) and (24) to the FBD of Fig. 13, the equations of motion for the link 2 are
d
dt
{ }
M 2 00 rC2 = 0 FO3 − 0 FO2 and (43)
{
d
dt ⎣ 2 ⎦
}
⎡ C 0 I ⎤ 00ω2 = − ⎡ C20 rO2 ×⎤ 0 FO2 + ⎡ C20 rO3 ×⎤ 0 FO3 − 0τ 2
⎣ ⎦ ⎣ ⎦ (44)
The resulting sub bond graph representing the dynamics of link 2 is shown in Fig. 14. Once again there is a
differential causality on the element I:[ M 2 ] .
S e : 0 FO 3
T
⎡⎣ C2 rO3 ×⎤⎦
0
MTF 00F
O3
⎡⎣ C20 I 2 ⎤⎦ :I 1ω
0
1 0
I:[ M 2 ]
T 0 rC2
⎡⎣ C20 rO2 ×⎤⎦
0 2
− 0τ 2 MTF 0− 0
FO2
1 0 r
0 O2
The Bond graph for the two link manipulator is as shown in Fig. 15.
S e : 0 FO 3
T
⎡⎣ C2 rO3 ×⎤⎦
0
MTF 00F
O3
⎡⎣ C20 I 2 ⎤⎦ :I 1ω 0
1 0 I:[ M 2 ]
T 0 rC2
⎡⎣ C20 rO2 ×⎤⎦
0 2
− 0τ 2 MTF 0− 0 F
O2
− 0τ 2 :S e 0− τ0
1 0
2 0 rO2
T
⎡⎣ C0 rO ×⎤⎦
1 2
− 0τ 2 MTF 0 0
FO2
⎡⎣ C0 I1 ⎤⎦ :I
1
1ω 0 T
1 0 r I:[ M 1 ]
⎡⎣ C0 rO ×⎤⎦
0 1 0 C1
1 1
τ 1 :Se
0 MTF 00F
O1
0
r = 0 :Sf
0 O1
1 0
0 rO1
The earlier simplifications to the sub bond graph of link 1 Fig. 12 can be retained and are shown in the Fig.
16.
S e : 0 FO 3
T
⎡⎣ C2 rO3 ×⎤⎦
0
MTF 00F
O3
⎡⎣ C20 I 2 ⎤⎦ :I 1ω 0
1 0
I:[ M 2 ]
T 0 rC2
⎡⎣ C20 rO2 ×⎤⎦
0 2
− 0τ 2 MTF 0− 0
FO2
− 0τ 2 :Se 0− τ 0
1 0
2 0 rO2
T
⎡⎣ O10 rO2 ×⎤⎦
− 0τ 2 MTF 0 0
FO2
⎡⎣ O10 I1 ⎤⎦ :I 1ω 0
0 1
0
τ 1 :Se
Fig. 16. Simplified Bond graph for the 2 link manipulator
{ }
⎡⎣ 00ω1 ×⎤⎦ 10 R ⎡⎣ O11 I ⎤⎦ 01ω1 + 10 R
d
{ }
⎡ O 1 I ⎤ 01ω1 = ⎡ O10 rO2 ×⎤ 0 FO3 − ⎡ O10 rO2 ×⎤
dt ⎣ 1 ⎦ ⎣ ⎦ ⎣
d 0
⎦ dt M 2 0 rC2 + τ 1 + τ 2
0 0
{ } (47)
The second term on the RHS of (47) can be written as,
⎡ O10 rO2 ×⎤
⎣
d
{ 0
}
⎡ 0 ⎤
d
⎦ dt M 2 0 rC2 = ⎣ O1 rO2 ×⎦ dt M 2 O2 rC2 + 0 rO2
0 0
{ { }}
= ⎡⎣ O10 rO2 ×⎤⎦
d
dt
{ {
M 2 − ⎡⎣ O20 rC2 ×⎤⎦ 00ω2 − ⎡⎣ O10 rO2 ×⎤⎦ 00ω1 }}
{
= − ⎡⎣ O10 rO2 ×⎤⎦ ⎨
⎧d
⎩ dt
} {
M 2 ⎡⎣ O20 rC2 ×⎤⎦ 00ω2 + }
d
dt
⎫
M 2 ⎡⎣ O10 rO2 ×⎤⎦ 00ω1 ⎬
⎭
= − M ⎡⎣ r ×⎤⎦ {⎡⎣ r ×⎤⎦ ω + ⎡⎣ r ×⎤⎦ ω + ⎡⎣ r ×⎤⎦ ω + ⎡⎣ r ×⎤⎦ ω }
2
0
O1 O2
0
O2 C2
0
0 2
0
O2 C2
0
0 2
0
O1 O2
0
0 1
0
O1 O2
0
0 1
{
+ 10 R ⎡⎣ O11 rO2 ×⎤⎦ M 2 ⎡⎣ 01ω1 ×⎤⎦ ⎡⎣ 01ω1 ×⎤⎦ O11 rO2 }
{
− 10 R ⎡⎣ O11 rO2 ×⎤⎦ M 2 ⎡⎣ O11rO2 ×⎤⎦ 01ω1 }
(48)
(47) can now be written as
{
⎡⎣ 00ω1 ×⎤⎦ 10 R ⎡⎣ O11I ⎤⎦ 01ω1 + 10 R
d
} { }
⎡ O 1 I ⎤ 01ω1 = ⎡ O10 rO2 ×⎤ 0 FO3 + 0τ 1 + 0τ 2
dt ⎣ 1 ⎦ ⎣ ⎦
{
− 10 R ⎡⎣ O11 rO2 ×⎤⎦ M 2 ⎡⎣ 01ω2 ×⎤⎦ ⎡⎣ 01ω2 ×⎤⎦ 10 RT 20 R O22 rC2 }
+ M 2 10 R ⎡⎣ O11rO2 ×⎤⎦ ⎡⎣ O21 rC2 ×⎤⎦ 10 R T 20 R 02ω 2 (49)
{
− 10 R ⎡⎣ O11 rO2 ×⎤⎦ M 2 ⎡⎣ 01ω1 ×⎤⎦ ⎡⎣ 01ω1 ×⎤⎦ O11 rO2 }
{
+ 10 R ⎡⎣ O11 rO2 ×⎤⎦ M 2 ⎡⎣ O11 rO2 ×⎤⎦ 01ω1 }
0 T
Premultiplying by R and rearranging,
1
{
= M 2 ⎡⎣ O20 rC2 ×⎤⎦ − ⎡⎣ 00ω2 ×⎤⎦ O20 rC2 + ⎡⎣ O20 rC2 ×⎤⎦ 00ω 2 − ⎡⎣ 00ω1 ×⎤⎦ O10 rO2 + ⎡⎣ O10 rO2 ×⎤⎦ 00ω1 }
{
= M 2 ⎡⎣ O20 rC2 ×⎤⎦ − ⎡⎣ 00ω2 ×⎤⎦ ⎡⎣ 00ω2 ×⎤⎦ O20 rC2 + ⎡⎣ O20 rC2 ×⎤⎦ 00ω 2 − ⎡⎣ 00ω1 ×⎤⎦ ⎡⎣ 00ω1 ×⎤⎦ O10 rO2 + ⎡⎣ O10 rO2 ×⎤⎦ 00ω1 }
{ }
= − ⎡⎣ O20 rC2 ×⎤⎦ M 2 ⎡⎣ 00ω2 ×⎤⎦ ⎡⎣ 00ω2 ×⎤⎦ O20 rC2 + M 2 ⎡⎣ O20 rC2 ×⎤⎦ ⎡⎣ O20 rC2 ×⎤⎦ 00ω 2
{ } {
− ⎡⎣ O20 rC2 ×⎤⎦ M 2 ⎡⎣ 00ω1 ×⎤⎦ ⎡⎣ 00ω1 ×⎤⎦ O10 rO2 + ⎡⎣ O20 rC2 ×⎤⎦ M 2 ⎡⎣ O10 rO2 ×⎤⎦ 00ω1 }
⎡ C20 rO2 ×⎤
⎣
d
{ 0 0
}⎡ 2 ⎤0 T {
⎦ dt M 2 0 rC2 = − 2 R ⎣ O2 rC2 ×⎦ 2 R M 2 2 R ⎡⎣ 0 ω2 ×⎤⎦ 2 R 2 R ⎡⎣ 0 ω2 ×⎤⎦ 2 R O2 rC2
0 2 0 T 0 2 0 T 0
}
+ M 2 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 00ω 2
{
− 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T M 2 10 R ⎡⎣ 01ω1 ×⎤⎦ 10 R T 10 R ⎡⎣ 01ω1 ×⎤⎦ 10 R T O10 rO2 }
{
+ 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T M 2 10 R ⎡⎣ O11rO2 ×⎤⎦ 10 R T 00ω1 } (53)
2 {
= − R ⎡⎣ O2 rC2 ×⎤⎦ M 2 ⎡⎣ ω2 ×⎤⎦ ⎡⎣ ω2 ×⎤⎦ O2 rC2
0 2 2
0
2
0
2
}
+ 20 R ⎡ M 2 ⎡⎣ O22 rC2 ×⎤⎦ ⎡⎣ O22 rC2 ×⎤⎦ ⎤ 02ω 2
⎣ ⎦
{
− 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 10 R M 2 ⎡⎣ 01ω1 ×⎤⎦ ⎡⎣ 01ω1 ×⎤⎦ O11rO2 }
{
+ 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 10 R M 2 ⎡⎣ O11rO2 ×⎤⎦ 01ω1 }
(51) can therefore be rearranged as
{
⎤ ⎡ 2 ⎤2
2 R ⎣ 0 ω2 ×⎦ ⎣ C2 I ⎦ 0 ω2 + 2 R
0
⎡2 0 d
}
dt ⎣ 2 ⎦
{ ⎣ }
⎡ C 2 I ⎤ 02ω2 = ⎡ O20 rO3 ×⎤ 0 FO3 − 0τ 2
⎦
{
− 20 R ⎡⎣ O22 rC2 ×⎤⎦ M 2 ⎡⎣ 02ω2 ×⎤⎦ ⎡⎣ 02ω2 ×⎤⎦ O22 rC2 }
+ 20 R ⎡ M 2 ⎡⎣ O22 rC2 ×⎤⎦ ⎡⎣ O22 rC2 ×⎤⎦ ⎤ 02ω 2 (54)
⎣ ⎦
{
− 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 10 R M 2 ⎡⎣ 01ω1 ×⎤⎦ ⎡⎣ 01ω1 ×⎤⎦ O11 rO2 }
{
+ 20 R ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 10 R M 2 ⎡⎣ O11 rO2 ×⎤⎦ 01ω1 }
0 T
Premultiplying (54) by R and rearranging,
2
{ ⎣ }
− ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 10 R M 2 ⎡⎣ O11 rO2 ×⎤⎦ 01ω1 + ⎡ ⎡⎣ C22 I ⎤⎦ − ⎡ M 2 ⎡⎣ O22 rC2 ×⎤⎦ ⎡⎣ O22 rC2 ×⎤⎦ ⎤ ⎤ 02ω 2
⎣ ⎦⎦
{
= ⎡⎣ O22 rO3 ×⎤⎦ 2 FO3 − 2τ 2 − ⎡⎣ 02ω2 ×⎤⎦ ⎡⎣ C22 I ⎤⎦ 02ω2 } (55)
{
− ⎡⎣ O22 rC2 ×⎤⎦ M 2 ⎡⎣ 02ω2 ×⎤⎦ ⎡⎣ 02ω2 ×⎤⎦ O22 rC2 }
{
− ⎡⎣ O22 rC2 ×⎤⎦ 20 R T 10 R M 2 ⎡⎣ 01ω1 ×⎤⎦ ⎡⎣ 01ω1 ×⎦⎤ O11 rO2 }
The dynamics of the system is represented by (50) and (55). These have to be integrated for 01ω1 and 02ω2 .
The following relations are also required.
0
1 R = ⎣ 0 ω1 ×⎦ 1 R;
⎡0 ⎤0 and 20 R = ⎡⎣ 00ω2 ×⎤⎦ 20 R , or (56)
MTF 0 0
FO3
0
2
R
I:[ M 2 ]
⎣⎡ C I 2 ⎦⎤ :I
2
1ω2 MTF 1ω 0
1 0
T 0 rC2
⎡⎣ C20 rO2 ×⎤⎦
2 0 2 0 2
− 0τ 2 MTF 0− 0
FO2
1
C:[ K12 ]
0
0 rO2′′
− 0τ 2 :Se 0− τ
0 0 1
2
{
⎣ ⎣ 1 ⎦ }
⎡ ⎡ C 1 I1 ⎤ 01ω1 ×⎤
⎦ 1
R:[ R12 ]
0
0 rO2′
T
MGY ⎡⎣ C0 rO ×⎤⎦
e f 1 2
− 0τ 2 MTF 0 0
FO2
0
1
R
⎡⎣ C11 I1 ⎤⎦ :I 1ω1 MTF 1ω 0
1 0 I:[ M 1 ]
T 0 rC1
⎡⎣ C0 rO ×⎤⎦
0 1 0 1
1 1
0
τ 1 :S e MTF 0 0
FO1
1 0
0 rO1′
C:[ K 01 ]
0 1
R:[ R01 ]
0
r = 0 :Sf
0 O1
1 0
0 rO1
Fig. 17. Integrally causalled Bond graph for the 2 link manipulator.
d
dt
{ }
M 2 00 rC2 = 0 FO3 + K12 q12 + R12 q12 { } (59)
d
{ } {
⎡ C 1 I ⎤ 01ω1 = − ⎡⎣ 01ω1 ×⎤⎦ ⎡ C11 I ⎤ 01ω1 + 10 RT 0τ 1 + 0τ 2
dt ⎣ 1 ⎦ ⎣ ⎦ } { }
+ 1 R ⎡⎣ C1 rO1 ×⎤⎦ K 01q01 + R01q01
0 T 0
{ } (60)
+ 20 R T {⎡⎣ 0
{
r ×⎤⎦ K12 q12 + R12 q12
C2 O2 }}
q01 = − { r
0
0 C1 + ⎡⎣ C10 rO1 ×⎤⎦
T
ω1
0
0 } (62)
q12 = { r
0
0 C1 + ⎡⎣ C10 rO1 ×⎤⎦
T
+ ⎡⎣ C20 rO2 ×⎤⎦ 00ω2
ω1 −
0
0 } { r 0
0 C2 (63)
T
}
(58) through (63) are the system equations. In the extreme case when the stiffness elements become rigid,
q 01 = 0 and q12 = 0 , and the terms K 01q01 and K12 q12 become constant vectors, representing constant
forces. The equivalence of these to Lagrange multiplier forces is well explained in [5]. These can be
eliminated by solving the above equations. From the Bond graph, it is clear that they are reaction forces
acting between connected bodies and are internal to the system. It can also be seen from (62) and (63) that
the kinematic relations get reestablished to the situation without stiffness and damping elements. The use of
such stiffness and damping elements is quite common in resolving the difficulties caused by differential
causality.
Since it is easier to express the angular velocities in their respective link frames,
⎧0⎫ ⎧0⎫
⎪ ⎪ ⎪ ⎪
0 ω1 = ⎨ 0 ⎬ , and 1ω2 = ⎨ 0 ⎬
1 2
(64)
⎪⎪ ⎪ ⎪
⎩θ1 ⎭ ⎩θ 2 ⎭
To obtain relationships between the angular velocities from rotation matrices, we can proceed from
2 R = 1R 2 R
0 0 1
(65)
where,
⎡cos θ1 − sin θ1 0 ⎤ ⎡ cos θ 2 − sin θ 2 0 ⎤
⎢ cos θ1 0 ⎥ and 2 R = ⎢⎢ sin θ 2 cos θ 2 0 ⎥⎥
⎥
1 R = ⎢ sin θ1
0 1
(66)
⎢⎣ 0 0 1 ⎥⎦ ⎢⎣ 0 0 1 ⎥⎦