computer vision group prof. daniel cremers · first exercise sheet is due next tuesday 10am ......

118
Computer Vision Group Prof. Daniel Cremers Visual Navigation for Flying Robots Dr. Jürgen Sturm 3D Geometry and Sensors

Upload: others

Post on 27-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Computer Vision Group Prof. Daniel Cremers

Visual Navigation for Flying Robots

Dr. Jürgen Sturm

3D Geometry and Sensors

Page 2: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Organization: Lab Course

Robot lab: room 02.05.14 (different room!)

Lecture: room 02.09.23 (here)

You have to sign up for a team before May 2nd (team list in student lab)

After May 2nd, remaining places will be given to students on waiting list

First exercise sheet is due next Tuesday 10am

2 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 3: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Today’s Agenda

Linear algebra

2D and 3D geometry

Sensors

First exercise sheet

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 3

Page 4: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vectors

Vector and its coordinates

Vectors represent points in an n-dimensional space

4 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 5: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Operations

Scalar multiplication

Addition/subtraction

Length

Normalized vector

Dot product

Cross product

5 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 6: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Operations

Scalar multiplication

Addition/subtraction

Length

Normalized vector

Dot product

Cross product

6 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 7: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Operations

Scalar multiplication

Addition/subtraction

Length

Normalized vector

Dot product

Cross product

7 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 8: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Operations

Scalar multiplication

Addition/subtraction

Length

Normalized vector

Dot product

Cross product

8 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 9: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Operations

Scalar multiplication

Addition/subtraction

Length

Normalized vector

Dot product

Cross product

are orthogonal if

is lin. dependent from if

9 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 10: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Operations

Scalar multiplication

Addition/subtraction

Length

Normalized vector

Dot product

Cross product

10 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 11: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Cross Product

Definition

Matrix notation for the cross product

Verify that

11 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 12: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrices

Rectangular array of numbers

First index refers to row

Second index refers to column

rows columns

12 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 13: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrices

Column vectors of a matrix

Geometric interpretation: for example, column vectors can form basis of a coordinate system

13 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 14: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrices

Row vectors of a matrix

14 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 15: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrices

Square matrix

Diagonal matrix

Upper and lower triangular matrix

Symmetric matrix

Skew-symmetric matrix

(Semi-)positive definite matrix

Invertible matrix

Orthonormal matrix

Matrix rank

15 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 16: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrices

Square matrix

Diagonal matrix

Upper and lower triangular matrix

Symmetric matrix

Skew-symmetric matrix

(Semi-)positive definite matrix

Invertible matrix

Orthonormal matrix

Matrix rank

16 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 17: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix Operations

Scalar multiplication

Addition/subtraction

Transposition

Matrix-vector multiplication

Matrix-matrix multiplication

Inversion

17 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 18: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix Operations

Scalar multiplication

Addition/subtraction

Transposition

Matrix-vector multiplication

Matrix-matrix multiplication

Inversion

18 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 19: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix-Vector Multiplication

Geometric interpretation: A linear combination of the columns of A scaled by the coefficients of b coordinate transf. from local to global frame

column vectors

19 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 20: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix Operations

Scalar multiplication

Addition/subtraction

Transposition

Matrix-vector multiplication

Matrix-matrix multiplication

Inversion

20 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 21: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix-Matrix Multiplication

Operator

Definition

Interpretation: transformation of coordinate systems

Can be used to concatenate transforms

21 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 22: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix-Matrix Multiplication

Not commutative (in general)

Associative

Transpose

22 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 23: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix Operations

Scalar multiplication

Addition/subtraction

Transposition

Matrix-vector multiplication

Matrix-matrix multiplication

Inversion

23 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 24: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Matrix Inversion

If is a square matrix of full rank, then there is a unique matrix such that .

Different ways to compute, e.g., Gauss-Jordan elimination, LU decomposition, …

When A is orthonormal, then

24 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 25: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Recap: Linear Algebra

