1 / 32

I400/I590/B659: Intelligent Robotics

I400/I590/B659: Intelligent Robotics. Preliminaries: Vectors. Lab 1. Install Klamp’t python API In Klampt /Python/demos folder: run python gltemplate.py ../../data/athlete_fractal_1.xml Navigate with the mouse (hold Shift and Ctrl to pan and zoom) to get a good screenshot of the robot

aiden
Télécharger la présentation

I400/I590/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. I400/I590/B659: Intelligent Robotics Preliminaries: Vectors

  2. Lab 1 • Install Klamp’t python API • In Klampt/Python/demos folder: run python gltemplate.py ../../data/athlete_fractal_1.xml • Navigate with the mouse (hold Shift and Ctrl to pan and zoom) to get a good screenshot of the robot • Press ‘s’ to start simulating • Take a screenshot, submit it in .jpg or .png format • Due next Wednesday • Ask your peers / myself for help installing • Document installation problems, email to me (hauserk@indiana.edu)

  3. Agenda • Vector algebra: Representing and manipulating points and directions in 2D, 3D, and higher dimensions

  4. Vectors • Represent physical quantities that exist in some “space” • Both direction and magnitude • Represent ordered collections of related numbers • In this class: • 2D and 3D: Positions, velocities, accelerations, forces, pixel positions… • Higher D: RGBA colors, configurations, robot-environment system states, torques…

  5. Example #1 • Bob is standing at point A. He moves north one meter. He then moves east 2 meters. How far is he now from point A? A

  6. Example #1 • Bob is standing at point A. He moves north one meter. He then moves east 2 meters. How far is he now from point A? A

  7. Example #1 • Bob is standing at point A. He moves north one meter. He then moves east 2 meters. How far is he now from point A? B A

  8. Example #1 • Bob is standing at point A. He moves north one meter. He then moves east 2 meters. How far is he now from point A? (2,1) B (0,0) A

  9. Example #1 • Bob is standing at point A. He moves north one meter. He then moves east 2 meters. How far is he now from point A? (2,1) B A The displacement vector from A to B is (it is oriented vertically for reasons to be discussed later)

  10. Notation • A displacement vector starting at point A and ending at pint B is denoted • Capitals • Not used much in this class • A plain vector will be denoted • Point of origin is either unspecified, assumed, or does not need to be made explicit to be meaningful (e.g., velocity) • Lowercase • Eventually we’ll drop the arrow

  11. Example #1 • Bob is standing at point A. He moves north one meter. He then moves east 2 meters. How far is he now from point A? ? (2,1) B A The length of the vector is . This is also known as the norm of the vector and is denoted .

  12. Norms • Definition: If is a vector, then • (Pythagorean theorem) • [Subtle point: distance is not the same as distance traveled! Bob traveled 3m, but ended up about 2.23m away from the start]

  13. Comment • What about if Bob repeats the same procedure, arriving at point C? C (2,1) B A

  14. Comment • What about if Bob repeats the same procedure, arriving at point C? (4,2) C (2,1) B A

  15. Comment • What about if Bob repeats the same procedure, arriving at point C? (4,2) C (2,1) B (0,0) A The displacement vector from A to B is? The displacement vector from B to C is? The displacement vector from A to C is?

  16. Example #2: Multiplication • Dan is standing at point A. He moves in the same direction that Bob originally did, but goes 50% farther. Where does he stand? D (2,1) B A

  17. Example #2: Multiplication • Dan is standing at point A. He moves in the same direction that Bob originally did, but goes 50% farther. Where does he stand? D (2,1) B A Displacement vector from A to D is

  18. Scalar multiplication • To differentiate it from a vector, a “regular number” is known as a scalar • Scalar-vector multiplication scales both elements of the vector by the same amount. If a, b, and c are scalars, then: • It commutes: • Scalar division is the same as multiplying by 1/c • [As usual, don’t divide by zero]

  19. Scalar multiplication • Scalar multiplication “passes through” the norm operation: • (Why?)

  20. Points vs. Displacements • A point X in space can be represented for the purposes of calculations (out of the realm of pure thought) as a displacement vector from some special reference point O, called the origin • The representation of a point P changes depending on the choice of O • When comparing or manipulating two points, their representations as vectors must use the same origin! • A displacement vector from point X to Y is the same regardless of the choice of origin • [Note: what about the orientation of the reference axes? More later]

  21. Example #3: Vector addition • Suppose Bob is at B=(2,1). Bob then moves South 2 meters and east 3 more meters, arriving at E. What are E’s coordinates? B (2,1) (3,-2) A E

  22. Example #3: Vector addition • Suppose Bob is at B=(2,1). Bob then moves South 2 meters and east 3 more meters, arriving at E. What are E’s coordinates? B (2,1) (3,-2) A E Vector addition : produces a new vector in which ‘s first element is equal to the sum of the first elements of and , and its second element is equal to the sum of the second elements.

  23. Example #4: Vector subtraction • Dan is at back at D=(3,1.5). Along which vector would he have to move in order to reach E=(5,-1)? D (3,1.5) A (5,-1) E Vector subtraction : produces a new vector in which ‘s first element is equal to the first element of minus the first element of , and its second element is equal to the second element of minus the first element of .

  24. Vector subtraction: another view • With normal numbers, • With vectors, • (Try it)

  25. Distances D • How far is D from E? • Step 1: calculate • Step 2: calculate the norm • In other words, the distance between D and E is ? (3,1.5) A (5,-1) E

  26. Interpolation • To go from D to E gradually, you can use linear interpolation D (3,1.5) A E (5,-1) for u[0,1] a scalar parameter Or… Or…

  27. Higher dimensions • Everything is exactly the same, but the vectors contain more elements • 3D: • 4D: • Etc… • Scalar-vector multiplication, vector addition and subtraction remain essentially the same

  28. Norms in higher dimensions • 3D: if , then (why?) • 4D: if • Etc…

  29. Standard vector spaces • Cartesian space • 1D space: ℝ • 2D space: ℝ2 • Etc… ℝn • It can be shown that any space of objects that transform like vectors do, with scalar-vector multiplication and vector-vector addition, is isomorphic to ℝn for some n**as long as it has finite dimension

  30. Cheat sheet • Notation for n-dimensional vectors: • , , etc • Space of n-dimensional vectors: ℝn(Cartesian space) • Norm: • Scalar-vector multiplication: • Norms and scalar multiplications: • Vector-vector addition: • Vector-vector subtraction: • No such thing as vector-vector multiplication, vector-scalar addition.

  31. Implementation in Python • Lists: • E.g., [2,1], or [0.5,-0.8] • Operators +, -, *, / do not work in the same way • Use klampt.vectorops.{add,sub,mul,div} • Norm: klampt.vectorops.norm • Distance: klampt.vectorops.distance • Numpy arrays: • E.g., numpy.array([2,1]), or numpy.array([0.5,-0.8]), • Operators +, -, *, / work as desired • Norm: numpy.linalg.norm • Distance: numpy.linalg.norm(x-y)

  32. Next time • Matrix algebra, linear transformations (Principles A.E) • No class on Monday

More Related