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. ME 537 - Robotics ME EN 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. ME 537 - Robotics ME EN 537 - Robotics Review of fundamental equations 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 M= H M =H c Z Fi ME 537 - Robotics ME EN 537 - Robotics mi • • XYZ inertial • rc mn • cm ri •m1 • m2 Y X What is an inertial frame? c "system" mi + 1 (6.10) (6.11) (6.12) 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 ME 537 - Robotics ME EN 537 - Robotics Rigid bodies in general motion (translating and rotating) The time rate of change of any vector V capable of being viewed in either XYZ or xyz is z w a y Z [ dV ] dt [ ] dV = XYZ dt xyz +wxV x Y where w is the angular velocity of a secondary translating, rotating reference frame (xyz). ME 537 - Robotics ME EN 537 - Robotics X Rigid bodies in general motion (translating and rotating) Another common form of the equation is: = V r+wxV V z w a y Z (6.13) x and when applied to rate of change of angular momentum becomes Y X = H r + w x H (6.16) M= H which is referred to as Euler’s equation. ME 537 - Robotics ME EN 537 - Robotics Rotating rigid body z 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 moments = w dm = d dV • or r P y x products (Jxx wx + Jxy wy + Jxz wz) i + (Jyx wx + Jyy wy + Jyz wz) j or in matrix form H= Jw + (Jzx wx + Jzy wy + Jzz wz) k (6.20) where J = inertia matrix ME 537 - Robotics ME EN 537 - Robotics Rotating rigid body 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: x + (Jzz - Jyy) wy wz Mx = Jxx w (6.29a) y + (Jxx - Jzz) wx wz My = Jyy w (6.29b) z + (Jyy - Jxx) wx wy Mz = Jzz w (6.29c) What are principal axes? ME 537 - Robotics ME EN 537 - Robotics Acceleration relative to a noninertial reference frame a w P z Z r R x Y X ME 537 - Robotics ME EN 537 - Robotics y Acceleration relative to a noninertial reference frame By taking two derivatives and applying (6.13) appropriately, the absolute acceleration of point P can be shown to be + a x + w x (w x ) + r+ 2 w x r a = r R where = acceleration of xyz origin R a x = tangential acceleration w x (w x ) = centripetal acceleration r = acceleration of P relative to xyz 2 w x r = Coriolis acceleration ME 537 - Robotics ME EN 537 - Robotics (6.31) Acceleration relative to a noninertial reference frame For the special case of xyz fixed to rigid body and P a point r r 0 and (6.31) reduces to in the body, + a x + w x (w x ) a = r R (6.32) If P at cm, then + a x c + w x (w x c) ac = R ME 537 - Robotics ME EN 537 - Robotics (6.33) Recursive Newton-Euler Equations (forward recursion for motion) z i+1 w i+1 zi Joint i Oi+1 xi+1 pi wi xi Link i pi+1 • s i+1 Joint i+1 y i+1 Zo Xo ai + 1 Oi yi pi+1 = s i+1 + pi Yo Use Craig/Red D-H form ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations If vi = pi and wi is defined to be the angular velocity of the ith joint frame xi yi zi with respect to base coordinates, then * where si 1 describes the velocity of xi+1, yi+1, zi+1 relative to an observer in frame xi, yi, zi. ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations Likewise, the acceleration v i 1 becomes Defining wi+1 to be the absolute angular velocity of the i+1 * frame and wi 1 to be the angular velocity of the i+1 frame relative to the ith frame: ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations Taking one more derivative for angular acceleration: ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations Now applying the DH coordinate representation for manipulators: ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations Using the previous equations, we can generate the angular motion recursive equations: ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations The linear velocity and acceleration equations use the D-H forms: where d i+1 is the translational velocity of xi+1, yi+1, zi+1 relative to xi , yi , zi ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations Substituting (6.59) – (6.62), we get the velocity and acceleration recursion equations: Note that wi+1 = wi for translational link i+1. ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations (backward recursion for forces and torques) Joint i+1 w . w Link i F i c i Ni w*i , z i pi Zo r i Yo Xo ME 537 - Robotics ME EN 537 - Robotics i i zi+1 Recursive Newton-Euler Equations (backward recursion for forces and torques) f i+1 ni+1 Link i fi ni Joint Forces/Torques ME 537 - Robotics ME EN 537 - Robotics 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 " " " “ ME 537 - Robotics ME EN 537 - Robotics 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. ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations Now r 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 ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations To determine Fi and Ni define fi = force exerted on link i by link i-1 ni = moment " " " “ Then and Fi = fi – fi+1 (6.71) Ni = 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 ME 537 - Robotics ME EN 537 - Robotics 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) ME 537 - Robotics ME EN 537 - Robotics Recursive Newton-Euler Equations The motor torque ti required at joint i is the sum of the joint torque ni resolved along the revolute axis plus the damping torque, ti = ni ˙ zi + bi i (revolute) (6.76a) where bi is the damping coefficient. For a translational joint ti = li fi ˙zi + bi d i where li is the torque arm for motor i. ME 537 - Robotics ME EN 537 - Robotics (translational) (6.77a) 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: v o = g zo with zo vertical. v 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. ME 537 - Robotics ME EN 537 - Robotics 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 2 – The recursive relations have not resolved the various vectors from one joint frame to the next. We must adjust the equations accordingly. ME 537 - Robotics ME EN 537 - Robotics Do we use the full homogeneous transformation in the recursive equations? We resolve the free vectors by applying the rotational submatrix 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: ME 537 - Robotics ME EN 537 - Robotics i R i 1 i 1 Ri Revised angular motion equations Do you notice anything about the form of the D-H rotational sub-matrix? ME 537 - Robotics ME EN 537 - Robotics Revised linear motion equations ME 537 - Robotics ME EN 537 - Robotics Revised force and torque equations ME 537 - Robotics ME EN 537 - Robotics Dynamics 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 . ME 537 - Robotics ME EN 537 - Robotics