Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Velocity and Acceleration Analysis with MATLAB | MECH 6710, Study notes of Mechanical Engineering

Material Type: Notes; Professor: Marghitu; Class: KINEMATICS AND DYNAMICS OF ROBOTS; Subject: Mechanical Engineering; University: Auburn University - Main Campus; Term: Fall 2006;

Typology: Study notes

Pre 2010

Uploaded on 08/16/2009

koofers-user-a71
koofers-user-a71 🇺🇸

5

(1)

10 documents

1 / 76

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Velocity and Acceleration Analysis with Matlab 0
Contents
3 Velocity and Acceleration Analysis 1
3.1 Introduction............................ 1
3.2 Velocity Field for a Rigid Body . . . . . . . . . . . . . . . . . 2
3.3 Acceleration Field for a Rigid Body . . . . . . . . . . . . . . . 4
3.4 Motion of a Point that Moves Relative to a Rigid Body . . . . 8
3.5 Slider-Crank (R-RRT) Mechanism . . . . . . . . . . . . . . . . 11
3.6 R-RRR-RRT Mechanism . . . . . . . . . . . . . . . . . . . . . 17
3.7 R-TRRMechanism........................ 25
3.8 R-RTR-RTR Mechanism . . . . . . . . . . . . . . . . . . . . 31
3.9 Derivative Method . . . . . . . . . . . . . . . . . . . . . . . . 40
3.10 Independent Contour Equations . . . . . . . . . . . . . . . . . 64
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c

Partial preview of the text

Download Velocity and Acceleration Analysis with MATLAB | MECH 6710 and more Study notes Mechanical Engineering in PDF only on Docsity!

Contents

  • 3 Velocity and Acceleration Analysis
    • 3.1 Introduction
    • 3.2 Velocity Field for a Rigid Body
    • 3.3 Acceleration Field for a Rigid Body
    • 3.4 Motion of a Point that Moves Relative to a Rigid Body
    • 3.5 Slider-Crank (R-RRT) Mechanism
    • 3.6 R-RRR-RRT Mechanism
    • 3.7 R-TRR Mechanism
    • 3.8 R-RTR-RTR Mechanism
    • 3.9 Derivative Method
    • 3.10 Independent Contour Equations

3 Velocity and Acceleration Analysis

3.1 Introduction

The motion of a rigid body (RB) is defined when the position vector, velocity and acceleration of all points of the rigid body are defined as functions of time with respect to a fixed reference frame with the origin at O 0. Let ı 0 ,  0 and k 0 , be the constant unit vectors of a fixed orthogonal Cartesian reference frame O 0 x 0 y 0 z 0 and ı,  and k be the unit vectors of a mobile (body fixed) orthogonal Cartesian reference frame Oxyz (Fig. 3.1). The unit vectors ı 0 ,  0 , and k 0 of the primary reference frame are constant with respect to time. A reference frame that moves with the rigid body is a body fixed (or mo- bile) reference frame. The unit vectors ı, , and k of the body fixed reference frame are not constant, because they rotate with the body fixed reference frame. The location of the point O is arbitrary. The position vector of a point M (M ∈(RB)), with respect to the fixed reference frame O 0 x 0 y 0 z 0 is denoted by r 1 = rO 0 M and with respect to the mobile reference frame Oxyz is denoted by r = rOM. The location of the origin O of the mobile reference frame with respect to the fixed point O 0 is defined by the position vector rO = rO 0 O. Then the relation between the vectors r 1 , r and r 0 is given by

r 1 = rO + r = rO + xı + y + zk, (3.1)

where x, y and z represent the projections of the vector r on the mobile reference frame. The magnitude of the vector r = rOM is a constant as the distance be- tween the points O and M is constant (O ∈(RB) and M ∈(RB)). Thus, the x, y and z components of the vector r with respect to the mobile reference frame are constant. The unit vectors ı,  and k are time-dependent vector functions. The vectors ı,  and k are the unit vector of an orthogonal Cartesian reference frame, thus one can write

ı · ı = 1,  ·  = 1, k · k = 1, (3.2)

ı ·  = 0,  · k = 0, k · ı = 0. (3.3)

˙ = ( ˙ · ı) ı + ( ˙ · )  + ( ˙ · k) k = (−ωz ) ı + (0)  + (ωx) k

∣∣ ∣∣ ∣∣ ∣

ı  k ωx ωy ωz 0 1 0

∣∣ ∣∣ ∣∣ ∣

= ω × ,

k^ ˙ =

( k˙ · ı

) ı +

