INTRODUCTION TO DYNAMICS ANALYSIS OF ROBOTS (Part 5) Introduction to Dynamics Analysis of Robots (5) 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: •Solve problems of robot instantaneous motion using joint variable interpolation •Calculate the Jacobian of a given robot •Investigate robot singularity and its relation to Jacobian Summary of previous lecture Jacobian for translational velocities vP / 0 vP / 0 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 1 1 1 vx ax (T ) 2 ( T ) ( T ) 2 vy J aP / 0 a y J J 2 vz az n n n 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 angular velocities problem. Jacobian for Angular Velocities In general, the position and orientation of a point at the end of the arm can be specified using v11 v12 v13 v14 n 1 n T T T T T 0 P v11 v12 R(t ) v21 v22 v31 v32 v13 v23 , v33 0 1 1 2 n P v11 v21 RT (t ) v12 v22 v13 v23 v v22 v23 v24 21 v31 v32 v33 v34 0 0 1 0 v31 v11 v12 v32 R (t ) v21 v22 v33 v31 v32 v13 v11 v21 v31 v23 v12 v22 v32 v33 v13 v23 v33 11 12 13 v11 v12 (t ) 21 22 23 R RT (t ) v21 v22 31 32 33 v31 v32 3 3 v1i v1i v1i v2i i 1 11 12 13 i31 3 23 v2i v1i v2i v2i 21 22 i 1 i 1 31 32 33 3 3 v3i v1i v3i v2i i 1 i 1 v v 1i 3i i 1 3 v2iv3i i 1 3 v3iv3i i 1 3 v13 v23 v33 Jacobian for Angular Velocities 11 12 21 22 31 32 3 v1i v1i 13 i31 23 v2i v1i i 1 33 3 v3i v1i i 1 3 v1iv2i i 1 3 v2iv2i i 1 3 v3iv2i i 1 v v 1i 3i i 1 3 v2iv3i i 1 3 v3iv3i i 1 3 3 v v 3i 2 i i 1 1 32 3 v31v21 v32v22 v33v23 (t ) 2 13 v1i v3i v11v31 v12v32 v13v33 i 1 3 21 3 v21v11 v22v12 v23v13 v2i v1i i 1 vij f (1 , 2 ,, n ) vij dvij dt vij d1 vij d 2 v d ij n 1 dt 2 dt n dt vij vij vij vij 1 2 n dt 1 2 n dvij Jacobian for Angular Velocities 1 v31v21 v32v22 v33v23 v v v v v v 1 31 1 31 2 31 n v21 32 1 32 2 32 n v22 2 n 2 n 1 1 v v v 33 1 33 2 33 n v23 2 n 1 v v v v v v 1 31 v21 32 v22 33 v23 1 31 v21 32 v22 33 v23 2 1 1 2 2 1 2 v v v 31 v21 32 v22 33 v23 n n n n Similarly: 2 v11v31 v12v32 v13v33 v v v v v v 2 11 v31 12 v32 13 v33 1 11 v31 12 v32 13 v33 2 1 1 2 2 1 2 v v v 11 v31 12 v32 13 v33 n n n n Jacobian for Angular Velocities Similarly: 3 v21v11 v22v12 v23v13 v v v v v v 3 21 v11 22 v12 23 v13 1 21 v11 22 v12 23 v13 2 1 1 2 2 1 2 v v v 21 v11 22 v12 23 v13 n n n n v31 v32 v33 v v v23 21 22 1 1 1 1 v v v (t ) 2 11 v31 12 v32 13 v33 1 1 1 3 v21 v23 v22 v11 v12 v13 1 1 1 v v31 v v v v v21 32 v22 33 v23 31 v21 32 v22 33 v23 2 2 n n 1 2 n v11 v11 v13 v13 2 v12 v12 v31 v32 v33 v31 v32 v33 2 n 2 2 n n v21 v21 v23 v23 n v22 v22 v11 v12 v13 v11 v12 v13 2 n 2 2 n n Jacobian for angular velocities P / 0 J ( A) Example: Jacobian for Angular Velocities A=3 B=2 Z0, Z1 What is the Jacobian for angular velocities of point “P”? Y2 C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 P Z3 Given: T n P 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 ) 1 B sin( 2 ) C sin( 2 3 ) 0 0 0 1 Example: Jacobian for Angular Velocities J ( A) v31 v32 v33 v v v23 21 22 1 1 1 v v v 11 v31 12 v32 13 v33 1 1 1 v22 v23 v21 v v 11 12 v13 1 1 1 v31 v v v21 32 v22 33 v23 2 2 2 v11 v v v31 12 v32 13 v33 2 2 2 v21 v v v11 22 v12 23 v13 2 2 2 v31 sin( 2 3 ) v32 cos( 2 3 ) v31 0 1 v32 0 1 v31 v cos( 2 3 ) 31 2 3 v32 v sin( 2 3 ) 32 2 3 v31 v v v21 32 v22 33 v23 3 3 3 v11 v v v31 12 v32 13 v33 3 3 3 v21 v v v11 22 v12 23 v13 3 3 3 v33 1 v33 v33 v33 0 1 2 3 Example: Jacobian for Angular Velocities v11 cos(1 ) cos( 2 3 ) v12 cos(1 ) sin( 2 3 ) v13 sin( 1 ) v11 sin( 1 ) cos( 2 3 ) 1 v12 sin( 1 ) sin( 2 3 ) 1 v13 cos(1 ) 1 v11 v cos(1 ) sin( 2 3 ) 11 2 3 v12 v cos(1 ) cos( 2 3 ) 12 2 3 v13 v 0 13 2 3 v21 sin( 1 ) cos( 2 3 ) v22 sin( 1 ) sin( 2 3 ) v21 cos(1 ) cos( 2 3 ) 1 v22 cos(1 ) sin( 2 3 ) 1 v21 v sin( 1 ) sin( 2 3 ) 21 2 3 v22 v sin( 1 ) cos( 2 3 ) 22 2 3 v23 cos(1 ) v23 sin( 1 ) 1 v23 v 0 23 2 3 Example: Jacobian for Angular Velocities v v v J ( A) (1,1) 31 v21 32 v22 33 v23 0 1 1 1 v v v J ( A) (1,2) 31 v21 32 v22 33 v23 2 2 2 cos( 2 3 ) sin( 1 ) cos( 2 3 ) sin( 2 3 ) sin( 1 ) sin( 2 3 ) 0 J ( A) (1,2) sin( 1 ) v v v J ( A) (1,3) 31 v21 32 v22 33 v23 3 3 3 cos( 2 3 ) sin( 1 ) cos( 2 3 ) sin( 2 3 ) sin( 1 ) sin( 2 3 ) 0 J ( A) (1,3) sin( 1 ) Example: Jacobian for Angular Velocities v v v J ( A) (2,1) 11 v31 12 v32 13 v33 1 1 1 sin( 1 ) cos( 2 3 ) sin( 2 3 ) sin( 1 ) sin( 2 3 ) cos( 2 3 ) 0 0 v v v J ( A) (2,2) 11 v31 12 v32 13 v33 2 2 2 cos(1 ) sin( 2 3 ) sin( 2 3 ) cos(1 ) cos( 2 3 ) cos( 2 3 ) 0 cos(1 ) v v v J ( A) (2,3) 11 v31 12 v32 13 v33 3 3 3 cos(1 ) sin( 2 3 ) sin( 2 3 ) cos(1 ) cos( 2 3 ) cos( 2 3 ) 0 cos(1 ) Example: Jacobian for Angular Velocities v v v J ( A) (3,1) 21 v11 22 v12 23 v13 1 1 1 cos(1 ) cos( 2 3 ) cos(1 ) cos( 2 3 ) cos(1 ) sin( 2 3 ) cos(1 ) sin( 2 3 ) sin( 1 ) sin( 1 ) J ( A) (3,1) 1 v v v J ( A) (3,2) 21 v11 22 v12 23 v13 2 2 2 sin( 1 ) sin( 2 3 ) cos(1 ) cos( 2 3 ) sin( 1 ) cos( 2 3 ) cos(1 ) sin( 2 3 ) 0 0 v v v J ( A) (3,3) 21 v11 22 v12 23 v13 3 3 3 sin( 1 ) sin( 2 3 ) cos(1 ) cos( 2 3 ) sin( 1 ) cos( 2 3 ) cos(1 ) sin( 2 3 ) 0 0 Example: Jacobian for Angular Velocities What is 3 / 0 3/ 0 sin(1 ) 0 sin(1 ) J ( A) 0 cos(1 ) cos(1 ) 0 0 1 after 1 second if all the joints are rotating at t i , i 1,2,3 6 sin( 1 ) 0 0.5 0.5 0 sin( 1 ) J ( A) 0 cos(1 ) cos(1 ) 0 0.866 0.866 0 0 0 0 1 1 0.5 0.5 0.5236 0.5236 0 P / 0 J ( A) 0 0.866 0.866 0.5236 0.9069 0 0 0.5236 0.5236 1 The answer is similar to that obtained previously using another approach! (refer to the example on relative angular velocity) Clarification Why 3 / 0 P / 0 v1 r1 v1 r2 r1 r2 Note: every point on the link will rotate at the same angular velocity! However, the linear velocities at different points on the link are not the same! Getting the Angular Acceleration P/0 1 1 1 1 x 2 J ( A) 2 P / 0 y J ( A) 2 J ( A) 2 3 z n n n If the joint angular acceleration for 1, 2, …, n are 0s then P/0 1 x y J ( A) 2 z n Example: Getting the 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 Getting the Angular Acceleration sin(1 ) 0 sin(1 ) J ( A) 0 cos(1 ) cos(1 ) 0 0 1 0 cos(1 )1 cos(1 )1 J ( A) 0 sin(1 )1 sin(1 )1 0 0 0 All the joints angular acceleration for 1, 2, …, n are 0s: x 0 0.4534 0.4534 0.5236 0.4749 P / 0 y 0 0.2618 0.2618 0.5236 0.2742 0 0 0.5236 0 z 0 The answer is similar to that obtained previously using another approach! (refer to the example on relative angular acceleration) Transformation between Joint variables and the general motion of the last link We can combine the Jacobians for the linear and angular velocities to get: J (T ) J ( A) J vx v 1 1 y (T ) 2 J vP / 0 v z 2 J ( A) J P / 0 1 2 n n 3 Example: Transformation between Joint variables and the general motion of the last link A=3 B=2 Z0, Z1 Y2 Example: The 3 DOF RRR Robot: C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 Z3 What is the Jacobian for the 3 DOF RRR robot? P Example: Transformation between Joint variables and the general motion of the last link 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 ) J ( A) sin(1 ) 0 sin(1 ) 0 cos(1 ) cos(1 ) 0 0 1 J (T ) J ( A) J ( 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( ) C cos( )) cos( ) ( B sin( ) C sin( )) sin( ) C sin( ) sin( ) 2 2 3 1 2 2 3 1 1 2 3 0 B cos( 2 ) C cos( 2 3 ) C cos( 2 3 ) 0 sin( ) sin( ) 1 1 0 cos(1 ) cos(1 ) 1 0 0 Jacobian and Singularities We know that vP / 0 v14 vx 1 v v y 24 1 vz v 34 1 1 2 J (T ) 1 v P/0 n v14 v14 1 2 n 1 v24 v24 2 J (T ) 2 2 n v34 v34 n n 2 n v14 1 v 24 1 v 34 1 v14 v14 2 n v24 v24 2 n v34 v34 2 n 1 vx v y vz The above is true only if the Jacobian is invertible. From algebra, we now that a matrix cannot be inverted if its determinant is zero (i.e. the matrix is singular) Example: Jacobian and Singularities A=3 B=2 Z0, Z1 Y2 Example: The 3 DOF RRR Robot: C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 Z3 Investigate the singularities of the 3 DOF RRR robot P Example: Jacobian and Singularities 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 ) det( J (T ) ( Bs1s2 Cs1s23 ) Cs1s23 ) ( A Bc 2 Cc23 ) s1 Bc 2 Cc23 Cc23 ( Bc1s2 Cc1s23 ) Cc1s23 ( A Bc 2 Cc23 )c1 Bc 2 Cc23 Cc23 det( J (T ) ) ( A Bc 2 Cc23 ) s1{ Bs1s2Cc23 C 2 s1s23c23 BCs1c2 s23 C 2 s1s23c23} ( A Bc 2 Cc23 )c1{ BCc1s2c23 C 2c1s23c23 BCc1c2 s23 C 2c1s23c23} det( J (T ) ) ( A Bc2 Cc23 ) s1{ Bs1s2Cc23 BCs1c2 s23} ( A Bc2 Cc23 )c1{ BCc1s2c23 BCc1c2 s23} Example: Jacobian and Singularities det( J (T ) ) ( A Bc2 Cc23 ) s1{ Bs1s2Cc23 BCs1c2 s23} ( A Bc2 Cc23 )c1{ BCc1s2c23 BCc1c2 s23} det( J (T ) ) ( A Bc2 Cc23 ){ Bs12 s2Cc23 BCs12c2 s23 BCc12 s2c23 BCc12c2 s23} det( J (T ) ) ( A Bc 2 Cc23 ){BCc2 s23 BCs2c23} det( J (T ) ) ( A Bc 2 Cc23 ) BC ( s3 ) ( A Bc 2 Cc23 ) 0 det( J (T ) ) 0 s3 0 det( J (T ) ) 0 Under these two conditions, we cannot determine the joint angular velocities using the Jacobian 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: •Robot instantaneous motion using joint variable interpolation •The Jacobian of a given robot •Robot singularity and its relation to Jacobian