420 likes | 567 Views
CS I400/B659: Intelligent Robotics. Transformations and Matrix Algebra. Agenda. Principles, Ch. 3.5-8. Rigid Objects. Biological systems, virtual characters. q 2. q 1. Articulated Robot. Robot: usually a rigid articulated structure Geometric CAD models, relative to reference frames
E N D
CS I400/B659: Intelligent Robotics Transformations and Matrix Algebra
Agenda • Principles, Ch. 3.5-8
q2 q1 Articulated Robot • Robot: usually a rigid articulated structure • Geometric CAD models, relative to reference frames • A configuration specifies the placement of those frames
Rigid Transformation in 2D 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)
Rigid Transformation in 2D 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?
Rigid Transformation in 2D • 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)
Rotations in 2D -sin q • X axis of T0 gets coords, Y axis gets cos q cos q q sin q
Rotations in 2D -sin q • X axis of T0 gets coords, Y axis gets • gets rotated to coords cos q cos q q sin q px py
Rotations in 2D -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
Dot product • 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)
Properties of the dot product • In 2D: • In 3D: • In n-D: • Key properties: • Symmetric • 0 only if and are perpendicular (orthogonal)
Properties of the dot product • 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 .
Properties of the dot product • 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 =
Matrix-vector multiplication • For any P=(px,py) rotated by any q, we have the new coordinates • We can express this as a matrix-vector product:
Matrix-vector multiplication • 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
Matrix-vector multiplication • 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
Matrix-vector multiplication • 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
General equations • A has dimensions m x n, has m entries, has n entries • for each i=1,…,m
Multiple rotations • 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 ?
Multiple rotations • 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 ?
Multiple rotations • 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 ?
Multiple rotations • 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 ?
Matrix-matrix multiplication • somust be 2x2
Matrix-matrix multiplication • somust be 2x2 Row 1 Column 1 Entry (1,1)
Matrix-matrix multiplication • somust be 2x2 Row 1 Column 2 Entry (1,2)
Matrix-matrix multiplication • somust be 2x2 Column 1 Entry (2,1) Row 2
Matrix-matrix multiplication • somust be 2x2 Column 2 Entry (2,2) Row 2
Matrix-matrix multiplication • somust be 2x2
Matrix-matrix multiplication • somust be 2x2 • Verify that
Rotation matrix-matrix multiplication • somust be 2x2
Rotation matrix-matrix multiplication • somust be 2x2
Rotation matrix-matrix multiplication • somust be 2x2 • So,
General definition • 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
Other Fun Facts • 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.,
Consequence: rotation inverse • 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 Rigid Transformation in 2D 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! Note: transforming points vs directional quantities cos θ -sin θ sin θ cos θ x y tx ty Tq(x,y) = + cos θ -sin θ sin θ cos θ vx vy Rq(vx,vy) =
Next Lecture • Optional: A Mathematical Introduction to Robotic Manipulation, Ch. 2.1-3 • http://www.cds.caltech.edu/~murray/mlswiki/?title=First_edition