Physical Calibration
Point-to-pixel colors a cone only when the projected LiDAR point lands on that cone in the image. Calibration supplies the intrinsics and extrinsics that make that alignment hold.
Solve order:
- Intrinsics: per-camera and distortion in
seecam_calibration_{l|r}.yaml, used to undistort at capture. - Extrinsics: the 3×4
projection_matrix_l/rinparams.yaml, composed as .
HSV filter bounds and imu_to_lidar also live in params.yaml. They are set by other tools or by hand edit; these scripts do not produce them.
| Page | Contents |
|---|---|
| Procedure | Capture, solve, gates, failure modes |
| Projection math | definition and runtime vs physical pixels |
| Intrinsics math | Checkerboard → , distortion, reprojection |
| Extrinsics math | Multi-pose board / LiDAR plane → via Kabsch |
| Legacy DLT | Click correspondences on prod, plus the post-solve adjuster |
Feature-branch tools assume a 9×6 internal-corner board, capture at 1920×1200, and DRIVERLESS set to the repo root. Pass board dimensions with --square-m, --board-width-m, --board-height-m.
At runtime, projected centroids should track cones at rest and in motion. A constant pixel offset usually indicates extrinsics error; radial stretch at the image edges usually indicates intrinsics error or a YAML image size other than 1920×1200.
