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