Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/ethz-asl/kalibr/llms.txt

Use this file to discover all available pages before exploring further.

Every Kalibr calibration command requires a --target YAML file that describes the physical calibration target. Kalibr uses this geometry to establish 3D-to-2D correspondences between known target points and their detected image locations. Getting the dimensions exactly right is critical: errors in the physical measurements translate directly into intrinsic and extrinsic calibration errors.
Always measure the printed target with a ruler or caliper. Printer scaling, paper size mismatches, and PDF-to-paper margins can all introduce systematic errors if you use the nominal design values without verification.

Target types

Kalibr supports three target types. AprilGrid is strongly recommended for most use cases.
The AprilGrid target is the default and recommended choice. Each tag has a unique ID that allows unambiguous detection even with partial occlusion and wide baselines. Kalibr can detect an AprilGrid even when fewer than half of the tags are visible.
target_type: 'aprilgrid'
tagCols:     6
tagRows:     6
tagSize:     0.088   # meters — measure from the printed target
tagSpacing:  0.3     # fraction of tagSize (gap / tagSize)

Field reference

target_type
string
required
Must be 'aprilgrid'.
tagCols
integer
required
Number of AprilTag columns in the grid. Must be an integer ≥ 3.
tagRows
integer
required
Number of AprilTag rows in the grid. Must be an integer ≥ 3.
tagSize
number
required
Side length of a single AprilTag in meters, measured from the outer edge of the black border of one tag to the outer edge of the black border on the opposite side. Measure this value from the physical printout.
tagSpacing
number
required
Gap between adjacent tags expressed as a fraction of tagSize. For example, 0.3 means the gap between tags is 0.3 × tagSize meters. Must be a positive float. Measure this value from the physical printout and compute gap_m / tagSize_m.

Generating an AprilGrid PDF

Use the bundled tool to generate a printable target:
kalibr_create_target_pdf \
  --type apriltag \
  --nx 6 --ny 6 \
  --tsize 0.088 \
  --tspace 0.3
See kalibr_create_target_pdf for all options.

Circlegrid target (advanced)

Kalibr also parses a circlegrid target type in its configuration reader. The fields are targetRows, targetCols, spacingMeters, and asymmetricGrid. This target type is not supported by kalibr_create_target_pdf and is rarely used in practice — the AprilGrid is strongly preferred.

Mounting recommendations

Attach the printed target to a rigid, flat backing such as aluminium composite panel or foam board. Any warping or surface irregularity introduces 3D point errors that appear in the calibration as residual reprojection error. For small targets (< 20 cm), even slight paper curl can measurably degrade results.

Build docs developers (and LLMs) love