城市汽車(chē)保有量的迅猛增加,帶來(lái)的交通擁堵問(wèn)題日益突出。為此需采取有效手段對(duì)交通流量進(jìn)行預(yù)測(cè),幫助出行人提高出行效率?;诖嗽O(shè)計(jì)了一個(gè)基于.NET框架的交通預(yù)測(cè)監(jiān)控系統(tǒng),該系統(tǒng)利用超聲波傳感器實(shí)時(shí)采集路段車(chē)速數(shù)據(jù),通過(guò)串口通信實(shí)現(xiàn)交通現(xiàn)場(chǎng)與上位機(jī)的數(shù)據(jù)傳輸,并利用神經(jīng)網(wǎng)絡(luò)模型對(duì)交通數(shù)據(jù)做出預(yù)測(cè)。實(shí)際運(yùn)行證明該系統(tǒng)可以準(zhǔn)確預(yù)測(cè)交通狀況,幫助行人合理規(guī)劃出行路線。
【關(guān)鍵詞】交通系統(tǒng) 上位機(jī) 神經(jīng)網(wǎng)絡(luò) 串口通信
高德地圖發(fā)布的2017年第一季度中國(guó)主要城市交通分析報(bào)告中稱,同比高德地圖交通大數(shù)據(jù)去年第一季度檢測(cè)的60個(gè)城市中,超半數(shù)城市的擁堵指數(shù)依然很高。嚴(yán)重的城市交通擁堵不僅影響了居民的正常出行,而且加劇了環(huán)境污染。
為了幫助行人了解出行路段的交通情況,必須對(duì)路段交通進(jìn)行實(shí)時(shí)分析和預(yù)測(cè)。系統(tǒng)利用.NET框架平臺(tái)設(shè)計(jì)上位機(jī),實(shí)時(shí)顯示交通當(dāng)前運(yùn)行情況以及預(yù)測(cè)情況。
1 交通數(shù)據(jù)采集發(fā)送原理
1.1 超聲波檢測(cè)原理
系統(tǒng)以STC15F2K60S2單片機(jī)為控制核心,主要完成的工作有與超聲波通訊、定時(shí)器計(jì)時(shí)、交通數(shù)據(jù)的運(yùn)算、存儲(chǔ)和與上位機(jī)進(jìn)行串口通訊等。交通數(shù)據(jù)采集部分采用一對(duì)40KHz分體式超聲波傳感器T40-16、R40-16作為檢測(cè)器。
當(dāng)單片機(jī)產(chǎn)生40KHz的方波脈沖信號(hào)后,經(jīng)超聲波發(fā)射端T40-16發(fā)射脈沖信號(hào),發(fā)射的脈沖信號(hào)如果遇到障礙物將會(huì)反彈過(guò)來(lái),由超聲波接收端R40-16接受脈沖信號(hào)。在程序設(shè)計(jì)中,可以利用單片機(jī)中定時(shí)器確定發(fā)射脈沖和接受脈沖的時(shí)間差,從而計(jì)算出障礙物與超聲波探頭之間的距離,再利用時(shí)差法測(cè)速。
為了消除時(shí)差測(cè)速法導(dǎo)致的測(cè)量誤差,系統(tǒng)將5min之內(nèi)通過(guò)路段的平均速度作為一個(gè)數(shù)據(jù)單位,由單片機(jī)計(jì)算出具體值并及時(shí)存儲(chǔ),發(fā)送至上位機(jī)。
1.2 數(shù)據(jù)傳輸原理
串行通信具有遠(yuǎn)距離傳輸成本低的優(yōu)點(diǎn)。STC15F2K60S2單片機(jī)內(nèi)部有兩個(gè)可編程全雙工串行通信接口。系統(tǒng)中單片機(jī)利用串口1完成數(shù)據(jù)幀的發(fā)送,數(shù)據(jù)采集端與上位機(jī)接收端通過(guò)規(guī)定好的串口通信協(xié)議進(jìn)行通信,上位機(jī)采用自動(dòng)獲取串口方式,波特率為9600bps,8位數(shù)據(jù)構(gòu)成一幀,在差錯(cuò)檢驗(yàn)中數(shù)據(jù)幀采用CRC16循環(huán)冗余校驗(yàn)法,選取的生成多項(xiàng)式為0XA001,前六位為數(shù)據(jù)位,后兩位為校驗(yàn)位,確保數(shù)據(jù)正確傳輸。
2 交通流量預(yù)測(cè)
2.1 BP神經(jīng)網(wǎng)絡(luò)在交通預(yù)測(cè)系統(tǒng)中的實(shí)現(xiàn)
為了實(shí)現(xiàn)交通流量的準(zhǔn)確預(yù)測(cè),系統(tǒng)采用BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)建立數(shù)學(xué)模型。為了提高預(yù)測(cè)精度,系統(tǒng)選用某5天的數(shù)據(jù)為輸入變量,第6天的數(shù)據(jù)為輸出變量,第7天的數(shù)據(jù)用于驗(yàn)證網(wǎng)絡(luò)預(yù)測(cè)精度。
這樣輸入層神經(jīng)元個(gè)數(shù)為5,輸出層神經(jīng)元個(gè)數(shù)為1,通常隱含層節(jié)點(diǎn)數(shù)的選取采用經(jīng)驗(yàn)公式得為4~13。隱含層神經(jīng)元個(gè)數(shù)的最終確定,可通過(guò)MATLAB中神經(jīng)網(wǎng)絡(luò)函數(shù)進(jìn)行仿真確定。
2.2 搭建BP神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)模型
在BP神經(jīng)網(wǎng)絡(luò)數(shù)學(xué)模型中輸入神經(jīng)元Xm通過(guò)與權(quán)值ωmi的累加乘積完成對(duì)隱含層神經(jīng)元的刺激,由于輸出值不包含負(fù)值,隱含層的激活函數(shù)可采用Log-Sigmoid函數(shù)作為傳遞函數(shù)。隱含層Ki通過(guò)與權(quán)值ωin的累加乘積完成對(duì)輸出層的刺激,輸出層神經(jīng)元的輸出函數(shù)Yn通常采用線性函數(shù)。
下面利用MATLAB軟件確定其隱含層個(gè)數(shù),以及訓(xùn)練函數(shù)。
2.3 MATLAB軟件仿真
對(duì)于如何將誤差信號(hào)反向傳播,不斷修正權(quán)值,MATLAB提供了很多訓(xùn)練函數(shù)。為了建立有效的預(yù)測(cè)模型,假定系統(tǒng)訓(xùn)練次數(shù)為10000次,收斂誤差為0.01,學(xué)習(xí)率為0.3。
先采用訓(xùn)練函數(shù)traingd、traingdx由仿真結(jié)果可知當(dāng)訓(xùn)練次數(shù)達(dá)到最大值10000時(shí)誤差均不滿足訓(xùn)練要求。最后采用trainlm算法,對(duì)系統(tǒng)進(jìn)行仿真分析,當(dāng)隱含層數(shù)為12時(shí),訓(xùn)練誤差僅為0.00960,訓(xùn)練次數(shù)為79次,訓(xùn)練時(shí)長(zhǎng)1s,此時(shí)訓(xùn)練速度較快,系統(tǒng)誤差滿足設(shè)計(jì)要求。這樣系統(tǒng)訓(xùn)練函數(shù)采用trainlm函數(shù),隱含層設(shè)置12個(gè)。
3 上位機(jī)設(shè)計(jì)
為了向出行人提供一種簡(jiǎn)潔、直觀的人機(jī)交互界面,系統(tǒng)利用微軟用戶界面框架技術(shù)(Windows Presentation Foundation,WPF)技術(shù)設(shè)計(jì)出用戶界面。
當(dāng)單擊即將通過(guò)的路段坐標(biāo)時(shí)可進(jìn)入具體交通數(shù)據(jù)監(jiān)測(cè)畫(huà)面,如圖1所示。該界面可以實(shí)時(shí)顯示道路當(dāng)前的平均車(chē)速,和前一個(gè)星期的交通數(shù)據(jù)。系統(tǒng)根據(jù)平均車(chē)速的大小和交通擁堵指數(shù)定義將當(dāng)前道路運(yùn)行狀態(tài)進(jìn)行分類(lèi),在出行建議中,告知出行者當(dāng)前交通狀況,并利用C#語(yǔ)言實(shí)現(xiàn)MATLAB仿真中確定的神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)模型,預(yù)測(cè)出5min后通過(guò)此路段的平均車(chē)速。出行者也可參考?xì)v史交通數(shù)據(jù),做出出行選擇。
4 結(jié)語(yǔ)
本系統(tǒng)根據(jù)出行者對(duì)交通認(rèn)知的需求出發(fā),將傳感器技術(shù)、串口通信、神經(jīng)網(wǎng)絡(luò)算法相結(jié)合,通過(guò)上位機(jī)平臺(tái)實(shí)時(shí)顯示采集到的大量交通數(shù)據(jù),可有效監(jiān)測(cè)當(dāng)前交通狀況并預(yù)測(cè)未來(lái)交通狀況,系統(tǒng)架構(gòu)完整,應(yīng)用型強(qiáng)。但系統(tǒng)功能較為單一,未能充分利用傳感器技術(shù)和上位機(jī)平臺(tái),為出行者提供更多交通信息,這為進(jìn)一步豐富系統(tǒng)功能,指明了方向。
參考文獻(xiàn)
[1]蘭羽.基于AT89C51的超聲波測(cè)速系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2013(07):137-139.
[2]曹虹.基于BP神經(jīng)網(wǎng)絡(luò)的交通流量預(yù)測(cè)[D].長(zhǎng)安大學(xué),2012.
[3]王剛.基于.net的串口示波器開(kāi)發(fā)[J].電子測(cè)試,2016(13):82-83+77.
[4]趙朝鳳.淺析BP神經(jīng)網(wǎng)絡(luò)基本模型的C語(yǔ)言實(shí)現(xiàn)[J].通信技術(shù),2013(01):89-91+94.
作者簡(jiǎn)介
景鵬(1995-),男,江蘇省鹽城市人。大學(xué)本科學(xué)歷。研究方向?yàn)榍度胧介_(kāi)發(fā)。
徐海彬(1995-),男,江蘇省鹽城市人。大學(xué)本科學(xué)歷。研究方向?yàn)闄C(jī)電一體化。
杜年茂(1994-),男,江蘇省徐州市人。大學(xué)本科學(xué)歷。研究方向?yàn)?NET平臺(tái)開(kāi)發(fā)。
朱鵬(1995-),男,江蘇省鎮(zhèn)江市人。大學(xué)本科學(xué)歷。研究方向?yàn)橛?jì)算機(jī)技術(shù)。
作者單位
江蘇科技大學(xué) 江蘇省張家港市 215600endprint