SlideShare a Scribd company logo
1 of 40
Probabilistic State Estimation
With Application To Vehicle Navigation
Matthew Kirchner
Naval Air Warfare Center – Weapons Division
Department of ECEE – University of Colorado at Boulder
November 1, 2010
Topics
• Why?
• Review
• Background
• Kalman Filter
• Particle Filter
• SLAM
Why Probability?
• Real sensors have
uncertainty
• May have multiple
sensors
• Some states are not
directly observable
• Ambiguous sensor
observations
Importance of Bayes Rule
Bayes Rule
Recursive
Bayesian
Estimation
Linear Kalman
Filter
Unscented
Kalman Filter
Extended Kalman
Filter
EKF SLAM
FastSLAMParticle Filter FastSLAM
Bayes Rule
)(
)()|(
)|(
BP
APABP
BAP 
Prior
Likelihood
Posterior
Normalizing
Constant
Equivalent Bayes Rule
)()|()|( APABPBAP 
)()|()|( APABPBAP 
Bayes Rule Example
• School: 60% boys and 40% girls
• All boys wear pants
• Half of girls wear skirts, half wear pants
• You see a random student and can only tell
they are wearing pants.
• Based on your observation, what is the
probability the student you saw is a girl?
Bayes Rule Example
• School: 60% boys and
40% girls
• All boys wear pants
• Half of girls wear skirts,
half wear pants
• You see a random student
and can only tell they are
wearing pants.
• Based on your
observation, what is the
probability the student
you saw is a girl?
• We want to find:
– P(Student=Girl | Clothes=Pants)
• Prior?
– P(Student=Girl) = 0.4
• Likelihood?
– P(Clothes=Pants | Student=Girl)
= 0.5
• Normalizing Constant?
– P(Clothes=Pants) = 0.8
• Bayes Rule!
– P(Student=Girl | Clothes=Pants)
= (0.5)*(0.4)/(0.8) = 0.25
Gaussian
1D 2D
Gaussian
1D 2D
Gaussian
• 2D Probability density
function described by
mean vector and
covariance matrix
• 1D Probability density
function described by
mean and variance
),(~ 2
Nx






















2
221
12
2
1
2
1
2
1
),(~









NX
x
x
X
Functions of Random Variables
Functions of Random Variables
• Linear function
• Mean:
• Covariance:
• Linear functions only!
xFy 
T
xy FF 
xFy 
Kalman Filter
• Introduced in 1960 by Rudolf Kalman
• Many applications:
– Vehicle guidance systems
– Control systems
– Radar tracking
– Object tracking in video
– Atmospheric models
Kalman Filter
),|( ttt uzxPWe want to find:
Kalman Filter
Process
Model
Process
Model
Observation
Model
Observation
Model
Observation
Model
Kalman Filter
• Process Model:
– Deterministic:
– Probabilistic:
• Used to calculate prior distribution
• Observation Model:
– Deterministic:
– Probabilistic:
• Used to calculate likelihood distribution
),( 1 ttt uxfx 
)( tt xfz 
),,(),|( 11 tttttt wuxfuxxP  
),()|( tttt vxfxzP 
Kalman Filter: Assumptions
• Underlying system is modeled as Markov
–
• All beliefs are Gaussian distributions
– Additive zero mean Gaussian noise
• Linear process and observation models
– Process Model:
•
– Observation Model:
•
),,,|()|( 3211   tttttt xxxxPxxP
ttt vHxz 
tttt wBuFxx  1
),0(~ QNwt
),0(~ RNvt
Kalman Filter Steps
1. Using process model, previous state, and
controls, find prior
– Sometimes called ‘predict’ step, or ‘a priori’
2. Using prior and observation model, find sensor
likelihood
– If I knew state, what should sensors read?
3. Find observation residual
– Difference between actual sensor values and what
was calculated in step 2. Also sometimes called
‘innovation’.
Kalman Filter Steps
4. Compute Kalman gain matrix
5. Using Kalman gain and prior, calculate
posterior
– Sometimes called ‘correct’ step or ‘a posteriori’
Kalman Filter Steps
• Algorithm Kalman_Filter( )
– 1a:
– 1b:
– 2:
– 3:
– 4:
– 5a:
– 5b:
• Return( )
ttttt uBxFx  1
ˆ
t
T
tttt QFF  1
ˆ
ttt xHz ˆˆ 
ttt zzz ˆ
1
)ˆ(ˆ 
 t
T
ttt
T
ttt RHHHK
tttt zKxx  ˆ
tttt HKI  ˆ)(
tttt zux ,,, 11  
ttx ,
Kalman Filter
Kalman Filter Example
1txtx
Kalman Filter Example
Root Mean Squared Error (RMSE)
KF 1.0030m
GPS Only 3.6840m
Kalman Filter Example
GPS Lost
GPS
Reacquired
Kalman Filter Example
Kalman Filter
• O(k^2.4+n^2)
• Many real systems are non linear
– Extended Kalman filter
– Unscented Kalman filter
– Particle filter
• Some systems are non-Gaussian
– Particle filter
Extended Kalman Filter
• Linearize process and observation models
– By finding Jacobian matrices
– Analytically or numerically
• Then use regular Kalman filter algorithm
• Sub-optimal
29
EKF Linearization
EKF Linearization
Unscented Kalman Filter
Unscented Kalman Filter
EKF UKF
Particle Filter
Particle Filter
• Represent distribution as set of randomly
generated samples, called ‘particles’.
• Functions can be nonlinear and non-gaussian
• Multi-hypothesis belief propagation
Particle Filter
• Sample the prior
• Compute likelihood of particles given
measurement
– Also called particle ‘weights’
• Sample posterior: Sample from particles
proportional to particle weights
– Also called ‘resampling’ or ‘importance sampling’
Simultaneous Localization and
Mapping
• SLAM Problem:
– Need map to localize
– Need location to make map
• Brainstorming: How can we solve this problem?
– Map could be locations of landmarks or occupancy
grid
• Kalman filter based: landmark positions part of
state variables
• Particle filter based: landmark positions or
occupancy map included in each particle
),|,( ttt uzmxP
Feature-based SLAM
FastSLAM - Example
Other Probabilistic Applications
Other Probabilistic Applications

More Related Content

What's hot

Kalman Filtering
Kalman FilteringKalman Filtering
Kalman FilteringEngin Gul
 
Kalman filters
Kalman filtersKalman filters
Kalman filtersAJAL A J
 
Real time implementation of unscented kalman filter for target tracking
Real time implementation of unscented kalman filter for target trackingReal time implementation of unscented kalman filter for target tracking
Real time implementation of unscented kalman filter for target trackingIAEME Publication
 
A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTS
A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTSA KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTS
A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTSIJCSES Journal
 
Solving the traveling salesman problem by genetic algorithm
Solving the traveling salesman problem by genetic algorithmSolving the traveling salesman problem by genetic algorithm
Solving the traveling salesman problem by genetic algorithmAlex Bidanets
 
Lecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation MaximizationLecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation Maximizationbutest
 
3D Perception for Autonomous Driving - Datasets and Algorithms -
3D Perception for Autonomous Driving - Datasets and Algorithms -3D Perception for Autonomous Driving - Datasets and Algorithms -
3D Perception for Autonomous Driving - Datasets and Algorithms -Kazuyuki Miyazawa
 
Video Segmentation
Video SegmentationVideo Segmentation
Video SegmentationSmriti Jain
 
Convolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep LearningConvolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep LearningMohamed Loey
 

What's hot (20)

Kalman Filter | Statistics
Kalman Filter | StatisticsKalman Filter | Statistics
Kalman Filter | Statistics
 
Av 738 - Adaptive Filtering - Kalman Filters
Av 738 - Adaptive Filtering - Kalman Filters Av 738 - Adaptive Filtering - Kalman Filters
Av 738 - Adaptive Filtering - Kalman Filters
 
Kalman Filtering
Kalman FilteringKalman Filtering
Kalman Filtering
 
Kalman filters
Kalman filtersKalman filters
Kalman filters
 
Real time implementation of unscented kalman filter for target tracking
Real time implementation of unscented kalman filter for target trackingReal time implementation of unscented kalman filter for target tracking
Real time implementation of unscented kalman filter for target tracking
 
A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTS
A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTSA KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTS
A KALMAN FILTERING TUTORIAL FOR UNDERGRADUATE STUDENTS
 
Kalmanfilter
Kalmanfilter Kalmanfilter
Kalmanfilter
 
IMU General Introduction
IMU General IntroductionIMU General Introduction
IMU General Introduction
 
Homomorphic filtering
Homomorphic filteringHomomorphic filtering
Homomorphic filtering
 
Solving the traveling salesman problem by genetic algorithm
Solving the traveling salesman problem by genetic algorithmSolving the traveling salesman problem by genetic algorithm
Solving the traveling salesman problem by genetic algorithm
 
Kalman filter
Kalman filterKalman filter
Kalman filter
 
Kalman_filtering
Kalman_filteringKalman_filtering
Kalman_filtering
 
Lecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation MaximizationLecture 18: Gaussian Mixture Models and Expectation Maximization
Lecture 18: Gaussian Mixture Models and Expectation Maximization
 
Object Recognition
Object RecognitionObject Recognition
Object Recognition
 
3D Perception for Autonomous Driving - Datasets and Algorithms -
3D Perception for Autonomous Driving - Datasets and Algorithms -3D Perception for Autonomous Driving - Datasets and Algorithms -
3D Perception for Autonomous Driving - Datasets and Algorithms -
 
Spatial filtering
Spatial filteringSpatial filtering
Spatial filtering
 
Video Segmentation
Video SegmentationVideo Segmentation
Video Segmentation
 
Introduction of slam
Introduction of slamIntroduction of slam
Introduction of slam
 
SLAM
SLAMSLAM
SLAM
 
Convolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep LearningConvolutional Neural Network Models - Deep Learning
Convolutional Neural Network Models - Deep Learning
 

Viewers also liked (8)

Lecture 03 - Kinematics and Control
Lecture 03 - Kinematics and ControlLecture 03 - Kinematics and Control
Lecture 03 - Kinematics and Control
 
Lecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping IILecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping II
 
Introduction to ROBOTICS
Introduction to ROBOTICSIntroduction to ROBOTICS
Introduction to ROBOTICS
 
Lecture 02: Locomotion
Lecture 02: LocomotionLecture 02: Locomotion
Lecture 02: Locomotion
 
09 mouvement-2
09 mouvement-209 mouvement-2
09 mouvement-2
 
Multisensor data fusion in object tracking applications
Multisensor data fusion in object tracking applicationsMultisensor data fusion in object tracking applications
Multisensor data fusion in object tracking applications
 
Lte advanced
Lte advancedLte advanced
Lte advanced
 
Data fusion with kalman filtering
Data fusion with kalman filteringData fusion with kalman filtering
Data fusion with kalman filtering
 

Similar to Lecture 09: SLAM

Detection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and trackingDetection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and trackinghadarpinhas1
 
Ant Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSAAnt Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSAALIZAIB KHAN
 
presentation.ppt
presentation.pptpresentation.ppt
presentation.pptWasiqAli28
 
Chaos Presentation
Chaos PresentationChaos Presentation
Chaos PresentationAlbert Yang
 
Flexible Memory Allocation in Kinetic Monte Carlo Simulations
Flexible Memory Allocation in Kinetic Monte Carlo SimulationsFlexible Memory Allocation in Kinetic Monte Carlo Simulations
Flexible Memory Allocation in Kinetic Monte Carlo SimulationsAaron Craig
 
"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest
"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest
"Speech recognition" - Hidden Markov Models @ Papers We Love BucharestStefan Adam
 
Sequential Monte Carlo (SMC) and Particle Filters
Sequential Monte Carlo (SMC) and Particle FiltersSequential Monte Carlo (SMC) and Particle Filters
Sequential Monte Carlo (SMC) and Particle FiltersEngin Gul
 
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]AI Robotics KR
 
