KINEMATICS ANALYSIS OF ROBOTS (Part 3) Kinematics Analysis of Robots III This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. After this lecture, the student should be able to: •Solve problems of robot kinematics analysis using transformation matrices Example: A 3 DOF RRR Robot Link and Joint Assignment Link (1) Link (2) Link (3) Revolute joint <1> Link (0) Revolute joint <3> Revolute joint <2> Example: A 3 DOF RRR Robot Frame Assignment Z1 Y1 X1 Y1 Z1 Example: A 3 DOF RRR Robot Frame Assignment Z0, Z1 Y2 Y0, Y 1 Z2 X0 , X1 X2 Z2 Y2 Example: A 3 DOF RRR Robot Frame Assignment Z0, Z1 Y2 Y3 Y0, Y 1 Z3 X0 , X1 X2 Z2 X3 Z3 Y3 Example: A 3 DOF RRR Robot 1 Frame Assignment Z0, Z1 Y2 Y0, Y 1 X0, X1 2 X2 Z2 Y3 3 X3 Z3 Example: A 3 DOF RRR Robot Tabulation of D-H parameters A B Z0, Z1 Y2 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 Z3 0 = (angle from Z0 to Z1 measured along X0) = 0° a0 = (distance from Z0 to Z1 measured along X0) = 0 d1 = (distance from X0 to X1 measured along Z1)= 0 1 = variable (angle from X0 to X1 measured along Z1) 1 = 0° (at home position) but 1 can change as the arm moves Example: A 3 DOF RRR Robot Tabulation of D-H parameters A B Z0, Z1 Y2 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 Z3 1 = (angle from Z1 to Z2 measured along X1) = 90° a1 = (distance from Z1 to Z2 measured along X1) = A d2 = (distance from X1 to X2 measured along Z2) = 0 2 = variable (angle from X1 to X2 measured along Z2) 2 = 0° (at home position) but 2 can change as the arm moves Example: A 3 DOF RRR Robot Tabulation of D-H parameters A B Z0, Z1 Y2 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 Z3 2 = (angle from Z2 to Z3 measured along X2) = 0° a2 = (distance from Z2 to Z3measured along X2) = B d3 = (distance from X2 to X3 measured along Z3) = 0 3 = variable (angle from X2 to X3 measured along Z3) 3= 0° (at home position) but 3 can change as the arm moves Summary of D-H parameters Link i Twist i Link length ai Link offset di Joint angle i i=0 0 0 … … i=1 90° A 0 1 (1=0° at home position) i=2 0 B 0 2 (2=-0° at home position) i=3 … … 0 3 (3=-0° at home position) Example: A 3 DOF RRR Robot Tabulation of Transformation Matrices from the D-H table cos( i ) cos( ) sin( ) i 1 i i 1 T i sin( i 1 ) sin( i ) 0 sin( i ) 0 cos( i 1 ) cos( i ) sin( i 1 ) sin( i 1 ) cos( i ) cos( i 1 ) 0 0 0 0, cos( 1 ) sin( ) 1 0 T 1 0 0 a 0 0, d1 0 sin( 1 ) 0 cos( 1 ) 0 0 1 0 0 d i sin( i 1 ) d i cos( i 1 ) 1 a i 1 0 0 0 1 Example: A 3 DOF RRR Robot Tabulation of Transformation Matrices from the D-H table cos( i ) cos( ) sin( ) i 1 i i 1 T i sin( i 1 ) sin( i ) 0 sin( i ) 0 cos( i 1 ) cos( i ) sin( i 1 ) sin( i 1 ) cos( i ) cos( i 1 ) 0 0 1 90 , a1 A , cos( 2 ) 0 1 T 2 sin( 2 ) 0 sin( 2 ) 0 0 1 cos( 2 ) 0 0 0 d i sin( i 1 ) d i cos( i 1 ) 1 a i 1 d2 0 A 0 0 1 Example: A 3 DOF RRR Robot Tabulation of Transformation Matrices from the D-H table cos( i ) cos( ) sin( ) i 1 i i 1 T i sin( i 1 ) sin( i ) 0 sin( i ) 0 cos( i 1 ) cos( i ) sin( i 1 ) sin( i 1 ) cos( i ) cos( i 1 ) 0 0 2 0, cos( 3 ) sin( ) 3 2 T 3 0 0 a2 B, d3 0 sin( 3 ) 0 cos( 3 ) 0 0 1 0 0 B 0 0 1 d i sin( i 1 ) d i cos( i 1 ) 1 a i 1 Example: A 3 DOF RRR Robot Forward Kinematics cos( 1 ) cos( 2 ) sin( ) cos( ) 1 2 0 0 1 T T T 2 1 2 sin( 2 ) 0 0 T 3 0 T 2 2 cos( ) cos( ) sin( ) cos( ) T sin( ) 0 cos( 1 ) sin( 2 ) sin( 1 ) sin( 1 ) sin( 2 ) cos( 1 ) cos( 2 ) 0 0 0 1 2 3 cos( ) sin( ) sin( ) 1 2 3 sin( ) sin( ) cos( ) cos( ) 0 0 0 3 2 3 1 2 1 2 2 3 3 3 1 1 A cos( 1 ) A sin( 1 ) 0 1 ( A B cos( )) cos( ) ( A B cos( )) sin( ) B sin( ) 1 2 1 2 1 2 Example: A 3 DOF RRR Robot A=3 B=2 Z0, Z1 What is the position of point “P” at the home position? Y2 Y3 Y0, Y 1 X0, X1 X2 Z2 Solution: 1 0 3 p 1 0 1 C=1 0 p 0 3 p 3T 1 1 X3 Z3 P Example: A 3 DOF RRR Robot cos( ) cos( ) sin( ) cos( ) p T sin( ) 1 0 1 2 3 cos( ) sin( ) sin( ) 1 2 3 sin( ) sin( ) cos( ) cos( ) 0 0 0 3 0 3 2 3 1 2 1 3 2 2 1 3 1 3 ( A B cos( )) cos( ) 1 ( A B cos( )) sin( ) 0 B sin( ) 0 1 1 1= 2= 3=0, A=3, and B=2: 1 0 0 3 p 0 p 3T 1 1 0 0 0 0 0 1 1 0 0 0 5 1 6 0 0 0 0 0 0 1 1 1 2 1 2 1 2 Example: A 3 DOF RRR Robot Inverse Kinematics Given the orientation and position of point “P”: nx n y nz 0 cos( ) cos( ) p sin( ) cos( ) T sin( ) 1 0 ax oy ay oz az 0 0 px py pz 1 T T T 0 1 1 2 2 3 1 2 3 cos( ) sin( ) sin( ) 1 2 3 sin( ) sin( ) cos( ) cos( ) 0 0 0 3 0 ox 3 2 3 1 2 1 2 2 3 3 3 1 1 0 3 T ( A B cos( )) cos( ) 1 ( A B cos( )) sin( ) 0 B sin( ) 0 1 1 2 1 2 1 2 Example: A 3 DOF RRR Robot Inverse Kinematics Equate elements (1,3) and (2,3): a x sin( 1 ) 1 tan a y cos( 1 ) Provided that 1 ax a y (a x a y ) 1 2 2 Equate elements (1,4) and (2,4): p x ( A B cos( 2 )) cos( 1 ) cos( 2 ) px 1 A B cos( 1 ) py 1 p y ( A B cos( 2 )) sin( 1 ) sin( 2 ) A B cos( 1 ) Example: A 3 DOF RRR Robot Inverse Kinematics If cos(1)0, then use px to find cos(2). Afterwards, find sin( 2 ) 1 cos ( 2 ) 2 2 tan 1 sin( 2 ) cos( 2 ) Otherwise use py to find sin(2) and then solve using cos( 2 ) 1 sin ( 2 ) 2 2 tan 1 sin( 2 ) cos( 2 ) Example: A 3 DOF RRR Robot Inverse Kinematics Equate elements (3,1) and (3,2): n z sin( 2 3 ) ( 2 3 ) tan o z cos( 2 3 ) 1 nz oz 3 2 3 2 Now find 1, 2, and 3 given the orientation and position of point “P”: nx n y nz 0 ox ax oy ay oz az 0 0 px 0 py 0 p z 1 1 0 1 0 0 1 0 0 0 0 5 0 1 1 Example: A 3 DOF RRR Robot Inverse Kinematics ax 0 1 tan a y 1 1 ax a y 0 Now cos(1)=10. We use px to find cos(2): p x 5, A 3, B 2 px 1 cos( 2 ) A 1 B cos( 1 ) sin( 2 ) 1 cos ( 2 ) 0 2 2 tan 1 sin( 2 ) 0 cos( 2 ) Example: A 3 DOF RRR Robot Inverse Kinematics n z 1 ( 2 3 ) tan oz 0 1 nz 90 oz 3 2 3 2 90 0 90 nx n y nz 0 0 0 1 0 ox ax oy ay oz az 0 0 1 0 0 1 0 0 0 0 px py pz 1 5 0 1 1 Z0 A=3 B=2 Y0 Y3 X0 C=1 Z3 P X3 Forward & Inverse Kinematics Issues Given a set of joint variables, the forward kinematics will always produce an unique solution giving the robot global position and orientation. On the other hand, there may be no solution to the inverse kinematics problem. The reasons include: •The given global position of the arm may be beyond the robot work space •The given global orientation of the gripper may not be possible given that the gripper frame must be a right hand frame For the inverse kinematics problem, there may also exist multiple solutions, i.e. the solution may not be unique. Forward & Inverse Kinematics Issues Example of multiple solutions given the same gripper global position and orientation: First solution Second solution Some solutions may not be feasible due to obstacles in the workspace Summary This lecture continues the the discussion on the analysis of the forward and inverse kinematics of robots. The following were covered: •Problems of robot kinematics analysis using transformation matrices