( k˙ · 

)  +

( k˙ · k

) k (3.9) = (ωy) ı − (ωx)  + (0) k

∣∣ ∣∣ ∣∣ ∣

ı  k ωx ωy ωz 0 0 1

∣∣ ∣∣ ∣∣ ∣

= ω × k.

The relations ˙ı = ω × ı, ˙ = ω × , k˙ = ω × k. (3.10)

are known as Poisson formulas. Using Eqs.(3.4) and (3.10) one can obtain

v = vO + xω × ı + yω ×  + zω × k = vO + ω × (xı + y + zk) ,

or v = vO + ω × r. (3.11)

Combining Eqs.(3.4) and (3.11) it results

r˙ = ω × r. (3.12)

Using Eq.(3.11) one can write the components of the velocity as

vx = vOx + zωy − yωz , vy = vOy + xωz − zωx, vz = vOz + yωx − xωy.

3.3 Acceleration Field for a Rigid Body

The acceleration of an arbitrary point M ∈(RB) with respect to a fixed reference frame O 0 x 0 y 0 z 0 , represents the double derivative with respect to time of the position vector r 1

a = ¨r 1 = ˙v =

dv dt

d dt

(vO+ω×r) =

d dt

vO+

d dt

ω×r+ω×

d dt

r = ˙vO+ ˙ω×r+ω×r˙. (3.13) The acceleration of the point O with respect to the fixed reference frame O 0 x 0 y 0 z 0 is aO = ˙vO = ¨rO. (3.14)

The derivative of the vector ω with respect to the time is the vector α given by

α = ω˙ = ˙ωxı + ˙ωy + ˙ωz k + ωx˙ı + ωy ˙ + ωz k˙ (3.15) = αxı + αy + αz k + ωxω × ı + ωyω ×  + ωz ω × k = αxı + αy + αz k + ω × ω =αxı + αy + αz k.

where αx = ˙ωx, αy = ˙ωy , and αz = ˙ωz. In the previous exprerssion the Poisson formulas

˙ı = ω × ı, ˙ = ω × , k˙ = ω × k,

have been used. Using Eqs.(3.13), (3.14) and (3.15) one can write the acceleration of the point M as a = aO + α × r + ω × (ω × r). (3.16)

Using Eq.(3.16) one can write the components of the acceleration as

ax = aOx + (zαy − yαz ) + ωy (yωx − xωy) + ωz (xωx − xωz ) , ay = aOy + (xαz − zαx) + ωz (zωy − yωz ) + ωx (xωy − yωz ) , az = aOz + (yαx − xαy) + ωx (xωz − zωx) + ωy (yωz − zωy).

The vector p can be expressed as

p = p 1 ı 1 + p 2 ı 2 + p 3 ı 3 ,

where ı 1 , ı 2 , ı 3 are three units vectors not parallel to the same plane fixed in RFi, and px, py, pz are the scalar measure numbers of p. Differentiating in RFj

(j)d p dζ

(j)d dζ

(p 1 ı 1 + p 2 ı 2 + p 3 ı 3 )

(j)d p 2 dζ

ı 1 +

(j)d p 2 dζ

ı 2 +

(j)d p 3 dζ

ı 3 + p 1

(j)d ı 1 dζ

  • p 2

(j)d ı 2 dζ

  • p 3

(j)d ı 3 dζ

=

d p 2 dζ

ı 1 +

d p 2 dζ

ı 2 +

d p 3 dζ

ı 3 + p 1 ωij × ı 1 + p 2 ωij × ı 2 + p 3 ωij × ı 3

(i)d p 2 dζ

ı 1 +

(i)d p 2 dζ

ı 2 +

(i)d p 3 dζ

ı 3 + ωij × (p 1 ı 1 + p 2 ı 2 + p 3 ı 3 )

(i)d p dζ

  • ωij × p. (3.21)
  1. The angular velocity of a rigid body RB in a reference frame RF 0 is the rate of change of orientation with respect to the time t

ω =

  

d a dt

×

d b dt d a dt

· b

d b dt

×

d a dt d b dt

· a

   =

( a˙ × b˙ a˙ · b

b˙ × a˙ b˙ · a

) .

The direction of ω is related to the direction of the rotation of the rigid body through a right-hand rule.

  1. Let RFi, i = 1, 2 , ..., n be n reference frames. The angular velocity of a rigid body r in the reference frame RFn, can be expressed as

ωrn = ωr 1 + ω 12 + ω 23 + ... + ωr,n− 1.

