ENG4406 ROBOTICS AND MACHINE VISION KINEMATICS ANALYSIS OF ROBOTS (Part 1) PART 2 LECTURE 8 Kinematics Analysis of Robots I 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: •Put into practice the concept of forward kinematics analysis of robots •Derive transformation matrix between coupled links •Formulate the kinematics of articulated robots in terms of the link transformation matrices •Solve problems of robot kinematics analysis using transformation matrices Position of the gripper w.r.t. frame {3} Y3 X3 Y0 X0 The position of gripper can be viewed as the origin of frame {3}, i.e. the distances along X3,Y3 and Z3 are 0, i.e. 3 p 0 Xˆ 0Yˆ 0Zˆ 3 3 3 T 3 p 0 0 0 Position of the gripper w.r.t. frame {0} The same home position for the robot can be described w.r.t. frame {0} A1 Y0 A2 X0 Obviously, the position of gripper w.r.t. frame {0} at the home position is at a distance of A2 in the X0 direction, a distance of A1 in the Y0 direction, and 0 distance in the Z0 direction, i.e. T 0 p A2 A1 0 Positioning of the gripper Notice that the robot arm will move as the joints rotate. The T gripper position w.r.t. frame {3} is always fixed at 3 p 0 0 0 no matter where the arm had moved. However, the gripper position w.r.t. frame {0} may be different! For example, let 2 rotates 90° from the home position: Y3 X3 2=90° Y3 X3 Home position 3 T p 0 0 0 remains constant Positioning of the gripper After 2 has rotated 90° from the home position, the gripper position w.r.t. frame {0} has changed although its position w.r.t. frame {3} is fixed. The gripper position w.r.t. frame {0} is T 0 p 0 A1 A2 0 2=90° A1+ A2 Y0 Y0 X0 X0 The description of the gripper w.r.t. frame {0} as 1, 2 & 3 change is called the forward kinematics problem. Forward Kinematics and Transformation Matrices Y3 2 rotates 90° Y2 X2 Y2 X3 X2 Y3 X3 Y0 Y0 X0 The position and orientation of frame {3} w.r.t. {2} before and after 2 2 has rotated 90° are different. The matrix 3T relates this changes of frame {3} w.r.t. frame {2} as 2 changes. In general, the transformation matrix between frame {i} w.r.t. {i-1} is represented i 1 by iT. The transformation matrices can be used to solve the forward kinematics problem. Transformation Matrix The transformation matrix parameters as follow: i 1 i T between 2 Coupled links i 1 i T can be obtained using the D-H cos( i ) sin( i ) 0 ai 1 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( i 1 ) cos( i ) cos( i 1 ) d i cos( i 1 ) 0 0 0 1 Use the summary of D-H parameters to derive the 3 transformation matrices for the planar robot, i.e. 01T , 1 2 T, 2 3 T Summary of D-H parameters Link i Twist i Link length ai Link offset di Joint angle i i=0 0 0 … … i=1 0 A1 0 1 (1=90° at home position) i=2 0 A2 0 2 (2=-90° at home position) i=3 … … 0 3 (3=-90° at home position) Transformation Matrix for 01T The 01T transformation matrix can be obtained using the D-H parameters as follow: cos(1 ) sin(1 ) sin( ) cos( ) 1 1 0 T 1 0 0 0 0 0 0 1 0 0 0 0 1 You leave 1 as it is because the angle can change when the robot arm moves, i.e. joint <1> is a revolute joint Transformation Matrix for 21T The 21T transformation matrix can be obtained using the D-H parameters as follow: cos( 2 ) sin( 2 ) sin( ) cos( ) 2 2 1 T 2 0 0 0 0 0 0 1 0 A1 0 0 1 You leave 2 as it is because the angle can change when the robot arm moves, i.e. joint <2> is a revolute joint Transformation Matrix for 23T 2 The 3T transformation matrix can be obtained using the D-H parameters as follow: cos( 3 ) sin( 3 ) sin( ) cos( ) 3 3 2 T 3 0 0 0 0 0 0 1 0 A2 0 0 1 You leave 3 as it is because the angle can change when the robot arm moves, i.e. joint <3> is a revolute joint Transformation Matrix for 02T The transformation matrix for 02T is 02T 01T 21T cos(1 ) cos( 2 ) sin(1 ) sin( 2 ) cos(1 ) sin( 2 ) sin(1 ) cos( 2 ) sin( ) cos( ) cos( ) sin( ) sin( ) sin( ) cos( ) cos( ) 1 2 1 2 1 2 1 2 0 1 1T 2T 0 0 0 0 cos(1 2 ) sin(1 2 ) sin( ) cos( ) 1 2 1 2 0 0 1 T T T 2 1 2 0 0 0 0 0 0 1 0 0 0 1 0 A1 cos(1 ) A1 sin(1 ) 0 1 A1 cos(1 ) A1 sin(1 ) 0 1 You should revise the trigonometric relations if you are having problems with the above Transformation Matrix for 03T T 01T 21T 23T 0 3 T 01T 21T 23T 02T 23T 0 3 cos(1 2 3 ) sin(1 2 3 ) sin( ) cos( ) 1 2 3 1 2 3 0 3T 0 0 0 0 0 0 1 0 A1 cos(1 ) A2 cos(1 2 ) A1 sin(1 ) A2 sin(1 2 ) 0 1 Did you get the above overall transformation matrix? Transformation matrices and Forward Kinematics i Remember, matrix jT relates the transformation between frame 0 {j} w.r.t. {i}. For example, 3T relates the transformation of frame {3} w.r.t. frame {0} as 1, 2 & 3 changes. If the changes in 1, 2 & 3 are known, then the gripper position w.r.t frame {0} can be found using 0 p 0 3 p 3T 1 1 T 3 p 0 0 0 Where . The gripper location is assumed to be fixed at the origin of frame {3}. Hence 0 3 p 0 0 1 1 Finding the gripper home position using Transformation Matrix Notice that at the home position, 1 = 90°, 2 = -90°, and 3 = -90° cos(1 2 3 ) sin(1 2 3 ) sin( ) cos( ) 3 1 2 3 1 2 3 0 p T 3 0 0 1 0 0 A1 cos(1 ) A2 cos(1 2 ) 0 A1 sin(1 ) A2 sin(1 2 ) 0 0 0 1 1 0 0 1 0 A1 cos(1 ) A2 cos(1 2 ) 3 p A1 sin(1 ) A2 sin(1 2 ) 0 3T 0 1 1 A2 0 p 0 3 p A1 3T 1 1 0 1 Or 0 p A2 A1 0 T Visualization of the gripper home position The home position for the robot is shown below: A1 Y0 A2 X0 The position of gripper w.r.t. frame {0} is obvious given by T 0 A2 p A2 A1 0 which is the same as that obtained from 0 p 0 3 p A1 3T 1 1 0 1 Finding new gripper position using Transformation Matrix Use the overall transformation matrix to find the gripper position w.r.t. frame {0} if the arm rotates (from the home position) another 1 = 0°, 2 = 90°, and 3 = 90°. This means that •the total rotation of 1 about Z1 axis is 90° •the total rotation of 2 about Z2 axis is 0° •the total rotation of 3 about Z3 axis is 0° A1 cos(1 ) A2 cos(1 2 ) 0 3 p A1 sin(1 ) A2 sin(1 2 ) A1 A2 0 3T 0 0 1 1 1 3 p 0 p 3T 1 1 0 Or 0 p 0 A1 A2 0T Visualizing the new gripper position After the arm rotates (from the home position) another 1 = 0°, 2 = 90°, and 3 = 90°. This means that •the total rotation of 1 about Z1 axis is 90° •the total rotation of 2 about Z2 axis is 0° •the total rotation of 3 about Z3 axis is 0° Y2 The arm should looks like this after X2 rotating 1 = 0° from the home position X1 Y1 Visualizing the new gripper position After the arm rotates (from the home position) another 1 = 0°, 2 = 90°, and 3 = 90°. This means that Y3 •the total rotation of 1 about Z1 axis is 90° •the total rotation of 2 about Z2 axis is 0° X3 •the total rotation of 3 about Z3 axis is 0° The arm should looks like this after rotating 1 = 0° and 2 = 90° from the home position X2 Y2 X1 Y1 Visualizing the new gripper position After the arm rotates (from the home position) another 1 = 0°, 2 = 90°, and 3 = 90°. This means that X3 •the total rotation of 1 about Z1 axis is 90° •the total rotation of 2 about Z2 axis is 0° Y3 •the total rotation of 3 about Z3 axis is 0° X2 The arm should looks like this after rotating 1 = 0° and 2 = 90° and 3 = 90° from the home position Y2 Visualizing the new gripper position After the arm rotates (from the home position) another 1 = 0°, 2 = 90°, and 3 = 90°. This means that •the total rotation of 1 about Z1 axis is 90° •the total rotation of 2 about Z2 axis is 0° •the total rotation of 3 about Z3 axis is 0° The arm should looks like this after rotating 1 = 0° and 2 = 90° and 3 = 90° from the home position. The gripper position w.r.t. frame {0} is similar to that obtained from the overall transformation matrix: T 0 p 0 A1 A2 0 A2 A1 Y0 X0 Frame of reference for gripper Notice that frame {3} have been used as a frame of reference for the gripper. This means that the orientation of the gripper can also be described based on frame {3} w.r.t. frame {0}. To understand this, we will next re-examine the overall transformation matrix. Y2 X2 Y3 X3 X1, Y0 Y1 X0 Transformation Matrix for 0 3 T T 01T 21T 32T 0 3 cos(1 2 3 ) sin(1 2 3 ) sin( ) cos( ) 1 2 3 1 2 3 0 3T 0 0 0 0 0 0 1 0 A1 cos(1 ) A2 cos(1 2 ) A1 sin(1 ) A2 sin(1 2 ) 0 1 This transformation of gripper w.r.t. base frame {0} has the form nx n 0 y 3T nz 0 ox oy oz 0 ax ay az 0 px py pz 1 where T n nx n y nz T o ox o y oz T a ax a y az T p px p y pz Specify the orientation of the gripper w.r.t. frame {0} Specify the position of the gripper w.r.t. frame {0} Example for orientation & position of gripper Notice that at the home position, 1 = 90°, 2 = -90°, and 3 = -90° cos(1 2 3 ) sin(1 2 3 ) sin( ) cos( ) 1 2 3 1 2 3 0 3T 0 0 0 0 0 1 0 3T 0 0 T n 0 1 0 T o 1 0 0 T a 0 0 1 T p A2 A1 0 1 0 0 0 0 0 1 0 0 0 1 0 A1 cos(1 ) A2 cos(1 2 ) A1 sin(1 ) A2 sin(1 2 ) 0 1 A2 A1 0 1 Gives the orientation of X3 w.r.t. frame {0} Gives the orientation of Y3 w.r.t. frame {0} Gives the orientation of Z3 w.r.t. frame {0} Gives the position of gripper w.r.t. frame {0} Visualization of previous Example Notice that at the home position, 1 = 90°, 2 = -90°, and 3 = -90° p A2 Y3 X3 Y0 A2 A1 A1 0 T Gives the position of the gripper w.r.t. frame {0} X0 T n 0 1 0 T o 1 0 0 T a 0 0 1 Gives the direction of X3 w.r.t. frame {0}. X3 is in the negative Y0 direction Gives the direction of Y3 w.r.t. frame {0}. Y3 is in the positive X0 direction Gives the direction of Z3 w.r.t. frame {0}. Z3 is in the positive Z0 direction Another Example Find the gripper orientation & position w.r.t. frame {0} if the arm rotates (from the home position) another 1 = 0°, 2 = 90°, and 3 = 90°. This means that •the total rotation of 1 about Z1 axis is 90° •the total rotation of 2 about Z2 axis is 0° •the total rotation of 3 about Z3 axis is 0° cos(1 2 3 ) sin(1 2 3 ) 0 A1 cos(1 ) A2 cos(1 2 ) sin( ) cos( ) 0 A sin( ) A sin( ) 1 2 3 1 2 3 1 1 2 1 2 0 3T 0 0 1 0 0 0 0 1 T 0 0 1 0 n 0 1 0 1 0 0 A A T o 1 0 0 1 2 0 3T T 0 0 0 1 a 0 0 1 T 0 0 0 1 p 0 A1 A2 0 Visualizing the new gripper position & orientation The arm should look like this after rotating (from the home position) • another 1 = 0°, 2 = 90°, and 3 = 90°. T n 0 1 0 T o 1 0 0 T a 0 0 1 p 0 X3 is in the positive Y0 direction Y3 is in the negative X0 direction X3 Y3 Z3 is in the positive Z0 direction A1 A2 0 T Gives the position of the gripper w.r.t. frame {0} Y0 X0 Forward Kinematics - Summary • • • • 1. 2. 3. 4. Robot forward kinematics involve finding the robot arm global position and orientation given the angles of rotation of the linkages This problem can be solved using the overall transformation matrix Although we have use a planar robot to illustrate the concept, the approach can be applied to any robot moving in 3-D space. The approach involves the following: Frame assignment Tabulation of the D-H parameters Formulation of the individual transformation matrices Derivation of the overall transformation matrix Summary This lecture continues the discussion on the analysis of the forward and inverse kinematics of robots. The following were covered: •The concept of forward kinematics analysis of robots •Transformation matrix between coupled links •Kinematics of articulated robots in terms of the link transformation matrices •Robot kinematics analysis using transformation matrices