項(xiàng)目七任務(wù)3:基于激光雷達(dá)與IMU實(shí)現(xiàn)SLAM功能(課件)_第1頁
項(xiàng)目七任務(wù)3:基于激光雷達(dá)與IMU實(shí)現(xiàn)SLAM功能(課件)_第2頁
項(xiàng)目七任務(wù)3:基于激光雷達(dá)與IMU實(shí)現(xiàn)SLAM功能(課件)_第3頁
項(xiàng)目七任務(wù)3:基于激光雷達(dá)與IMU實(shí)現(xiàn)SLAM功能(課件)_第4頁
項(xiàng)目七任務(wù)3:基于激光雷達(dá)與IMU實(shí)現(xiàn)SLAM功能(課件)_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于激光雷達(dá)與IMU實(shí)現(xiàn)SLAM功能智能汽車傳感器應(yīng)用技術(shù)一、課程導(dǎo)入課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)掃地機(jī)SLAM最早由Smith、Self和Cheeseman于1988年提出,現(xiàn)今SLAM已廣泛應(yīng)用于各個(gè)領(lǐng)域,目前應(yīng)用最為成熟的是掃地機(jī)行業(yè)。思考討論一、課程導(dǎo)入除了掃地機(jī)之外,SLAM技術(shù)在無人機(jī)、自動(dòng)駕駛等都有應(yīng)用,對(duì)于自動(dòng)駕駛汽車來說,需要對(duì)車輛進(jìn)行“定位”。最核心和最根本的問題有四個(gè),定位技術(shù)、跟蹤技術(shù)、路徑規(guī)劃技術(shù))和控制技術(shù)。而這四個(gè)問題中的前三個(gè),SLAM都扮演了最核心的功能,可見SLAM技術(shù)的關(guān)鍵性。那激光雷達(dá)是如何實(shí)現(xiàn)SLAM建圖的呢?結(jié)合IMU建圖的效果是怎樣的呢?SLAM技術(shù)應(yīng)用于自動(dòng)駕駛領(lǐng)域課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)二、SLAM同時(shí)定位與地圖構(gòu)建2.1SLAM概述SLAM稱同時(shí)定位與地圖構(gòu)建,或并發(fā)建圖與定位。它是指運(yùn)動(dòng)物體自身位置不確定的條件下,根據(jù)傳感器的信息,一邊計(jì)算自身位置,一邊構(gòu)建環(huán)境地圖的過程,同時(shí)利用地圖進(jìn)行自主定位和導(dǎo)航。課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)二、SLAM激光SLAM2.2SLAM的分類1、激光SLAM激光SLAM主要使用激光雷達(dá)作為傳感器,通常,激光SLAM系統(tǒng)通過對(duì)不同時(shí)刻兩片點(diǎn)云的匹配與比對(duì),計(jì)算激光雷達(dá)相對(duì)運(yùn)動(dòng)的距離和姿態(tài)的改變,也就完成了對(duì)機(jī)器人自身的定位。課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)二、SLAM視覺SLAM2.2SLAM的分類2、視覺SLAM視覺SLAM主要使用單目、雙目、深度相機(jī)作為傳感器,它可以從環(huán)境中獲取海量的、富于冗余的紋理信息,擁有超強(qiáng)的場(chǎng)景辨識(shí)能力。課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)三、Hector_SLAM本節(jié)任務(wù)采用基于圖優(yōu)化的Hector_SLAM方案。Hector_SLAM是利用高斯牛頓方法解決前端掃描匹配問題,把每一幀采集到的激光雷達(dá)數(shù)據(jù)和地圖進(jìn)行匹配,該方案僅有前端掃描匹配的模塊,無后端優(yōu)化的過程。不需要里程計(jì)數(shù)據(jù),而里程計(jì)信息是通過激光雷達(dá)數(shù)據(jù)估算出來的,因此對(duì)傳感器的測(cè)量頻率和測(cè)量噪聲的要求較高,且在制圖過程中,速度需要控制在較低的情況下,建圖效果才會(huì)有比較理想。課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)Hector_SLAM總體架構(gòu)四、IMU內(nèi)參標(biāo)定方法IMU內(nèi)參標(biāo)定使用的是Allan方差法,Allan方差法是20世紀(jì)60年代由美國(guó)國(guó)家標(biāo)準(zhǔn)局的DavidAllan提出的,它是一種基于時(shí)域的分析方法。具體的流程如下:(1)保持傳感器絕對(duì)靜止獲取數(shù)據(jù);(2)對(duì)數(shù)據(jù)進(jìn)行分段,設(shè)定時(shí)間段的時(shí)長(zhǎng);(3)將傳感器數(shù)據(jù)按照時(shí)間段進(jìn)行平均;(4)計(jì)算方差,繪制艾倫曲線。艾倫曲線課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)五、激光雷達(dá)與IMU外參標(biāo)定方法lidar-imu標(biāo)定方法為瑞士蘇黎世理工大學(xué)-自動(dòng)駕駛實(shí)驗(yàn)室開源的一種校準(zhǔn)3D激光雷達(dá)和6自由度位姿傳感器外參的方法——lidar_align。lidar_align功能包實(shí)現(xiàn)的功能包括:(1)讀取lidar和位姿傳感器的數(shù)據(jù)。

