安裝功能包
實測 ubuntu20.04 本地安裝
安裝步驟如下:
下載功能包
git clone -c http.sslverify=false https://gitlab.acfr.usyd.edu.au/its/cam_lidar_calibration.git
成功提示:
安裝依賴:
sudo apt update && sudo apt-get install -y ros-noetic-pcl-conversions ros-noetic-pcl-ros ros-noetic-tf2-sensor-msgs
成功提示:
CV_REDUCE_SUM 這個變量沒定義,opencv3到opencv4切換帶來的錯誤
在 optimise.h文件中加入下面的包含文件
編譯通過
功能包測試
作者在功能包中放了測試數(shù)據(jù),提供測試
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=true
該程序根據(jù)cam_lidar_calibration/data/vlp/文件夾下的pose.csv標(biāo)定,在該文件夾生成一個標(biāo)定camera和lidar外參文件
終端輸出
每一行則是迭代后的結(jié)果
終端輸出這個的時候
表示迭代完了
然后獲取評估校準(zhǔn)結(jié)果
終端輸出
生成一個雷達投射到圖片上的圖片
利用功能包標(biāo)定激光雷達和相機
設(shè)置參數(shù)
主要修改
cam_lidar_calibration/cfg/camera_info.yaml和
params.yaml
cam_lidar_calibration/cfg/camera_info.yaml 文件設(shè)置如下:
distortion_model: "non-fisheye"width: 1440height: 1080D: [-0.106460,0.103712,-0.000019,0.003994]K: [1213.343583,0.0,744.150520,0.0,1217.236982,586.154363,0.0,0.0,1]
設(shè)置是:
-
否為魚眼相機
-
像素寬和高
-
內(nèi)參矩陣
-
失真系數(shù)
相機的內(nèi)參標(biāo)定方法可以參考這篇博客:
params.yaml 文件設(shè)置如下:
# Topicscamera_topic: "/camera_array/cam0/image_raw"camera_info: "/camera_array/cam0/camera_info"lidar_topic: "/velodyne_points"
分別是:
-
相機消息名稱
-
相機信息
-
激光雷達消息名稱
feature_extraction: x_min: -10.0 x_max: 10.0 y_min: -8.0 y_max: 8.0 z_min: -5.0 z_max: 5.0
點云的選取范圍,用默認(rèn)的就是,之后可以在線調(diào)
chessboard: pattern_size: height: 14 width: 9 square_length: 11 board_dimension: width: 390 height: 596 translation_error: x: 0 y: 0
標(biāo)定棋盤的相關(guān)參數(shù)
和背板的相關(guān)參數(shù)
距離都是mm為單位
啟動相機和激光雷達
啟動相機
roslaunch spinnaker_sdk_camera_driver acquisition.launch
啟動激光雷達
roslaunch velodyne_pointcloud VLP16_points.launch
啟動功能包
開啟程序采集表定數(shù)據(jù),運行命令:
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=false
會出現(xiàn)RVIZ和rqt_reconfigure窗口,在RVIZ中panels->display修改相機的話題和激光雷達點云對應(yīng)的frame_id。
調(diào)整rqt_reconfigure /feature_extraction的xyz最大值最小值以使得標(biāo)定板的點云和周圍環(huán)境分開,使其僅顯示棋盤。
如果棋盤沒有完全隔離,可能會影響棋盤的平面擬合,還會導(dǎo)致棋盤尺寸誤差較大。下圖是過濾點云前后效果:
在過濾周圍環(huán)境點云后,在rviz中點擊Capture sample采集樣本,會出線綠色框代表根據(jù)點云擬合出來的標(biāo)定板平面
終端會打印出來添加的樣本信息
最好采集10個樣本以上,再點擊rviz中的optimise進行標(biāo)定,在優(yōu)化過程中將會在cam_lidar_calibration/data生成當(dāng)前時間日期的文件夾,存放采集的圖像、點云pcd、位姿,標(biāo)定后camer和lidar外參文件。
終端輸出開始校準(zhǔn):
校準(zhǔn)結(jié)束后輸出:
評估參數(shù)和重投影誤差:
roslaunch cam_lidar_calibration assess_results.launch csv:="$(rospack find cam_lidar_calibration)/data/2022-09-06_14-48-42/calibration_2022-09-06_15-13-07.csv" visualise:=true
注意這里默認(rèn)加載第16個圖像,如果沒有那么大的標(biāo)定樣本,要修改launch文件中的加載序列
出現(xiàn)重投影效果圖像
終端出現(xiàn)標(biāo)定參數(shù)和重投影誤差
審核編輯 :李倩
-
相機
+關(guān)注
關(guān)注
4文章
1359瀏覽量
53772 -
激光雷達
+關(guān)注
關(guān)注
968文章
4003瀏覽量
190158
原文標(biāo)題:實測 ubuntu20.04 機械式激光雷達與相機聯(lián)合標(biāo)定
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論