Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

18
Bond graph modeling for rigid body dynamics Anand Vaz Professor, Mechanical Engineering Dr. B. R. Ambedkar National Institute of Technology G. T. Road Bye Pass, Jalandhar 144011, India [email protected] 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]. 0 X 0 Y B X B Y 0 B P P r 0 B r 0 P B r rigid body Inertial frame 0 Frame B fixed on rigid body 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 W V U W W V U V U W V U x r y z = (1) The orientation of frame B with respect to fame 0 is given by the orthonormal rotation matrix of dimension 3×3. Hence, 0 B R 0 0 0 0 T T B B B B R R R R I = = (2) The position of point P is given as

Transcript of Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

Page 1: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

Bond graph modeling for rigid body dynamics

Anand Vaz Professor, Mechanical Engineering

Dr. B. R. Ambedkar National Institute of Technology G. T. Road Bye Pass, Jalandhar 144011, India

[email protected] 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].

0X

0Y

BX

BY

0

B

P

Pr0

Br0

PB r

rigid body

Inertial frame 0

Frame B fixed on rigid body

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 U

W WV U V U

WV U

xr y

z

⎧ ⎫⎪ ⎪

= ⎨ ⎬⎪ ⎪⎩ ⎭

(1)

The orientation of frame B with respect to fame 0 is given by the orthonormal rotation matrix of dimension 3×3. Hence,

0B R

0 0 0 0T TB B B BR R R R I= = (2)

The position of point P is given as

Page 2: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

0 0 00 0

0 00

P B B PB

B B B P

r r r

r R r

= +

= + (3)

In order to obtain its velocity, we differentiate its position with respect to time t. We shall use the

notation d x xdt

= for differentiation with respect to time t.

Differentiating (3) with respect to time t, the velocity of point P on the rigid body is 0 0 0 0

0 0B B

P B B B P B B Pr r R r R r= + + (4) The second term on the RHS of (4) can be written as

0 0 0 0

0 0 0 0 0 0 00 0

0 00

where, and,

B T BB B P B B B B P

T BB B P B B B B B P B P

B P B

R r R R R r

r R R R r

r

ω ω

ω

=

⎡ ⎤ ⎡ ⎤= × = × =⎣ ⎦ ⎣ ⎦⎡ ⎤= − ×⎣ ⎦

r (5)

00 Bω⎡ ×⎣ ⎤⎦ is a skew symmetric matrix. This can be verified by differentiating (2) with respect to t.

Since P is fixed on the rigid body, 0BB Pr = . Hence (4) can now be written as,

0 0 0 00 0 0P B B Pr r r Bω⎡ ⎤= − ×⎣ ⎦ (6)

We shall differentiate between scalar and vector bond as shown in Fig. 2.

Scalar bond Vector bond

ef

Power e f= ⋅

e

f

Power T Te f f e= =

Fig. 2. Convention for scalar and vector bonds

The kinematic relationship of (6) can be expressed in the form of a Bond graph as shown in Fig. 3.

Br00

1

0PB r01

Pr00

1

MTFBω

00

1

[ ]×− PB r0

Fig. 3. Bond graph for the velocity relations of (6)

From Newton’s II Law the equation for translation of the particle at P with mass m is given by

{ }0 00 P P

d m r Fdt

