Download - SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Transcript
Page 1: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Simultaneous Localization and Mapping ! SLAM

Andrew [email protected]

York University, Toronto, OntarioJune 20, 2005

Qualifying Oral Examination

Overview

• What is SLAM?

• Why do SLAM?

• Who, When, Where? !! A very brief literature overview

• How has the problem been solved?

• What to do next? Issues, Concerns, Open Problems

What is SLAM?

• SLAM addresses two key problems in Robotics

• Robot Localization, "Where am I?#

• Robot Mapping, "What does the world look like?#

• Goal: Simultaneously estimate both Map & Robot Location!

Where am I?

SLAM Applications

• Oil Pipeline Inspection

• Ocean Surveying & Underwater Navigation

• Mine Exploration

• Coral Reef Inspection

• Military Applications

• Crime Scene Investigation

Page 2: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

A Brief History of SLAM

Which came &rst, the chicken or the egg?

• Mapping requires the robot location!

• Localization requires a map!

• Probability is the key

• It is possible to address both problems in Stochastic Framework simultaneously M. Csorba ! PhD Thesis ! Oxford 1997P. Newman ! PhD Thesis ! ACFR 1999

Localization Mapping

Mapping without Localization

Elfes & Moravec Occupancy GridsICRA$85, Computer %89

Kuipers & Byun ! Topological MapsRobotics & Autonomous Systems 1991

Localization without Mapping

Map/Scan Matching Lu & Milios !! AR$97, Cox et al, IEEE Robotics & Automation 91

Geometric BeaconsLeonard & Durrant!

Whyte IEEE Robotics & Automation

%91

Particle Filters

D. Fox PhD Thesis

Bonn 1998

Page 3: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

SLAM !• Early work on SLAM done by

Smith, Self and Cheeseman Journal of Robotics Research 1987, Autonomous Robot Vehicles 1990

• Bayesian formulation to estimate Spatial Relationships between Landmarks + estimate Robot Position

• SLAM coined by Leonard & Durrant!Whyte !! IROS$91 and CML 'Concurrent Mapping and Localization( by Thrun et al. Machine Learning 1998

Simultaneous Localization And Mapping SLAM ! Formalized

p(st,!|zt, u

t, n

t)

Robot Location

Map Features

Observations

Control Inputs

Data Associations

z1

z2

z3

zn

.

.

.

.

.

.

n1

n2

n3

nn

u1

u2

u3

un

.

.

.

!1

!2

!3

!n

.

.

.

[x, y, !]

[!p, q̂]

SLAM ! Formalized

p(st,!|zt, u

t, n

t)

Probability of robot being at position st

within environment represented as map !

ut

zt

nt : f(zi) ! !i

given knowledge of the observations

the control inputs 'commanded motion(

and Data Associations

SLAM ! Formalized

! =

!p(zt|st,!, zt!1, ut, nt)p(st,!|zt!1, ut, nt)dst

= !p(zt|st,!, nt)

!p(st|st!1, u

t)p(st!1,!|zt!1, ut!1, nt!1)dst!1}

Measurement Model

}

Motion Model

Normalizing constantensures that the resulting posterior is a probability

p(st,!|zt, u

t, n

t) Using Bayes Rule, Markov Assumption & Simplifying

Page 4: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Solutions to SLAM

• Two Main approaches to "solving# SLAM

• Kalman Filtering Approaches

• Smith et al. Robotics Research 1987, Leonard et al. IROS$91, Dissanyake et al. IEEE R&A 2001, Durrant!Whyte et al. Learning 2001

• Particle Filtering Approaches

• Montemerlo et al. AI 2002, Eliazar IJCAI$03, Grisetti et al. ICRA$05

Kalman Filtering Approaches

µt = [st, !1, !2, . . . , !n]

!t = E[µtµT

t ]

p(st,!|zt, ut, nt) ! N(µt,"t)

N(µ, !2) =1

!

2"!2e

!(x!µ)2

2!2

Kalman Filter approximates the posterior as a Gaussian

Mean 'state vector( contains robot location and map points

Covariance Matrix estimates uncertainties and relationships between each element in state vector

Kalman Filtering Approaches• Advantages

• Simple to implement

• works well in practice

• Disadvantages:

• Assumes Uni!modal Gaussian Probability distributions

• Linear Motion Model

• Time complexity due to matrix inversionO(n3)

O(nlog27) ! O(n2.807)Strictly speaking, matrix inversion is actually

Particle Filtering Approaches

•Gaussians are closed form and simple to estimate but real processes are almost never Gaussian

•Particle Filters solve this by estimating a general PDF using sampling techniques

•Estimate pdf p'( as a set of samples weighted by their likelihood

p(xt) = {xi, wi}

Page 5: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Particle Filtering Approaches

• FastSLAM, Montemerlo ! AI 2002

• Rao!Blackwellised Particle Filter

• Each particle samples trajectory, each particle contains separate EKF for map points

• DP!SLAM, Eliazar and Parr !! IJCAI$03, ICRA$04

• pure particle &ltering approach sampling pose and map space

FastSLAM

p(st,!|zt, u

t, n

t) ! p(st,!|zt

, ut, n

t)

Estimates slightly di)erent posterior

