34
ME 537 - Robotics ME 537 - Robotics ME 537 - Robotics ME 537 - Robotics Dynamics of Robot Manipulators Purpose: This chapter introduces the dynamics of mechanisms. A robot can be treated as a set of linked rigid bodies. Each link body experiences the motion dynamics contributed by its own joint motor plus the cumulative effect of the other links that form a dynamic chain. This means that we must recursively accumulate the net dynamics by moving from one link to the next. This approach is referred to as the Newton-Euler recursive equations. The equation types are distinguished as Newton for force equations and as Euler for moment equations.

Dynamics of Robot Manipulators

Embed Size (px)

DESCRIPTION

Dynamics of Robot Manipulators. Purpose: - PowerPoint PPT Presentation

Citation preview

Page 1: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Dynamics of Robot Manipulators

Dynamics of Robot Manipulators

Purpose:

This chapter introduces the dynamics of mechanisms.  A robot can be treated as a set of linked rigid bodies. Each link body experiences the motion dynamics contributed by its own joint motor plus the cumulative effect of the other links that form a dynamic chain. This means that we must recursively accumulate the net dynamics by moving from one link to the next. This approach is referred to as the Newton-Euler recursive equations. The equation types are distinguished as Newton for force equations and as Euler for moment equations.

Purpose:

This chapter introduces the dynamics of mechanisms.  A robot can be treated as a set of linked rigid bodies. Each link body experiences the motion dynamics contributed by its own joint motor plus the cumulative effect of the other links that form a dynamic chain. This means that we must recursively accumulate the net dynamics by moving from one link to the next. This approach is referred to as the Newton-Euler recursive equations. The equation types are distinguished as Newton for force equations and as Euler for moment equations.

Page 2: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

In particular, you will

1. Review the fundamental force and moment equations for rigid bodies.

2. Determine that the moment of forces applied to a rigid body is the rate of change of angular momentum if taken about the body’s center of mass or about an inertial point.

3. Apply Newton-Euler recursive equations for the connected rigid links of a mechanism.

4. Understand that forward recursion is used to propagate motion through the links, while backward recursion is used to propagate forces and torques through the links.

In particular, you will

1. Review the fundamental force and moment equations for rigid bodies.

2. Determine that the moment of forces applied to a rigid body is the rate of change of angular momentum if taken about the body’s center of mass or about an inertial point.

3. Apply Newton-Euler recursive equations for the connected rigid links of a mechanism.

4. Understand that forward recursion is used to propagate motion through the links, while backward recursion is used to propagate forces and torques through the links.

Page 3: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Review of fundamental equations Review of fundamental equations

"system"

X

Y

Z

XYZ inertial

mi + 1

mncm

m2m1

m iFi

ri

rc

Given a system of particles translating through space, each particle i being acted upon by external force Fi, and each particle located relative to an inertial reference frame, the governing equations are

Fc = m ac (6.10)

M = (6.11)

Mc = c (6.12)

Given a system of particles translating through space, each particle i being acted upon by external force Fi, and each particle located relative to an inertial reference frame, the governing equations are

Fc = m ac (6.10)

M = (6.11)

Mc = c (6.12)

HH

HH

What is an inertial frame?

What is an inertial frame?

Page 4: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Review of fundamental equations Review of fundamental equations

where

m = total mass (sum over all mass particles)

ac = acceleration of center of mass (cm) of all mass particles

Fc = sum of external forces applied to system of particles as if applied at cm

Hi = ri x mivi = angular momentum of particle i (also called moment of momentum)

H, Hc = angular momentum summed over all particles, measured about inertial point, cm point, respectively

M, Mc = moment of all external forces applied to system of particles, measured about inertial point, cm point, respectively

where

m = total mass (sum over all mass particles)

ac = acceleration of center of mass (cm) of all mass particles

Fc = sum of external forces applied to system of particles as if applied at cm

Hi = ri x mivi = angular momentum of particle i (also called moment of momentum)

H, Hc = angular momentum summed over all particles, measured about inertial point, cm point, respectively

M, Mc = moment of all external forces applied to system of particles, measured about inertial point, cm point, respectively

Page 5: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Rigid bodies in general motion (translating and rotating)

Rigid bodies in general motion (translating and rotating)

Z

X

Y

x

yz

The time rate of change of any vector V capable of being viewed in either XYZ or xyz is

