FixTheRobot Explore Robotics / Navigation / M1 / M1-L1

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

Navigation · Navigation Foundations · M1-L1 · Beginner

Read a Failed Run

Three incident tickets arrived on Monday morning. Scout stopped in front of a door it should have driven through, weaved down a straight corridor, and reported "goal reached" about a metre from the goal. Each ticket says only "navigation is broken".

You will read the data the robot recorded, draw the evidence from the same simulation that produced it, and decide which stage of the stack is responsible before anyone changes a parameter.

Your task

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

    Plain Python with math and heapq. 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

    Navigation failures look alike from outside: the robot stops, wobbles or arrives in the wrong place. Each incident here has a different cause in a different stage: a footprint mismatch between costmaps, a controller that cannot hold a path with its lookahead and latency, and a pose estimate that jumped. The drawings and log numbers come from one simulation, so they cannot disagree.

    Each stage asks for a diagnosis, the smallest fix, and the evidence that rules out the alternatives. There is no code to write; the skill is reading the evidence.

    Theory for this lab

    Navigation Foundations labs

    1. M1-L1: Read a Failed Run: this lab.
    2. M1-L2: Drive the Robot: Unicycle and Car-Like Models
    3. M1-L3: Score a Navigation Run

    Educational simplification: the incidents are simulated and the numbers are chosen to make one cause dominant. Real failures often combine several causes (lesson M7-T7 covers this).

    Get the next lab

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