Robot Trajectory or Paths instead of simply pose

This allows for a re!formulation as a Rao!Blackwellised Particle Filter

p(st,!|zt

, ut, n

t) = p(st|zt, u

t, n

t)N!

n=1

p(!n|st, z

t, u

t, n

t)} }Particle Filter

N Separate Kalman FiltersMap per Particle!

Other Approaches

• Sparse Extended Information FiltersThrun et al Robotics Research 2004

• maintains

• Thin Junction Tree FiltersPaskin IJCAI$03

• Submap approaches

• Atlas, Bosse et al. ICRA$03

• HYMMs, Nieto et al. ICRA$04

!!1

, µT!

!1

Issues & Open Problems

• Representational Issues

• Unstructured 3D Environments

• Dynamic Environments

• Data Association Issues

• Loop Closing

• Informed Sensing

Page 6: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Representational Issues• Map representation

• Sparse set of landmarks 'beacons, salient visual features(

• Dense representations 'stereo, dense laser data(

• PDF Representation

• Closed form 'KF or other(, limited to simple pdf forms

• Sample based 'Particle Filtering(, general pdf

Unstructured 3D Environments

• Most SLAM algorithms assume relatively planar motion

• mine mapping, robot has good idea of own motion, world is locally *at

• Some work on Handheld motion 'MDA iSM( but no publications, and not traditional SLAM algorithm

• Guivant et al ! HYMMs ! Robotics Research 2004

• C. Wang ! City mapping ! Thesis CMU 2004

• Davison et al. ! single camera + models ! ICCV$03, IAV$04

Dynamic Environments

• Our world is not static

• Environment changes states

• doors open and close

• Objects move

• people, &sh, other robots

• Lighting is dynamic

• plays havoc on many vision based algorithms

Dynamic Environments• Burgard et al. AI 2000

• localize using vision looking at ceiling, people detection separate using spurious proximity sources

• Hahnel et al. IROS$02, ICRA$03

• map learning using EM alg. Identify data that cannot be explained by the rest of the data, i.e. dynamic objects.

• Montemerlo et al. ICRA$02

• existing map. Use particle &lters for people and localization.

• Wolf et al. ICRA$04

• 2 occupancy grids, dynamic and static

Page 7: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Data Association Issues

• In EKF SLAM, bad data association causes &lter to diverge!

• Hahnel ! Lazy Data Association ! ISRR$03

• Nieto ! FastSLAM Multi!Hypothesis ! ICRA$03

• How to recover from incorrect Data Associations?

• Theoretical analysis of data associations?

• How bad does the algorithm perform with 1 incorrect data association, many incorrect?

nt : f(zi) ! !i

Loop Closing

• Important issue in SLAM

• Ability to close loops allow robot to %&x$ map estimate and minimize error in pose and map

• FastSLAM ! able to close loops automatically, but requires often very informative updates to stay on track

• EKF!based approaches must perform separate algorithm to identify loops and then perform expensive update to entire map

Informed Sensing

• Can sensor parameters be estimated within SLAM framework?

• Sensor data produces pose and maps

• Maps produce estimates of what landmarks are available

• Does this help in reducing errors in maps?

Conclusions

• Applications of SLAM

• Literature Overview

• Formal SLAM overview

• Current Approaches

• Open Problems

Page 8: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Thank You Extra Slides

Bayes RuleP (X ! Y ) = P (X|Y )P (Y )

P (X ! Y ) = P (Y |X)P (X)

P (X|Y ) =P (X ! Y )

P (Y )P (Y ) != 0

P (Y |X) =P (X ! Y )

P (X)P (X) != 0

P (X, Y ) = P (X|Y )P (Y ) = P (Y |X)P (X)

P (X|Y ) =P (Y |X)P (X)

P (Y )Bayes Rule

Expected Value & Moments

E[x] =

! +!

"!

xp(x)dx E [[x ! E[x]]r] =

! +!

"!

(x ! E[x])rp(x)dx

E[c] = c

E [E[x]] = E[x]E[x + y] = E[x] + E[y]

E[xy] = E[x]E[y]

Expected Value Rules

Generalized Central MomentMean

Page 9: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Markov Assumption

• Markov!chain process

• current state is conditionally dependent only upon the previous state

p(xt+1|x0, x1, . . . , xt) = p(xt+1|xt)

p(xt+1) =

!p(xt+1|xt)p(xt)dxt

