KINEMATICS ANALYSIS OF ROBOTS (Part 4) Kinematics Analysis of Robots IV 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 Inverse Kinematics if no restriction on the orientation of point “P”. This is useful if we are concerned only on the position of “P” A=3 B=2 Z0, Z1 Y2 C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 Z3 P Example: A 3 DOF RRR Robot In this case we are not given the following matrix for the description of the orientation and position of point “P”: nx n y nz 0 ox ax oy oz ay az 0 0 px py 0 1 2 1T 2T 3T 03T pz 1 Instead, we need to find 1, 2, and 3 given only the location of “P” w.r.t. to the base frame: px 0 p p y p 1 z 1 Example: A 3 DOF RRR Robot We know that 3 p 0 p 3T 1 1 0 cos( ) cos( ) cos( ) sin( ) sin( ) ( A B cos( )) cos( ) C p sin( ) cos( ) sin( ) sin( ) cos( ) ( A B cos( )) sin( ) 0 T sin( ) cos( ) 0 B sin( ) 0 1 0 0 0 1 1 1 2 3 1 2 3 1 2 3 1 2 3 1 2 1 2 1 3 0 1 3 2 3 2 3 2 cos( )[ A B cos( ) C cos( )] p p sin( )[ A B cos( ) C cos( )] p T 1 B sin( ) C cos( ) p 1 1 2 2 3 x 1 2 2 3 y 3 0 3 2 2 3 z Example: A 3 DOF RRR Robot Equate elements: p x cos(1 )[ A B cos( 2 ) C cos( 2 3 )] px cos(1 ) A B cos( 2 ) C cos( 2 3 ) p y sin(1 )[ A B cos( 2 ) C cos( 2 3 )] py sin(1 ) A B cos( 2 ) C cos( 2 3 ) py 1 tan px 1 Be Careful! Example: A 3 DOF RRR Robot Be careful when using your calculator to find inverse tangent! x y y tan( ) x 2nd quadrant (x=-ve, y=+ve) 1st quadrant (x=+ve, y=+ve) 3rd quadrant (x=-ve, y=-ve) 4th quadrant (x=+ve, y=-ve) Your calculator can only give the angle in the 1st quadrant. You have to adjust the answer from the calculator Example: A 3 DOF RRR Robot p x cos(1 )[ A B cos( 2 ) C cos( 2 3 )] px A B cos( 2 ) C cos( 2 3 ) cos(1 ) p y sin(1 )[ A B cos( 2 ) C cos( 2 3 )] py A B cos( 2 ) C cos( 2 3 ) sin(1 ) If cos(1)0, let px A cos(1 ) Otherwise, let py A sin(1 ) Example: A 3 DOF RRR Robot We now have B cos( 2 ) C cos( 2 3 ) B 2 cos 2 ( 2 ) C 2 cos 2 ( 2 3 ) 2 BC cos( 2 ) cos( 2 3 ) 2 From the comparison of the 3rd row elements: B sin( 2 ) C sin( 2 3 ) p z B 2 sin 2 ( 2 ) C 2 sin 2 ( 2 3 ) 2 BC sin( 2 ) sin( 2 3 ) pz2 Combining these equations, we get B 2 C 2 2 BC cos( 3 ) 2 p z2 cos( 3 ) 2 p z2 B 2 C 2 2 BC sin( 3 ) 1 cos 2 ( 3 ) sin( 3 ) 3 tan cos( 3 ) 1 Example: A 3 DOF RRR Robot Using sin(1 2 ) sin(1 ) cos( 2 ) cos(1 ) sin( 2 ) cos(1 2 ) cos(1 ) cos( 2 ) sin(1 ) sin( 2 ) B cos( 2 ) C cos( 2 3 ) B cos( 2 ) C[cos( 2 ) cos( 3 ) sin( 2 ) sin( 3 )] [ B C cos( 3 )] cos( 2 ) [C sin( 3 )] sin( 2 ) B sin( 2 ) C sin( 2 3 ) p z B sin( 2 ) C[sin( 2 ) cos( 3 ) cos( 2 ) sin( 3 )] p z [ B C cos( 3 )] sin( 2 ) [C sin( 3 )] cos( 2 ) p z Let a [ B C cos( 3 )], b [C sin( 3 )] a cos( 2 ) b sin( 2 ) a sin( 2 ) b cos( 2 ) p z Example: A 3 DOF RRR Robot a cos( 2 ) b sin( 2 ) a sin( 2 ) b cos( 2 ) p z We can now solve the above equations to get apz b sin( 2 ) 2 a b2 If a0, then If b0, then cos( 2 ) b sin( 2 ) a p z a sin( 2 ) cos( 2 ) b sin( 2 ) 2 tan cos( 2 ) 1 Example: A 3 DOF RRR Robot A=3 B=2 Z0, Z1 Y2 C=1 Y3 Y0, Y 1 X0, X1 X2 Z2 X3 P Z3 5 0 p 0 Now find 1, 2, and 3 to move point “P” to 1 1 1 Example: A 3 DOF RRR Robot p y 0 1 p y 1 tan 0 px 5 px px Now cos(1)0, let A 2 cos(1 ) cos( 3 ) 2 p z2 B 2 C 2 2 BC 0 sin( 3 ) 1 cos 2 ( 3 ) 1 sin( 3 ) 90 3 tan cos( 3 ) 1 I.e. Assume elbow down Example: A 3 DOF RRR Robot a [ B C cos( 3 )] 2 b [C sin( 3 )] 1 sin( 2 ) apz b 2 2 0 2 2 a b 5 Now a0, then cos( 2 ) b sin( 2 ) a 1 sin( 2 ) 2 tan 0 cos( 2 ) 1 Compare this with the results form the previous lecture! The difference is that now we are not concerned with the orientation of point “P”. Example: A 3 DOF RPR Robot Link and Joint Assignment Link (1) Prismatic joint <2> Link (2) Link (3) Revolute joint <1> Link (0) Revolute joint <3> Example: A 3 DOF RPR Robot Frame Assignment Z1 X1 Y1 X1 Z1 Example: A 3 DOF RPR Robot Frame Assignment Z0, Z1 Y2 X2 Z2 Y0, Y1 Z2 X0, X1 Y2 Example: A 3 DOF RPR Robot Frame Assignment Z0, Z1 Y2 Y3 X2 Y0, Y1 Z2 X3 Z3 X0, X1 Y3 Example: A 3 DOF RPR Robot Frame Assignment 1 Z0, Z1 Y2 Y3 d2 X3 3 X2 Y0, Y1 X0, X1 Z2 Z3 Example: A 3 DOF RPR Robot Tabulation of D-H parameters Y2 Z0, Z1 Y3 X2 Y0, Y1 Z2 X3 Z3 X0, X1 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 RPR Robot Tabulation of D-H parameters Y2 Z0, Z1 Y3 X2 Y0, Y1 Z2 X3 Z3 X0, X1 1 = (angle from Z1 to Z2 measured along X1) = -90° a1 = (distance from Z1 to Z2 measured along X1) = 0 d2 = variable (distance from X1 to X2 measured along Z2) 2 = variable (angle from X1 to X2 measured along Z2) = 180° Example: A 3 DOF RPR Robot Tabulation of D-H parameters Y2 Z0, Z1 A Y3 X2 Y0, Y1 Z2 X3 Z3 X0, X1 2 = (angle from Z2 to Z3 measured along X2) = 0° a2 = (distance from Z2 to Z3measured along X2) = 0 d3 = (distance from X2 to X3 measured along Z3) = A 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° 0 0 1 (1=0° at home position) i=2 0 0 d2 2=180° i=3 … … A 3 (3=-0° at home position) Example: A 3 DOF RPR Robot Tabulation of Transformation Matrices from the D-H table cos( i ) sin( i ) 0 ai1 cos( ) sin( ) cos( ) cos( ) sin( ) d sin( ) i 1 i i 1 i i 1 i i 1 i 1 T i sin( i1 ) sin( i ) sin( i1 ) cos( i ) cos( i1 ) d i cos( i1 ) 0 0 0 1 0 0, a0 0, cos(1 ) sin(1 ) sin( ) cos( ) 1 1 0 T 1 0 0 0 0 d1 0 0 0 0 0 1 0 0 1 Example: A 3 DOF RPR Robot Tabulation of Transformation Matrices from the D-H table 1 90 , 1 0 1 2T 0 0 2 0, 2 180 a1 0, 0 0 1 d2 1 0 0 0 0 1 0 0 a2 0, cos( 3 ) sin( 3 ) sin( ) cos( ) 3 3 2 T 3 0 0 0 0 d3 A 0 0 1 0 0 0 A 1 Example: A 3 DOF RPR Robot Once all the transformation matrices are obtained, you can then proceed to get the overall transformation matrix for the forward kinematics. After that, given the position and orientation of the point “P” on the gripper, you can proceed to compare the terms of the matrices to get the inverse kinematics. For the inverse kinematics, you will be solving for 1, d2, and 3 Try it out as Homework. Summary This lecture continues 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