Chapter 2 Robot Kinematics: Position Analysis 2.1 INTRODUCTION Forward Kinematics: to determine where the robot’s hand is? (If all joint variables are known) Inverse Kinematics: to calculate what each joint variable is? (If we desire that the hand be located at a particular point) Chapter 2 Robot Kinematics: Position Analysis 2.2 ROBOTS AS MECHANISM Multiple type robot have multiple DOF. (3 Dimensional, open loop, chain mechanisms) Fig. 2.1 A one-degree-of-freedom closed-loop four-bar mechanism Fig. 2.2 (a) Closed-loop versus (b) open-loop mechanism Chapter 2 Robot Kinematics: Position Analysis 2.3 MATRIX REPRESENTATION 2.3.1 Representation of a Point in Space A point P in space : 3 coordinates relative to a reference frame ^ ^ ^ P ax i by j cz k Fig. 2.3 Representation of a point in space Chapter 2 Robot Kinematics: Position Analysis 2.3 MATRIX REPRESENTATION 2.3.2 Representation of a Vector in Space A Vector P in space : 3 coordinates of its tail and of its head __ ^ ^ ^ P a x i by j c z k x y __ P z w Fig. 2.4 Representation of a vector in space Chapter 2 Robot Kinematics: Position Analysis 2.3 MATRIX REPRESENTATION 2.3.3 Representation of a Frame at the Origin of a Fixed-Reference Frame Each Unit Vector is mutually perpendicular. : normal, orientation, approach vector nx ox a x F n y o y a y nz oz a z Fig. 2.5 Representation of a frame at the origin of the reference frame Chapter 2 Robot Kinematics: Position Analysis 2.3 MATRIX REPRESENTATION 2.3.4 Representation of a Frame in a Fixed Reference Frame Each Unit Vector is mutually perpendicular. : normal, orientation, approach vector nx n y F nz 0 Fig. 2.6 Representation of a frame in a frame ox a x Px o y a y Py oz a z Pz 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.3 MATRIX REPRESENTATION 2.3.5 Representation of a Rigid Body An object can be represented in space by attaching a frame to it and representing the frame in space. nx n y Fobject nz 0 Fig. 2.8 Representation of an object in space ox a x Px o y a y Py oz a z Pz 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.4 HOMOGENEOUS TRANSFORMATION MATRICES A transformation matrices must be in square form. • • It is much easier to calculate the inverse of square matrices. To multiply two matrices, their dimensions must match. nx n y F nz 0 ox a x Px o y a y Py oz a z Pz 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.5 REPRESENTATION OF TRANSFORMATINS 2.5.1 Representation of a Pure Translation A transformation is defined as making a movement in space. • A pure translation. • A pure rotation about an axis. • A combination of translation or rotations. 1 0 T 0 0 Fig. 2.9 Representation of an pure translation in space 0 0 dx 1 0 d y 0 1 dz 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.5 REPRESENTATION OF TRANSFORMATINS 2.5.2 Representation of a Pure Rotation about an Axis Assumption : The frame is at the origin of the reference frame and parallel to it. Fig. 2.10 Coordinates of a point in a rotating frame before and after rotation. Fig. 2.11 Coordinates of a point relative to the reference frame and rotating frame as viewed from the x-axis. Chapter 2 Robot Kinematics: Position Analysis 2.5 REPRESENTATION OF TRANSFORMATINS 2.5.3 Representation of Combined Transformations A number of successive translations and rotations…. Fig. 2.13 Effects of three successive transformations Fig. 2.14 Changing the order of transformations will change the final result Chapter 2 Robot Kinematics: Position Analysis 2.5 REPRESENTATION OF TRANSFORMATINS 2.5.5 Transformations Relative to the Rotating Frame Example 2.8 Fig. 2.15 Transformations relative to the current frames. Chapter 2 Robot Kinematics: Position Analysis 2.6 INVERSE OF TRANSFORMATION MATIRICES Inverse of a matrix calculation steps : • Calculate the determinant of the matrix. • Transpose the matrix. • Replace each element of the transposed matrix by its own minor(adjoint matrix). • Divide the converted matrix by the determinant. Fig. 2.16 The Universe, robot, hand, part, and end effecter frames. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS Forward Kinematics Analysis: • Calculating the position and orientation of the hand of the robot. • If all robot joint variables are known, one can calculate where the robot is at any instant. • Recall Chapter 1. Fig. 2.17 The hand frame of the robot relative to the reference frame. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.1 Forward and Inverse Kinematics Equations for Position Forward Kinematics and Inverse Kinematics equation for position analysis : (a) Cartesian (gantry, rectangular) coordinates. (b) Cylindrical coordinates. (c) Spherical coordinates. (d) Articulated (anthropomorphic, or all-revolute) coordinates. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.1 Forward and Inverse Kinematics Equations for Position 2.7.1(a) Cartesian (Gantry, Rectangular) Coordinates IBM 7565 robot • All actuator is linear. • A gantry robot is a Cartesian robot. TP Tcart R Fig. 2.18 Cartesian Coordinates. 1 0 0 0 0 0 Px 1 0 Py 0 1 Pz 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.1 Forward and Inverse Kinematics Equations for Position 2.7.1(b) Cylindrical Coordinates 2 Linear translations and 1 rotation • translation of r along the x-axis • rotation of about the z-axis • translation of l along the z-axis TP Tcyl (r , , l ) Trans(0,0, l )Rot( z, )Trans( r ,0,0) R C S 0 rC S C 0 rS R TP Tcyl 0 0 1 l 0 0 0 1 Fig. 2.19 Cylindrical Coordinates. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.1 Forward and Inverse Kinematics Equations for Position 2.7.1(c) Spherical Coordinates 2 Linear translations and 1 rotation • translation of r along the z-axis • rotation of about the y-axis • rotation of along the z-axis TP Tsph (r , , l ) Rot( z, )Rot( y, )Trans( 0,0, ) R C C S S C rS C C S C S S rS S R TP Tsph S 0 C rC 0 0 0 1 Fig. 2.20 Spherical Coordinates. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.1 Forward and Inverse Kinematics Equations for Position 2.7.1(d) Articulated Coordinates 3 rotations -> Denavit-Hartenberg representation Fig. 2.21 Articulated Coordinates. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.2 Forward and Inverse Kinematics Equations for Orientation Roll, Pitch, Yaw (RPY) angles Euler angles Articulated joints Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.2 Forward and Inverse Kinematics Equations for Orientation 2.7.2(a) Roll, Pitch, Yaw(RPY) Angles Roll: Rotation of a about a-axis (z-axis of the moving frame) Pitch: Rotation of o about o -axis (y-axis of the moving frame) Yaw: Rotation of n about n -axis (x-axis of the moving frame) Fig. 2.22 RPY rotations about the current axes. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.2 Forward and Inverse Kinematics Equations for Orientation 2.7.2(b) Euler Angles Rotation of Rotation of Rotation of about about about a-axis (z-axis of the moving frame) followed by o -axis (y-axis of the moving frame) followed by a-axis (z-axis of the moving frame). Fig. 2.24 Euler rotations about the current axes. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.2 Forward and Inverse Kinematics Equations for Orientation 2.7.2(c) Articulated Joints Consult again section 2.7.1(d)……. Chapter 2 Robot Kinematics: Position Analysis 2.7 FORWARD AND INVERSE KINEMATICS OF ROBOTS 2.7.3 Forward and Inverse Kinematics Equations for Orientation Assumption : Robot is made of a Cartesian and an RPY set of joints. TH Tcart ( Px , Py , Pz ) RPY (a , o , n ) R Assumption : Robot is made of a Spherical Coordinate and an Euler angle. TH Tsph (r , , ) Euler ( , , ) R Another Combination can be possible…… Denavit-Hartenberg Representation Chapter 2 Robot Kinematics: Position Analysis 2.8 DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT Denavit-Hartenberg Representation : @ Simple way of modeling robot links and joints for any robot configuration, regardless of its sequence or complexity. @ Transformations in any coordinates is possible. @ Any possible combinations of joints and links and all-revolute articulated robots can be represented. Fig. 2.25 A D-H representation of a general-purpose joint-link combination Chapter 2 Robot Kinematics: Position Analysis 2.8 DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT Denavit-Hartenberg Representation procedures: Start point: Assign joint number n to the first shown joint. Assign a local reference frame for each and every joint before or after these joints. Y-axis does not used in D-H representation. Chapter 2 Robot Kinematics: Position Analysis 2.8 DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT Procedures for assigning a local reference frame to each joint: ٭All joints are represented by a z-axis. (right-hand rule for rotational joint, linear movement for prismatic joint) ٭The common normal is one line mutually perpendicular to any two skew lines. ٭Parallel z-axes joints make a infinite number of common normal. ٭Intersecting z-axes of two successive joints make no common normal between them(Length is 0.). Chapter 2 Robot Kinematics: Position Analysis 2.8 DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT Symbol Terminologies : ⊙ : A rotation about the z-axis. ⊙ d : The distance on the z-axis. ⊙ a : The length of each common normal (Joint offset). ⊙ : The angle between two successive z-axes (Joint twist) Only and d are joint variables. Chapter 2 Robot Kinematics: Position Analysis 2.8 DENAVIT-HARTENBERG REPRESENTATION OF FORWARD KINEMATIC EQUATIONS OF ROBOT The necessary motions to transform from one reference frame to the next. (I) Rotate about the zn-axis an able of n+1. (Coplanar) (II) Translate along zn-axis a distance of dn+1 to make xn and xn+1 colinear. (III) Translate along the xn-axis a distance of an+1 to bring the origins of xn+1 together. (IV) Rotate zn-axis about xn+1 axis an angle of n+1 to align zn-axis with zn+1-axis. Chapter 2 Robot Kinematics: Position Analysis 2.9 THE INVERSE KINEMATIC SOLUTION OF ROBOT Determine the value of each joint to place the arm at a desired position and orientation. TH A1 A2 A3 A4 A5 A6 R C1 (C234C5C6 S 234S 6 ) S S C 1 5 6 S1 (C234C5C6 S 234S 6 ) C1S5C6 S 234C5C6 C234S 6 0 nx n y nz 0 ox a x p x o y a y p y oz a z p z 0 0 1 C1 (C234C5C6 S 234C6 ) C1 (C234S5 ) S1C5 C1 (C234a4 C23a3 C2 a2 ) S1S5C6 S1 (C234C5C6 S 234C6 ) S1 (C234S5 ) C1C5 S1 (C234a4 C23a3 C2 a2 ) C1S5C6 S 234C5C6 C234C6 S 234S5 S 234a4 S 23a3 S 2 a2 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.9 THE INVERSE KINEMATIC SOLUTION OF ROBOT nx 1 n y A1 nz 0 ox a x p x o y a y p y A11[ RHS ] A2 A3 A4 A5 A6 oz a z p z 0 0 1 C1 S1 0 0 S1 C1 0 0 0 1 0 0 n x 0 n y 0 n z 0 1 0 ox a x p x o y a y p y A2 A3 A4 A5 A6 oz a z p z 0 0 1 Chapter 2 Robot Kinematics: Position Analysis 2.9 THE INVERSE KINEMATIC SOLUTION OF ROBOT py px 1 tan 1 2 tan 1 (C3a3 a2 )( pz S 234a4 ) S3a3 ( pxC1 p y S1 C234a4 ) (C3a3 a2 )( pxC1 p y S1 C234a4 ) S3a3 ( Pz S 234a4 ) S3 C 3 3 tan 1 4 234 2 3 5 tan 1 C234 (C1ax S1a y ) S 234az S1ax C1a y 6 tan 1 S 234 (C1nx S1n y ) S 234nz S 234 (C1ox S1o y ) C234oz Chapter 2 Robot Kinematics: Position Analysis 2.10 INVERSE KINEMATIC PROGRAM OF ROBOTS A robot has a predictable path on a straight line, Or an unpredictable path on a straight line. ٭A predictable path is necessary to recalculate joint variables. (Between 50 to 200 times a second) ٭To make the robot follow a straight line, it is necessary to break the line into many small sections. ٭All unnecessary computations should be eliminated. Fig. 2.30 Small sections of movement for straight-line motions Chapter 2 Robot Kinematics: Position Analysis 2.11 DEGENERACY AND DEXTERITY Degeneracy : The robot looses a degree of freedom and thus cannot perform as desired. ٭When the robot’s joints reach their physical limits, and as a result, cannot move any further. ٭In the middle point of its workspace if the z-axes of two similar joints becomes colinear. Dexterity : The volume of points where one can position the robot as desired, but not orientate it. Fig. 2.31 An example of a robot in a degenerate position. Chapter 2 Robot Kinematics: Position Analysis 2.12 THE FUNDAMENTAL PROBLEM WITH D-H REPRESENTATION Defect of D-H presentation : D-H cannot represent any motion about the y-axis, because all motions are about the x- and z-axis. TABLE 2.3 THE PARAMETERS TABLE FOR THE STANFORD ARM Fig. 2.31 The frames of the Stanford Arm. # d a 1 1 0 0 -90 2 2 d1 0 90 3 0 d1 0 0 4 4 0 0 -90 5 5 0 0 90 6 6 0 0 0