INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 4) Introduction to Dynamics Analysis of Robots (4) This lecture continues the discussion on the analysis of the instantaneous motion of a rigid body, i.e. the velocities and accelerations associated with a rigid body as it moves from one configuration to another. After this lecture, the student should be able to: •Derive the principles of relative motion between bodies in terms of acceleration analysis •Solve problems of robot instantaneous motion using joint variable interpolation •Calculate the Jacobian of a given robot Summary of previous lecture Acceleration tensor and angular acceleration vector 11 12 13 (t ) R RT (t ) 21 22 23 31 32 33 1 32 23 (t ) 2 13 31 3 21 12 vQ (t ) vP (t ) (t )Q(t ) P(t ) vQ (t ) vP (t ) (t ) Q(t ) P(t ) A(t ) (t ) 2 (t ) 1 32 23 (t ) 2 13 31 3 21 12 aQ (t ) aP (t ) A(t )Q(t ) P(t ) Q(t ) P(t ) (t ) Q(t ) P(t ) (t ) vQ (t ) vP (t ) Summary of previous lecture Moving FORs a PQ / a Pob / a b RPQ / b a vQ / a vob / a b / a b RPQ / b baRvQ / b a a aQ / a aob / a b / a (b RPQ / b ) b / a b / a b RPQ / b a a 2 b / a (b RPQ / b ) b R PQ / b Example: Acceleration and moving FORs A=3 B=2 Z0, Z1 Y2 Example: The 3 DOF RRR Robot: C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 P Z3 What is the acceleration of point “P” after 1 second if all the joints are rotating at t i , i 1,2,3 6 Example: Acceleration and moving FORs We did the following: 2 2 aP / 2 ao3 / 2 3 / 2 (3 RPP / 3 ) 3 / 2 3 / 2 3 RPP / 3 23 / 2 (32RvP / 3 ) 32RaP / 3 1 1 aP /1 ao 2 /1 2 /1 ( 2 RPP / 2 ) 2 /1 2 /1 2 RPP / 2 2 2 /1 ( 21RvP / 2 ) 21RaP / 2 0 0 aP / 0 ao1/ 0 1/ 0 (1 RPP /1 ) 1/ 0 1/ 0 1 RPP /1 0 0 21/ 0 (1 RvP /1 )1 RaP /1 To get aP / 0 1.38 2.53 1.22 Example: Acceleration and moving FORs We should get the same answer if we use transformation matrix method. We know that * 0 * PP / 0 3TPP / 3 * 0 * 0 * vP / 0 3TPP / 3 3TvP / 3 * 0 * 0 * 0 * aP / 0 3TPP / 3 2 3TvP / 3 3TaP / 3 vP* / 3 0, aP* / 3 0 * 0 * aP / 0 3TPP / 3 0 0 1 2 0 1 2 0 1 2 0 12 0 1 2 0 12 T T T T T T T T T T 2 T T T 2 T T T 2 3 3 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1T 2T 3T For 0.1187 1.3022 0.1371 1.2606 1.1652 0.1187 0 . 2374 1 . 3609 0 3T 0 0.2742 0.9497 0.5483 0 0 0 0 Example: Acceleration and moving FORs * 0 * aP / 0 3TPP / 3 * aP / 0 0.1187 1.3022 0.1371 1.2606 1 1.38 1.1652 0.1187 0.2374 1.3609 0 2.53 0 0.2742 0 1.22 0.9497 0.5483 0 1 0 0 0 0 The answer is the same as that obtained earlier: aP / 0 1.38 2.53 1.22 Relative angular acceleration We can differentiate the relative angular velocity to get the relative angular acceleration: a c / a b / a b R ( c / b ) a a c / a b / a b R ( c / b ) b R ( c / b ) a a c / a b / a b / a b R ( c / b ) b R ( c / b ) a c / a b / a b / a b R( c / b ) baR( c / b ) where b / a b / a vb / a baR baRT ba R vb / a (baRT ) 1 vb / a (baR) Example: Relative Angular Acceleration A=3 B=2 Z0, Z1 Y2 Example: The 3 DOF RRR Robot: X2 Z2 What is 3/ 0 Y3 Y0, Y 1 X0, X1 C=1 X3 P Z3 after 1 second if all the joints are rotating at i t 6 , i 1,2,3 Example: Relative angular acceleration Solution: We re-used the following data obtained from the previous lecture 1 / 0 2 / 1 3 / 2 0 0.866 0.5 0 0 0.5 0.866 0 R 1 0 1 0 1/ 0 0 0 0.5236 0.866 0.5 0 1 0 R 0 1 2 0.5 0.866 0 0 0 2 /1 0.5236 3 / 2 0 0 0.5236 1 3 /1 2 /1 2 /1 2 R(3 / 2 ) 21R( 3 / 2 ) 0 0 3 / 0 1/ 0 1/ 0 1 R(3 /1 ) 1 R( 3 /1 ) Example: Relative angular acceleration 1 3 /1 2 /1 2 /1 2 R(3 / 2 ) 21R( 3 / 2 ) 1 3 / 1 2 / 1 2 R ( 3 / 2 ) 0 0.866 0.5 0 0 0 3 /1 0.5236 0 0 1 0 0 0 0.5 0.866 0 0.5236 0 1 3 / 1 2 / 1 2 R ( 3 / 2 ) 0 0.866 0.5 0 0 0 3 /1 0.5236 0 0 1 0 1.0472 0 0.5 0.866 0 0.5236 0 Example: Relative angular acceleration 3/ 0 3/ 0 0 0 1/ 0 1/ 0 1 R(3 /1 )1 R( 3 /1 ) 0 3 / 0 1/ 0 1 R(3 /1 ) 0 0.866 0.5 0 0 0.4749 0 0.5 0.866 0 1.0472 0.2742 0 1 0 0 0.5236 0 You should get the same answer from the overall rotational matrix and its derivative, i.e. 3 / 0 30R 30RT 3 / 0 30R30RT 30R 30R T 3 / 0 3 / 0 (3,2) 3 / 0 (1,3) 3 / 0 (2,1) Example: Relative angular acceleration Using the data from the previous example: 0 3 10R 21R 32R 10R 21R 32R 10R 21R 32R 210 R 21R 32R 210 R 21R 32R 210 R 21R 32R R 0.1187 1.3022 0.1371 0 1.1652 0.1187 R 0 . 2374 3 0 0.9497 0.5483 0.9162 0.2267 0.4534 0 0 1 2 0 12 0 1 2 0.2267 0.6545 0.2618 R R R R R R R R R R 3 1 2 3 1 2 3 1 2 3 0 0.5236 0.9069 0.5 0.433 0.75 0 0 1 2 0.25 0.433 0.866 R R R R 3 1 2 3 0.5 0 0.866 Example: Relative angular acceleration 0 0.2742 0 3 / 0 30R30RT 30R 30R T 0 0 0.4749 0 0.2742 0.4749 3 / 0 (3,2) 0.4749 3 / 0 3 / 0 (1,3) 0.2742 3 / 0 (2,1) 0 The answer is the same as that obtained earlier: 3/ 0 0.4749 0.2742 0 Instantaneous motion of robots So far, we have gone through the following exercises: Given the robot parameters, the joint angles and their rates of rotation, we can find the following: 1. The linear (translation) velocities w.r.t. base frame of a point located at the end of the robot arm 2. The angular velocities w.r.t. base frame of a point located at the end of the robot arm 3. The linear (translation) acceleration w.r.t. base frame of a point located at the end of the robot arm 4. The angular acceleration w.r.t. base frame of a point located at the end of the robot arm We will now use another approach to solve the linear velocities and linear acceleration problem. Jacobian for Translational Velocities In general, the position and orientation of a point at the end of the arm can be specified using nx ox ax px v11 v12 v13 v14 n y nz 0 Note that the position v py 0 1 v22 n 1 n 1T 2T n T PT 21 pz v31 v32 0 0 1 0 0 P px py of the point w.r.t. {0} is p x v14 f1 (1 , 2 ,, n ) oy oz ay az v23 v33 0 pz v24 v34 1 T p y v24 f 2 (1 , 2 ,, n ) p z v34 f 3 (1 , 2 ,, n ) The dpx dp y dpz T velocities of the point w.r.t. frame {0} is vP / 0 P dt dt dt dp v v v v v v vx x 14 1 14 2 14 n 14 1 14 2 14 n dt 1 t 2 t n t 1 2 n vy vz dp y dt v24 1 v24 2 v v v v 24 n 24 1 24 2 24 n 1 t 2 t n t 1 2 n dpz v34 1 v34 2 v v v v 34 n 34 1 34 2 34 n dt 1 t 2 t n t 1 2 n Jacobian for Translational Velocities vx vy vz vP / 0 dpx v14 v14 v 1 2 14 n dt 1 2 n dp y dt v24 v24 v 1 2 24 n 1 2 n dpz v34 v34 v 1 2 34 n dt 1 2 n v14 vx 1 v v y 24 1 vz v 34 1 v14 v14 1 2 n 1 v24 v24 2 J (T ) 2 2 n v34 v34 n n 2 n Jacobian for translational velocities Example: Jacobian for Translational Velocities A=3 B=2 Z0, Z1 What is the Jacobian for translational velocities of point “P”? Y2 C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 P Z3 Given: cos(1 ) cos( 2 3 ) cos(1 ) sin( 2 3 ) sin( 1 ) ( A B cos( 2 )) cos(1 ) sin( ) cos( ) sin( ) sin( ) cos( ) ( A B cos( )) sin( ) 1 2 3 1 2 3 1 2 1 0 3T sin( 2 3 ) cos( 2 3 ) 0 B sin( 2 ) 0 0 0 1 Example: Jacobian for Translational Velocities The transformation matrix of point “P” w.r.t. frame {3} is 1 0 3 PT 0 0 nx n y nz 0 ox ax oy oz ay az 0 0 0 0 C 1 0 0 0 1 0 0 0 1 px py 0 1 2 3 1T 2T 3T pT P0T pz 1 cos(1 ) cos( 2 3 ) cos(1 ) sin( 2 3 ) sin( 1 ) ( A B cos( 2 ) C cos( 2 3 )) cos(1 ) sin( ) cos( ) sin( ) sin( ) cos( ) ( A B cos( ) C cos( )) sin( ) 1 2 3 1 2 3 1 2 2 3 1 sin( 2 3 ) cos( 2 3 ) 0 B sin( 2 ) C sin( 2 3 ) 0 0 0 1 Example: Jacobian for Translational Velocities v14 ( A B cos( 2 ) C cos( 2 3 )) cos(1 ) v24 ( A B cos( 2 ) C cos( 2 3 )) sin( 1 ) v34 B sin( 2 ) C sin( 2 3 ) v14 ( A B cos( 2 ) C cos( 2 3 ))( sin( 1 ) 1 v14 cos(1 )( B sin( 2 ) C sin( 2 3 )) 2 v14 C cos(1 ) sin( 2 3 ) 3 v24 ( A B cos( 2 ) C cos( 2 3 ))(cos(1 ) 1 v24 sin( 1 )( B sin( 2 ) C sin( 2 3 )) 2 v24 C sin( 1 ) sin( 2 3 ) 3 v34 0 1 v34 B cos( 2 ) C cos( 2 3 ) 2 v34 C cos( 2 3 ) 3 Example: Jacobian for Translational Velocities J (T ) J (T ) v14 1 v 24 1 v 34 1 v14 v14 2 n v24 v24 2 n v34 v34 2 n ( A B cos( 2 ) C cos( 2 3 )) sin(1 ) ( B sin( 2 ) C sin( 2 3 )) cos(1 ) C cos(1 ) sin( 2 3 ) ( A B cos( 2 ) C cos( 2 3 )) cos(1 ) ( B sin( 2 ) C sin( 2 3 )) sin(1 ) C sin(1 ) sin( 2 3 ) 0 B cos( 2 ) C cos( 2 3 ) C cos( 2 3 ) What is the velocity of point “P” after 1 second if all the joints are rotating at t i , i 1,2,3 6 Example: Jacobian for Translational Velocities Given a=3, B=2, C=1. At t=1, 1 6 J (T ) 2 6 3 6 1 2 3 6 ( A B cos( 2 ) C cos( 2 3 )) sin(1 ) ( B sin( 2 ) C sin( 2 3 )) cos(1 ) C cos(1 ) sin( 2 3 ) ( A B cos( 2 ) C cos( 2 3 )) cos(1 ) ( B sin( 2 ) C sin( 2 3 )) sin(1 ) C sin(1 ) sin( 2 3 ) 0 B cos( 2 ) C cos( 2 3 ) C cos( 2 3 ) 1 2.616 1.616 0.75 0.5236 2.61 vx v v y J (T ) 2 4.5311 0.9330 0.433 0.5236 1.66 3 0 2.231 0.5 0.5236 1.43 v z The answer is similar to that obtained previously using another approach! (refer to velocity and moving FORs) Getting the Translational Acceleration vP / 0 1 1 1 vx ax v y J (T ) 2 aP / 0 a y J (T ) 2 J (T ) 2 v z a z n n n If the angular acceleration for 1, 2, …, n are 0s then aP / 0 1 ax a y J (T ) 2 a z n Example: Getting the Translational Acceleration A=3 B=2 Z0, Z1 Y2 Example: The 3 DOF RRR Robot: C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 P Z3 What is the acceleration of point “P” after 1 second if all the joints are rotating at t i , i 1,2,3 6 Example: Getting the Translational Acceleration J (T ) ( A B cos( 2 ) C cos( 2 3 )) sin(1 ) ( B sin( 2 ) C sin( 2 3 )) cos(1 ) C cos(1 ) sin( 2 3 ) ( A B cos( 2 ) C cos( 2 3 )) cos(1 ) ( B sin( 2 ) C sin( 2 3 )) sin(1 ) C sin(1 ) sin( 2 3 ) 0 B cos( 2 ) C cos( 2 3 ) C cos( 2 3 ) d (T ) J (1,1) c11 ( A Bc 2 Cc23 ) s1 ( Bs 22 Cs23 (2 3 )) dt d (T ) J (1,2) s11 ( Bs 2 Cs23 ) c1 ( Bc 22 Cc23 (2 3 )) dt d (T ) J (1,3) C[ s11 ( s23 ) c1c23 (2 3 )] dt d (T ) J (2,1) s11 ( A Bc 2 Cc23 ) c1 ( Bs 22 Cs23 (2 3 )) dt d (T ) J (2,2) c11 ( Bs 2 Cs23 ) s1 ( Bc 22 Cc23 (2 3 )) dt d (T ) J (2,3) C[c11 ( s23 ) s1c23 (2 3 )] dt Example: Getting the Translational Acceleration J (T ) ( A B cos( 2 ) C cos( 2 3 )) sin(1 ) ( B sin( 2 ) C sin( 2 3 )) cos(1 ) C cos(1 ) sin( 2 3 ) ( A B cos( 2 ) C cos( 2 3 )) cos(1 ) ( B sin( 2 ) C sin( 2 3 )) sin(1 ) C sin(1 ) sin( 2 3 ) 0 B cos( 2 ) C cos( 2 3 ) C cos( 2 3 ) d (T ) J (3,1) 0 dt d (T ) J (3,2) Bs22 Cs23 (2 3 ) dt d (T ) J (3,3) Cs23 (2 3 ) dt Given a=3, B=2, C=1. At t=1, 1 3 1 2 3 2 6 6 6 6 1.6572 0.7503 0.2267 J (T ) 2.6086 1.5614 0.6545 1.4305 0.9069 0 Example: Getting the Translational Acceleration All the angular acceleration for 1, 2, …, n are 0s: aP / 0 1 ax a P / 0 a y J (T ) 2 a z n 1 1.6572 0.7503 0.2267 1.38 J (T ) 2 2.6086 1.5614 0.6545 2.53 3 0 1.4305 0.9069 1.22 The answer is the same as that obtained earlier: 1.38 aP / 0 2.53 1.22 Summary This lecture continues the discussion on the analysis of the instantaneous motion of a rigid body, i.e. the velocities and accelerations associated with a rigid body as it moves from one configuration to another. The following were covered: •Principles of relative motion between bodies in terms of acceleration analysis •Robot instantaneous motion using joint variable interpolation •Jacobian of a robot