EECE 5554 Robotics Sensing and Navigation  /  Interactive demo

Pick a stereo baseline

Depth from stereo is Z = f B / d, and its error grows with the distance squared. Set the lens, the baseline, and the matching error, then a requirement: how far you need to see, and how accurately. The page tells you whether the rig meets it, and what it costs up close.

Runs stereo_baseline.pyLecture 13
Starting...

Lens

Stereo pair

Baseline B
Matching error

Requirement

Range
Accuracy there

The course rig: Blackfly S, 4.5 µm pixels, 1616 pixels wide.

Depth error against distance. Red band: too close to measure with this search range. Orange: your accuracy. The dot: your requirement.

The garage tests

The baseline table

Try this

  1. With the defaults (5 mm lens, 0.5 m baseline), 12 cm at 15 m is met with a little to spare. Now ask for 10 cm at 25 m: the page says you need about 1.4 m of baseline.
  2. Set the baseline to 1.4 m. Far away is fine now, but the closest usable distance moves past 6 m, and the 3 m garage test drops out of range.
  3. Switch to the 3.5 mm lens. You see more of the road, and the depth error gets worse at every distance.
  4. Raise the matching error to 0.5 px, about what a poorly calibrated pair gives. Every error doubles: calibration is part of the baseline budget.

Notebook

Work with the same script in cells, like Jupyter, right here in the browser. Edit any cell and run it. Nothing is saved: Reset brings a cell back, and Download .ipynb keeps your edited version for VS Code or Jupyter.

Loading Python...
The Python script: stereo_baseline.py

This is the script the page runs. Run it yourself with python3 stereo_baseline.py.

stereo_baseline.py