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