1 / 42

CS I400/B659: Intelligent Robotics

Explore rigid transformations, rotations, and matrix operations in 2D workspace for intelligent robotics. Learn geometric CAD models and matrix-vector products. Dive into key dot product properties. Discover how to perform matrix-matrix multiplication for robotics applications.

perdue
Download Presentation

CS I400/B659: Intelligent Robotics

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS I400/B659: Intelligent Robotics Transformations and Matrix Algebra

  2. Agenda • Principles, Ch. 3.5-8

  3. Rigid Objects

  4. Biological systems, virtual characters

  5. 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

  6. Rigid Transformation in 2D workspace Frame T0 robot reference direction q ty reference point tx Robot R0R2 given in reference frame T0 Located at configuration q = (tx,ty,q) with q [0,2p)

  7. Rigid Transformation in 2D workspace Frame T0 robot reference direction P P q ty reference point tx Robot R0R2 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?

  8. 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)

  9. Rotations in 2D -sin q • X axis of T0 gets coords, Y axis gets cos q cos q q sin q

  10. 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

  11. 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

  12. 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)

  13. Properties of the dot product • In 2D: • In 3D: • In n-D: • Key properties: • Symmetric • 0 only if and are perpendicular (orthogonal)

  14. 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 .

  15. 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 =

  16. 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:

  17. 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

  18. 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

  19. 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

  20. Matrix-vector product examples

  21. General equations • A has dimensions m x n, has m entries, has n entries • for each i=1,…,m

  22. Matrix-vector product examples

  23. 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 ?

  24. 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 ?

  25. 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 ?

  26. 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 ?

  27. Matrix-matrix multiplication • somust be 2x2

  28. Matrix-matrix multiplication • somust be 2x2 Row 1 Column 1 Entry (1,1)

  29. Matrix-matrix multiplication • somust be 2x2 Row 1 Column 2 Entry (1,2)

  30. Matrix-matrix multiplication • somust be 2x2 Column 1 Entry (2,1) Row 2

  31. Matrix-matrix multiplication • somust be 2x2 Column 2 Entry (2,2) Row 2

  32. Matrix-matrix multiplication • somust be 2x2

  33. Matrix-matrix multiplication • somust be 2x2 • Verify that

  34. Rotation matrix-matrix multiplication • somust be 2x2

  35. Rotation matrix-matrix multiplication • somust be 2x2

  36. Rotation matrix-matrix multiplication • somust be 2x2 • So,

  37. 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

  38. 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.,

  39. Consequence: rotation inverse • Since… • (the identity matrix) • But • …so a rotation matrix’s inverse is its transpose.

  40. q = (tx,ty,q) with q [0,2p) Robot R0R2 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

  41. 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) =

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

More Related