SLAM - CUNY.edu

advertisement
Probabilistic Robotics
SLAM
The SLAM Problem
A robot is exploring an
unknown, static environment.
Given:
• The robot’s controls (U1:t)
• Observations of nearby features (Z1:t)
Estimate:
• Map of features (m)
• Pose / Path of the robot (xt)
2
Why is SLAM a hard problem?
Robot pose
uncertainty
• In the real world, the mapping between
•
observations and landmarks is unknown
Picking wrong data associations can have
catastrophic consequences
3
Nature of the SLAM Problem
 Continuous
component
Location of objects in
the map
Robot’s own pose
 Discrete
component
Correspondence
Object is the same or not
4
SLAM:
Simultaneous Localization and Mapping
• Full SLAM:
Estimates entire path and map!
p( x1:t , m | z1:t , u1:t )
Estimates
Given
Entire pose (x1:t) and map (m)
Previous knowledge (Z1:t-1, U1:t-1)
Current measurement (Zt, Ut)
5
Graphical Model of Full SLAM:
p( x1:t , m | z1:t , u1:t )
6
SLAM:
Simultaneous Localization and Mapping
• Online SLAM:
p( xt , m | z1:t , u1:t )
Estimates
Given
Most recent pose (xt) and map (m)
Previous knowledge (Z1:t-1, U1:t-1)
Current measurement (Zt, Ut)
Estimates most recent pose and map!
7
Graphical Model of Online SLAM:
p( xt , m | z1:t , u1:t )      p( x1:t , m | z1:t , u1:t ) dx1 dx2 ...dxt 1
Integrations typically done one at a time
8
SLAM with Extended Kalman Filter
• Pre-requisites
• Maps are feature-based (landmarks)
small number (< 1000)
• Assumption - Gaussian Noise
• Process only positive sightings
No landmark = negative
Landmark = positive
9
EKF-SLAM with known correspondences
Correspondence
Data association problem
Landmarks can’t be
uniquely identified
Correspondence variable
(Cit)
True identity of
observed feature
between feature (fit) and real landmark

f t  rt
i
i

i
t
S

i T
t
10
EKF-SLAM with known correspondences
Signature
Numerical value (average color)
Characterize type of landmark
(integer)
Multidimensional vector
(height and color)
11
EKF-SLAM with known correspondences
Similar development to EKF localization
Diff  robot pose + coordinates of all landmarks
Combined state vector
 xt 
yt     x
m
y 
m1, x
p( yt | z1:t , u1:t )
m1, y
S1 ... mN , x
(3N + 3)
mN , y
SN 
T
Online posterior
12
Mean
Motion update
Covariance
Test for new landmarks
Initialization
of elements
Expected measurement
Iteration through
measurements
Filter is updated
13
EKF-SLAM with known correspondences
Observing a landmark
improves robot pose estimate
eliminates some uncertainty
of other landmarks
Improves position estimates of
the landmark + other landmarks
We don’t need to model past
poses explicitly
14
EKF-SLAM with known correspondences
Example:
15
EKF-SLAM with known correspondences
Example:
• Uncertainty of landmarks are mainly due to
robot’s pose uncertainty (persist over time)
Estimated location of landmarks are correlated
16
EKF-SLAM with unknown correspondences
• No correspondences for landmarks
• Uses an incremental maximum likelihood (ML) estimator
Determines most likely value of the correspondence variable
Takes this value for granted later on
17
EKF-SLAM with unknown correspondences
Mean
Motion update
Covariance
Hypotheses of
new landmark
18
19
General Problem
Gaussian noise assumption
Unrealistic
Spurious measurements
Fake landmarks
Outliers
Affect robot’s localization
20
Solutions to General Problem
Provisional landmark list
New landmarks do not augment the map
Not considered to adjust robot’s pose
Consistent observation
regular map
21
Solutions to General Problem
Landmark Existence Probability
Landmark is observed
Observable variable (o) increased by fixed value
Landmark is NOT observed when it should
Observable variable decreased
Removed from map when (o) drops below
threshold
22
Problem with Maximum Likelihood (ML)
Once ML estimator determines likelihood of correspondence, it
takes value for granted
always correct
Makes EKF susceptible to landmark confusion
Wrong results
23
Solutions to ML Problem
Spatial arrangement
Greater distance between landmarks
Less likely confusion will exist
Trade off:
few landmarks
harder to localize
Little is known about optimal density of
landmarks
Signatures
Give landmarks a very perceptual distinctiveness
(e,g, color, shape, …)
24
EKF-SLAM Limitations
• Selection of appropriate landmarks
• Reduces sensor reading utilization to presence or absence of
those landmarks
Lots of sensor data is discarded
• Quadratic update time
Limits algorithm to scarce maps (< 1000
features)
• Low dimensionality of maps
harder data association
problem
25
EKF-SLAM Limitations
• Fundamental Dilemma of EKF-SLAM
It might work well with dense maps (millions of features)
It is brittle with scarce maps
BUT
It needs scarce maps because of complexity of the
algorithm (update process)
26
SLAM Techniques
• EKF SLAM  (chapter 10)
• Graph-SLAM  (chapter 11)
• SEIF  (chapter 12)
• Fast-SLAM  (chapter 13)
27
Graph-SLAM
• Solves full SLAM problem
• Represents info as a graph of soft constraints
• Accumulates information into its graph without
resolving it (lazy SLAM)
• Computationally cheap
• At the other end of EKF-SLAM
Process information right
away (proactive SLAM)
Computationally expensive
28
Graph-SLAM
• Calculates posteriors over robot path (not
incremental)
• Has access to the full data
• Uses inference to create map using stored data
Offline algorithm
29
Sparse Extended Information
Filter (SEIF)
• Implements a solution to online SLAM problem
• Calculates current pose and map (as EKF)
• Stores information representation of all knowledge (as
Graph-SLAM)
Runs Online and is computationally efficient
• Applicable to multi-robot SLAM problem
30
FastSLAM Algorithm
•
•
•
•
Particle filter approach to the SLAM problem
Maintain a set of particles
Particles contain a sampled robot path and a map
The features of the map are represented by own local
Gaussian
• Map is created as a set of separate Gaussians
Map features are conditionally independent
given the path
Factoring out the path (1 per particle)
Map feature become independent
Eliminates the need to maintain
correlation among them
31
FastSLAM Algorithm
• Updating in FastSLAM
Sample new pose
update the observed features
• Update can be performed online
• Solves both online and offline SLAM problem
• Instances
Feature-based maps
Grid-based algorithm
32
Approximations for SLAM Problem
• 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]
33
Thanks !!
34
Download