王世明 王壯壯 胡祥宇 賀鑫源 杜曉翌
摘 要:隨著微處理器技術(shù)、多傳感器融合技術(shù)以及先進(jìn)控制算法的發(fā)展,具備自動(dòng)駕駛功能的智能車受到越來(lái)越廣泛的關(guān)注。本文基于STM32單片機(jī),設(shè)計(jì)了具有避障功能的智能車,助力當(dāng)下的智能車產(chǎn)業(yè)發(fā)展。本文設(shè)計(jì)的智能車?yán)眉t外傳感器追蹤行駛路線,利用超聲波傳感器檢測(cè)周邊環(huán)境數(shù)據(jù),經(jīng)模糊算法控制單元處理完成障礙物的辨識(shí),并控制智能車的舵機(jī)和驅(qū)動(dòng)電機(jī)實(shí)現(xiàn)智能車的避障。
關(guān)鍵詞:?jiǎn)纹瑱C(jī);智能車;避障;紅外傳感器;超聲波傳感器
中圖分類號(hào):TP273 文獻(xiàn)標(biāo)識(shí)碼:A
0 引言
無(wú)人駕駛作為汽車行業(yè)未來(lái)的發(fā)展方向,對(duì)現(xiàn)有汽車領(lǐng)域的智能化提出了更高的要求,其對(duì)交通運(yùn)輸業(yè)有著深遠(yuǎn)的影響。隨著先進(jìn)控制算法、傳感檢測(cè)技術(shù)等核心技術(shù)的突破和推進(jìn),擁有無(wú)人駕駛技術(shù)的智能車將能處理更復(fù)雜的路況及突發(fā)狀況,能更好地保障交通秩序以及行人、乘員的人身安全,同時(shí)也能極大地推進(jìn)無(wú)人駕駛汽車的產(chǎn)業(yè)化進(jìn)程。無(wú)人駕駛技術(shù)實(shí)現(xiàn)的一個(gè)重要基礎(chǔ)是智能車的避障技術(shù),這是保證車輛、行人安全的首要方式。本文設(shè)計(jì)制作的智能避障車的采集部分使用超聲波傳感器和紅外傳感器,處理和控制部分使用STM32單片機(jī),執(zhí)行部分使用電機(jī)和舵機(jī);為調(diào)試方便,增加了顯示部分,包括0.96寸OLED顯示屏以及與系統(tǒng)運(yùn)行狀態(tài)相對(duì)應(yīng)的多個(gè)指示燈。
1 智能車的避障原理
為了實(shí)現(xiàn)智能車的避障功能,常用的避障算法包括模糊邏輯算法、環(huán)境地圖法、神經(jīng)網(wǎng)絡(luò)法、機(jī)器學(xué)習(xí)法等[1]。其中,模糊邏輯算法將傳感器采集到的信息傳至控制器,經(jīng)過(guò)數(shù)據(jù)分析,輸入給模糊邏輯控制單元,依據(jù)當(dāng)前的運(yùn)行狀態(tài),輸出智能車電機(jī)、舵機(jī)的控制信號(hào);環(huán)境地圖法是將已知的地圖信息輸入到智能車的存儲(chǔ)系統(tǒng)中,這樣在智能車行駛的過(guò)程中,不斷將采集到的外界信息和已存儲(chǔ)的環(huán)境信息進(jìn)行比對(duì),原有環(huán)境信息中沒有存儲(chǔ)的信息將被排查出來(lái),比如出現(xiàn)新的障礙物,這時(shí)候就需要分析并控制智能車避障,這種方法的應(yīng)用受限嚴(yán)重,適應(yīng)性較差,更適用于一成不變的情況,例如公園或景區(qū)游覽車等;神經(jīng)網(wǎng)絡(luò)法采取神經(jīng)網(wǎng)絡(luò)的方式融合傳感器信息,綜合多個(gè)傳感器的信息得到合理的避障方式,但是該算法的穩(wěn)定性較差,難以確保智能車系統(tǒng)的安全性;機(jī)器學(xué)習(xí)法可以適應(yīng)復(fù)雜的環(huán)境,能夠通過(guò)不斷地學(xué)習(xí)外界環(huán)境條件來(lái)逐漸優(yōu)化控制算法,本質(zhì)上是通過(guò)不斷嘗試將錯(cuò)誤的方法篩除從而實(shí)現(xiàn)優(yōu)化控制,但是該算法結(jié)構(gòu)過(guò)于龐大,難以直接用于智能車系統(tǒng)的實(shí)時(shí)控制。綜合來(lái)看,當(dāng)前的避障算法各有特點(diǎn),仍有待完善。
對(duì)于智能車的避障功能來(lái)說(shuō),常用避障算法實(shí)現(xiàn)的基礎(chǔ)是傳感器信息的采集,從采用的傳感器角度,可以將避障方式分為激光測(cè)距避障、雷達(dá)測(cè)距避障、超聲波測(cè)距避障、紅外傳感器避障等。
激光測(cè)距基于光學(xué)三角原理:半導(dǎo)體激光器發(fā)射激光到達(dá)障礙物體,反射后被線性CCD陣列接收器接收,信號(hào)處理器通過(guò)三角函數(shù)計(jì)算CCD陣列上的光點(diǎn)位置得到障礙物的間隔[2]。
雷達(dá)測(cè)距的原理為:發(fā)射器將強(qiáng)電磁能量經(jīng)發(fā)射天線發(fā)送到空中,如果有物體進(jìn)入到探測(cè)地區(qū),該物體本身會(huì)散射一部分電磁波,這些電磁波中的一部分返回接收天線,此時(shí)接收器將接收的微弱信號(hào)放大后,再經(jīng)處理器計(jì)算,就能獲得物體的間隔、方向等信息。
超聲波測(cè)距是模仿蝙蝠的定位系統(tǒng):向某一標(biāo)定目的地發(fā)射超聲波,并由單片機(jī)計(jì)時(shí),超聲波遇到障礙物原路返回,當(dāng)超聲波返回到接收器時(shí)單片機(jī)停止計(jì)時(shí),單片機(jī)處理這一段時(shí)間對(duì)應(yīng)超聲波的傳輸距離就可以推算出距離,該測(cè)距方式的方向性、穿透力強(qiáng),精度高[3]。要完成超聲波測(cè)距,需要超聲波發(fā)射模塊、超聲波接收模塊。其中,超聲波發(fā)生器通常分為兩大類:一類是利用特定形式的電路或電子器件產(chǎn)生超聲波,另一類是通過(guò)機(jī)械方式產(chǎn)生超聲波;兩種超聲波發(fā)生器的用途有所差異。綜合來(lái)看,現(xiàn)在常用的是壓電式超聲波發(fā)生器,它是通過(guò)壓電晶體的諧振產(chǎn)生超聲波。
紅外傳感器利用物體的反射特性檢測(cè)障礙物:紅外線發(fā)射管發(fā)射紅外線,以直線向前傳播,如果沒有障礙物,信號(hào)將一直向前傳播最后越來(lái)越弱直至消失;如果前方有障礙物,物體將反射紅外線并被紅外線接收管接收,這樣就能檢測(cè)到前方有障礙物。但是,由于光線的傳播速度過(guò)快,紅外傳感器難以跟超聲波測(cè)距一樣利用返回信號(hào)的時(shí)間間隔計(jì)算障礙物距離;因此,紅外傳感器只能檢測(cè)到前方有無(wú)障礙物,并不能檢測(cè)障礙物的間隔,只能輔助避障。
上述不同的測(cè)距、避障方法,各有特點(diǎn)和適用場(chǎng)合。相比較而言,激光測(cè)距的精度很高,但是測(cè)量范圍較小,通常只針對(duì)某一特定點(diǎn)進(jìn)行測(cè)距,并且難以識(shí)別不在激光平面上的障礙物,因此不適用于智能車的避障處理;而雷達(dá)主要適用于軍事領(lǐng)域,并且實(shí)現(xiàn)比較復(fù)雜,難以滿足避障智能車對(duì)于器件經(jīng)濟(jì)性、簡(jiǎn)單化的要求。因此,本文選用超聲波測(cè)距方法完成智能車的避障功能,如圖1所示,并利用紅外傳感器輔助避障。
2 智能車的輔助功能
為了控制智能車的行駛方向,本文設(shè)計(jì)了智能車的循跡功能。循跡過(guò)程為:控制光電對(duì)管向路面發(fā)射紅外信號(hào),由于不同顏色的物體對(duì)光線的反射系數(shù)不同,智能車在接收到反射信號(hào)后,經(jīng)比較器處理,根據(jù)反射信號(hào)的強(qiáng)弱判斷智能車是否沿著既定的軌跡線行駛,并進(jìn)行相應(yīng)的控制。本文設(shè)計(jì)所采用的傳感器是反射型光電探測(cè)器RPR220,如圖2所示,其發(fā)射器是一個(gè)砷化鎵紅外發(fā)光二極管,接收器是一個(gè)高靈敏度硅平面光電三極管;該傳感器有以下特點(diǎn):采用塑料透鏡,可以提高傳感器的靈敏度;內(nèi)置可見光過(guò)濾器,可以減弱離散光的影響;該傳感器體積小、結(jié)構(gòu)緊湊。
除了循跡功能,為了確保超聲波傳感器、紅外傳感器故障的情況下,智能車仍可控,本文設(shè)計(jì)了智能車的遙控功能。遙控設(shè)備的連接方式有很多種,例如紅外、藍(lán)牙、WIFI等;其中紅外遙控方式使用普遍、成本較低。因此,本文設(shè)計(jì)所采用的是紅外遙控器HS-021,其接收管是HS0038B。
3 避障智能車的控制
本文設(shè)計(jì)的避障智能車的基本運(yùn)動(dòng)控制方式主要有兩個(gè)備選方案:方案一是一個(gè)舵機(jī)搭配一個(gè)電動(dòng)機(jī),舵機(jī)用來(lái)控制智能車轉(zhuǎn)向,電動(dòng)機(jī)提供前進(jìn)或后退的動(dòng)力;方案二是用兩個(gè)電動(dòng)機(jī)來(lái)完成行駛及轉(zhuǎn)向,前進(jìn)時(shí)兩個(gè)電動(dòng)機(jī)同時(shí)正轉(zhuǎn),后退時(shí)兩個(gè)電動(dòng)機(jī)同時(shí)反轉(zhuǎn),轉(zhuǎn)彎時(shí)操縱兩個(gè)電動(dòng)機(jī)差速轉(zhuǎn)動(dòng)。
方案一控制方式的優(yōu)點(diǎn)是指向精確、轉(zhuǎn)彎的角度確定;同時(shí),其缺點(diǎn)也在于轉(zhuǎn)彎需要一定的轉(zhuǎn)彎半徑,當(dāng)距離障礙物較近的時(shí)候轉(zhuǎn)向,由于轉(zhuǎn)彎半徑的存在,可能會(huì)撞擊到障礙物;因此這種情況下轉(zhuǎn)彎通常需要后退一定距離再轉(zhuǎn)彎。相比之下,采用方案二時(shí)智能車行駛更加靈活,可以在狹窄環(huán)境、遇到障礙物或與前車距離太近時(shí)原地轉(zhuǎn)向,因此本文選用該方案。本文在制作智能車時(shí)采用了四個(gè)電機(jī),每個(gè)車輪連接一個(gè)電機(jī),每一側(cè)的兩個(gè)車輪的電機(jī)由一個(gè)信號(hào)控制,在這種運(yùn)動(dòng)方式下設(shè)計(jì)了前進(jìn)、后退、向左轉(zhuǎn)、向右轉(zhuǎn)、停車、原地左轉(zhuǎn)圈和原地右轉(zhuǎn)圈七個(gè)運(yùn)動(dòng)狀態(tài)。
智能車的避障系統(tǒng)包含信息采集、信息處理和運(yùn)動(dòng)控制三部分。其中,信息采集負(fù)責(zé)為整個(gè)系統(tǒng)獲取有效信息;信息處理部分是避障系統(tǒng)的控制核心,這一部分完成對(duì)信息的處理和分析,如濾波、判斷等;運(yùn)動(dòng)控制部分是對(duì)控制系統(tǒng)的執(zhí)行機(jī)構(gòu)進(jìn)行控制。如果將避障系統(tǒng)看作一個(gè)人,信息采集部分是人的眼睛,信息處理部分是大腦,而運(yùn)動(dòng)控制部分則是四肢,三部分相輔相成,各有功能和分工。
信息采集部分的主要功能是獲取有效的信息,主要包括通訊、ADC采集、信號(hào)前端處理等功能。對(duì)于信息采集部分,本文設(shè)計(jì)的智能車?yán)枚〞r(shí)器中斷函數(shù)來(lái)讀取超聲波傳感器接收模塊的高電平的時(shí)間,通過(guò)計(jì)算得到障礙物的距離。另外,紅外傳感器作為輔助避障功能器件,沒有測(cè)距的功能,但是可以檢測(cè)到前方是否有障礙,檢測(cè)固定距離之內(nèi)的障礙,這個(gè)距離閾值可以通過(guò)電位器的調(diào)節(jié)來(lái)變化。
信息處理部分是在采集到傳感器數(shù)據(jù)之后,通過(guò)濾波等處理,判斷智能車的周圍環(huán)境,并對(duì)運(yùn)動(dòng)控制部分給出控制信號(hào),完成智能車的避障行駛控制。在智能車的行駛過(guò)程中,超聲波傳感器用于檢測(cè)前方的障礙物距離,當(dāng)障礙物的距離達(dá)到警戒值時(shí),智能車進(jìn)一步比較左前方和右前方的障礙物距離遠(yuǎn)近,向障礙較遠(yuǎn)的一邊運(yùn)動(dòng)。此外,對(duì)于超聲波傳感器的檢測(cè)盲區(qū),利用輔助避障的紅外傳感器進(jìn)行障礙物檢測(cè)、智能車轉(zhuǎn)向控制,輔助完成避障功能。
除此之外,為了便于進(jìn)行系統(tǒng)調(diào)試、觀測(cè)測(cè)試數(shù)據(jù)更直觀,增加了系統(tǒng)的顯示功能:利用一塊OLED顯示屏,用于實(shí)時(shí)顯示系統(tǒng)運(yùn)行過(guò)程中的數(shù)據(jù)、狀態(tài)等信息。
4 總結(jié)
本文基于STM32單片機(jī),設(shè)計(jì)了具有避障功能的智能車系統(tǒng),該系統(tǒng)包含循跡行駛、智能避障、遙控控制等功能和特色,本文的研究有助于具有自動(dòng)行駛功能的智能車產(chǎn)業(yè)的發(fā)展。
參考文獻(xiàn):
[1]王崇.汽車智能避障方法仿真研究[J].計(jì)算機(jī)仿真,2014,31(06):183-186+413.
[2]胡揚(yáng)坡.輕武器動(dòng)態(tài)參量測(cè)試系統(tǒng)設(shè)計(jì)及試驗(yàn)研究[D].南京理工大學(xué),2014.
[3]孫艷玲.簡(jiǎn)易高精度超聲波測(cè)距儀的設(shè)計(jì)[J].機(jī)械管理開發(fā),2008,23(06):102-103.