= (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.

{ }0 00 P P

d m r Fdt

=∑ ∑ (8)

Instead of using the summation symbol, the limiting sum can be written as an Integral

{ }00

Over the Over theentire entire rigid body rigid body

0P P

d r dm Fdt

=∫∫∫ ∫∫∫ (9)

We shall however continue with the summation symbol, as we understand the mechanism of conversion to

Page 3: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

the integral. The position of the center of mass C (CM) is defined by

{ }0 0 00 0 0

00P C Cm r m r m r M r⎛ ⎞

= = =⎜ ⎟⎝ ⎠

∑ ∑ ∑ C (10)

This implies that

{ } { }0 0 0

0 0

00

P C C

C C

m r m r r

m r m r

= +

= +

∑ ∑

∑ ∑ 0

P

P

(11)

Hence, 0 0C Pm r =∑ (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

{ }0 0 00 0 0

00P C Cm r m r m r M r⎛ ⎞

= = =⎜ ⎟⎝ ⎠

∑ ∑ ∑ C (13)

From (8) and (13), the translation of the body can be expressed in terms of the motion of its CM as

{ }00 C

d 0PM r

dt= F∑ (14)

00

1Cr

[ ]I: M

01eS : F

0eS : nF

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,

{ }0 0 00

0B P P B P

dr m r rdt

× = ×∑ ∑ PF (15)

The LHS can be written as,

{ } { }

{ } { }

0 0 0 0 00 0

0 0 00

B P P B P B B P

0B P B B P B P

d dr m r r m r m rdt dt

d dr m r r m rdt dt

× = × +

= × + ×

∑ ∑

∑ ∑ (16)

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, Consider the second term on the RHS of (16).

Page 4: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

{ } { }0 0 0 0 0 0B P B P B P B P B P B P

d dr m r r m r r m rdt dt

× = × + ×∑ ∑ ∑ (17)

Since the second term on the RHS of (17) vanishes,

{ } {0 0 0 0 }B P B P B P B Pd r m r r m rdt dt

× = ×∑ ∑ d (18)

From (15) and (18),

{ }0 0 0 0B P B P B P

d r m r r Fdt

× = ×∑ ∑ P (19)

The LHS of (19) can be expressed as

{ } { }0 0 0 0 0

0

0 0 00

B P B P B P B P B

B P B P B

d dr m r m r rdt dt

d m r rdt

ω

ω

⎡ ⎤ ⎡ ⎤ ⎡ ⎤× = − × ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎧ ⎫⎡ ⎤⎡ ⎤ ⎡ ⎤= − × ×⎨ ⎬⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦⎩ ⎭

∑ ∑

∑ (20)

The term 0 0B P B Pm r r⎡ ⎤⎡ ⎤ ⎡ ⎤− × ×⎢ ⎣ ⎦ ⎣ ⎦⎣ ⎦

∑ ⎥ is the inertia tensor of the body about the point B, expressed in the

inertial frame 0, and is represented by the 3×3 matrix 0B I⎡ ⎤⎣ ⎦ .

If

0 0

0 , then 0

0B P B P

x z yr y r z x

z y

−⎧ ⎫ ⎡ ⎤⎪ ⎪

x

⎢ ⎥⎡ ⎤= × =⎨ ⎬ ⎣ ⎦ −⎢ ⎥⎪ ⎪ ⎢ ⎥−⎩ ⎭ ⎣ ⎦

(21)

and one can work out the terms of the inertia tensor by multiplying the matrices.

( )( )

( )

2 2

0 0 2 2 0

2 2

B P B P B

m y z mxy mxz

m r r mxy m x z m yz I

mxz m yz m x y

⎡ ⎤+ − −⎢ ⎥⎢ ⎥⎡ ⎤ ⎡ ⎤ ⎡− × × = − + − =⎣ ⎦ ⎣ ⎦ ⎣⎢ ⎥⎢ ⎥− − +⎣ ⎦

∑ ∑ ∑∑ ∑ ∑ ∑

∑ ∑ ∑

⎤⎦ (22)

Now, (20) can be written as

{ } { }

{ }

0 0 0 0

0 00

B P B P B P B P

B B

d dr m r r m rdt dt

d Idt

ω

⎡ ⎤ ⎡ ⎤× = ×⎣ ⎦ ⎣ ⎦

⎡ ⎤= ⎣ ⎦

∑ ∑ (23)

The term { }0 00B BI ω⎡ ⎤⎣ ⎦ 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

{ }0 0 0 0 00B B B P P B

d I r Fdt

ω τ⎡ ⎤ = × =⎣ ⎦ ∑ (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 00 Bω , and is decided by the properties of the rigid body. This can be represented by a sub bond graph as shown in Fig. 5.

Page 5: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

00

1Bω

MTF

MTF

0 :IC I⎡ ⎤⎣ ⎦

0 T

C nr⎡ ⎤×⎣ ⎦

01

T

C r⎡ ⎤×⎣ ⎦

01 e:Sτ

01eS : F

0eS : nF

Fig. 5. Sub Bond graph for (24)

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.

00

1Bω 0

01

Cr

MTF

MTF 00nF

01

0F

0 :IC I⎡ ⎤⎣ ⎦ [ ]I: M

0 T

C nr⎡ ⎤×⎣ ⎦

01

T

C r⎡ ⎤×⎣ ⎦

01 e:Sτ

01eS : F

0eS : nF

Fig. 6. Bond graph for (14) and (24). It represents dynamics of the rigid body, both translation and rotation.

It may be noted that the Bond graph is integrally causalled. Since the terms of the inertia tensor 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.

0B I⎡ ⎤⎣ ⎦

We shall need a small result before we proceed further. We know that a vector 0K which is expressed in the frame 0 can be expressed in another frame B using the rotation operator 0 . B

TR

0 0 0 0 , and B B TBK R K K R K= = B (25)

How can we express the cross product matrix 0K⎡ ⎤×⎣ ⎦ which is expressed in the frame 0 to obtain BK⎡ ⎤×⎣ ⎦ expressed in frame B? Let 0 0 0 0 0 0 0 and , B B

B BH K L H R H L R⎡ ⎤= × = =⎣ ⎦ L (26) Expressing in frame B, 0 0 0B

B R H K R L⎡ ⎤= ×⎣ ⎦B

B (27) Premultiplying (27) by , 0 T

B R

Page 6: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

0 0 0

0 0 0

B T BB B

TB B

B B

B

H R K R L

R K R L

K L

⎡ ⎤= ×⎣ ⎦⎡ ⎤⎡ ⎤= ×⎣ ⎦⎣ ⎦⎡ ⎤= ×⎣ ⎦

(28)

Hence 0 0 0 0 0 0 and B T

B B BB T

BK R K R K R K R⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤× = × × = ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (29) We can now apply the result of (29) to (22)

0 0 0

0 0 0 0

0 0

0 0

0 0

B B P B P

B T BB B P B B B P B

B B TB B P B P B

B B TB B P B P B

B TB B B

I m r r

m R r R R r R

m R r r R

R m r r R

R I R

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= − × ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤= − × ×⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤= − × ×⎣ ⎦ ⎣ ⎦

⎡ ⎤⎡ ⎤ ⎡ ⎤= − × ×⎢ ⎥⎣ ⎦ ⎣ ⎦⎣ ⎦⎡ ⎤= ⎣ ⎦

T

(30)

We can apply the result in (30) to (24) as

{ } { }{ }{ }

0 0 0 0 00 0

00

0 0

B TB B B B B

B BB B B

B P P

d dI R I Rdt dt

d R Idt

r F

Bω ω

ω

⎡ ⎤ ⎡ ⎤=⎣ ⎦ ⎣ ⎦

⎡ ⎤= ⎣ ⎦

⎡ ⎤= ×⎣ ⎦∑

(31)

{ } { } { }{ } { }

{ } { }

0 0 0 00 0 0

0 0 0 00

0 0 00 0

B B B BB B B B B B B B

T B B B B0

0

B B B B B B B B

B B B BB B B B B B B

d dI R I R Idt dt

dR R R I R Idt

dR I R Idt

ω ω ω

ω ω

ω ω

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= +⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= +⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × +⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ω

(32)

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. is used to express the terms on the RHS in the frame 0. 0

B RTo express in the frame B, pre multiplying by , (32) becomes, 0 T

B R

{ } { } { }

{ } { }

0 0 0 0 0 0 0 00 0 0

0 0 0

T T B B T0

B BB B B B B B B B B B B B

B B B B BB B B B B

d dR I R R I R R Idt dt

dI Idt

ω ω ω

ω ω ω

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × +⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × +⎣ ⎦ ⎣ ⎦ ⎣ ⎦

ω (33)

It can also be seen from (31) that moment of the forces about B, can be expressed in different frames as

Page 7: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

0 0 0

0 0

0 0

0

0

B B P P

B T 0

0

B B P B P

B TB B P B P

B BB B P P

BB B

r F

R r R F

R r R F

R r F

R

τ

τ

⎡ ⎤= ×⎣ ⎦

⎡ ⎤= ×⎣ ⎦

⎡ ⎤= ×⎣ ⎦

⎧ ⎫⎡ ⎤= ×⎨ ⎬⎣ ⎦⎩ ⎭=

(34)

This is shown by the sub Bond graph of Fig. 7.

MTF

0 TB R

0Bτ

BBτ

Fig. 7. Sub Bond graph for (34)

From (33) and (34),

{ } { }0 0 0B B B B B BB B B B B B

d I Idt

ω ω ω⎡ ⎤ ⎡ ⎤ ⎡ ⎤+ × =⎣ ⎦ ⎣ ⎦ ⎣ ⎦ τ (35)

This is the Euler’s equation of rotation for the rigid body. It can be rearranged as

{ } { }

{ }0 0 0

0 0

B B B B B BB B B B B B

B B B BB B B B

d I Idt

I

ω ω ω τ

ω ω τ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= − × +⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤⎡ ⎤= × +⎣ ⎦⎣ ⎦

(36)

The Bond graph representation for (36) is shown in Fig. 8. It is also called as Euler junction structure.

BBτ

01B

Bω:IB

B I⎡ ⎤⎣ ⎦

MGY

{ }0B BB BI ω⎡ ⎤⎡ ⎤ ×⎣ ⎦⎣ ⎦

e f

Fig. 8. Sub Bond graph for (36)

Page 8: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

Example: A Two-link revolute manipulator We shall apply these developments to an example of the two-link planar manipulator shown in Fig. 9. This is however a general approach, not specific to a 2 DOF manipulator only.

1

0OF

3

0OF

0X

0Y

1Y

1X2Y

2X

1C

2C

link 1

link 2

01τ

02τ

1O

2O

3O

Fig. 9. A Two-link revolute manipulator

The free body diagram (FBD) of the link 1 is shown in Fig. 10.

1

0OF

0X

0Y

1Y

1X

1C link 1

2

0OF

01τ

02τ

1O

2O

Fig. 10. Free body diagram for link 1

Applying the basic equations of motion from (14) and (24) to link 1,

Translation: { }1 1

0 0 01 0 C O

d2OM r F F

dt= + (37)

and,

Page 9: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

Rotation: { }1 1 1 1 1 2 2

0 0 0 0 0 0 0 00 1 1 2C C O O C O O

d I r F r Fdt

ω τ τ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × + × + +⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (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 [ ]1I: M . It occurs due to the imposition of kinematic constraints which result in the dependence of the momentum of mass 1M on the angular momentum of link 1 about its CM.

00 1

00 1

1Cr

MTF

MTF 02

0OF

01

0OF

1

01 :IC I⎡ ⎤⎣ ⎦ [ ]1I: M

1 2

0 T

C Or⎡ ⎤×⎣ ⎦

1 1

0 T

C Or⎡ ⎤×⎣ ⎦

00 1

1Or1

00 0 f:SOr =

01 e:Sτ

02τ−

differential causality

Fig. 11. Sub Bond graph for dynamics of link 1

We try to eliminate

1

0OF from (37) and (38), since it is internal to the mechanism,

{ } { }

{ }

{ }

1 1 1 1 2 1 2 2

1 1 1 1 2 1 1 2

1 1 1 1 2 2

0 0 0 0 0 0 0 0 00 1 1 0 1 2

0 0 0 0 0 01 0 1 2

0 0 0 0 0 01 0 1 2

C C O C O C O O

C O C C O C O O

O C C O O O

d dI r M r F r Fdt dt

dr M r r r Fdt

dr M r r Fdt

ω τ

0

τ

τ τ

τ τ

⎧ ⎫⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × − + × + +⎨ ⎬⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎩ ⎭

⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × + × − × + +⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤= − × + × + +⎣ ⎦ ⎣ ⎦

(39)

Since

{ } { }{ }

{ }1 1 1 1 1 1

1 1 1 1

0 0 0 01 0 1 0

0 0 01 0

O C C O C C

O C O C

d dr M r r M rdt dt

d M r rdt 1ω

⎡ ⎤ ⎡ ⎤× = ×⎣ ⎦ ⎣ ⎦

⎡ ⎤⎡ ⎤⎡ ⎤= − × ×⎣ ⎦⎣ ⎦⎣ ⎦

(40)

and

1 1 1 1 1 1

0 0 0 01O C O C O CI I M r r⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤= − ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ×⎦⎣ ⎦ (41)

Using (40) and (41) in (39),

{ }1 1 2 2

0 0 0 0 0 00 1 1 2O O O O

d I r Fdt

ω τ τ⎡ ⎤ ⎡ ⎤= × + +⎣ ⎦ ⎣ ⎦ (42)

The simplified sub bond graph for link 1 is as shown in Fig. 12.

Page 10: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

00 1

MTF 02

0OF

1

01 :IO I⎡ ⎤⎣ ⎦

1 2

0 T

O Or⎡ ⎤×⎣ ⎦

01 e:Sτ

02τ−

Fig. 12. Simplified sub bond graph for link 1.

Consider the free body diagram of link 2. Note the negative signs on

2

0OF and 0

2τ . These show the equal and opposite nature of force and torque on link 2 due to link 1.

3

0OF

2Y

2X

2C

link 2

02τ−

2

0OF−

3O

2O

Fig. 13. Free body diagram of the link 2.

Applying (14) and (24) to the FBD of Fig. 13, the equations of motion for the link 2 are

{ }2 3

0 0 02 0 C O

d2OM r F F

dt= − and (43)

{ }2 2 2 2 2 3 3

0 0 0 0 0 0 00 2 2C C O O C O O

d I r F r Fdt

ω τ⎡ ⎤⎡ ⎤ ⎡ ⎤= − × + × −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (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 [ ]2I: M .

Page 11: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

00 2

00 2

1Cr

MTF

MTF 03

0OF

02

0OF−

2

02 :IC I⎡ ⎤⎣ ⎦ [ ]2I: M

2 3

0 T

C Or⎡ ⎤×⎣ ⎦

2 2

0 T

C Or⎡ ⎤×⎣ ⎦

00 2

1Or

02τ−

3

0eS : OF

Fig. 14. Sub Bond graph for dynamics of link 2

Substituting for

2

0OF from (43) into (42),

{ } { }

{ }

1 1 2 3 2

1 2 3 1 2 2

0 0 0 0 0 0 00 1 2 0 1 2

0 0 0 0 0 02 0 1 2

O O O O C

O O O O O C

d dI r F M rdt dt

dr F r M rdt

ω τ τ

τ τ

⎧ ⎫⎡ ⎤ ⎡ ⎤= × − + +⎨ ⎬⎣ ⎦ ⎣ ⎦ ⎩ ⎭

⎡ ⎤ ⎡ ⎤= × − × + +⎣ ⎦ ⎣ ⎦

(45)

Again, substituting for 2

0OF from (43) into (44),

{ } { }

{ }

{ }

2 2 2 2 3 2 3 3

2 2 2 2 2 2 3 3

2 2 2 2 3 3

0 0 0 0 0 0 0 00 2 2 0 2

0 0 0 0 02 0 2

0 0 0 0 02 0 2

C C O C O C O O

C O C C O C O O

C O C O O O

d dI r M r F r Fdt dt

dr M r r r Fdtdr M r r Fdt

ω τ

τ

⎧ ⎫ ⎡ ⎤⎡ ⎤ ⎡ ⎤= × − + × −⎨ ⎬⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎩ ⎭

⎡ ⎤⎡ ⎤⎡ ⎤ ⎡ ⎤= × + − × + × −⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤⎡ ⎤= × + × −⎣ ⎦ ⎣ ⎦

(46)

The Bond graph for the two link manipulator is as shown in Fig. 15.

Page 12: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

00 2

00 2

1Cr

MTF

MTF 03

0OF

02

0OF−

2

02 :IC I⎡ ⎤⎣ ⎦ [ ]2I: M

2 3

0 T

C Or⎡ ⎤×⎣ ⎦

2 2

0 T

C Or⎡ ⎤×⎣ ⎦

00 2

1Or

02τ−

3

0eS : OF

00 1

00 1

1Cr

MTF

MTF 02

0OF

01

0OF

1

01 :IC I⎡ ⎤⎣ ⎦ [ ]1I: M

1 2

0 T

C Or⎡ ⎤×⎣ ⎦

1 1

0 T

C Or⎡ ⎤×⎣ ⎦

00 1

1Or1

00 0 f:SOr =

01 e:Sτ

02τ−

02

0τ−

02 e:Sτ−

Fig. 15. Bond graph for the 2 link manipulator

The earlier simplifications to the sub bond graph of link 1 Fig. 12 can be retained and are shown in the Fig. 16.

Page 13: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

00 2

00 2

1Cr

MTF

MTF 03

0OF

02

0OF−

2

02 :IC I⎡ ⎤⎣ ⎦ [ ]2I: M

2 3

0 T

C Or⎡ ⎤×⎣ ⎦

2 2

0 T

C Or⎡ ⎤×⎣ ⎦

00 2

1Or

02τ−

3

0eS : OF

02τ−

02

0τ−

02 e:Sτ−

00 1

MTF 02

0OF

1

01 :IO I⎡ ⎤⎣ ⎦

1 2

0 T

O Or⎡ ⎤×⎣ ⎦

01 e:Sτ

Fig. 16. Simplified Bond graph for the 2 link manipulator

expanding the LHS of (45),

{ } { } { }1 1 1 2 3 1 2 2

0 0 1 1 0 1 1 0 0 0 0 0 00 1 1 0 1 1 0 1 2 0 1 2O O O O O O O C

d dR I R I r F r M rdt dt

ω ω ω⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤× + = × − × +⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ τ τ+ (47)

The second term on the RHS of (47) can be written as,

{ } { }{ }{ }{ }

{ } { }

1 2 2 1 2 2 2 2

1 2 2 2 1 2

1 2 2 2 1 2

1 2 2 2 2 2

0 0 0 0 02 0 2 0

0 0 0 0 02 0 2 0 1

0 0 0 0 02 0 2 2 0 1

0 0 0 02 0 2

O O C O O O C O

O O O C O O

O O O C O O

O O O C O C

d dr M r r M r rdt dt

dr M r rdt

d dr M r M rdt dt

M r r r

ω ω

ω ω

ω

⎡ ⎤ ⎡ ⎤× = × +⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × − × − ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎧ ⎫⎡ ⎤ ⎡ ⎤ ⎡ ⎤= − × × + ×⎨ ⎬⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎩ ⎭

⎡ ⎤⎡ ⎤= − × × +⎣ ⎦ ⎣ ⎦{ }{ }

1 2 1 2

1 2 2 2 2 2 1 2 1 2

1 2 2 2 2 2

0 0 0 0 00 2 0 1 0 1

0 0 0 0 0 0 0 0 02 0 2 0 2 0 1 0 1

0 0 0 0 0 0 0 02 0 2 0 2 0 2 0 1 0 1

O O O O

O O O C O C O O O O

O O O C O C

r r

M r r r r r

M r r r

ω ω ω

ω ω ω ω

ω ω ω ω ω

⎡ ⎤⎡ ⎤ ⎡ ⎤× + × + ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤= − × − × + × − × + ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡= − × − × × + × − × ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦{ }{ }{ } { }

1 2 1 2

1 2 2 2 1 2 2 2

1 2 1 2 1 2 1 2

1 2

0 0 00 1

0 0 0 0 0 0 02 0 2 0 2 2 0 2

0 0 0 0 0 0 02 0 1 0 1 2 0 1

0 1 1 1 01 2 0 2 0 2 1

O O O O

O O O C O O O C

O O O O O O O O

O O

r r

r M r M r r

r M r r M r

R r M R

ω

ω ω ω

ω ω ω

ω ω

⎡ ⎤⎤ + ×⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤= × × × − × ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤+ × × × − × ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦{ }

{ }{ }

2 2

1 2 2 2

1 2 1 2

1 2 1 2

0 22

0 1 1 0 0 22 1 1 2 0 2

0 1 1 1 11 2 0 1 0 1

0 1 1 11 2 0 1

TO C

TO O O C

O O O O

O O O O

R r

M R r r R R

R r M r

R r M r

ω

ω ω

ω

⎡ ⎤ ⎡ ⎤− × ×⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤+ × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤− × ×⎣ ⎦ ⎣ ⎦ (48)

Page 14: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

(47) can now be written as

{ } { }{ }

{ }

1 1 1 2 3

1 2 2 2

1 2 2 2

1 2 1 2

0 0 1 1 0 1 1 0 0 0 00 1 1 0 1 1 0 1 1 2

0 1 1 1 0 0 21 2 0 2 0 2 1 2

0 1 1 0 0 22 1 1 2 0 2

0 1 1 1 11 2 0 1 0 1

01

O O O O O

TO O O C

TO O O C

O O O O

dR I R I r Fdt

R r M R R r

M R r r R R

R r M r

R

ω ω ω τ τ

ω ω

ω

ω ω

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤× + = × + +⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤+ × ×⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

+ { }1 2 1 2

1 1 12 0 1O O O Or M r ω⎡ ⎤ ⎡ ⎤× ×⎣ ⎦ ⎣ ⎦

(49)

Premultiplying by 01 and rearranging, TR

{ }

{ }

1 1 2 1 2 1 2 2 2

1 2 3 1

1 2 2 2

1 2

1 1 1 1 1 1 0 0 22 0 1 2 1 2

1 1 1 1 1 1 11 2 0 1 0 1

1 1 1 0 0 22 0 2 0 2 1 2

1 1 12 0 1 0

TO O O O O O O O C

O O O O

TO O O C

O O

I M r r M r r R R

r F I

r M R R r

r M

ω ω0 2

τ τ ω ω

ω ω

ω ω

⎡ ⎤ ⎡⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × − × ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣

⎡ ⎤ ⎡ ⎤⎡ ⎤= × + + − ×⎣ ⎦⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤− × ×⎣ ⎦⎣ ⎦

⎤⎦

{ }1 2

11 O Or⎡ ⎤×⎣ ⎦

(50)

Expanding the LHS of (46)

{ }{ } { } { }

{ }2 2

2 2 2 2 3 3

0 2 2 0 2 2 2 0 2 22 0 2 2 0 2 0 2 2 0 2

0 0 0 02 0 2

C C

C O C O O O

d dR I R I R Idt dt

dr M r r Fdt

2

0

Cω ω ω ω

τ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤= × +⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤⎡ ⎤= × + × −⎣ ⎦ ⎣ ⎦

(51)

The first term on the RHS of (51) is

{ } { }{ }{ }{ }

{ } { }

2 2 2 2 2 2 2 2

2 2 2 2 1 2

2 2 2 2 1 2

2 2 2 2 2 2

0 0 0 0 02 0 2 0

0 0 0 0 02 0 2 0 1

0 0 0 0 02 0 2 2 0 1

0 0 0 02 0 2

C O C O C O C O

O C O C O O

O C O C O O

O C O C O C

d dr M r r M r rdt dt

dr M r rdtd dr M r M rdt dt

M r r r

ω ω

ω ω

ω

⎡ ⎤ ⎡ ⎤× = − × +⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= − × − × − ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎧ ⎫⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × × + ×⎨ ⎬⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎩ ⎭

⎡ ⎤⎡ ⎤= × × +⎣ ⎦ ⎣ ⎦{ }{ }

1 2 1 2

2 2 2 2 2 2 1 2 1 2

2 2 2 2 2 2

0 0 0 0 00 2 0 1 0 1

0 0 0 0 0 0 0 0 02 0 2 0 2 0 1 0 1

0 0 0 0 0 0 0 02 0 2 0 2 0 2 0 1 0 1

O O O O

O C O C O C O O O O

O C O C O C

r r

M r r r r r

M r r r

ω ω ω

ω ω ω ω

ω ω ω ω ω

⎡ ⎤⎡ ⎤ ⎡ ⎤× + × + ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤= × − × + × − × + ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤= × − × × + × − × ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣⎣ ⎦ ⎣ ⎦{ }{ }{ } { }

1 2 1 2

2 2 2 2 2 2 2 2

2 2 1 2 2 2 1 2

0 0 00 1

0 0 0 0 0 0 02 0 2 0 2 2 0 2

0 0 0 0 0 0 02 0 1 0 1 2 0 1

O O O O

O C O C O C O C

O C O O O C O O

r r

r M r M r r

r M r r M r

ω

ω ω ω

ω ω ω

⎡ ⎤+ ×⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤= − × × × + × ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ ⎡ ⎤− × × × + × ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦

(52)

Page 15: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

{ } { }

{ }

2 2 2 2 2 2 2

2 2 2 2

2 2 1 2

2 2

0 0 0 2 0 0 2 0 0 2 02 0 2 2 2 2 0 2 2 2 0 2 2

0 2 0 0 2 0 02 2 2 2 2 0 2

0 2 0 0 1 0 0 1 0 02 2 2 1 0 1 1 1 0 1 1

0 22

T TC O C O C O C

T TO C O C

T T TO C O O

O C

dr M r R r R M R R R Rdt

M R r R R r R

R r R M R R R R r

R r

ω ω

ω

ω ω

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤× = − × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤+ × ×⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤+ ×⎣ ⎦

0T r

{ }{ }

{ }{ }

1 2

2 2 2 2

2 2 2 2

2 2 1 2

2 2 1 2

0 0 1 0 02 2 1 1 0 1

0 2 2 2 22 2 0 2 0 2

0 2 2 22 2 0 2

0 2 0 0 1 1 12 2 1 2 0 1 0 1

0 2 0 0 1 12 2 1 2 0 1

T TO O

O C O C

O C O C

TO C O O

TO C O O

R M R r R

R r M r

R M r r

R r R R M r

R r R R M r

ω

ω ω

ω

ω ω

ω

⎡ ⎤×⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤= − × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤⎡ ⎤ ⎡ ⎤+ × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤+ × ×⎣ ⎦ ⎣ ⎦

(53)

(51) can therefore be rearranged as

{ } { }{ }

{ }

2 2 2 3 3

2 2 2 2

2 2 2 2

2 2 1 2

2 2

0 2 2 2 0 2 2 0 0 02 0 2 0 2 2 0 2 2

0 2 2 2 22 2 0 2 0 2

0 2 2 22 2 0 2

0 2 0 0 1 1 12 2 1 2 0 1 0 1

0 22

C C O O O

O C O C

O C O C

TO C O O

O C

dR I R I r Fdt

R r M r

R M r r

R r R R M r

R r

ω ω ω τ

ω ω

ω

ω ω

⎡ ⎤⎡ ⎤ ⎡ ⎤⎡ ⎤× + = × −⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤⎡ ⎤ ⎡ ⎤+ × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

+ × { }1 2

0 0 1 12 1 2 0 1

TO OR R M r ω⎡ ⎤ ⎡ ⎤×⎣ ⎦ ⎣ ⎦

(54)

Premultiplying (54) by and rearranging, 02

TR

{ }{ }

{ }

2 2 1 2 2 2 2 2 2

2 3 3 2

2 2 2 2

2 2

2 0 0 1 1 2 2 2 22 1 2 0 1 2 0 2

2 2 2 2 2 22 0 2 0 2

2 2 2 22 0 2 0 2

2 0 0 1 12 1 2 0 1 0 1

TO C O O C O C O C

O O O C

O C O C

TO C

r R R M r I M r r

r F I

r M r

r R R M

ω ω

τ ω ω

ω ω

ω ω

⎡ ⎤⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × + − × ×⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤⎡ ⎤= × − − ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡ ⎤− × × ×⎣ ⎦ ⎣ ⎦⎣ ⎦

⎡ ⎤ ⎡ ⎤ ⎡− × × ×⎣ ⎦⎣ ⎦ { }1 2

1O Or⎤⎣ ⎦

(55)

The dynamics of the system is represented by (50) and (55). These have to be integrated for 10 1ω and 2

0 2ω . The following relations are also required. 0 0 0 0 0 0

1 0 1 1 2 0 2 2; and R R Rω ω⎡ ⎤ ⎡ ⎤= × = ×⎣ ⎦ ⎣ ⎦ R , or (56)

0 1 0 0 0 01 0 1 1 2 0 2 2; and

TT T TR R Rω⎡ ⎤ ⎡ ⎤= × = ×⎣ ⎦ ⎣ ⎦T TRω (57)

It is easier to derive equations if the Bond graph is integrally causalled. The differential causality occurring in the previous Bond graphs for the two link manipulator is removed using stiffness and damping elements as shown in Fig. 17. Two sets of such elements have been used. One is at the interface between the fixed frame and first link, and the second is at the interconnection between the first and second links.

Page 16: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

f

00 2

1ω 0

0 21

Cr

MTF

MTF 03

0OF

02

0OF−

[ ]2I: M

2 3

0 T

C Or⎡ ⎤×⎣ ⎦

2 2

0 T

C Or⎡ ⎤×⎣ ⎦0

2τ−

3

0eS : OF

00 1

1ω 0

0 11

Cr

MTF

MTF 02

0OF

01

0OF

[ ]1I: M

1 2

0 T

C Or⎡ ⎤×⎣ ⎦

1 1

0 T

C Or⎡ ⎤×⎣ ⎦

00 1

1Or1

00 0 f:SOr =

01 e:Sτ

02τ−

02

0τ−

02 e:Sτ−

00 2

1Or ′

0 1

[ ]12C: K

[ ]12R: R

00 1

1Or ′

0 1

[ ]01C: K

[ ]01R: R

00 2

1Or ′′

20 2

2

22 :IC I⎡ ⎤⎣ ⎦

MGY

{ }2

2 22 0 2C I ω⎡ ⎤⎡ ⎤ ×⎣ ⎦⎣ ⎦

e f

MTF

02 R

10 1

1

11 :IC I⎡ ⎤⎣ ⎦

MGY

{ }1

1 11 0 1C I ω⎡ ⎤⎡ ⎤ ×⎣ ⎦⎣ ⎦

e

MTF

01 R

Fig. 17. Integrally causalled Bond graph for the 2 link manipulator.

The equations derived from the Bond graph are as follows.

{ } { } {1

01 0 01 01 01 01 12 12 12 12C

d }M r K q R q K q R qdt

= + − + (58)

{ } {2 3

0 02 0 12 12 12 12C O

d }M r F K q R qdt

= + + (59)

{ } { } { }{ }{ }

1 1

1 1

1 2

1 1 1 1 1 0 0 00 1 0 1 0 1 1 1 2

0 01 01 01 01 01

0 01 12 12 12 12

TC C

TC O

TC O

d I I Rdt

R r K q R q

R r K q R q

ω ω ω τ⎡ ⎤ ⎡ ⎤⎡ ⎤= − × + +⎣ ⎦⎣ ⎦ ⎣ ⎦

⎡ ⎤+ × +⎣ ⎦⎡ ⎤− × +⎣ ⎦

τ

(60)

{ } { }{ }

{ }{ }

2 2

2 3 3

2 2

2 2 2 2 20 2 0 2 0 2

0 0 0 02

0 02 12 12

C C

TC O O

TC O

d I Idt

R r F

R r K q R q

ω ω ω

τ

⎡ ⎤ ⎡ ⎤⎡ ⎤= − ×⎣ ⎦⎣ ⎦ ⎣ ⎦

⎡ ⎤+ × −⎣ ⎦

⎡ ⎤+ × +⎣ ⎦

2

12 12

(61)

Page 17: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

{ }1 1 1

0 0 001 0 0 1

T

C C Oq r r ω⎡ ⎤= − + ×⎣ ⎦ (62)

{ } { }1 1 1 2 2 2

0 0 0 0 0 012 0 0 1 0 0 2

T

C C O C C Oq r r r rT

ω ω⎡ ⎤ ⎡ ⎤= + × − + ×⎣ ⎦ ⎣ ⎦ (63)

(58) through (63) are the system equations. In the extreme case when the stiffness elements become rigid,

01 0q = and 12 0q = , and the terms 01 01K q and 12 12K q 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,

1 20 1 1 2

1 2

0 00 , and 0ω ωθ θ

⎧ ⎫ ⎧ ⎫⎪ ⎪= ⎪ ⎪=⎨ ⎬ ⎨ ⎬⎪ ⎪ ⎪⎩ ⎭ ⎩ ⎭

1

⎤⎥⎥⎥⎦

(64)

To obtain relationships between the angular velocities from rotation matrices, we can proceed from (65) 0 0 1

2 1 2R R R=where,

(66) 1 1 2 2

0 11 1 1 2 2 2

cos sin 0 cos sin 0sin cos 0 and sin cos 0

0 0 1 0 0R R

θ θ θ θθ θ θ θ

− −⎡ ⎤ ⎡⎢ ⎥ ⎢= =⎢ ⎥ ⎢⎢ ⎥ ⎢⎣ ⎦ ⎣

Differentiating (65) with respect to time,

0 0 1 0 12 1 2 1 2

0 0 0 1 0 1 1 11 1 1 2 1 2 2 2

0 0 0 1 10 1 1 1 1 2 2

T

R R R R R

R R R R R R R R

R R Rω ω

= +T⎡ ⎤ ⎡⎡ ⎤= +⎣ ⎦ ⎤⎣ ⎦ ⎣

⎡ ⎤ ⎡ ⎤= × + ×⎣ ⎦ ⎣ ⎦

⎦ (67)

Since 0 0 02 2 0 2

TR R ω⎡= ×⎣ ⎤⎦ , we post multiply (67) by to obtain 02

TR

0 0 02 2 0 2

0 0 1 1 00 1 1 1 2 2 2

0 0 1 00 1 1 1 2 1

0 00 1 1 2

T

T

T

R R

R R

R R

ω

ω ω

ω ω

ω ω

⎡ ⎤= ×⎣ ⎦⎡ ⎤ ⎡ ⎤= × + ×⎣ ⎦ ⎣ ⎦⎡ ⎤ ⎡ ⎤= × + ×⎣ ⎦ ⎣ ⎦⎡ ⎤ ⎡ ⎤= × + ×⎣ ⎦ ⎣ ⎦

R (68)

This implies that

0 0 00 2 0 1 1 2

0 0 10 1 1 1 20 1 0 21 0 1 2 1 2

R

R R

ω ω ω

ω ω

ω ω

= +

= +

= +

(69)

Page 18: Bond Graph Modeling for Rigid Body Dynamics-Lecture Notes, Joseph Anand Vaz

REFERENCES [1] I. H. Shames, Engineering Mechanics, Prentice Hall, 1996. [2] D. C. Karnopp, D. L. Margolis, and R. C. Rosenberg, System Dynamics: Modeling and Simulation of

Mechatronic Systems, third edition, Wiley-Interscience, 2000. [3] A. Mukherjee, R. Karmakar, Modeling and Simulation of Engineering Systems Through Bondgraphs,

Narosa Publishing House, New Delhi, 2000. [4] A. A. Zeid, J. L. Overholt, “Singularly Perturbed Formulation: Explicit Modeling of Multibody

Systems,” J. Franklin Institute, vol. 332B, No. 1, pp. 21-45, 1995. [5] D. Karnopp, “Understanding Multibody Dynamics Using Bond Graph representations,” J. Franklin

Institute, vol. 334B, No. 4, pp. 641-642, 1997. [6] J. Jang and C. Han, “Proposition of a Modeling Method for Constrained Mechanical Systems Based on

the Vector Bond Graph,” J. Franklin Institute, vol. 335B, No. 3, pp. 451-469, 1998.