Queuing theory and traffic analysis in depth
Queuing theory and traffic analysis in depthQueuing theory and traffic analysis in depth
Queuing theory and traffic analysis in depthIdcIdk1
 
Genomics algorithms on digital NISQ accelerators - 2019-01-25
Genomics algorithms on digital NISQ accelerators - 2019-01-25Genomics algorithms on digital NISQ accelerators - 2019-01-25
Genomics algorithms on digital NISQ accelerators - 2019-01-25Aritra Sarkar
 
iBAT: Detecting Anomalous Taxi Trajectories from GPS Traces
iBAT: Detecting Anomalous Taxi Trajectories from GPS TracesiBAT: Detecting Anomalous Taxi Trajectories from GPS Traces
iBAT: Detecting Anomalous Taxi Trajectories from GPS TracesRrubaa Panchendrarajan
 
Ant Colony Optimization (ACO)
Ant Colony Optimization (ACO)Ant Colony Optimization (ACO)
Ant Colony Optimization (ACO)Mahmoud El-tayeb
 

Similar to Lecture 09: SLAM (20)

Av 738-Adaptive Filters - Extended Kalman Filter
Av 738-Adaptive Filters - Extended Kalman FilterAv 738-Adaptive Filters - Extended Kalman Filter
Av 738-Adaptive Filters - Extended Kalman Filter
 