[ ]XYZ = [ ]xyz + x V

where is the angular velocity of a secondary translating, rotating reference frame (xyz).

The time rate of change of any vector V capable of being viewed in either XYZ or xyz is

[ ]XYZ = [ ]xyz + x V

where is the angular velocity of a secondary translating, rotating reference frame (xyz).

dtdVdtdV

dtdVdtdV

Page 6: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Rigid bodies in general motion (translating and rotating)

Rigid bodies in general motion (translating and rotating)

Z

X

Y

x

yz

Another common form of the equation is:

= r + x V (6.13)

and when applied to rate of change of angular momentum becomes

M = = r + x H (6.16)

which is referred to as Euler’s equation.

Another common form of the equation is:

= r + x V (6.13)

and when applied to rate of change of angular momentum becomes

M = = r + x H (6.16)

which is referred to as Euler’s equation.

VV VV

HHHH

Page 7: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Rotating rigid bodyRotating rigid bodyBy integrating the motion over the rigid body, we can express the angular momentum relative to the xyz axes as

H = Hx i + Hy j + Hz k

= (Jxx x + Jxy y + Jxz z) i  + (Jyx x + Jyy y + Jyz z) j  + (Jzx x + Jzy y + Jzz z) k (6.20)

By integrating the motion over the rigid body, we can express the angular momentum relative to the xyz axes as

H = Hx i + Hy j + Hz k

= (Jxx x + Jxy y + Jxz z) i  + (Jyx x + Jyy y + Jyz z) j  + (Jzx x + Jzy y + Jzz z) k (6.20)

P•

z

x

y

dm = d dV

or r

or in matrix form

H = J

where J = inertia matrix

momentsmoments productsproducts

Page 8: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Rotating rigid bodyRotating rigid bodyTaking the derivative of (6.20) and substituting into (6.16), also assuming the body axes to be aligned with the principal axes, we get Euler’s moment equations:

Mx = Jxx x + (Jzz - Jyy) y z (6.29a) My = Jyy y + (Jxx - Jzz) x z (6.29b) Mz = Jzz z + (Jyy - Jxx) x y (6.29c)

Taking the derivative of (6.20) and substituting into (6.16), also assuming the body axes to be aligned with the principal axes, we get Euler’s moment equations:

Mx = Jxx x + (Jzz - Jyy) y z (6.29a) My = Jyy y + (Jxx - Jzz) x z (6.29b) Mz = Jzz z + (Jyy - Jxx) x y (6.29c)

What are principal axes?

Page 9: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Acceleration relative to a non-inertial reference frame Acceleration relative to a non-inertial reference frame

y

x

z

X

Y

Z

P

Rr

Page 10: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Acceleration relative to a non-inertial reference frame Acceleration relative to a non-inertial reference frame

By taking two derivatives and applying (6.13) appropriately, the absolute acceleration of point P can be shown to be

