国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SLAM的智能導(dǎo)航小車(chē)的應(yīng)用探究和改良

2023-01-03 10:54賈凡蒲沛童德林農(nóng)勝旺
汽車(chē)零部件 2022年12期
關(guān)鍵詞:小車(chē)軌跡誤差

賈凡,蒲沛,童德林,農(nóng)勝旺

江蘇大學(xué)汽車(chē)與交通工程學(xué)院,江蘇鎮(zhèn)江 212013

0 引言

基于視覺(jué)的同時(shí)定位與建圖(V-SLAM)是移動(dòng)機(jī)器人導(dǎo)航的熱門(mén)研究方向。視覺(jué) SLAM 依托相機(jī)獲得環(huán)境信息,搭載不同的相機(jī)進(jìn)行特征提取、選擇關(guān)鍵幀,獲得不同的建圖效果。ORB-SLAM即是一種完整的V-SLAM系統(tǒng),核心是使用 ORB(oriented fast and brief)即特征提取算法作為整個(gè)視覺(jué) SLAM 中的核心特征。ORB-SLAM 算法的核心思想為基于 ORB 描述量進(jìn)行特征匹配和重定位,并采用在一個(gè)輸出窗口的關(guān)鍵幀和位姿的BA聯(lián)合優(yōu)化算法來(lái)獲得尺度[1]。該種視覺(jué)SLAM系統(tǒng)較其他有更好的視角性,能更容易且清晰地進(jìn)行場(chǎng)景重建及擴(kuò)展,且位置精度較高。

本文運(yùn)用Arduino平臺(tái)的建模仿真與函數(shù)載入功能,其他硬件主要包括驅(qū)動(dòng)模組、S12XE控制芯片以及LDC1000傳感器等,發(fā)現(xiàn)和探究在Arduino平臺(tái)搭載ORB-SLAM算法的室內(nèi)導(dǎo)航小車(chē)并進(jìn)行實(shí)踐運(yùn)用的可行性。通過(guò)仿真分析,探尋其在大規(guī)模的醫(yī)院內(nèi)部為不熟悉該醫(yī)院的人們進(jìn)行導(dǎo)航,最終將他們帶到需要去的科室、病房或掛號(hào)、收費(fèi)等地點(diǎn)的實(shí)際功能。

1 總體介紹

1.1 總體結(jié)構(gòu)

本文所使用的ORB-SLAM算法在工作過(guò)程中可分為特征檢測(cè)與跟蹤、建立地圖、閉環(huán)檢測(cè)與校正這3個(gè)階段。具體流程如下:特征檢測(cè)與跟蹤階段,在此階段中首先應(yīng)該先從環(huán)境圖像中檢測(cè)出相應(yīng)的ORB特征,并根據(jù)上一幀的圖像信息對(duì)當(dāng)前幀的圖像信息進(jìn)行優(yōu)化補(bǔ)充,從而估計(jì)出當(dāng)前小車(chē)所處的位置與姿勢(shì);然后通過(guò)相鄰地圖點(diǎn)采集到的環(huán)境圖像信息來(lái)檢測(cè)更多的特征,進(jìn)而對(duì)估計(jì)到的位姿進(jìn)行細(xì)化與完善[2];最后從中提取相應(yīng)的關(guān)鍵幀,建立局部地圖。ORB-SLAM工作流程如圖1所示。

圖1 ORB-SLAM工作流程

在建立地圖階段中,建圖部分的主要工作是建立局部地圖,并通過(guò)添加實(shí)時(shí)采集的關(guān)鍵幀來(lái)更新局部地圖,同時(shí)剔除冗余老舊的關(guān)鍵幀,通過(guò)這種方式來(lái)保證局部地圖的及時(shí)性[3]。在閉環(huán)檢測(cè)與校正階段中,通過(guò)相應(yīng)的反饋環(huán)節(jié)對(duì)建立的局部地圖進(jìn)行相應(yīng)的檢驗(yàn)與調(diào)整,從而保證其準(zhǔn)確性。隨后使用Arduino平臺(tái)的虛擬仿真功能,探究在視覺(jué)SLAM算法運(yùn)行過(guò)程中可能存在的問(wèn)題,如其與循跡小車(chē)在程序上的不兼容之處等,并對(duì)程序進(jìn)行相應(yīng)的改良,來(lái)滿(mǎn)足圖像信息的多方向多次使用,保證雙目相機(jī)采集到的圖像信息能夠?qū)崿F(xiàn)地圖構(gòu)建、自動(dòng)避障及面部識(shí)別等應(yīng)用的要求,對(duì)信息進(jìn)行多功能、全方面地利用。在試驗(yàn)過(guò)程中,通過(guò)更改雙目相機(jī)搭載的位置,對(duì)不同位置下收集到的圖像信息在傳遞過(guò)程中的完整度和效率進(jìn)行分析比較,從而找到在一般使用過(guò)程中能最大限度地接受全視角圖像信息的安裝位置。

