劉國(guó)滿,盛 敬,陳成偉
(1.南昌工程學(xué)院 江西省精密驅(qū)動(dòng)與控制重點(diǎn)實(shí)驗(yàn)室,南昌 330099;2.汕頭大學(xué) 機(jī)械工程學(xué)院,汕頭 515063)
隨著我國(guó)汽車工業(yè)的蓬勃發(fā)展,社會(huì)車輛占有率不斷提高,城市交通面臨著巨大的壓力。特別在我國(guó)大城市的中心地帶,出現(xiàn)了“一位難求”問(wèn)題[1]。對(duì)于大型停車場(chǎng)來(lái)說(shuō),由于停放的車輛較多,尋找停車位的路線復(fù)雜,若沒(méi)有適當(dāng)?shù)耐\囈龑?dǎo)控制,停車場(chǎng)內(nèi)極易發(fā)生車輛擁堵、相碰以及亂停亂放等現(xiàn)象。
本文提出了一種基于SDN環(huán)境下的停車引導(dǎo)控制系統(tǒng),該引導(dǎo)控制系統(tǒng)通過(guò)區(qū)域分支調(diào)度器實(shí)時(shí)向SDN控制服務(wù)器上報(bào)控制區(qū)域內(nèi)的停車位狀態(tài)情況以及當(dāng)前其所控制路段行駛的車輛的交通狀況信息,SDN控制服務(wù)器按照目的停車位地址最大匹配算法進(jìn)行停車車輛運(yùn)行路線的計(jì)算和生成,以方便停車車輛能快速行駛到合適的目的停車位,方便了人員在大型停車場(chǎng)上進(jìn)行停車和取車操作。
圖1所示為停車引導(dǎo)控制系統(tǒng)結(jié)構(gòu)示意,其由SDN控制服務(wù)器、區(qū)域分支調(diào)度器和車輛運(yùn)行引導(dǎo)模塊或設(shè)備三部分組成。SDN控制服務(wù)器負(fù)責(zé)停車運(yùn)行路線的計(jì)算和向區(qū)域分支調(diào)度器下發(fā)停車運(yùn)行路線,區(qū)域分支調(diào)度器負(fù)責(zé)本地控制區(qū)域交通狀態(tài)情況的上報(bào)和根據(jù)停車引導(dǎo)路線進(jìn)行運(yùn)行指令的下發(fā),車輛運(yùn)行引導(dǎo)模塊或設(shè)備負(fù)責(zé)對(duì)停車的車輛運(yùn)行操作的控制,如:左轉(zhuǎn)、右轉(zhuǎn)以及直行等操作。具體實(shí)施過(guò)程為車輛從入口處進(jìn)入停車場(chǎng)時(shí),由停車場(chǎng)SDN控制服務(wù)器根據(jù)所停的車輛的類型和大小,選擇一個(gè)合適的停車位,并將該目的停車位地址信息發(fā)送給所停的車輛運(yùn)行引導(dǎo)模塊或設(shè)備上,當(dāng)車輛行駛到相應(yīng)區(qū)域時(shí),有相應(yīng)區(qū)域上分支調(diào)度器,根據(jù)該車輛需要到達(dá)的目的停車位,查找控制器上所保存的引導(dǎo)路線,指導(dǎo)該車輛在區(qū)域上運(yùn)行路線。
圖1 基于SDN停車引導(dǎo)控制系統(tǒng)結(jié)構(gòu)示意Fig.1 Parking guidance control system structure diagram
停車場(chǎng)SDN控制服務(wù)器主要通過(guò)有線或無(wú)線網(wǎng)絡(luò)方式,根據(jù)當(dāng)前停車場(chǎng)上停車位的空閑狀態(tài)和停車場(chǎng)道路上交通狀況,為每個(gè)區(qū)域停車位根據(jù)最大匹配算法計(jì)算出一條最優(yōu)引導(dǎo)路線,發(fā)送給停車場(chǎng)上每個(gè)分支區(qū)域調(diào)度器,由區(qū)域分支調(diào)度器對(duì)停車的車輛運(yùn)行引導(dǎo)模塊或設(shè)備進(jìn)行行駛路線調(diào)度。另外,區(qū)域分支調(diào)度器根據(jù)其控制區(qū)域內(nèi)的停車位空閑狀態(tài)和道路交通變化情況,實(shí)時(shí)上傳給停車場(chǎng)SDN控制服務(wù)器,由SDN控制服務(wù)器根據(jù)最新停車位空閑狀態(tài)和道路交通情況,由SDN控制服務(wù)器按照停車位地址最大匹配算法進(jìn)行行駛路線計(jì)算和生成。而對(duì)于區(qū)域分支調(diào)度器主要通過(guò)無(wú)線通信方式,如:WiFi,ZigBee或藍(lán)牙通訊等,根據(jù)區(qū)域分支調(diào)度器上所生成的路線圖,發(fā)送運(yùn)行指令給車輛運(yùn)行引導(dǎo)模塊或設(shè)備,相應(yīng)指令數(shù)據(jù)主要包括直行,左轉(zhuǎn),右轉(zhuǎn)以及開始停車操作指令。其主要運(yùn)行過(guò)程流程圖如圖2所示。
圖2 軟件定義網(wǎng)絡(luò)環(huán)境下停車引導(dǎo)運(yùn)行流程Fig.2 Flow chart of parking guidance operation
為了減少引導(dǎo)路線計(jì)算和配置的工作量,停車引導(dǎo)控制系統(tǒng)采用地址最大匹配算法進(jìn)行停車位地址匹配和比較,確定車輛的停放過(guò)程的運(yùn)行路線。在SDN控制服務(wù)器中對(duì)停車場(chǎng)上每個(gè)停車位進(jìn)行地址編號(hào)時(shí),應(yīng)該盡量考慮到同一個(gè)區(qū)域上停車位運(yùn)行路線一致性。相比不同區(qū)域,同一區(qū)域內(nèi)所有停車位采用統(tǒng)一運(yùn)行路線的原則可能會(huì)給部分停車位帶來(lái)引導(dǎo)路線較長(zhǎng)的問(wèn)題,難以實(shí)現(xiàn)所有車輛停放過(guò)程視為全局最優(yōu)運(yùn)行路線。
由于停車位采用分區(qū)域管理機(jī)制,參考IP網(wǎng)絡(luò)地址編配方式對(duì)停車位進(jìn)行地址編號(hào),對(duì)同一個(gè)區(qū)域內(nèi)的所有停車位,在外界區(qū)域上保存同樣運(yùn)行路線,以便實(shí)現(xiàn)基于地址最大匹配算法和原則進(jìn)行運(yùn)行車輛的引導(dǎo),如若將一個(gè)停車場(chǎng)分成256大區(qū)域,且每個(gè)大區(qū)域均分成256個(gè)小區(qū)域,每個(gè)區(qū)域內(nèi)又可以設(shè)定256內(nèi)停車位。
當(dāng)車輛進(jìn)入某一停車區(qū)域時(shí),由該區(qū)域分支調(diào)度控制器對(duì)該車輛上車載設(shè)備進(jìn)行問(wèn)詢,根據(jù)該車輛所分配的目的停車位地址,先根據(jù)地址最大匹配原則進(jìn)行地址匹配,其引導(dǎo)過(guò)程流程如圖3所示。實(shí)施過(guò)程如下:一個(gè)車輛所分配的停車位為128.255.100,若所進(jìn)入?yún)^(qū)域編號(hào)為128.254區(qū)域時(shí),若采取最大匹配原則,則大區(qū)域128匹配上后,再對(duì)里面小區(qū)域進(jìn)行匹配,若匹配不上,則根據(jù)SDN控制服務(wù)器所下發(fā)的引導(dǎo)路線策略,選擇左轉(zhuǎn),右轉(zhuǎn)和直行三種方式行駛。若小區(qū)域數(shù)值也匹配上,則根據(jù)引導(dǎo)路線策略,開始減速運(yùn)行,開始進(jìn)行車位號(hào)查找和匹配,以便行駛到相應(yīng)停車位后,開始進(jìn)行后續(xù)智能停車操作。
圖3 停車引導(dǎo)算法流程Fig.3 Flow chart of parking guidance algorithm
在引導(dǎo)系統(tǒng)驅(qū)動(dòng)模塊中,采用L298N驅(qū)動(dòng)模塊對(duì)車輪上電機(jī)進(jìn)行控制,實(shí)現(xiàn)引導(dǎo)系統(tǒng)的運(yùn)行的停止、制動(dòng)、正轉(zhuǎn)和反轉(zhuǎn)等功能[2]。其L298N驅(qū)動(dòng)模塊線路連接圖如圖4所示,其電機(jī)正反轉(zhuǎn)運(yùn)動(dòng)原理如表1所示。
在ENA使能狀態(tài),才可以通過(guò)IN1,IN2輸入口對(duì)電機(jī)的運(yùn)行方向。若需要對(duì)電機(jī)進(jìn)行調(diào)速,則在使能端口輸出PWM脈沖,來(lái)實(shí)現(xiàn)電機(jī)調(diào)速功能[3]。
圖4 L298N驅(qū)動(dòng)模塊線路連接圖Fig.4 L298N driver module line connection diagram
表1 電機(jī)正反轉(zhuǎn)原理Tab.1 Motor forward and reverse principle
引導(dǎo)系統(tǒng)的控制系統(tǒng)采用STC89C52RC單片機(jī)系統(tǒng),一種STC公司生產(chǎn)的低功耗、高性能CMOS 8位微控制器,具有8 K字節(jié)系統(tǒng)可編程Flash存儲(chǔ)器[4],在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、超有效的解決方案。在系統(tǒng)主要在停車運(yùn)行引導(dǎo)模塊或設(shè)備上采用單片機(jī)進(jìn)行控制,以便接收到區(qū)域分支調(diào)度器下發(fā)過(guò)來(lái)的運(yùn)行指令時(shí),進(jìn)行解析處理和發(fā)送控制指令給相應(yīng)控制單元,進(jìn)行車輛運(yùn)行方向和速度的調(diào)節(jié)。
PWM是指將輸出信號(hào)的基周期固定,通過(guò)調(diào)整基本周期內(nèi)工作周期的大小來(lái)控制輸出功率的方法。在PWM驅(qū)動(dòng)控制的調(diào)整系統(tǒng)中,按一個(gè)固定周期的頻率來(lái)接通和斷開電源,并根據(jù)需要改變改變一個(gè)周期內(nèi)“接通”和“斷開”時(shí)間的長(zhǎng)短。因此,PWM又稱為“開關(guān)驅(qū)動(dòng)裝置”[5]。脈沖作用下,當(dāng)電機(jī)通電時(shí),速度增加;點(diǎn)擊斷電時(shí)。速度逐漸減少。只要按一定規(guī)律改變通、斷電時(shí)間,即可讓點(diǎn)擊轉(zhuǎn)速得到控制。其PWM信號(hào)圖如圖5所示。
圖5 PWM信號(hào)示意圖Fig.5 PWM signal diagram
其中PWM信號(hào)中的占空比D=t/T,其中t表示一個(gè)周期內(nèi)高電平的時(shí)間,T表示一個(gè)運(yùn)行周期時(shí)間,通過(guò)改變這個(gè)占空比D的值,可以來(lái)改變電機(jī)的速度[6]。其主要實(shí)現(xiàn)代碼如下:
(1)void pwm_out_left_moto (void)//左電機(jī)調(diào)速,調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速
(2)void pwm_out_right_moto (void)//右電機(jī)調(diào)速,調(diào)節(jié)push_val_left的值改變電機(jī)轉(zhuǎn)速。
紅外循跡模塊對(duì)環(huán)境光線適應(yīng)能力強(qiáng),在位于地下停車場(chǎng)這種地方只有一種光線它能很好地感應(yīng)黑線而基本不會(huì)出現(xiàn)失誤,紅外循跡模塊具有一對(duì)紅外線發(fā)射與接收管,發(fā)射管發(fā)射出一定頻率的紅外線,當(dāng)檢測(cè)方向遇到反射面(白色地板)時(shí),紅外線發(fā)射回來(lái)被接收管接收[7],經(jīng)過(guò)比較器電路處理器后,此時(shí)智能車后退方向往反方向行走;如模塊探測(cè)到黑線,則智能車倒退方向?yàn)橥较?,同時(shí)信號(hào)輸出接口輸出數(shù)字信號(hào)(一個(gè)低電平信號(hào));其工作電壓為3.3 V~5 V。
此套紅外光電傳感器固定在底盤后方同時(shí)貼近地面,用來(lái)智能車倒退探測(cè)黑線的貼近地面。正常行駛時(shí),發(fā)射管發(fā)射紅外光照射地面,光線經(jīng)白紙反射后被接收管接收,輸出高電平信號(hào);智能車經(jīng)過(guò)黑線時(shí),發(fā)射端發(fā)射的光線被黑線吸收,接收端接收不到反射光線[8],傳感器輸出低電平信號(hào)后送ST89C52單片機(jī)處理,判斷執(zhí)行哪一種預(yù)先編制的程序來(lái)控制智能車的行駛狀態(tài),其實(shí)現(xiàn)主要算法流程如圖6所示。
圖6 循跡算法流程Fig.6 Sequential algorithm flow chart
系統(tǒng)測(cè)試模塊基于藍(lán)牙通信技術(shù),實(shí)現(xiàn)分支區(qū)域調(diào)度器與車輛上運(yùn)行引導(dǎo)模塊或設(shè)備之間的通信功能,其實(shí)現(xiàn)過(guò)程中主要分成了三大模塊。
1)UART 口初始化功能(UART_INIT)
該功能主要對(duì)UART口進(jìn)行通信參數(shù)的初始化和設(shè)置,其主要實(shí)現(xiàn)代碼如下:
2)藍(lán)牙發(fā)送功能
該功能模塊主要用來(lái)實(shí)現(xiàn)將需要發(fā)送的緩沖區(qū)內(nèi)的數(shù)據(jù)指令發(fā)送出去[9],其實(shí)主要代碼如下所示:
3)藍(lán)牙接收功能
該功能模塊主要通過(guò)中斷信號(hào)方式,當(dāng)有需要數(shù)據(jù)進(jìn)行接收,進(jìn)行藍(lán)牙接收功能的處理[7],其實(shí)現(xiàn)代碼如下:
該模塊主要對(duì)分支區(qū)域調(diào)度器發(fā)送給車輛上運(yùn)行引導(dǎo)模塊或設(shè)備上指令數(shù)據(jù)進(jìn)行解析,以便根據(jù)解析結(jié)果,車輛采取相應(yīng)處理操作和動(dòng)作。其實(shí)現(xiàn)主要代碼如下:
在停車引導(dǎo)系統(tǒng)的測(cè)試環(huán)節(jié),采用小車樣機(jī)在模擬停車場(chǎng)環(huán)境下進(jìn)行停車操作測(cè)試。每個(gè)區(qū)域內(nèi)分支調(diào)度器根據(jù)所停車輛的目的停車位,根據(jù)地址最大匹配原則[10]進(jìn)行路線查找,發(fā)送指令數(shù)據(jù)給小車樣機(jī)上運(yùn)行引導(dǎo)控制系統(tǒng),指導(dǎo)小車的運(yùn)行。測(cè)試過(guò)程如圖7所示。
圖7 測(cè)試過(guò)程Fig.7 Test process
首先小車樣機(jī)停在模擬停車場(chǎng)入口處,由用戶電腦作為SDN控制服務(wù)器,通過(guò)藍(lán)牙通信,給小車下發(fā)一個(gè)目的停車位地址,并向其區(qū)域分支調(diào)度器下發(fā)到達(dá)該目的停車位具體引導(dǎo)路線圖。當(dāng)小車開始運(yùn)行時(shí),其上運(yùn)行引導(dǎo)模塊或設(shè)備就不斷定時(shí)地向區(qū)域分支調(diào)度器進(jìn)行廣播自己所需到達(dá)目的停車位地址[11],由區(qū)域分支調(diào)度器根據(jù)最大地址匹配算法,進(jìn)行該目的停車位地址的尋找,并將小車運(yùn)行引導(dǎo)模塊或設(shè)備下發(fā)運(yùn)行指令,進(jìn)行直行或轉(zhuǎn)彎等運(yùn)行操作[12],直至最后小車運(yùn)行到目的停車位,開始后續(xù)的停車操作。
本文主要設(shè)計(jì)一種在軟件定義網(wǎng)絡(luò)環(huán)境下停車引導(dǎo)控制系統(tǒng),實(shí)現(xiàn)了控制和運(yùn)行的分離,簡(jiǎn)化了停車引導(dǎo)控制系統(tǒng)的復(fù)雜性,減少系統(tǒng)的硬件成本。由于車輛的停車運(yùn)行路線是由停車場(chǎng)SDN控制服務(wù)器統(tǒng)一計(jì)算和調(diào)度,避免了停車場(chǎng)擁堵現(xiàn)象的發(fā)生。最后當(dāng)前所研究的停車引導(dǎo)系統(tǒng),只解決了從停車場(chǎng)入口處到目的停車位之間運(yùn)行路線引導(dǎo),并沒(méi)有考慮到如何將車輛自動(dòng)導(dǎo)入車庫(kù),這可能需要后續(xù)考慮的問(wèn)題。