Kalman filter.pdf
Kalman filter.pdfKalman filter.pdf
Kalman filter.pdf
 
Kalman filters
Kalman filtersKalman filters
Kalman filters
 
Detection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and trackingDetection&Tracking - Thermal imaging object detection and tracking
Detection&Tracking - Thermal imaging object detection and tracking
 
Ant Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSAAnt Colony Optimization algorithms in ADSA
Ant Colony Optimization algorithms in ADSA
 
presentation.ppt
presentation.pptpresentation.ppt
presentation.ppt
 
Chaos Presentation
Chaos PresentationChaos Presentation
Chaos Presentation
 
sequencea.ppt
sequencea.pptsequencea.ppt
sequencea.ppt
 
presentation_btp
presentation_btppresentation_btp
presentation_btp
 
Slideshare
SlideshareSlideshare
Slideshare
 
Flexible Memory Allocation in Kinetic Monte Carlo Simulations
Flexible Memory Allocation in Kinetic Monte Carlo SimulationsFlexible Memory Allocation in Kinetic Monte Carlo Simulations
Flexible Memory Allocation in Kinetic Monte Carlo Simulations
 
"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest
"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest
"Speech recognition" - Hidden Markov Models @ Papers We Love Bucharest
 
Sequential Monte Carlo (SMC) and Particle Filters
Sequential Monte Carlo (SMC) and Particle FiltersSequential Monte Carlo (SMC) and Particle Filters
Sequential Monte Carlo (SMC) and Particle Filters
 
