Three Dimensional Manipulators and Denavit Hartenberg...

37
Three Dimensional Manipulators and Denavit– Hartenberg Parameters Prof. Matthew Spenko MMAE 540: Introduction to Robotics Illinois Institute of Technology

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.

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 MatrixTranslation 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 Mini-Quiz

• Describe the components of a HTM

• Compare your answer to your neighbor’s

Three Dimensional Manipulators and Denavit–HartenbergParametersKinematic 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

SCARA Manipulator Example

Rotary Joint 1

Rotary Joint 2

Prismatic Joint 3

Three Dimensional Manipulators and Denavit–HartenbergParametersThe 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

• 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

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

• 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 parameters

• Write the DH Matrices

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

DH Matrices

And then do a bunch of matrix multiplication…

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

Example 5

Patent application 20110137464