龔方徽 朱海峰 溫熙華 劉彥斌
(中電海康集團研究院 杭州 310012)
信號交叉口排隊長度是城市交通信號控制的重要參數之一,也是評估交叉口放行效率的重要依據。傳統排隊長度建模方法一般基于交通波理論、排隊論方法,以及累積曲線理論等。交通系統是一個非線性、不連續、時變的復雜系統,無論是傳統模型還是基于傳統模型的優化模型均無法實時地對排隊長度進行準確計算。此類算法不可避免地存在一些不足,例如,模型適用范圍受限、部分參數在實際工程應用中難以獲得等問題。
隨著科技的進步,交通檢測數據日益多元化,近年來學者們以數據為新角度提出一系列排隊長度算法。通過實時道路監控視頻圖像序列,利用幀間差判斷車輛是否排隊,從而計算排隊長度[1]。采用線圈檢測數據確定排隊隊尾車輛[2],以及利用浮動車數據估算交叉口排隊長度[3-4]。一般情況下使用浮動車數據的算法精度依賴于浮動車所占比例大小。基于地磁傳感器,利用車輛通過傳感器時間及車尾時距的動態變化規律,進行排隊長度估計[5],但此方法無法適用于排隊過飽和的情況。利用視頻檢測數據提出基于車輛延誤時間的交叉口交通狀態判別劃分,并設計欠飽和及飽和狀態下的交叉口排隊長度算法,該方法在2種交通狀態下均需使用上下游過車時間[6-7]。
基于電警過車數據,本文通過分析車輛通過進口道檢測器的車頭時距動態變化規律,分析本周期最大排隊長度。同時,針對多次排隊、交叉口間綠波協調情況,結合駛離車輛行程時間,設計相應計算方法對排隊長度值進行修正。
排隊長度指綠燈初始時刻,進口道停車線與最后一輛停止車輛間的距離,可用排隊車輛數與有效車輛長度的乘積代替。當綠燈啟亮后,排隊車輛通過停車線時,兩輛車之間的車頭時距存在規律性,即排隊車輛一般以穩定、緊湊的車頭時距通過交叉口,而非排隊車輛之間的車頭時距為非緊湊、離散的狀態。故可以通過車頭時距數值的變化來識別排隊車輛,發生離散的數值對應的車輛即為非排隊車輛首車。
截取綠燈時長范圍[Tstart,Tend]內過車數據集合{Noi,Timei},其中:Noi為車牌號;Timei為車輛Noi通過本車道的時間,s。根據各個車輛過車時刻計算車頭時距值集合{ht,i},其中
ht,1=Time1-Tstart
(1)
ht,i=Timei-Timei-1,i>1
(2)
最基礎的排隊模型為:遍歷車頭時距集合{ht,i},若存在某車頭時距值ht,i大于車頭時距閾值δ,則此車頭時距對應的車輛Noi為非排隊通行車輛的首車,早于車輛Noi駛離的車輛均為本周期本車道排隊車輛。排隊車輛與通行車輛間的車頭時距關系圖見圖1。

實心圓-排隊車輛;空心圓-通行車輛;2圓形之間的距離-車頭時距。
若考慮駕駛人員的駕駛習慣等情況,可能會出現某輛排隊車輛Nop與上一輛排隊車輛的車頭時距值較大的情況。此類情況若僅適用上述基礎模型會將排隊車輛誤判為非排隊通行車輛。此時應對再下一駛離車輛進行分析,判斷該車是否為排隊車輛。若下一車頭時距值較小,則認為車輛為排隊車輛,繼續向后搜尋排隊尾車;否則認為車輛為非排隊車輛。設置多個車頭時距閾值δ1,δ2,δ3用以區分排隊車輛與非排隊通行車輛。其中:δ1>δ2>δ3,依據對歷史數據的分析對3個參數賦予經驗值。車頭時距閾值單位均為s。
遍歷車頭時距,若車頭時距ht,p>δ1,可直接區分排隊與非排隊通行車輛,車輛Nop為非排隊車輛的首車,見圖2;若車頭時距δ1>ht,p>δ2,則觀察下一個車頭時距值ht,p+1,若下一車頭時距較大,即ht,p+1>δ2,則車輛Nop為非排隊車輛的首車,后面車輛均為非排隊通行車輛,見圖3。

圖2 排隊情況一

圖3 排隊情況二
若排隊車輛數p-1小于本周期駛離的車輛總數,則排隊長度為
Lqueue=Leff×(p-1)
(3)
式中:Leff為有效車輛長度,7 m;Lqueue為排隊長度,m。
上一節的計算方法僅能計算出欠飽和狀態下的排隊長度。車道過飽和狀態下,路段上會出現車輛進行二次排隊的情況,本周期過車數小于排隊車輛總數,此時需要進行排隊長度修正。
首先,判斷是否存在車輛進行二次排隊。若存在二次排隊車輛,則本周期排隊車輛數大于駛離車輛數,且駛離車輛均為排隊車輛數。即按上一節算法識別出本周期所有過車均為排隊車輛,則可能存在二次排隊車輛。二次排隊車輛圖見圖4。圖4中第一行表示上一周期排隊情況,第二行表示本周期排隊情況。虛線前的圓表示本周期放行車輛,方框內實心圓表示經過二次排隊放行的車輛。

