Introduction to Mobile Robotics SLAM: Simultaneous Localization - - PowerPoint PPT Presentation

introduction to mobile robotics
SMART_READER_LITE
LIVE PREVIEW

Introduction to Mobile Robotics SLAM: Simultaneous Localization - - PowerPoint PPT Presentation

Introduction to Mobile Robotics SLAM: Simultaneous Localization and Mapping Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras Slides by Kai Arras and Wolfram Burgard Last update: June 2010 The SLAM Problem SLAM is the process by


slide-1
SLIDE 1

Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Kai Arras

SLAM: Simultaneous Localization and Mapping

Introduction to Mobile Robotics

Slides by Kai Arras and Wolfram Burgard Last update: June 2010

slide-2
SLIDE 2

The SLAM Problem

SLAM is the process by which a robot builds a map of the environment and, at the same time, uses this map to compute its location

  • Localization: inferring location given a map
  • Mapping: inferring a map given a location
  • SLAM: learning a map and locating the robot

simultaneously

2

slide-3
SLIDE 3

The SLAM Problem

  • SLAM is a chicken-or-egg problem:

→ A map is needed for localizing a robot

→ A pose estimate is needed to build a map

  • Thus, SLAM is (regarded as) a hard problem in

robotics

3

slide-4
SLIDE 4

4

  • SLAM is considered one of the most

fundamental problems for robots to become truly autonomous

  • A variety of different approaches to address the

SLAM problem have been presented

  • Probabilistic methods rule
  • History of SLAM dates back to the mid-eighties

(stone-age of mobile robotics)

The SLAM Problem

slide-5
SLIDE 5

5

Given:

  • The robot’s controls
  • Relative observations

Wanted:

  • Map of features
  • Path of the robot

The SLAM Problem

slide-6
SLIDE 6

The SLAM Problem

6

  • Absolute

robot pose

  • Absolute

landmark positions

  • But only relative

measurements of landmarks

slide-7
SLIDE 7

SLAM Applications

SLAM is central to a range of indoor,

  • utdoor, in-air and underwater applications

for both manned and autonomous vehicles. Examples:

  • At home: vacuum cleaner, lawn mower
  • Air: surveillance with unmanned air vehicles
  • Underwater: reef monitoring
  • Underground: exploration of abandoned mines
  • Space: terrain mapping for localization

7

slide-8
SLIDE 8

8

SLAM Applications Indoors Space Undersea Underground

slide-9
SLIDE 9

9

Map Representations

Examples: Subway map, city map, landmark-based map Maps are topological and/or metric models of the environment

slide-10
SLIDE 10

10

Map Representations

  • Grid maps or scans, 2d, 3d

[Lu & Milios, 97; Gutmann, 98: Thrun 98; Burgard, 99; Konolige & Gutmann, 00; Thrun, 00; Arras,

99; Haehnel, 01;…]

  • Landmark-based

