slam techniques and algorithms

Upload: nicholas777

Post on 14-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 SLAM Techniques and Algorithms

    1/73

    Defence Research andDevelopment Canada

    Recherche et dveloppementpour la dfense Canada Canada

    SLAM Techniques and Algorithms

    Jack Collier

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    2/73

    Defence R&D Canada R & D pour la dfense Canada

    Goals

    What will we learnGain an appreciation for what SLAM is and canaccomplish

    Understand the underlying theory behind SLAM

    Understand the terminology and fundamentalbuilding blocks of SLAM algorithms

    Appreciate the deficiencies of SLAM and SLAMalgorithms

    Wont focus on the math, but the conceptOnline non-linear feature based SLAM withunknown data association

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    3/73

    Defence R&D Canada R & D pour la dfense Canada

    Outline

    What is SLAM?

    Probabilistic basis of SLAM

    EKF SLAM

    Data AssociationClosing the Loop

    FastSLAM

    Sub-Mapping SLAM

    ResourcesQuestions?

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    4/73

    Defence R&D Canada R & D pour la dfense Canada

    What is SLAM?

    Simultaneous Localization and Mapping

    Given an unknown environment and vehicle pose:

    Move through the environment

    Estimate the robot poseGenerate a map of environmental features

    Use the robot pose estimate to improve the maplandmark position estimates

    Use the landmark estimates to improve the robotpose estimate

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    5/73

    Defence R&D Canada R & D pour la dfense Canada

    What is SLAM?

    and why do we need it?

    Robot motion models arent accurate

    Wheel odometry error is cumulative

    IMU sensors errors

    Maps are generated from sensors on the vehicle. If wecant accurately predict the robot pose then how can weproduce an accurate map.

    GPS can help but is not always available or reliable.

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    6/73

    Defence R&D Canada R & D pour la dfense Canada

    What is SLAM?

    and why do we need it?

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    7/73

    Defence R&D Canada R & D pour la dfense Canada

    What is SLAM?

    and why do we need it?

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    8/73

    Defence R&D Canada R & D pour la dfense Canada

    What is SLAM?

    The SLAM problem

    Given:Robot control signal uk (or measurement)

    A set of feature observations zK (sensormeasurements)

    Estimate:Map of landmarks Mk+1

    Robot Pose Vk+1

    Sources of Error:

    Control signal

    Mapping sensor

    Motion model

    Observation model

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    9/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    Probability Theory

    Probability Theory gives us a framework for dealing

    with these sources of errorThe online SLAM theory is:p(Vk+1, Mk+1|zk, uk)

    Estimate the Joint Probability of Vk+1 and Mk+1

    conditioned on zk, uk (Joint Conditional PDF)

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    10/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM Probability toolkit

    Conditional Probability p(x|y) = p(x,y)p(y)

    Product Rule p(x,y) = p(x|y)p(y)Bayes Rule p(x|y) = p(y|x)p(x)

    p(y)or

    p(x|y) = p(y|x)p(x)

    Gaussian PDF

    p(x) = det(2)1

    2 exp12(x x)T1(x x)

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    11/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    12/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =p(zk+1|Vk+1, Mk+1)p(Vk+1, Mk+1|zk, uk+1) (Bayes Filter)

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    13/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =p(zk+1|Vk+1, Mk+1)p(Vk+1, Mk+1|zk, uk+1) (Bayes Filter) =

    p(zk+1|Vk+1, Mk+1)

    p(Vk+1, Mk+1|Vk, zk, uk+1)p(Vk|zk, uk+1)dvk

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    14/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =p(zk+1|Vk+1, Mk+1)p(Vk+1, Mk+1|zk, uk+1) (Bayes Filter) =

    p(zk+1|Vk+1, Mk+1)

    p(Vk+1, Mk+1|Vk, zk, uk+1)p(Vk|zk, uk+1)dvk= p(zk+1|Vk+1, Mk+1)

    p(Vk+1|Vk, uk)p(Vk, Mk|zk, uk)dvk

    No closed form solution

    Approximate the solution using an Extended Kalman Filter

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    15/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =p(zk+1|Vk+1, Mk+1)p(Vk+1, Mk+1|zk, uk+1) (Bayes Filter) =

    p(zk+1|Vk+1, Mk+1)

    p(Vk+1, Mk+1|Vk, zk, uk+1)p(Vk|zk, uk+1)dvk= p(zk+1|Vk+1, Mk+1)

    p(Vk+1|Vk, uk)p(Vk, Mk|zk, uk)dvk

    Prior probability:Prior state and covariance estimates from the last filter iteration

    S

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    16/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =p(zk+1|Vk+1, Mk+1)p(Vk+1, Mk+1|zk, uk+1) (Bayes Filter) =

    p(zk+1|Vk+1, Mk+1)

    p(Vk+1, Mk+1|Vk, zk, uk+1)p(Vk|zk, uk+1)dvk= p(zk+1|Vk+1, Mk+1)

    p(Vk+1|Vk, uk)p(Vk, Mk|zk, uk)dvk

    Motion Model:Probabilistic motion model estimates the new vehicle pose covari-

    ance estimates from the prior estimate and the control

    P b bili i B i f SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    17/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    SLAM as a Bayesian filter

    p(Vk+1, Mk+1|zk+1, uk+1) =p(zk+1|Vk+1, Mk+1)p(Vk+1, Mk+1|zk, uk+1) (Bayes Filter) =

    p(zk+1|Vk+1, Mk+1)

    p(Vk+1, Mk+1|Vk, zk, uk+1)p(Vk|zk, uk+1)dvk= p(zk+1|Vk+1, Mk+1)

    p(Vk+1|Vk, uk)p(Vk, Mk|zk, uk)dvk

    Measurement Model:Measurement model gives the expected value of the feature obser-

    vations.

    P b bili i B i f SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    18/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    Gaussian PDF

    P b bili i B i f SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    19/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Basis of SLAM

    Gaussian PDF

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    20/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Simultaneous Localization and Mapping:

    Joint estimate both robot pose and position ofunique landmarks

    Landmark estimates improve robot pose estimatesand vice versa

    Use standard Extended Kalman Filtering techniques

    Assumes Gaussian noise and error.

    Mk =

    xm1ym1

    ...xmn

    ymn

    , Vk = x

    rk

    yrkrk

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    21/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Algorithm

    Xk = VkMk

    , Pk = Pv PvmP

    Tvm Pm

    (1)Prediction - A prediction of the new state vector andcovariance matrix is calculated from the previous stateand covariance, and the new control uk.

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    22/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Algorithm

    Xk = VkMk

    , Pk = Pv PvmP

    Tvm Pm

    (1)Data Association - Find matches between the currentlandmarks Mk and the new set of observed features zk.

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    23/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Algorithm

    Xk = VkMk

    , Pk = Pv PvmP

    Tvm Pm

    (1)Measurement Update - Calculate the Kalman gain foreach observed landmark and update the state and covari-ance values based on that Kalman gain and the measure-

    ment innovation.

    EKF SLAM

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    24/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Algorithm

    Xk = VkMk

    , Pk = Pv PvmP

    Tvm Pm

    (1)Augmentation - Integrate newly observed landmarks intothe state vector and covariance matrix.

    EKF SLAM

    http://goforward/http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    25/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Linearization

    Kalman Filters work under a linear Gaussianassumption

    Robot motion and measurement functions arenon-linear

    Use Taylor Expansion to linearize (Approximate aGaussian)g g + g

    g is Jacobian of the function with respect to itsvariables

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    26/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Linearization

    EKF SLAM

    http://goforward/http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    27/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Prediction

    Predict the robot motion from the control signalLinearize to approximate the Gaussian

    Vk+1 = Vk + V

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    28/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Prediction

    Predict the robot motion from the control signalLinearize to approximate the Gaussian

    Vk+1 =

    xrkyrkrk

    +

    vkk

    sin(rk) +vkk

    sin(rk + kt)vkk

    cos(rk)vkk

    cos(rk + kt)

    kt

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    29/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Prediction

    Predict the robot motion from the control signalLinearize to approximate the Gaussian

    Pv(k+1) = GkPv(k)GTkPvm(k+1) = RkQR

    Tk

    Pk+1 =

    Pv(k+1) Pvm(k+1)

    PTvm(k+1) Pm

    G linearizes the state transition functionR maps additional motion noise into the state space

    EKF SLAM

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    30/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Feature Extraction Algorithms

    Extract stable salient features from environment):

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    31/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    32/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    Stable featuresOutlier rejection

    Accuracy

    Speed

    EKF SLAM

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    33/73

    Defence R&D Canada R & D pour la dfense Canada

    EKF SLAM

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    Expectation Maximization

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    34/73

    Defence R&D Canada R & D pour la dfense Canada

    K S

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    RANSAC

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    35/73

    Defence R&D Canada R & D pour la dfense Canada

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    Split and Merge

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    36/73

    Defence R&D Canada R & D pour la dfense Canada

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    Hough Transform

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    37/73

    Defence R&D Canada R & D pour la dfense Canada

    Feature Extraction Algorithms

    What do we want in feature extraction algorithm?

    Incremental Line Fitting

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    38/73

    Defence R&D Canada R & D pour la dfense Canada

    Laser Feature Extraction

    Extract features from Raw laserdata

    Incremental algorithm (linetracking)

    Fit a line to a set of pointsCompute the residualIf below error threshold add

    another point and repeatIf above the last point addedis a feature

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    39/73

    Defence R&D Canada R & D pour la dfense Canada

    Data Association

    Find matches between features and landmarks

    For each feature

    Calculate the predicted feature for each landmark(measurement model)compute the Mahalanobis Distance:choose the feature/landmark with the lowestdistance (Maximum Likelihood) below some

    thresholdEnd for

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    40/73

    Defence R&D Canada R & D pour la dfense Canada

    Data Association

    Measurement Model:

    zmj =

    rmjmj

    = y2 + x2

    arctan (y, x)

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    41/73

    Defence R&D Canada R & D pour la dfense Canada

    Data Association

    Measurement Model:

    zmj =

    rmjmj

    = y2 + x2

    arctan (y, x)

    Mahalanobis Distance normalizes feature/landmarkdistance based on their covariances:

    dij = (zi zmj )T(Hj Pk+1HjT + R)1(zi zmj )

    EKF SLAM

    http://goforward/http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    42/73

    Defence R&D Canada R & D pour la dfense Canada

    Why Mahalanobis Distance?

    Why Mahalanobis Distance:

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    43/73

    Defence R&D Canada R & D pour la dfense Canada

    Why Mahalanobis Distance?

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    44/73

    Defence R&D Canada R & D pour la dfense Canada

    Why Mahalanobis Distance?

    Points which lie on the same covariance ellipse have areequidistant

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    45/73

    Defence R&D Canada R & D pour la dfense Canada

    Update

    For each data associationCalculate Kalman Gain:Kj = Pk+1Hj

    T(HjPk+1HjT + R)1

    H linearizes the measurement modelUpdate state and covariance estimates:

    Xk+1 = Xk+1 + Kj(zi zmj )Pk+1 = Pk+1 KjHjPk+1

    End for

    Innovation vector - Larger bigger correction

    Kalman Gain - Weights the innovation vector.Smaller measurement error higher gain (trustthe measurement)Smaller covariance smaller gain (trust the

    prediction)

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    46/73

    Defence R&D Canada R & D pour la dfense Canada

    Augment

    State Vector and Covariance matrix grow as newlandmarks are observed

    If a feature has no matches, add it to the statevector as a new landmark

    EKF SLAM

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    47/73

    Defence R&D Canada R & D pour la dfense Canada

    Augment

    New Landmark Locations:xmi = x

    rk + ri cos(

    rk + i)

    ymi = yrk + ri sin(

    rk + i)

    EKF SLAM

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    48/73

    Defence R&D Canada R & D pour la dfense Canada

    Augment

    Append to state vector:

    X = X

    xmi

    ymi

    EKF SLAM

    A

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    49/73

    Defence R&D Canada R & D pour la dfense Canada

    Augment

    Original Covariance Matrix:

    P = Pv PvmPvm

    T

    Pm

    EKF SLAM

    A

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    50/73

    Defence R&D Canada R & D pour la dfense Canada

    Augment

    Augmented Covariance Matrix:

    Pa = Pv Pvm Pv

    TFiT

    PvmT

    Pm PvmT

    FiT

    FiPv FiPvm FiPvFiT + MiRMi

    T

    F and M are the Jacobians which linearize the new land-mark equations with respect to vehicle pose and measure-ment variables respectively

    EKF SLAM

    Oth I

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    51/73

    Defence R&D Canada R & D pour la dfense Canada

    Other Issues

    Can use provisional landmark list to reject spuriousfeatures

    Pruning (removing old/irrelevant landmarks)Landmark Signatures (reflectivity/color/shape/etc.)

    Landmark minimum distance

    Intelligent update (Only update relevant landmarks)

    Sub-Mapping (more on this later)

    EKF SLAM

    Ad t

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    52/73

    Defence R&D Canada R & D pour la dfense Canada

    Advantages

    Straightforward application of the EKF

    Large body of research to pull from

    Works reasonably well for small number of featuresand distinct landmarks

    EKF SLAM

    Di d t

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    53/73

    Defence R&D Canada R & D pour la dfense Canada

    Disadvantages

    Complexity Quadratic with number of features

    No guarantee of convergence in non-linear case

    Make hard decisions about data associations

    Cant correct for erroneous data associations

    Need sufficiently distinct landmarks (low clutter)

    Gaussian Assumption

    EKF SLAM

    Variants

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    54/73

    Defence R&D Canada R & D pour la dfense Canada

    Variants

    Unscented KF SLAM

    Linearization using Sigma points

    Preserves the true mean and covariance of theposterior

    Extended Information Filter SLAM

    Dual representation of EKFLess complex measurement update

    Data AssociationErroneous data association WILL cause SLAM to fail!

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    55/73

    Defence R&D Canada R & D pour la dfense Canada

    Erroneous data association WILL cause SLAM to fail!

    1 feature to 2 landmarks

    2 features to 1 landmarkclutter

    Symmetry

    Reduce the max

    Mahalanobis distance?

    Data Association

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    56/73

    Defence R&D Canada R & D pour la dfense Canada

    How do determine the correspondence between a featureand landmark?

    Individual Compatibility

    Joint Compatibility Branch and BoundCombined Constrained Data Association

    Randomized Joint Compatibility

    Multi hypothesis Data Association

    Data Association

    Individual Compatibility

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    57/73

    Defence R&D Canada R & D pour la dfense Canada

    Individual Compatibility

    Calculate Mahalanobis distance from each featureto landmark

    Choose feature with smallest distance to landmarkwithin threshold (validation gate)

    Disregard ambiguous associations

    Advantage: Simple

    Disadvantage: Can be error prone especially inclutter

    Data Association

    Joint Compatibility Branch and

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    58/73

    Defence R&D Canada R & D pour la dfense Canada

    Joint Compatibility Branch and

    Bound

    Consider multiple associations simultaneously

    Find the largest set of matches which correspond

    Joint Mahalanobis distance measurement with jointvalidation gate

    Branch and bound interpretation tree search

    Advantage: Robust

    Disadvantage: Tree search computation/May beAmbiguous sets

    Data Association

    Joint Compatibility Branch and

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    59/73

    Defence R&D Canada R & D pour la dfense Canada

    Joint Compatibility Branch and

    Bound

    PotentialMatchesz1 L1 or L2z2 L2 or L3

    z3 L4Null

    Data Association

    Joint Compatibility Branch and

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    60/73

    Defence R&D Canada R & D pour la dfense Canada

    Joint Compatibility Branch and

    Bound

    Data Association

    Combined Constrained Data

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    61/73

    Defence R&D Canada R & D pour la dfense Canada

    Combined Constrained Data

    Association

    Correspondence Graph technique

    Nodes are individually compatible associations

    Edges are compatible associationsFind the maximum clique of associations that aremutually compatible

    Consider both relative and absolute constraints

    Advantage: Can work with no pose info (relativeconstraints)

    Disadvantage: May be ambiguous sets

    Data Association

    Randomized Joint Compatibility

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    62/73

    Defence R&D Canada R & D pour la dfense Canada

    Randomized Joint Compatibility

    JCBB with RANSAC

    Uses relative constraintsRandomly select m of the n feature measurements

    Advantage: Reduced complexity, no pose necessary

    Disadvantage: Dont always know Pfail and Pgood

    Closing the Loop

    What is loop closing?

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    63/73

    Defence R&D Canada R & D pour la dfense Canada

    What is loop closing?

    Even with the best SLAM algorithm poseuncertainty will increase as the vehicle moves.

    This pose uncertainty means that landmarklocations further from the map origin have a higher

    uncertaintyRevisiting a previously observed landmarkssignificantly reduces uncertainty in robot andlandmark pose estimates

    Errors in landmark estimates are correlated withrobot pose

    New pose info necessarily improved landmarkestimates

    Closing the Loop

    How to Close the loop

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    64/73

    Defence R&D Canada R & D pour la dfense Canada

    How to Close the loop

    Map Matching Techniques (feature matching)

    Can use pose estimate to constrain the searchExpectation Maximization AlgorithmNon-linear Optimization

    FastSLAMRepresent probability distributions by set of particles

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    65/73

    Defence R&D Canada R & D pour la dfense Canada

    Rao-Blackwellized particle filter (low dimensionalEKFs)Each particle maintains its own pose and mapestimates (multi-hypothesis)Each landmark has its own EKFN landmarks and M particles we have MxN + 1

    filters

    FastSLAM

    Algorithm

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    66/73

    Defence R&D Canada R & D pour la dfense Canada

    go t

    Do M times:

    Retrieve pose from particle k

    Predict a new pose (motion model)

    Data Association

    Measurement UpdateImportance Weight

    ENDRe-sample with Replacement using the importance

    weight

    Raw Odometry

    FastSLAM

    FastSLAM

    Advantages

    http://pics/rawodom.avihttp://pics/fastslam.avihttp://pics/fastslam.avihttp://pics/rawodom.avihttp://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    67/73

    Defence R&D Canada R & D pour la dfense Canada

    g

    Time logarithmic to number of landmarks

    Multi-hypothesis data association (robustness)No linearization of non-linear motion models

    Solves both full SLAM and Online SLAM problems

    FastSLAM

    Disadvantages

    http://find/http://goback/
  • 7/30/2019 SLAM Techniques and Algorithms

    68/73

    Defence R&D Canada R & D pour la dfense Canada

    g

    Throws away correlations

    Over optimistic pose estimate

    Harder to close the loop

    Sub-Mapping SLAM

    Partition SLAM into sub-maps

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    69/73

    Defence R&D Canada R & D pour la dfense Canada

    pOptimally Fuse at a global level periodically

    Reduces EKF linearization errorsReduces computational complexityClosing the loop techniques for sub-maps

    Sub-Mapping SLAM

    Algorithms

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    70/73

    Defence R&D Canada R & D pour la dfense Canada

    g

    ATLAS

    Hybrid-SLAM

    Decoupled Stochastic MappingHierarchical SLAM

    Conditionally In dependant SLAM

    Divide and Conquer

    EKF SLAM vs. D&C SLAM

    Other Topics

    http://pics/dcslam.avihttp://pics/dcslam.avihttp://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    71/73

    Defence R&D Canada R & D pour la dfense Canada

    Visual SLAM

    SIFT, Harris Corners, SURF, etc. for featuresNo range to featuresInverse Depth

    Muti-robot SLAM

    Teams map building

    Information sharing/cooperation

    Learning for SLAM

    Adaptive SLAMLearnt sensor, observation, motion models

    6-DOF SLAM/Mesh Models

    Feature Extraction Algorithms

    Scan matching

    Resources

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    72/73

    Defence R&D Canada R & D pour la dfense Canada

    Probabilistic Robotics

    SLAM Summer School 2009http://www.acfr.usyd.edu.au/education/summerschool.shtml

    openslam.org (MATLAB, C, Different algorithms,data sets, etc.)

    Questions?

    http://find/
  • 7/30/2019 SLAM Techniques and Algorithms

    73/73

    Defence R&D Canada R & D pour la dfense Canada

    http://find/