




































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
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
1 / 76
This page cannot be seen from the preview
Don't miss anything!
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.
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ζ
(j)d ı 2 dζ
(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ζ
ω =
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.
ω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
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
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 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
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 −
) = aC ,
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).