Vectors

Matrices

Operators

Now let’s apply these concepts to 2D+3D geometry

25 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 26: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 2D

2D point

Augmented vector

Homogeneous coordinates

26 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 27: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 2D

Homogeneous vectors that differ only be scale represent the same 2D point

Convert back to inhomogeneous coordinates by dividing through last element

Points with are called points at infinity or ideal points

27 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 28: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 2D

2D line

2D line equation

28 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 29: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 2D

Normalized line equation vector where is the distance of the line to the origin

with

29 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 30: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 2D

Polar coordinates of a line: (e.g., used in Hough transform for finding lines)

30 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 31: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 2D

Line joining two points

Intersection point of two lines

31 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 32: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 3D

3D point (same as before)

Augmented vector

Homogeneous coordinates

32 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 33: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 3D

3D plane

3D plane equation

Normalized plane with unit normal vector ( ) and distance d

33 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 34: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Geometric Primitives in 3D

3D line through points

Infinite line:

Line segment joining :

34 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 35: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Planar Transformations

35 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 36: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

Translation where is the translation vector, is the identity matrix, and is the zero vector

36 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 37: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

Translation where is the translation vector, is the identity matrix, and is the zero vector

37 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Question: How many DOFs has this

transformation?

Page 38: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

Rigid body motion or Euclidean transformation (rotation + translation) or where is an orthonormal rotation matrix, i.e.,

Distances (and angles) are preserved 38 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 39: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

Scaled rotation/similarity transform or

Preserves angles between lines

39 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 40: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

Affine transform

Parallel lines remain parallel

40 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 41: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

Projective/perspective transform

Note that is homogeneous (only defined up to scale)

Resulting coordinates are homogeneous

Lines remain lines :-)

41 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 42: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

2D Transformations

42 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 43: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 43

Examples: Euclidean Transformations

Page 44: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate Transforms

Robot is located somewhere in space

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 44

yaw (heading)

Page 45: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate Transforms

Robot is located somewhere in space

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 45

yaw (heading)

Page 46: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate Transforms

Robot is located at x=0.7, y=0.5, yaw=45deg

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 46

yaw (heading)

Page 47: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

Robot is located at x=0.7, y=0.5, yaw=45deg

Robot moves 1m forward

What is its position afterwards?

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 47

yaw (heading)

Page 48: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

Robot is located at x=0.7, y=0.5, yaw=45deg

Robot moves 1m forward

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 48

Inhomogeneous coordinates

Homogeneous coordinates

Page 49: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

Robot is located at x=0.7, y=0.5, yaw=45deg

Robot moves 1m forward

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 49

Page 50: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

Robot is located at x=0.7, y=0.5, yaw=45deg

Robot moves 1m forward

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 50

Page 51: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

Robot is located at x=0.7, y=0.5, yaw=45deg

Robot moves 1m forward

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 51

Page 52: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

Robot is located at x=0.7, y=0.5, yaw=45deg

Robot moves 1m forward

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 52

Page 53: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

We transformed local to global coordinates

Sometimes we need to do the inverse

How can we transform global coordinates into local coordinates?

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 53

Page 54: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Vector Transformation

We transformed local to global coordinates

Sometimes we need to do the inverse

How can we transform global coordinates into local coordinates?

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 54

Page 55: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Inverse Transformations

We transformed local to global coordinates

Sometimes we need to do the inverse

How can we transform global coordinates into local coordinates?

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 55

Page 56: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate System Transformations

Now consider a different motion

Robot moves 0.2m forward, 0.1m sideways, and turns by 10deg

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 56

Page 57: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate System Transformations

Robot moves 0.2m forward, 0.1m sideways, and turns by 10deg

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 57

Page 58: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate System Transformations

After this motion, the robot pose (in the global frame) becomes

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 58

Page 59: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Coordinate System Transformations

Note: The order matters

Move 1m forward, then turn 90deg left

