★中國(guó)海洋大學(xué)劉昌灝
摘要:隨著城市車(chē)輛的逐漸增多,交通擁堵問(wèn)題日趨突出。而在大多數(shù)情況下,由于交通信號(hào)燈時(shí)間難以及時(shí)隨路況進(jìn)行調(diào)整,加之不同路段的車(chē)流量不均勻,必將加劇城市道路擁堵的現(xiàn)象。為此,本文設(shè)計(jì)了一種城市智能交通系統(tǒng)。一方面,通過(guò)電感式傳感器,實(shí)時(shí)監(jiān)測(cè)車(chē)流量,利用STM32單片機(jī)獲取并整合相關(guān)數(shù)據(jù),再根據(jù)自適應(yīng)算法,動(dòng)態(tài)調(diào)整信號(hào)燈時(shí)間的長(zhǎng)短;另一方面,基于蟻群算法,通過(guò)對(duì)城市各個(gè)路口各個(gè)方向車(chē)流量等信息的采集,轉(zhuǎn)換,比較與分析,結(jié)合某一車(chē)輛當(dāng)前的規(guī)劃路徑,向車(chē)輛發(fā)送路徑推薦方案。
關(guān)鍵詞:智能交通;STM32;電感式傳感器;8255A;自適應(yīng)算法;蟻群算法
1 引言
我國(guó)政府十分重視和支持智能交通技術(shù)的發(fā)展和應(yīng)用,為加快高新技術(shù)在傳統(tǒng)行業(yè)的應(yīng)用,科技部自1996年開(kāi)始組織了一系列智能交通技術(shù)國(guó)際交流和合作,支持和推進(jìn)國(guó)內(nèi)智能交通技術(shù)的研究和開(kāi)發(fā)[1]。在我國(guó)多部門(mén)的協(xié)同努力下,智能交通技術(shù)取得了較為顯著的發(fā)展。但在絕大多數(shù)的情況下,城市的交通信號(hào)燈不能及時(shí)地跟隨著車(chē)流量的變化而進(jìn)行時(shí)間長(zhǎng)度上的調(diào)整;同時(shí),交通信號(hào)燈系統(tǒng)和車(chē)輛之間缺乏較為緊密的實(shí)時(shí)信息交互,僅僅依靠當(dāng)前普遍采用的人力疏導(dǎo)進(jìn)行指揮,難以較好地緩解交通壓力。
為了較好地解決人們?cè)诂F(xiàn)代化社會(huì)中遇到的交通問(wèn)題,結(jié)合現(xiàn)形勢(shì)下我國(guó)交通領(lǐng)域面臨的難題,本文基于STM32單片機(jī)系統(tǒng)及幾種交通控制領(lǐng)域的智能算法,外加其他諸多模塊,設(shè)計(jì)一種城市智能交通系統(tǒng)。
2 城市智能交通系統(tǒng)的總體構(gòu)思
在每個(gè)交通路口安裝一個(gè)STM32F103模塊,一方面,單片機(jī)通過(guò)收集、整理、分析、轉(zhuǎn)換各路傳感器采集得到的數(shù)據(jù),及時(shí)調(diào)整路口不同方向綠燈的時(shí)間長(zhǎng)度;另外一方面,借助該款單片機(jī)的定時(shí)器,GPIO及USART/UART等外部設(shè)備,可以向?qū)?yīng)的計(jì)算機(jī)定時(shí)更新發(fā)送該路口各個(gè)方向的車(chē)流量信息,各個(gè)計(jì)算機(jī)將數(shù)據(jù)整理匯總到主計(jì)算機(jī)當(dāng)中,在車(chē)輛連接網(wǎng)絡(luò)的情況下,將主計(jì)算機(jī)的數(shù)據(jù)同步到車(chē)輛上,結(jié)合該車(chē)輛的目的地等信息,可以向車(chē)輛提供新的行駛方案,從而既可以讓車(chē)輛躲避擁堵路段,又可以讓城市各個(gè)路段車(chē)流量趨于平均。
對(duì)于采集車(chē)流量大小,采用LDC1000電感式傳感器。在距離交通路口的停止線一定區(qū)域內(nèi)安裝該模塊,每個(gè)模塊將采集的信號(hào)傳輸給對(duì)應(yīng)的單片機(jī),單片機(jī)處理分析后動(dòng)態(tài)調(diào)整信號(hào)燈時(shí)長(zhǎng)并繼續(xù)向計(jì)算機(jī)傳送相關(guān)信息。
信號(hào)燈顯示及其驅(qū)動(dòng)模塊,采用可編程并行接口芯片8255A驅(qū)動(dòng)LED紅、黃、綠三種顏色的燈的亮滅,以及控制7段共陰極數(shù)碼管,在紅黃綠燈時(shí)長(zhǎng)不足10秒時(shí)倒計(jì)時(shí)顯示時(shí)間。
根據(jù)上述設(shè)計(jì)思路,系統(tǒng)的總體架構(gòu)如下圖1所示。
圖1 系統(tǒng)總體架構(gòu)
3 系統(tǒng)的硬件電路設(shè)計(jì)
3.1 單片機(jī)的選擇型號(hào)及其介紹
本系統(tǒng)采用STM32F103系列單片機(jī)系統(tǒng),它是基于ARM架構(gòu)的32位Cortex-M3CPU,其最高工作頻率為72MHz,同時(shí),還支持單周期乘法和硬件除法。除此之外,其上還包括兩個(gè)通用DMA,64KB大小的內(nèi)部SRAM,512KB大小的內(nèi)部Flash,F(xiàn)SMC模塊以及總線矩陣。STM32F103系列單片機(jī)上包含多種外設(shè),如多達(dá)11個(gè)定時(shí)器,UART及USART,SPI,ADC及DAC模塊,以及多路通用I/O接口。
基于此,此類(lèi)單片機(jī)系統(tǒng)適用于快速、大量處理和分析各種信號(hào)和數(shù)據(jù)的場(chǎng)合,同時(shí),此類(lèi)單片機(jī)還具有低功耗、高性能等特點(diǎn)。結(jié)合軟件進(jìn)行編程,可以實(shí)現(xiàn)控制及人機(jī)交互等功能。鑒于本系統(tǒng)的功能,采用該類(lèi)別的單片機(jī)進(jìn)行控制。
3.2 LDC1000電感傳感器檢測(cè)部分
LDC1000是一種基于電磁感應(yīng)原理的電感傳感器,根據(jù)麥克斯韋的理論,當(dāng)該傳感器上通入一個(gè)交變電流加在繞制的金屬線圈上的時(shí)候,在周?chē)貙a(chǎn)生交變電磁場(chǎng),如果在線圈周?chē)嬖诮饘傥矬w的時(shí)候,金屬物體表面將產(chǎn)生渦流,這個(gè)渦流產(chǎn)生的感應(yīng)電磁場(chǎng)同金屬線圈產(chǎn)生的電磁場(chǎng)的方向相反,渦流的大小與金屬的距離、大小、成分密切相關(guān),當(dāng)傳感器位于金屬材質(zhì)的附近時(shí),便會(huì)使傳感器的值發(fā)生變化[2]。根據(jù)這種變化,便可以間接檢測(cè)附近金屬存在的相關(guān)情況。
當(dāng)車(chē)輛通過(guò)時(shí),由于電磁感應(yīng),會(huì)產(chǎn)生感應(yīng)電流。車(chē)輛越多,這個(gè)感應(yīng)電流就會(huì)越大,感應(yīng)電流的大小可以間接反映路段車(chē)速的快慢及路面車(chē)輛的空間占有率情況。根據(jù)傳回給單片機(jī)的電流大小,通過(guò)軟件編程算法計(jì)算分析車(chē)流量大小。
3.3 可編程并行接口芯片8255A驅(qū)動(dòng)部分
Intel8255A是一款通用可編程的并行輸入/輸出接口芯片,由數(shù)據(jù)總線緩沖器,數(shù)據(jù)端口A、B、C,A和B兩組控制電路以及讀寫(xiě)控制邏輯電路組成。Intel8255A可作為連接CPU數(shù)據(jù)總線和外部設(shè)備之間的橋梁,使用較為方便。通過(guò)軟件編寫(xiě)程序,可以實(shí)現(xiàn)用戶(hù)需要的功能,通用性較強(qiáng)。Intel8255A接口芯片有3路并行輸入/輸出端口,對(duì)應(yīng)的引腳均為三態(tài)數(shù)據(jù)引腳,可通過(guò)編程方法設(shè)置3個(gè)端口的輸入/輸出狀態(tài)。Intel8255A芯片的C端口,既可以作為數(shù)據(jù)端口也可以作為控制端口,方便實(shí)現(xiàn)對(duì)于位的控制。Intel8255A芯片的工作方式分別為基本輸入/輸出、選通輸入/輸出和雙向輸入/輸出方式,在與CPU的數(shù)據(jù)總線傳送數(shù)據(jù)時(shí)可以選擇無(wú)條件傳送方式、查詢(xún)傳送方式和中斷傳送方式的任意一種[3]。
一般情況下,交通路口在4個(gè)行車(chē)方向上均需要信號(hào)燈顯示及倒計(jì)時(shí)顯示,因此,在每個(gè)路口的各個(gè)方向上安裝一片8255A芯片,4塊芯片由安裝在本路口的STM32單片機(jī)驅(qū)動(dòng)。
3.4 硬件在單一路口安裝位置模擬圖
由于信號(hào)燈的時(shí)序,相序設(shè)計(jì)需要依據(jù)城市不同地點(diǎn)的交通情況進(jìn)行變動(dòng),在此,我們只考慮一種比較常見(jiàn)的情況,在這種情況下,右轉(zhuǎn)車(chē)輛右轉(zhuǎn)彎可以不受交通紅燈限制,故在圖中省略標(biāo)出,只考慮直行和左轉(zhuǎn)的車(chē)道,為了方便研究,這里簡(jiǎn)化處理,東西南北各只有一個(gè)直行車(chē)道和一個(gè)左轉(zhuǎn)車(chē)道。
Intel8255A驅(qū)動(dòng)模塊和顯示模塊均安裝在交通燈內(nèi)部,STM32F103單片機(jī)及其對(duì)應(yīng)計(jì)算機(jī)在后臺(tái)安裝,這里省略標(biāo)出。
LDC1000電感傳感器安裝在每個(gè)方向的每個(gè)車(chē)道從停止線開(kāi)始到其往后的40m處的區(qū)域內(nèi),通過(guò)檢測(cè)感應(yīng)電流大小綜合判斷車(chē)輛的數(shù)目及速度等參數(shù)。根據(jù)上述描述,具體的模擬圖如圖2所示。
圖2 硬件安裝模擬圖
4 系統(tǒng)的實(shí)現(xiàn)方法及其軟件設(shè)計(jì)
4.1 系統(tǒng)的動(dòng)態(tài)配時(shí)
系統(tǒng)的動(dòng)態(tài)配時(shí)方面的實(shí)現(xiàn)主要是基于自適應(yīng)算法。自適應(yīng)控制方法通常包括兩類(lèi):一是在線生成式,即通過(guò)車(chē)輛檢測(cè)器,實(shí)時(shí)采集交通量數(shù)據(jù),在線求解最佳信號(hào)配時(shí)方案,然后進(jìn)行信號(hào)控制,該方法能夠及時(shí)響應(yīng)交通流的隨機(jī)變化,控制效果好,但實(shí)現(xiàn)復(fù)雜;二是方案選擇式系統(tǒng),根據(jù)不同的交通流,事先求解出各種配時(shí)方案,儲(chǔ)存在中心計(jì)算機(jī)內(nèi),系統(tǒng)運(yùn)行時(shí)按實(shí)時(shí)采集的交通量數(shù)據(jù),選取最適用的配時(shí)方案,實(shí)施信號(hào)控制[4]。根據(jù)以上分析,結(jié)合LDC1000傳感器模塊,采用第一類(lèi)控制方法。
圖3一種典型的十字路口交通流分布
一個(gè)典型的十字路口交通流分布如圖3所示[5]。假設(shè)交通信號(hào)燈由圖中4個(gè)信號(hào)相位組成,按照?qǐng)D中的順序進(jìn)行切換循環(huán)。初始化的信號(hào)燈周期長(zhǎng)度及各個(gè)信號(hào)相位的綠燈時(shí)間由過(guò)往歷史大數(shù)據(jù)分析整合得出。在此基礎(chǔ)上,東西南北4個(gè)方向共8處LDC1000模塊檢測(cè)到的感應(yīng)電流大小通過(guò)算法轉(zhuǎn)換成能夠反映該車(chē)道上車(chē)流量大小的物理量。
系統(tǒng)每隔一定的時(shí)間采集東西南北4個(gè)方向共8處LDC1000模塊檢測(cè)到的感應(yīng)電流值,并進(jìn)行數(shù)據(jù)轉(zhuǎn)換,逐級(jí)傳輸?shù)街饔?jì)算機(jī)和車(chē)載計(jì)算機(jī)系統(tǒng)中。同時(shí),單片機(jī)比較不同相位對(duì)應(yīng)的兩車(chē)道車(chē)流量大小之和,若最大處對(duì)應(yīng)的相位恰為綠燈,則控制驅(qū)動(dòng)模塊,根據(jù)算法延長(zhǎng)當(dāng)前相位的綠燈時(shí)長(zhǎng);若最大處對(duì)應(yīng)的相位不為綠燈,則根據(jù)算法縮短其他相位的綠燈時(shí)長(zhǎng),以期在保證其他相位車(chē)輛綠燈通過(guò)率的情況下,最快切換到當(dāng)前相位。該部分的流程圖如圖4所示。
圖4 系統(tǒng)動(dòng)態(tài)配時(shí)流程圖
4.2 車(chē)輛規(guī)劃更新路徑
為車(chē)輛規(guī)劃更新路徑的實(shí)現(xiàn)方法,主要是基于蟻群算法。蟻群算法(ant colony optimization,ACO)是通過(guò)觀察螞蟻覓食路徑選擇過(guò)程而啟發(fā)的路徑優(yōu)化算法[6]。在車(chē)輛行駛過(guò)程當(dāng)中,司機(jī)可以根據(jù)個(gè)人需要,自主選擇是否開(kāi)啟路徑重新規(guī)劃。開(kāi)啟后,根據(jù)4.1中傳輸?shù)玫降臄?shù)據(jù),當(dāng)車(chē)輛位于圖2區(qū)域2位置的時(shí)候,車(chē)載計(jì)算機(jī)優(yōu)先分析車(chē)輛在通過(guò)當(dāng)前路口之后可能通過(guò)的第二路口的車(chē)流量情況,若檢測(cè)出其中某一處或幾處車(chē)流量超過(guò)閾值,則車(chē)載計(jì)算機(jī)給出提示,自動(dòng)避開(kāi);否則,則根據(jù)從城市各個(gè)路口的圖2位置1處實(shí)時(shí)獲得的車(chē)流量大小,基于軟件編寫(xiě)的程序,判斷是否需要切換行駛路徑。該部分的流程圖如圖5所示。
圖5 規(guī)劃更新路徑流程圖
5 結(jié)語(yǔ)
本文構(gòu)思并給出了一種城市智能交通系統(tǒng),既實(shí)現(xiàn)了對(duì)車(chē)流量的實(shí)時(shí)監(jiān)測(cè)以及信號(hào)燈時(shí)長(zhǎng)的動(dòng)態(tài)調(diào)整,又為每一車(chē)輛動(dòng)態(tài)規(guī)劃一條合適的線路,從而避開(kāi)擁堵路段,還能讓城市各路段的車(chē)流量趨于平均。
由于本設(shè)計(jì)方案僅僅是基于一種較為常見(jiàn)的交通路口形式而構(gòu)建的模型,不具有普遍意義。從另外一個(gè)角度來(lái)講,路徑重新規(guī)劃及調(diào)整信號(hào)燈時(shí)長(zhǎng)與否還需要通過(guò)設(shè)定一定的閾值,通過(guò)判斷相關(guān)內(nèi)容的差異是否達(dá)到閾值,再?zèng)Q定是否需要進(jìn)行更改。此外,本文的傳感器選擇仍然需要進(jìn)一步的檢驗(yàn),方能應(yīng)用到系統(tǒng)之中。
由于本系統(tǒng)給出的設(shè)計(jì)是將城市道路交通網(wǎng)絡(luò)與車(chē)輛有機(jī)聯(lián)系在了一起,具有一定的人機(jī)交互意義,但具體的實(shí)現(xiàn)方案,還需要進(jìn)一步設(shè)計(jì)軟件并普及應(yīng)用。
綜上,本文的設(shè)計(jì)方案可以為城市交通的改進(jìn)提供一種全新的思路,為今后城市智能交通的改善與升級(jí)指明了一種明確的方向。
作者簡(jiǎn)介:
劉昌灝(2002-),男,山東濟(jì)寧人,現(xiàn)就讀于中國(guó)海洋大學(xué),從事智能交通方向的研究。
參考文獻(xiàn):
[1] 金茂菁. 我國(guó)智能交通系統(tǒng)技術(shù)發(fā)展現(xiàn)狀及展望[J]. 交通信息與安全, 2012, 30 ( 05 ) : 1 - 5.
[2] 張萌. 電感傳感器在金屬探測(cè)定位系統(tǒng)中的設(shè)計(jì)與應(yīng)用[J].中國(guó)金屬通報(bào), 2018 ( 08 ) : 134、136.
[3] 白莉媛, 肖樂(lè), 錢(qián)進(jìn). Intel 8255A微機(jī)芯片的應(yīng)用[J]. 光盤(pán)技術(shù), 2006 ( 06 ) : 50 - 51.
[4] 李曉娜. 單交叉口自適應(yīng)控制方法的研究[D]. 大連理工大學(xué), 2006.
[5] 衛(wèi)星, 張利, 魏振春, 翟琰. 交通信號(hào)自適應(yīng)遺傳控制算法及其仿真研究[J]. 系統(tǒng)仿真學(xué)報(bào), 2012, 24 ( 11 ) :2255 - 2258.
[6] 胡清準(zhǔn), 邱曉暉. 遺傳-蟻群算法在智能交通中的應(yīng)用[J]. 計(jì)算機(jī)技術(shù)與發(fā)展, 2020, 30 ( 04 ) : 120 - 125.
摘自《自動(dòng)化博覽》2022年10月刊