FixTheRobot Explore Robotics / Localization & SLAM / M8 / M8-L4

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

Localization & SLAM · Advanced SLAM and Research · M8-L4 · Advanced

Evaluate a SLAM System Under Controlled Failures

The vendor’s slide says “0.12 m average error”. Your own tests show that one run in eight ends in a map that is unusable. Both statements are true of the same data.

You write the summary that makes the failure visible, then attack a real back end with false loop closures to see which defence deserves to be called robust.

Your task

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

    Plain Python with math and, for matrices, slamkit (matmul, transpose, solve, inverse, identity). The data arrive as the dictionary D. There is no NumPy, random, json or copy in the browser runtime. Your code runs locally and never leaves this page.

    Hints

    What this lab teaches

    Stage 1 turns the reporting rules of M8-T8 into a function: median, percentile and failure rate per condition and an identification of the condition to which the system is most sensitive, graded against the reference on hidden sets of runs. Stage 2 runs the pose-graph optimiser of Module 4 under injected false loop closures with and without robust kernels, twelve runs per setting.

    Why it matters

    Systems are chosen on summary numbers. Whether those numbers include the failures decides whether the choice is sound.

    Theory for this lab

    Advanced SLAM and Research labs

    1. M8-L1: Handle Dynamic Objects in Mapping
    2. M8-L2: Compare SLAM Trajectories Using Evaluation Metrics
    3. M8-L3: Diagnose Localization in a Feature-Poor Environment
    4. M8-L4: Evaluate a SLAM System Under Controlled Failures: this lab.

    Educational simplification: the system under test is the SE(2) pose-graph back end on a circular trajectory with 24 poses, not a complete SLAM front end; the failures are injected in the data (drift, false loop closures, no loops); twelve runs per condition, a fixed failure threshold on the ATE. Real studies also inject sensor dropouts and timing faults, use many more runs and report confidence intervals.

    Get the next lab

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