韓永奇,張芳芳,紀 鵬,寇 磊,馬 浩,王潤墨,苑全德,皮玉珍
1.齊魯工業(yè)大學(山東省科學院) 電氣工程與自動化學院,濟南 250353 2.齊魯工業(yè)大學(山東省科學院) 海洋儀器儀表研究所,青島 266061 3.齊魯工業(yè)大學(山東省科學院) 計算機科學與技術(shù)學院,濟南 250353 4.長春工程學院 智能配電網(wǎng)測控與安全運行技術(shù)國家地方聯(lián)合工程研究中心,長春 130012
隨著科技的發(fā)展和大眾購買力的不斷提高,汽車已經(jīng)走入千家萬戶。據(jù)統(tǒng)計,2020年中國機動車駕駛員數(shù)量達4.56億,其中民用汽車駕駛?cè)藬?shù)占機動車駕駛員數(shù)量的91.67%。從機動車駕駛?cè)诵詣e看,2020年男性駕駛員人數(shù)達3.08億,占67.57%;女性駕駛員人數(shù)達1.48億,占32.43%。從機動車駕駛員年齡看,51至60歲的駕駛員人數(shù)達6 086萬,占13.36%。同時,數(shù)據(jù)表明,2020年全國新領(lǐng)證駕駛?cè)?駕齡不滿1年)數(shù)量達2 231萬人,占全國機動車駕駛?cè)丝倲?shù)的4.90%。大量對方向感把握方向欠佳的新手駕駛員和高齡駕駛員由于在泊車過程中對陌生及復雜的周圍環(huán)境的認知與判斷不是很準確,對于車身與停車線的相對位置也是較難把控,因此泊車困難問題越發(fā)得到關(guān)注。
在計算機技術(shù)日益發(fā)展的環(huán)境下,越來越多的學者投身到自動泊車系統(tǒng)(APS)研究的行列中。國外早在1992年開始在部分概念車上搭載APS[1]。目前國外主要有兩個研究方向,一個建立智能化的停車環(huán)境,通過手機以及智能停車場來輔助用戶進行停車[2],另一個研究方向是通過獲取在車身安裝的攝像頭,雷達等傳感器的信息來輔助操控車輛進行泊車[3-4]。國內(nèi)對APS系統(tǒng)的研究相對國外來說起步較晚,但也取得了一些成果。江浩斌等提出了一種高精度識別車位的方法[5]。2019年在百度AI開發(fā)者大會上,李彥宏演示了百度自主泊車解決方案的新進展。在國內(nèi)主要研究方向為利用多傳感器信息融合與路徑規(guī)劃來實現(xiàn)自動泊車[6-12]。
如今APS主要存在的問題是成本高,搭載對象大多為中高端車型,不易推廣。同時APS傳感器類型較少,對環(huán)境檢測智能化較低[1]。本文提出的基于多傳感器信息融合的智能泊車系統(tǒng),實現(xiàn)成本低,易于推廣,同時搭載多種類型傳感器,對周圍環(huán)境感知度較高。
首先由駕駛員將車行駛到停車位旁,隨后駕駛員通過按鍵下達自動泊車指令。車輛在接到指令后,低速向前勻速行駛,通過超聲波傳感器與視覺傳感器進行車位探測工作,當檢測到可用車位時,通過屏幕詢問駕駛員是否在此位置停車,若駕駛員選擇否,車輛則放棄此車位。當駕駛員選擇是,則車輛按照預先規(guī)劃的路徑進行泊車動作。系統(tǒng)結(jié)構(gòu)原理如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)原理圖
進入車位之后,通過紅外循跡傳感器識別車身傾斜情況,根據(jù)傾斜程度進行調(diào)整,完成最終泊車。在整個泊車過程中,控制系統(tǒng)對人體紅外傳感器和紅外避障傳感器信息進行實時監(jiān)測來準確的感知周圍的環(huán)境。系統(tǒng)通過融合多個循跡傳感器的數(shù)據(jù),來對車身傾斜程度進行判斷,系統(tǒng)根據(jù)融合信息完成泊車動作。泊車路徑如圖2所示。
2.1.1 卡爾曼濾波
多傳感器融合是將來自多個傳感器的數(shù)據(jù)進行融合和互補。相對于單一傳感器,多傳感器融合能快速準確地對周圍情況進行識別和判斷,彌補了單一傳感器的不足,增加了測量的準確性,增大了測量的容錯性,提高了數(shù)據(jù)的可靠性。一般來說,多傳感器融合分為信息層融合、特征層融合、決策層融合三個層次。通過將信息融合在一起,大大提高了容錯率[11]。
卡爾曼濾波(Kalman filtering)是多傳感器信息融合中對傳感器數(shù)據(jù)預處理的一種理論方法,是一種利用線性系統(tǒng)狀態(tài)方程,通過系統(tǒng)輸入輸出觀測數(shù)據(jù),對系統(tǒng)狀態(tài)進行最優(yōu)估計的算法[12~13]。對傳感器數(shù)據(jù)進行卡爾曼濾波處理,增加數(shù)據(jù)的可靠性。
卡爾曼濾波過程的傳感器信號模型由狀態(tài)方程和觀測方程組成。
狀態(tài)方程:
xk=Axk-1+ωk-1,
(1)
觀測方程:
zk=Hxk+vk。
(2)
式(1)和式(2)中,xk為k時刻的系統(tǒng)狀態(tài)變量;A為狀態(tài)矩陣;zk是k時刻的觀測值;H為測量系統(tǒng)的參數(shù);ωk-1是過程噪聲,仿真實驗中一般取期望為0,協(xié)方差為Q的白噪聲;vk是觀測噪聲,一般是期望為0,協(xié)方差為R的白噪聲。
(3)
(4)
測量更新部分方程為
(5)
(6)
(7)
超聲波是頻率超過20 kHz的聲波,具有良好的束射特性,反射性強,方向性強,抗干擾能力強,傳播距離遠,所以采用超聲波模塊來進行車位的探測。
在本文中,應(yīng)用卡爾曼濾波算法對超聲波傳感器的數(shù)據(jù)進行濾波。在短時間內(nèi)由于超聲波測得的距離跟前一刻的距離是一樣的,所以A取值為1。因為超聲波的測量值就是車體與障礙物的實際距離,不需要放大或縮小,所以H取1。代入數(shù)值后可得卡爾曼濾波方程如下:
預測更新部分
(8)
(9)
測量更新部分
(10)
(11)
(12)
根據(jù)式(8)-(12),將參數(shù)初始化,由于P為狀態(tài)預估值的方差,所以在初始化時取一個非零常數(shù);Q為過程噪聲激勵的協(xié)方差,依據(jù)濾波結(jié)果調(diào)試Q的大小;R為超聲波傳感器的測量噪聲協(xié)方差,依據(jù)超聲波傳感器的測量誤差對R進行初始化。初始化后將超聲波傳感器的信息代入式(8)-(12)迭代計算,來獲取最優(yōu)值。
2.1.2 超聲波探測車位
在探測車位過程中,智能小車在勻速前進的同時,以一定周期不斷向停車位置發(fā)送超聲波。根據(jù)超聲波發(fā)出與返回的時間差,可以計算出小車與右側(cè)障礙物的距離,即可初步掃描出停車位,超聲波探測車位原理如圖3所示[14]。
圖3 超聲波探測車位原理圖
建立數(shù)學模型如下:圖3中L1為實驗車的長度,L2為停車位的長度,L3為實驗車的右邊距障礙物的距離,V為實驗車的移動速度。設(shè)L5為最小可停車長度。當滿足L3>L4并且L1 (13) 當系統(tǒng)滿足式(14)時,可以判斷此車位可以泊車。 (14) 2.1.3 OPENMV(Open Machine Vision)視覺識別車位 由于僅使用超聲波雷達探測車位時存在雷達張角,車位精準度不足。因此,本系統(tǒng)采用超聲波傳感器與視覺傳感器數(shù)據(jù)相融合的方式來進行車位的精準定位。用視覺傳感器來進行視覺識別,模擬人眼來獲取信息,圖像系統(tǒng)對信號進行各種運算來抽取目標的特征,進而根據(jù)判別的結(jié)果來控制現(xiàn)場的設(shè)備動作。 超聲波傳感器與視覺傳感器均固定在小車上,當小車在待停車區(qū)域勻速緩慢前進時,OPENMV攝像頭會持續(xù)掃描小車行進方向右方區(qū)域,并在檢測到一個合適的空車位時,與超聲波傳感器反饋數(shù)據(jù)進行融合和判斷,如圖4所示。 圖4 多傳感器信息融合識別車位 本文使用四元檢測算法。首先進行圖像預處理,修正鏡頭畸變,使用大津法(最大類間方差法)計算閾值,將圖像用此閾值二值化,從而能凸顯出目標的輪廓,以減少計算量。預處理完畢后,將圖像做高斯模糊以及平滑噪聲處理。接著,計算梯度的方向和幅值,并對梯度邊緣進行聚類(使用并查集),采用線性回歸擬合直線,尋找封閉直線組成的四邊形,然后細化,檢測矩形結(jié)束。在這個過程中,計算圖像梯度類似Sobel邊緣檢測算法,不同之處在于計算的梯度包含了方向和幅值,選擇大于閾值的像素點作為邊緣點。 檢測到矩形后,算法會繼續(xù)判定這個矩形是否合法。檢測到一個矩形在合適的位置,并且大小合適時,就視為在這一幀中找到了一個車位,如圖5所示。若此候選車位在一個連續(xù)的時間出現(xiàn)時,便視為車位已找到。這個時間由車速、每秒的幀數(shù)等共同決定。 圖5 視覺識別停車位 小車通過L298N電機驅(qū)動板使用脈沖寬度調(diào)制(PWM)信號來驅(qū)動四個直流電機轉(zhuǎn)動。PWM是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),通過調(diào)節(jié)一個脈沖周期內(nèi)有效電平在整個周期所占的比例,也就是占空比,就能調(diào)節(jié)IO口上電壓的持續(xù)性變化,因此可以控制外設(shè)的功率進行持續(xù)性變化,也就能控制直流電機的轉(zhuǎn)速快慢。 在實際應(yīng)用中,首先初始化一個定時器用來調(diào)制PWM信號,之后設(shè)定預裝載值(ARR)與比較值(CRRx)。定時器由0開始計時,當計時至ARR值時為一個周期,同時計數(shù)值不斷與CRRx值進行比較,當計數(shù)值達到CRRx值時,使邏輯電平產(chǎn)生變化。通過不斷改變CRRx的值來改變占空比的大小,以此來控制輸入到電機的電壓即控制了轉(zhuǎn)速,圖6為示例圖。單片機將控制信號輸送至L298N電機驅(qū)動板,并通過調(diào)節(jié)IN1-IN4四個引腳的高低電平關(guān)系來控制電機正反轉(zhuǎn)。由此可以實現(xiàn)小車前進,后退,左右轉(zhuǎn)彎等動作。 圖6 PWM原理及示例圖 小車的前方和后方均安裝有紅外傳感器,主要為前后避障。當傳感器檢測到前方近距離處有障礙物時,紅外傳感器會給控制系統(tǒng)一個信號,控制系統(tǒng)經(jīng)過對信息的處理和判斷,進入中斷反應(yīng),即讓小車停止前進并且發(fā)出警告聲。 小車的前后方均設(shè)有紅外人體感應(yīng)模塊,與紅外避障模塊相比,人體感應(yīng)模塊感應(yīng)范圍大,在3 m之外即可感知人體存在,盡早盡可能避開移動的人,如奔跑的兒童、騎車的人等。人體紅外感應(yīng)模塊在感知到周圍有人活動時,會給控制系統(tǒng)一個信號,控制系統(tǒng)在信息處理和判斷后做出中斷反應(yīng),進行停車和發(fā)出警告聲。 在小車后方底部平行安裝有兩個循跡模塊,循跡模塊主要利用紅外反射原理,對地面上的停車線進行識別。在小車進入停車位后,為了防止小車的車身歪斜,需要車位修正處理。首先控制系統(tǒng)先對車身位置做出判斷,再控制小車往后倒退,控制系統(tǒng)通過車尾后兩傳感器的信號時間差以及車輛運行的速度進行數(shù)據(jù)處理,規(guī)劃調(diào)整的停車路徑,隨后控制系統(tǒng)控制車輪進行調(diào)整,最終完成停車,車位調(diào)整示意圖如圖7所示。 圖7 車位調(diào)整原理圖 根據(jù)小車的具體情況,本系統(tǒng)采用STM32F103RCT6單片機作為中央處理單元。芯體規(guī)格是32位,速度是72 MHz,程序存儲器容量是256 KB,程序存儲器類型是FLASH,RAM容量是48 KB。通過L298N電機驅(qū)動模塊驅(qū)動四個直流電機轉(zhuǎn)動來帶動車輪轉(zhuǎn)動,在車位檢測方面配有一個超聲波模塊和一個視覺傳感器模塊,超聲波模塊型號為HC-SR04,該模塊可提供2~400 cm的非接觸式距離感測功能,測距精度可達高到3 mm。視覺傳感器采用OPENMV,是一個開源,低成本,功能強大的機器視覺模塊,該模塊以STM32H7CPU為核心。同時通過有效檢測范圍為2~30 cm,檢測距離可根據(jù)電位器進行調(diào)節(jié)的四個紅外避障傳感器模塊和兩個HC-SR501人體紅外傳感器模塊來實時感知周圍環(huán)境,通過TCRT5000紅外循跡傳感器模塊來感知車身傾斜形體。圖8為硬件原理圖。 圖8 硬件原理圖 本系統(tǒng)采用STM32單片機為控制核心,使用keil軟件進行編譯。當系統(tǒng)收到用戶下達的泊車命令后,通過單片機給電機驅(qū)動模塊發(fā)送邏輯信號,通過PWM信號波控制直流減速電機的轉(zhuǎn)動方向與速度,以此來控制小車的移動。系統(tǒng)采集各個傳感器的信息來識別車位以及對周圍環(huán)境進行識別。通過I/O口對超聲波模塊引腳的檢測,同時結(jié)合視覺識別模塊信息,對車位進行掃描判斷。將所得的數(shù)據(jù)進行卡爾曼濾波,最終得出最優(yōu)判斷結(jié)果。當識別到車位后,系統(tǒng)控制小車執(zhí)行泊車動作,小車進入車位后,根據(jù)車尾紅外傳感器信號來判斷小車車身傾斜程度調(diào)整路徑規(guī)劃,之后小車按照規(guī)劃路徑進行泊車調(diào)整動作。程序工作流程如圖9所示。 圖9 程序工作流程圖 根據(jù)以上系統(tǒng)硬件和軟件的設(shè)計,以汽車模型代替真實的汽車,搭建自動泊車系統(tǒng)模型如圖10所示。試驗車與試驗場地參數(shù)如表1所示。 圖10 實驗環(huán)境圖 表1 試驗車與試驗場地參數(shù) 實驗時,由于實驗場地有三個車位,所以可能會出現(xiàn)有若干個空車位,沒有空車位等多種情況,因此系統(tǒng)的車位判斷子程序設(shè)定為根據(jù)車位的長度數(shù)據(jù)對車位進行判斷。從表2可以看出,本系統(tǒng)對車位類型的判斷十分準確。 表2 不同空車位識別情況 在識別判斷車位后,不同的泊車環(huán)境會對泊車情況造成不同的影響。在對三個車位空余情況不相同時對泊車進行測試如圖11所示。由表3可以看出,泊車情況相對較理想,但也存在個別情況,主要原因有車輪與地面摩擦系數(shù)不均勻,車輪轉(zhuǎn)速不穩(wěn)定。 圖11 不同環(huán)境下泊車 表3 不同空車位停車情況 在實驗時模擬真實泊車會出現(xiàn)障礙物的情況如圖12所示,通過在泊車路徑前后設(shè)置障礙物來測試系統(tǒng)對障礙的識別情況,由表4可以看出對障礙物識別準確度較高。 圖12 不同環(huán)境下避障測試 表4 障礙物識別測試 本文以STM32單片機作為控制核心,利用信息融合技術(shù),設(shè)計了一套智能泊車系統(tǒng),大大減少了自動泊車的實現(xiàn)成本,該系統(tǒng)通過對多種類型的傳感器數(shù)據(jù)的采集與融合,能夠識別車位以及更加智能化的感知周圍環(huán)境,實現(xiàn)了停車位識別,路徑規(guī)劃,自動泊車,障礙物識別和行人識別等功能。2.2 電機驅(qū)動
2.3 紅外避障
2.4 人體紅外感應(yīng)
2.5 車身矯正
3 智能泊車系統(tǒng)設(shè)計
3.1 硬件設(shè)計
3.2 軟件設(shè)計
4 智能泊車實驗
4.1 車位識別及自動泊車測試
4.2 障礙物識別測試
5 結(jié) 論