Download presentation
Presentation is loading. Please wait.
Published byMateo Noah Modified over 9 years ago
1
I400/I590/B659: Intelligent Robotics Preliminaries: Vectors
2
Lab 1 1.Install Klamp’t python API 2.In Klampt/Python/demos folder: run python gltemplate.py../../data/athlete_fractal_1.xml 3.Navigate with the mouse (hold Shift and Ctrl to pan and zoom) to get a good screenshot of the robot 4.Press ‘s’ to start simulating 5.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? A B
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? A B (0,0) (2,1)
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? A B (2,1)
10
Notation
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? A B (2,1) ?
12
Norms
13
Comment What about if Bob repeats the same procedure, arriving at point C? A B (2,1) C
14
Comment What about if Bob repeats the same procedure, arriving at point C? A B (2,1) C (4,2)
15
Comment What about if Bob repeats the same procedure, arriving at point C? A B (2,1) C (4,2) (0,0)
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? A B (2,1) D
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? A B (2,1) D
18
Scalar multiplication
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? A B (2,1) E (3,-2)
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? A B (2,1) E (3,-2)
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)? A (3,1.5) E (5,-1) D
24
Vector subtraction: another view
25
Distances A (3,1.5) E (5,-1) D ?
26
Interpolation To go from D to E gradually, you can use linear interpolation A (3,1.5) E (5,-1) D
27
Higher dimensions
28
Norms in higher dimensions
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
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.