寧方棟
(同濟大學(xué)電子與信息工程學(xué)院,上海 201804)
交通系統(tǒng)是一個巨系統(tǒng),它具有復(fù)雜性、動態(tài)性和隨機性,傳統(tǒng)的交通控制手段難以準(zhǔn)確反映實際的交通狀況并進行有效控制。而交通仿真系統(tǒng)具有經(jīng)濟安全、可重復(fù)操作、易用可控、反饋及時等特點,因此對交通仿真系統(tǒng)的研究與構(gòu)建越來越多[1-2]。目前常見的交通控制仿真系統(tǒng)有 VISSIM、TRANSYT、SCOOT、SCATS等[1]。另外,我國若干研究機構(gòu)和一些企業(yè)集團正在致力于適合中國混合交通特點的、具有一定自主學(xué)習(xí)功能的、與交通誘導(dǎo)等其他子系統(tǒng)有相當(dāng)協(xié)調(diào)能力的信號控制系統(tǒng)的研究開發(fā)工作。這些系統(tǒng)大部分都有其內(nèi)置的控制算法,而不是針對用戶提供的方案進行仿真模擬,即使有一定的用戶接口,也不夠靈活方便,且沒有針對交叉口群的信號控制接口進行設(shè)計。
針對上述問題,本文設(shè)計并實現(xiàn)了一個可復(fù)用的、可靈活使用的交通信號仿真平臺,減輕了信號算法研究者在仿真過程中的繁瑣計算配置等工作負(fù)擔(dān),使得用戶能夠與仿真環(huán)境充分交互,比較全面地考慮了仿真過程中所涉及的因素,滿足交通信號配置算法的仿真需求,在此基礎(chǔ)上對用戶的配時方案進行仿真,并給出一定的方案評估結(jié)果。上述平臺以上海市道路交通地理數(shù)據(jù)為基礎(chǔ),在Visual Studio 2010環(huán)境下使用C#語言開發(fā),采用插件MapX搭建GIS環(huán)境。
本文所提出的仿真系統(tǒng)主要完成以下功能:
(1)為用戶提供基于GIS的系統(tǒng)接口,便捷高效地接收用戶的信號配時方案;
(2)按照用戶給出的配時方案進行模擬仿真;
(3)完成仿真過程后,根據(jù)仿真過程中所采集的數(shù)據(jù)計算得出評估參數(shù)值供用戶參考。
系統(tǒng)主要分為以下幾個模塊:GIS模塊、信號配時仿真過程模塊、參數(shù)評估模塊、用戶接口模塊。如圖1所示。下面簡要介紹各模塊所負(fù)責(zé)完成的功能。
圖1 系統(tǒng)體系架構(gòu)設(shè)計圖
GIS(Geographic Information System,地理信息系統(tǒng))是在計算機硬、軟件系統(tǒng)及地理學(xué)、計算機科學(xué)以及信息管理學(xué)等多種學(xué)科支持下,對基于地理分布的數(shù)據(jù)進行采集、儲存、管理、運算、分析、顯示和描述的技術(shù)系統(tǒng)[3]。GIS在交通仿真系統(tǒng)中得到廣泛應(yīng)用,本系統(tǒng)采用GIS來完成構(gòu)建交通道路環(huán)境方面所需的功能。
在本系統(tǒng)中,GIS模塊部分為系統(tǒng)的主界面,為整個系統(tǒng)功能的引導(dǎo)層,用于顯示仿真系統(tǒng)的地圖區(qū)域,并為用戶提供對地圖的相關(guān)操作。用戶可以對地圖進行常規(guī)的放大、縮小、拖拽等操作,并且能夠?qū)λ璺抡娴穆房谶M行點擊選擇。該模塊為配時方案提供了一個進行仿真過程的環(huán)境。
仿真過程模塊主要實現(xiàn)對用戶數(shù)據(jù)的讀取與處理,將用戶的信號配時方案進行模擬實現(xiàn),并將此過程呈現(xiàn)給用戶。
評估參數(shù)模塊主要負(fù)責(zé)對仿真過程中產(chǎn)生的交通參數(shù)進行收集整理,在仿真過程結(jié)束后,在用戶需求的前提下根據(jù)收集到的數(shù)據(jù)計算出評估參數(shù),用戶可根據(jù)這些參數(shù)來評價自身方案的優(yōu)劣性。
用戶接口模塊主要負(fù)責(zé)為用戶提供輸入接口,使得用戶的配時方案能夠合理方便地輸入。
基于對用戶輸入配時方案的方式考慮,本模塊包括兩部分內(nèi)容:模式選擇與參數(shù)設(shè)置。
(1)模式選擇。
考慮到用戶對配時方案的研究大多數(shù)情況下分為2種,一種為對單個獨立的路口處信號燈組進行時間的分配、相位的分析等研究,另一種為對多個路口處的信號燈群進行分析,并對其所形成的綠波帶進行研究。
基于上述2種情況,本系統(tǒng)對信號方案的仿真分為兩種模式實現(xiàn)——單路口模式和多路口模式。
(2)參數(shù)設(shè)置。
參數(shù)設(shè)置部分為用戶提供輸入信號配時方案各項參數(shù)所需的接口,以窗體的形式呈現(xiàn)給用戶,系統(tǒng)從窗體讀取用戶數(shù)據(jù),交給仿真過程模塊處理,完成方案模擬實現(xiàn)的過程。
單路口模式時,用戶點擊地圖中想要進行仿真的路口,系統(tǒng)彈出對話框接收用戶輸入。針對每個路口,本系統(tǒng)提供四相位、六相位、八相位十字路口以及三叉口4種類型,每種類型分為相位可調(diào)與不可調(diào)兩種情況。用戶需對各種情況下信號燈的綠燈時間和黃燈時間進行配置。
多路口模式時,用戶需在地圖界面選擇一個區(qū)域內(nèi)的路口群,并且對選中的路口群內(nèi)的每個路口進行相位時間的點擊設(shè)置。同時,各路口生成各自的路口類,路口信息寫入數(shù)據(jù)庫進行適當(dāng)?shù)卮鎯?。之后,如果用戶選擇的路口群是在同一條交通干線上,則進行路口群內(nèi)部關(guān)聯(lián)信息的設(shè)置,否則該部分功能失效。路口群內(nèi)部關(guān)聯(lián)信息包括相序、協(xié)調(diào)相位以及相位差。相位差由用戶操作,其值由系統(tǒng)計算得出,最終由用戶輸入系統(tǒng)。輸入操作在一張二維表中完成:路口i與路口j之間的相位差PFij在單元格(i,j)中被點擊設(shè)置,同時該值存入二維數(shù)組 phaseDif[i,j]中,以方便之后的仿真過程模塊讀取使用。
該部分相位差的設(shè)置目的是為了用戶自主配時以生成一條綠波帶。
另外,本模塊設(shè)有“時段選擇”選項,該部分按照上海市交通流數(shù)據(jù)統(tǒng)計得出的高峰時段為用戶提供高峰期與否的選擇,根據(jù)這個時段選項,系統(tǒng)決定車輛生成的數(shù)量、速率等特征。
該模塊主要為仿真系統(tǒng)功能的實現(xiàn)部分,將用戶的配時方案模擬運行,以表格或者圖形的動態(tài)樣式將信號燈的時間、燈色變化呈現(xiàn)給用戶,同時地圖界面也將有車輛行為產(chǎn)生,從而為用戶展現(xiàn)一個基于GIS的完整的信號燈控制車流的模擬實現(xiàn)過程。
本模塊分為信號燈控制與綠波帶生成2個部分。
信號燈控制分為前端界面與后臺控制程序兩個部分。前端界面主要負(fù)責(zé)將信號燈配時方案的模擬實現(xiàn)過程顯示給用戶,表現(xiàn)為車輛按照信號燈的指示動作。后臺控制程序則負(fù)責(zé)接收用戶接口模塊輸入的用戶參數(shù),并按照指定的規(guī)則對數(shù)據(jù)進行處理,從而控制前端界面車輛與信號燈的行為。
在后臺控制程序中,系統(tǒng)讀取用戶接口模塊的數(shù)據(jù),對各變量進行賦值。在整個方案執(zhí)行過程中,通過計時器對時間的控制來進行信號燈的燈色切換與倒計時等行為。當(dāng)信號燈顏色切換時,系統(tǒng)會根據(jù)車輛所處的車道處燈色向車輛行為控制程序發(fā)出相應(yīng)的命令,據(jù)此控制車輛行為。
本系統(tǒng)所使用的相位時間滿足:
其中,TphR為相位紅燈時間,TphG為相位綠燈時間,TphY為相位黃燈時間,C為周期時間。相位綠燈時間和黃燈時間由用戶輸入,其余參數(shù)由系統(tǒng)按式(1)、(2)計算得出。
系統(tǒng)切換信號燈燈色的時間滿足:
其中,Tcur為當(dāng)前計時時間,C為周期時間,Tcon為燈色切換時間點的條件時間。信號燈控制模塊的時間判斷按照式(3)所列條件完成。
另外,后臺程序還對仿真過程中對前端界面中的車輛行為進行監(jiān)測,將與車流量相關(guān)的基礎(chǔ)數(shù)據(jù)存入數(shù)據(jù)庫中,供參數(shù)評估模塊使用。
本系統(tǒng)為用戶提供一種交通干線雙向綠波帶協(xié)調(diào)控制方法的仿真接口。完成綠波帶所需提供的相關(guān)參數(shù)為預(yù)置相位、公共周期、路段上行相位差、路段下行相位差、上行協(xié)調(diào)相位啟動時間、下行協(xié)調(diào)相位啟動時間以及各路口處的各相位綠燈時間。對上述參數(shù)有如下幾點說明:
(1)公共周期:選取干線上各路口采用相等的周期長度;
(2)相位差:指沿車輛行駛方向任意相鄰路口的協(xié)調(diào)相位起始時刻的最小時間差,包括上行相位差和下行相位差,即對應(yīng)在車輛上行行駛方向和下行行駛方向的相位差,容易得出,同一路口的上行相位差與下行相位差不相等;
(3)協(xié)調(diào)相位啟動時間:各路口協(xié)調(diào)相位的起始時刻,包括上行和下行。
一條綠波帶的確定關(guān)鍵在于計算相位差以及協(xié)調(diào)相位啟動時間。
3.2.1 相位差
各路段上行相位差和下行相位差根據(jù)路段長度與路段上下行車流平均速度確定,滿足:
在本系統(tǒng)中,計算相位差所需的路段距離由用戶在地圖上點擊測量得到,車輛行駛速度由系統(tǒng)中的車輛行為模塊提供。同時,系統(tǒng)根據(jù)式(4)完成相位差的計算操作,由用戶填入系統(tǒng)對應(yīng)的接口中。
3.2.2 協(xié)調(diào)相位啟動時間
上、下行協(xié)調(diào)相位啟動時間按照車流不停車地通過各路口原則,根據(jù)各路段上下行相位差確定。
上行協(xié)調(diào)相位啟動時間滿足:
在本系統(tǒng)中,第n個路口的下行協(xié)調(diào)相位啟動時間由用戶提供,用戶完成所選交通干線中各路口的相位差輸入后,各路口的協(xié)調(diào)相位啟動時間由系統(tǒng)根據(jù)式(5)~(8)計算完成。
通常情況下,用戶對配時方案的研究最終會以對方案進行評估的形式完成。而對方案的評估以諸多交通參數(shù)為參考標(biāo)準(zhǔn),因此,在仿真系統(tǒng)中加入了評估參數(shù)模塊。
由于對交通流狀態(tài)的評估逐漸發(fā)展為一門學(xué)科,有很多復(fù)雜的不同研究,為了簡化本原型系統(tǒng),只采用幾個主要的參數(shù)——交通流量、速度、車道占有率[5]。以下對交通流量與車道占有率作簡要說明。
交通流量是指在單位時間內(nèi)道路上行駛的車輛數(shù)量,它反映出車道的密集程度。當(dāng)有車輛進入仿真區(qū)域時,開始檢測跟蹤車輛,當(dāng)車輛剛要出仿真區(qū)域時,車輛數(shù)量增加相應(yīng)的值,這個得到的車輛數(shù)量增加值就是系統(tǒng)所要檢測的交通流量[6]。
常用車道占有率包括空間占有率和時間占有率兩種。在實際觀測中,一般將一定路段上的車輛總長度與路段長度之比的百分?jǐn)?shù)作為空間占有率,可以反映某路段上車隊的長度。而時間占有率是指在道路的任一斷面上,車輛通過時間的累計值與觀測時間的比值[6]。本系統(tǒng)采用的是時間占有率。
本模塊將對仿真過程模塊產(chǎn)生的車流量、車輛通行時間等基礎(chǔ)數(shù)據(jù)進行讀取并處理,得出相關(guān)的交通流評估參數(shù)值,反饋給用戶供參考。
本系統(tǒng)設(shè)計為多窗體應(yīng)用程序,采用Visual Studio 2010的WinForm程序框架實現(xiàn),使用C#語言完成。程序?qū)崿F(xiàn)框架結(jié)構(gòu)如圖2所示。對此架構(gòu)圖的簡單解釋如下。
圖2 系統(tǒng)實現(xiàn)框架結(jié)構(gòu)
系統(tǒng)實現(xiàn)框架基本分為3層:MapX地圖層、讀入配時方案層、仿真過程顯示層。分別對應(yīng)系統(tǒng)的GIS模塊、用戶接口模塊與仿真過程模塊。系統(tǒng)評估參數(shù)模塊的程序?qū)崿F(xiàn)主要為一些對交通參數(shù)的計算過程以及對數(shù)據(jù)庫SQL Server簡單的讀寫操作,因此沒有在框架中單獨分層。
(1)MapX地圖層使用MapInfo公司提供的Map-Info軟件搭建完成,其功能利用MapX插件使用C#語言對其進行二次開發(fā)實現(xiàn)。MapInfo制作地圖采用層次結(jié)構(gòu)來組織數(shù)據(jù),對地圖的繪制和管理同樣也是分層進行。在對地理圖層數(shù)據(jù)整理設(shè)計后,完成所需的GIS圖。另外,為了完成多路口模式下的各項功能,在GIS中利用圖層的Feature對象實現(xiàn)了區(qū)域選擇以及區(qū)域中的單個對象點擊事件。通過對MapX的深入開發(fā),逐漸完成系統(tǒng)仿真所需GIS環(huán)境的各項功能,為用戶提供一個直觀明朗的仿真空間。
(2)讀入配時方案層主要完成各用戶接口的設(shè)計。對單路口和多路口2種模式采用2個不同的側(cè)重點進行設(shè)計:單路口模式下,根據(jù)相位類型的選擇有不同的form界面來接收用戶數(shù)據(jù),將各種相位情況進行封裝,在之后的整個實現(xiàn)過程中多次進行復(fù)用;多路口模式下則著重為系統(tǒng)接收綠波帶生成所需的各參數(shù)考慮。
(3)仿真過程顯示層主要使用了以下2個類:
①myTimer類,是一個在系統(tǒng)Timer類基礎(chǔ)上擴展過的類,它貫穿整個仿真過程始終,控制協(xié)調(diào)仿真步調(diào)。
②Slight類,為信號燈組所建立,其屬性包括各燈色的亮否狀態(tài)、倒計時數(shù)字等特征,其操作包括對燈組中各個信號燈的計時、切換等行為。系統(tǒng)仿真過程的絕大部分都在它的基礎(chǔ)上完成。
同時,使用Invoke語句委托實現(xiàn)跨線程調(diào)用,使得變化的參數(shù)可以在仿真顯示界面實時顯示,并以多種形式呈現(xiàn),供用戶觀察監(jiān)測是否與預(yù)期一致。
仿真過程的實現(xiàn)大體如下:根據(jù)前端界面接口讀入的數(shù)據(jù)初始化系統(tǒng),初始化工作完成后,程序在定時器的引導(dǎo)下,按照用戶指定的時間周期開始在指定的時間進行相應(yīng)的函數(shù)動作,實現(xiàn)對信號燈的各項參數(shù)調(diào)整;在讀入多路口群需要生成的綠波帶參數(shù)之后,對其進行計算并仿真,實現(xiàn)綠波帶對車輛的控制。
對本系統(tǒng)進行測試,選取十字路口四相位相位不變的情況進行實驗,界面如圖3所示。按照圖3所示的參數(shù)進行仿真,信號燈的倒計時跳轉(zhuǎn)符合預(yù)期。
圖3 四相位設(shè)置界面
綠波帶生成部分選取地圖中4個路口進行仿真實驗,為便于仿真,指定下行協(xié)調(diào)相位初始啟動時間t=100 s,計算結(jié)果界面如圖4所示。
圖4 綠波帶計算界面
按照圖4所示的綠波帶參數(shù)進行仿真實驗,交叉口群的各信號燈倒計時跳轉(zhuǎn)與預(yù)期相符。在完成所需實驗時間內(nèi)的仿真后,系統(tǒng)會對各個基礎(chǔ)數(shù)據(jù)進行統(tǒng)計,并依據(jù)標(biāo)準(zhǔn)化的公式對各交通參數(shù)進行計算,從而得出相應(yīng)的方案評估報告。
通過實驗測試表明,該系統(tǒng)能夠在一定程度上按照用戶意愿進行較為真實客觀的仿真,尤其是綠波帶的生成與控制,證明了本系統(tǒng)的有效性。
本文研究并設(shè)計了針對用戶配時方案的多接口交通信號仿真系統(tǒng),實現(xiàn)了一個基于MapX的仿真控制環(huán)境。它以簡潔易用的方式來接受用戶的配時方案,尤其是對綠波帶的相關(guān)操作,為用戶制定信號配時方案提供了方便的仿真工具。該系統(tǒng)仍存在一些不足,如沒有為用戶留有完全開放的API以便其進行二次開發(fā)、沒有非常直觀地為用戶呈現(xiàn)評價報告等,這是進一步研究需要解決的問題。
[1]盧佩,劉效勇,盧熙.智能交通信號燈控制系統(tǒng)設(shè)計與LabView 仿真實現(xiàn)[J].電子技術(shù),2008,45(1):76-78.
[2]黃伯清,黃輝先.一種基于以太網(wǎng)的智能交通信號機系統(tǒng)實現(xiàn)[J].計算機測量與控制,2011,19(4):915-917,920.
[3]朱作欣,朱全勝,馬超,等.基于MapX的電力系統(tǒng)GIS人機交互設(shè)計[J].電網(wǎng)與清潔能源,2011,27(12):28-33.
[4]許衛(wèi)明,潘國安.城市交通干線雙向綠波帶智能控制研究[J].自動化博覽,2008,25(1):84-87.
[5]郭偉,姚丹亞,付毅,等.區(qū)域交通流特征提取與交通狀態(tài)評估方法研究[J].公路交通科技,2005,22(7):101-104,114.
[6]李梅紅.基于GPS浮動車的道路交通服務(wù)水平實時評估研究[D].重慶:重慶大學(xué),2007.
[7]張玉梅,曲仕茹,白樹林.城市交通微觀仿真系統(tǒng)的實現(xiàn)[J].西安工程科技學(xué)院學(xué)報,2006,20(3):355-358.
[8]盧凱,徐建閩,陳思溢,等.通用干道雙向綠波協(xié)調(diào)控制模型及其優(yōu)化求解[J].控制理論與應(yīng)用,2011,28(4):551-555.
[9]胡霆,王景成,趙廣磊,等.城市交通干線綠波帶全局優(yōu)化方法[J].計算機與應(yīng)用化學(xué),2012,29(10):1211-1215.
[10]魏明,楊方廷,曹正清.交通仿真的發(fā)展及研究現(xiàn)狀[J].系統(tǒng)仿真學(xué)報,2003,15(8):1179-1183,1187.
[11]周鵬,史忠科,陳小鋒.城市交通聯(lián)網(wǎng)控制及其多目標(biāo)優(yōu)化實現(xiàn)[J].控制理論與應(yīng)用,2002,19(2):215-219.
[12]陳淑燕,陳森發(fā),周延懷.單路口交通多相位模糊控制器的設(shè)計與仿真[J].電子技術(shù)應(yīng)用,2002,28(2):28-31.
[13]吳明暉.城市交通信號優(yōu)化及仿真研究[D].湘潭:湘潭大學(xué),2005.
[14]葉敏.城市信號控制交叉口交通特性分析[D].南京:東南大學(xué),2001.