30
ME 537 - Robotics ME 537 - Robotics 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 Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

Embed Size (px)

Citation preview

Page 1: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Homogeneous Transformations

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.

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.

Page 2: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 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.

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.

Page 3: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 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.

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.

TTBB

CC

TTBB

CC

Page 4: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

1111dd33dd33dd22dd22dd11dd11

ppzzppzzcczzcczzbbzzbbzzaazzaazz

ppyyppyyccyyccyybbyybbyyaayyaayy

ppxxppxxccxxccxxbbxxbbxxaaxxaaxx

H = H =

Homogeneous TransformationHomogeneous Transformation

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

Page 5: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

1111000000000000

ppzzppzzcczzcczzbbzzbbzzaazzaazz

ppyyppyyccyyccyybbyybbyyaayyaayy

ppxxppxxccxxccxxbbxxbbxxaaxxaaxx

H = H =

Interpreting the HT as a frameInterpreting 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, 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 pa b c p

R

Page 6: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

What do the terms represent?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.

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.

aazzaazz

aayyaayy

aaxxaaxx

a = a =

p

Base frameBase frame

FrameFrame

Page 7: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Interpreting the HT used to locate a vector in the base frameInterpreting 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 !

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

Page 8: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

uuzzuuzz

uuyyuuyy

uuxxuuxx

u = u =

11

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

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

Transforming vectorsTransforming 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.

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.

Page 9: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

uuzzuuzz

uuyyuuyy

uuxxuuxx

11

Interpreting the HTInterpreting the HT

RR pp

110T0T= R u + p= R u + p

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

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

v = v =

Page 10: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Pure rotationPure rotation

Special cases:Special cases:

1111000000000000

0000cczzcczzbbzzbbzzaazzaazz

0000ccyyccyybbyybbyyaayyaayy

0000ccxxccxxbbxxbbxxaaxxaaxx

H = H =

Page 11: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Special cases:Special cases:

Pure translationPure translation

1111000000000000

ppzzppzz111100000000

ppyyppyy000011110000

ppxxppxx000000001111

H = H =

Page 12: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Pure rotation about xPure rotation about x

Rotational formsRotational forms

R(x, ) = R(x, ) =

xx

coscoscoscossinsinsinsin0000

-sin-sin-sin-sincoscoscoscos0000

00 00 00 001111

Page 13: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Pure rotation about yPure rotation about y

Rotational formsRotational forms

R(y, ) = R(y, ) =

coscos coscos 00 00-sin-sin-sin-sin 00 00 11 11 00 00

sinsin sinsin 00 00coscoscoscos

Pure rotation about zPure rotation about z

R(z, ) = R(z, ) =

11 11 00 00 00 00

00 00coscoscoscossinsinsinsin 00 00-sin-sin-sin-sincoscoscoscos

Page 14: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 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].

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

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

Page 15: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

R(Y,˚) = R(Y,˚) =

00 00 00 00 -1-1 -1-1

00 00 11 11 00 00

11 11 00 00 00 00

R(Z,˚) = R(Z,˚) =

11 11 00 00 00 00

00 00 00 00 11 11

00 00 -1-1 -1-1 00 00

Page 16: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

w = w =

0

1

0

100

001

010

001

010

100

0

1

0

100

001

010

001

010

100

1

0

0

1

0

0

Graphical interpretationGraphical interpretation

Z, z', y"Z, z', y"

Y, x', x"Y, x', x"

X,z"X,z"

9090°°9090°°

y'y'

(0,1,0)(0,1,0)

(0,0,1)(0,0,1)

Page 17: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

w = w =

1

0

0

1

0

0

Change order?Change order?

001

010

100

100

001

010

0

1

0

Not commutative!Not commutative!

Page 18: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Order of p and R: first R, then pOrder 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

pp

RR

Page 19: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Order of p and R: first p, then ROrder 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?Note the difference in the final matrix form. Can you explain the difference?

pp

RR

Page 20: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Understanding HT multiplication orderUnderstanding 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.

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.

Page 21: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Example -Given frame

and transformation

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

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

Page 22: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Results : HCResults : 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

CCHH

Page 23: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Results : CHResults : 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

10x

y

z

x

Y

C20

10

CC HH

Page 24: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Inverse Transformations 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

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

Page 25: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Inverse Transformations 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:

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 -pTa

bx by bz -pTb

cx cy cz -pTc0 0 0 1

RT -RTp0T 1

H-1 =H-1 = =

Page 26: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

Operational rules for square matrices of full rank :

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

Page 27: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

HT summaryHT 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.

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.

Page 28: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

HT summaryHT 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.

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.

Page 29: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

HT summaryHT summary

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

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

Page 30: ME 537 - Robotics Homogeneous Transformations Purpose: The purpose of this chapter is to introduce you to the Homogeneous Transformation. This simple 4

ME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - RoboticsME 537 - Robotics

HT summaryHT summary

A Bcan 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.

A Bcan 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.