Proof Let p be any vector fixed in the rigid body. Then

(i)d p dt

= ωri × p (i−1)d p dt

= ωr,i− 1 × p.

On the other hand

(i)d p dt

(i−1)d p dt

  • ωi,i− 1 × p.

Hence ωri × p = ωr,i− 1 × p + ωi,i− 1 × p,

as this equation is satisfied for all p fixed in the rigid body

ωri = ωr,i− 1 + ωi,i− 1. (3.22)

With i = n, Eq. (3.22) gives

ωrn = ωr,n− 1 + ωn,n− 1. (3.23)

With i = n − 1, Eq. (3.22) gives

ωr,n− 1 = ωr,n− 2 + ωn− 1 ,n− 2. (3.24)

Substitute Eq. (3.24) into Eq. (3.23)

ωrn = ωr,n− 2 + ωn− 1 ,n− 2 + ωn,n− 1.

Next use Eq. (3.22) with i = n − 2, then with i = n − 3, and so forth.

The velocity of A relative to the body fixed reference frame is a derivative in the body fixed reference frame

vArel =

(RB)d r dt

dx dt

ı +

dy dt

dz dt

k = ˙xı + ˙y + ˙zk, (3.25)

A general formula for the total derivative of a moving vector r may be written as

dr dt

(RB)d r dt

  • ω × r, (3.26)

where

dr dt

(0)d r dt

is the derivative in the fixed reference frame (0) (O 0 x 0 y 0 z 0 ),

and

(RB)d r dt

is the derivative in the mobile reference frame. The velocity of the point A relative to the primary reference frame is

vA = vO + vArel + ω × r, (3.27)

Equation (3.27) expresses the velocity of a point A as the sum of three terms:

  • the velocity of a point O of the rigid body,
  • the velocity vArel of A relative to the rigid body, and
  • the velocity ω × r of A relative to O due to the rotation of the rigid body.

The acceleration of the point A relative to the primary reference frame is obtained by taking the time derivative of Eq. (3.27)

aA = aO + aAO, = aO + aArel + 2ω × vArel + α × r + ω × (ω × r), (3.28)

where

aArel =

(RB)d (^2) r dt^2

d^2 x dt^2

ı +

d^2 y dt^2

d^2 z dt^2

k, (3.29)

is the acceleration of A relative to the body fixed reference frame or relative to the rigid body. The term

aCor = 2ω × vArel.

is called the Coriolis acceleration.

In the case of planar motion, Eq. (3.28) becomes

aA = aO + aOA, = aO + aArel + 2ω × vArel + α × r − ω^2 r, (3.30)

The motion of the rigid body (RB) is described relative to the primary reference frame. The velocity vA and the acceleration aA of point a point A are relative to the primary reference frame. The terms vArel and aArel are the velocity and acceleration of point A relative to the body fixed reference frame i.e., they are the velocity and acceleration measured by an observer moving with the rigid body, Fig. 3.4. If A is a point of the rigid body, A ∈ RB, vArel = 0 and aArel = 0.

Motion of a point relative to a moving reference frame

The velocity and acceleration of an arbitrary point A relative to a point O of a rigid body, in terms of the body fixed reference frame, are given by Eqs. (3.27) and (3.28)

vA = vO + vArel + ω × rOA, (3.31) aA = aO + aArel + 2ω × vArel + α × rOA + ω × (ω × rOA). (3.32)

These results apply to any reference frame having a moving origin O and rotating with angular velocity ω and angular acceleration α relative to a primary reference frame (Fig. 3.5). The terms vA and aA are the velocity and acceleration of an arbitrary point A relative to the primary reference frame. The terms vArel and aArel are the velocity and acceleration of A relative to the secondary moving reference frame i.e., they are the velocity and acceleration measured by an observer moving with the secondary reference frame.

aA = [0 0 0 ]; % (m/s^2) acceleration of A

Velocity and acceleration of joint B The points A and B = B 1 are on the link 1 (A, B 1 ∈ link 1). The velocity of the point B = B 1 is calculated in terms of the known vA using Eq. (3.11)

vB = vB 1 = vA + ω 1 × rAB = 0 + ω 1 × rB = ω 1 × rB.

The velocity of point B 2 on the link 2 is vB 2 = vB 1 because the links 1 and 2 are connected at a rotational joint. The velocity of B 1 = B 2 is

vB = vB 1 = vB 2 =

∣∣ ∣∣ ∣∣ ∣

ı  k 0 0 ω 1 xB yB 0

∣∣ ∣∣ ∣∣ ∣