ITSP Dual Rail Project
ITSP Dual Rail ProjectITSP Dual Rail Project
ITSP Dual Rail Project
 
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
Sensor Fusion Study - Ch15. The Particle Filter [Seoyeon Stella Yang]
 
Nbvtalkonfeatureselection
NbvtalkonfeatureselectionNbvtalkonfeatureselection
Nbvtalkonfeatureselection
 
Queuing theory and traffic analysis in depth
Queuing theory and traffic analysis in depthQueuing theory and traffic analysis in depth
Queuing theory and traffic analysis in depth
 
Genomics algorithms on digital NISQ accelerators - 2019-01-25
Genomics algorithms on digital NISQ accelerators - 2019-01-25Genomics algorithms on digital NISQ accelerators - 2019-01-25
Genomics algorithms on digital NISQ accelerators - 2019-01-25
 
iBAT: Detecting Anomalous Taxi Trajectories from GPS Traces
iBAT: Detecting Anomalous Taxi Trajectories from GPS TracesiBAT: Detecting Anomalous Taxi Trajectories from GPS Traces
iBAT: Detecting Anomalous Taxi Trajectories from GPS Traces
 
Ant Colony Optimization (ACO)
Ant Colony Optimization (ACO)Ant Colony Optimization (ACO)
Ant Colony Optimization (ACO)
 

