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