(2)通過時(shí)間戳匹配lidar每幀里面的每個(gè)點(diǎn)和位姿傳感器的坐標(biāo)變換。

(3)利用位姿信息將lidar的每幀拼接成點(diǎn)云。

(4)求出每個(gè)點(diǎn)和它最近鄰點(diǎn)的距離總和,通過不斷的迭代優(yōu)化找到坐標(biāo)變換,使得到最小距離。課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)六、多傳感器融合算法LIO-SAMLIO-SAM是一種通過平滑和建圖的緊耦合激光雷達(dá)慣性里程測(cè)量的框架,該框架可實(shí)現(xiàn)高精度,實(shí)時(shí)的移動(dòng)軌跡估計(jì)和地圖構(gòu)建。LIO-SAM在因子圖的頂部制定了激光雷達(dá)慣性里程表,從而可以將來自不同來源的大量相對(duì)和絕對(duì)測(cè)量值作為因子合并到系統(tǒng)中。通過imu預(yù)積分獲得的運(yùn)動(dòng)估計(jì)可以用于點(diǎn)云的偏斜矯正和用于雷達(dá)里程計(jì)優(yōu)化的初始值。為了確保實(shí)時(shí)高性能,將舊的激光雷達(dá)掃描邊緣化以進(jìn)行姿勢(shì)優(yōu)化,選擇性地引入關(guān)鍵幀以及以有效的滑動(dòng)窗口方法將新的關(guān)鍵幀注冊(cè)到固定大小的先驗(yàn)“子關(guān)鍵幀”集合中,在局部范圍內(nèi)進(jìn)行掃描匹配可顯著提高系統(tǒng)的實(shí)時(shí)性能。利用LIO-SAM算法的建圖效果課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)7.1準(zhǔn)備工作1、設(shè)置計(jì)算機(jī)以太網(wǎng)IP(應(yīng)用實(shí)訓(xùn)臺(tái)的電腦已完成此工作)1)打開interface文件。輸入命令:sudogedit/etc/network/interfaces2)在文件最后添加以下命令:autoenp2s0ifaceenp2s0inetstaticaddress02netmask2、運(yùn)行節(jié)點(diǎn)cd~/catkin_wssourcedevel/setup.bashroslaunchrslidar_pointcloudrs_lidar_16.launchc課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作掃描效果圖七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作3、實(shí)現(xiàn)三維點(diǎn)云數(shù)據(jù)轉(zhuǎn)二維點(diǎn)云數(shù)據(jù)1)安裝ros-melodic-tf2-sensor-msgs。輸入命令:sudoaptinstallros-melodic-tf2-sensor-msg2)安裝pointcloud_to_laserscan包。輸入以下命令:cd~/catkin_ws/srcgitclone/BluewhaleRobot/pointcloud_to_laserscan.git3)創(chuàng)建launch文件。輸入以下命令:cd~/catkin_ws/src/pointcloud_to_lasterscan/launchgeditpoint_to_scan.launch七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作4)在打開的文本中輸入以下內(nèi)容:七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作4、啟動(dòng)ros_rslidiar雷達(dá)驅(qū)動(dòng)包和pointcloud_to_laserscan節(jié)點(diǎn)雷達(dá)驅(qū)動(dòng)發(fā)布的三維點(diǎn)云數(shù)據(jù),rsldiar_points,pointcloud_to_laserscan節(jié)點(diǎn)訂閱后將lasercan話題切換為/scan,兩者的frame_id都是“rslidar”。1)打開一個(gè)新的終端,啟動(dòng)3d雷達(dá)驅(qū)動(dòng)。輸入以下命令:cd~/catkin_wssourcedevel/setup.bashroslaunchrslidar_pointcloudrs_lidar_16.launch2)再打開一個(gè)新的終端,啟動(dòng)pointcloud_to_laserscan節(jié)點(diǎn)。輸入一下命令:cd~/catkin_wssourcedevel/setup.bashroslaunchpointcloud_to_laserscanpoint_to_scan.launch七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作這時(shí)可以看到三維點(diǎn)云數(shù)據(jù),如果想要顯示二維點(diǎn)云,還需要在Rivz中添加LaserScan。然后將Topic話題改為/scan,Style話題改為Points,白線即為二維點(diǎn)云圖。修改話題在Rivz中添加LaserScan七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作5、使用hector_slam建圖1)安裝qt4-defaultsudoaptinstallqt4-default2)安裝hector_slamcd~/catkin_ws/srcgitclone/tu-darmstadt-ros-pkg/hector_slamcd~/catkin_wscatkin_make3)修改tutorial.launch文件cd~/catkin_ws/src/hector_slam/hector_slam_launch/launchgedittutorial.launch七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作4)將原來的文件內(nèi)容改為如下:①將<paramname="/use_sim_time"value="false"/>中的true改為false。②添加了兩個(gè)tf變換坐標(biāo)。七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作6、修改mapping_default.launch文件輸入以下命令:cd~/catkin_ws/src/hector_slam/hector_mapping/launchgeditmapping_default.launch修改內(nèi)容如下:

