Cameras (Nav and Stereo)

INSANE carries two cameras. Neither image stream has a per-stream schema page of its own; this page gathers the camera facts that live across the platform, file-layout, schema, calibration, and data-quality references.

Devices and geometry

  • Nav camera — IDS UI-3270LE-M-GL with a BM4018S118C lens (aperture f/1.8, FoV D=126°/H=101°), 20 Hz, 2056×1542 mono global shutter, mounted downward and co-aligned with the laser range finder.
  • Stereo camera — the RealSense T265 fisheye pair, 30 Hz, 848×800 mono, 64 mm baseline, 163° FoV, mounted forward with the optical axis ~30° below horizontal (≈60° from nadir).

Devices, rates, and the mount geometry are on Platform.

Acquisition settings (paper §3.4): the nav-camera exposure is fixed below 5 ms to limit motion blur, with gain auto-adapted within a bounded range to balance brightness across a trajectory — load-bearing across the transition’s outdoor-sun → shadow/reflecting-snow → indoor-artificial light changes, and on the Mars/outdoor runs it caps gain over bright reflecting flats. The stereo camera runs at manufacturer defaults.

Above ~2 m altitude the forward stereo and downward nav camera share field of view (paper §3.2.3, Figure 6, which marks the same landmarks in both views) — an available cross-camera constraint, since both extrinsics are known via T_cam_px4imu. One of the three stated reasons for the 60° stereo tilt is precisely this overlap for additional feature matching. The forward-down stereo also sees the door-mounted vertical boards 1/2/7 and their UWB anchors side-on, which the nadir nav camera never captures — but only on the building-approach flank. Every such door-board detection falls in the seconds before the transition truth gap opens; none land inside any gap window, where the tilt has swung the stereo off the vertical boards onto the floor rig. The side-on door-board and UWB-anchor view is therefore an approach-flank asset — for cross-camera extrinsic checks and direct anchor sighting — not an in-gap localization source.

Where the imagery lives

Each run carries <run>_nav_cam/ and <run>_stereo_cam/, each with a *_timestamps.csv and an img/ directory. Nav PNGs are 2056×1542, stereo PNGs 848×800, both 8-bit mono.

Per-run availability and the full capability matrix are on File Layout:

  • the nav camera is present on every run but mars_6 (mars_5 ships header-only with an empty img/)
  • the stereo pair is absent on mars_1,2,3,7 and header-only on mars_6

Timestamp and pairing schema

  • Image t[ns] is floating-point seconds, not nanoseconds; #img_no is a 1-based index.
  • Stereo pairs share an identical t[ns] and are disambiguated by _c1/_c2, not by timestamp.
  • The _c1/_c2 counts are not guaranteed equal — a few unpaired leading/trailing singleton frames occur on indoor_* and several Mars runs (indoor_1 9495 c1 / 9492 c2, mars_18 7682 / 7673).
  • Pair by _c1/_c2 + equal t[ns], never by index or parity, and verify both file existence and PNG decode.

Full schema and parsing rules are on Schema and Parsing Conventions.

Calibration

The nav and stereo intrinsics and extrinsics, the duplicate-key YAML trap, the two parallel nav-camera distortion models, and the stereo fov masking are on Calibration Files. The camera-calibration set per run (klu1 / klu2 / mars) is on Platform. The derived camera↔︎LRF boresight is on Camera-LRF Boresight (Derived).

Defects

Missing nav-camera PNG tails, the referenced-but-absent or corrupt transition stereo pairs, and the build-leakage temp file are catalogued under Known Defects.