[Leonard et al., 98; Castelanos et al., 99: Dissanayake et al., 2001; Montemerlo et al., 2002;…

slide-11
SLIDE 11

11

Why is SLAM a hard problem?

  • 1. Robot path and map are both unknown
  • 2. Errors in map and pose estimates correlated
slide-12
SLIDE 12

12

Why is SLAM a hard problem?

  • In the real world, the mapping between
  • bservations and landmarks is unknown

(origin uncertainty of measurements)

  • Data Association: picking wrong data

associations can have catastrophic consequences (divergence)

Robot pose uncertainty

slide-13
SLIDE 13

13

SLAM: Simultaneous Localization And Mapping

  • Full SLAM:
  • Online SLAM:

Integrations (marginalization) typically done recursively, one at a time

p(x0:t,m | z1:t,u1:t) p(xt,m | z1:t,u1:t) = … p(x1:t,m | z1:t,u1:t) dx1

∫ ∫ ∫

dx2...dxt−1

Estimates most recent pose and map! Estimates entire path and map!

slide-14
SLIDE 14

14

Graphical Model of Full SLAM ) , | , (

: 1 : 1 : 1 t t t

u z m x p

slide-15
SLIDE 15

15

Graphical Model of Online SLAM

1 2 1 : 1 : 1 : 1 : 1 : 1

... ) , | , ( ) , | , (

∫∫ ∫

=

t t t t t t t

dx dx dx u z m x p u z m x p …

slide-16
SLIDE 16

16

Graphical Model: Models

"Motion model" "Observation model"

slide-17
SLIDE 17

17

Remember? KF Algorithm

1. Algorithm Kalman_filter(µt-1, Σt-1, ut, zt): 2. Prediction: 3. 4. 5. Correction: 6. 7. 8. 9. Return µt, Σt

t t t t t

u B A + =

−1

µ µ

t T t t t t

R A A + Σ = Σ

−1 1

) (

+ Σ Σ =

t T t t t T t t t

Q C C C K ) (

t t t t t t

C z K µ µ µ − + =

t t t t

C K I Σ − = Σ ) (

slide-18
SLIDE 18

EKF SLAM: State representation

  • Localization

3x1 pose vector

3x3 cov. matrix

  • SLAM

Landmarks are simply added to the state.

Growing state vector and covariance matrix!

18

slide-19
SLIDE 19

Bel(xt,mt) = x y θ l1 l2  lN                       , σ x

2

σ xy σ xθ σ xl1 σ xl2  σ xlN σ xy σ y

2

σ yθ σ yl1 σ yl2  σ ylN σ xθ σ yθ σθ

2

σθl1 σθl2  σθlN σ xl1 σ yl1 σθl1 σ l1

2

σ l1l2  σ l1lN σ xl2 σ yl2 σθl2 σ l1l2 σ l2

2

 σ l2lN        σ xlN σ ylN σθlN σ l1lN σ l2lN  σ lN

2

                     

  • Map with n landmarks: (3+2n)-dimensional

Gaussian

  • Can handle hundreds of dimensions

19

EKF SLAM: State representation

slide-20
SLIDE 20

EKF SLAM: Building the Map

Filter Cycle, Overview:

  • 1. State prediction (odometry)
  • 2. Measurement prediction
  • 3. Observation
  • 4. Data Association
  • 5. Update
  • 6. Integration of new landmarks

20

slide-21
SLIDE 21
  • State Prediction

EKF SLAM: Building the Map

21

Odometry: (skipping time index k) Robot-landmark cross- covariance prediction:

slide-22
SLIDE 22

EKF SLAM: Building the Map

  • Measurement Prediction

22

Global-to-local frame transform h

slide-23
SLIDE 23
  • Observation

EKF SLAM: Building the Map

23

(x,y)-point landmarks

slide-24
SLIDE 24

Associates predicted measurements with observation

  • Data Association

EKF SLAM: Building the Map

24

?

(Gating)

slide-25
SLIDE 25

EKF SLAM: Building the Map

  • Filter Update

25

The usual Kalman filter expressions

slide-26
SLIDE 26
  • Integrating New Landmarks

EKF SLAM: Building the Map

26

State augmented by Cross-covariances:

slide-27
SLIDE 27

27

EKF SLAM

Map Correlation matrix

slide-28
SLIDE 28

28

EKF SLAM

Map Correlation matrix

slide-29
SLIDE 29

29

EKF SLAM

Map Correlation matrix

slide-30
SLIDE 30

EKF SLAM: Correlations Matter

  • What if we neglected cross-correlations?

→ Landmark and robot uncertainties would

become overly optimistic

→ Validation gates for matching too small → Data association would fail → Multiple map entries of the same landmark → Inconsistent map

30

Video

slide-31
SLIDE 31

Error Propagation (cont.)

Want to derive: In words: how is the cross-correlation CXZ between two normally distributed RVs X and Z with moments x, CX and z, CZ affected by a linear transform of X

  • f the form

We recall that the following holds:

31

?

slide-32
SLIDE 32

Error Propagation (cont.)

We augment the linear mapping by the variable

  • f interest

Note that this implements

32

slide-33
SLIDE 33

Error Propagation (cont.)

Renaming the variables of the augmented system gives with the augmented covariance matrices The augmented covariance matrix is again given by

33

slide-34
SLIDE 34

Error Propagation (cont.)

Resubstitution yields Thus:

34

slide-35
SLIDE 35

SLAM: Loop Closure

  • Loop closure is the problem of recognizing an

already mapped area, typically after a long exploration path (the robot "closes a loop")

  • Structually identical to data association, but
  • high levels of ambiguity
  • possibly useless validation gates
  • environment symmetries
  • Uncertainties collapse after a loop closure

(whether the closure was correct or not)

35

slide-36
SLIDE 36

SLAM: Loop Closure

  • Before loop closure

36

slide-37
SLIDE 37

SLAM: Loop Closure

  • After loop closure

37

slide-38
SLIDE 38

SLAM: Loop Closure

  • By revisiting already mapped areas, uncertain-

ties in robot and landmark estimates can be reduced

  • This can be exploited to "optimally" explore

an environment for the sake of better (e.g. more accurate) maps

  • Exploration: the problem of where to acquire

new information (e.g. depth-first vs. breadth first)

See separate chapter on exploration

38

slide-39
SLIDE 39
  • The determinant of any sub-matrix of the map

covariance matrix decreases monotonically as successive observations are made

39

KF-SLAM Properties (Linear Case)

[Dissanayake et al., 2001]

  • When a new land-

mark is initialized, its uncertainty is maximal

  • Landmark uncer-

tainty decreases monotonically with each new observation

slide-40
SLIDE 40
  • In the limit, the landmark estimates become

fully correlated

40

KF-SLAM Properties (Linear Case)

[Dissanayake et al., 2001]

slide-41
SLIDE 41
  • In the limit, the covariance associated with any

single landmark location estimate is determined

  • nly by the initial covariance in the vehicle

location estimate.

41

KF-SLAM Properties (Linear Case)

[Dissanayake et al., 2001]

slide-42
SLIDE 42

42

EKF SLAM Example: Victoria Park

Syndey, Australia

slide-43
SLIDE 43

43

Victoria Park: Data Acquisition

[courtesy by E. Nebot]

slide-44
SLIDE 44

44

Victoria Park: Estimated Trajectory

[courtesy by E. Nebot]

slide-45
SLIDE 45

45

Victoria Park: Landmarks

[courtesy by E. Nebot]

slide-46
SLIDE 46

46

EKF SLAM Example: Tennis Court

[courtesy by J. Leonard]

slide-47
SLIDE 47

47

EKF SLAM Example: Tennis Court

  • dometry

estimated trajectory

[courtesy by John Leonard]

slide-48
SLIDE 48

EKF SLAM Example: Line Features

  • KTH Bakery Data Set

48

[Wulf et al., ICRA 04]

slide-49
SLIDE 49

EKF SLAM Example: AGV

  • Pick-and-Place AGV at Geiger AG, Ludwigsburg

(Project by LogObject/Nurobot)

49

[courtesy by LogObject/Nurobot]

slide-50
SLIDE 50

EKF SLAM Example: AGV

  • Pick-and-Place AGV at Geiger AG, Ludwigsburg

(Project by LogObject/Nurobot)

50

[courtesy by LogObject/Nurobot]

slide-51
SLIDE 51

51

EKF-SLAM: Complexity

  • Cost per step: quadratic in n, the number of

landmarks: O(n2)

  • Total cost to build a map with n landmarks:

O(n3)

  • Memory: O(n2)

Problem: becomes computationally intractable for large maps!  Approaches exist that make EKF-SLAM amortized O(n) / O(n2) / O(n2) D&C SLAM [Paz et al., 2006]

slide-52
SLIDE 52

52

SLAM Techniques

  • EKF SLAM
  • FastSLAM
  • Graphical SLAM
  • Topological SLAM

(mainly place recognition)

  • Scan Matching / Visual Odometry

(only locally consistent maps)

  • Approximations for SLAM: Local submaps,

Sparse extended information filters, Sparse links, Thin junction tree filters, etc.

slide-53
SLIDE 53

53

EKF-SLAM: Summary

  • Convergence proof for linear case!
  • Can diverge if nonlinearities are large

(and the reality is nonlinear...)

  • First-order error propagation becomes a
  • problem. Uncertainties large with respect to

the degree of non-linearity

  • Has been successfully applied in medium-

scale environments

  • Approximations reduce the computational

complexity

slide-54
SLIDE 54

54

  • Local submaps

[Leonard et al.99, Bosse et al. 02, Newman et al. 03]

  • Sparse links (correlations)

[Lu & Milios 97, Guivant & Nebot 01]

  • Sparse extended information filters

[Frese et al. 01, Thrun et al. 02]

  • Thin junction tree filters

[Paskin 03]

  • Rao-Blackwellisation (FastSLAM)

[Murphy 99, Montemerlo et al. 02, Eliazar et al. 03, Haehnel et al. 03]

Approximations for SLAM