More from University of Colorado at Boulder

Three-dimensional construction with mobile robots and modular blocks
 Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks
Three-dimensional construction with mobile robots and modular blocksUniversity of Colorado at Boulder
 

More from University of Colorado at Boulder (20)

Three-dimensional construction with mobile robots and modular blocks
 Three-dimensional construction with mobile robots and modular blocks Three-dimensional construction with mobile robots and modular blocks
Three-dimensional construction with mobile robots and modular blocks
 
Template classes and ROS messages
Template classes and ROS messagesTemplate classes and ROS messages
Template classes and ROS messages
 
NLP for Robotics
NLP for RoboticsNLP for Robotics
NLP for Robotics
 
Indoor Localization Systems
Indoor Localization SystemsIndoor Localization Systems
Indoor Localization Systems
 
Vishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random TreesVishal Verma: Rapidly Exploring Random Trees
Vishal Verma: Rapidly Exploring Random Trees
 
Lecture 10: Summary
Lecture 10: SummaryLecture 10: Summary
Lecture 10: Summary
 
Lecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping IILecture 08: Localization and Mapping II
Lecture 08: Localization and Mapping II
 
Lecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping ILecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping I
 
Lecture 06: Features and Uncertainty
Lecture 06: Features and UncertaintyLecture 06: Features and Uncertainty
Lecture 06: Features and Uncertainty
 
Lecture 05
Lecture 05Lecture 05
Lecture 05
 
Lecture 04
Lecture 04Lecture 04
Lecture 04
 
Lecture 01
Lecture 01Lecture 01
Lecture 01
 
Lectures 11+12: Debates
Lectures 11+12: DebatesLectures 11+12: Debates
Lectures 11+12: Debates
 
Lecture 10: Navigation
Lecture 10: NavigationLecture 10: Navigation
Lecture 10: Navigation
 
Lecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping ILecture 07: Localization and Mapping I
Lecture 07: Localization and Mapping I
 
Lecture 06: Features
Lecture 06: FeaturesLecture 06: Features
Lecture 06: Features
 
Lecture 05: Vision
Lecture 05: VisionLecture 05: Vision
Lecture 05: Vision
 
Lecture 04: Sensors
Lecture 04: SensorsLecture 04: Sensors
Lecture 04: Sensors
 
Lecture 03: Kinematics
Lecture 03: KinematicsLecture 03: Kinematics
Lecture 03: Kinematics
 
Lecture 02: Locomotion
Lecture 02: LocomotionLecture 02: Locomotion
Lecture 02: Locomotion
 