a = + x + x ( x + + 2 x (6.31) 

where = acceleration of xyz origin x = tangential acceleration x ( x = centripetal acceleration = acceleration of P relative to xyz 2 x = Coriolis acceleration

By taking two derivatives and applying (6.13) appropriately, the absolute acceleration of point P can be shown to be

a = + x + x ( x + + 2 x (6.31) 

where = acceleration of xyz origin x = tangential acceleration x ( x = centripetal acceleration = acceleration of P relative to xyz 2 x = Coriolis acceleration

R r R r r rr r

RR

r r

r r

Page 11: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Acceleration relative to a non-inertial reference frame Acceleration relative to a non-inertial reference frame

For the special case of xyz fixed to rigid body and P a point in the body, and (6.31) reduces to

a = + x + x ( x (6.32) If P at cm, then

ac = + x c + x ( x c (6.33)

For the special case of xyz fixed to rigid body and P a point in the body, and (6.31) reduces to

a = + x + x ( x (6.32) If P at cm, then

ac = + x c + x ( x c (6.33)

0rr 0rr

R r R r

RR

Page 12: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations (forward recursion for motion)

Recursive Newton-Euler Equations (forward recursion for motion)

z i+1

x

y

i

Joint i+1

pi+1

pi+1 = s + pi

pi

zi

s

ai + 1

Link

Joint i

Zo

Xo

Yo

O

xi

yi

O

i+1

i+1

i+1

i+1i

i

i+1

i+1

Use Craig/Red D-H form

Page 13: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations

If vi = i and i is defined to be the angular velocity of the ith joint frame xi yi zi with respect to base coordinates, then

where describes the velocity of xi+1, yi+1, zi+1 relative to an observer in frame xi, yi, zi.

If vi = i and i is defined to be the angular velocity of the ith joint frame xi yi zi with respect to base coordinates, then

where describes the velocity of xi+1, yi+1, zi+1 relative to an observer in frame xi, yi, zi.

pp

*

1is

*

1is

Page 14: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations

Likewise, the acceleration becomes

Defining i+1 to be the absolute angular velocity of the i+1

frame and to be the angular velocity of the i+1 frame relative to the ith frame:

Likewise, the acceleration becomes

Defining i+1 to be the absolute angular velocity of the i+1

frame and to be the angular velocity of the i+1 frame relative to the ith frame:

1iv 1iv

*

1i *

1i

Page 15: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations

Taking one more derivative for angular acceleration:Taking one more derivative for angular acceleration:

Page 16: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations

Now applying the DH coordinate representation for manipulators: Now applying the DH coordinate representation for manipulators:

Page 17: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations Using the previous equations, we can generate the angular motion recursive equations:Using the previous equations, we can generate the angular motion recursive equations:

Page 18: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations The linear velocity and acceleration equations use the D-H forms:

where i+1 is the translational velocity of xi+1, yi+1, zi+1 relative to xi , yi , zi

The linear velocity and acceleration equations use the D-H forms:

where i+1 is the translational velocity of xi+1, yi+1, zi+1 relative to xi , yi , zi

dd

Page 19: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations Substituting (6.59) – (6.62), we get the velocity and acceleration recursion equations:Substituting (6.59) – (6.62), we get the velocity and acceleration recursion equations:

Note that i+1 = i for translational link i+1.

Page 20: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations (backward recursion for forces and torques)

Recursive Newton-Euler Equations (backward recursion for forces and torques)

Xo

Yo

Zo

Joint i+1

Link i

N i

pi

Fi

ri

,

i*

z

i

zi+1

i

i

.

c i

Page 21: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations (backward recursion for forces and torques)

Recursive Newton-Euler Equations (backward recursion for forces and torques)

Link i

ni

f i

fi+1ni+1

Joint Forces/Torques

Page 22: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations

Define the terms:

mi = mass of link i ri = position of link i cm with respect to base coordinates Fi = total force exerted on link i

Ni = total moment " " " " *

Ji = inertia matrix of link i about its cm determined in the Xo Yo Zo axes

fi = force exerted on link i by link i-1  ni = moment " " " “

Define the terms:

mi = mass of link i ri = position of link i cm with respect to base coordinates Fi = total force exerted on link i

Ni = total moment " " " " *

Ji = inertia matrix of link i about its cm determined in the Xo Yo Zo axes

fi = force exerted on link i by link i-1  ni = moment " " " “

Page 23: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations

For each link we must apply the N-E equations:

The gravitational acceleration and damping torques will be added to the equations of motion later.

For each link we must apply the N-E equations:

The gravitational acceleration and damping torques will be added to the equations of motion later.

Page 24: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations Now i is easily calculated by knowing the acceleration of the origin of the ith frame attached to link i at joint i. We locate link i cm with respect to xi yi zi by ci such that ri = ci + pi.

The velocity of the cm of link i is obviously

Now i is easily calculated by knowing the acceleration of the origin of the ith frame attached to link i at joint i. We locate link i cm with respect to xi yi zi by ci such that ri = ci + pi.

The velocity of the cm of link i is obviously

rr

Page 25: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations To determine Fi and Ni define 

fi = force exerted on link i by link i-1 

ni = moment " " " “

ThenFi = fi – fi+1 (6.71)

andNi = ni – ni+1 + (pi - ri ) x fi - (pi+1 - ri ) x fi+1 (6.72)

= ni – ni+1 - ci x Fi – si+1 x fi+1

To determine Fi and Ni define 

fi = force exerted on link i by link i-1 

ni = moment " " " “

ThenFi = fi – fi+1 (6.71)

andNi = ni – ni+1 + (pi - ri ) x fi - (pi+1 - ri ) x fi+1 (6.72)

= ni – ni+1 - ci x Fi – si+1 x fi+1

Page 26: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations The previous equations can be placed in the backwards recursion form to work from the forces/moments exerted on the hand backwards to the joint torques necessary to react to these hand interactions and move the manipulator: 

fi = fi+1 + Fi (6.74) 

ni = ni+1 + ci x Fi + si+1 x fi+1 + Ni (6.75)

The previous equations can be placed in the backwards recursion form to work from the forces/moments exerted on the hand backwards to the joint torques necessary to react to these hand interactions and move the manipulator: 

fi = fi+1 + Fi (6.74) 

ni = ni+1 + ci x Fi + si+1 x fi+1 + Ni (6.75)

Page 27: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Recursive Newton-Euler Equations Recursive Newton-Euler Equations The motor torque i required at joint i is the sum of the joint torque ni resolved along the revolute axis plus the damping torque,

i = ni ˙ zi + bi i (revolute) (6.76a)

where bi is the damping coefficient.

For a translational joint 

i = li fi ˙zi + bi i (translational) (6.77a)

where li is the torque arm for motor i.

The motor torque i required at joint i is the sum of the joint torque ni resolved along the revolute axis plus the damping torque,

i = ni ˙ zi + bi i (revolute) (6.76a)

where bi is the damping coefficient.

For a translational joint 

i = li fi ˙zi + bi i (translational) (6.77a)

where li is the torque arm for motor i.

dd

Page 28: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

And what about gravity?And what about gravity?

The effect of gravity on each link is accounted for by applying a base acceleration equal to gravity to the base frame of the robot: o = g zo with zo vertical. o is applied to the base link in equations (6.65) and (6.66) for i = 0 and this serves to transmit the acceleration of gravity to each link by recursion.

The effect of gravity on each link is accounted for by applying a base acceleration equal to gravity to the base frame of the robot: o = g zo with zo vertical. o is applied to the base link in equations (6.65) and (6.66) for i = 0 and this serves to transmit the acceleration of gravity to each link by recursion.

vvvv

Page 29: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

There are two basic problems with the derivation so far. What are they?There are two basic problems with the derivation so far. What are they?

Problem 1 - Ji in (6.68) when resolved into base coordinates is a function of manipulator configuration. To avoid this unnecessary complexity, we apply the equations at the cm of each link where Ji is constant.

Problem 1 - Ji in (6.68) when resolved into base coordinates is a function of manipulator configuration. To avoid this unnecessary complexity, we apply the equations at the cm of each link where Ji is constant.

Problem 2 – The recursive relations have not resolved the various vectors from one joint frame to the next. We must adjust the equations accordingly.

Problem 2 – The recursive relations have not resolved the various vectors from one joint frame to the next. We must adjust the equations accordingly.

Page 30: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Do we use the full homogeneous transformation in the recursive equations?

Do we use the full homogeneous transformation in the recursive equations?

We resolve the free vectors by applying the rotational sub-matrix of the D-H transformations for each joint frame to the recursive vectors, using the Craig/Red D-H representation. Let us also use Tsai’s notation.

joint frame i+1 relative to joint frame i:

joint frame i relative to joint frame i+1:

We resolve the free vectors by applying the rotational sub-matrix of the D-H transformations for each joint frame to the recursive vectors, using the Craig/Red D-H representation. Let us also use Tsai’s notation.

joint frame i+1 relative to joint frame i:

joint frame i relative to joint frame i+1: i1i R

i1i R

1ii

R 1ii

R

Page 31: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Revised angular motion equationsRevised angular motion equations

Do you notice anything about the form of the D-H rotational sub-matrix?

Page 32: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Revised linear motion equationsRevised linear motion equations

Page 33: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Revised force and torque equationsRevised force and torque equations

Page 34: Dynamics of Robot Manipulators

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Dynamics summaryDynamics summary

The N-E equations are applied recursively to generate the forces and torques at each joint motor. We first apply forward recursion to get the motion state for each link. We then use this motion state to propagate the forces and torques in backward recursion to each joint. The rotational sub-matrix of the D-H transformations must be applied to resolve the vectors correctly into each link’s joint frame .

The N-E equations are applied recursively to generate the forces and torques at each joint motor. We first apply forward recursion to get the motion state for each link. We then use this motion state to propagate the forces and torques in backward recursion to each joint. The rotational sub-matrix of the D-H transformations must be applied to resolve the vectors correctly into each link’s joint frame .