??? 摘? 要: 用模糊控制方法對單路口多相位的交通信號進行控制,提出以當(dāng)前相的主隊列和后繼相的主隊列決定信號配時的方法,并用Matlab及其模糊邏輯工具箱實現(xiàn)二維模糊控制器。以通過交叉口的平均車輛延誤作為評價指標(biāo),衡量該控制器的控制性能,采用Matlab編程設(shè)計實現(xiàn)了交叉口六相位的仿真系統(tǒng),仿真結(jié)果表明控制效果比較好。?
??? 關(guān)鍵詞: 單路口交通? 多相位? 模糊控制? 仿真? MATLAB
?
??? 單路口交通控制就是確定交叉路口紅綠燈的信號配時,使通過交叉口的車輛延誤盡可能小。傳統(tǒng)的控制一般是采用模型控制或預(yù)先人為地設(shè)定多套方案,實踐表明這種方法的控制效果并不理想。由于道路上的交通流具有較大的隨機性和相當(dāng)?shù)膹?fù)雜性,所實施的相位控制也應(yīng)隨交通流的不同而相應(yīng)變化。近年來用模糊控制方法實現(xiàn)交通系統(tǒng)的控制,得到國內(nèi)外學(xué)者的關(guān)注[1~3],但同時考慮多相位和倒計時問題的研究并不多見。本文提出根據(jù)當(dāng)前相和后繼相的車輛等待長度確定單路口多相位信號配時的方法。該模糊控制方法可用于安裝倒計時器的路口,具有良好的實用性。?
??? MATLAB是國際上流行的控制系統(tǒng)計算機輔助設(shè)計語言和軟件工具,其提供的模糊邏輯工具箱拓展了MATLAB對模糊邏輯系統(tǒng)的設(shè)計能力,已經(jīng)成為運用模糊手段解決工程問題的有力工具。筆者用MATLAB軟件并結(jié)合其模糊邏輯工具箱,實現(xiàn)了該模糊控制器及其仿真。計算機仿真結(jié)果表明控制效果優(yōu)于定時控制。?
1 交通信號模糊控制思想?
??? 單交叉路口交通流分布如圖1所示。東、南、西、北四個方向,每個方向均有右行、直行和左行三個車道車流。在每條入口道上設(shè)置兩個信號檢測器構(gòu)成一個檢測區(qū),一個設(shè)在停車線處,用于檢測該道的車輛離開數(shù);一個設(shè)在距第一個檢測器D處,用于檢測車輛到達數(shù)。距離D一般為80~100m。檢測器對路口各個車道車流量進行實時檢測而獲取車流量信息,為模糊控制提供必要的數(shù)據(jù)。?
?
?
??? 下面以圖2所示的單交叉路口6相位信號控制為例介紹模糊控制策略。?
?
?
??? 令qjk表示第j相位對應(yīng)的兩個方向的車輛等待隊列長度(下稱隊長),j=1,2,3,4,5,6,為相位序號,k=1, 2,qjk∈[0,Qlimit], Qlimit=D/L,L為單位車身長度??紤]某個周期T,在T內(nèi)第i相位末時(第i相將由綠轉(zhuǎn)紅)任一車輛等待隊列長度設(shè)為qjk(i),則:?
?????
式中qjk(i-1)為周期T內(nèi)第(i-1)相位末時jk車道的車輛等待隊列長度。cjk(i)為第i相位jk車道的車輛到達數(shù),gjk(i)是第i相位從紅燈變?yōu)榫G燈后的車流離去數(shù)。?
??? 依據(jù)各個車道的車流信息,以路口流通能力最大或排隊候車的時間最短為目標(biāo),對交叉路口交通信號進行模糊控制,實時確定各個相位的配時,因而周期和綠信比是不定的。設(shè)ei(i=1,2,3,4,5,6)是第i相位的綠燈配時,它由路口實時檢測的車流量決定。具體地說,每一相交通信號的配時是由該相位的主隊列和后繼相的主隊列兩者決定的。所謂主隊列是一個相位兩個方向中車輛等待數(shù)較大的等待隊列,又稱關(guān)鍵車流[3]。?
2 模糊控制器的設(shè)計及模糊響應(yīng)表的構(gòu)造?
??? 所謂模糊控制就是在控制方法上應(yīng)用模糊集合論,運用模糊語言變量及模糊邏輯推理實現(xiàn)系統(tǒng)的智能控制。這種方法擺脫了對控制對象輸入、輸出物理量的精確描述,用自然語言描述專家控制策略,以機器模擬人的模糊思維對系統(tǒng)實現(xiàn)有效控制。模糊控制系統(tǒng)原理如圖3所示[4]。
?
?
??? 在實際控制過程中,將計算機采樣的輸入量(精確量)模糊化,經(jīng)模糊推理確定控制量的模糊值,最后進行反模糊處理獲得控制量的實際輸出,對被控對象進行控制。?
2.1 確定模糊控制器的輸入輸出變量?
??? 根據(jù)前文所述,單路口交通的多相位模糊控制器是一個二維模糊控制器。其輸入是當(dāng)前相的主隊列qp和后繼相的主隊列qs,輸出是綠燈時長相對于設(shè)定配時m的增量△e。qp和qs有以下三種組合:(右行,直行)、(直行,左行)、(左行,右行),分別對應(yīng)右行相、直行相、左行相的控制。以直行相為例討論控制器的設(shè)計,其它相位的控制與此相似,不復(fù)贅述。?
??? 設(shè)qp是直行主隊列長,qs是左行主隊列長。直行隊長基本論域為[0,Qlimit],設(shè)其論域為Q,Q={0,1,2,3,4,5,6,7,8,9,10}。在論域Q上定義的五個模糊子集為{很短,短,中,長,很長},簡記為{VS,S,M,L,VL}。直行隊長的隸屬函數(shù)定義見圖4。從基本論域到論域的線性變換公式為:?
????
?
?
??? 左行隊長qs基本論域為[0,Qlimit],設(shè)其論域為S,S={0,1,2,3,4,5,6,7,8,9,10}。在論域上亦定義五個模糊子集{VS,S,M,L,VL},各模糊子集的隸屬函數(shù)見圖5。從基本論域到論域的線性變換同公式(2)。?
?
?
??? 綠燈時長e∈[gmin,gmax],設(shè)定配時m可取,控制器的輸出△e=e-m,其實際變化范圍為設(shè)其論域為E,為便于選取變量的詞集,定義E={-6,-5,-4,…,4,5,6}。在E上定義的七個模糊子集為{負大, 負中, 負小,零, 正小, 正中, 正大},記為{NL,NM,NS,O,PS,PM,PL}。圖6是輸出變量各模糊子集的隸屬函數(shù)。?
?
?
2.2 確定模糊控制規(guī)則?
??? 確定控制規(guī)則的原則是:當(dāng)?shù)却犃虚L或很長時,增加綠燈時間,選取的輸出以放行、減少車輛等待為主;而當(dāng)?shù)却犃休^短時,選取的控制量以防止綠燈時間浪費為出發(fā)點。通過總結(jié)實踐和專家經(jīng)驗,建立了模糊控制規(guī)則表,如表1所示。一共有5×5=25條控制規(guī)則。?
?
?
??? 雙輸入單輸出的模糊控制器,其控制規(guī)則可寫成如下形式:?
??? if (qp is Qi) and (qs is Sj) then (△e is Eij) 。?
??? 這里Qi,Sj,Eij分別是上文定義的模糊語言變量。根據(jù)每一條規(guī)則,都可以求出相應(yīng)的模糊關(guān)系Rij:?
??? Rij=Qi×Sj×Eij???? (i=1,Λ,5)????????????????????? (3)?
??? 所有控制規(guī)則對應(yīng)的模糊關(guān)系為R,?
2.3 模糊推理及反模糊化的方法?
??? 根據(jù)模糊推理合成規(guī)則運算,得出相應(yīng)的控制量變化的模糊集E,E=(Q×S)oR,即:?
?????
??? “o”是合成運算符。合成的結(jié)果是一個模糊子集,可按隸屬度最大法、中位方法或加權(quán)平均法進行反模糊化,得到在區(qū)間E上的精確控制量△e*,再經(jīng)尺度變換后得實際的控制量增量△e。設(shè)直行相綠燈實際范圍為[gmin,gmax],右行、左行相綠燈實際范圍為[g′min,g′max],可按下列公式轉(zhuǎn)換為實際控制量e:?
???
??? 式中,為由論域到基本論域的比例因子。直行相和右行相、左行相使用的比例因子不同。?
2.4 模糊響應(yīng)表的生成?
??? 根據(jù)輸入和輸出變量的隸屬函數(shù)、模糊控制規(guī)則,由模糊邏輯運算可離線算出模糊關(guān)系矩陣R。R龐大,不利于儲存和在線運算,通常應(yīng)進一步求出模糊響應(yīng)表,即模糊控制表。在實際控制過程中,可根據(jù)模糊量化后的輸入變量值,直接查詢模糊響應(yīng)表,以獲得控制量的變化值△e*。再運用(6)或(7)式,得到綠燈配時,去控制信號燈和倒計時器。?
??? 下面以直行相為例給出生成多相位模糊響應(yīng)表的函數(shù),straight.fis是直行相模糊控制器。?
??? function ulist=anstable()?
??? sfis=readfis(‘straight’);??? %打開straight.fis,并加載到當(dāng)前工作空間?
??? ulist=zeros(11,11)???????? ??? %ulist 是模糊響應(yīng)表?
??? for i=1:11?
??? ? for j=1:11?
??? ??? qp=j-1;ps=i-1;?
??? ??? ulist(i,j)=evalfis([qp,qs],sfis)%執(zhí)行模糊推理運算?
??? end?
??? end?
3 仿真系統(tǒng)設(shè)計與實現(xiàn)?
3.1 評價指標(biāo)計算?
??? 本文以通過交叉口的平均車輛延誤作為評價指標(biāo),以此衡量多相位模糊控制器的控制性能。設(shè)在一個周期T內(nèi),第i相位jk車道的車輛延誤為djk(i),則:?
???
??? 所以,第i相位所有進口的車輛總延誤為:?
?????
??? 同理,設(shè)在一個周期T內(nèi)所有進口車輛到達數(shù)為C(T),則:?
?????
??? 所以k個周期內(nèi)六個進口的車輛平均延誤為:? ?
?????
??? 其中,Q0為周期開始時所有進口的初始隊列長度之和,即在第一個周期開始時,車輛等待隊長之和。?
3.2 仿真系統(tǒng)設(shè)計與實現(xiàn)?
??? 設(shè)T為周期,i為相位,單路口多相位模糊控制器的仿真系統(tǒng)流程圖如圖7所示。?
?
?
3.3? 仿真結(jié)果分析?
??? 筆者用MATALAB 5.3 編寫了單路口交通的多相位實時模糊控制仿真程序,仿真參數(shù)Qlimit=20,[gmin,gmax] 取[20,60],[g′min,g′max]取[10,20]。作為對比,亦編寫了定時控制方法仿真程序,直行相位取60秒,其它相位取20秒。為保證結(jié)論的可靠性,將模糊控制與定時方案作了多次仿真比較,每次仿真為10個周期,結(jié)果見表2。
?
?
??? 經(jīng)過多次仿真運行,得到模糊控制車輛平均延誤d1=131.95秒/輛,定時控制方法的車輛平均延誤為d2=141.91秒/輛。模糊控制方法的車輛平均延誤與定時控制方法相比,減少100%=7.02%??梢?采用模糊控制方法,綠燈時間隨交通量而變,車輛平均延誤減少,因此比定時信號更能適應(yīng)交通量的隨機變化,通行能力增大。?
??? 多相位模糊控制器適用于單路口多車道的交通控制。由于每一相位的配時是根據(jù)路口實時數(shù)據(jù)經(jīng)模糊推理一次確定,可用于安裝倒計時器的路口,仿真結(jié)果表明該方法是有效的。?
??? 如果不借助于開發(fā)工具,用高級語言如C語言或匯編語言等自行編程設(shè)計模糊控制器,則開發(fā)時間長、效率低且通用性差。筆者用MATLAB提供的模糊邏輯工具箱[5]輔助設(shè)計多相位模糊控制器,方便快速,大大縮減了編程工作量,且論域、語言變量、隸屬函數(shù)、控制規(guī)則等設(shè)定和修改非常容易。對于參數(shù)不確定系統(tǒng),更便于分析不同參數(shù)對控制結(jié)果的影響,以尋找更優(yōu)的控制效果。?
??? 改善模糊控制性能的最有效方法是優(yōu)化模糊控制規(guī)則。通常,模糊控制規(guī)則是通過將人的操作經(jīng)驗轉(zhuǎn)化為模糊語言形式獲取,帶有相當(dāng)?shù)闹饔^性。運用粗集理論、遺傳算法優(yōu)化規(guī)則,是筆者進一步的研究內(nèi)容。?
參考文獻?
1 Mohamed B.Trabia, Mohamed S.Kaseko, Marali Ande.A?Two-stage Fuzzy Logic Controller for Traffic Signals.Transportation Research Part C 7,1999: 353~369?
2 陳 洪,陳森發(fā).單路口交通實時模糊控制的一種方法.信息與控制,1997; 26(3): 227~233?
3 陳森發(fā),陳 洪,徐吉謙.城市單路口交通的兩極模糊控制及其仿真.系統(tǒng)仿真學(xué)報,1998;10(2):35~40?
4 李士勇.模糊控制·神經(jīng)控制和智能控制論. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1996:250~387?
5 黃文梅,楊 勇,熊桂林.系統(tǒng)分析與仿真-MATLAB語言及應(yīng)用.長沙:國防科技大學(xué)出版社,1999:190~201