参考:
http://s1nh.org/post/calib-velodyne-camera/
https://blog.csdn.net/learning_tortosie/article/details/82347694
https://blog.csdn.net/jianxuezixuan/article/details/86015224
https://blog.csdn.net/X_kh_2001/article/details/89163659
安装过程用官网的源码安装即可。
对于如何生成内参与外参,参考:https://blog.csdn.net/X_kh_2001/article/details/89163659
生成yaml文件格式如下所示:(这是标定内参后生成的文件,外参标定完成后,CameraExtrinsicMat将会改变)
%YAML:1.0
---
CameraExtrinsicMat: !!opencv-matrix
rows: 4
cols: 4
dt: d
data: [ 1., 0., 0., 0., 0., 1., 0., 0., 0., 0., 1., 0., 0., 0., 0.,
1. ]
CameraMat: !!opencv-matrix
rows: 3
cols: 3
dt: d
data: [ 6.0930328797947482e+02, 0., 3.1031651266062545e+02, 0.,
6.0899238994475002e+02, 2.4626671682512318e+02, 0., 0., 1. ]
DistCoeff: !!opencv-matrix
rows: 5
cols: 1
dt: d
data: [ 8.6431249579251121e-02, -1.4704874856941597e-01,
-5.5439696020033046e-04, -1.9515514445514945e-03,
-2.6628324052679192e-01 ]
ImageSize: [640, 480]
Reprojection Error: 0.0
DistModel: plumb_bob
在图像中显示点云,查看标定结果:
http://s1nh.org/post/calib-velodyne-camera/
具体步骤:
最开始记得souruce一下ros和autoware
1
roscore
2
rosbag play data_2020-04-15-15-48-30.bag /camera_array/cam0/image_raw:=image_raw /livox/lidar:=points_raw
(在autoware中默认的激光雷达的topic名字为points_raw)
空格键为暂停
3 在rviz中可视化查看
rviz
并添加点云和图片的topic以及修改fixed frame,这时如果取消暂停的话就可以在rviz中可视化图片和点云。
4 标定内参 见https://blog.csdn.net/X_kh_2001/article/details/89163659,本人已经有标定好的内参,就略去了这一步,直接将我上边的yaml文件修改一下就好了。
5 标定外参
roslaunch autoware_camera_lidar_calibrator camera_lidar_calibration.launch intrinsics_file:=/home/wzb/practice/align/data/20200417_1623_autoware_camera_calibration.yaml image_src:=/image_raw
先单击图片上的点,再点击rviz中的publish point在点云中选出相对应的点,选出九组以后,就会在home目录下生成标定后的文件。
6
roslaunch /home/wzb/applications/autoware.ai/src/autoware/utilities/runtime_manager/scripts/calibration_publisher.launch file:=/home/wzb/20200422_200447_autoware_lidar_camera_calibration.yaml image_topic_src:=/image_raw
rosrun points2image points2image
执行完毕后,打开rviz,选择Panels –> Add New Panel –> ImageViewerPlugin,然后在新窗口中选好Image Topic和Point Topic即可