Three Dimensional Manipulators and Denavit– Hartenberg Parameters Prof. Matthew Spenko MMAE 540: Introduction to Robotics Illinois Institute of Technology Review from Undergraduate Dynamics Class – Rotation Matrices • Describe a point defined in one basis (or reference frame) in some other basis. • Right-Handed Unitary Orthogonal Bases • To find out how two bases are related to each other, we use rotation matrices. RHOUBS These are basis vectors, typically, ax, ay, az • Given two RHOUBS, a and b • aRb is a 3x3 rotation matrix: The ith and jth element of rotation matrix between the a and b frames The angle between the ai and bj unit vectors The dot product between the orthogonal unit vectors • where i,j = x, y, z • A list of the cosines of the angles between all combinations of the base’s vectors. • Method to encapsulate the difference between to RHOUBS. RHOUBS properties • It is common to write out a rotation matrix in a rotation table: • Use the rotation matrix to express a vector currently in the a-basis in the b-basis (or vice versa). • Example: • More generally: RHOUBs Properties • Rotation Matrices have some special properties. • • • • • RT=R-1 each column and row are mutually orthogonal. each column and row is a unit vector. det R = 1 Another useful property that we will use to our advantage is that: • But, they do not commute! The order is important Constructing a Rotation Matrix • If you every get confused, just remember how it is defined with dot products and you will always be right. A Few Other Comments • Using the convention I have here: • Using the convention in the book: Rotation Matrices Summary • Comprised of cosine between unit basis vectors • Used (in this class) to write vectors expressed in one basis into another basis • Chain (multiply) rotation matrices together to move through more than one vector basis Rotation Matrix Mini-Quiz • Given two rotation matrices, A and B, does AB=BA? • What are the implications of this? • Compute the rotation table between the n-basis and b-basis shown below, where theta is the angle between bx and nx • Compare your answers to your neighbor’s Rotation Matrices and Reference Frames • Reference frames have no origin • Rotation matrices can always be used to translate vectors between two bases. • We want to develop the forward kinematics of a manipulator • Rotation matrices alone cannot do this because they do not account for translations Homogeneous Transformation Matrices • Homogeneous Transformation Matrices Rotation Matrix Translation Vector Scale Factor Example: Homogeneous Transformation Matrix • A set of basic homogeneous transformations is given by Example: Constructing a Homogeneous Transformation Matrix • A HTM can be constructed the same way as any rotation matrix. • rotate a about x axis, then… • translate a distance c along z axis, then… • rotate angle b along y axis Homogeneous Transformation Matrices Summary • Homogeneous transformation matrices are comprised of: • A rotation matrix • A translation matrix • A scaling factor (always 1 for our purposes) • Homogeneous transformation matrices: • Can be multiplied together (in the proper order) to create a map that relates a vector described in one basis to another basis. Homogeneous Transformation Matrices MiniQuiz • Describe the components of a HTM • Compare your answer to your neighbor’s Three Dimensional Manipulators and Denavit–Hartenberg Parameters Kinematic Chains Kinematic Chains • • • • • A robot manipulator with n joints has n+1 links Joints are numbered 1 to n Links are numbered from 0 to n Therefore joint i connects link i-1 to link I (when joint i actuates, link i moves!) A coordinate frame is attached rigidly to each link • oixiyizi is the coordinate frame of link i Rotary Joint 2 Prismatic Joint 3 Rotary Joint 1 SCARA Manipulator Example Three Dimensional Manipulators and Denavit–Hartenberg Parameters The Denavit-Hartenberg Parameters Why Do We Need The DH Parameters? • 6 DOF = 6 Homogeneous Transformation Matrices needed • 3 displacements • 3 rotations • Very cumbersome • Denavit Hartenberg reduces this to 4 • 2 translations • 2 rotations A Denavit-Hartenberg HTM Always these HTMs and always in this order • ai is the “link length” • ai is the “link twist” • di is the “link offset” • qi is the “joint angle” How is this possible? • Two assumptions • x1 is orthogonal to z0 • x1 is intersects to z0 Assigning Coordinate Frames • More than one way to assign link frames such that the 2 DH conditions are met • End results, assuming the coordinate frames for the inertial and end effector coordinate frames are the same, will always be the same • Establish a base frame • Assign zi to be the axis of actuation for joint i+1 • Example: make sure z0 is pointing in the direction of actuation of the first actuator • Axis of rotation for revolute joint • Axis of translation for prismatic joint • Set axis xi so that it is perpendicular and intersects zi-1 • Work from the base frame toward the end effector Rule 1 Example • Set up the 0 frame • z0 is the axis of actuation of joint 1 • Remember, the z0 axis points in the direction of the joint that connects the 0 frame with the 1 frame • Frame 0 is fixed to link 0 (the base frame) Image from QUT robotics course Suggested convention • When the rules allow (i.e. just a suggestion) • zn is the approach direction of gripper • yn is the slide direction of gripper • xn is by right hand rule Image from QUT robotics course Special Cases • zi-1 and zi are not coplanar • There exists a unique shortest line between zi-1 and zi that is perpendicular to both • This line segment is assigned to xi • zi-1 and zi are parallel • commonly choose xi to be directed from oi toward zi-1 or opposite of it • zi-1 and zi intersect • i should match i-1 when theta = 0 Conventions • ai is the “link length” from zi-1 to zi in the xi direction About i frame! • ai is the “link twist,” the angle from zi-1 to zi about the xi axis. • di is the “link offset,” the distance from xi-1 to xi along zi-1 About i-1 • qi is the “joint angle,” the angle from xi-1 to xi about the zi-1 axis. frame! Example 1 • ai is the “link length” from zi-1 to zi in the xi direction • ai is the “link twist,” the angle from zi-1 to zi about the xi axis. • di is the “link offset,” the distance from xi-1 to xi along zi-1 • qi is the “joint angle,” the angle from xi-1 to xi about the zi-1 axis. Example 1 Continued • Based on the DH parameters • Write the DH Matrices Example 1 Continued • Based on the DH Matrices: • Write the Homogeneous Transformation Matrix: Orientation of the end effector frame relative to the base frame The x and y components of the end effector in the base frame Denavit-Hartenberg Mini-Quiz • Why do we need to use the DH method? • What homogeneous transformation matrices comprise the DH matrix? • Does the order of the HTMs matter? Why or why not? • What two assumptions are critical for the DH method to work? • Compare your answer’s with your neighbor’s Example 2 x2 • Assign z axes in direction of next joint axis of rotation, starting at the base frame • Assign x axis to be perpendicular and intersecting with previous z axis y3 • z1 and z0 intersect • Therefore, x1 must be orthogonal to both • z2 and z1 intersect… y2 z1 x1, z2 x3 y1 z3 z0 • Assign y to follow right hand rule x0 y0 Example 2 Continued x2 • ai is the “link length” from zi-1 to zi in the xi direction • ai is the “link twist,” the angle from zi-1 to zi about the xi axis. • di is the “link offset,” the distance from xi-1 to xi along zi-1 • qi is the “joint angle,” the angle from xi-1 to xi about the zi-1 axis. y2 z1 X1, z2 x3 y1 y3 z3 z0 x0 y0 DH Matrices And then do a bunch of matrix multiplication… Example 3 it makes it easy if we keep x2 in the same direction as x0 and x0 • ai is the distance from zi-1 to zi in the xi direction • ai is the angle from zi-1 to zi about the xi axis. • di is the the distance from xi-1 to xi along zi-1 • qi is the angle from xi-1 to xi about the zi-1 axis z0 points in the direction of actuation of JOINT 1 It’s simple to keep the end effector the same as the previous end effector location z1 and z0 intersect, Therefore we should make x1 and y1 match x0 and y0 Example 4 • ai is the distance from zi1 to zi in the xi direction • ai is the angle from zi-1 to zi about the xi axis. • di is the the distance from xi-1 to xi along zi-1 • qi is the angle from xi-1 to xi about the zi-1 axis Example 5 Patent application 20110137464