0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一種手動校準Livox雷達和相機之間外參的方法

3D視覺工坊 ? 來源:古月居 ? 作者:月照銀海似蛟龍 ? 2022-10-28 10:35 ? 次閱讀

功能包介紹

該功能包提供了一個手動校準Livox雷達和相機之間外參的方法,已經(jīng)在Mid-40,Horizon和Tele-15上進行了驗證。

其中包含了計算相機內(nèi)參,獲得標定數(shù)據(jù),優(yōu)化計算外參和雷達相機融合應(yīng)用相關(guān)的代碼。

本方案中使用了標定板角點作為標定目標物,由于Livox雷達非重復(fù)性掃描的特點,點云的密度較大,比較易于找到雷達點云中角點的準確位置。

相機雷達的標定和融合也可以得到不錯的結(jié)果。

功能包名稱:livox_camera_lidar_calibration

功能包使用環(huán)境:Ubuntu 64-bit 16.04

使用步驟

采集數(shù)據(jù)

連接雷達檢查標定板角點是否在點云中

輸入點云可視化的命令查看點云

roslaunch livox_ros_driver livox_lidar_rviz.launch

這樣就在rviz中顯示了點云

連接相機檢查標定板角點是否在照片中

打開相機,檢查獲取照片的質(zhì)量,并檢查標定板角點是否在照片中。具體方法根據(jù)相機型號來了。

采集照片和點云數(shù)據(jù)

拍攝照片運行指令錄制點云

roslaunch livox_ros_driver livox_lidar_msg.launchrosbag record /livox/lidar

每個位置保存一張照片和10s左右的rosbag即可

數(shù)據(jù)采集完成后,將照片放在data/photo文件夾下; 雷達rosbag放在data/lidar文件夾下

以上步驟數(shù)據(jù)就采集好了,下面進行標定工作

標定角點

設(shè)置相機內(nèi)參

首先需要把得到的內(nèi)參和畸變糾正參數(shù)以下圖的格式保存在data/parameters/intrinsic.txt文件下 。

distortion下面對應(yīng)5個畸變糾正參數(shù),按順序是k1和k2 (RadialDistortion),p1和p2 (TangentialDistortion),最后一個是k3,一般默認是0

36dfca40-3b5a-11ed-9e49-dac502259ad0.png

獲得照片中的角點坐標

配置cornerPhoto.launch文件中的照片路徑,運行

roslaunch camera_lidar_calibration cornerPhoto.launch

程序會在UI中打開對應(yīng)的照片。在這個UI界面上只要把鼠標移到標定板的各個角上,窗口左下角就會顯示對應(yīng)的坐標數(shù)據(jù)。

確定一個順序,一般從左上角的角點開始,逆時針旋轉(zhuǎn)按順序記錄下四個角點坐標。

記錄完畢后選中顯示的圖片按任意鍵,進入坐標輸入流程。

把記錄下的四個坐標”x y”按順序輸入,x和y中間要有空格(比如: “635 487”),輸入完成后輸入”0 0”即可結(jié)束輸入流程(如下圖例所示)。

程序會算出四個更精確的float類型坐標顯示出來,并保存在data/corner_photo.txt中。然后按任意鍵結(jié)束整個流程。

36ed0264-3b5a-11ed-9e49-dac502259ad0.png

更改cornerPhoto.launch文件中的照片路徑,重復(fù)上述流程,直至獲得所有照片的角點坐標。

獲得雷達點云中的角點坐標

檢查pcdTransfer.launch文件中的rosbag路徑,設(shè)置rosbag的數(shù)量,并將rosbag以0.bag, 1.bag…命名。

運行指令將rosbag批量轉(zhuǎn)化成PCD文件,PCD文件默認保存在data/pcdFiles文件夾中

roslaunch camera_lidar_calibration pcdTransfer.launch

使用pcl_viewer打開PCD文件,按住shift+左鍵點擊即可獲得對應(yīng)的點坐標。注意和照片采用相同的角點順序

pcl_viewer -use_point_picking xx.pcd

將xyz角點坐標按如下格式保存在data/corner_lidar.txt中,將所有PCD文件中雷達點云的角點坐標保存下來。

上面的步驟把相機和雷達角點獲得了,也就是同名點,下面就是計算外參了

參數(shù)設(shè)置

外參計算節(jié)點會讀取data/corner_photo.txt和data/corner_lidar.txt中的標定數(shù)據(jù)來計算外參,數(shù)據(jù)需要保存成特定的格式才能被外參計算節(jié)點正確讀取。