圖4 二次排隊示意
統計本周期內駛離車輛從上游交叉口至本交叉口的行程時間集合{Tt,i}。分析本周期駛離車輛中僅等待1次紅燈的車輛數以及占所有駛離車輛數的比例。若車輛為二次排隊車輛,等待時間必大于一周期紅燈時長,故車輛行程時間應大于自由流行程時間與紅燈時長之和。
設置閾值Ttra用以判斷車輛是否進行二次排隊。
Ttra=r+Lroad/vfree
(4)
式中:r為本車道對應放行相位的紅燈時長,s;Lroad為路段長度,m;vfree為車輛在路段上的自由流速度,m/s。若某車輛Nop的行程時間滿足Tt,p>Ttra,則車輛Nop為多次排隊車輛。
行程時間集合{Tt,p}中元素個數為N,其中小于Ttra的元素個數為N′,則本周期內一次排隊車輛數占總放行車輛數的比例為
η=N′/N
(5)
過飽和情況下相鄰2個周期排隊車輛總數相距不大,駛離車輛數差距極小。假設上一周期放行車輛數與本周期放行車輛數相同,上一周期排隊車輛數為放行車輛數與本周期識別為二次排隊車輛數之和。相鄰個2周期均為過飽和狀態,用上一周期排隊車輛數近似本周期排隊車輛數。
故本周期本車道排隊車輛總數
Qqueue=N+(1-η)N=(2-η)N
(6)
本周期相應的車輛排隊長度為
Lqueue=Leff×Qqueue
(7)
對于車輛多次排隊的情況,可利用式(8)近似得到本周期排隊車輛數。
Qqueue=(m+1-η′)N
(8)
式中:m為放行車輛中最少排隊次數;η′為最小排隊次數車輛占放行車輛數的比例。
若本交叉口與上游交叉口間有綠波協調,則采用本小節方法進行排隊長度計算。綠波的目的是使得行駛車輛能夠不遇紅燈或少遇紅燈通過各交叉口。假設車道本周期紅燈時間內暫無排隊車輛,上游車輛在綠波的作用下到達本交叉口時處于綠燈狀態,車輛無需停車駛離本交叉口,此時駛離車輛車頭時距序列呈現出與排隊車輛車頭時距相似的穩定、不離散特征。若車道本周期紅燈時間內存在若干排隊車輛,綠燈啟動,排隊車輛消散完時,上游車輛在綠波的作用下正好到達本交叉口,此時所有駛離車輛車頭時距與排隊車輛呈現相同特征。
若交叉口具有綠波效果,從車頭時距數據層面分析,未排隊駛離車輛可能會被誤判為排隊車輛。故需要利用車輛行程時間對暫時計算出來的排隊車輛數預估值進行修正。
遍歷車頭時距集合{ht,i},當p>1時,若存在某車頭時距值ht,p大于閾值δ2(定義同上),則此車頭時距對應的車輛為非排隊通行車輛的首車,排隊車輛數預估值為p-1。若車頭時距值ht,p均小于閾值δ2,則排隊車輛預估值為駛離車輛總數。
若車輛未等待紅燈,直接通行,則所需要的行程時間為
Tfreepass=Lroad/vfree
(9)
在本周期內排隊車輛對應的行程時間集合中,小于等于Tfreepass的元素比例ηfreepass若大于0,則說明至少存在部分的車輛未進行排隊,此時可能對排隊車輛數誤判,需進行排隊車輛數修正。
預估排隊車輛數應乘以排隊通行車輛比例(1-ηfreepass),得到排隊車輛數如式(10)
Qqueue=(1-ηfreepass)×Qqueue
(10)
本周期相應的車輛排隊長度為
Lqueue=Leff×Qqueue
(11)
為驗證本算法在真實工程環境的可行性與準確性,通過桐鄉市慶豐路沿路各交叉口電警數據對本文方法進行驗證,利用視頻記錄現場排隊情況,作為本文算法結果的對比依據。在試驗過程中,將小客車、小型貨車、公共汽車等各類機動車數量按一定的折算系數換算為標準小汽車當量數。實驗結果見表1,表中羅列上游交叉口、下游交叉口、路段實際排隊長度、排隊長度算法計算值及誤差。16組數據中包含綠波協調、車輛二次排隊等情況。當車道車輛僅存在一次排隊車輛時,實際排隊長度值與算法計算值的實際誤差在7 m以內,即排隊車輛數誤差僅為1。存在二次排隊車輛情況時,實際排隊長度值與算法計算法的相對誤差在9.1%左右。

表1 實驗結果 m
本文提出了一種基于車頭時距變化規律的實時計算路段排隊長度值的算法。針對車道多次排隊、交叉口間綠波協調情況,結合車輛行程時間設計相應計算方法。通過實時監控視頻對比計算結果,證明本算法具有較高準確性與實用性。研究成果便于工程實踐,可以為優化城市交通信號控制策略提供數據支撐。