摘要:為了滿足消費者對駕駛便利性以及安全性的需求,提出一種幫助新手司機快速通過限寬裝置的自動避障系統(tǒng)。該系統(tǒng)基于Camshift算法和超聲波對障礙物進行檢測與跟蹤,同時利用人工勢場算法進行車輛避障軌跡規(guī)劃,并使用MATLAB軟件進行仿真分析,從而為駕駛員提供通過限寬裝置的路徑,快速且安全通過限寬墩。
關(guān)鍵詞:自動避障;限寬墩檢測與跟蹤;路徑規(guī)劃
中圖分類號:U461 收稿日期:2022-07-17
DOI:10.19999/j.cnki.1004-0226.2022.09.004
1 前言
為了防止大貨車壓壞道路,會在道路上設(shè)置限寬墩,但往往造成一些車輛與限寬墩發(fā)生碰撞,對車體造成損壞。根據(jù)現(xiàn)有技術(shù),提出在車上安裝某種裝置,檢測限寬墩寬度,并在顯示屏上指示駕駛者車身方向調(diào)整通過限寬墩。但這種方法存在三個問題:該裝置無法保證檢測器精準(zhǔn)檢測到限寬墩寬度并在顯示屏上及時有效提醒方向調(diào)整;新手駕駛員根據(jù)顯示屏指示調(diào)整方向通過限寬墩時,無法及時且高效地兼顧車輛操縱、限寬墩以及顯示屏三者;在車體表面安裝一塊機體裝置,既不美觀又會造成資源浪費。
當(dāng)前,車輛避障是汽車行業(yè)研究的熱門領(lǐng)域,包含目標(biāo)識別與目標(biāo)跟蹤兩部分重要研究課題,一般分為經(jīng)典傳統(tǒng)算法和基于深度學(xué)習(xí)算法。華中科技大學(xué)叢喆[1]提出利用誤差反向傳播神經(jīng)網(wǎng)絡(luò)來處理視頻信號,以完成對移動目標(biāo)的跟隨拍攝并預(yù)測拍攝對象下一時刻位置。上海海洋大學(xué)王振華等[2]先對當(dāng)前研究的目標(biāo)識別算法進行了歸納,并分析了基于區(qū)域和基于回歸的目標(biāo)識別算法的區(qū)別和各自優(yōu)勢,以識別效率和識別精度為評價指標(biāo),對八類代表性目標(biāo)識別算法進行了對比總結(jié)。西安電子科技大學(xué)李大珍[3]提出的高斯濾波+閾值分割+序貫相似性檢測算法,用于單DSP處理器,即基于VS和OpenCV,開展了高斯濾波、閾值分割法和序貫相似性檢測算法對紅外車輛目標(biāo)識別與跟蹤的有效性和實用性的仿真驗證。
為了便捷且高效地幫助司機快速安全地通過在路面上阻礙貨車行駛的限寬墩,本文設(shè)計如下方法:在車輛行駛過程中,通過超聲波+單目攝像檢測器確定障礙物的具體坐標(biāo),基于人工勢場法的車輛避障算法,將障礙物的坐標(biāo)輸入到人工勢場算法中得到車輛的避障軌跡,由此幫助司機安全快速地通過障礙物,以提升行車安全并且提高車輛行駛效率。
2 障礙物檢測與跟蹤
2.1 系統(tǒng)硬件設(shè)計
本研究目的在于確定障礙物的具體位置,并在汽車側(cè)向避障時為汽車設(shè)計一條不會發(fā)生碰撞的安全路線,系統(tǒng)如圖1所示。因此,本系統(tǒng)包含超聲波+單目攝像檢測器、方向盤自動調(diào)整裝置以及數(shù)據(jù)處理單元,當(dāng)車輛行駛過程中檢測到前方車道兩側(cè)有某區(qū)間高度、寬度的固定物體時,便自動啟動限寬墩快速通過程序。
考慮到本文的設(shè)計程序,本文采用系統(tǒng)外掛的設(shè)計形式,采用樹莓派4B作為本設(shè)計系統(tǒng)的核心主控部分,500 W像素攝像頭可以利用標(biāo)準(zhǔn)排線與樹莓派4B上的CSI CAMERA連接,支持2 592×1 944的最大分辨率,同時也可以支持每秒30幀的視頻素材捕捉。
此外,為了能夠減少在基于樹莓派4B為基礎(chǔ)的模擬仿真車輛上的數(shù)據(jù)處理,采用超聲波模塊得到障礙物與車輛的相對距離信息。超聲波測距源自于蝙蝠的生物傳感,是目前一種比較常見的距離測量模式。不同的雷達有不同的優(yōu)缺點,不同的雷達適應(yīng)不同的場景,經(jīng)過研究,本文選用市面上較為常見的超聲波檢測模塊(即HC-SR04超聲波模塊)對障礙物與車輛之間的距離進行測量。
2.2 障礙物跟蹤與定位
本文以樹莓派的硬件平臺為基礎(chǔ),搭建Camshift算法模型,對智能車輛障礙物規(guī)避檢測系統(tǒng)進行了研究。利用Camshift算法完成對障礙物的檢測,并通過超聲波測距裝置實現(xiàn)對障礙物在車輛行駛道路上的精確定位。
2.2.1 基于Camshift算法的障礙物跟蹤
Camshift算法選用運動物體的顏色特征作為目標(biāo)特征對運動目標(biāo)實現(xiàn)跟蹤。Camshift算法對目標(biāo)尺寸的自我調(diào)整,在自我調(diào)整窗口大小和適應(yīng)目標(biāo)區(qū)域中實現(xiàn)對目標(biāo)窗口的位置追蹤,Camshift的這一特點對連續(xù)彩色圖像序列中的運動目標(biāo)實現(xiàn)快速跟蹤。
Camshift算法的實現(xiàn)主要包括三個部分:流程圖中的虛線方框是作為Camshift算法中核心算法的Mean-Camshift算法,該算法的主要功能是在視頻圖像中獲取移動的目標(biāo)所在的位置信息。在Mean-Camshift算法中,通過給定一個確定的彩色圖像和該彩色圖像某個初始搜索窗口所對應(yīng)的色度直方圖,利用圖像色度直方圖建立一個基于顏色概率的單通道的反向投影圖,獲得的反向投影圖和目標(biāo)圖像作為Mean-Camshift算法的輸入,目標(biāo)圖像不停地迭代直到靠近目標(biāo)重心,獲得目標(biāo)的準(zhǔn)確位置信息。彩色圖像將Mean-Camshift算法擴展到連續(xù)圖像序列,這樣就形成了Camshift算法。Camshift算法是將視頻圖像的所有幀進行Mean-Camshift運算,并將對上一幀的運算結(jié)果作為對下一幀運算的初始值,包括窗口的大小,在對圖像目標(biāo)的不停循環(huán)迭代的過程,實現(xiàn)了對運動目標(biāo)的跟蹤,Camshift算法完成對障礙物的跟蹤過程,從圖2中可以看出Camshift算法對障礙物有著很好的跟蹤效果。
2.2.2 基于超聲波模塊的障礙物測距
超聲波測距源自于蝙蝠的生物傳感,是目前常用的測距模型。為了能夠在樹莓派智能車上減少數(shù)據(jù)處理,實現(xiàn)所設(shè)計的障礙物檢測系統(tǒng),采用超聲波測距模型。其中假設(shè)d為所要測的實際距離;d[′]為超聲波傳播(發(fā)送/接受)距離;h為超聲波發(fā)射端T和接收端R的距離;μ為發(fā)射波和接受波之間的夾角。由此可得出:
[d=dcosμ2] (1)
因為有:
[μ2=arcsinh2d] (2)
所以,將式(2)代入式(1)得:
[d=d(arcsinh2d)] (3)
從式(3)中可以得到一個實際距離d關(guān)于h和[d]的關(guān)系。但是在實際測量過程中,超聲波模塊中的h會很小,趨近于0。將h≈0代入式(3)可得:
[d≈d=vt2=340 ×t×1002] (4)
式中,v為超聲波傳播速度(即聲速),[m/s];t為傳播時間,s;d為實際距離,cm。
sEHENutqYry92HEHEqpcHw==在本文中,我們定義移動車輛為質(zhì)點。為了方便定義障礙物相對于車輛以及道路的相對位置,同時方便建立基于人工勢場法的避障模型,規(guī)定縱向車道的長度方向為x軸的方向,車道的橫向?qū)挾确较驗閥軸方向。
首先,建立基于Camshift算法運行結(jié)果的坐標(biāo)系,以上一章節(jié)實現(xiàn)的Camshift算法運行結(jié)果為基礎(chǔ)建立坐標(biāo)系,以視頻界面的中心點為坐標(biāo)系原點,視頻界面的水平方向為坐標(biāo)系的x軸,視頻界面的豎直方向為坐標(biāo)系的y軸,由此可以得到基于Camshift算法檢測框選的障礙物的重心坐標(biāo)為B(xb,yb)。取重心坐標(biāo)B的x軸坐標(biāo)值的絕對值為障礙物坐標(biāo)A的y軸坐標(biāo),如下式:
ya=[xb] (5)
在車輛移動中會以車輛行駛的正前方為基準(zhǔn)進行水平方向±90°的勻速轉(zhuǎn)動,并將掃描到的車輛與障礙物之間的距離信息發(fā)送到樹莓派4B的數(shù)據(jù)處理終端。將超聲波避障模塊探測到的障礙物與車輛的距離定義為l,由此可以利用下式計算得出障礙物A的x軸坐標(biāo):
[xa]=[l2-y2a] (6)
3 避障路徑規(guī)劃
3.1人工勢場函數(shù)的建立
從人工勢場法的基本理論上可以看出,人工勢場法是一種抽象的勢場,在整個位場中,汽車處于障礙物的排斥場和終點的重力場中,相關(guān)場能使汽車離開障礙物,重力場使汽車移動到障礙物的末端,所以該人工位場可以被看作是最終的重力場和障礙物的勢場。人工勢場法的數(shù)學(xué)表達形式如下:
U=Uatt+Urep (7)
F=Fatt+Freq (8)
式中,Uatt為避障終點施加的引力勢場函數(shù);Ureq為障礙物施加的斥力勢場函數(shù);Fatt為自車受到的引力;Freq為自車受到的斥力。
3.1.1 引力函數(shù)的建立
本文將車輛簡化為一個質(zhì)點,同時本文將車輛所處的環(huán)境簡化為二維平面。與此同時,障礙物與車輛的距離和位置等信息已經(jīng)通過上文的障礙物檢測算法和跟蹤算法具體求得,本節(jié)只具體研究車輛的橫向避障路徑規(guī)劃,所以在本節(jié)的研究中,車輛與障礙物的距離、車輛的行駛速度等信息均視為已知條件。
模擬仿真駕駛車輛在障礙物中所承受的重力與其與障礙物的終點的距離有關(guān),重力位勢的公式是:
Uatt=[12]Katt(Pv-Pt)2 (9)
式中,Katt為引力場增益。
對避障終點引力勢場函數(shù)負(fù)梯度求導(dǎo)得到引力函數(shù)Fatt(M):
Fatt(M)=-[?]Uatt(M)=-Katt[agl] (10)
式中,[ag]為自車與避障終點之間的單位向量;l為自車與避障終點之間的距離,其中l(wèi)=[Pv-Pt]。
3.1.2 斥力函數(shù)的建立
假設(shè)障礙物的坐標(biāo)位置為:
[Xob=xob yobT] (11)
因此,自車的斥力勢場模型為:
[12Krep1dob-1d02,dob<d00, dob>d0] (12)
式中,[Krep]為斥力場增益;[dob]為車輛自身與障礙物的距離;[dob=M-Xob];[d0]為障礙物斥力勢場的作用域。
3.1.3 約束條件
在進行避障路徑規(guī)劃的同時需要對路徑的曲率進行一定的限制,在本文中,將車輛轉(zhuǎn)向系統(tǒng)的約束按照以下步驟進行:根據(jù)人工勢場法預(yù)先規(guī)劃出自車下一時刻的坐標(biāo)點,根據(jù)下一時刻的坐標(biāo)點計算車輛自身轉(zhuǎn)向所需的轉(zhuǎn)向半徑R,并對轉(zhuǎn)向半徑進行相應(yīng)判斷,若大于車輛限制的最小轉(zhuǎn)向半徑,則直接輸出上一步驟中得出的坐標(biāo)位置,反之則以最小轉(zhuǎn)向半徑計算下一時刻的車輛自身的坐標(biāo)位置;判斷車輛自身與避障終點之間的位置關(guān)系,若車輛自身到達避障終止點,則避障結(jié)束,反之,則循環(huán)上述步驟即系統(tǒng)繼續(xù)工作,程序繼續(xù)運行,直至車輛自身到達避障終止點。
3.2 仿真分析
利用在MATLAB2021a中編寫的人工勢場算法將模擬障礙物分布的道路場景圖進行仿真。車輛在行駛中遇到有并列分布的障礙物時,本文系統(tǒng)要做出相應(yīng)的反應(yīng),以此來幫助駕駛員操縱車輛通過障礙物,仿真結(jié)果如圖3所示。
利用在MATLAB2021a中編寫的人工勢場算法將模擬障礙物分布的道路場景圖進行仿真,通過MATLAB仿真結(jié)果顯示,人工勢場算法符合預(yù)期效果,可以實現(xiàn)對模擬障礙物的避障仿真。
4 結(jié)語
本文為檢測相關(guān)障礙物提出利用單目攝像頭作為車輛的視覺輸入工具,拍攝車輛前部景像同時基于Camshift算法對障礙物進行檢測與跟蹤;利用超聲波測距裝置測量車輛與前方障礙物的距離;利用Camshift算法與超聲波測距模塊對障礙物進行聯(lián)合定位,確定障礙物的具體坐標(biāo);建立了基于人工勢場的車輛避障算法,并將前文獲得障礙物的具體坐標(biāo)輸入到人工勢場算法中進行仿真實驗,證明了該方法可以在真實的環(huán)境下進行避障,而且所生成的軌跡不會發(fā)生彎曲變形,符合汽車的實際運行要求,證明了上述方法是可行的。
參考文獻:
[1]叢喆基于神經(jīng)網(wǎng)絡(luò)的智能小車視頻監(jiān)控系統(tǒng)設(shè)計[D]武漢:華中科技大學(xué),2009.
[2]王振華,李靜,張鑫月,等面向視頻數(shù)據(jù)的深度學(xué)習(xí)目標(biāo)識別算法綜述[J/OL]計算機工程:1-19[2021-12-01]
[3]李大珍基于DSP的紅外車輛目標(biāo)識別與跟蹤系統(tǒng)設(shè)計[D]西安:西安電子科技大學(xué),2020.
作者簡介:
馮夢琦,女,1995年生,碩士研究生,助教,研究方向為車輛動力學(xué)及其控制。