參考以下格式,每行數(shù)據(jù)只有超過10個字母程序才會將其讀取為計算的參數(shù),比如下圖用來編號的1234,lidar0和0.bmp這些標題不會被讀取為計算參數(shù)。

程序讀到空行就會停止讀取參數(shù)開始計算,所以保存時不要空行。

37064512-3b5a-11ed-9e49-dac502259ad0.png

在計算前檢查一下雷達和相機兩個標定數(shù)據(jù)中是否每行對應(yīng)的是同一個角點,并檢查數(shù)據(jù)量是否相同

計算外參

外參計算getExt1節(jié)點

計算前在getExt1.launch文件中配置好外參初值

輸入指令開始計算外參

roslaunch camera_lidar_calibration getExt1.launch

終端中可以看到每次迭代運算的cost,外參結(jié)果以齊次矩陣的格式保存到data/parameters/extrinsic.txt下。

37132de0-3b5a-11ed-9e49-dac502259ad0.png

可以根據(jù)優(yōu)化后的殘差和重投影誤差評估一下得到的外參,重投影會把誤差較大的數(shù)據(jù)打印在屏幕上,可以剔除異常標定數(shù)據(jù)后再重新進行優(yōu)化計算。

外參計算getExt2節(jié)點

getExt1節(jié)點只優(yōu)化外參,而getExt2節(jié)點在計算的時候會將一開始計算的內(nèi)參作為初值和外參一起優(yōu)化。

輸入指令程序會得到一個新的內(nèi)參和外參,并用新的參數(shù)來進行重投影驗證。

roslaunch camera_lidar_calibration getExt2.launch

一般使用getExt1節(jié)點即可,如果在外參初值驗證過,并且異常值已經(jīng)剔除后,優(yōu)化還是有較大的殘差,那么可以使用getExt2試一試。

使用的前提需要保證標定數(shù)據(jù)量較大,并且要充分驗證結(jié)果。

如果經(jīng)過驗證getExt2計算的結(jié)果確實更好,那么把新的內(nèi)參更新在data/parameters/intrinsic.txt中

通過上面步驟已經(jīng)得到了外參的結(jié)果,結(jié)果的優(yōu)略可以通過下面的驗證方法

結(jié)果驗證

獲得外參后我們可以用兩個方式看一下融合的效果。第一個是將點云投影到照片上,第二個是點云的著色。

投影點云到照片在projectCloud.launch文件中配置點云和照片的路徑后,運行指令,將rosbag中一定數(shù)量的點投影到照片上并且保存成新的照片。

roslaunch camera_lidar_calibration projectCloud.launch

點云著色在colorLidar.launch文件中配置點云和照片的路徑,運行指令,可以在rviz中檢查著色的效果。

roslaunch camera_lidar_calibration colorLidar.launch





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • PCL
    PCL
    +關(guān)注

    關(guān)注

    1

    文章

    35

    瀏覽量

    13756

原文標題:相機和livox激光雷達外參標定

