基于FPGA的模糊控制交通燈控制方案設(shè)計(jì)
1 概述
為了解決城市交通擁擠的問題,需要從供求兩個(gè)方面來采取措施:一是加強(qiáng)城市道路的基礎(chǔ)建設(shè),二是要充分利用、提高現(xiàn)有路網(wǎng)的利用效率。目前,國內(nèi)的城市交通燈大多數(shù)都是采用固定的綠信比(一個(gè)信號相位的有效綠燈時(shí)長與周期時(shí)長之比),不能滿足交叉路口車輛的時(shí)變性要求。
模糊控制技術(shù)作為智能控制的重要分支之一,它的最大特點(diǎn)是針對各類具有非線性、強(qiáng)耦合、不確定性、時(shí)變的多變量復(fù)雜系統(tǒng),在各個(gè)控制領(lǐng)域中得到廣泛的應(yīng)用,并取得良好的控制效果。在城市道路中存在大量的平面交叉路口,交叉路口一般可以分成十字形、X形、T行、Y行和多路交叉形,本文以十字形交叉路口作為研究對象。
在平面交叉路口上某一支或者幾支交通流所獲得的通行權(quán)稱為信號權(quán),簡稱相位。一個(gè)周期內(nèi)有幾個(gè)信號相位,則稱該信號系統(tǒng)為幾相位系統(tǒng)。本文以雙向6車道4相位系統(tǒng)為例。第1相位東西方向交通流直行,第2相位東西方向交通流左轉(zhuǎn),第3相位南北方向交通流直行,第4相位南北方向交通流左轉(zhuǎn),所有右轉(zhuǎn)方向交通流不予控制。其交通運(yùn)行圖如圖1所示。
圖1 4相位交通運(yùn)行圖
2 模糊控制器的設(shè)計(jì)
模糊控制器通常包括模糊化接口、數(shù)據(jù)庫、規(guī)則庫、模糊推理機(jī)和解模糊接口5部分,如圖2所示。
圖2 模糊控制器的組成
2.1 隸屬度函數(shù)
為了完成輸入的模糊化,必須知道輸入精確值對模糊化的隸屬度函數(shù),如取7個(gè),即PL(正大)、PM(正中)、PS(正?。?、ZE(零)、NS(負(fù)?。?、NM(負(fù)中)、NL(負(fù)大)。在精度要求比較高的情況下可以采用正態(tài)分布,一般情況下可取三角形或者梯形,本文采用三角形的隸屬度函數(shù)。
在紅燈期間,取線圈感應(yīng)取為100 m,車身及車距平均距離取5 m,將測得的車輛排隊(duì)長度P看作模糊變量。其論域?yàn)椋?br /> P={1,3,5,7,9,11,13,15,17,19,21}
取7個(gè)語言值,其賦值表如表1所列。
表1 P賦值表
當(dāng)前相位車隊(duì)長度與下一相位的車隊(duì)長度之差Q作為綠燈延遲的修正值。其論域?yàn)椋?br /> Q={-12,-9,-6,3,0,3,6,9,12}
取7個(gè)語言值,其賦值表如表2所列。
表2 Q賦值表
一般情況下,為了避免車輛來不及通過,綠燈時(shí)間不低于20 s;為了避免車輛等待時(shí)間太長,綠燈時(shí)間不超過60 s。綠燈的追加時(shí)間看作模糊量g??偟淖芳訒r(shí)間的論域?yàn)椋?br /> T={4,8,12,16,20,24,28,32,36}
取7個(gè)語言值,其賦值表如表3所列。
表3 T賦值表
2.2 車輛檢測器
采用環(huán)形線圈式,金屬線圈埋在地下,構(gòu)成LC振蕩回路。受車身鐵磁材料的影響,電感量發(fā)生變化,根據(jù)電感不同可知車輛通過時(shí)的脈沖,從而推算出車輛通過的頻率。
2.3 控制器的設(shè)計(jì)
本文采用二維模糊控制器,二維指的是模糊控制器的輸入變量有兩個(gè),而控制器的輸出只有一個(gè)。這類模糊規(guī)則的一般形式為:
IF X1 IS Ai AND X2 IS Bi THEN Y IS Ci
由控制規(guī)則得到模糊控制規(guī)則表,如表4所列。
表4 模糊控制規(guī)則表
3 模糊控制的FPGA實(shí)現(xiàn)
3.1 Spartan3A/3AN介紹
FPGA具有性能好、規(guī)模大、可重復(fù)編程、開發(fā)投資小等優(yōu)點(diǎn),在現(xiàn)代電子產(chǎn)品中應(yīng)用得越來越廣。使用Xilinx的Spartan3A/3AN FPGA時(shí),ISE是必備的設(shè)計(jì)工具。它可以完成開發(fā)的全部流程,包括設(shè)計(jì)輸入、仿真、綜合、布局布線、生成BIT下載文件、配置和在線調(diào)試等[4]。本文采用EElements ISE Development Kit開發(fā)套件和ISE10.1軟件設(shè)計(jì)工具,建立模糊控制交通燈系統(tǒng)工程,如圖3所示。
圖3 模糊控制交通燈系統(tǒng)工程圖
3.2 系統(tǒng)的整體結(jié)構(gòu)及軟件設(shè)計(jì)
系統(tǒng)生成的RTL如圖4所示。該系統(tǒng)主要由數(shù)據(jù)采集模塊、模糊推理模塊、分頻模塊、計(jì)數(shù)器模塊、狀態(tài)機(jī)控制模塊和顯示模塊組成。數(shù)據(jù)采集模塊主要是采集當(dāng)前相位的車流量和下一相位的車流量;模糊推理模塊對采集到的數(shù)據(jù)進(jìn)行計(jì)算,并確定當(dāng)前交叉口的通行情況(包括4個(gè)相位的通行與禁止、通行的準(zhǔn)確時(shí)間);分頻模塊將系統(tǒng)提供的40 MHz的頻率進(jìn)行分頻得到1 Hz;計(jì)數(shù)器將模糊推理模塊得到的具體數(shù)據(jù)實(shí)現(xiàn)減1計(jì)數(shù),并通過7段數(shù)碼管顯示。
圖4 系統(tǒng)生成的RTL
對于模糊決策部分,其中每一條模糊條件語句都決定一個(gè)模糊關(guān)系。
例如:if P=P1 and Q=Q2,then T=T2所決定的模糊關(guān)系可以按下式計(jì)算:
此處的T表示將矩陣按行排列成一列向量,通過39個(gè)模糊關(guān)系的“并”運(yùn)算,可獲取表征總的模糊關(guān)系,即:
給定輸入,由R按合成推理規(guī)則可得模糊輸出:
根據(jù)所有的組合以及按式(2)和式(3)可求得綠燈延時(shí),加上綠燈基本延時(shí)最終可確定當(dāng)前相位的綠燈總時(shí)間,然后建立控制查詢表,編寫VHDL描述語言。
3.3 模糊控制交通燈硬件實(shí)現(xiàn)
BIT文件由FPGA綜合實(shí)現(xiàn)工具產(chǎn)生,用于配置FPGA,JTAG邊界掃描鏈的每一個(gè)FPGA需要一個(gè)BIT文件。使用電纜下載配置文件到PROM時(shí),主要工作過程是啟動(dòng)iMPACT,在文件模式中用PROM Formatter把BIT文件轉(zhuǎn)為MCS/EXO格式的PROM文件,然后在配置模式中初始化邊界掃描鏈,接著就可以下載配置文件了,如圖5所示。
圖5 下載配置文件
以上設(shè)計(jì)已經(jīng)編程完畢并且完成驗(yàn)證,開發(fā)板Spartan3A/3AN已經(jīng)可以工作。由7個(gè)按鍵模擬輸入,輸入數(shù)據(jù)不同,數(shù)碼管根據(jù)模糊控制判決得出不同的數(shù)據(jù)顯示,狀態(tài)控制器得出當(dāng)前狀態(tài),并用LED燈來直觀顯示,如圖6所示。
圖6 硬件實(shí)現(xiàn)
結(jié)語
本文提出一種智能交通燈模糊控制的方法,利用FPGA的優(yōu)勢以及其軟硬件協(xié)同工作帶來的便利,將智能交通燈控制在FPGA上實(shí)現(xiàn)。由硬件實(shí)現(xiàn)可以看出,它能根據(jù)采集到的當(dāng)前相位車流量和當(dāng)前相位與下一相位車流量之差,由模糊控制器按一定的規(guī)則實(shí)時(shí)決定當(dāng)前相位綠燈延時(shí)時(shí)間,從而達(dá)到最大程度的通行量。
評論