An AprilGrid is a calibration target made of individually coded AprilTags arranged in a regular grid. It is the pattern the Kalibr toolbox is built around, used mainly for multi-camera and camera-IMU calibration in robotics. Because every tag decodes to a unique ID, calibration succeeds even when the board is only partly visible, and the coding removes the pose-flip ambiguity that affects symmetric patterns like checkerboards and circle grids.
This guide covers what an AprilGrid is, why Kalibr recommends it over a checkerboard, the tag parameters that define one, how it differs from a ChArUco board, and how the substrate sets your accuracy ceiling.
What is an AprilGrid?
An AprilGrid is a grid of AprilTags — square fiducial markers from the AprilTag family (Kalibr uses the 36h11 code family). Each tag contributes four corners, so a grid of tagRows × tagCols tags yields a dense field of coded points. Unlike a plain checkerboard, where every corner looks identical, each AprilGrid corner can be identified on its own, so the detector never needs the whole board in view to know which point is which.
Why does Kalibr recommend an AprilGrid over a checkerboard?
Kalibr explicitly recommends the AprilGrid, for three reasons that matter on a moving rig:
- Partial visibility. Tags at the edges and corners of the image still contribute, so you capture the lens periphery — where distortion is largest and calibration data is most valuable.
- No pose-flip ambiguity. Symmetric checkerboards and circle grids can flip 180° in pose estimation; the unique tag IDs remove that failure mode entirely, which Kalibr’s own documentation flags as a reason to prefer AprilGrid for camera-IMU work.
- Robust multi-camera correspondence. Cameras seeing different parts of the same grid still agree on which physical point is which — essential for stereo and multi-camera extrinsics.
How does an AprilGrid differ from a ChArUco board?
Both are coded and both tolerate partial views, so they are easy to confuse — but they are not interchangeable. The difference is the marker family and the toolchain:
- AprilGrid uses AprilTag markers and is the native pattern for Kalibr / ROS — the standard for camera-IMU and multi-sensor calibration.
- ChArUco uses ArUco markers embedded in a checkerboard and is OpenCV-native (also read by MATLAB and HALCON).
So the choice is usually made for you by your software: if you are running Kalibr, use an AprilGrid; if you are in OpenCV and need coded partial-view calibration, use a ChArUco board. Ordering one when your pipeline expects the other is the most common mistake here.
Which AprilGrid parameters matter?
An AprilGrid is defined by four values in a Kalibr target YAML. Get these right and detection stays robust:
target_type: 'aprilgrid' tagCols: 6 # number of tags in the x-direction tagRows: 6 # number of tags in the y-direction tagSize: 0.088 # tag edge length, in metres tagSpacing: 0.3 # ratio of the gap between tags to tagSize
- tagCols / tagRows. The grid size. More tags means more coded points and better constraints, at the cost of a larger board or smaller tags. 6×6 is a common default.
- tagSize. The tag edge length in metres. Pick it so tags are large enough to decode reliably at your working distance; scale it up for long range, down for close range.
- tagSpacing. The gap between tags as a fraction of tag size — 0.3 is typical. The gap is what lets the detector separate adjacent tags.
You can generate a matching PDF with Kalibr’s own tool, then order the physical target at the exact tagSize and tagSpacing you specified:
kalibr_create_target_pdf --type apriltag --nx 6 --ny 6 --tsize 0.088 --tspace 0.3
Verify the printed tag size against the YAML before you calibrate — a scale mismatch between the digital definition and the physical target looks exactly like a calibration error when it isn’t one.
Checkerboard vs ChArUco vs AprilGrid
| Checkerboard | ChArUco | AprilGrid | |
|---|---|---|---|
| Feature | Saddle corners | Corners + ArUco | AprilTag corners |
| Coded IDs | No | Yes (ArUco) | Yes (AprilTag 36h11) |
| Partial view | No | Yes | Yes |
| Pose-flip ambiguity | Possible | No | No |
| Native software | OpenCV, MATLAB | OpenCV, MATLAB, HALCON | Kalibr / ROS |
| Best for | Single, controlled | Wide-angle, multi-cam (OpenCV) | Camera-IMU, multi-cam (ROS) |
Which applications use AprilGrid?
AprilGrid is the pattern of choice wherever a moving rig combines cameras with other sensors: autonomous-vehicle camera arrays and camera-IMU fusion, drone navigation cameras, mobile robots and cobots, and VR/AR spatial mapping. In all of these, the rig moves through its full range during capture, so partial-view robustness and freedom from pose flips matter more than raw corner density.
Why the target — not the toolbox — sets your accuracy ceiling
Kalibr can only be as accurate as the grid it observes. A laser-printed paper AprilGrid carries ±50–200 µm of positional error and warps, both of which propagate into the extrinsics. For field and large-format use, a dimensionally stable film target is a large step up from paper; for precision lab work, a photolithographic chrome-on-glass grid removes the error source entirely:
| Substrate | Feature accuracy | Best for |
|---|---|---|
| Quartz glass (blue chrome) | ±0.5 µm | Precision lab, metrology |
| Soda-lime glass (brown chrome) | ±1 µm | Backlit precision machine vision |
| Matte ceramic (blue chrome) | ±2 µm | Rugged production floors |
| Film | ±15 µm | Large-format, portable field rigs |
Every target ships with a serial-numbered inspection report; NIST/NIM-traceable, CNAS-accredited (ILAC-MRA-recognised) third-party calibration is available on request. For what a trustworthy report must contain, see how we measure and report target accuracy.
How do I order the right AprilGrid?
Send your Kalibr target YAML — tagCols, tagRows, tagSize and tagSpacing — plus substrate and overall size, or just describe your rig and working distance and our engineers will specify it. Browse standard AprilGrid targets, generate a pattern with our calibration pattern generator, or request a custom quote.



