+ All Categories
Home > Documents > MEAM 520 - University of Pennsylvania

MEAM 520 - University of Pennsylvania

Date post: 01-Nov-2021
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
44
MEAM 520 Homogenous Transformations Katherine J. Kuchenbecker, Ph.D. General Robotics, Automation, Sensing, and Perception Lab (GRASP) MEAM Department, SEAS, University of Pennsylvania Lecture 3: September 13, 2012
Transcript
Page 1: MEAM 520 - University of Pennsylvania

MEAM 520Homogenous Transformations

Katherine J. Kuchenbecker, Ph.D.General Robotics, Automation, Sensing, and Perception Lab (GRASP)

MEAM Department, SEAS, University of Pennsylvania

Lecture 3: September 13, 2012

Page 3: MEAM 520 - University of Pennsylvania
Page 4: MEAM 520 - University of Pennsylvania

������������

� �� ��������

������ �

Page 5: MEAM 520 - University of Pennsylvania

Office Hours

• Monday 1-2 pm :: Denise Wong, GRASP Conference Room

• Tuesday 1:30-2:30 pm :: Katherine Kuchenbecker, Towne 224

• Tuesday 2:30-3:30 pm :: Denise Wong, GRASP Conference Room

• Wednesday 5-6 pm :: Philip Dames, GRASP Conference Room

• Thursday 10-11 am :: Philip Dames, GRASP Conference Room

• Thursday 3-4 pm :: Katherine Kuchenbecker, Towne 224

Page 7: MEAM 520 - University of Pennsylvania

RotationMatrices

Slides created by Jonathan Fiene

Page 8: MEAM 520 - University of Pennsylvania

Three-Dimensional Rotation Matrix

x0

y0

y1x1

z0

z1

R0

1 =

x1 · x0 y1 · x0 z1 · x0

x1 · y0 y1 · y0 z1 · y0

x1 · z0 y1 · z0 z1 · z0

SO(3)Special Orthogonal group of order 3

Page 9: MEAM 520 - University of Pennsylvania

Rotation Matrices

Rotation matrices serve three purposes (p. 47 in SHV):

1. Coordinate transformation relating the coordinates of a point p in two different frames

2. Orientation of a transformed coordinate frame with respect to a fixed frame

3. Operator taking a vector and rotating it to yield a new vector in the same coordinate frame

x0

y0

y1x1

z0

z1

x0

y0

y1x1

z0

z1

p

x0

y0

z0

p0

b

p0

a

θ = 90◦

Page 10: MEAM 520 - University of Pennsylvania

CompositeRotations

Page 11: MEAM 520 - University of Pennsylvania

Composition of Rotations with Respect to the Current Frame

Page 12: MEAM 520 - University of Pennsylvania

Composition of Rotations with Respect to the Current Frame

R0

2 = R0

1 R1

2

the result of a successive rotation about the current (intermediate) frame can be found by post-multiplying by the corresponding rotation matrix

Page 13: MEAM 520 - University of Pennsylvania

Composition of Rotations with Respect to a Fixed Frame

Page 14: MEAM 520 - University of Pennsylvania

Composition of Rotations with Respect to a Fixed Frame

the result of a successive rotation about a fixed frame can be found by pre-multiplying by the corresponding rotation matrix

R0

2 = R R0

1

RNote that is a rotation about the original frame

Page 15: MEAM 520 - University of Pennsylvania

You should read the book and think about this.

Page 16: MEAM 520 - University of Pennsylvania

ParameterizingRotations

Page 17: MEAM 520 - University of Pennsylvania

Parameterization of Rotations

Euler Angles Roll, Pitch, Yaw Angles Axis/Angle Representation

in three dimensions, no more than 3 values are needed to specify an arbitrary rotation

R0

1 =

x1 · x0 y1 · x0 z1 · x0

x1 · y0 y1 · y0 z1 · y0

x1 · z0 y1 · z0 z1 · z0

which means that the 9-element rotation matrix has at least 6 redundancies

numerous methods have been developed to represent rotation/orientation with less redundancy

Conventions vary, so always check definitions!

Page 18: MEAM 520 - University of Pennsylvania

Euler Angles

x0

y0

z0

z3

y3

x3

Define a set of three intermediate angles, φ, θ, ψ , to go from 0 → 3

