# I400/I590/B659: Intelligent Robotics Preliminaries: Vectors.

## Presentation on theme: "I400/I590/B659: Intelligent Robotics Preliminaries: Vectors."— Presentation transcript:

I400/I590/B659: Intelligent Robotics Preliminaries: Vectors

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)

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

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…

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

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

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

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)

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)

Notation

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) ?

Norms

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

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

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

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

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

Scalar multiplication

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]

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)

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)

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

Vector subtraction: another view

Distances A (3,1.5) E (5,-1) D ?

Interpolation To go from D to E gradually, you can use linear interpolation A (3,1.5) E (5,-1) D

Higher dimensions

Norms in higher dimensions

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

Cheat sheet

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)

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