Turn 90deg left, then move 1m forward

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 59

Page 60: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D Transformations

Translation

Euclidean transform (translation + rotation), (also called the Special Euclidean group SE(3))

Scaled rotation, affine transform, projective transform…

60 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 61: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D Transformations

61 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 62: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D Euclidean Transformtions

Translation has 3 degrees of freedom

Rotation has 3 degrees of freedom

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 62

Page 63: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D Rotations

Rotation matrix (also called the special orientation group SO(3))

Euler angles

Axis/angle

Unit quaternion

63 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 64: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Rotation Matrix

Orthonormal 3x3 matrix

Column vectors correspond to coordinate axes

Special orientation group

What operations do we typically do with rotation matrices?

64 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 65: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Rotation Matrix

Orthonormal 3x3 matrix

Advantage: Can be easily concatenated and inverted (how?)

Disadvantage: Over-parameterized (9 parameters instead of 3)

65 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 66: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Euler Angles

Product of 3 consecutive rotations (e.g., around X-Y-Z axes)

Roll-pitch-yaw convention is very common in aerial navigation (DIN 9300)

66 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 67: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Roll-Pitch-Yaw Convention

Yaw , Pitch , Roll to rotation matrix

Rotation matrix to Yaw-Pitch-Roll

Page 68: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Euler Angles

Advantage:

Minimal representation (3 parameters)

Easy interpretation

Disadvantages:

Many “alternative” Euler representations exist (XYZ, ZXZ, ZYX, …)

Difficult to concatenate

Singularities (gimbal lock)

68 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 69: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Euler Angles

Euler angles (3 parameters)

Concatenation: convert to rotation matrix, multiply, convert back

Inverse: convert to rotation matrix, invert, convert back

Dr. Jürgen Sturm, Computer Vision Group, TUM Visual Navigation for Flying Robots 69

Page 70: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Gimbal Lock

When the axes align, one degree-of-freedom (DOF) is lost…

70 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 71: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Axis/Angle

Represent rotation by

rotation axis and

rotation angle

4 parameters

3 parameters

length is rotation angle

also called the angular velocity

minimal but not unique (why?)

71 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 72: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Conversion

Rodriguez’ formula

Inverse see: An Invitation to 3D Vision, Y. Ma, S. Soatto, J. Kosecka, S. Sastry, Chapter 2 (available online)

72 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 73: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Unit Quaternions

Quaternion

Unit quaternions have

Opposite sign quaternions represent the same rotation

Otherwise unique

73 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 74: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Unit Quaternions

Advantage: multiplication and inversion operations are efficient

Quaternion-Quaternion Multiplication

Inverse (flip sign of v or w)

74 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 75: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Unit Quaternions

Quaternion-Vector multiplication (rotate point p with rotation q) with

Relation to Axis/Angle representation

75 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 76: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Note: In general, it is very hard to “read” 3D orientations/rotations, no matter in what representation

Observation: They are usually easy to visualize and can then be intuitively interpreted

Advice: Use 3D visualization tools for debugging (RVIZ, libqglviewer, …)

76

3D Orientations

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 77: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

C++ Libraries for Lin. Alg./Geometry

Many C++ libraries exist for linear algebra and 3D geometry

Typically conversion necessary

Examples: C arrays, std::vector (no linear alg. functions)

gsl (gnu scientific library, many functions, plain C)

boost::array (used by ROS messages)

Bullet library (3D geometry, used by ROS tf)

Eigen (both linear algebra and geometry, my recommendation)

77 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 78: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Example: Transform Trees in ROS

TF package represents 3D transforms between rigid bodies in the scene as a tree

Collects transformations

Simple query interface

map

base_link

person

camera

rotor1 rotor2

78 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 79: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Example: Video from PR2

79 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 80: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D to 2D Projections

Orthographic projections

Perspective projections

80 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 81: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D to 2D Perspective Projection

81 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 82: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D to 2D Perspective Projection

