FixTheRobot Explore Robotics / Perception / P7 / P7-L4

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

Perception · Multi-Object Tracking and Temporal Perception · P7-L4 · Intermediate

Recover from Temporary Occlusion

A forklift drives behind a pallet stack and comes out on the other side as a new object. The planner, which had been avoiding “object 7”, now sees an unknown object 12 and has forgotten that the first one was there.

You will make tracks survive an occlusion, stop false alarms from becoming objects, and choose how long to wait from data.

Your task

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

    Plain Python with math (and slamkit for small matrix helpers: matmul, transpose, solve, inverse, identity). Images, point clouds and detections arrive as lists inside the dictionary D; an image is a list of rows, each row a list of pixels. There is no NumPy or OpenCV: you write the algorithm yourself, which is the point of the lab. Print with print().

    Hints

    What this lab teaches

    Stage 1 explores max_age and min_hits. Stage 2 writes a tracker that predicts, coasts and confirms. Stage 3 chooses max_age by cost from logged gap lengths. All detections are simulated. Your code is graded on hidden scenes with ground-truth identities kept by the grader.

    Theory for this lab

    Multi-Object Tracking and Temporal Perception labs

    1. P7-L1: Track Moving Objects Across Simulated Frames
    2. P7-L2: Repair an Object-Association Algorithm
    3. P7-L3: Investigate How Noisy Detections Affect Track Quality
    4. P7-L4: Recover from Temporary Occlusion: this lab.

    Educational simplification: point detections, a single vertical occluder, constant-velocity motion with reflections at the borders, greedy association and fixed costs. Real trackers also use appearance, motion models for turning, and reasoning about which objects can be hidden where. All data in this lab are simulated.

    Get the next lab

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