7、修改rslidar中的frame_id由于hector_slam從激光雷達(dá)處訂閱的frame_id為laser,而激光雷達(dá)發(fā)布的frame_id為rslidar,因此需要對(duì)rslidar中的源碼進(jìn)行修改,并重新編譯。輸入以下命令:cd~/catkin_ws/src/ros_rslidar/rslidar_driver/srcgeditrsdriver.cpp將private_nh.param("frame_id",config_.frame_id,std::string("rslidar"));中的rslidar改為laser。七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作8、重新編譯rslidar_roscd~/catkin_wscatkin_make9、創(chuàng)建slam.launch文件cd~/catkin_ws/src/ros_rslidar/rslidar_pointcloud/launchgeditslam.launch在創(chuàng)建的空文本中輸入如下:?jiǎn)?dòng)激光雷達(dá)將三維point轉(zhuǎn)換為二維scan執(zhí)行hector_slam功能七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.1準(zhǔn)備工作這里需要注意的是,第一個(gè)和第三個(gè)都啟動(dòng)了rviz,需要將第一個(gè)launch文件中的rviz注釋掉。輸入以下命令:cd~/catkin_ws/src/ros_rslidar/rslidar_pointcloud/launchgeditrs_lidar_16.launch注釋rviz,如下:七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)7.2基于激光雷達(dá)的SLAM建圖1、啟動(dòng)slam.launch文件sourcedevel/setup.bashroslaunchrslidar_pointcloudslam.launch2、移動(dòng)應(yīng)用實(shí)訓(xùn)臺(tái),會(huì)對(duì)周圍的環(huán)境進(jìn)行建圖3、查看建圖效果建圖的效果主要是在Rviz里進(jìn)行觀察。在Ubuntu的下方任務(wù)欄里,可以看到Rviz的程序圖標(biāo),單擊此圖標(biāo)將Rviz界面喚回前臺(tái)顯示。七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)單擊Rviz圖標(biāo)7.2基于激光雷達(dá)的SLAM建圖其中灰色為激光雷達(dá)沒有探測(cè)到的未知區(qū)域,黑色的點(diǎn)為激光雷達(dá)探測(cè)到障礙點(diǎn),白色為激光雷達(dá)已探測(cè)的不存在障礙物的區(qū)域。建圖效果七、基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定在IMU采集數(shù)據(jù)時(shí),會(huì)產(chǎn)生兩種誤差:確定性誤差和隨機(jī)性誤差,為獲得精確的數(shù)據(jù),需要對(duì)上述兩種誤差進(jìn)行標(biāo)定。IMU內(nèi)參標(biāo)定的步驟:1、連接串口建圖效果八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定2、編譯安裝Eigen線性代數(shù)庫(kù)。mkdirbuildcdbuildcmake..makesudomakeinstall編譯安裝Eigen線性代數(shù)庫(kù)八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定3、編譯安裝CeresSolver非線性最小二乘求解工具包進(jìn)入ceres-solver-1.14.0文件夾后執(zhí)行以下命令進(jìn)行編譯安裝:sudoapt-getinstallliblapack-devlibsuitesparse-devlibcxsparse3.1.2libgflags-devlibgoogle-glog-devlibgtest-dev編譯安裝CeresSolver非線性最小二乘求解工具包八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定在編譯過程可能會(huì)出現(xiàn)無法定位libcxsoarse3.1.2的問題,解決辦法如下:1)打開sources.listsudogedit/etc/apt/sources.list2)將下面的源粘貼到最上方sources.listdeb/ubuntutrustymainuniverse3)更新源sudoapt-getupdate4)重新輸入依賴項(xiàng)安裝命令安裝依賴項(xiàng)sudoapt-getinstallliblapack-devlibsuitesparse-devlibcxsparse3.1.2libgflags-devlibgoogle-glog-devlibgtest-dev八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定問題解決后,再依次輸入以下命令:mkdirbuildcdbuildcmake..makesudomakeinstall安裝CeresSolver非線性最小二乘求解工具包八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定4、編譯標(biāo)定工具1)編譯code_utils先安裝依賴項(xiàng)(sudoapt-getinstalllibdw-dev),然后把code_utils工具包放入ROS工作空間src文件夾下,進(jìn)入ROS工作空間,執(zhí)行catkin_make命令進(jìn)行編譯。如果出現(xiàn)編譯出錯(cuò)狀況,如圖7.77所示。解決方法如下:①把src/code_utils/src/sumpixel_test.cpp中的#include”backward.hpp”改為#include”code_utils/backward.hpp”;②在src/code_utils-master/include/code_utils/dlt/dlt.h中添加頭文件include“vector”;③再次執(zhí)行catkin_make命令進(jìn)行編譯八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定2)編譯imu_utils把code_utils工具包放入ROS工作空間src文件夾下,進(jìn)入ROS工作空間,執(zhí)行catkin_make命令進(jìn)行編譯。八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)imu_utils編譯成功界面課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定5、錄制imu.bag1)進(jìn)入ROS工作空間。2)執(zhí)行命令source./devel/setup.bash刷新環(huán)境。3)執(zhí)行命令