1.2 功能及特點(diǎn)

所設(shè)計(jì)出的智能小車(chē)能夠從單一的尋跡導(dǎo)航中解除束縛,快速地對(duì)更復(fù)雜的外部環(huán)境信息做出反應(yīng),能夠在密集的路面情況中靈活運(yùn)作,設(shè)計(jì)最優(yōu)路線(xiàn),并且根據(jù)雙目相機(jī)反饋的外界信息中的人臉信息,自動(dòng)進(jìn)行配速與發(fā)出表情和語(yǔ)音等功能,做到人性化設(shè)計(jì)。同時(shí)能夠保證自身機(jī)身的使用安全,延長(zhǎng)使用壽命,減少能量損耗。

2 硬件設(shè)計(jì)

智能小車(chē)采用Arduino Uno主控芯片及S12XE微控制器芯片,處于系統(tǒng)的核心位置,聯(lián)結(jié)整個(gè)系統(tǒng)的其他各個(gè)模塊,如超聲測(cè)距系統(tǒng)、光電傳感器及紅外傳感器等。其他部件采用S12XE外圍電路、CAN總線(xiàn)收發(fā)器等組成。小車(chē)核心MCU與各傳感器示意如圖2所示。

圖2 小車(chē)核心MCU與各傳感器示意

3 軟件設(shè)計(jì)與分析

3.1 系統(tǒng)搭建

首先在Arduino平臺(tái)上運(yùn)用函數(shù)輸入功能,輸入ORB-SLAM算法函數(shù),使用Python編程語(yǔ)言和Qt開(kāi)發(fā)框架結(jié)合于一體的圖形工具文件PyQt,設(shè)計(jì)適當(dāng)?shù)沫h(huán)境識(shí)別系統(tǒng),初步虛擬仿真出搭載視覺(jué)SLAM系統(tǒng)的導(dǎo)航小車(chē)。

Arduino平臺(tái)具有語(yǔ)言編程功能,編寫(xiě)相應(yīng)的程序后可利用平臺(tái)上的模擬仿真功能進(jìn)行傳感器拓展,并進(jìn)行模擬感知,通過(guò)控制雙目相機(jī)、LED屏幕等裝置來(lái)獲取環(huán)境信息并進(jìn)行反饋。為在Arduino平臺(tái)上設(shè)計(jì)出尋跡小車(chē)并搭載上雙目相機(jī),運(yùn)用ORB-SLAM 算法建立即時(shí)地圖,并傳遞信息于小車(chē)的控制系統(tǒng)以代替光電管接收到的路面印記信息,最終通過(guò)Arduino平臺(tái)的功能進(jìn)一步實(shí)現(xiàn)小車(chē)的導(dǎo)航系統(tǒng)。智能小車(chē)的3種工作狀態(tài)如圖3所示。

圖3 智能小車(chē)的3種工作狀態(tài)

3.2 后端優(yōu)化

在后端優(yōu)化校正線(xiàn)程,主要對(duì)所采集圖像數(shù)據(jù)的傳輸軌跡進(jìn)行優(yōu)化處理,包括傳輸過(guò)程的閉環(huán)檢測(cè)、局部或全局BA優(yōu)化以及局部地圖的擴(kuò)展。

采用分段式優(yōu)化處理方式,將圖像數(shù)據(jù)精度達(dá)到一定高度的特征點(diǎn)標(biāo)記為合格地標(biāo)點(diǎn),不再對(duì)其進(jìn)行優(yōu)化,減少了同一時(shí)間段內(nèi)所處理的數(shù)據(jù)總量,同時(shí)也提高了系統(tǒng)的數(shù)據(jù)處理速度[4]。為了進(jìn)一步減小誤差,在試驗(yàn)中將SLAM算法下相機(jī)生成的軌跡文件保存到Camera Trajectory文件中,并與地面實(shí)際軌跡進(jìn)行軌跡誤差比較,采用絕對(duì)軌跡誤差(ATE)的方式[5]對(duì)比不同SKAM算法下相機(jī)采集到的外部信息的軌跡誤差之間的優(yōu)劣。接著對(duì)采集到的每幀圖像進(jìn)行預(yù)處理,使用時(shí)間戳把特征檢測(cè)階段中估計(jì)出的相機(jī)所處位置與實(shí)際相機(jī)位置進(jìn)行對(duì)比分析。

