SLAM: Simultaneous Localization and Mapping: Part IOverviewMotivationWhat is SLAM?Why is SLAM a hard problem?SLAM ApplicationsSlide 7TerminologySlide 9Slide 10Bayes FilterSlide 12SLAMSLAM algorithmSlide 15Slide 16EKF-SLAMEKF : Non-linear FunctionEKF : LinearizationEKF AlgorithmSlide 21Slide 22Slide 23FastSLAMSlide 25Particle FiltersParticle Filter AlgorithmSlide 28Slide 29FastSLAM – Action UpdateFastSLAM – Sensor UpdateSlide 32Issues will be addressed in Part IISummarySLAM: Simultaneous Localization and Mapping: Part IChang Young KimThese slides are based on:Probabilistic Robotics, S. Thrun, W. Burgard, D. Fox, MIT Press, 2005 and Zane Goodwin’s Slide from the previous class Many images are also taken fromProbabilistic Robotics.http://www.probabilistic-robotics.comOverviewIntroductionBasics: Bayes filtersSLAMFormulationEKF-SLAMFastSLAMMotivationExit< Adapted from "American Maze" by Dale Wilkins >What is SLAM?Given:The robot’s controlsObservations of nearby featuresEstimate:Map of featuresPath of the robotA robot is exploring an unknown, static environment.Why is SLAM a hard problem?SLAM: robot path and map are both unknown Robot LandmarkEstimatedTrueSLAM ApplicationsIndoorsSpaceUnderseaUndergroundOverviewIntroductionBasics: Bayes filtersSLAMFormulationEKF-SLAMFastSLAMRobot State (or pose): xt =[ x, y, θ] Position and heading x1:t = {x1, …, xt} Robot Controls: utRobot motion and manipulationu1:t = {u1,..., ut}Sensor Measurements: ztRange scans, images, etc.z1:t = {z1,..., zt}Landmark or Map: Landmarks or MapTerminology lll or mmmnn},...,{},...,{11iil or mTerminologyObservation model: orThe probability of a measurement zt given that the robot is at position xt and map m. Motion Model: The posterior probability that action ut carries the robot from xt-1 to xt. ( | )t tP z x),|(1 tttuxxP( | , )t tP z x mTerminologyBelief:Posterior probabilityConditioned on available data Prediction:Estimate before measurement data ( ) ( | , )t t t tBel x p x z u=bel(xt)bel(xt)1( ) ( | , )t t t tBel x p x z u-=PredictionUpdateBayes Filter111)(),|()(ttttttdxxbelxuxpxbel)()|()(ttttxbelxzpxbelOverviewIntroductionBasics:Bayes filtersSLAMFormulationEKF-SLAMFastSLAMSLAMNo Map Available and No Pose Info),|,(:1:1:1 tttuzmxp. . .Landmark 1observationsRobot posescontrolsx1x2xtu1 ut-1m2m1z1z2x3u1z3ztLandmark 2x0u0SLAM algorithmPredictionUpdate1 1 1( , ) ( | , ) ( , )t t t t t tbel x m p x u x bel x m dx- - -=�( , ) ( | , ) ( , )t t t tbel x m p z x m bel x mh=1: 1: 1:( , | , ) ( , )t t t tp x m z u bel x m=The observation model makes the dependence between observations and robot locations.The joint posterior cannot be partitioned because there is dependence between observations and robot locations.SLAM( , | ) ( | ) ( | )t t t t tp x m z P x z P m z�( | , )t tp z x mCorrelations between landmark estimates increase monotonically as more and more observations are made.Thus, this dependency is solved by two different methods: Data association using a correlation matrix (EKF-SLAM). Rao-Blackwelized Particles Filter (FastSLAM)SLAMExtended Kalman Filter approximates the posterior as a GaussianMean (state vector) contains robot location and map pointsCovariance Matrix estimates uncertainties and relationships between each element in state vectorEKF-SLAM1{ , ,..., }t t Mx m mm =1: 1: 1:( , | , ) ~ ( , )t t t t tp x m z u N m S[ ]Tt t tmmS =EKF : Non-linear FunctionEKF : Linearization20EKF Algorithm 1. Algorithm EKF( t-1, t-1, ut, zt):2. Prediction:3. 4. 5. Correction:6. 7. 8. 9. Return t, t tttttuBA 1tTttttRAA 11)(tTtttTtttQCCCK)(ttttttCzKttttCKI )(),(1tttugtTttttRGG 11)(tTtttTtttQHHHK))((ttttthzKttttHKI )(EKF-SLAMMap Correlation matrixEKF-SLAMMap Correlation matrixEKF-SLAMMap Correlation matrixEKF-SLAM DrawbacksEKF-SLAM employs linearized models of nonlinear motion and observation models and so inherits many caveats.Computational effort is demand because computation grows quadratically with the number of landmarks. Better Solution : FastSLAM using a particle filterThe particle filter represents nonlinear process model and non-Gaussian pose distribution for the robot pose estimationRao-Blackwellized method reduces computation(*FastSLAM still linearizes the observation model i.e., EKF)FastSLAMHowever,Xt is trajectory rather than the single pose xt.The trajectory Xt is represented by particles Xt(i)Represented by factorizing called Rao-Blackwellized Filter.Solution by a particle filter by EKF.FastSLAM( , | ) ( | ) ( | , )t t t t t tp X m z P X z P m X z=( , | ) ( | ) ( | )t t t t tp x m z P x z P m z�( | , )t tP m X z( | )t tP X z( ) ( )( | , ) ( | , )Mi it t j t tjP m X z P m X z=�Represent belief by random samplesEstimation of non-Gaussian, nonlinear processesSampling Importance Resampling (SIR) principleDraw the new generation of particlesAssign an importance weight to each particleResampling Particle FiltersWeighted samplesAfter resamplingdraw xit1 from Bel(xt1)draw xit from p(xt | xit1,ut1)Importance factor for xit:)|()(),|()(),|()|(ondistributi proposalondistributitarget 111111ttttttttttttitxzpxBeluxxpxBeluxxpxzpw1111)(),|()|()(ttttttttdxxBeluxxpxzpxBelParticle Filter AlgorithmParticle Filters)|()()()|()()|()(xzpxBelxBelxzpwxBelxzpxBelImportance Sampling'd)'()'|()(,xxBelxuxpxBelRobot MotionFastSLAMRao-Blackwellized particle filtering based on landmarks [Montemerlo et al., 2002]Each landmark is represented by a 2x2 Extended Kalman Filter (EKF)Each particle therefore has to maintain M EKFsLandmark 1 Landmark 2 Landmark M…x, y, Landmark 1 Landmark 2 Landmark M…x, y, Particle#1Landmark 1 Landmark 2 Landmark M…x, y, Particle#2ParticleN…FastSLAM – Action UpdateParticle #1Particle #2Particle #3Landmark #1FilterLandmark #2FilterFastSLAM – Sensor UpdateParticle #1Particle #2Particle #3Landmark #1FilterLandmark #2FilterFastSLAM – Sensor UpdateParticle #1Particle
View Full Document