robotics an introduction - educating global leadersered/me537/powerpoint/ch1.pdf · me 537 -...

30
ME 537 - Robotics ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4 x 4 transformation is used in the geometry engines of CAD systems and in the kinematics model in robot controllers. It is very useful for examining rigid-body position and orientation (pose) of a sequence of robotic links and joint frames.

Upload: nguyenthien

Post on 09-Mar-2018

223 views

Category:

Documents


2 download

TRANSCRIPT

ME 537 - Robotics ME 537 - Robotics

Homogeneous Transformations

Purpose:

The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4 x 4 transformation is used in the geometry engines of CAD systems and in the kinematics model in robot controllers. It is very useful for examining rigid-body position and orientation (pose) of a sequence of robotic links and joint frames.

ME 537 - Robotics ME 537 - Robotics

In particular, you will 1. Examine the structure of the HT (homogeneous transform).

2. See how orientation and position are represented within one matrix.

3. Apply the HT to pose (position and orient) a frame (xyz set of axes) relative to another reference frame.

4. Examine the HT for simple rotations about an axis.

5. See the effect of multiplying a series of HT’s.

6. Interpret the order of a product of HT’s relative to base and body-fixed frames.

7. See how the HT is used in robotics.

ME 537 - Robotics ME 537 - Robotics

Script Notation: Pre super and sub-scripts are often used to denote frames of reference

= transformation of frame C relative to frame B

Cp = vector located in frame C

Tsai uses a pre and post script notation

= transformation of frame C relative to frame B

Cp = vector located in frame C Note that we may not use the scripting approach, but instead graphically interpret the frame representations.

T B C

T B C

ME 537 - Robotics ME 537 - Robotics

1 d3 d2 d1

pz cz bz az

py cy by ay

px cx bx ax

H =

Homogeneous Transformation

H can represent translation, rotation, stretching or shrinking (scaling), and perspective transformations

ME 537 - Robotics ME 537 - Robotics

1 0 0 0

pz cz bz az

py cy by ay

px cx bx ax

H =

Interpreting the HT as a frame

a, b, and c form an orientation sub-matrix denoted by R (3 x 3), while p (3 x 1) is the frame’s origin offset.

a b c p

R

ME 537 - Robotics ME 537 - Robotics

What do the terms represent? a is a vector ( set of direction cosines ax, ay, and az ) that orients the frame’s x axis relative to the base X, Y, and Z axes, respectively. Similar interpretations are made for the frame’s y and z axes through the direction cosine sets represented by vectors b and c.

p is a vector of 3 components representing the frame’s origin relative to the reference axes.

az

ay

ax

a =

p

Base frame

Frame

ME 537 - Robotics ME 537 - Robotics

Interpreting the HT used to locate a vector in the base frame

Given a fixed vector u, its transformation v is represented by

v = H u Note that this form doesn’t work for free vectors !

x

y

z u

v

H

Frame Interpretation

ME 537 - Robotics ME 537 - Robotics

uz

uy

ux

u =

1

The position vector u having components ux, uy, uz must be expanded to a 4 x 1 vector by adding a 1.

Transforming vectors

Note: To transform an orientation vector, only use the orientation sub-matrix R, and drop the 1 from the vector so that you are multiplying a (3 x 3) matrix times a (3 x 1) vector.

ME 537 - Robotics ME 537 - Robotics

uz

uy

ux

1

Interpreting the HT

R p

1 0T = R u + p

The 1 adds in the frame origin, while the R resolves the vector u into the base frame

v =

ME 537 - Robotics ME 537 - Robotics

Pure rotation

Special cases:

1 0 0 0

0 cz bz az

0 cy by ay

0 cx bx ax

H =

ME 537 - Robotics ME 537 - Robotics

Special cases:

Pure translation 1 0 0 0

pz 1 0 0

py 0 1 0

px 0 0 1

H =

ME 537 - Robotics ME 537 - Robotics

Pure rotation about x

Rotational forms

R(x, θ) =

x

cosθ sinθ 0

-sinθ cosθ 0

0 0 1

θ

θ

ME 537 - Robotics ME 537 - Robotics

Pure rotation about y

Rotational forms

R(y, θ) = cosθ 0 -sinθ 0 1 0

sinθ 0 cosθ

Pure rotation about z

R(z, θ) =

1 0 0

0 cosθ sinθ 0 -sinθ cosθ

ME 537 - Robotics ME 537 - Robotics

Example - Rotate u by 90o about +Z and 90o about +Y, where XYZ are the fixed base reference axes. What are the final coordinates of the vector u after these two rotations in the base XYZ axes? If the rotation order changed, will the final coordinates be the same? Let uT = [0 1 0].