3.3 避障功能設(shè)計(jì)

利用ORB-SLAM建立局部地圖,之后收集到相關(guān)位置信息,然后通過(guò)輸入相關(guān)算法函數(shù)來(lái)構(gòu)建小車(chē)的避障系統(tǒng),最終才能達(dá)成智能導(dǎo)航這一目標(biāo)。具體步驟如下:

(1)載入MAX驅(qū)動(dòng)函數(shù);

(2)定義UltraSonic函數(shù);

(3)命名障礙物距離值指定引腳;

(4)定義變量die;

(5)初始化MAX函數(shù)將測(cè)算到的障礙物距離值保存在變量die中;

(6)在串口顯示器上顯示障礙物距離值。

通過(guò)相關(guān)主函數(shù)來(lái)完成以下功能:

(1)判斷障礙物距離值所處區(qū)間;

(2)die≥45:小車(chē)保持直行;

(3)15≤die<45:小車(chē)自動(dòng)開(kāi)始播放警示音效;

(4)die<15:小車(chē)會(huì)原地掉頭避開(kāi)障礙物,最終往復(fù)。

4 試驗(yàn)仿真

4.1 試驗(yàn)方案

在V-SLAM系統(tǒng)中,前端跟蹤線(xiàn)程需要通過(guò)將外部環(huán)境的3D點(diǎn)投影到當(dāng)前幀畫(huà)面的2D點(diǎn),進(jìn)而確定相機(jī)在當(dāng)前環(huán)境下所處位置,為了保證導(dǎo)航的準(zhǔn)確性,還需要采集多個(gè)特征點(diǎn)在下一個(gè)畫(huà)面幀的具體位置或者偏差量。

本文針對(duì)導(dǎo)航小車(chē)在兩種不同類(lèi)型的室內(nèi)環(huán)境下稀疏重建外部環(huán)境進(jìn)行了仿真試驗(yàn),通過(guò)對(duì)采集的特征點(diǎn)所組成的局部地圖數(shù)據(jù)進(jìn)行分析。在環(huán)境較密集的辦公室中,由于辦公桌上有較多的辦公設(shè)施,相機(jī)采集了大量的無(wú)用特征點(diǎn),所用方法并未能取得理想的效果。而在大型廠(chǎng)房,廠(chǎng)房?jī)?nèi)有少量大型設(shè)備,還有預(yù)先放置的磚瓦、垃圾桶等障礙物。墻面平整且大部分呈白色,只有少部分墻體表面有管道和變壓設(shè)備,特征點(diǎn)較少且分布較為密集。結(jié)果表明,所設(shè)計(jì)的導(dǎo)航小車(chē)系統(tǒng)在大型廠(chǎng)房這種障礙物明顯且相對(duì)分散的場(chǎng)合具有良好的使用性能。

4.2 試驗(yàn)結(jié)果

通過(guò)對(duì)試驗(yàn)結(jié)果的分析,發(fā)現(xiàn)區(qū)域匹配算法可以最大限度地完成這種相鄰幀之間特征點(diǎn)的匹配,故而可最大限度地降低圖像信息傳輸中存在的誤差,并減小后續(xù)優(yōu)化校正線(xiàn)程的計(jì)算負(fù)擔(dān)。需要注意的是,在試驗(yàn)中還應(yīng)盡可能地選擇特征點(diǎn)較密集的區(qū)域,否則在不同幀畫(huà)面的匹配過(guò)程中仍然會(huì)存在較大誤差。

