28
Introduction Simultaneous Localization And Mapping Steps in SLAM SLAM Algorithm Simultaneous Localization And Mapping Albin Frischenschlager, 0926427 December 17, 2013 Albin Frischenschlager, 0926427 SLAM Algorithm

SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

  • Upload
    others

  • View
    36

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

SLAM AlgorithmSimultaneous Localization And Mapping

Albin Frischenschlager, 0926427

December 17, 2013

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 2: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 3: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 4: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

DefinitionLocalization ExampleMapping Example

Localization Example

Estimate the robot’s pose given landmarks

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 5: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

DefinitionLocalization ExampleMapping Example

Localization Example

Estimate the robot’s pose given landmarks

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 6: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 7: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 8: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 9: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 10: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 11: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 12: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 13: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 14: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 15: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM Example

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 16: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 17: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

What is SLAM?SLAM ExampleFlowchart

SLAM flowchart

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 18: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 19: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

Landmark ExtractionData AssociationPrediction and Filter UpdateMap Insertion

Landmark Extraction

Albin Frischenschlager, 0926427 SLAM Algorithm

Page 20: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 21: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 22: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 23: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 24: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 25: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 26: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 27: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

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

Page 28: SLAM Algorithm · Flowchart SLAM Algorithm There isn’t ’the’ SLAM algorithm SLAM is just a problem, but luckily there a possibilities to solve it Albin Frischenschlager, 0926427

IntroductionSimultaneous Localization And Mapping

Steps in SLAM

Thank you for your attention!

Albin Frischenschlager, 0926427 SLAM Algorithm