在 engine1wu 的基础上将 ROS1 的 FAST-Calib 项目转换成了 ROS2。仅在 ubuntu 22.04 humble 上进行了测试。
在calib_data/mid360_11中提供了测试数据,是将sample data中的mid360/11点云裁剪后转成了ros2格式。只需要修改 config/qr_params.yaml 文件中的路径相关的参数就可以跑这组测试数据了,其中bag_path是ros2 bag PointCloud2的文件夹。
ros2 launch fast_calib calib.launch.py
修改了对应的启动方式更新 ~/fastlivo2_platform/tools/run_fast_calib.sh
# FAST-Calib
FAST-Calib is an automatic target-based extrinsic calibration tool for LiDAR-camera systems (eg., [FAST-LIVO2](https://github.com/hku-mars/FAST-LIVO2)).
**Key highlights include:**
1. Support solid-state and mechanical LiDAR.
2. No need for any initial extrinsic parameters.
3. Achieve highly accurate calibration results **in just 2 seconds**.
**In short, it makes extrinsic calibration as simple as intrinsic calibration.**
📬 For further assistance or inquiries, please feel free to contact Chunran Zheng at zhengcr@connect.hku.hk.
<p align="center">
<img src="./pics/calib.jpg" width="100%">
<font color=#a0a0a0 size=2>Left: Example of circle extraction from Mid360 point cloud | Right: Point cloud colored with calibrated extrinsic.</font>
</p>
## 1. Prerequisites
PCL>=1.8, OpenCV>=4.0.
## 2. Run our examples
1. Prepare the static acquisition data in `calib_data` folder (see [sample data](https://connecthkuhk-my.sharepoint.com/:f:/g/personal/zhengcr_connect_hku_hk/Eq_k_4Mf_11Eggg4a5lbRzgBHwd0EivtCJd2ExtcNlu1FA?e=vjm4gH) from Mid360, Avia and Ouster):
- rosbag containing point cloud messages
- corresponding image
2. Run the calibration process:
```bash
roslaunch fast_calib calib.launch
- Customize the calibration target in the image below.
- Record data to rosbag.
- Provide the instrinsic matrix in
qr_params.yaml. - Set distance filter in
qr_params.yamlfor board point cloud (extra points are acceptable). - Calibrate now!
Left: Actual calibration target | Right: Technical drawing with annotated dimensions.
Related article is coming soon...
The calibration target design is based on the velo2cam_calibration.
For further details on the algorithm workflow, see this document.
Special thanks to Jiaming Xu for his support, Haotian Li for the equipment, and the velo2cam_calibration algorithm.