張安莉,王 娟,袁安中,陳奎鋒,張秦陽(yáng)
(1.西安交通大學(xué) 城市學(xué)院,西安 710018;2.機(jī)器人與智能制造陜西省高校工程研究中心,西安 710018)
汽車智能化技術(shù)的飛速發(fā)展,使得智能泊車系統(tǒng)成為一項(xiàng)炙手可熱的研究熱點(diǎn),受到國(guó)內(nèi)外高科技企業(yè)、科研機(jī)構(gòu)以及相關(guān)工作人員的廣泛關(guān)注。自動(dòng)泊車系統(tǒng)屬于智能駕駛技術(shù)的重要領(lǐng)域,在智能駕駛的最后一公里中承擔(dān)著重要作用[1]。智能泊車路徑規(guī)劃是實(shí)現(xiàn)智能車輛自動(dòng)泊車的一項(xiàng)關(guān)鍵技術(shù)[2-4]。隨著泊車系統(tǒng)自動(dòng)化程度不斷提高,對(duì)實(shí)現(xiàn)狹小空間和復(fù)雜環(huán)境中平行智能泊車要求也越來(lái)越高[5-7]。如何在狹窄道路中快速準(zhǔn)確地進(jìn)行平行車位泊車,解決平行泊車?yán)щy、后車等待時(shí)間過(guò)長(zhǎng)等問(wèn)題,成為人們生活出行中所要面臨的一個(gè)實(shí)際問(wèn)題。
本文針對(duì)以上問(wèn)題,建立車輛運(yùn)動(dòng)學(xué)模型和轉(zhuǎn)向軌跡模型,對(duì)平行泊車路徑進(jìn)行,設(shè)計(jì)基于平行泊車路徑規(guī)劃的智能泊車系統(tǒng)。系統(tǒng)先進(jìn)行自動(dòng)泊車,泊車到位后,開(kāi)始計(jì)費(fèi)直至離開(kāi)車位。
系統(tǒng)由平行泊車子系統(tǒng)和計(jì)費(fèi)子系統(tǒng)組成。平行泊車子系統(tǒng)采用STM32F103RCT6單片機(jī)作為主控系統(tǒng),電機(jī)驅(qū)動(dòng)模塊RZ7889D 驅(qū)動(dòng)直流電機(jī),轉(zhuǎn)向舵機(jī)采用MG996,超聲波測(cè)距傳感器HC-SR04用于測(cè)量車身與障礙物物理距離并結(jié)合LM393實(shí)現(xiàn)紅外避障[8-9],基于模糊控制算法實(shí)現(xiàn)快速精準(zhǔn)泊車。泊車到位后,計(jì)費(fèi)子系統(tǒng)開(kāi)始計(jì)時(shí),進(jìn)行停車場(chǎng)泊車計(jì)費(fèi),基于LabVIEW 搭建智能泊車系統(tǒng),實(shí)時(shí)顯示泊車車位、數(shù)量、時(shí)長(zhǎng)和費(fèi)用,并具有歷史數(shù)據(jù)查詢和車輛數(shù)據(jù)波形顯示功能。
本文首先根據(jù)平行泊車路徑分析,利用Matlab搭建平行泊車路徑仿真模型;其次,基于模糊控制器搭建智能小車實(shí)體進(jìn)行算法物理仿真測(cè)試。系統(tǒng)設(shè)計(jì)方法實(shí)現(xiàn)起來(lái)簡(jiǎn)單、方便,有利于智能汽車的優(yōu)化設(shè)計(jì),更容易滿足人們對(duì)智能泊車系統(tǒng)質(zhì)量、安全和性能的要求。
自動(dòng)泊車系統(tǒng)基于多傳感器感知及信息融合技術(shù)[10-13],其工作原理如圖1所示。車輛的外側(cè)周圍均安裝超聲波和紅外傳感器。超聲波傳感器用于探測(cè)車位的縱橫向距離,紅外傳感器用于避開(kāi)車身周圍的障礙物。在泊車路徑尋找過(guò)程中,首先,車位感知系統(tǒng)將超聲波傳感器和紅外傳感器的數(shù)據(jù)進(jìn)行實(shí)時(shí)融合,獲取車位周圍的空間幾何參數(shù),并將其導(dǎo)入路徑規(guī)劃模型中。然后,在車位空間幾何參數(shù)與車輛參數(shù)匹配的情況下,根據(jù)模糊控制算法將泊車路徑規(guī)劃模型的幾何參數(shù)進(jìn)行計(jì)算匹配,進(jìn)而給出最優(yōu)路徑規(guī)劃方案。最后,車輛根據(jù)路徑規(guī)劃方案,進(jìn)行自動(dòng)泊車和計(jì)費(fèi)。
圖1 系統(tǒng)工作原理圖
系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)下位機(jī)以STM32 系列的單片機(jī)STM32F103RCT6作為主控MCU,通過(guò)一塊2200mAH 的電池來(lái)供電。超聲波測(cè)距模塊和紅外避障模塊采集車輛空間信息。藍(lán)牙模塊進(jìn)行無(wú)線通訊,使用特殊IO 口接收超聲波模塊和紅外模塊輸出的信號(hào),單片機(jī)接收由超聲波模塊和紅外模塊發(fā)送回來(lái)的信息,對(duì)外界情形進(jìn)行分析,對(duì)泊車路徑進(jìn)行自動(dòng)規(guī)劃,通過(guò)對(duì)電機(jī)驅(qū)動(dòng)模塊發(fā)送控制指令,控制電機(jī)和舵機(jī)的實(shí)時(shí)運(yùn)動(dòng),保證小車的正常工作[14]。整個(gè)泊車過(guò)程中,LCD 實(shí)時(shí)顯示小車工作模式和泊車時(shí)長(zhǎng)。系統(tǒng)上位機(jī)采用LabVIEW 設(shè)計(jì)前面板,對(duì)泊車對(duì)位的車輛進(jìn)行計(jì)時(shí)和停車計(jì)費(fèi)。具有歷史數(shù)據(jù)查詢、波形顯示、泊車數(shù)量和計(jì)費(fèi)功能。
系統(tǒng)采用STM32F103RCT6單片機(jī)作為主控芯片。該芯片是一款基于Cortex-M3內(nèi)核的低功耗32位ARM 處理器,主頻最高達(dá)到72MHz,程序存儲(chǔ)器容量是256kB,內(nèi)含大量定時(shí)器、ADC、SPI、IIC 等多種外設(shè)功能,方便增添外部模塊。單片機(jī)最小系統(tǒng)采用2 200mAH 電池供電,同時(shí)選擇SPX5205M5芯片作為穩(wěn)壓芯片。
電源電路設(shè)計(jì)的好壞直接影響到最小系統(tǒng)板是否可以正常工作。由于STM32F103RCT 的正常工作電壓范圍在3.3~5V 之間,因此選擇SPX5205M5 芯片作為穩(wěn)壓芯片。電源電路如圖3所示。
圖3 電源電路
選擇RZ7889D驅(qū)動(dòng)功率為7 W、額定電壓為12V、額定電流為540mA 的直流電機(jī)。RZ7889D是一款DC雙向的電機(jī)驅(qū)動(dòng)芯片,適用于自動(dòng)閥門電機(jī)驅(qū)動(dòng)、電磁門鎖的驅(qū)動(dòng)等,可以通過(guò)兩個(gè)邏輯輸入端來(lái)控制電機(jī)的前進(jìn)、后退以及制動(dòng)。該芯片具有極微小的待機(jī)電流,抗干擾能力良好,輸出內(nèi)阻低的特性,同時(shí),它還具有內(nèi)置二極管,能釋放感性負(fù)載的反向沖擊電流。
RZ7889D電機(jī)完成正轉(zhuǎn)、反轉(zhuǎn)和變速的功能,需要電機(jī)驅(qū)動(dòng)電路來(lái)進(jìn)行控制。電機(jī)驅(qū)動(dòng)電路如圖4所示。
圖4 電機(jī)驅(qū)動(dòng)電路
采用MG996作為系統(tǒng)轉(zhuǎn)向舵機(jī),該舵機(jī)工作電流為0.1A、精度為0.24°、轉(zhuǎn)動(dòng)角度為180°可調(diào)。為了實(shí)現(xiàn)舵機(jī)的正轉(zhuǎn)和反轉(zhuǎn),把信號(hào)線與單片機(jī)直連。舵機(jī)的控制需要一個(gè)周期為20ms的PWM 波,舵機(jī)旋轉(zhuǎn)的角度和高電平部分的持續(xù)時(shí)間相關(guān)。
2.5.1 超聲波測(cè)距模塊
超聲波測(cè)距的原理就是在超聲波發(fā)射裝置發(fā)射超聲波,然后超聲波在空氣中傳播,超聲波碰到障礙物后會(huì)立即返回,最后再用接收裝置接收超聲波,根據(jù)接收器接收到的超聲波時(shí)的時(shí)間差T以及超聲波再介質(zhì)中傳播的速度S,可得計(jì)算出模塊距離物體的距離D,即:
選擇HC-SR04超聲波控制模塊,控制模塊可產(chǎn)生2~400cm 的非接觸式陌生感應(yīng),精度可達(dá)2mm。本設(shè)計(jì)將觸發(fā)和回波端口信號(hào)都設(shè)置為高電平,將至少10μs的上拉電阻單脈沖推入觸發(fā)后,控制模塊將推送8個(gè)40Hz的差分信號(hào),根據(jù)回波信號(hào)上下沿讀取計(jì)時(shí)器的時(shí)間并計(jì)算距離。
在應(yīng)用中,將觸發(fā)和回波端口號(hào)都設(shè)置為高電平,首先將至少10μs的上拉電阻單脈沖推入觸發(fā),再控制模塊將8個(gè)40Hz差分信號(hào)向外推,然后回波等待抓住上升的邊緣。除了捕獲上升沿外,還應(yīng)在MCU 設(shè)計(jì)內(nèi)部啟動(dòng)定時(shí)器,開(kāi)始計(jì)算時(shí)間。當(dāng)再次捕獲到回波的下降沿時(shí),就是讀取計(jì)時(shí)器的時(shí)間。這是空氣中超聲波的操作時(shí)間T,然后根據(jù)式(1)計(jì)算距離,即可得出模塊與障礙物之間的距離。
2.5.2 紅外避障模塊
選擇LM393紅外避障模塊實(shí)現(xiàn)車輛紅外避障。LM393紅外避障模塊由一對(duì)紅外傳感器組成,分別為發(fā)送管和接收管。發(fā)送管即發(fā)送紅外傳感器,遇到前方障礙物時(shí),紅外傳感器的反射面回到原位并被接收管接受,顯示屏指示燈將閃爍,數(shù)據(jù)信號(hào)輸出噴嘴將輸出高電平數(shù)據(jù)信號(hào),可根據(jù)電位計(jì)旋鈕調(diào)整檢查間隔。一般合理間隔為2~30cm。本系統(tǒng)的間隔為25cm。
系統(tǒng)基于車輛運(yùn)動(dòng)學(xué)模型和轉(zhuǎn)向軌跡模型的建立[15-16],并采用模糊控制器進(jìn)行路徑規(guī)劃[17-19]。
自動(dòng)泊車的車輛在正常情況下,車速較低,約5km/h,為低速運(yùn)動(dòng)狀態(tài)。低速運(yùn)動(dòng)狀態(tài)下轉(zhuǎn)動(dòng)車輪時(shí)車輪不會(huì)側(cè)向拖動(dòng),因此不產(chǎn)生側(cè)向力作用,此時(shí),假定系統(tǒng)軟件允許車輪轉(zhuǎn)動(dòng),且不容易產(chǎn)生阻力。
車輛平行泊車建立其運(yùn)動(dòng)學(xué)模型如圖5所示。設(shè)(xf,yf)為前輪軸中心點(diǎn)坐標(biāo),(xr,yr)為后輪軸中心點(diǎn)坐標(biāo),(xrL,yrL)為左后輪坐標(biāo),(xrR,yrR)為右后輪的二維坐標(biāo),v為前輪胎車輪之間中心點(diǎn)速度,l為車輛軸間距,ω為后車輪的軸距,φ為前輪車軸中心點(diǎn)的轉(zhuǎn)向角,即前車車輪和車身的夾角,θ為車輛中心軸的夾角,即車身與x軸的夾角。
圖5 車輛運(yùn)動(dòng)學(xué)模型示意圖
如圖1所示,可假定為移動(dòng)皮帶輪的狀態(tài),因此后輪在垂直方位角的運(yùn)動(dòng)軌跡為0,其方程式表示為:
前后軸的中心位置坐標(biāo)關(guān)系為:
左后輪和右后輪的運(yùn)動(dòng)軌道方程如式(3)、式(4)所示:
當(dāng)車輛在低速檔運(yùn)行時(shí),車輛的軌跡可以視為標(biāo)準(zhǔn)圓。即,車輛運(yùn)動(dòng)軌跡可以看作是勻速運(yùn)行的圓弧。
車輛的運(yùn)動(dòng)軌跡可看作為由幾段圓弧疊加而成的路徑。車輪之間滿足阿克曼關(guān)系,在轉(zhuǎn)向過(guò)程中,所有車輪均圍繞著同一瞬時(shí)中心作圓周運(yùn)動(dòng)。假設(shè)前輪胎的精確定位角度為零,汽車駕駛過(guò)程中沒(méi)有側(cè)向力,所有輪子都轉(zhuǎn)向中心線并越過(guò)中心點(diǎn)O。令汽車兩側(cè)主銷的中心線與路面交點(diǎn)之間的距離為B,汽車的軸距為L(zhǎng),則,前內(nèi)輪轉(zhuǎn)向角β與前外輪轉(zhuǎn)角α之間應(yīng)滿足阿克曼轉(zhuǎn)向特性公式:
轉(zhuǎn)向角和轉(zhuǎn)向半徑如圖6所示。
圖6 轉(zhuǎn)向角和轉(zhuǎn)向半徑示意圖
如圖6所示,汽車后輪胎的路徑通過(guò)旋轉(zhuǎn)中心O到后輪距離M、后輪胎內(nèi)側(cè)半徑Rr1和后輪胎外側(cè)半徑Rr2確定。可得關(guān)系式:
根據(jù)上式,可計(jì)算泊車時(shí)后車輪的軌跡線,但前輪外側(cè)轉(zhuǎn)角α無(wú)法直接測(cè)得。
汽車的方向盤轉(zhuǎn)角θ可通過(guò)傳感器直接測(cè)得,而方向盤轉(zhuǎn)角θ與前輪外側(cè)轉(zhuǎn)角α的對(duì)應(yīng)關(guān)系為:
通過(guò)實(shí)驗(yàn),在一定的方向盤轉(zhuǎn)角θ下測(cè)得前輪外側(cè)轉(zhuǎn)向角α,從而獲得它們之間的傳動(dòng)比K。這樣就可以在任意的方向盤轉(zhuǎn)角θ下計(jì)算出外側(cè)車輪的轉(zhuǎn)向角度,從而確定轉(zhuǎn)彎半徑。
車輛側(cè)方平行停車包括3個(gè)步驟。第一步,車輛沿著停車位平行行駛,到達(dá)轉(zhuǎn)角運(yùn)行初始點(diǎn);第二步,控制車輛轉(zhuǎn)角并開(kāi)始負(fù)轉(zhuǎn)角行進(jìn),到達(dá)轉(zhuǎn)角轉(zhuǎn)換點(diǎn);第三步,控制車輛轉(zhuǎn)角,進(jìn)行正轉(zhuǎn)角行進(jìn),到達(dá)泊車點(diǎn),結(jié)束泊車。
假設(shè)平行泊車空間已知,小車上某一點(diǎn)的狀態(tài)變量為(x,y,γ)。平行泊車過(guò)程即車輛的初始狀態(tài)(x0,y0,γ0)運(yùn)動(dòng)到目的狀態(tài)(xd,yd,γd)的路徑規(guī)劃。假設(shè)車身位置為(xd,yd),小車最終的偏向角為γd,如何確定初始狀態(tài)(x0,y0,γ0)成為平行泊車之關(guān)鍵問(wèn)題,也是本文重點(diǎn)研究的內(nèi)容。
由上可知,平行泊車路徑由兩個(gè)半徑相等的相切圓形成“S”形彎道行進(jìn)路徑,以車輛后軸中心位置點(diǎn)代表整個(gè)車輛的運(yùn)動(dòng)軌跡點(diǎn),獲取該點(diǎn)坐標(biāo)位置,根據(jù)小車幾何尺寸和當(dāng)前的轉(zhuǎn)向角γ即可計(jì)算出小車每個(gè)軌跡點(diǎn)的坐標(biāo),為泊車過(guò)程的車體提供實(shí)時(shí)位置信息,保證泊車系統(tǒng)運(yùn)行安全可靠性。
平行泊車路徑如圖7所示。假設(shè)車輛的初始位置在S0(x0,y0,γ0)處,目標(biāo)位置在Sd(xd,yd,γd)處,根據(jù)實(shí)際泊車過(guò)程,車輛首先以點(diǎn)O1為圓心,以小車的最小轉(zhuǎn)彎半徑Rmin為半徑做轉(zhuǎn)向運(yùn)動(dòng)。到達(dá)點(diǎn)C處后,此時(shí)車身的偏向角為α。然后車輛向反方向轉(zhuǎn)角,以點(diǎn)O2為圓心,同樣以車輛的最小轉(zhuǎn)向半徑Rmin為半徑做轉(zhuǎn)向運(yùn)動(dòng),直至泊入車位內(nèi)。車輛從起始點(diǎn)S0到目標(biāo)點(diǎn)Sd的運(yùn)動(dòng)過(guò)程中,延x、y軸上的位移dx、dy可表示為:
圖7 平行泊車路徑示意圖
將車輛最小轉(zhuǎn)向半徑Rmin、傳感器測(cè)得車輛與泊車位的距離dx代入到式9中,即可得到汽車的起點(diǎn)和終點(diǎn)距離dy,進(jìn)而求得平行自動(dòng)泊車系統(tǒng)的車輛初始位置(x0,y0,γ0)。
泊車系統(tǒng)軟件的總體目標(biāo)是找到最優(yōu)控制的相對(duì)路徑,以便可以將車輛令人滿意地停放在停車位中。系統(tǒng)測(cè)量和控制誤差的不可避免性會(huì)導(dǎo)致不可避免的控制錯(cuò)誤,因此選擇模糊控制來(lái)幫助完成車輛的自動(dòng)平行泊車。
依據(jù)圖5所示的平行泊車路徑示意圖,將整個(gè)平行泊車的路徑分為兩條曲線來(lái)進(jìn)行分階段分析,即,將泊車過(guò)程分程兩個(gè)階段來(lái)實(shí)現(xiàn)自動(dòng)泊車的功能:第一階段由S0位置到點(diǎn)C位置的過(guò)程;第二個(gè)階段由點(diǎn)C位置到目標(biāo)位置D點(diǎn)位置的過(guò)程。
第一階段:首先要對(duì)輸入變量進(jìn)行預(yù)處理,車輛從起始位置S0行駛到切點(diǎn)位置C點(diǎn)。根據(jù)傳感器測(cè)量得到的數(shù)據(jù)計(jì)算出車輛在當(dāng)前位置的行駛距離為L(zhǎng)i,當(dāng)前偏向角為α,實(shí)時(shí)行駛距離為Si。對(duì)傳感器測(cè)量得到的輸入變量Li進(jìn)行預(yù)處理,處理結(jié)果映射到有限的區(qū)域。設(shè)處理結(jié)果為Di,目標(biāo)位置C的行駛距離為L(zhǎng)c,則預(yù)處理函數(shù)為:
可得,此階段Di取值范圍為[0,1],α的取值范圍為[45,90]。
經(jīng)過(guò)預(yù)處理后,第一階段模糊控制器的輸入變量為傳感器測(cè)量結(jié)果經(jīng)過(guò)與處理過(guò)后的Di,其論域?yàn)椋?,1],車身偏向角α的論域?yàn)椋?5,90],輸出變量為方向的轉(zhuǎn)角θ的論域?yàn)椋?540,0]。
第二階段:同樣,首先進(jìn)行預(yù)處理,得到此階段Di的取值范圍為[0,1],α的取值范圍為[45,90]。經(jīng)過(guò)預(yù)處理后,第二階段模糊控制器的輸入變量為傳感器測(cè)量結(jié)果,經(jīng)過(guò)預(yù)處理過(guò)后的Di,其論域?yàn)椋?,1],車身偏向角α的論域?yàn)椋?5,90],輸出變量為方向的轉(zhuǎn)角θ,其論域?yàn)椋?,540]。
模糊控制規(guī)則如表1所示。
表1 模糊控制規(guī)則
其中:B為大,S為小,斜線表示不存在。α的B表示車輛已經(jīng)行駛了一定距離,而S表示車輛啟動(dòng)時(shí)轉(zhuǎn)彎角度相對(duì)較大;Di的B表示車輛已經(jīng)走了一段較長(zhǎng)的距離,S表示剛開(kāi)始啟動(dòng)行駛不久的時(shí)候;θ的B表示車輛在啟動(dòng)時(shí)正在從大角度轉(zhuǎn)彎,S表示車輛即將完成時(shí)正開(kāi)始減小彎道的傾斜度,并且提前準(zhǔn)備停車。
當(dāng)α和Di都是大時(shí),這種情況表明車輛已經(jīng)快完成自動(dòng)泊車動(dòng)作到達(dá)目的地;當(dāng)α大和Di小時(shí),此時(shí)車輛開(kāi)始運(yùn)動(dòng)沒(méi)多久,因此要繼續(xù)進(jìn)行大角度轉(zhuǎn)彎行駛;當(dāng)α小和Di大時(shí),這種情況是不存在的;當(dāng)α和Di都是小時(shí),屬于剛開(kāi)始運(yùn)動(dòng)不久的情況,所以還要繼續(xù)加大轉(zhuǎn)向角。
系統(tǒng)主程序流程如圖8所示。小車通過(guò)藍(lán)牙模塊接收停車場(chǎng)發(fā)來(lái)的指令,判斷是否執(zhí)行自動(dòng)泊車。當(dāng)接收到允許停車的指令后,小車開(kāi)始進(jìn)行自動(dòng)泊車,通過(guò)IO 口來(lái)收集超聲波測(cè)距模塊、紅外避障模塊的數(shù)據(jù),實(shí)時(shí)判斷小車的運(yùn)動(dòng)狀態(tài)和行動(dòng)軌跡,直至到達(dá)停車位,完成泊車。
圖8 系統(tǒng)主程序流程圖
LabVIEW 子程序流程如圖9所示。Labview 先進(jìn)行初始化,然后等待小車靠近的信號(hào)。當(dāng)小車到達(dá)停車場(chǎng)入口的時(shí)候,停車場(chǎng)發(fā)送許可指令,小車上的單片機(jī)接收到停車場(chǎng)發(fā)送的指令后進(jìn)入自動(dòng)泊車狀態(tài),此時(shí)停車場(chǎng)的提示燈亮起,LabVIEW 然后開(kāi)始進(jìn)行計(jì)時(shí)并顯示在屏幕上。之后當(dāng)小車停車結(jié)束行駛出庫(kù)時(shí),停車場(chǎng)的提示燈關(guān)閉,然后停止計(jì)時(shí)并顯示停車費(fèi)用。
圖9 LabVIEW 子程序流程圖
4.3.1 超聲波測(cè)距模塊子程序流程
超聲波測(cè)距模塊子程序流程如圖10所示。
圖10 超聲波測(cè)距子程序流程圖
當(dāng)超聲控制模塊啟用時(shí),首先將單片機(jī)的定時(shí)器1復(fù)位,并根據(jù)所選的IO 端口將10μs上拉電阻的差分信號(hào)推入超聲控制模塊。同時(shí)單片機(jī)檢查超聲波傳感器的應(yīng)答針,當(dāng)檢測(cè)到該引腳的上拉電阻,定時(shí)器1工作。進(jìn)而計(jì)算與障礙物之間的距離,并向主函數(shù)發(fā)送距離數(shù)值。
4.3.2 紅外避障子程序流程
紅外避障模塊子程序流程如圖11所示。紅外線避障模塊啟用時(shí),先初始化系統(tǒng),然后收集紅外避障模塊發(fā)射端口電平信息,把返回的信息反饋給單片機(jī),單片機(jī)根據(jù)返回信息判斷小車位置狀態(tài)。
圖11 紅外避障模塊子程序流程圖
舵機(jī)模塊子程序流程如圖12所示。
圖12 舵機(jī)模塊子程序流程圖
舵機(jī)模塊子程序分前輪轉(zhuǎn)向控制子程序和后輪轉(zhuǎn)向控制子程序。前輪控制指令即控制舵機(jī)的指令,先單片機(jī)定時(shí)器初始化,然后設(shè)置連接舵機(jī)信號(hào)線的IO 引腳,之后根據(jù)算法要求提供所需要的高電平脈沖信號(hào),通過(guò)循環(huán)送出的脈沖信號(hào)完成舵機(jī)的控制。后輪控制指令,是當(dāng)小車接收到停車場(chǎng)發(fā)出的指令后,開(kāi)始準(zhǔn)備自動(dòng)泊車動(dòng)作,先初始化定時(shí)器,然后定時(shí)器的輸出引腳和電機(jī)驅(qū)動(dòng)信號(hào)口相連,向電機(jī)驅(qū)動(dòng)電路輸出PWM 波,通過(guò)不斷循環(huán)向電機(jī)驅(qū)動(dòng)輸出PWM 波,為小車提供持續(xù)的動(dòng)力。
基于LabVIEW 設(shè)計(jì)智能泊車系統(tǒng)面板,分為操作人員面板和泊車計(jì)費(fèi)面板,如圖13所示。
圖13 智能泊車系統(tǒng)面板
操作人員面板如圖13(a)所示。根據(jù)功能劃分為6個(gè)模塊:串口設(shè)置及操作按鍵模塊、指示燈模塊、費(fèi)率設(shè)置模塊、車位數(shù)據(jù)顯示模塊、歷史數(shù)據(jù)記錄模塊和波形顯示模塊。泊車計(jì)費(fèi)面板如圖13(b)所示。根據(jù)功能劃分為3個(gè)模塊:費(fèi)率顯示模塊、泊車計(jì)費(fèi)模塊和車位數(shù)據(jù)顯示模塊。
4.5.1 操作人員面板
1)串口設(shè)置及操作按鍵模塊:串口設(shè)置對(duì)串口名稱和波特率進(jìn)行設(shè)置,用于系統(tǒng)通訊模式和采樣頻率的選擇,串口設(shè)置為COM1,波特率設(shè)置為0~115 200可調(diào)。操作按鍵包括“打開(kāi)串口”“存儲(chǔ)數(shù)據(jù)” “開(kāi)始采集”和 “停止采集”共4個(gè)操作按鍵。
2)指示燈模塊:指示燈模塊包括工作指示燈、停車信號(hào)接收燈以及停車入庫(kù)燈,分別用于顯示系統(tǒng)的正常運(yùn)行、有進(jìn)入停車區(qū)的車輛以及車輛順利進(jìn)入泊車場(chǎng)。
3)費(fèi)率設(shè)置模塊:費(fèi)率設(shè)置模塊對(duì)泊車區(qū)日間夜間費(fèi)率進(jìn)行設(shè)置,用于展示給司機(jī)不同時(shí)段泊車的費(fèi)率,按下“手動(dòng)設(shè)置按鍵”時(shí),操作人員可根據(jù)自身需要對(duì)泊車費(fèi)率進(jìn)行更改。
4)車位數(shù)據(jù)顯示模塊:本文所檢測(cè)車位數(shù)量為16個(gè),車位數(shù)據(jù)顯示模塊對(duì)現(xiàn)有的16個(gè)車位進(jìn)行實(shí)時(shí)監(jiān)測(cè),通過(guò)上位機(jī)實(shí)時(shí)顯示其車位的相關(guān)數(shù)據(jù),可以反應(yīng)16個(gè)車位的具體泊車數(shù)據(jù)以及泊車區(qū)中已被占用的車位數(shù)量。
5)歷史數(shù)據(jù)記錄模塊:歷史數(shù)據(jù)記錄模塊以實(shí)時(shí)數(shù)據(jù)記錄的方式實(shí)現(xiàn)所檢測(cè)參數(shù)的記錄與儲(chǔ)存,數(shù)據(jù)以表格形式記錄包括時(shí)間、泊車時(shí)長(zhǎng)、車位、泊車計(jì)費(fèi)共四項(xiàng)內(nèi)容,通過(guò)滑動(dòng)條控件來(lái)查看所選日期的歷史監(jiān)控?cái)?shù)據(jù),實(shí)現(xiàn)歷史數(shù)據(jù)查詢功能。
6)波形顯示模塊:波形顯示模塊用來(lái)提供完整的數(shù)據(jù)變化曲線,可以直觀地觀察數(shù)據(jù)的變化情況。波形顯示模塊顯示當(dāng)天不同時(shí)段泊車區(qū)中泊車的車輛數(shù),其中,橫軸為一天中24個(gè)小時(shí),縱軸為泊車的車輛數(shù)。
4.5.2 泊車計(jì)費(fèi)面板
1)費(fèi)率顯示模塊:費(fèi)率顯示模塊顯示操作人員面板中所設(shè)置的費(fèi)率,分別將日間費(fèi)率和夜間費(fèi)率展現(xiàn)給泊車司機(jī)。
2)泊車計(jì)費(fèi)模塊:泊車計(jì)費(fèi)模塊波闊泊車時(shí)長(zhǎng)和泊車計(jì)費(fèi),當(dāng)泊車司機(jī)離開(kāi)泊車區(qū)后,利用此模塊將泊車時(shí)長(zhǎng)和泊車計(jì)費(fèi)展現(xiàn)給出泊車司機(jī)。
3)車位數(shù)據(jù)顯示模塊:與操作人員面板中的此模塊功能相同,用于將泊車區(qū)的泊車信息展現(xiàn)給泊車司機(jī),以供泊車司機(jī)選擇。
5.1.1 自動(dòng)泊車仿真測(cè)試
基于模糊控制器的路徑規(guī)劃算法對(duì)小車自動(dòng)泊車進(jìn)行仿真測(cè)試,測(cè)試結(jié)果如圖14所示。首先,車輛沿著停車位平行行駛,到達(dá)轉(zhuǎn)角運(yùn)行初始位置S0,如圖14(a)所示;第二步,控制車輛轉(zhuǎn)角并開(kāi)始負(fù)轉(zhuǎn)角行進(jìn),到達(dá)轉(zhuǎn)角轉(zhuǎn)換點(diǎn)C,如圖14(b)和(c)所示;第三步,控制車輛轉(zhuǎn)角,進(jìn)行正轉(zhuǎn)角行進(jìn),到達(dá)泊車點(diǎn)D;最后,調(diào)整泊車位置,結(jié)束泊車,如圖14(f)所示。測(cè)試結(jié)果表明,該算法能夠?qū)崿F(xiàn)小車的自動(dòng)泊車功能。
圖14 小車自動(dòng)泊車仿真測(cè)試圖
完成硬件電路搭建、各模塊程序調(diào)試后,打開(kāi)上位機(jī)軟件界面,將上位機(jī)與下位機(jī)進(jìn)行藍(lán)牙無(wú)線連接。選擇創(chuàng)建的COM1端口,將相對(duì)應(yīng)的端口接入上位機(jī)面板,串口顯示所連接端口,完成無(wú)線連接。設(shè)置波特率為1 152 00,按下“開(kāi)始采集”按鍵即可進(jìn)行系統(tǒng)測(cè)試。
1)車位檢測(cè)顯示:運(yùn)行系統(tǒng),工作指示燈亮起,系統(tǒng)正常運(yùn)作,此時(shí)泊車系統(tǒng)中有六個(gè)車位被占,在操作人員面板中,分別設(shè)置日間和夜間費(fèi)率為4元/小時(shí)和3元每小時(shí),由于此時(shí)沒(méi)有結(jié)算停車信息,因此歷史測(cè)量記錄無(wú)相關(guān)信息;在泊車計(jì)費(fèi)面板中顯示當(dāng)前所設(shè)置的費(fèi)率并展示泊車區(qū)的相關(guān)信息。車位檢測(cè)顯示結(jié)果如圖15所示。
圖15 車位檢測(cè)顯示
2)泊車計(jì)費(fèi)顯示:運(yùn)行系統(tǒng),工作指示燈亮起,系統(tǒng)正常運(yùn)作,此時(shí)泊車系統(tǒng)中有10個(gè)車位被占,在操作人員面板中,分別設(shè)置日間和夜間費(fèi)率為4元/小時(shí)和3元每小時(shí),13:53 時(shí)3 號(hào)車位的車離開(kāi),其泊車時(shí)長(zhǎng)為2 h 40min,泊車計(jì)費(fèi)為12 元。泊車計(jì)費(fèi)顯示結(jié)果如圖16所示。
圖16 泊車計(jì)費(fèi)顯示
為了驗(yàn)證系統(tǒng)平行泊車的可靠性和時(shí)效性,在西安交通大學(xué)城市學(xué)院的一間實(shí)驗(yàn)室采用紙箱搭建微縮物理模型模擬停車位,測(cè)試小車車身長(zhǎng)31cm,停車位長(zhǎng)度為62cm。針對(duì)平行泊車場(chǎng)景,通過(guò)對(duì)裝有超聲波模塊和紅外避障模塊的自動(dòng)泊車系統(tǒng)的小車進(jìn)行試驗(yàn)測(cè)試,并且根據(jù)小車運(yùn)行自動(dòng)泊車的過(guò)程進(jìn)行計(jì)時(shí)。小車自動(dòng)泊車運(yùn)行狀態(tài)如圖17所示。
圖17 小車自動(dòng)泊車實(shí)驗(yàn)測(cè)試圖
首先,小車開(kāi)啟自動(dòng)泊車功能,在路徑上尋找到合適的起始泊車位置,并在此準(zhǔn)備進(jìn)行泊車,如圖17(a)所示。
接下來(lái)在小車自動(dòng)泊車的過(guò)程中,先往停車位方向轉(zhuǎn)動(dòng)斜向進(jìn)入停車位,此過(guò)程相當(dāng)于從S0位置移動(dòng)到C位置,結(jié)果如圖17(b)所示。
之后,當(dāng)小車到達(dá)C位置之后,小車方向往停車場(chǎng)反方向轉(zhuǎn)動(dòng),繼續(xù)進(jìn)行倒車,當(dāng)?shù)竭_(dá)D位置后,自動(dòng)泊車部分完成并在小車顯示屏上顯示停車時(shí)間。結(jié)果如圖17(c)所示。
對(duì)小車隨機(jī)進(jìn)行多次泊車測(cè)試,觀測(cè)泊車成功后小車的停車位置,并讀取小車顯示屏所記錄的泊車時(shí)長(zhǎng)。共進(jìn)行10次測(cè)試,記錄小車自動(dòng)泊車的泊車時(shí)長(zhǎng)和泊車成功后的停車位置。測(cè)試數(shù)據(jù)如表2所示。由表2統(tǒng)計(jì)結(jié)果可得,泊車位置大概率停在車位居中位置,泊車時(shí)間為34~46s,平均停車時(shí)長(zhǎng)為41s。
表2 測(cè)試數(shù)據(jù)
通過(guò)Matlab進(jìn)行停車時(shí)間插值擬合,采用線性擬合,其擬合函數(shù)如式(12)所示:
擬合曲線如圖18所示??梢?jiàn),自動(dòng)泊車停車時(shí)長(zhǎng)在擬合曲線附近隨機(jī)分布。
圖18 泊車時(shí)間擬合曲線
通過(guò)基于模糊控制的平行泊車路徑規(guī)劃方法,對(duì)平行泊車路徑進(jìn)行規(guī)劃,設(shè)計(jì)智能泊車計(jì)費(fèi)系統(tǒng)。在Matlab中搭建仿真模型,基于符合實(shí)際的模糊邏輯控制器,仿真平行泊車。仿真測(cè)試結(jié)果表明,平行泊車路徑建模能夠較為完整地描述平行泊車場(chǎng)景,平行泊車可以根據(jù)路徑規(guī)劃泊入車位,且整個(gè)泊車時(shí)間曲線較為平坦,證明提出的平行自動(dòng)泊車的路徑規(guī)劃方法工程應(yīng)用性能良好。微縮物理模型仿真小車實(shí)驗(yàn)結(jié)果表明,利用人們駕駛習(xí)慣和思維特點(diǎn)的模糊控制方法進(jìn)行多傳感器信息融合,汽車初始車身位置在一定范圍內(nèi),且泊車車位大于等于2 倍車身長(zhǎng)度時(shí),均可實(shí)現(xiàn)較為穩(wěn)定準(zhǔn)確的平行泊車,此方法可以應(yīng)用到不同場(chǎng)景的平行泊車中,智能泊車平均時(shí)長(zhǎng)為41s,滿足快速智能泊車設(shè)計(jì)需求?;贚abVIEW 的智能泊車系統(tǒng)能夠?qū)崿F(xiàn)對(duì)停車位的實(shí)時(shí)泊車數(shù)量、停車時(shí)間及收費(fèi)金額進(jìn)行顯示,且對(duì)停車場(chǎng)歷史數(shù)據(jù)進(jìn)行存儲(chǔ),具有歷史數(shù)據(jù)查詢功能。系統(tǒng)集平行泊車功能和計(jì)費(fèi)功能為一體,實(shí)現(xiàn)了泊車計(jì)費(fèi)智能化,為當(dāng)前自動(dòng)駕駛領(lǐng)域研究在真實(shí)場(chǎng)景中的應(yīng)用提供了參考價(jià)值。