- 80 Views
- Uploaded on
- Presentation posted in: General

CS I400/B659: Intelligent Robotics

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

CS I400/B659: Intelligent Robotics

Transformations and Matrix Algebra

- Principles, Ch. 3.5-8

q2

q1

- Robot: usually a rigid articulated structure
- Geometric CAD models, relative to reference frames
- A configuration specifies the placement of those frames

workspace

Frame T0

robot

reference direction

q

ty

reference point

tx

Robot R0R2 given in reference frame T0

Located at configuration q = (tx,ty,q) with q [0,2p)

workspace

Frame T0

robot

reference direction

P

P

q

ty

reference point

tx

Robot R0R2 given in reference frame T0

Located at configuration q = (tx,ty,q) with q [0,2p)

Point P on the robot (e.g., a camera) has coordinates in frame T0.

What are the coordinates of P in the workspace?

- Robot at configuration q = (tx,ty,q) with q [0,2p)
- Point P on the robot (e.g., a camera) has coordinates in frame T0.
- What are the coordinates of P in the workspace?
- Think of 2 steps: 1) rotating about the origin point by angle q, then 2) translating the reference point to (tx,ty)

-sin q

- X axis of T0 gets coords, Y axis gets

cos q

cos q

q

sin q

-sin q

- X axis of T0 gets coords, Y axis gets
- gets rotated to coords

cos q

cos q

q

sin q

px

py

-sin q

- X axis of T0 gets coords, Y axis gets
- gets rotated to coords

cos q

cos q

q

sin q

pxcosq -pysinq

px

pxsinq +pycosq

py

- For any P=(px,py) rotated by any q, we have the new coordinates
- We can express each element as a dot product:
- Definition:
- In 3D,
- Key properties:
- Symmetric
- 0 only if and are perpendicular (orthogonal)

- In 2D:
- In 3D:
- In n-D:
- Key properties:
- Symmetric
- 0 only if and are perpendicular (orthogonal)

- In 2D:
- In 3D:
- In n-D:
- Key properties:
- Symmetric
- 0 only if and are perpendicular (orthogonal)

If is a unit vector () then is the length of the projection of onto .

- In 2D:
- In 3D:
- In n-D:
- Key properties:
- Symmetric
- 0 only if and are perpendicular (orthogonal)

If and are unit vectors with inner angle then =

- For any P=(px,py) rotated by any q, we have the new coordinates
- We can express this as a matrix-vector product:

- For any P=(px,py) rotated by any q, we have the new coordinates
- We can express this as a matrix-vector product:
- Or, for A a 2x2 table of numbers
- Each entry of is the dot product between the corresponding row of A and

- For any P=(px,py) rotated by any q, we have the new coordinates
- We can express this as a matrix-vector product:
- Or, for A a 2x2 table of numbers
- Each entry of is the dot product between the corresponding row of A and

- For any P=(px,py) rotated by any q, we have the new coordinates
- We can express this as a matrix-vector product:
- Or, for A a 2x2 table of numbers
- Each entry of is the dot product between the corresponding row of A and

- A has dimensions m x n, has m entries, has n entries
- for each i=1,…,m

- Define the 2D rotation matrix
- We know that the new coordinates of a point rotated by is given by
- What if we rotate again by ? What are the new coordinates ?

- Define the 2D rotation matrix
- We know that the new coordinates of a point rotated by is given by
- What if we rotate again by ? What are the new coordinates ?

- Define the 2D rotation matrix
- We know that the new coordinates of a point rotated by is given by
- What if we rotate again by ? What are the new coordinates ?

- Define the 2D rotation matrix
- We know that the new coordinates of a point rotated by is given by
- What if we rotate again by ? What are the new coordinates ?

Is it possible to define matrix-matrix multiplication so that ?

- somust be 2x2

- somust be 2x2

Row 1

Column 1

Entry (1,1)

- somust be 2x2

Row 1

Column 2

Entry (1,2)

- somust be 2x2

Column 1

Entry (2,1)

Row 2

- somust be 2x2

Column 2

Entry (2,2)

Row 2

- somust be 2x2

- somust be 2x2
- Verify that

- somust be 2x2

- somust be 2x2

- somust be 2x2
- So,

- If A and B are m x p and p x n matrices, respectively, then the matrix-matrix product is given by the m x n matrix C with entries

- An nxnidentity matrix has 1’s on its diagonals and 0s everywhere else
- for all vectors
- for all nxm matrices
- for all mxnmatrices

- If A and B are square matrices such that , then B is called the inverse of A (and A is the inverse of B)
- Not all matrices are invertible

- The transpose of a matrix mxnmatrix is the nxm matrix formed swapping its rows and columns. It is denoted .
- i.e.,

- Since…
- (the identity matrix)
- But
- …so a rotation matrix’s inverse is its transpose.

q = (tx,ty,q) with q [0,2p)

Robot R0R2 given in reference frame T0

What’s the new robot Rq?{Tq(x,y) | (x,y) R0}

Define rigid transformation Tq(x,y) : R2 R2

cos θ -sin θ

sin θ cos θ

x

y

tx

ty

Tq(x,y) =

+

2D rotation matrix

Affine translation

Rigid transform q = (tx,ty,q)

A point with coordinates (x,y) in T0 undergoes rotation and affine translation

Directional quantities (e.g., velocity, force) are not affected by the affine translation!

cos θ -sin θ

sin θ cos θ

x

y

tx

ty

Tq(x,y) =

+

cos θ -sin θ

sin θ cos θ

vx

vy

Rq(vx,vy) =

- Optional: A Mathematical Introduction to Robotic Manipulation, Ch. 2.1-3
- http://www.cds.caltech.edu/~murray/mlswiki/?title=First_edition