∣∣ ∣∣ ∣∣ ∣∣ ∣

ı  k √^0 0 2 2

∣∣ ∣∣ ∣∣ ∣∣ ∣

ı +

 m/s.

The acceleration of the point B = B 1 on the link 1 is calculated in term of known acceleration aA using Eq. (3.16)

aB = aB 1 = aB 2 = aA + α 1 × rB + ω 1 × (ω 1 × rB ) = α 1 × rB − ω^21 rB

= −ω^21 rB = − 12 (

ı +

ı −

 m/s^2.

The Matlab commands for the velocity and acceleration of the B are

vB1 = vA + cross(omega1,rB); % velocity of B vB2 = vB1; % between 1 & 2 there is a rotational joint B R aB1 = aA + cross(alpha1,rB) - dot(omega1,omega1)*rB; aB2 = aB1; fprintf(’vB = vB1 = vB2 = [ %g, %g, %g] (m/s)\n’, vB1); fprintf(’aB = aB1 = aB2 = [ %g, %g, %g] (m/s^2)\n’, aB1);

The command dot(u,v) calculates the scalar product (or vector dot prod- uct) of the vectors u and v. The command cross(u,v) performs the cross product of the vectors u and v.

Velocity of joint C The points B 2 and C 2 are on the link 2 and

vC = vC 2 = vB 2 + ω 2 × rBC = vB + ω 2 × (rC − rB ), (3.33)

where the angular velocity of link 2 is ω 2 = ω 2 k (ω 2 is unknown). On the other hand the velocity of C is along the horizontal axis (x-axis) because slider 2 translates along x-axis

vC = vC 3 = vC ı. (3.34)

Equations (3.43) and (3.44) give

vB + ω 2 × (rC − rB ) = vC ı,

or

vB +

∣∣ ∣∣ ∣∣ ∣

ı  k 0 0 ω 2 xC − xB yC − yB 0

∣∣ ∣∣ ∣∣ ∣

= vC ı. (3.35)

Equation (3.45) represents a vectorial equation with two scalar components on x-axis and y-axis and with two unknowns ω 2 and vC

vBx − ω 2 (yC − yB ) = vC , (3.36) vBx + ω 2 (xC − xB ) = 0, (3.37)

or

− ω 2 (0 −

) = vC , √ 2 2

  • ω 2 (

It results ω 2 = −1 rad/s and vC = −

2 m/s.

In Matlab the sym command constructs symbolic variables and expres- sions. The commands

omega2z = sym(’omega2z’,’real’); vCx = sym(’vCx’,’real’);

fprintf(’y-axis: %s = 0 \n’, char(qvCy));

The command vpa(S,D) uses variable-precision arithmetic (vpa) to com- pute each element of S to D decimal digits of accuracy and the command char() creates character array (string). The equations will be displayed as

x-axis: vCx+.707105-.707105omega2z = 0 y-axis: -.707105-.707105omega2z = 0

Acceleration of joint C The points C 2 and B 2 are on the link 2 and

aC = aC 2 = aB 2 + α 2 × rBC − ω 22 rBC = aB + α 2 × (rC − rB ) − ω 22 (rC − rB ), (3.38)

where the angular acceleration of link 2 is α 2 = α 2 k (α 2 is unknown). The slider C has a translational motion along x-axis and

aC = aC 3 = aC ı. (3.39)

Equations (3.49) and (3.50) give

aB + α 2 × (rC − rB ) − ω^22 (rC − rB ) = aC ı,

or

aB +

∣∣ ∣∣ ∣∣ ∣

ı  k 0 0 α 2 xC − xB yC − yB 0

∣∣ ∣∣ ∣∣ ∣

− ω 22 [(xC − xB )ı + (yC − yB )] = aC ı. (3.40)

Equation (3.51) represents a vectorial equation with two scalar components on x-axis and y-axis and with two unknowns α 2 and α 3

aBx − α 2 (yC − yB ) − ω^22 (xC − xB ) = aC , (3.41) aBy + α 2 (xC − xB ) − ω 22 (yC − yB ) = 0, (3.42)

or

− α 2 (0 −

) − (−1)^2 (

) = aC ,

  • α 2 (

) − (−1)^2 (0 −

It results α 2 = 0 rad/s^2 and aC = −

2 m/s^2.

To calculate α 2 and aC the following commands are used with Matlab

alpha2z=sym(’alpha2z’,’real’); aCx=sym(’aCx’,’real’); alpha2 = [ 0 0 alpha2z ]; % alpha3z unknown aC = [aCx 0 0 ]; % aCx unknown eqaC = aC - (aB1 + cross(alpha2,rC-rB) - dot(Omega2,Omega2)*(rC-rB)); eqaCx = eqaC(1); % equation component on x-axis eqaCy = eqaC(2); % equation component on y-axis solaC = solve(eqaCx,eqaCy); alpha2zs=eval(solaC.alpha2z); aCxs=eval(solaC.aCx); Alpha2 = [0 0 alpha2zs]; aCs = [aCxs 0 0];

The Matlab program for the velocities and accelerations is given in Program 3.1. The results are shown at the end of the program.

The Matlab statements for the velocity and acceleration of the driver link 1 are

vA = [0 0 0 ]; aA = [0 0 0 ]; vB1 = vA + cross(omega1,rB); vB2 = vB1; aB1 = aA + cross(alpha1,rB) - dot(omega1,omega1)*rB; aB2 = aB1;

Velocity of joint C The points B 2 and C 2 are on the link 2 and

vC 2 = vB 2 + ω 2 × rBC = vB + ω 2 × (rC − rB ), (3.43)

where the angular velocity of link 2 is ω 2 = ω 2 k (ω 2 is unknown). The points D 3 and C 3 are on the link 3 and

vC 3 = vD 3 + ω 3 × rDC = ω 3 × (rC − rD), (3.44)

where vD = vD 3 ≡ 0 and the angular velocity of link 3 is ω 3 = ω 3 k (ω 3 is unknown). Equations (3.43) and (3.44) give (vC 2 = vC 3 )

vB + ω 2 × (rC − rB ) = ω 3 × (rC − rD),

or

vB +

∣∣ ∣∣ ∣∣ ∣

ı  k 0 0 ω 2 xC − xB yC − yB 0

∣∣ ∣∣ ∣∣ ∣

∣∣ ∣∣ ∣∣ ∣

ı  k 0 0 ω 3 xC − xD yC − yD 0

∣∣ ∣∣ ∣∣ ∣

Equation (3.45) represents a vectorial equation with two scalar components on x-axis and y-axis and with two unknowns ω 2 and ω 3

vBx − ω 2 (yC − yB ) = −ω 3 (yC − yD), vBy + ω 2 (xC − xB ) = ω 3 (xC − xD),

or

− 0. 471239 − ω 2 (0. 422073 − 0 .075) = −ω 3 (0. 422073 − 0 .45), 0 .81621 + ω 2 (− 0. 0689445 − 0 .129904) = ω 3 (− 0. 0689445 − 0 .3).

It results ω 2 = − 1 .1307 rad/s and ω 3 = − 2 .82169 rad/s.

The velocity of C is

vC = vD + ω 3 × (rC − rD) = −ω 3 (yC − yD) ı + ω 3 (xC − xD)  = −(− 2 .82169)(0. 422073 − 0 .45) ı + (− 2 .82169)(− 0. 0689445 − 0 .3)  = − 0. 0788027 ı + 1. 04105  m/s.

The Matlab commands for the angular velocities of links 2 and 3, and the velocity of C are

omega2z = sym(’omega2z’,’real’); omega3z = sym(’omega3z’,’real’); omega2 = [ 0 0 omega2z ]; omega3 = [ 0 0 omega3z ]; eqvC = vB2 + cross(omega2,rC-rB) - ( vD + cross(omega3,rC-rD) ); eqvCx = eqvC(1); eqvCy = eqvC(2); solvC = solve(eqvCx,eqvCy); omega2zs=eval(solvC.omega2z); omega3zs=eval(solvC.omega3z); Omega2 = [0 0 omega2zs]; Omega3 = [0 0 omega3zs]; vC = vB2 + cross(Omega2,rC-rB);

Velocity of joint E The points E 3 and D 3 are on the link 3 and

vE = vE 3 = vD 3 + ω 3 × rDE = ω 3 × (rE − rD) = −ω 3 (yE − yD) ı + ω 3 (xE − xD)  = −(− 2 .82169)(0. 404712 − 0 .45) ı + (− 2 .82169)(− 0. 298288 − 0 .3)  = − 0. 127788 ı + 1. 68819  m/s,

or in Matlab

vE = vD + cross(Omega3,rE-rD);

Velocity of joint F The points F 4 and E 4 are on the link 4 and

vF = vF 4 = vE 4 + ω 4 × rEF = vE + ω 4 × (rF − rE ), (3.46)

where the angular velocity of link 4 is ω 4 = ω 4 stk (ω 4 is unknown).