FixTheRobot Explore Robotics / Localization & SLAM / M6 / M6-L3

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

Localization & SLAM · Visual and Visual-Inertial SLAM · M6-L3 · Advanced

Investigate ORB-SLAM Failure Modes

The robot lost tracking three times on the same patrol. The vendor says “the visual SLAM is unreliable”. The logs say something more useful: each time the cause was different.

You read the logs like an engineer: classify each loss, then decide when a recovery should be believed.

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 applies the failure catalogue of M6-T9: every cause leaves a fingerprint in a different signal, and the grader checks the start and the cause of each episode on hidden logs with different combinations of causes. Stage 2 is the recovery side: how inlier count and persistence decide whether a relocalisation is real, and the delay each check costs.

    Why it matters

    Each cause has a different remedy (shorter exposure, another sensor, locked exposure, a design change, masking). Without the diagnosis you tune the wrong thing.

    Theory for this lab

    Visual and Visual-Inertial SLAM labs

    1. M6-L1: Diagnose Feature-Tracking Failure
    2. M6-L2: Understand Visual Odometry Drift
    3. M6-L3: Investigate ORB-SLAM Failure Modes: this lab.
    4. M6-L4: Diagnose Camera–IMU Synchronization Errors

    Educational simplification: the logs are synthetic per-frame summary signals; each episode has a single cause, a fixed length and clean separation of signals; relocalisation proposals are described by two numbers. Real logs mix causes and need thresholds tuned on data.

    Get the next lab

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