Soln: v = R (Z,90˚) u "rotate u to v" w = R (Y,90˚) v "rotate v to w" Thus, w = R (Y,90˚) R (Z,90˚) u

ME 537 - Robotics ME 537 - Robotics

R(Y,90˚) = 0 0 -1 0 1 0

1 0 0

R(Z,90˚) = 1 0 0 0 0 1

0 -1 0

ME 537 - Robotics ME 537 - Robotics

w =

− 010

100001010

001010100

=

100

Graphical interpretation

Z, z', y"

Y, x', x"

X,z"

90 ° 90 °

y'

(0,1,0)

(0,0,1)

ME 537 - Robotics ME 537 - Robotics

w =

=

100

Change order?

− 0 0 1 0 1 0 1 0 0 −

1 0 0 0 0 1 0 1 0

0 1 0

Not commutative!

ME 537 - Robotics ME 537 - Robotics

Order of p and R: first R, then p

w = H(p) H(R) u = I p0T 1

R 00T 1 u

w = R p0T 1

u = H (R, p ) u

p

R

ME 537 - Robotics ME 537 - Robotics

Order of p and R: first p, then R

w = H(R) H(p) u = R 00T 1

I p0T 1

u =R Rp0T 1

u

Note the difference in the final matrix form. Can you explain the difference?

p

R

ME 537 - Robotics ME 537 - Robotics

Understanding HT multiplication order

If we postmultiply a transformation (A B) representing a frame (relative to base axes) by a second transformation (relative to the frame of the first transformation), we make the transformation with respect to the frame axes of the first transformation. Premultiplying the frame transformation by the second transformation (B A) causes the transformation to be made with respect to the base reference frame.

ME 537 - Robotics ME 537 - Robotics

Example -Given frame

and transformation

locate frame X = H C and frame Y = C H . Note the differences.

C =

1 0 0 200 0 -1 100 1 0 00 0 0 1

H = 0 -1 0 101 0 0 00 0 1 00 0 0 1

ME 537 - Robotics ME 537 - Robotics

Results : HC

X = HC =0 -1 0 101 0 0 00 0 1 00 0 0 1

1 0 0 200 0 -1 100 1 0 00 0 0 1

=0 0 1 01 0 0 200 1 0 00 0 0 1

Z

X

Y

y"y'

x'

x"

z'

z"

x

z

y

X

20

10

C

10

C H

ME 537 - Robotics ME 537 - Robotics

Results : CH

Y = 1 0 0 200 0 -1 100 1 0 00 0 0 1

0 -1 0 101 0 0 00 0 1 00 0 0 1

= 0 -1 0 300 0 -1 101 0 0 00 0 0 1

Z

Y

X

y

z

10xy

z

x

Y

C 2010

C H

ME 537 - Robotics ME 537 - Robotics

Inverse Transformations

Given u and the rotational transformation R, the coordinates of u after being rotated by R are defined by v = Ru. The inverse question is given v, what u when rotated by R will give v? Answer: u = R-1 v = RT v

ME 537 - Robotics ME 537 - Robotics

Inverse Transformations

Similarly for any displacement matrix H (R, p), we can pose a similar question to get u = H-1 v. What is the inverse of a displacement transformation? Without proof:

ax ay az -pT⋅ a

bx by bz -pT⋅ b

cx cy cz -pT⋅ c0 0 0 1

RT -RTp0T 1

H-1 = =

ME 537 - Robotics ME 537 - Robotics

Operational rules for square matrices of full rank :

(A B C )T = CT BT AT

(A B C )-1 = C-1 B -1 A-1

ME 537 - Robotics ME 537 - Robotics

HT summary

Homogeneous transformation consists of three components: • rotational, orthogonal 3x3 sub-matrix which is comprised

of columns of direction cosines used to orient the axes of one frame relative to another.

• column vector in 4th column represents the origin of second

frame relative to first frame, resolved in the first frame.

• 0's in 4th row except for 1 in 4,4 position.

ME 537 - Robotics ME 537 - Robotics

HT summary

The homogeneous transformation effectively merges a frame orientation matrix and frame translation vector into one matrix. The order of the operation should be viewed as rotation first, then translation.

ME 537 - Robotics ME 537 - Robotics

HT summary

The homogeneous transformation can be viewed as a position/orientation relationship of one frame relative to another frame called the reference frame.

ME 537 - Robotics ME 537 - Robotics

HT summary

A B can be interpreted as frame A described relative to the first or base frame while frame B is described relative to frame A (usual way). We can also interpret B in the base frame transformed by A in the base frame. Both interpretations give same result.