Probability of variable at time t+1 can be computed as

Kalman Filters• KF

• Linear motion model, zero!mean gaussian noise, unimodal distribution

• EKF

• slightly nonlinear motion model '&rst order approximation(, zero!mean gaussian noise, unimodal distribution

• UKF

• nonlinear motion model '2nd order general, 3rd order gaussian, zero!mean gaussian noise, unimodal distribution

• M. Csorba, Thesis Oxford 1997

• theoretical analysis of EKF SLAM

• correlations arise between errors in vehicle & map estimates ! fundamental to solving SLAM

• limit of map accuracy determined by initial uncertainty in vehicle pose

• P. Newman, Thesis ACFR 1999

• further theoretical results

• Uncertainty in each landmark monotonically decreases

• in the limit as number of observations increase, cov. matrix is fully correlated, rel. are fully known

• initial uncertainty limits landmark uncertainty

Particle Filtering• Advantages

• simple to implement

• represent arbitrary pdf $s, even multi!modal

• adaptive focusing on probable regions of state!space

• deals with non!gaussian noise

• Disadvantages

• high computational complexity, 'many particles(

• di+cult to prove optimal number of particles

• degeneracy & diversity

Degeneracyset of particles do not

relate to reality

Diversityinformative particles now

lost due to resampling

Depletionnot enough particles or

too many copies of same particle introduced

Page 10: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Sparse EIFs

• use standard EKF alg, on inverse covariance

• feature!based EKF!SLAM

• cov matrix is naturally almost sparse

• if not exactly sparse, make it sparse!

• U. Frese ICRA05

• o)!diagonal entries for 2 landmarks decay exponentially with distance traveled betwen observation of &rst and second landmark

R1 R2

L1 L2

R1 R2

L1 L2

Implicit Relationship

SEIF

Sparse EIFs

Covariance Matrix Information Matrix

• Advantages

• Constant time update if bound active landmarks

• Disadvantages

• need to ensure sparsity

• map is inaccessible, must invert information matrix

SEIFs Latest Results• Eustice ICRA05, RSS05

• re!formulated SLAM as view!based instead of feature!based

• information matrix is EXACTLY sparse

• no need to make sparse

• uses scan!matching between frames to register raw sensor data 'gives pose displacements(

Eustice RSS05Map of Titanic

Thin Junction Tree Filters

• Related to SEIFs

• exploit sparseness

• use e+cient data structure, thin junctions to make sparse

• Disadvantages

• Cannot explicitly model cyclic environments

• data association not addressed

Page 11: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

Atlas• Topological + Metric information

• graph of coordinate frames, each node is frame, each edge is transformation between frames

• each node contains map of local area

• loop closing not explicit, done separately

• Can do large!scale environments

• Computation is bounded by size of local frame only

HYMMs

• Combines feature maps with other dense info

• partitions space into local triangular regions, similar to Atlas

• Output in examples is a dense occupancy grid

DP!SLAM• Ancestry tree of all particles

• current particles are the leaves

• parent is particle at previous iteration from which current particle was resampled

• map per particle is estimated, but not explicitly

• each grid cell contains a set of observations of cell from all particles in ancestry tree, occupancy is determined by looking at this history

• need to maintain balanced tree for e+ciency

• keep minimal, prune nodes with no children

DP!SLAM• Advantages

• pure particle &ltering approach

• e+cient data structure

• closes large loops automatically '50 meters(

• Disadvantages

• requires many particles for complex environments

• works in %real!time$ but examples given are complex and required 24 hours to complete

Page 12: SLAM Applications What is SLAM?hogue/qual_slides.pdf · Solutions t o SLAM ¥ Two M ain approaches t o "solving # SLAM ¥ Kalman F iltering Approaches ¥ Smith et al. R obotics R

FastSLAM Videos

Courtesy of D. Foxhttp://www.cs.washington.edu/ai/

Mobile_Robotics/mcl/

Courtesy of D. Hahnelhttp://www.informatik.uni!

freiburg.de/,haehnel/

Examples• Typically, robot pose is de&ned as -x,y,theta.,

robot moving in a plane

• Typical measurements are range from the robot referenced in the %world$ frame, transformed from the robot frame, early work used sonar, latest work uses laser range &nder

• Typical map is an occupancy grid, fastslam, dpslam all estimate occupancy grids

• Typical control input is odometry or pose displacement from scan matching

SLAM & Navigation

• Use SLAM to guide Navigation

• R. Sim, Diss. McGill 2003, looked more on exploration & navigation strategies separate from SLAM

• Bryson et al. ICRA$05, intelligent planning using mutual information gain and entropy of SLAM covariance matrix as an information metric

• Sim ICRA$05, exploration strategies using information gain of SLAM alg., in simulation only

• Milford, RatSLAM, ICRA$05, goal directed navigation using SLAM map and pose