Robot KinematicsBasic Robot Configurations: Cartesian: PPP Cylindrical: RPP Spherical: RRP Hand coordinate: Articulated: RRR SCARA: RRP (Selective Compliance Assembly Robot Arm) n: normal vector; s: sliding vector; a: approach vector, normal to the tool mounting plate Robot Kinematics •Definition:– the analytical study of the geometry of motion of a robot arm: with respect to a fixed reference co-ordinate system without regard to the forces or moments that cause the motion. Motion is composition of elementary motions for each link Terminology: Workspace: volume of space which can be reached by the end effector Dextrous workspace: volume of space where the end effector can be arbitrarily oriented Reachable workspace: volume of space which the robot can reach in at least one orientation Objective: To derive a method to compute the position and orientation of the manipulator’s endeffector relative to the base of the manipulator as a function of the joint variables. . Degrees of Freedom The degrees of freedom of a rigid body is defined as the number of independent movements it has. The human finger has 3 joints . • Joints Humans have 4 DOF for each fingers. • Different ways in which a robot arm can move. The number of : • Independent position variables needed to locate all parts of the mechanism. DOF of a Rigid Body In a plane In space . Degrees of Freedom 3D Space = 6 DOF 3 position 3 orientation In robotics: DOF = number of independently driven joints positioning accuracy As DOF computational complexity cost flexibility power transmission is more difficult . Industrial Manipulators): {No of D.F.e. In open kinematics chains (i.Robot Links and Joints A manipulator may be thought of as a set of bodies (links) connected in a chain by joints.O. = No of Joints} . The Six Possible Lower Pair Joints . Higher Pair A higher pair joint is one which contact occurs only at isolated points or along a line segments . 2.d) .1.) Spherical Joint 3 DOF ( Variables . 3) Prismatic Joint 1 DOF (linear) (Variables .Robot Joints Revolute Joint 1 DOF ( Variable . q3 . z. Forward/Direct kinematics z Given joint variables q (q1 . A. q5 .qn ) Y ( x. q4 .Types of Kinematics 1. -Formula? y x . y. q2 . O. q6 . T ) End-effector position and orientation. A. y. z. O. Inverse kinematics End effector position and orientation z ( x.2. q3 . q6 . q2 . q4 . q5 .qn ) Joint variables -Formula? x . T ) y q (q1 . Forward Kinematics Joint space Inverse Kinematics Cartesian space “Where am I” Cartesian space “Where should I be” Joint space . JF is used to specify movements of each individual joint of the robot. World frame Joint frame Tool frame HF specifies movements of the robot’s hand relative to a frame attached to the hand z z y x y W R T x P .Robot Reference Frames WF is a universal coordinate frame. Vector Algebra Properties: Dot Product Let x and y be arbitrary vectors in R 3 and be the angle from x to y . then x y x y cos Properties of orthonormal coordinate frame Mutually perpendicular i j 0 i k 0 k j 0 Unit vectors | i | 1 | j | 1 | k | 1 . 1 Representation of a Point in Space A point P in space : 3 coordinates relative to a reference frame ^ ^ ^ P a x i by j c z k Fig.3 Representation of a point in space .3. 2. 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 Fig.4 Representation of a vector in space x y __ P z w . 2. 2. 5 Representation of a frame at the origin of the reference frame . orientation.3 Representation of a Frame at the Origin of a Fixed-Reference Frame Each Unit Vector is mutually perpendicular.3. 2. 2. : normal. approach vector nx ox a x F n y o y a y nz oz a z Fig. 2. orientation. approach vector nx n y F nz 0 Fig. : normal.4 Representation of a Frame in a Fixed Reference Frame Each Unit Vector is mutually perpendicular.3. 2.6 Representation of a frame in a frame ox oy ax ay oz 0 az 0 Px Py Pz 1 . nx n y Fobject nz 0 Fig.3.8 Representation of an object in space ox a x Px o y a y Py oz a z Pz 0 0 1 .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.2. 2. 4 HOMOGENEOUS TRANSFORMATION MATRICES A transformation matrices must be in square form. • • It is much easier to calculate the inverse of square matrices. nx n y F nz 0 ox a x Px o y a y Py oz a z Pz 0 0 1 . To multiply two matrices. 2. their dimensions must match. 5 REPRESENTATION OF TRANSFORMATINS A transformation is defined as making a movement in space. • A combination of translation or rotations. 2. • A pure translation. • A pure rotation about an axis. . 9 Representation of an pure translation in space 0 0 dx 1 0 dy 0 1 dz 0 0 1 .2.5. 2.1 Representation of a Pure Translation 1 0 T 0 0 Fig. 5. Fig.2 Representation of a Pure Rotation about an Axis Assumption : The frame is at the origin of the reference frame and parallel to it.10 Coordinates of a point in a rotating frame before and after rotation. Fig. 2. 2.2.11 Coordinates of a point relative to the reference frame and rotating frame as viewed from the x-axis. . ) 0 S Rotation about z-axis with Pxyz RPuvw C Rot ( z. ) 0 C 0 S C Rot ( y. ) S 0 0 S C S 0 0 C 0 1 S C 0 0 0 1 .Basic Rotation Matrices Rotation about x-axis with Rotation about y-axis with 1 0 Rot ( x. . . . 7.3) Fig. 2.7) P(2.7) RY(90°) T(4.14 Changing the order of transformations will change the final result .3) Rz(90°) T(4.2. 2.5.13 Effects of three successive transformations Fig.-3.3 Representation of Combined Transformations A number of successive translations and rotations…. Rz(90°) RY(90°) P(2.7.-3. 2. 2.5. .5 Transformations Relative to the Rotating Frame Example 2 Fig.15 Transformations relative to the current frames. 3. a xyz Rot ( z.60)auvw 0.2) is attached to a rotating frame.866 0 4 0.5 0 3 4.964 0 0 1 2 2 .5 0.598 0. the frame rotates 60 degree about the OZ axis of the reference frame. Find the coordinates of the point relative to the reference frame after the rotation.866 0.Example 1 A point auvw (4. 3.964 0 0 1 2 2 . the reference coordinate system. auvw Rot ( z .598 0.60) a xyz T 0.Example 2 A point axyz (4. find the corresponding point auvw w.5 0.2) is the coordinate w.866 0 4 4.t. the rotated OU-V-W coordinate system if it has been rotated 60 degree about OZ axis.866 0.r.r.5 0 3 1.t. Combined Transformations A sequence of finite rotations Matrix multiplications do not commute Rules: if rotating coordinate O-U-V-W is rotating about principal axis of OXYZ frame. then Pre-multiply the previous (resultant) rotation matrix with an appropriate basic rotation matrix if rotating coordinate OUVW is rotating about its own principal axes. then post-multiply the previous (resultant) rotation matrix with an appropriate basic rotation matrix . ) Rot (u. ) C 0 0 1 .S 0 CC S SC S C S 0 S C C 0 0 SS CSC CC 0 1 0 0 0 0 C S 1 0 S C CSS SC CS SSC CS CC SSS Pre-multiply if rotate about the OXYZ axes Post-multiply if rotate about the OUVW axes ... R Rot ( y. ) I 3 Rot ( w.Example 3 Find the rotation matrix for the following operations: Rotation about OY axis Rotation about OW axis Rotation about OU axis Answer . Example 4 Find the homogeneous transformation matrix (T) for the following operations: Rotation about OX axis Translation of a along OX axis Translation of d along OZ axis Rotation of about OZ axis Answer : C S S C 0 0 0 0 T Tz , Tz ,d Tx,aTx, I 44 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 d 0 0 0 1 0 0 0 a 1 0 0 1 0 0 0 C S 0 1 0 0 S C 0 0 1 0 0 0 0 0 0 1 Example 5 Can you find the answer by observation based on the geometric interpretation of homogeneous transformation matrix? Cartesian (Gantry, Rectangular) Coordinates Robot All are Linear translations TP Tcart R Fig. 2.18 Cartesian Coordinates. 1 0 0 0 0 0 Px 1 0 Py 0 1 Pz 0 0 1 Cylindrical Coordinate Robot 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 Fig. 2.19 Cylindrical Coordinates. C S 0 rC S C 0 rS R TP Tcyl 0 0 1 l 0 0 0 1 l ) Rot(z.0. )Trans(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 1 0 .Spherical Coordinate Robot 2 Rotations and 1 Translation • translation of r along the z-axis • rotation of about the y-axis • rotation of along the z-axis TP Tsph (r . . )Rot( y. 2.21 Articulated Coordinates.21 Articulated Coordinates.Articulated Robot 3 rotations -> Denavit-Hartenberg representation Fig. . 2. Fig. Orientation Representation Euler Angles Representation ( . . ) Many different types Description of Euler angle representations Euler Angle I of Rotations about OW axis Sequence about OZ axis about OU axis Euler Angle II Roll-Pitch-Yaw about OZ axis about OV axis about OX axis about OY axis about OW axis about OZ axis . Euler Angle I Sequence of Rotations about OZ axis about OU axis w'=z w'"= w" about OW axis v'" v " v' y u'" u'=u" x . Euler Angle I cos Rz sin 0 Rw'' sin cos 0 0 0 1 0 . cos . Ru ' 0 cos 0 sin 1 cos sin 0 sin cos 0 0 0 1 0 sin . Euler Angle I Resultant eulerian rotation matrix: R Rz Ru ' Rw'' cos cos sin sin cos sin cos cos sin cos sin sin cos sin sin cos cos sin sin cos cos cos cos sin sin sin cos sin cos . Orientation Representation Description of Roll Pitch Yaw Roll: Rotation of about a -axis (z-axis of the moving frame) Pitch: Rotation of about o -axis (y-axis of the moving frame) Yaw: Rotation of about n -axis (x-axis of the moving frame) Z X Y Resultant Rotation matrix ? . The Denavit-Hartenberg (D-H) Representation . z zn+1n zn an n n+1 xn Link n Joint n+1 Joint n x n+1 xn .Link A link is considered as a rigid body which defines the relationship between two neighboring joint axes of a manipulator. This relationship can be described with two parameters: the link length a. the link twist .The Kinematics Function of a Link The kinematics function of a link is to maintain a fixed relationship between the two joint axes it supports. Link parameters: a0 n the length of the link. dn the distance between the links . You can align the two axis using these parameters.Link and Joint Parameters 4 parameters are associated with each link. Joint parameters: n the angle between the links. the twist angle between the joint axes. Link Parameters Axis i Axis i1 i-1 Link Length (a) and Link Twist () . The relative position of two links is called link offset dn which is the distance between the links (the displacement. This joint will have two normals connected to it one for each of the links. .Joint Parameters A joint axis is established at the connection of two links. The joint angle n between the normals is measured in a plane normal to the joint axis. along the joint axes between the links). Link and Joint Parameters Link Length (a) & Link Twist (a) Link offset (dn ) & Joint angle (qn ) Axis i Axis i-1 i i-1 di . Joint Variable.Link Connection Description: For Revolute Joints: a. . are all fixed. (Link-Twist i-1(. and d. are all fixed. For Prismatic Joints: a. (Joint-Angle i) are known as the Denavit-Hartenberg Link Parameters. . These four parameters: (Link-Length ai-1). then “di” is the. and . (Link-Offset di). . Joint Variable. then “i” is the. .Links Numbering Convention Base of the arm: Link-0 1st moving link: Link-1 . . . . . Last moving link Link-n Link 2 2 Link 1 0 1 Link 0 A 3-DOF Manipulator Arm 3 Link 3 . 0 0= n=0.First and Last Links in the Chain a0= n=0.0 If joint 1 is revolute: d0= 0 and 1 is arbitrary If joint 1 is prismatic: d0= arbitrary and 1 = 0 . The Y axis is formed by right hand rule.E. The origin of frame is located where ai perpendicular intersects the joint i axis. . If ai = 0 (i.Affixing Frames to Links In order to describe the location of each link relative to its neighbors we define a frame attached to each link. The axes intersect) then Xi is perpendicular to axes i and i+1. The Z axis is coincident with the joint axis i. The X axis points along ai( from i to i+1). Affixing Frames to Links First and last links Base frame (0) is arbitrary Make life easy Coincides with frame {1} when joint parameter is 0 Frame {n} (last link) Revolute joint n: Xn = Xn-1 when n = 0 Origin {n} such that dn=0 Prismatic joint n: Xn such that n = 0 Origin {n} at intersection of joint axis n and Xn when dn=0 . Affixing Frames to Links Joint n Joint n-1 Link n Joint n+1 Link n-1 zn zn-1 xn yn-1 an-1 xn-1 zn+1 dn yn an n xn+1 yn+1 . a i is always chosen positive with the smallest possible magnitude. . It is constant if joint i is revolute and variable when joint i is prismatic. The parameter di is algebraic and may be negative. The parameter ai is always constant and positive.Affixing Frames to Links Note: assign link frames so as to cause as many link parameters as possible to become zero! The reference vector z of a link-frame is always on a joint axis. .The Kinematics Model The robot can now be kinematically modeled by using the link transforms ie: T T1T2T3 Ti Tn 0 n Where 0 T is the pose of the end-effector relative to n base. and n is the number of links. Ti is the link transform for the ith joint. to derive the kinematic description of robotic manipulators. almost universally.The Denavit-Hartenberg (D-H) Representation In the robotics literature. . the DenavitHartenberg (D-H) representation has been used. .y.z) coordinate system to each robot joint. It is then possible to relate one joint to the next and ultimately to assemble a complete representation of a robot's geometry. The method begins with a systematic approach to assigning and labeling an orthonormal (x.The Denavit-Hartenberg (D-H) Representation The appeal of the D-H representation lies in its algorithmic approach. Denavit-Hartenberg Parameters Axis i i Axis i1 di i-1 . measured about xi. measured along z i. di = the distance from xi-1 to xi. i = the angle between zi and zi+1. measured along xi. i = the angle between xi-1 to xi. measured about z i .The Link Parameters ai = the distance from zi to zi+1. A rotation about the initial z axis by . A translation along the new x axis by a. A rotation about the new x axis by .General Transformation Between Two Bodies In D-H convention. a general transformation between two bodies is defined as the product of four basic transformations: A translation along the initial z axis by d. . and. A General Transformation in D-H Convention D-H transformation for adjacent coordinate frames: T i 1 i Tz .aTx.d Tx. I 44 . Tz . Establish the origin of the ith coordinate system. Y0 . Establish joint axis. Establish Xi axis. D6.2. Establish a right-handed orthonormal coordinate system ( X 0 . D2.n-1 D3. Initialize and loop Steps D3 to D6 for I=1.….Denavit-Hartenberg Convention D1. Locate the origin of the ith coordinate at the intersection of the Zi & Zi-1 or at the intersection of common normal between the Zi & Zi-1 axes and the Zi axis. Establish the base coordinate system. Assign Yi (Zi X i ) / Zi X i to complete the right-handed coordinate system. D5. Establish X i (Zi1 Zi ) / Zi 1 Zi or along the common normal between the Zi-1 & Zi axes when they are parallel. . Establish Yi axis. Z 0 ) at the supporting base with Z 0 axis lying along the axis of motion of joint 1. D4. Align the Zi with the axis of motion (rotary or sliding) of joint i+1. d Tx.aTx. Tz .. Find the link and joint parameters : d. I 44 . Establish the hand coordinate system D8.Denavit-Hartenberg Convention D7. D-H transformation for adjacent coordinate frames: i 1 T i Tz .a. Example Z3 Z1 Z0 Y0 Joint 3 O3 Y1 X3 d2 Joint 1 O0 X0 Joint 2 O1 X1 O2 X2 Y2 a0 a1 Joint i i ai di i 1 0 a0 0 0 2 -90 a1 0 1 3 0 0 d2 2 . Example Ti i 1 C i S i 0 0 C i S i C i C i S i S i S i C i S i 0 C i 0 T03 (T 01)(T 21)(T 23) ai C i ai S i di 1 . Example Joint i i ai di i 1 0 a0 0 0 2 -90 a1 0 1 3 0 0 d2 2 cosθ 0 1 sinθ 0 T 0 0 0 cosθ1 2 sinθ1 T 1 0 0 cosθ 2 sin 2 T 23 0 0 sinθ 0 cosθ 0 0 0 0 a0 cos 0 0 a0 sin 0 1 0 0 1 0 0 sin 1 cos 1 1 0 0 0 sinθ 2 cos 2 0 0 a1 cos 1 a1 sin 1 0 1 0 0 1 d2 0 1 0 0 . Example (3.3): Link Frame Assignments . Example (3.3): c1 s c 1 0 0 T 1 s1s 0 0 c 2 s 2 1 T 2 0 0 s1 c1c 0 c1s 0 0 s 2 c 2 0 0 0 s 0 c 0 0 0 L1 0 0 1 0 0 1 a0 c1 s1 s 0 d1 s1 c1 c 0 d1 0 0 1 0 0 c3 s 3 2 T 3 0 0 s3 0 L2 c3 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 . 0 0 0 0 1 .0 0.0 1. 0 l s l s 123 123 1 1 2 12 B 0 T T .0 l1c1 l2 c12 s c 0 .0 0.Example (3. W 3 0.3): c123 s123 0. Example:SCARA Robot . thus 2 and d2 are arbitrarily set. we make it coincident with Z3 . . We have also placed the end link frame in a convenient manner. Once we choose O3. with the Z4 axis coincident with the Z3 axis and the origin O4 displaced down into the gripper by d4.Example:SCARA Robot The location of the sliding axis Z2 is arbitrary. The placement of O3 and X3 along Z3 is arbitrary. since it is a free vector. since Z2 and Z3 are coincident. however. For simplicity. then the joint displacement d3 is defined. Example: Puma 560 . Example: Puma 560 Joint i i i 1 1 0 0 0 2 2 -90 0 d2 3 3 0 a2 d3 4 5 4 5 90 -90 a3 0 d4 0 6 6 0 0 0 ai(mm) di(mm) . Fore arm of a PUMA d4 x4 x3 a3 y3 z4 x6 x5 y5 Spherical joint z6 . Example: Puma 560 Different Configuration . 25 ai(mm) di(mm) 0 0 .Link Coordinate Parameters PUMA 560 robot arm link coordinate parameters Joint i i i 1 1 -90 2 2 0 431.32 0 4 5 4 5 -90 90 0 0 433.07 0 6 6 0 0 56.09 3 3 90 -20.8 149. Example: Puma 560 . Example: Puma 560 . . Standard practice is to to add an extra homogeneous transformation that relates the frame of the object or tool to a fixed frame in the end-effector.The Tool Transform A robot will be frequently picking up objects or tools. although alternatives that do not require a metrology system exist. Kinematic calibration is typically accomplished with an external metrology system. Yet due to manufacturing tolerances. these nominal parameters will not be exact. there are design specifications. . The process of kinematic calibration determines these nominal parameters experimentally.Kinematic Calibrations How one knows the DH parameters? Certainly when robots are built. edu / 9790604475 .Thank You baburao@karunya.