82 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 83: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

3D to 2D Perspective Projection

3D point (in the camera frame)

2D point (on the image plane)

Pin-hole camera model

Remember, is homogeneous, need to normalize

83 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 84: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Camera Intrinsics

So far, 2D point is given in meters on image plane

But: we want 2D point be measured in pixels (as the sensor does)

84 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 85: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Camera Intrinsics

Need to apply some scaling/offset

Focal length

Camera center

Skew

85 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 86: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Camera Extrinsics

Assume is given in world coordinates

Transform from world to camera (also called the camera extrinsics)

Full camera matrix

86 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 87: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Recap: 2D/3D Geometry

Points, lines, planes

2D and 3D transformations

Different representations for 3D orientations

Choice depends on application

Which representations do you remember?

3D to 2D perspective projections

You really have to know 2D/3D transformations by heart (read Szeliski, Chapter 2)

87 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 88: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Sensors

88 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 89: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Sensors

Tactile sensors Contact switches, bumpers, proximity sensors, pressure

Wheel/motor sensors Potentiometers, brush/optical/magnetic/inductive/capacitive encoders, current sensors

Heading sensors Compass, infrared, inclinometers, gyroscopes, accelerometers

Ground-based beacons GPS, optical or RF beacons, reflective beacons

Active ranging Ultrasonic sensor, laser rangefinder, optical triangulation, structured light

Motion/speed sensors Doppler radar, Doppler sound

Vision-based sensors CCD/CMOS cameras, visual servoing packages, object tracking packages

89 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 90: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Example: Ardrone Sensors

Tactile sensors Contact switches, bumpers, proximity sensors, pressure

Wheel/motor sensors Potentiometers, brush/optical/magnetic/inductive/capacitive encoders, current sensors

Heading sensors Compass, infrared, inclinometers, gyroscopes, accelerometers

Ground-based beacons GPS, optical or RF beacons, reflective beacons

Active ranging Ultrasonic sensor, laser rangefinder, optical triangulation, structured light

Motion/speed sensors Doppler radar, Doppler sound

Vision-based sensors CCD/CMOS cameras, visual servoing packages, object tracking packages

90 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 91: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Characterization of Sensor Performance

Bandwidth or Frequency

Delay

Sensitivity

Cross-sensitivity (cross-talk)

Error (accuracy)

Deterministic errors (modeling/calibration possible)

Random errors

Weight, power consumption, …

91 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 92: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Let’s Have a Closer Look

Cameras

Gyroscope

Accelerometers

GPS

Range sensors

92 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 93: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Pinhole Camera

Lit scene emits light

Film/sensor is light sensitive

93 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 94: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Lens Camera

Lit scene emits light

Film/sensor is light sensitive

A lens focuses rays onto the film/sensor

94 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 95: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Real Cameras

Radial distortion of the image

Caused by imperfect lenses

Deviations are most noticeable for rays that pass through the edge of the lens

95 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 96: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Radial Distortion

Radial distortion of the image

Caused by imperfect lenses

Deviations are most noticeable for rays that pass through the edge of the lens

Typically compensated with a low-order polynomial

96 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 97: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Digital Cameras

Vignetting

De-bayering

Rolling shutter and motion blur

Compression (JPG)

Noise

97 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 98: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Mechanical Gyroscope

Measures orientation (standard gyro) or angular velocity (rate gyro, needs integration for angle)

Spinning wheel mounted in a gimbal device (can move freely in 3 dimensions)

Wheel keeps orientation due to angular momentum (standard gyro)

98 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 99: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Modern Gyroscopes

Vibrating structure gyroscope (MEMS)

Based on Coriolis effect

“Vibration keeps its direction under rotation”

Implementations: Tuning fork, vibrating wheels, …

Ring laser / fibre optic gyro

Interference between counter-propagating beams in response to rotation

99 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 100: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Accelerometer

Measures all external forces acting upon them (including gravity)