Page 19: MEAM 520 - University of Pennsylvania

Euler Angles

x0

y0

z0

y1

x1

z1

aboutφ z0step 1: rotate by

φ

Page 20: MEAM 520 - University of Pennsylvania

θ

Euler Angles

y1

x1

z1

aboutstep 2: rotate by θ y1

x2

y2

z2

Page 21: MEAM 520 - University of Pennsylvania

Euler Angles

x2

y2

z2

aboutstep 3: rotate by z2ψ

ψ

x3

z3

y3

Page 22: MEAM 520 - University of Pennsylvania

Euler Angles to Rotation Matrices

R = Rz,φ Ry,θ Rz,ψ

=

cφcθcψ − sφsψ −cφcθsψ − sφcψ cφsθ

sφcθcψ + cφsψ −sφcθsψ + cφcψ sφsθ

−sθcψ sθsψ cθ

(post-multiply using the basic rotation matrices)

=

cφ −sφ 0

sφ cφ 0

0 0 1

cθ 0 sθ

0 1 0

−sθ 0 cθ

cψ −sψ 0

sψ cψ 0

0 0 1

Page 23: MEAM 520 - University of Pennsylvania

Roll, Pitch, Yaw Angles

defined as a set of three angles about a fixed reference

x0

y0

z0

φroll

θpitch

ψyaw

Page 24: MEAM 520 - University of Pennsylvania

Roll, Pitch, Yaw Angles to Rotation Matrices

(pre-multiply using the basic rotation matrices)

R = Rz,φ Ry,θ Rx,ψ

=

cφ −sφ 0

sφ cφ 0

0 0 1

cθ 0 sθ

0 1 0

−sθ 0 cθ

1 0 0

0 cψ −sψ

0 sψ cψ

=

cφcθ cφsθsψ − sφcψ sφsψ + cφsθcψ

sφcθ sφsθsψ + cφcψ sφsθcψ − cφsψ

−sθ cθsψ cθcψ

Page 25: MEAM 520 - University of Pennsylvania

Axis/Angle Representation

rotation by an angle about an axis in space

x0

y0

z0

θ

k

k =

kx

ky

kz

Page 26: MEAM 520 - University of Pennsylvania

Axis/Angle Representation

any rotation matrix can be represented this way!

x0

y0

z0

θ

k

Page 27: MEAM 520 - University of Pennsylvania

Talk to the person next to you.Explain one of the three parameterizationapproaches to your partner, then switch.

Talk about the third one together.

z0

x0

y0

φ

θ

ψ

x0

y0

z0

θ

k

x2

y2

z2

ψ

x3

z3

y3

θ

y1

x1

z1

x2

y2

z2

x0

y0

z0

y1

x1

z1

φ

Page 28: MEAM 520 - University of Pennsylvania

HomogeneousTransformations

Page 29: MEAM 520 - University of Pennsylvania

Rigid Motion

a rigid motion couples pure translation with pure rotation

x1

y1

z1

o1

x0

y0

z0

o0

d0

1

rigid motions can be expressed as

v0p = R0

1v1p + d0

1

p

v1p

Page 30: MEAM 520 - University of Pennsylvania

Homogeneous Transforms

H =

[

R d

0 1

]

a homogeneous transformation is a matrix representation of rigid motion, defined as

where is the 3x3 rotation matrix, and is the 3x1 translation vectorR d

H =

nx sx ax dx

ny sy ay dy

nz sz az dz

0 0 0 1

Page 31: MEAM 520 - University of Pennsylvania

Homogeneous Transformations

the homogeneous representation of a vector is formed by concatenating the original vector with a unit scalar

P =

[

p

1

]

P =

px

py

pz

1

where is the 3x1 vectorp

Page 32: MEAM 520 - University of Pennsylvania

Homogeneous Transformations

rigid body transformations are accomplished by pre-multiplying by the homogenous transform

P0

= H0

1 P1

{example with quadrotor model}

Page 33: MEAM 520 - University of Pennsylvania

x0

y0

z0

o0

P0

= H0

1 P1

Rz,θ =

cos θ − sin θ 0

sin θ cos θ 0

0 0 1

Page 34: MEAM 520 - University of Pennsylvania

x0

y0

z0

o0

