Denavit Hartenberg Convention Denavit Hartenberg Convention Denavit Hartenberg Convention Number the joints from 1 to n starting with the base and ending with the end effector Establish the base coord[.]
Denavit-Hartenberg Convention Denavit-Hartenberg Convention • • Number the joints from to n starting with the base and ending with the end-effector Establish the base coordinate system Establish a right-handed ) the supporting base with orthonormal coordinate system ( X , Y0 , Z at axis Zlying along the axis of motion of joint Establish joint axis Align the Zi with the axis of motion (rotary or sliding) of joint i+1 Establish the origin of the ith coordinate system Locate the origin of the ith coordinate at the intersection of the Z i & Zi-1 or at the intersection of common normal between the Z i & Zi-1 axes and the Zi axis Establish Xi axis Establish X i ( Z i Z i ) / Z i Z i or along the common normal between the Zi-1 & Zi axes when they are parallel Establish Y axis Assign Yi ( Z i X i ) / Z i X i to complete the right- • handed coordinate system Find the link and joint parameters • • • • i Example I • Revolute Joints Z1 Z0 Y0 Joint Y1 Link Joint Z3 O0 X0 Joint Z O1 X1 O2 X2 a1 X3 d2 Link Y2 a0 O3 Link Coordinate Frames • Assign Link Coordinate Frames: – To describe the geometry of robot motion, we assign a Cartesian coordinate frame (Oi, Xi,Yi,Zi) to each link, as follows: • establish a right-handed orthonormal coordinate frame O0 at the supporting base with Z0 lying along joint motion axis • the Zi axis is directed along the axis of motion of joint (i + 1), that is, link (i + 1) rotates about or translates along Z i; Z Z1 Z0 Y0 Joint Y1 Link Joint O0 X0 Joint Z O1 X1 O2 X2 a1 X3 d2 Link Y2 a0 O3 Link Coordinate Frames – 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 – the Xi axis lies along the common normal from the Zi-1 X i ( Z i Z i ) / Z i Z i axis to the Zi axis , (if Z i-1 is parallel to Zi, then Xi is specified arbitrarily, subject only Z Z to Z ); to Xi being perpendicular Z Joint i Y0 Joint Y1 Z O3 X3 d2 O0 X0 Joint O1 X1 O2 X2 Y2 a0 a1 Link Coordinate Frames – Assign Yi ( Z i X i ) / Z i X i to complete the righthanded coordinate system • The hand coordinate frame is specified by the geometry On of the end-effector Normally, establish Zn along the direction of Zn-1 axis and pointing away from the robot; establish Xn such that it is normal to both Zn-1 and Zn axes Assign Yn to complete the right-handed coordinate Z3 system Z Z0 Y0 Joint Joint Y1 Z O3 X3 d2 O0 X0 Joint O1 X1 O2 X2 Y2 a0 a1 Link and Joint Parameters • Joint angle i: the angle of rotation from the Xi-1 axis to the Xi axis about the Zi-1 axis It is the joint variable if joint i is rotary • Joint distance d i: the distance from the origin of the (i-1) coordinate system to the intersection of the Zi-1 axis and the Xi axis along the Zi-1 axis It is the joint variable if joint i is prismatic • Link length : the distance from the intersection of the Zi-1 axis and the Xi axis to the origin of the ith coordinate system along the Xi axis i • Link twist angle : the angle of rotation from the Zi-1 axis to the Zi axis about the Xi axis Example I Z1 Z0 Y0 Joint Z3 Joint Y1 Z O3 d2 O0 X0 Joint O1 X1 O2 X2 Y2 a0 a1 i : rotation angle from Zi-1 to Zi about Xi : distance from intersection of Zi-1 & Xi di X3 D-H Link Parameter Table Joint i i di i a0 0 -90 a1 1 0 d2 2 to origin of i coordinate along Xi : distance from origin of (i-1) coordinate to intersection of Zi-1 & Xi along Zi-1 i : rotation angle from X to X about Z i-1 i i-1 Example II: PUMA 260 1 O1 Z1 2 3 Number the joints Establish base frame Establish joint axis Zi Locate origin, (intersect of Zi & Zi-1) OR (intersect of common normal & Zi ) X1 Z2 Z6 Y1 O2 Y3 Z Z4 O3 X Y6 Y2 5 O Z0 Y Y5 X3 t O5 X5 X6 O4 Z X4 PUMA 260 4 Establish Xi,Yi X i ( Z i Z i ) / Z i Z i Yi ( Z i X i ) / Z i X i Link Parameters 1 O1 Z1 J 2 3 X1 Z2 Z6 Y1 O Y3 Z Z4 O3 X Y6 Y2 5 O Z0 Y Y5 X3 O5 X5 X6 O4 Z X4 Joint distance 4 i 1 2 3 4 5 6 i d i -90 13 90 -90 -l 90 0 0 t i : angle from X to X i-1 i Zi-1 about i : angle from Zi-1 to Zi about Xi : distance from intersection of Zi-1 & Xi to Oi along Xi d i : distance from Oi-1 to intersection of Zi-1 & Xi along Zi-1 Transformation between i-1 and i • Four successive elementary transformations are required to relate the i-th coordinate frame to the (i1)-th coordinate frame: – Rotate about the Z i-1 axis an angle of i to align the X i-1 axis with the X i axis – Translate along the Z i-1 axis a distance of di, to bring Xi-1 and Xi axes into coincidence – Translate along the Xi axis a distance of to bring the two origins Oi-1 and Oi as well as the X axis into coincidence – Rotate about the Xi axis an angle of αi ( in the righthanded sense), to bring the two coordinates into coincidence Transformation between i-1 and i • D-H transformation matrix for adjacent coordinate frames, i and i-1 – The position and orientation of the i-th frame coordinate can be expressed in the (i-1)th frame by the following homogeneous transformation matrix: Source coordinate Ti i T ( zi , d i ) R ( zi , i )T ( xi , ) R ( xi , i ) Reference Coordinate C i S i C i S i C i C i S i S i S i S i C i C i 0 C i S i di Kinematic Equations • Forward Kinematics q (q1 , q2 , qn ) – Given joint variables – End-effector position & orientation Y ( x, y, z , , , ) n • Homogeneous matrix T0 – specifies the location of the ith coordinate frame w.r.t the base coordinate system – chain product of successive coordinate transformation i matrices of Ti n n n T T T T Orientation matrix R0n Position vector P0n n s a P0n 0 0 Kinematics Equations • Other representations – reference from, tool frame Treftool Bref T0n H ntool – Yaw-Pitch-Roll representation for orientation T Rz , R y , Rx , C S S C 0 0 0 0 1 C S 0 S 0 C 0 0 0 0 1 1 C S 0 0 S C 0 0 0 1 Solving forward kinematics • Forward kinematics px 1 p y 2 pz • Transformation Matrix nx n T y nz sx sy sz ax ay az px p y pz Solving forward kinematics • Yaw-Pitch-Roll representation for orientation CC SC T0n S nx n T0n y nz 0 Problem? CSS SC SSS CC CS sx ax sy ay sz az px p y pz 1 CSC SS SSC CS CC sin ( nz ) az cos ( ) cos nx 1 cos ( ) cos Solution is inconsistent and illconditioned!! 1 px p y pz 1 atan2(y,x) y x 0 90 for x and y for x and y 90 180 a tan 2( y, x) 180 90 for x and y 90 0 for x and y