Académique Documents
Professionnel Documents
Culture Documents
SLAM
Qualifying Oral Examination Andrew Hogue hogue@cs.yorku.ca
York University, Toronto, Ontario June 20, 2005
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?
Where am I?
SLAM Applications
Oil Pipeline
Inspection
Robot Localization, "Where am I?# Robot Mapping, "What does the world look like?#
Mapping requires the robot location! Localization requires a map! Probability is the key
in Stochastic Framework simultaneously Localization Mapping
Map/Scan Matching
Lu & Milios !! AR$97, Cox et al, IEEE Robotics & Automation 91
Geometric Beacons
Leonard & Durrant! Whyte
IEEE Robotics & Automation %91
D. Fox PhD
Thesis Bonn 1998
SLAM !
SLAM ! Formalized
p(st , |z t , ut , nt )
Robot Location
[x, y, ]
Bayesian formulation to estimate Spatial Relationships between Landmarks + estimate Robot Position
Observations
Data Associations
[p, q ]
Map Features
SLAM coined by Leonard & Durrant! Whyte !! IROS$91 and CML 'Concurrent Mapping and Localization( by Thrun et al. Machine Learning 1998
1 2 .3 . . n
z1 z2 z3 . . . zn
Control Inputs
u1 u2 u3 . . . un
n1 n2 n3 . . . nn
SLAM ! Formalized
SLAM ! Formalized
p(st , |z t , ut , nt )
= p(zt |st , , nt )
p(st , |z t , ut , nt )
Probability of robot being at position within environment represented as map
st
} }
given knowledge of the observations zt the control inputs 'commanded motion( ut and Data Associations nt : f (zi ) i
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
p(st , |z t , ut , nt ) N (t , t )
N (, 2 ) = 1 2 2 e
(x)2 2 2
t = [st , 1 , 2 , . . . , n ]
Covariance Matrix estimates uncertainties and relationships between each element in state vector
t = E[t T ] t
Disadvantages:
Assumes Uni!modal Gaussian Probability distributions Linear Motion Model Time complexity O(n3 ) due to matrix inversion
Strictly speaking, matrix inversion is actually
p(xt ) = {xi , wi }
O(nlog2 7 ) O(n2.807 )
FastSLAM
Estimates slightly di)erent posterior
p(st , |z t , ut , nt ) p(st , |z t , ut , nt )
Robot Trajectory or Paths instead of simply pose This allows for a re!formulation as a Rao!Blackwellised Particle Filter
N
p(s , |z , u , n ) = p(s |z , u , n )
p(n |st , z t , ut , nt )
n=1
}
Particle Filter
}
N Separate Kalman Filters Map per Particle!
Other Approaches
Sparse Extended Information Filters
Thrun et al Robotics Research 2004
maintains
1 , T 1
Submap approaches
Representational Issues
Map representation Sparse set of landmarks 'beacons, salient visual
features(
Unstructured 3D Environments
Most SLAM algorithms assume relatively planar
motion mine mapping, robot has good idea of own motion, world is locally *at publications, and not traditional SLAM algorithm
Some work on Handheld motion 'MDA iSM( but no 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
Dynamic Environments
Burgard et al. AI 2000
localize using vision looking at ceiling, people detection separate using spurious proximity sources
doors open and close people, &sh, other robots plays havoc on many vision based algorithms
map learning using EM alg. Identify data that cannot be explained by the rest of the data, i.e. dynamic objects.
Loop Closing
Important issue in SLAM Ability to close loops allow robot to FastSLAM ! able to close loops
%&x$ map estimate and minimize error in pose and map automatically, but requires often very informative updates to stay on track separate algorithm to identify loops and then perform expensive update to entire map
Theoretical analysis of data associations? How bad does the algorithm perform with 1
incorrect data association, many incorrect?
Informed Sensing
Can sensor parameters be estimated within
SLAM framework?
Conclusions
Applications of SLAM Literature Overview Formal SLAM overview Current Approaches Open Problems
Sensor data produces pose and maps Maps produce estimates of what landmarks are
available
Thank You
Extra Slides
Bayes Rule
P (X Y ) = P (X|Y )P (Y ) P (X Y ) = P (Y |X)P (X)
P (X Y ) P (Y ) = 0 P (X|Y ) = P (Y )
P (Y |X) = P (X Y ) P (X) = 0 P (X)
E[x] =
xp(x)dx
E [[x E[x]] ] =
(x E[x])r p(x)dx
P (Y |X)P (X) P (Y )
Markov Assumption
Markov!chain process
current state is conditionally dependent only upon the previous state
Kalman Filters
KF
Linear motion model, zero!mean gaussian noise, unimodal distribution slightly nonlinear motion model '&rst order approximation(, zero!mean gaussian noise, unimodal distribution nonlinear motion model '2nd order general, 3rd order gaussian, zero!mean gaussian noise, unimodal distribution
EKF
UKF
p(xt+1 ) =
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 high computational complexity, 'many particles( di+cult to prove optimal number of particles degeneracy & diversity
Degeneracy
set of particles do not relate to reality
Diversity
informative particles now lost due to resampling
Disadvantages
Depletion
not enough particles or too many copies of same particle introduced
Sparse EIFs
use standard EKF alg, on inverse
covariance
Implicit Relationship SEIF
Sparse EIFs
L1 L2
feature!based EKF!SLAM
Covariance Matrix R1 R2
Information Matrix
U. Frese ICRA05
o)!diagonal entries for 2 landmarks decay exponentially with distance traveled betwen observation of &rst and second landmark
Advantages
Constant time update if bound active landmarks need to ensure sparsity map is inaccessible, must invert information matrix
Disadvantages
Disadvantages
Cannot explicitly model cyclic environments data association not addressed
Atlas
Topological + Metric information graph of coordinate frames, each node is frame,
each edge is transformation between frames
HYMMs
Combines feature maps with other dense info partitions space into local triangular regions,
similar to Atlas
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
DP!SLAM
Ancestry tree of all particles current particles are the leaves parent is particle at previous iteration from which
current particle was resampled
DP!SLAM
Advantages
pure particle <ering approach e+cient data structure closes large loops automatically '50 meters( requires many particles for complex environments works in %real!time$ but examples given are complex and required 24 hours to complete
each grid cell contains a set of observations of cell from all particles in ancestry tree, occupancy is determined by looking at this history
Disadvantages
need to maintain balanced tree for e+ciency keep minimal, prune nodes with no children
FastSLAM Videos
Examples
Typically, robot pose is de&ned as -x,y,theta.,
robot moving in a plane
referenced in the %world$ frame, transformed from the robot frame, early work used sonar, latest work uses laser range &nder dpslam all estimate occupancy grids displacement from scan matching