Estimation Algorithms
Work out where things are from sensors that lie a little. Localise a rover in a corridor with a histogram filter, track a moving ball with a Kalman filter, then localise the rover among beacons with an EKF and in a maze with a particle filter.
Start the lesson0/4 steps done
What you'll learn
- The Bayes filter: predict, observe, correct
- Kalman filter predict and update steps
- An EKF with range-bearing measurements
- Monte Carlo localisation with a particle filter
Before you start
You should be comfortable with basic Python: variables, loops and functions. We'll introduce the robotics and the maths as you go. The first visit downloads the physics engine and Python, about 20 MB, and later visits load from your browser's cache.
Steps
- 1Bayes filterFind the rover in a corridor from a noisy floor sensor: predict with each move, correct with each reading, and watch a many-peaked belief settle on one.BeliefPredict / updateHistogram filterOpen
- 2Kalman filterPredict with a motion model, correct with each measurement, and keep track of how uncertain you are.Predict / updateCovarianceKalman gainPro
- 3Extended Kalman filterTrack a rover's pose from odometry and beacon sightings by linearising its models around the current estimate.LinearisationJacobiansAngle wrappingPro
- 4Particle filterFind the rover in a maze by keeping a thousand guesses, moving them with odometry, scoring them against the lidar and resampling the good ones.Monte Carlo localisationLikelihood fieldLow-variance resamplingPro