Kinematics – Frame Assignment using Denavit-Hartenberg Convention
Three Dimensional Manipulators and Denavit Hartenberg...
Transcript of Three Dimensional Manipulators and Denavit Hartenberg...
Three Dimensional Manipulators and Denavit–
Hartenberg ParametersProf. 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
• Given two RHOUBS, a and b• aRb is a 3x3 rotation matrix:
• 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.
The ith and jth element of rotationmatrix between the a and b frames
The dot product between the orthogonal unit vectors
The angle between theai and bj unit vectors
These are basis vectors, typically, ax, ay, az
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.
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 MatrixTranslation Vector
Scale Factor
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 Mini-Quiz
• Describe the components of a HTM
• Compare your answer to your neighbor’s
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
SCARA Manipulator Example
Rotary Joint 1
Rotary Joint 2
Prismatic Joint 3
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
• ai is the “link length”
• ai is the “link twist”
• di is the “link offset”
• qi is the “joint angle”
Always these HTMs and always in this order
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
• 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.
About iframe!
About i-1frame!
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 xialong 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 Matrices:
• Write the Homogeneous Transformation Matrix:
The x and y components of theend effector in the base frame
Orientation of the end effector framerelative to 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
• 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• z1 and z0 intersect
• Therefore, x1 must be orthogonal to both
• z2 and z1 intersect…
• Assign y to follow right hand rule
z0
z1z2
z3
x0
x1,
x2
x3
y0
y1
y2
y3
Example 2 Continued
• 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.
z0
z1z2
z3
x0
X1,
x2
x3
y0
y1
y2
y3
Example 3
z0 points in the directionof actuation of JOINT 1
end effector location
z1 and z0 intersect,Therefore we shouldmake x1 and y1
match x0 and y0
It’s simple to keep the endeffector the same as the previous
it makes it easy if wekeep x2 in the samedirection as x0 and x0
• ai is the distance from zi-1 to ziin the xi direction
• ai is the angle from zi-1 to ziabout the xi axis.
• di is the the distance from xi-1to xi along zi-1
• qi is the angle from xi-1 to xiabout the zi-1 axis
Example 4
• ai is the distance from zi-
1 to zi in the xi direction
• ai is the angle from zi-1to zi about the xi axis.
• di is the the distance from xi-1 to xi along zi-1
• qi is the angle from xi-1to xi about the zi-1 axis