Monocular Camera Calibration
Install and configure
cd kalibr_workspace
source devel/setup.bash
If the April tag is used to calibrate the board, set the aprilgrid.yaml configuration file
Calibration data bag collection
When collecting single-target positioning data, pay attention to: 1. The pose of the calibration board should be as rich as possible, so that the tags can be evenly distributed in the image as much as possible
. Turn, turn down, turn left, turn right] Five kinds of image frames (there is no movement of the roll axis in the internal parameter calibration, roll has little effect on the camera’s internal parameters, but roll must be added when calibrating the external parameters)
Run the command and get the output file
cd <folder where .yaml and .bag are stored>/
rosrun kalibr kalibr_calibrate_cameras --bag HKRCam0_max.bag --topics /HKRCams/Cam0 --models pinhole-radtan --target april_6x6_max.yaml
HKRCam0_max.bag is the collected data package name , topics is the single-purpose topic to be marked, pinhole-radtan indicates the distortion type used, and april_6x6_max.yaml is a configuration file suitable for your own calibration board parameters
The program outputs three files:
report-cam-%BAGNAME%.pdf
: PDF version of the result report, including drawn pictures and calibrated parameters.results-cam-%BAGNAME%.txt
: Calibration results stored in text files.camchain-%BAGNAME%.yaml
: Calibration results stored in YAML format. It can be used directly as input for camera-IMU correction.
You may encounter the problem of focal length initialization failure:
solution:
Calibration mass analysis
Analysis of monocular internal reference data quality
1. Pay attention to the projection error: the re-projection error of the camera with 1080p resolution is within 1pix. By analogy
2. Check whether the pose of the calibration board is rich and whether the tags of the calibration board are evenly distributed in the camera field of view
.
(Binocular external reference and imu & camera calibration to be updated)