VINS Calibration

Targetless camera–IMU calibration. It runs with VIO stopped or alongside VIO and updates only the blocks that pass calibration and verification checks.

1Cameras

Pick the cameras to calibrate. Calibrating a payload camera together with the VIO cameras is the recommended shape.

  • Loading cameras…

2Session

Where the data comes from and how long to collect.

Live

The prompt is the one thing to act on: it names the motion the session still lacks.

idle
Waiting for a session
idle
  • Settle
  • Bootstrap
  • Collect
  • Solve
  • Verify
  • Commit
Weakest calibration direction—
Collection budget—
—
Windows kept
—
Fusable
—
Held out for verify
—
Tracked Hz per camera
—
Features per camera
—
Drops

Calibrator log

voxl-zcalib’s console, relayed as it prints. A refusal or an abort is explained here first.

No session yet.

Session

Everything below comes from the report the calibrator wrote. Nothing is recomputed or smoothed in the browser.

voxl-open-vins-server.conf

What the server reads at boot. The four calibration keys (en_calib_hotstart, calibrate_first, calib_restore_governor, calib_hotstart_on_reset) are a group and default off. calibrate_first without en_calib_hotstart is ignored.

estimator_config.yaml — the VIO estimator

What voxl-open-vins-server loads from its yaml_folder at boot and again on a health-check hard reset. Save refuses the two shapes the server misreads: a first line that is not %YAML:1.0 (the file is rejected) and a colon inside a trailing comment (the key silently keeps its default).

ov_calib.yaml — the calibrator profile

What the calibrator is given versus what it must earn. Not estimator_config.yaml, and it must not become it. The defaults are a measurement; the file’s own header carries the seeding matrix they came from.

One trap this file carriesA trailing comment containing a colon on a value line silently turns the value into a nested map, and the setting keeps its default. Keep comments on their own line.
Where it livesThe package ships the default at /usr/share/modalai/voxl-open-vins/ov_calib.yaml and copies it to /etc/modalai/ov_calib.yaml only when nothing is there yet. This editor reads and writes the /etc copy; a package upgrade never overwrites it. Delete it to fall back to the packaged default.