Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation...

28
MEAM 520 Rotation Matrices Katherine J. Kuchenbecker, Ph.D. General Robotics, Automation, Sensing, and Perception Lab (GRASP) MEAM Department, SEAS, University of Pennsylvania Lecture 2: September 11, 2012

Transcript of Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation...

Page 1: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

MEAM 520Rotation Matrices

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

MEAM Department, SEAS, University of Pennsylvania

Lecture 2: September 11, 2012

Page 2: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Last week I was at UC Berkeley in Californiafor a DARPA BOLT Activity E Evaluation on

“Perceptually Grounded Robotic Language Acquisition”

Page 3: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation
Page 4: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Center Tap Squeeze Static Hold Slow Slide Fast SlideCenter Tap Squeeze Static Hold Slow Slide Fast Slide

Page 5: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Course Logistics• Main points were explained during Lecture 1

• Those slides are posted on Lore

• Class website is hosted on Lore: join.lore.com/8GMYVB

• Barring technical glitches, lecture slides and audio will be recorded and posted to Blackboard.

• There was a glitch during Lecture 1. Hopefully today’s attempt is more successful.

• You should have the book, and ideally you should have read pages1-19.

• What questions do you have?

Page 6: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Email: [email protected]

Office: 224 Towne Building

Office Phone: (215) 573-2786

Office Hours: Tuesday 1:30 – 2:30 p.m. Thursday 1:30 – 2:30 p.m.

How do you contact me?

Page 7: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

CaveatThis is my first time teaching this class.

I sat through MEAM 520 in Spring 2012 and will largely be following the way Dr. Fiene taught the course.

I will do my best, but things may not be perfectly organized; we will all be learning and adapting together.

Page 8: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

We’re going to need some math.

Page 9: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Chapter 2 in SHVRigid Motions and Homogeneous Transformations

Appendix B in SHVLinear Algebra

This week

Page 10: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

vector

transpose operator

scalar product (dot product) between two vectors

norm (length) of a vector

matrix

matrix multiplication

Key Linear Algebra Concepts

Page 11: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Questions ?

Page 12: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Representing Positions

The following slides are adapted fromthose created by Jonathan Fienefor MEAM 520 in Spring 2012

Page 13: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

RotationMatrices

Page 14: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Frame notation

x0

y0

y1

x1p

v0

p

v1

p

o0

o1

The reference frame is designated using superscript notation

to perform algebraic manipulation,vectors must be expressed in the same frame or in parallel frames

Page 15: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Planar Coordinate Rotations

x0

y0

o0

y1

x1

o1

θ

x0

1 =

[

x1 · x0

x1 · y0

]

=

[

cos θsin θ

]

y0

1 =

[

y1 · x0

y1 · y0

]

=

[

− sin θcos θ

]

R0

1 =[

x01 y0

1

]

=

[

cos θ − sin θ

sin θ cos θ

]

project frame 1 into frame 0

which can be expressed as a rotation matrix

the inverse of which is the matrix transpose

R1

0 = (R0

1)! =

[

cos θ sin θ

− sin θ cos θ

]

Page 16: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Three-Dimensional Coordinate Rotations

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

Rz,θ =

cos θ − sin θ 0

sin θ cos θ 0

0 0 1

Ry,θ =

cos θ 0 sin θ

0 1 0

− sin θ 0 cos θ

Rx,θ =

1 0 0

0 cos θ − sin θ

0 sin θ cos θ

The basic rotation matrices define rotations about the three

coordinate axes

Page 17: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Rotational Transformations

x0

y0

y1x1

z0

z1

p

v0

p= R

0

1 v1

p

For pure coordinate rotation, a point in frame 1 can be expressed in frame 0

using the rotation matrix

Page 18: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Rotational Transformations

x0

y0

z0

The rotation matrix can also be used to perform rotations on vectors

p0

b

p0

a

p0

b = Rz,θ p0

a

p0

a=

1

0

1

=

0

1

1

θ = 90◦

=

0 −1 0

1 0 0

0 0 1

1

0

1

Page 19: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

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.

Page 20: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

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 21: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation
Page 22: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation
Page 23: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

x0

z0y0

frame 0 - camera

x1

z1

y1

frame 1 - transmitter

y 2

z 2

x 2 frame 2 - sensor

the flying box

Page 24: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation
Page 25: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

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 26: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

MATLAB

Session 1:  Thursday, 9/13: 6-8pm

Session 1:  Saturday, 9/15: 3-5pm

Session 2:  Thursday, 9/20: 6-8pm

Session 2:  Saturday, 9/22: 3-5pm

email [email protected] to sign up

Page 27: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

MATLABFree online tutorial: http://www.mathworks.com/academia/

student_center/tutorials/mltutorial_launchpad.html

If you’ve never used MATLAB before, or if your knowledge is rusty, do one or both of these! It will save you time later on.

Page 28: Rotation Matricesmedesign.seas.upenn.edu/uploads/Courses/robotics02... · 2012. 9. 13. · Rotation Matrices Rotation matrices serve three purposes (p. 47 in SHV): 1. Coordinate transformation

Questions ?