Acts like a spring-damper system

To obtain inertial acceleration (due to motion alone), gravity must be subtracted

100 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 101: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

MEMS Accelerometers

Micro Electro-Mechanical Systems (MEMS)

Spring-like structure with a proof mass

Damping results from residual gas

Implementations: capacitive, piezoelectric, …

101 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 102: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Inertial Measurement Unit

3-axes MEMS gyroscope

Provides angular velocity

Integrate for angular position

Problem: Drifts slowly over time (e.g., 1deg/hour), called the bias

3-axes MEMS accelerometer

Provides accelerations (including gravity)

Can we use these sensors to estimate our position?

102 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 103: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Example: AscTec Autopilot Board

103 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 104: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

GPS

104 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 105: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

GPS

24+ satellites, 12 hour orbit, 20.190 km height

6 orbital planes, 4+ satellites per orbit, 60deg distance

Satellite transmits orbital location + time

50bits/s, msg has 1500 bits 12.5 minutes 105 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 106: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

GPS

Position from pseudorange

Requires measurements of 4 different satellites

Low accuracy (3-15m) but absolute

Position from pseudorange + phase shift

Very precise (1mm) but highly ambiguous

Requires reference receiver (RTK/dGPS) to remove ambiguities

106 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 107: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Range Sensors

Sonar

Laser range finder

Time of flight camera

Structured light (will be covered later)

107 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 108: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Range Sensors

Emit signal to determine distance along a ray

Make use of propagation speed of ultrasound/light

Traveled distance is given by

Sound speed: 340m/s

Light speed: 300.000km/s

108 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 109: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Ultrasonic Range Sensors

Range between 12cm and 5m

Opening angle around 20 to 40 degrees

Soft surfaces absorb sound

Reflections ghosts

Lightweight and cheap

109 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 110: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Laser Scanner

Measures phase shift

Pro: High precision, wide field of view, safety approved for collision detection

Con: Relatively expensive + heavy

110 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 111: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Laser Scanner

2D scanners

3D scanners

111 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 112: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM 112

Exercise Sheet 1

Page 113: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

The pose of a robot can be described by 6 parameters:

Three-dimensional Cartesian coordinates

Three Euler angles roll, pitch, yaw.

The state space of such a system is six-dimensional

Robot makes sensor observations usually in its ego-centric frame (as seen by the robot)

113

Coordinate Systems

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 114: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

In practice, one often finds two types of motion models:

Odometry-based

Velocity-based (dead reckoning)

Odometry-based models are used when systems are equipped with distance sensors (e.g., wheel encoders).

Velocity-based models have to be applied when no wheel encoders are given.

114

Odometry Motion Model

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 115: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Mathematical procedure to determine the present location of a vehicle

Achieved by calculating the current pose of the vehicle based on its velocities and the elapsed time

115

Dead Reckoning

Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 116: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Dead Reckoning

Estimating the position based on the issued controls (or IMU readings)

Integrate over time

116 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 117: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Exercise Sheet 1

Odometry sensor on Ardrone is an integrated package Sensors

Down-looking camera to estimate motion Ultrasonic sensor to get height 3-axes gyroscopes 3-axes accelerometer

IMU readings (in provided bag file) Horizontal speed (vx/vy) in its local frame (!) Height (z) in the global frame Roll, Pitch, Yaw in the global frame

Integrate these values to get robot pose Position (x/y/z) in the global frame Orientation (e.g., r/p/y) in the global frame

117 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM

Page 118: Computer Vision Group Prof. Daniel Cremers · First exercise sheet is due next Tuesday 10am ... Line joining two points Intersection point of two lines Visual Navigation for Flying

Lessons Learned Today

Linear algebra

2D/3D geometry

Sensors

Exercise sheet 1: Robot odometry

Due next Tuesday, 10am

Hand in via email to [email protected]

118 Visual Navigation for Flying Robots Dr. Jürgen Sturm, Computer Vision Group, TUM