IntroductionSimultaneous Localization And Mapping
Steps in SLAM
SLAM AlgorithmSimultaneous Localization And Mapping
Albin Frischenschlager, 0926427
December 17, 2013
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Outline
1 IntroductionDefinitionLocalization ExampleMapping Example
2 Simultaneous Localization And MappingWhat is SLAM?SLAM ExampleFlowchart
3 Steps in SLAMLandmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
DefinitionLocalization ExampleMapping Example
What is ...
Robot - a device, that moves through the environment
Landmark - characteristic, reobservable point in theenvironment
Localization - estimating the robot’s location
Mapping - building a map
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
DefinitionLocalization ExampleMapping Example
Localization Example
Estimate the robot’s pose given landmarks
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
DefinitionLocalization ExampleMapping Example
Localization Example
Estimate the robot’s pose given landmarks
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
DefinitionLocalization ExampleMapping Example
Mapping Example
Estimate the landmarks given the robot’s poses
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
DefinitionLocalization ExampleMapping Example
Mapping Example
Estimate the landmarks given the robot’s poses
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
What is SLAM?
SLAM - Computing the robot’s pose and the map of theenvironment at the same time → i.e. do localization andmapping simultaneously
it’s a chicken-or-egg problem:
a map is needed for localization anda pose is needed for mapping
it’s a hard problem → map and pose estimates correlate
it’s a important problem
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Example
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM Algorithm
There isn’t ’the’ SLAM algorithm
SLAM is just a problem, but luckily there a possibilities tosolve it
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
What is SLAM?SLAM ExampleFlowchart
SLAM flowchart
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Landmark Extraction
Extract from the environmental sensors characteristic points
Input can be a camera image, array of measurements, ...
Algorithms for array of measurements:
SpikeRANSAC (Random Sampling Consensus)Scan-MatchingGeometric polygon extraction
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Landmark Extraction
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Data Association
Matching observed landmarks with those previously stored inthe map
Wrong association can have catastrophic consequences(divergence)
(gated) Nearest-neighbor approach using Euclidean distanceor Mahalanobis distance
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Prediction and Filter Update
Kalman Filter
Extended Kalman FilterInformation FilterUnscented Kalman FilterSparse Extended Information Filter
Particle Filter
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Extended Kalman Filter
Estimate state of a (non-linear) dynamic system, given:
model of the systemcontrol inputsmodel of the sensorsmeassurements with noise from the sensors
Set of mathematical equations in a recursive fashion
Two steps:
PredictionCorrection
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
EKF in SLAM
System state: x̄ =
[R̄M̄
]=
R̄L̄1...L̄n
Covariances matrix:
P =
[PRR PRMPMR PMM
]=
PRR PRL1 . . . PRLnPL1R PL1L1 . . . PL1Ln
......
. . ....
PLnR PLnL1 . . . PLnLn
Goal: keep the map x̄, P up to date at all times
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Prediction
Movement function (part of the system model):x← f (x,u,n)
u . . . control vectorn . . . pertubation vectorp(n) ∼ N(0,Q)
EKF prediction step in SLAM:
R̄ ← fR(R̄,u, 0)
PRR ←∂fR∂R
PRR∂fR∂R
ᵀ
+∂fR∂n
Q∂fR∂n
ᵀ
PRM ←∂fR∂R
PRM
PMR ← PᵀRM
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Correction
Observation function (part of the sensor model): y = h(x) + vv . . . meassurement noisep(v) ∼ N(0,R)
EKF correction step in SLAM for every landmark Li :
z̄ = yi − hi (R̄, L̄i ) ’innovation’
Z =[HR HLi
] [PRR PRLiPLiR PLiLi
] [HᵀR
HᵀLi
]+ R
K =
[PRR PRLiPLiR PLiLi
] [HᵀR
HᵀLi
]Z−1 ’Kalman gain’
x̄← x̄ + Kz̄
P← P−KZKᵀ
HR = ∂hi (R̄,L̄i )∂R , HLi = ∂hi (R̄,L̄i )
∂Li
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion
Map Insertion
Ln+1 = g(R̄, yn+1)
GR =∂g(R̄, yn+1)
∂R
Gyn+1=
∂g(R̄, yn+1)
∂yn+1
PLL = GRPRRGᵀR + Gyn+1
RGᵀyn+1
PLx = GRPRx = GR[PRR PRM
]x̄←
[x̄Ln+1
]P←
[P Pᵀ
LxPLx PLL
]Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Sources
SLAM for Dummies by Søren Riisgaard and Morten RufusBlas
A simultaneous localization and mapping implementationusing inexpensive hardware by Todd Michael Aycock
Online Video: http://www.mrpt.org/tutorials/slam-algorithms/slam-simultaneous-localization-and-mapping-for-beginners-the-basics
Online Course:http://www.joansola.eu/JoanSola/eng/course.html
Albin Frischenschlager, 0926427 SLAM Algorithm
IntroductionSimultaneous Localization And Mapping
Steps in SLAM
Thank you for your attention!
Albin Frischenschlager, 0926427 SLAM Algorithm