Lecture 09: SLAM

  • 1. Probabilistic State Estimation With Application To Vehicle Navigation Matthew Kirchner Naval Air Warfare Center – Weapons Division Department of ECEE – University of Colorado at Boulder November 1, 2010
  • 2. Topics • Why? • Review • Background • Kalman Filter • Particle Filter • SLAM
  • 3. Why Probability? • Real sensors have uncertainty • May have multiple sensors • Some states are not directly observable • Ambiguous sensor observations
  • 4. Importance of Bayes Rule Bayes Rule Recursive Bayesian Estimation Linear Kalman Filter Unscented Kalman Filter Extended Kalman Filter EKF SLAM FastSLAMParticle Filter FastSLAM
  • 6. Equivalent Bayes Rule )()|()|( APABPBAP  )()|()|( APABPBAP 
  • 7. Bayes Rule Example • School: 60% boys and 40% girls • All boys wear pants • Half of girls wear skirts, half wear pants • You see a random student and can only tell they are wearing pants. • Based on your observation, what is the probability the student you saw is a girl?
  • 8. Bayes Rule Example • School: 60% boys and 40% girls • All boys wear pants • Half of girls wear skirts, half wear pants • You see a random student and can only tell they are wearing pants. • Based on your observation, what is the probability the student you saw is a girl? • We want to find: – P(Student=Girl | Clothes=Pants) • Prior? – P(Student=Girl) = 0.4 • Likelihood? – P(Clothes=Pants | Student=Girl) = 0.5 • Normalizing Constant? – P(Clothes=Pants) = 0.8 • Bayes Rule! – P(Student=Girl | Clothes=Pants) = (0.5)*(0.4)/(0.8) = 0.25
  • 11. Gaussian • 2D Probability density function described by mean vector and covariance matrix • 1D Probability density function described by mean and variance ),(~ 2 Nx                       2 221 12 2 1 2 1 2 1 ),(~          NX x x X
  • 12. Functions of Random Variables
  • 13. Functions of Random Variables • Linear function • Mean: • Covariance: • Linear functions only! xFy  T xy FF  xFy 
  • 14. Kalman Filter • Introduced in 1960 by Rudolf Kalman • Many applications: – Vehicle guidance systems – Control systems – Radar tracking – Object tracking in video – Atmospheric models
  • 15. Kalman Filter ),|( ttt uzxPWe want to find:
  • 17. Kalman Filter • Process Model: – Deterministic: – Probabilistic: • Used to calculate prior distribution • Observation Model: – Deterministic: – Probabilistic: • Used to calculate likelihood distribution ),( 1 ttt uxfx  )( tt xfz  ),,(),|( 11 tttttt wuxfuxxP   ),()|( tttt vxfxzP 
  • 18. Kalman Filter: Assumptions • Underlying system is modeled as Markov – • All beliefs are Gaussian distributions – Additive zero mean Gaussian noise • Linear process and observation models – Process Model: • – Observation Model: • ),,,|()|( 3211   tttttt xxxxPxxP ttt vHxz  tttt wBuFxx  1 ),0(~ QNwt ),0(~ RNvt
  • 19. Kalman Filter Steps 1. Using process model, previous state, and controls, find prior – Sometimes called ‘predict’ step, or ‘a priori’ 2. Using prior and observation model, find sensor likelihood – If I knew state, what should sensors read? 3. Find observation residual – Difference between actual sensor values and what was calculated in step 2. Also sometimes called ‘innovation’.
  • 20. Kalman Filter Steps 4. Compute Kalman gain matrix 5. Using Kalman gain and prior, calculate posterior – Sometimes called ‘correct’ step or ‘a posteriori’
  • 21. Kalman Filter Steps • Algorithm Kalman_Filter( ) – 1a: – 1b: – 2: – 3: – 4: – 5a: – 5b: • Return( ) ttttt uBxFx  1 ˆ t T tttt QFF  1 ˆ ttt xHz ˆˆ  ttt zzz ˆ 1 )ˆ(ˆ   t T ttt T ttt RHHHK tttt zKxx  ˆ tttt HKI  ˆ)( tttt zux ,,, 11   ttx ,
  • 24. Kalman Filter Example Root Mean Squared Error (RMSE) KF 1.0030m GPS Only 3.6840m
  • 25. Kalman Filter Example GPS Lost GPS Reacquired
  • 27. Kalman Filter • O(k^2.4+n^2) • Many real systems are non linear – Extended Kalman filter – Unscented Kalman filter – Particle filter • Some systems are non-Gaussian – Particle filter
  • 28. Extended Kalman Filter • Linearize process and observation models – By finding Jacobian matrices – Analytically or numerically • Then use regular Kalman filter algorithm • Sub-optimal
  • 34. Particle Filter • Represent distribution as set of randomly generated samples, called ‘particles’. • Functions can be nonlinear and non-gaussian • Multi-hypothesis belief propagation
  • 35. Particle Filter • Sample the prior • Compute likelihood of particles given measurement – Also called particle ‘weights’ • Sample posterior: Sample from particles proportional to particle weights – Also called ‘resampling’ or ‘importance sampling’
  • 36. Simultaneous Localization and Mapping • SLAM Problem: – Need map to localize – Need location to make map • Brainstorming: How can we solve this problem? – Map could be locations of landmarks or occupancy grid • Kalman filter based: landmark positions part of state variables • Particle filter based: landmark positions or occupancy map included in each particle ),|,( ttt uzmxP