Page 35: MEAM 520 - University of Pennsylvania

Homogeneous Transformations

composition of multiple transforms is the same as for rotation matrices:

H0

2 = H0

1 H1

2

post-multiply when successive rotations are relative to intermediate frames

pre-multiply when successive rotations are relative to the first fixed frame

H0

2 = H H0

1

Page 36: MEAM 520 - University of Pennsylvania

Homogeneous Transformations

Composition (intermediate frame)

H0

2 = H0

1 H1

2 =

[

R01 d0

1

0 1

] [

R12 d1

2

0 1

]

=

[

R02 R0

1d12 + d0

1

0 1

]

Inverse Transform

H1

0 =

[

R10 d1

0

0 1

]

=

[

(R01)

!−(R0

1)!d0

1

0 1

]

Page 37: MEAM 520 - University of Pennsylvania

Homework 1

Homework 1:

Rigid Motions and Homogeneous Transformations

MEAM 520, University of PennsylvaniaKatherine J. Kuchenbecker, Ph.D.

September 11, 2012

This assignment is due on Tuesday, September 18, by 5:00 p.m. sharp. You should aim to turn thepaper part in during class that day. If you don’t finish until later in the day, you can turn it in to ProfessorKuchenbecker’s office, Towne 224. The code must be emailed according to the instructions at the end ofthis document. Late submissions of either or both parts will be accepted until 5:00 p.m. on Wednesday, butthey will be penalized by 25%. After that deadline, no further assignments may be submitted.

You may talk with other students about this assignment, ask the teaching team questions, use a calculatorand other tools, and consult outside sources such as the Internet. To help you actually learn the material,what you write down should be your own work, not copied from a peer or a solution manual.

Book Problems (30 points)

The first set of problems is from the textbook, Robot Modeling and Control by Spong, Hutchinson, andVidyasagar (SHV). Please follow the extra clarifications and instructions when provided. Write in pencil,

show your work clearly, box your answers , and staple together all pages of your assignment.

1. SHV 2-10, page 66 – Sequence of Rotations (5 points)Please specify each element of each matrix in symbolic form and show the order in which the matricesshould be multiplied; as stated in the problem, you do not need to perform the matrix multiplication.

2. SHV 2-14, page 67 – Rotating a Coordinate Frame (5 points)Sketch the initial, intermediate, and final frames by reading the text in the problem. Then find R intwo ways: by inspection of your sketch and by calculation. Check your solutions against one another.

3. SHV 2-23, page 68 – Axis/Angle Representation (10 points)

4. SHV 2-39, page 70 – Homogeneous Transformations (10 points)Treat frame o2x2y2z2 as being located at the center of the cube’s bottom surface (as drawn in Figure2.14), not at the center of the cube (as stated in the problem).

MATLAB Programming (30 points)

This class will use MATLAB to analyze and simulate robotic systems and also to control real robots. WhileProfessor Kuchenbecker loves MATLAB, she recognizes that it can be difficult to use at the start. Even ifyou don’t like MATLAB now, please give it a chance, and come to office hours or contact the teaching teamif you feel lost or frustrated.

Your task for this question is to update a provided MATLAB script so that it animates the movement ofrectangular block that was moved in a specific way. The motion was captured on video, and the positionsand orientations of the block were recorded over time using a Ascension TrakStar magnetic motion trackingsystem that includes a sensor located inside the block.

1

Page 38: MEAM 520 - University of Pennsylvania
Page 39: MEAM 520 - University of Pennsylvania
Page 40: MEAM 520 - University of Pennsylvania

x0

z0y0

frame 0 - camera

x1

z1

y1

frame 1 - transmitter

y 2

z 2

x 2 frame 2 - sensor

the flying box

Page 41: MEAM 520 - University of Pennsylvania
Page 42: MEAM 520 - University of Pennsylvania

2010

0

100

10

5

0

5

10

15

20

25

z0 (i

n.)

Flying Box by PUT YOUR NAME HERE

x0 (in.)y0 (in.)

Page 43: MEAM 520 - University of Pennsylvania

Programming Homework Tips:

1. Write out your approachbefore sitting down to program.

2. Start early to give yourself time to figure things out.

Page 44: MEAM 520 - University of Pennsylvania

Questions ?


Recommended