0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

一種手動(dòng)校準(zhǔn)Livox雷達(dá)和相機(jī)之間外參的方法

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

功能包介紹

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

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

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

相機(jī)雷達(dá)的標(biāo)定和融合也可以得到不錯(cuò)的結(jié)果。

功能包名稱:livox_camera_lidar_calibration

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

使用步驟

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

連接雷達(dá)檢查標(biāo)定板角點(diǎn)是否在點(diǎn)云中

輸入點(diǎn)云可視化的命令查看點(diǎn)云

roslaunch livox_ros_driver livox_lidar_rviz.launch

這樣就在rviz中顯示了點(diǎn)云

連接相機(jī)檢查標(biāo)定板角點(diǎn)是否在照片中

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

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

拍攝照片運(yùn)行指令錄制點(diǎn)云

roslaunch livox_ros_driver livox_lidar_msg.launchrosbag record /livox/lidar

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

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

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

標(biāo)定角點(diǎn)

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

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

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

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

獲得照片中的角點(diǎn)坐標(biāo)

配置cornerPhoto.launch文件中的照片路徑,運(yùn)行

roslaunch camera_lidar_calibration cornerPhoto.launch

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

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

記錄完畢后選中顯示的圖片按任意鍵,進(jìn)入坐標(biāo)輸入流程。

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

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

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

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

獲得雷達(dá)點(diǎn)云中的角點(diǎn)坐標(biāo)

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

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

roslaunch camera_lidar_calibration pcdTransfer.launch

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

pcl_viewer -use_point_picking xx.pcd

將xyz角點(diǎn)坐標(biāo)按如下格式保存在data/corner_lidar.txt中,將所有PCD文件中雷達(dá)點(diǎn)云的角點(diǎn)坐標(biāo)保存下來。

上面的步驟把相機(jī)和雷達(dá)角點(diǎn)獲得了,也就是同名點(diǎn),下面就是計(jì)算外參了

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

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

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

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

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

在計(jì)算前檢查一下雷達(dá)和相機(jī)兩個(gè)標(biāo)定數(shù)據(jù)中是否每行對(duì)應(yīng)的是同一個(gè)角點(diǎn),并檢查數(shù)據(jù)量是否相同

計(jì)算外參

外參計(jì)算getExt1節(jié)點(diǎn)

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

輸入指令開始計(jì)算外參

roslaunch camera_lidar_calibration getExt1.launch

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

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

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

外參計(jì)算getExt2節(jié)點(diǎn)

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

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

roslaunch camera_lidar_calibration getExt2.launch

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

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

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

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

結(jié)果驗(yàn)證

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

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

roslaunch camera_lidar_calibration projectCloud.launch

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

roslaunch camera_lidar_calibration colorLidar.launch





審核編輯:劉清

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

    關(guān)注

    1

    文章

    35

    瀏覽量

    13888

原文標(biāo)題:相機(jī)和livox激光雷達(dá)外參標(biāo)定

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

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    一種AMR磁羅盤的誤差建模與校準(zhǔn)方法

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

    激光雷達(dá)相機(jī)之間標(biāo)定

    lidar_camera_calibration項(xiàng)目——激光雷達(dá)相機(jī)聯(lián)合標(biāo)定
    發(fā)表于 04-12 09:27

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

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

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

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

    求大佬分享一種基于毫米波雷達(dá)和機(jī)器視覺的前方車輛檢測(cè)方法

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

    一種不依賴于棋盤格等輔助標(biāo)定物體實(shí)現(xiàn)像素級(jí)相機(jī)和激光雷達(dá)自動(dòng)標(biāo)定的方法

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

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

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

    怎樣進(jìn)行機(jī)器視覺的像素校準(zhǔn)?

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

    一種自動(dòng)Kinect傳感器標(biāo)定方法

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

    3D激光雷達(dá)相機(jī)校準(zhǔn)是如何考慮傳感器之間誤差的?

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

    激光雷達(dá)相機(jī)標(biāo)定相關(guān)內(nèi)容

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

    汽車電子激光雷達(dá)相機(jī)的自動(dòng)在線外標(biāo)定技術(shù)

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

    一種基于毫米波雷達(dá)相機(jī)系統(tǒng)之間的在線無目標(biāo)校準(zhǔn)方法

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

    基于激光雷達(dá)相機(jī)的在線外部標(biāo)定算法

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

    采集激光雷達(dá)相機(jī)的初始標(biāo)定數(shù)據(jù)

    ROS功能包:livox_camera_lidar_calibration提供了個(gè)手動(dòng)校準(zhǔn)Livox
    的頭像 發(fā)表于 11-28 11:09 ?832次閱讀
    采集激光<b class='flag-5'>雷達(dá)</b>和<b class='flag-5'>相機(jī)</b>的初始標(biāo)定數(shù)據(jù)

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品