rosrunimu_serialserial_port啟動(dòng)imu發(fā)布數(shù)據(jù)節(jié)點(diǎn)4)執(zhí)行命令rosbagrecord-Odata.bag/imu_an/imu_data錄制imu數(shù)據(jù)bag包八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)錄制imu.bag課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定6、IMU內(nèi)參標(biāo)定1)進(jìn)入工作空間->src->imu_utils-master->launch文件夾,編寫imu.launch文件,文件內(nèi)容如下:2)打開終端運(yùn)行標(biāo)定工具,在工作空間中打開終端依次輸入如下命令:source./devel/setup.bashroslaunchimu_utilsimu.launch3)再進(jìn)入工作空間,輸入rosbagplay-r200data.bag,回放bag數(shù)據(jù)八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.1IMU的內(nèi)參標(biāo)定4)運(yùn)行命令roslaunchimu_utilsimu.launch進(jìn)行標(biāo)定。5)在“b步驟終端里面顯示標(biāo)定成功”,最終得到.yaml內(nèi)參標(biāo)定文檔,標(biāo)定文檔保存在工作空間->src->imu_utils-master->data文件夾中。八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)標(biāo)定完成后顯示的信息課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.2激光雷達(dá)與IMU的外參標(biāo)定1、發(fā)布IMU和激光雷達(dá)的topic,獲取傳感器數(shù)據(jù)1)進(jìn)入imu_catkin_ws文件夾,空白處鼠標(biāo)右鍵新建一個(gè)終端。2)輸入以下命令:sourcedevel/setup.bashrosrunimu_serialserial_port輸入命令后會(huì)出現(xiàn)報(bào)錯(cuò),因?yàn)镽OS的主節(jié)點(diǎn)還沒運(yùn)行。3)再新建一個(gè)終端,輸入roscore即可獲取imu數(shù)據(jù)八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)獲取IMU數(shù)據(jù)的界面課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.2激光雷達(dá)與IMU的外參標(biāo)定4)進(jìn)入RS_SDK文件夾,空白處鼠標(biāo)右鍵新建一個(gè)終端。獲取激光雷達(dá)的數(shù)據(jù)。輸入命令以下:sourcedevel/setup.bashroslaunchrslidar_sdkstart.launch八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)激光雷達(dá)點(diǎn)云課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.2激光雷達(dá)與IMU的外參標(biāo)定2、錄制激光雷達(dá)和imu的.bag數(shù)據(jù)包。新建一個(gè)終端。輸入命令:rosbagrecord-Oexample.bag/velodyne_point/imu_an/imu_data3、進(jìn)入lidar_imu_ws文件夾,在空白處鼠標(biāo)右鍵打開終端。輸入命令:sourcedevel/setup.bashroslaunchlidar_alignlidar_align.launch執(zhí)行命令后,工具自動(dòng)標(biāo)定,終端會(huì)在此界面停留大概十幾分鐘。八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)標(biāo)定完成界面課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)總結(jié)8.2激光雷達(dá)與IMU的外參標(biāo)定同樣也會(huì)在result文件夾下面生成對(duì)應(yīng)的標(biāo)定文件,外參標(biāo)定結(jié)果保存在.txt文件中,保存在result文件夾內(nèi)。八、基于激光雷達(dá)和IMU實(shí)現(xiàn)SLAM的開發(fā)外參標(biāo)定文件的內(nèi)容平移關(guān)系矩陣旋轉(zhuǎn)關(guān)系矩陣課程導(dǎo)入多傳感器融合算法LIO-SAM基于激光雷達(dá)實(shí)現(xiàn)SLAM的開發(fā)SLAMHector_SLAMIMU內(nèi)參標(biāo)定方法激光雷達(dá)與IMU外參標(biāo)定方法基于激光

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論