3K - views

# Autonomous Navigation for Flying Robots

Lecture 3.1:. 3D Geometry. Jürgen . Sturm. Technische. . Universität. . München. Points in 3D. 3D . point. Augmented . vector. Homogeneous coordinates. Jürgen Sturm. Autonomous Navigation for Flying Robots.

Embed :

Download Presentation - The PPT/PDF document "Autonomous Navigation for Flying Robots" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.

## Presentation on theme: "Autonomous Navigation for Flying Robots"— Presentation transcript:

Slide1

Autonomous Navigation for Flying RobotsLecture 3.1:3D Geometry

Jürgen

Sturm

Technische

Universität

MünchenSlide2

Points in 3D3D point

Augmented

vector

Homogeneous coordinates

Jürgen Sturm

2Slide3

Geometric Primitives in 3D3D line through pointsInfinite

line:

Line

segment joining :Jürgen Sturm

3Slide4

Geometric Primitives in 3D3D plane3D plane equationNormalized plane

with

unit normal

vector and distance Jürgen Sturm

4Slide5

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

Scaled rotation, affine transform, projective transform…

Jürgen Sturm

5Slide6

3D Euclidean TransformationsTranslation has 3 degrees of freedom

Rotation

has

3 degrees of freedomJürgen Sturm

6Slide7

3D RotationsA rotation matrix is a 3x3 orthogonal matrix

Also

called the special orientation group SO(3

)Column vectors correspond to coordinate axes

Jürgen Sturm

7Slide8

3D RotationsWhat operations do we typically do with rotation matrices?

Invert, concatenate

Estimate/optimize

How easy are these operations on matrices?Jürgen Sturm

8Slide9

Over-parameterized (

Jürgen Sturm

9Slide10

Euler AnglesProduct of 3 consecutive rotations (e.g., around X-Y-Z axes)Roll-pitch-yaw convention is very common in aerial navigation (DIN 9300)

Jürgen Sturm

10

http://en.wikipedia.org/wiki/File:Rollpitchyawplain.pngSlide11

Roll-Pitch-Yaw ConventionRoll , Pitch , YawConversion

to

3x3

rotation matrix:

Jürgen Sturm

11Slide12

Roll-Pitch-Yaw ConventionRoll , Pitch , YawConversion

from

3x3

rotation matrix:

Jürgen Sturm

12Slide13

Euler AnglesAdvantage:Minimal representation (3 parameters)Easy interpretation

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

Difficult to concatenateSingularities (gimbal lock)

Jürgen Sturm

13Slide14

Gimbal LockWhen the axes align, one degree-of-freedom (DOF) is lost:

Jürgen Sturm

14

http://commons.wikimedia.org/wiki/File:Rotating_gimbal-xyz.gifSlide15

Axis/AngleRepresent rotation byrotation axis androtation angle

4 parameters

3 parameters

length is rotation anglealso called the angular velocityminimal but not unique (why?)

Jürgen Sturm

15Slide16

ConversionRodriguez’ formulaInverse

see:

An Invitation to 3D

Vision (Ma,

Soatto, Kosecka, Sastry

), Chapter 2

Jürgen Sturm

16Slide17

Simple derivations

Difficult to concatenateSlow conversionJürgen Sturm

17Slide18

QuaternionsQuaternionReal and vector part

Unit

quaternions have

Opposite sign quaternions represent the same rotationOtherwise

unique

Jürgen SturmAutonomous Navigation for Flying Robots

18

Richard

Szeliski

, Computer Vision: Algorithms and

Applications

http

://szeliski.org/Book/Slide19

QuaternionsAdvantage: multiplication, inversion and rotations are very efficient

Concatenation

Inverse (=flip signs of real or imaginary part)

Rotate 3D vector using a quaternion:

Jürgen Sturm

19Slide20

QuaternionsRotate 3D vector using a quaternion:Relation to

axis

/angle representation

Jürgen Sturm

20Slide21

3D OrientationsNote: 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, …)

Jürgen Sturm

21Slide22

3D to 2D Perspective ProjectionsJürgen Sturm

22

Richard

Szeliski

, Computer Vision: Algorithms and Applications

http://szeliski.org/Book/Slide23

3D to 2D Perspective ProjectionsJürgen Sturm

23

Richard

Szeliski

, Computer Vision: Algorithms and Applications

http://szeliski.org/Book/Slide24

3D to 2D Perspective ProjectionsJürgen Sturm

24

Pin-hole

camera model

Note: is

homogeneous, needs to be normalizedSlide25

Camera IntrinsicsSo far, 2D point is given in meters on image planeBut: w

e

want 2D point be measured in pixels (as the sensor does

)Jürgen Sturm

25

Richard

Szeliski

, Computer Vision: Algorithms and Applications

http://szeliski.org/Book/Slide26

Camera IntrinsicsNeed to apply some scaling/offset

Focal length

Camera center

SkewJürgen Sturm

26Slide27

Camera ExtrinsicsAssume is given in world coordinatesTransform from world to camera (also called the camera

extrinsics

)

Projection of 3D world points to 2D pixel coordinates:

Jürgen Sturm

27Slide28

Lessons Learned3D points, lines, planes

3D

transformations

Different representations for 3D orientationsChoice depends on applicationWhich representations do you remember?3D to 2D perspective projectionsYou

really have to know 2D/3D transformations by heart