對(duì)于具體的相鄰幀之間匹配過(guò)程,經(jīng)過(guò)對(duì)多種匹配方式的仿真研究,結(jié)果表明,變換網(wǎng)絡(luò)進(jìn)行模板仿射變換無(wú)疑是最好的選擇。在圖像選取目標(biāo)環(huán)境區(qū)域后,由內(nèi)部程序?qū)υ搱D像進(jìn)行一定程度的尺寸轉(zhuǎn)變后輸入到變換網(wǎng)絡(luò),通過(guò)變換網(wǎng)絡(luò)對(duì)該圖像進(jìn)行仿射變換,直到某一結(jié)果最大程度上和下一幀采集到的圖像信息上的某區(qū)域相吻合,使得區(qū)域內(nèi)的特征點(diǎn)得到匹配從而更好地搭建局部地圖[6]。利用這種技術(shù),不僅可以保證相機(jī)在小車(chē)行駛不平路段和轉(zhuǎn)彎時(shí)也能發(fā)揮良好的性能,而且降低了SLAM算法的運(yùn)算負(fù)擔(dān),保證了導(dǎo)航的迅速[7]。

綜上,無(wú)論是在軌跡誤差方面還是在相機(jī)估計(jì)位值方面,本文所采取的優(yōu)化方式都有著相當(dāng)良好的表現(xiàn),軌跡對(duì)比如圖4所示。通過(guò)對(duì)辦公室小場(chǎng)景環(huán)境下的真實(shí)軌跡和優(yōu)化后相機(jī)的軌跡進(jìn)行對(duì)比,并建立相關(guān)函數(shù)分析每段相機(jī)位置與預(yù)估位置間的差異,得出平均偏移誤差為0.095 32。在對(duì)大型廠(chǎng)房所得數(shù)據(jù)進(jìn)行分析時(shí),系統(tǒng)后端優(yōu)化校正線(xiàn)程的效果也非常顯著,真實(shí)軌跡和相機(jī)軌跡基本上吻合,僅僅只在極少數(shù)地區(qū)存在細(xì)微誤差,在該環(huán)境下的平均偏移誤差為0.097 13。通過(guò)對(duì)比搭載不同SLAM算法的各個(gè)系統(tǒng)在相同場(chǎng)景下的性能,本文提出的算法不僅能滿(mǎn)足導(dǎo)航功能的要求,而且能更加準(zhǔn)確地處理帶有深度的數(shù)據(jù),并且在快速性、準(zhǔn)確性、實(shí)時(shí)性等方面具有不俗的優(yōu)勢(shì)。

圖4 軌跡對(duì)比

5 結(jié)論

本文從導(dǎo)航小車(chē)的應(yīng)用場(chǎng)景、設(shè)計(jì)和搭建、循跡原理和SLAM算法的載入等幾個(gè)方面介紹了導(dǎo)航小車(chē)的設(shè)計(jì)初衷和理念,其包含了Arduino平臺(tái)的虛擬仿真、ORB-SLAM算法等前沿技術(shù)。所設(shè)計(jì)的這一款導(dǎo)航小車(chē)即為基于Arduino平臺(tái)的循跡小車(chē)并搭載雙目相機(jī)運(yùn)用ORB-SLAM算法。

相比較于傳統(tǒng)的循跡小車(chē),經(jīng)過(guò)改良的導(dǎo)航小車(chē)不僅能精確行駛循跡路線(xiàn),還能在非循跡情況下實(shí)現(xiàn)自動(dòng)導(dǎo)航的功能,并實(shí)現(xiàn)高精度的場(chǎng)景重建與避障功能,最終得到的小車(chē)功能更加完善。導(dǎo)航小車(chē)各個(gè)硬軟件都采用了比較成熟的技術(shù),性能和功能穩(wěn)定性均得到了保障。

猜你喜歡
小車(chē)軌跡誤差
解析幾何中的軌跡方程的常用求法
大車(chē)?yán)≤?chē)
自制小車(chē)來(lái)比賽
軌跡
軌跡
Beidou, le système de navigation par satellite compatible et interopérable
劉老師想開(kāi)小車(chē)
隧道橫向貫通誤差估算與應(yīng)用
隧道橫向貫通誤差估算與應(yīng)用
兩輪自平衡小車(chē)的設(shè)計(jì)與實(shí)現(xiàn)
宜城市| 丰宁| 吕梁市| 宜昌市| 嘉祥县| 陕西省| 永修县| 涞水县| 巴林右旗| 武定县| 建瓯市| 合山市| 天全县| 泾川县| 富民县| 佛冈县| 龙门县| 萍乡市| 宁波市| 汾阳市| 金昌市| 团风县| 宁都县| 延边| 宜良县| 休宁县| 三原县| 阳山县| 廊坊市| 醴陵市| 巨鹿县| 盐城市| 丹巴县| 呼伦贝尔市| 山西省| 肇东市| 上蔡县| 黎川县| 石棉县| 布拖县| 理塘县|