安裝功能包
實測 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文件中加入下面的包含文件
編譯通過
功能包測試
作者在功能包中放了測試數據,提供測試
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=true
該程序根據cam_lidar_calibration/data/vlp/文件夾下的pose.csv標定,在該文件夾生成一個標定camera和lidar外參文件
終端輸出
每一行則是迭代后的結果
終端輸出這個的時候
表示迭代完了
然后獲取評估校準結果
終端輸出
生成一個雷達投射到圖片上的圖片
利用功能包標定激光雷達和相機
設置參數
主要修改
cam_lidar_calibration/cfg/camera_info.yaml和
params.yaml
cam_lidar_calibration/cfg/camera_info.yaml 文件設置如下:
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]
設置是:
-
否為魚眼相機
-
像素寬和高
-
內參矩陣
-
失真系數
相機的內參標定方法可以參考這篇博客:
params.yaml 文件設置如下:
# 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
點云的選取范圍,用默認的就是,之后可以在線調
chessboard: pattern_size: height: 14 width: 9 square_length: 11 board_dimension: width: 390 height: 596 translation_error: x: 0 y: 0
標定棋盤的相關參數
和背板的相關參數
距離都是mm為單位
啟動相機和激光雷達
啟動相機
roslaunch spinnaker_sdk_camera_driver acquisition.launch
啟動激光雷達
roslaunch velodyne_pointcloud VLP16_points.launch
啟動功能包
開啟程序采集表定數據,運行命令:
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=false
會出現RVIZ和rqt_reconfigure窗口,在RVIZ中panels->display修改相機的話題和激光雷達點云對應的frame_id。
調整rqt_reconfigure /feature_extraction的xyz最大值最小值以使得標定板的點云和周圍環(huán)境分開,使其僅顯示棋盤。
如果棋盤沒有完全隔離,可能會影響棋盤的平面擬合,還會導致棋盤尺寸誤差較大。下圖是過濾點云前后效果:
在過濾周圍環(huán)境點云后,在rviz中點擊Capture sample采集樣本,會出線綠色框代表根據點云擬合出來的標定板平面
終端會打印出來添加的樣本信息
最好采集10個樣本以上,再點擊rviz中的optimise進行標定,在優(yōu)化過程中將會在cam_lidar_calibration/data生成當前時間日期的文件夾,存放采集的圖像、點云pcd、位姿,標定后camer和lidar外參文件。
終端輸出開始校準:
校準結束后輸出:
評估參數和重投影誤差:
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
注意這里默認加載第16個圖像,如果沒有那么大的標定樣本,要修改launch文件中的加載序列
出現重投影效果圖像
終端出現標定參數和重投影誤差
審核編輯 :李倩
-
相機
+關注
關注
4文章
1367瀏覽量
53884 -
激光雷達
+關注
關注
968文章
4024瀏覽量
190366
原文標題:實測 ubuntu20.04 機械式激光雷達與相機聯(lián)合標定
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論