FixTheRobot Explore Robotics / Probability for Robotics / M5 / M5-L1

This lab works on phones, but writing code is much easier on a laptop.

Probability for Robotics · Probabilistic Motion and Observation Models · M5-L1 · Intermediate

Probabilistic Odometry

Bench log · Rover in the teaching lab

15:30. Dead reckoning puts Rover on the far side of a wall after two corners. The odometry said the path was clear; the lidar says otherwise. The state estimator treats odometry as exact, and that is the first thing to fix.

You will see what the four noise coefficients of the odometry model do to the possible end poses, write the sampler that a particle filter calls at every step, grow the cloud along the path, and then measure the coefficients from logged turns and straight drives instead of guessing them.

Your task

    Simulation
    solution.pyLoading Python…
    Ctrl+Enter runs
    What Python can I use?

    Plain Python with math and the course library robotprob (for example from robotprob import Rng, mean, gaussian_pdf). NumPy is not available in the browser. Your code runs in a background worker: an endless loop is stopped after a few seconds and the page stays usable. It runs in your browser and is never sent anywhere.

    Hints

    What this lab teaches

    Stage 1 builds intuition for the model of Thrun, Burgard and Fox: a motion is a turn, a drive and a turn, each with an error whose variance grows with the size of the motion. Stage 2 implements the sampler, where the order of turn and drive matters. Stage 3 grows a cloud along a path by giving every particle its own noise at every step, which is the prediction step of a particle filter. Stage 4 identifies the coefficients from logged runs: they multiply variances, so they are mean squared ratios.

    Grading compares the statistics of your samples with the model on hidden poses, motions and coefficients (centre, spread and shape), and the identified coefficients with the true ones.

    Theory for this lab

    Probabilistic Motion and Observation Models labs

    1. M5-L1: Probabilistic Odometry: this lab.

    Educational simplification: the odometry model with Gaussian errors; the four coefficients are constants. Real wheel odometry has bias, floor-dependent slip and non-Gaussian errors, and a good model usually needs calibration for each floor.

    Get the next lab

    Get notified when new robotics labs are released. One email per new lab, nothing else.