文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    一種AMR磁羅盤的誤差建模與校準方法

    一種AMR磁羅盤的誤差建模與校準方法
    發(fā)表于 08-17 12:10

    激光雷達相機之間標定

    lidar_camera_calibration項目——激光雷達相機聯(lián)合標定
    發(fā)表于 04-12 09:27

    一種基于FPGA的DSU硬件實現(xiàn)方法

    摘要:為了實現(xiàn)對非相干雷達的接收相處理,基于數(shù)字穩(wěn)定校正(DSU)的原理,采用ALTERA公司的StratixⅡ系列芯片和VHDL編程語言,設(shè)計了一種基于FPGA的DSU硬件實現(xiàn)方法
    發(fā)表于 06-28 08:27

    一種自主產(chǎn)生式的雷達回波模擬器中頻部分的設(shè)計實現(xiàn)方法論述

    ,靈活性有所欠缺。本文論述一種自主產(chǎn)生式的雷達回波模擬器中頻部分的設(shè)計實現(xiàn)方法,該模擬器可產(chǎn)生脈沖單頻、脈沖線性調(diào)頻、步進頻、步進頻+線性調(diào)頻等多種波形的雷達回波信號,并可產(chǎn)生雙目標和
    發(fā)表于 07-16 07:40

    求大佬分享一種基于毫米波雷達和機器視覺的前方車輛檢測方法

    為研究夜間追尾事故中本車智能防撞預(yù)警方法,本文提出了一種基于毫米波雷達和機器視覺的前方車輛檢測方法。利用多傳感器融合數(shù)據(jù),檢測前方車輛的距離、速度等。建立傳感器
    發(fā)表于 06-10 10:23

    一種不依賴于棋盤格等輔助標定物體實現(xiàn)像素級相機和激光雷達自動標定的方法

    主要內(nèi)容本文提出了一種不依賴于棋盤格等輔助標定物體,實現(xiàn)像素級相機和激光雷達自動標定的方法。方法直接從點云中提取3D邊特征,
    發(fā)表于 09-01 07:42

    一種基于ADS的雷達接收機系統(tǒng)設(shè)計方法

    一種基于ADS的雷達接收機系統(tǒng)設(shè)計方法  引言   單片化、模塊化、現(xiàn)代化是現(xiàn)代接收機技術(shù)的發(fā)展趨勢,包括通信領(lǐng)域、雷達領(lǐng)域及其他
    發(fā)表于 11-12 16:30 ?1314次閱讀
    <b class='flag-5'>一種</b>基于ADS的<b class='flag-5'>雷達</b>接收機系統(tǒng)設(shè)計<b class='flag-5'>方法</b>

    怎樣進行機器視覺的像素校準?

    描述了一種機器視覺校準方法。在基于小孔成像相機模型的基礎(chǔ)上,使用平板拍取若干張照片進行校驗。采用幾何坐標變換,并且結(jié)合齊次圖形學(xué),考慮相機
    發(fā)表于 11-17 08:05 ?4046次閱讀

    一種自動Kinect傳感器標定方法

    針對目前Kinect傳感器人工標定方法誤差大、速度慢等問題,提出一種自動、快速的Kinect傳感器標定方法。首先,根據(jù)彩色圖像提取的角點
    發(fā)表于 11-29 14:25 ?3次下載
    <b class='flag-5'>一種</b>自動Kinect傳感器<b class='flag-5'>外</b><b class='flag-5'>參</b>標定<b class='flag-5'>方法</b>

    3D激光雷達相機校準是如何考慮傳感器之間誤差的?

    的誤差的; 為了融合來自3D激光雷達相機的信息,需要知道傳感器坐標系之間的外部校準。 傳統(tǒng)的外部校準方案有三個缺點: 傳統(tǒng)的
    的頭像 發(fā)表于 05-26 09:15 ?5275次閱讀
    3D激光<b class='flag-5'>雷達</b>和<b class='flag-5'>相機</b><b class='flag-5'>校準</b>是如何考慮傳感器<b class='flag-5'>之間</b>誤差的?

    激光雷達相機標定相關(guān)內(nèi)容

    來自CMU Robotics Institute, 已知最早3D Laser與相機標定的工作(2005年),基于matlab的圖形用戶界面,進行激光雷達相機
    的頭像 發(fā)表于 11-10 14:59 ?3276次閱讀

    汽車電子激光雷達相機的自動在線外標定技術(shù)

    為了解決逐漸漂移的問題,提出了一種基于線的方法,可以在真實場景中實現(xiàn)激光雷達相機的自動在線
    發(fā)表于 08-31 10:50 ?1223次閱讀
    汽車電子激光<b class='flag-5'>雷達</b>和<b class='flag-5'>相機</b>的自動在線外<b class='flag-5'>參</b>標定技術(shù)

    一種基于毫米波雷達相機系統(tǒng)之間的在線無目標校準方法

    傳感器融合對于自動駕駛和自主機器人是至關(guān)重要,毫米波雷達-相機融合系統(tǒng)由于其互補的傳感能力而廣受歡迎。
    的頭像 發(fā)表于 10-09 14:17 ?866次閱讀
    <b class='flag-5'>一種</b>基于毫米波<b class='flag-5'>雷達</b>和<b class='flag-5'>相機</b>系統(tǒng)<b class='flag-5'>之間</b>的在線無目標<b class='flag-5'>校準</b><b class='flag-5'>方法</b>

    基于激光雷達相機的在線外部標定算法

    本文提出了一種自動在線激光雷達相機自標定方法CFNet。CFNet是全自動的,不需要特定的校準場景、校準
    發(fā)表于 10-10 11:44 ?1447次閱讀
    基于激光<b class='flag-5'>雷達</b><b class='flag-5'>相機</b>的在線外部標定算法

    采集激光雷達相機的初始標定數(shù)據(jù)

    ROS功能包:livox_camera_lidar_calibration提供了手動校準Livox
    的頭像 發(fā)表于 11-28 11:09 ?680次閱讀
    采集激光<b class='flag-5'>雷達</b>和<b class='flag-5'>相機</b>的初始標定數(shù)據(jù)