樊源盛,李 微,閆凱達(dá)
(天津理工大學(xué) 電氣工程與自動化學(xué)院,天津300384)
2021年9月10日,國家發(fā)改委辦公廳、住建部辦公廳、公安部辦公廳、自然資源部辦公廳聯(lián)合印發(fā)《關(guān)于近期推動城市停車設(shè)施發(fā)展重點(diǎn)工作的通知》,要求推動城市停車設(shè)施發(fā)展,切實(shí)增加城市停車設(shè)施有效供給,充分挖掘停車資源潛力。隨著社會生產(chǎn)力的不斷提高,汽車數(shù)量大幅度增長,“停車慢,停車難”依舊是人們需要攻克的難關(guān)。
目前車庫大多沒有配套智能管理系統(tǒng),通常采用人工管理模式,導(dǎo)致無法明確知道車位余量、快速找到空閑車位,效率較低。隨著科技的發(fā)展,當(dāng)前已經(jīng)有部分車庫在管理系統(tǒng)中加入了空車位引導(dǎo)系統(tǒng),收費(fèi)模塊等等。但是,現(xiàn)有的車庫和研究仍尚待改進(jìn)。比如文獻(xiàn)[1-2],優(yōu)點(diǎn)是優(yōu)化了收費(fèi)系統(tǒng),增添了預(yù)約功能,但是缺乏對車輛最優(yōu)路徑的規(guī)劃。對于這類問題,開發(fā)更高效的路徑引導(dǎo)系統(tǒng)具有重要的現(xiàn)實(shí)意義。本文基于LabVIEW 視覺模塊和Floyd 算法,對車輛進(jìn)行最優(yōu)路徑規(guī)劃,提高了車庫的停車效率,更經(jīng)濟(jì)有效地解決了“停車慢、停車難”的問題。
本文車庫分為硬件系統(tǒng)和軟件系統(tǒng)[3]。硬件系統(tǒng)包括門禁系統(tǒng),路徑指示系統(tǒng)和車位檢測系統(tǒng);軟件系統(tǒng)分為車牌識別系統(tǒng)和路徑規(guī)劃系統(tǒng)。車位檢測系統(tǒng)實(shí)時判斷車位是否被占用,并將車位信息傳遞到路徑規(guī)劃系統(tǒng)。車輛駛?cè)霑r,門禁系統(tǒng)和車牌識別系統(tǒng)分別負(fù)責(zé)控制車輛進(jìn)出以及采集車牌信息,同時將采集到的車牌信息傳入路徑規(guī)劃系統(tǒng),由其為車輛設(shè)計(jì)最優(yōu)路徑,繼而由路徑指示系統(tǒng)指引車主,直到車輛停入。具體的車庫結(jié)構(gòu)如圖1所示。
圖1 智能車庫結(jié)構(gòu)圖Fig.1 Structure diagram of intelligent garage
智能車庫硬件組成部分主要有STM32 主控制器、AT89C51 單片機(jī)、MAX7219LED 點(diǎn)陣模塊、HCSR04 超聲波傳感器、MG996R 55g 金屬齒輪數(shù)碼舵機(jī)。每個HC-SR04 超聲波傳感器負(fù)責(zé)實(shí)時判斷車位是否被占用。LabVIEW 視覺模塊負(fù)責(zé)收集車輛到來的信號,STM32 主控制器通過串口通信接收到該信號,由此控制門禁系統(tǒng)開門。結(jié)合當(dāng)前的車庫信息,路徑規(guī)劃系統(tǒng)為車主設(shè)計(jì)最優(yōu)路徑,并通過AT89C51 微機(jī)控制MAX7219LED 點(diǎn)陣進(jìn)行路徑指示以及目標(biāo)車庫顯示,使車主正確、高效停車入庫。各部分硬件之間的信號傳輸和具體的功能如圖2所示。
圖2 硬件框圖Fig.2 Hardware block diagram
LabVIEW 視覺模塊負(fù)責(zé)收集車輛到來的信息,并將信息傳遞到STM32 主控制器,控制器會根據(jù)此信息控制門禁舵機(jī)的開啟和關(guān)閉。舵機(jī)的控制需一個20 ms 時基脈沖,該脈沖的高電平部分為0.5 ms~2.5 ms 范圍內(nèi)的角度控制脈沖。本文采用180°角度伺服,對應(yīng)的控制關(guān)系是脈沖設(shè)置為0.5 ms,旋轉(zhuǎn)角度為0°;脈沖設(shè)置為1.0 ms,旋轉(zhuǎn)角度為45°,以此類推。本文脈沖設(shè)置為1.5 ms,旋轉(zhuǎn)角度為90°,由STM32 單片機(jī)控制,延遲一段時間后,自動回零。
路徑指示由STM32 主控制器、AT89C51 單片機(jī)片選信號和方向信號,LED 點(diǎn)陣分為路口點(diǎn)陣和目標(biāo)車庫點(diǎn)陣。AT89C51 單片機(jī)通過對點(diǎn)陣LOAD,DIN 和CLK 三個引腳控制點(diǎn)陣點(diǎn)亮形式。路口點(diǎn)陣置于路徑前方,分別點(diǎn)亮向左、向上、向右的箭頭引導(dǎo)車輛入庫,目標(biāo)車庫點(diǎn)陣點(diǎn)亮“P”示意車庫空閑。
車位檢測由AT89C51 單片機(jī)控制HC-SR04 超聲波傳感器完成。將超聲波傳感器放置在車位側(cè)面,AT89C51 單片機(jī)控制超聲波模塊的Trig 和Echo兩個引腳接收傳感器采集的車位信息。為防止發(fā)射信號對回響信號的干擾,觸發(fā)信號周期為60 ms 以上。通過超聲波傳感器采集傳感器與車輛之間的距離,設(shè)置相關(guān)閾值。若采集的數(shù)據(jù)小于閾值,超聲波傳感器將信號發(fā)送至AT89C51 單片機(jī)以表車位被占用。在獲得數(shù)據(jù)后,使用電平通信將此信息傳遞給STM32 主控制器。
地圖的設(shè)計(jì)結(jié)合了醫(yī)院、商場和小區(qū)的布局,研究了這些場所的車位和路線排布,本文設(shè)計(jì)了9個停車位按照從入口到停車位的路程,分3 檔分散在地圖里,同時增加了一些街道上常見的復(fù)雜地況,如環(huán)島、單行線非平行路面等道路,更貼合實(shí)地車庫,如圖3所示。
圖3 車庫模型俯視圖Fig.3 Top view of garage model
本文選擇LabVIEW 中NI Vision 模塊進(jìn)行對車牌的采集、處理和OCR 識別,并通過串口發(fā)送識別結(jié)果與當(dāng)前車輛進(jìn)入時間,具體流程如圖4所示。
圖4 LabVIEW 程序流程Fig.4 Flow chart of LabVIEW program
3.1.1 車牌圖像的獲取與處理
(1)攝像頭獲取圖像
利用LabVIEW[4]中的IMAQdx 模塊函數(shù):Open Camera VI,Configure Grab VI,IMAQdx Grab2 VI,IMAQ Write File 2 VI 新建并抓取工業(yè)攝像頭的實(shí)時畫面,并且2000 ms 刷新一次抓拍內(nèi)容,之后將車牌圖像進(jìn)行保存。
(2)車牌圖像的處理
利用LabVIEW[5]中的NI Vision 模塊函數(shù):Threshold,Basic Morphology,Gray Morphology,Adv。Mor phology,Particle Analysis 解析圖像,利用Image Buffer將圖像存入緩存,之后進(jìn)行遮罩處理、灰度處理和“二值化”處理,并進(jìn)行合理腐蝕,程序自動將識別區(qū)域截取出來。
3.1.2 車牌圖像的OCR 識別
利用LabVIEW[6]中的NI Vision 模塊函數(shù)中OCR功能,對處理后的圖像進(jìn)行文字識別,在此之前,對全國各省市車牌所有可能出現(xiàn)的漢字?jǐn)?shù)字與英文字母進(jìn)行了訓(xùn)練,確保了文字識別結(jié)果的可靠性。最后將文字識別結(jié)果輸出到前面板。
3.1.3 車牌數(shù)據(jù)與當(dāng)前時間的串口通信
利用LabVIEW 中VISA 配置串口VI,使VISA資源名稱指定的串口按特定設(shè)置初始化。通過連線數(shù)據(jù)至VISA 資源名稱輸入端,將車牌號與當(dāng)前時間一起發(fā)送給MCU STM32 主控制器,對于連續(xù)的兩次傳輸,若車牌號一致則不發(fā)送,等待車牌號的下一次更新,如圖5所示。
圖5 發(fā)送車牌數(shù)據(jù)與當(dāng)前時間程序示意圖Fig.5 Program diagram of sending license plate data and current time
在車庫的路徑規(guī)劃方面,需要解決的問題是如何在散落分布,實(shí)時變化的車位中找到最近的單位,并規(guī)劃路徑。為此采用了Floyd 算法,它可以解決多個節(jié)點(diǎn)之間的最短路徑問題,并且求出對應(yīng)的路徑規(guī)劃與路程。程序?qū)崿F(xiàn)上,F(xiàn)loyd 算法非常簡潔,而且算法的運(yùn)算結(jié)果中,最短路程矩陣和途徑節(jié)點(diǎn)矩陣都可以重復(fù)利用,提高了運(yùn)算效率。其中最短路程矩陣可以用來判斷最近的空車位的位置,途徑節(jié)點(diǎn)矩陣可以為路徑指示系統(tǒng)提供路口方向信息。
算法過程如下:
首先,把所有路口當(dāng)作節(jié)點(diǎn),將所有相鄰節(jié)點(diǎn)之間的路程記入最短路徑矩陣中,不相鄰或達(dá)不到的節(jié)點(diǎn)間記為無窮大。對每對節(jié)點(diǎn)重新計(jì)算路程,看是否存在中間節(jié)點(diǎn),使得經(jīng)過該節(jié)點(diǎn)的路徑比原路徑更短。如果有,將該節(jié)點(diǎn)記入途徑節(jié)點(diǎn)矩陣中,并更新最短路徑矩陣信息。更新一遍后,得出了最終的最短路程矩陣和途徑節(jié)點(diǎn)矩陣。在查找從節(jié)點(diǎn)u到節(jié)點(diǎn)v的最短路徑時,先查找途徑節(jié)點(diǎn)矩陣,若無中間節(jié)點(diǎn)信息,則u-v為最短路徑,若有中間節(jié)點(diǎn)信息m,則再依次查找u-m與m-v的最短路徑,結(jié)果即為最短路徑,程序流程如圖6所示。
圖6 最短路徑算法流程Fig.6 Flow chart of shortest path algorithm
下位機(jī)MCU 模塊在收到LabVIEW 發(fā)送的車輛到來信號后,控制門禁系統(tǒng)開啟,舵機(jī)開合角度0~90°,并且在短暫延遲后關(guān)閉,門禁系統(tǒng)模型如圖7所示。
圖7 門禁系統(tǒng)模型FIg.7 Model diagram of access control system
當(dāng)車輛駛?cè)霑r,通過上位機(jī)LabVIEW 軟件的視覺模塊控制攝像頭檢測并識別車牌信息,通過串口通信下發(fā)至STM32 單片機(jī),進(jìn)行車牌信息儲存和車輛入庫準(zhǔn)備。在測試中要保證識別過程中光源的穩(wěn)定供給以及車牌表面的整潔程度,不然會影響實(shí)驗(yàn)結(jié)果。車牌識別模型與車牌識別上位機(jī)界面如圖8 和圖9所示。
圖8 車牌識別模型Fig.8 License plate recognition model
圖9 車牌識別上位機(jī)界面Fig.9 Interface of license plate recognition PC
當(dāng)車輛駛?cè)霑r,通過上位機(jī)LabVIEW 軟件的視覺模塊控制攝像頭檢測并識別車牌信息,通過串口通信下發(fā)至STM32 單片機(jī),進(jìn)行車牌信息儲存和車輛入庫準(zhǔn)備。在測試中要保證識別過程中光源的穩(wěn)定供給,以及車牌表面的整潔程度,不然會影響實(shí)驗(yàn)結(jié)果。
路徑指示系統(tǒng)所需硬件部分為STM32 主控制器、AT89C51 單片機(jī)和LED 點(diǎn)陣。由亞克力板制作車庫模型,陰影部分表示樓房等地標(biāo),路面標(biāo)有箭頭指示行進(jìn)的方向,LED 點(diǎn)陣在路口指示出路徑規(guī)劃的路徑,每個停車點(diǎn)配有傳感器,用白色物塊表示有車輛??俊V悄苘噹鞙y試模型如圖10所示,硬件連接模型如圖11所示。
圖10 智能車庫測試模型Fig.10 Intelligent garage test model
圖11 硬件連接模型Fig.11 Hardware connection model
超聲波傳感器用來檢測是否有車輛入庫,將信息傳遞給AT89C51 單片機(jī),STM 主控制器分析處理信息后,通過Floyd 算法規(guī)劃出最短路徑。在路徑指示系統(tǒng)中,還存在車庫的點(diǎn)陣點(diǎn)亮“P”提醒車主停車入庫,雙重保證。在車輛到來后將LED 點(diǎn)陣熄滅。
但是值得注意的是,超聲波檢測最好適用于平面,否則會出現(xiàn)不穩(wěn)定干擾。目標(biāo)車庫模型如圖12和圖13所示。
圖12 目標(biāo)車庫模型(有車)Fig.12 Target garage(with car)
圖13 目標(biāo)車庫模型(無車)Fig.13 Target garage(no car)
智能停車系統(tǒng)集停車場門禁系統(tǒng)、最短路徑規(guī)劃、路口指示和車位檢測為一體,既優(yōu)化了停車管理環(huán)節(jié),又降低了車主的停車時間成本,是解決城市停車問題建設(shè)智慧城市的發(fā)展趨勢。本文整體設(shè)計(jì)結(jié)果較為完善,模擬結(jié)果良好,可當(dāng)作商用停車廠設(shè)計(jì)的參考。