Skip to main content
Module 5 · Dijkstra's Algorithm

Lesson 7 · Obstacle Detection with the Rangefinder — Knowledge ChecksAnswer key

Correct answers are marked and the explanation follows each question.

  1. How does an ultrasonic rangefinder measure distance?

    1. A.It uses a camera to estimate size
    2. B.It sends a sound pulse and times how long the echo takes to return
    3. C.It counts wheel rotations
    4. D.It reads a GPS signal

    Sound pulse out, echo back, time it — that round-trip time converts to a distance. The XRP returns it in centimeters.

  2. Why use a threshold instead of checking for an exact distance?

    1. A.Exact distances are illegal
    2. B.Sensor readings vary slightly (noise), so a cutoff is more reliable than an exact match
    3. C.To make the robot slower
    4. D.Thresholds use less memory

    Ultrasonic readings fluctuate with angle, surface, and noise. A threshold ('closer than 15 cm = blocked') absorbs that variation; an exact-match check would fail constantly.

  3. The robot is at (2,1) facing NORTH and the rangefinder reads 8 cm (threshold 15). Which node is blocked?

    1. A.(2,1) — where the robot is
    2. B.(1,1) — the node directly ahead (north is row − 1)
    3. C.(3,1)
    4. D.(2,2)

    Facing north means the next node is row − 1: (1,1). The robot sits on a clear node; the obstacle is the adjacent one it faces.

  4. When the robot detects a new obstacle, what does it do to reroute?

    1. A.Stops permanently
    2. B.Creates a fresh Dijkstra with the updated blocked list and current position, then recomputes the path
    3. C.Reverses back to the start
    4. D.Ignores it and drives through

    Detecting an obstacle means reroute, not stop. A new Dijkstra with the updated blocked list and the robot's current position produces a path around it.

  5. Why test with a simulated rangefinder before using the real one?

    1. A.The real sensor never works
    2. B.To verify the detect-update-recompute logic in software first, separating code bugs from hardware bugs
    3. C.Simulation is required by Python
    4. D.To avoid writing the loop

    A simulated sensor lets you confirm the rerouting logic on screen. Once that's solid, real-sensor problems are clearly hardware, not logic — much easier to debug.