闫帅明,卜旭辉,朱盼盼,梁嘉琪
(河南理工大学 电气工程与自动化学院,河南 焦作 454000)
为解决交通拥堵问题,缓解交通压力,国内外学者提出了匝道控制、交叉口信号控制[1-3]等控制方法,其中交叉口信号控制是解决交通拥堵问题的重要方法之一,合理的交叉口的信号优化策略可以缓解城市道路拥挤程度,提高出行效率。
自GAZIS 和POTTS[4]等人对交叉口控制进行研究以来,随着交通控制技术的发展,交叉口控制总体应用方案可分为定时信号控制、按钮式控制和感应式控制等[5]。其中,定时信号配时方案是当前应用最广泛的交通控制方法,该方法通过提前设置好各个相位的信号周期来对交叉口进行控制,在当前有些路口中根据时段不同会给出不同的配时比例,这也属于定时信号周期的范畴。按钮式控制属于人工控制的一种,即在有交通需求时按动按钮,此方法适用于非交叉口(即路段上)的人行横道上。感应式控制是当前适用较广的控制方法之一,其中根据次干道的交通需求而进行控制的方法称为半感应控制,根据提前在路口内安装检测设备进行控制的方法称为全感应控制。
上述方法中除按钮式控制外,其他方法均属于自动控制。采用上述自动控制策略在解决交通拥堵问题中已经起到了一定的效果,但是随着交通量的不断增大,上述方法已经不能满足当前需要,如在日常交通出行中会经常出现交叉口交通流密度过大及车辆行驶缓慢问题,或某一相位的排队长度远大于另一相位排队长度的现象。为缓解交通压力,研究人员根据不同的控制标准提出了许多先进的控制方法,其中,文献[6-8]提出一种基于ILC 的方案对交通信号进行控制,通过设置学习增益对每次迭代的输入学习优化得到信号配时方案,取得了良好的控制效果,文献[9-11]通过道路密度均衡控制思想对交叉口进行控制,在对交通密度控制上取得了良好的控制效果[12],文献[13]对在网络控制中的数据丢包问题进行论述,通过取上一时刻的输出值作为对丢失时刻输出值的补偿,并对MFAC 算法进行改进,从而达到期望控制效果,文献[14]应用MFAC 算法通过对丢失时刻的输入值进行修正来处理数据丢失情况,该方法在实际应用中取得了一定的控制效果。
上述交通控制研究在实际的路网控制中会受到信号波动、信号传输等条件的影响,从而造成网络数据丢包的现象,如在文献[13-14]方法中,如果出现上下时刻的输出和输入差值较大的情况,则会影响系统的补偿性能以及应用性。
由于无模型自适应迭代学习控制(MFAILC)是一种针对完全未知非线性离散系统的无模型方法,考虑到交叉口控制系统重复和建模困难的特性,本文基于交叉口排队长度均衡控制思想,针对在路网网络控制中存在的数据丢包问题,提出一种数据丢包情况下的交叉口排队长度均衡控制方法。在数据丢包情况下利用系统输入输出数据构造控制器,并考虑到数据丢失对系统控制性能的影响,设计一种数据丢失补偿算法。
根据储存转发模型的建模方法[15],本节考虑过饱和交叉口的动态特性,给出交叉口各指标的数学描述。四相位交叉口示意图如图1 所示。
图1 四相位交叉口示意图Fig.1 Schematic diagram of four-phase intersection
从图1 可以看出,四相位交叉口包含了东西、南北方向的直行、右转、左转等4 个相位,对于2 个交叉口分别有8 个排队长度,排队长度定义如下:在交叉口1,相位1(东西)西向东、东向西的排队长度为y1,1(k)、y1,3(k),相位2(南北)南向北、北向南的排队长度为y1,2(k)、y1,4(k);在交叉口2,相位1(东西)西向东、东向西的排队长度为y2,1(k)、y2,3(k),相位2(南北)南向北、北向南的排队长度为y2,2(k)、y2,4(k)。其中,C1、C2为2 个交叉口,pz、qz为路段上的交通扰动,Lz为两交叉口之间路段z的长度。
根据文献[16-17],在路口C1到路口C2之间路段z上,k周期时的排队长度xz如下:
其中,Ic1为进入交叉口C1所有支路的集合,rm为上游车辆的转向比,sm为上游路段的饱和流率,um(k)为上游支路转向路段的路灯时间,V为下游支路的集合,rn为路段z流入下游路段的转向比,sn为对应路段z的饱和流率,un(k)为交叉口流入下游支路的绿灯时间。
绿灯时间满足如下条件:
其中,FC为交叉口c对应的相位集合,uc,i(k)为交叉口c中的相位i的绿灯时长,tc为总损失时间,T为周期时间,umin为最小绿灯时长,umax为最大绿灯时长。
将式(2)、式(3)代入式(1)可得:
路段z在k时刻路段末端的排队长度用yz(k+1)表示:
其中,Qz(k)为经过路段z到达路口队列末的车辆数,由式(10)表示:
其中,路段z的密度和速度分别为ρz(k)和vz(k),nz为路段z的车道数,T为信号周期。路段的密度影响该路段的交通流速度,即速度vz(k)的描述如下:
当ρmin≤ρz(k)≤ρmax时:
其中,vfree为自由速度,即在没有发生道路拥堵时的平均速度,vmin为最小速度,即达到饱和后道路的平均密度。
式(11)、式(12)中的ρz(k)可以表示如下:
其中,ρmin是在路段上车辆能以自由速度vfree行驶时的临界密度,vmin则对应的是阻塞密度ρmax,Lz为路段的长度,a和b为系统参数。
由于nz、Lz、vfree、vmin、ρmin、ρmax等均为常数,结合式(10)~式(13),式(8)是关于xz(k)、yz(k)的函数,改写为:
其中,f(·)为非线性函数。
根据式(7),式(14)可改写为:
其中,a=[0 0 0 -rn1sn1-rn2sn1-rn3sn1]。
根据式(8)、式(15),四相位交叉口的排队长度动态方程如下所示:
在交叉口系统中时常会出现“红灯排长队,绿灯无车行”的现象,这种现象降低了交叉口绿灯使用效率,增加了出行成本。
排队长度均衡控制思想根据交叉口的实际排队长度合理分配绿灯时间,实现各交叉口排队长度的均衡控制。在交叉口交通控制中的固定配时方案下,随着周期数的增加,两个交叉口的排队长度差值会越来越大,这样的配时是不合理的,需要根据实际排队长度对信号灯重新配时,使交叉口的排队长度达到平衡,所以均衡控制思想能够合理地分配信号灯的时长,使得各路口的排队长度达到均衡。
基于均衡控制思想,首先定义一个反映控制方案效果的指标,即交叉口排队长度差(Queuing Length Difference,QLD)。定义在同一个交叉口下,其中各相位中最大的排队长度为该方向上的排队长度,其表示如下:
其中,yc,i(l,k+1)为第c个交叉口的第i个路口在第k+1 个周期的排队长度,Lc,j(l,k+1)为第c个交叉口的第j个方向在第k+1 个周期的排队长度,zc(l,k+1)为第c个交叉口在第k+1个周期的排队长度,Y(l,k+1)表示两交叉口的排队长度差。
在1.1 节中,首先对交叉口进行建模,得到的系统动态模型式(16)满足如下假设:
假设1对于式(16)中的函数f(·),满足一致全局Lipschitz 条件,即:
其中,kx、ky为Lipschitz 常数。
假设2给定期望向量yd(k),存在唯一有界控制输入向量ud(k),使得:
根据式(17)~式(19),交叉口的排队长度差可以转换为:
其中,f(·)为未知非线性函数。
考虑到网络控制过程中受到各种因素的影响,导致排队长度差值数据在传输过程中存在数据丢失的现象。本文将数据丢失现象描述为概率已知的伯努利序列α(l,k),并假设控制器可以检测出当前系统排队长度差是否丢失,其定义为:
本文的控制任务是基于式(16)在满足各初始的条件下,寻找信号灯的最优控制u(l,k),使得系统存在数据丢失的情况下能达到期望效果,即实现各交叉口排队长度的均衡控制。
本节基于MFAILC 方法[18],提出数据丢包情况下的交叉口排队长度均衡控制方案。该方案通过调节信号灯u(l,k)的时长来改变各个路口的车辆排队长度,使得存在数据丢包时在同一周期的排队误差e(l,k)收敛于零。
假设3在式(22)中,f(·)关于第2 个变量的偏梯度是连续的[18]。
假设4在交叉口交通系统式(22)中,对任意时刻k,当迭代次数l接近无穷大时满足,其中i=1,2,…,8 为交叉口控制输入数目。
定理1在满足上述假设条件下的系统式(22),当Δui(l,k)≠0 的条件下时,在任意时刻k和迭代次数l,一定存在一个与迭代相关的时变参数Φc(l,k)[18-20],使得:
其中,ΔY(l,k+1)=Y(l,k+1)-Y(l-1,k+1),Δu(l,k)=u(l,k)-u(l-1,k),u(l,k)=[u1(l,k),u2(l,k),…,u8(l,k)]T,Φc(l,k)=[φ1(l,k),φ2(l,k),…,φ8(l,k)]为系统的伪梯度。
当存在数据丢失的情况下时,排队长度差可由式(26)表示:
由此,式(23)、式(25)可分别改写为:
因为Φc(l,k)为未知量,设计其估计算法[18]为:
为提高式(30)对时变参数的跟踪能力,定义如下参数重置机制:
其中,λ>0,μ>0,ρ∈(0,1],ε是一个小正数
为使该方案满足实际道路控制要求,控制输入u(l,k)满足以下条件:
由数据补偿算法式(29)、参数迭代更新算法式(30)、学习控制算法式(31)、参数重置算法式(32)和u(l,k)的限制条件式(33)共同组成了交叉口控制系统的MFAILC 方案。
定理2对于交叉口系统式(16),在假设成立的条件下,采用式(30)~式(32),在存在排队长度差丢失的条件下,能够保证当l趋近于无穷时,系统的输出最大跟踪误差在整个采样周期上收敛于零。
证明其他情形定义伪梯度估计误差为:
将式(30)两边同时减去Φc(l,k),可得:
由定理1 可知,Φc(l,k)是有界的,再由式(47)可知是有界的,那么也可得出是有界的。
定义跟踪误差:
因为系统的数据是不完全丢失的,所以设kj表示数据未丢失时刻,由补偿算法式(29)可知,在相邻的没有数据丢失时刻,kj与kj-1之间有:
根据式(30)、式(31),在数据丢失时刻控制算法、参数更新算法可写为:
对式(46)两边取绝对值可得:
由式(47)可知,e(l,k+1)在迭代次数l趋近于无穷时收敛于零。
定理2 证明完毕。
本文分别通过MATLAB仿真和VISSIM-MATLAB联合仿真对算法进行验证。为快速验证算法的有效性,首先使用MATLAB 仿真对算法的可行性进行验证,然后根据VISSIM-MATLAB 联合仿真平台利用建立路网对算法进行验证。
为验证文中所述控制方案的有效性,分别给出固定配时方案、文献[18]方案和本文方案的交叉口仿真结果。
考虑一个两交叉口路段,如图1 所示。MFAILC 系统参数主要有:μ=1,η=0.01,ρ=-1,λ=1,ε=1×10-5,Φc(1)=[0.1,0.1,…,0.1]T;交通流模型的系统参数主要有:转向比r=,饱和流率s1=0.5,s2=0.6,L=2 000 m,a=1.7,b=1.8;期望排队长度差值yd=0;各相位初始绿灯时长为u=30 s,初始排队长度y=20 m。
车流量加载情况如下:
其中,k∈(0,45]为信号周期个数,x1,x2,…,x6为流入路网的车流量,n为仿真总周期数。
在上述模型的基础上利用固定配时进行仿真,结果如图2 所示。
图2 固定配时方案下的排队长度Fig.2 Queue length under fixed time scheme
从固定配时方案的仿真结果可以看出,各个路口的排队长度会随着车辆数的变化而不断增大,且各个路口之间的排队长度差也会越来越大。这种情况在实际的交通系统中会造成交通堵塞,影响出行效率。
通过对固定配时方案和MFAILC 方案的仿真结果对比分析可知,MFAILC 方案能通过改变绿灯配时使得各交叉口的排队长度趋于均衡。从各路口的排队长度变化情况也可以看出,MFAILC 方案要优于固定配时方案,这也验证了MFAILC 方案的可行性和优越性。
采用MFAILC 方案后的排队长度差、排队长度及各个路口的排队长度变化情况如图3 所示。从图3 可以看出,随着周期的变大和迭代次数的增加,排队长度差不断趋于一致,达到了期望的效果。
图3 MFAILC 方案下排队长度差Fig.3 Queue length difference under MFAILC scheme
本文需要对比固定配时方案和MFAILC 方案的控制效果以及在数据丢失下的MFAILC 方案(采用文献[18]的方法)和丢失数据补偿方案的控制效果。这样可以清晰地表述出数据丢包对实际控制系统的影响和本文提出的补偿算法的控制效果。数据丢包后的MFAILC 控制效果和补偿方案下的控制效果如图4 所示。
图4 数据丢失描述Fig.4 Data dropout description
图5~图8 为在数据丢失率为0.5 时不同方案下各个路口的交通情况,其中,图5 和图6 为文献[18]方法的控制效果,图7 和图8 为本文方案下的控制效果。
图5 数据丢失下第10 次迭代的排队长度差Fig.5 Queue length difference of the 10th iteration under data dropout
图6 第10 次迭代的排队长度差Fig.6 Queue length difference for the 10th iteration
图7 补偿方案下的排队长度差Fig.7 Queue length difference under compensation scheme
图8 补偿方案下第10 次迭代的排队长度差Fig.8 Queue length difference for the 10th iteration under the compensation scheme
首先对比图6 和图8,在数据丢包的情况下第45 个周期的排队长度差都能收敛于期望值零,但是在数据丢失时收敛速度较另外两种方案会比较慢。通过图3、图5、图7 的对比可以发现,在数据丢失的情况下实际排队长度收敛效果会很差,在补偿方案下虽然会有很大波动但也能快速达到收敛。通过对比可以看出,在数据丢失的情况下排队长度波动比较大,而收敛后能够连续保持收敛。
根据上文仿真结果对比可知,本文补偿方案能削弱数据丢失对交通控制系统的影响,通过对丢失数据的补偿,交叉口系统的排队长度差能够收敛于期望值,避免了实际交叉口交通控制中出现的“绿灯无车行、红灯排长队”的现象。
考虑一个多交叉口路网,利用VISSIM 搭建路网模型,如图9 所示,路网包含2 条主干道和4 条次干道。为证明本文算法具有普遍性,路网内同时设计了T 型交叉口、两车道与三车道交叉口等,共计有8 个路口的排队长度,包括常用的四相位和两相位控制方式,且在右转车道不设信号灯,左转占用1 个车道。仿真为30 个信号周期,每个周期为120 s,期望排队长度差为零。在没有交叉口连接的路段仅考虑到达车辆数和消散车辆数。
图9 多交叉口路网Fig.9 Multi-intersection road network
路网有各路口车流量加载数据,即流入路网车辆数,各路口各相位绿灯时长初始值如表1 所示。系统参数为:η=1.2,μ=0.005,ρ=1,λ=0.01,ε=1×10-5。
表1 车流量加载数据Table 1 Vehicle flow loading data (vehicle·h-1)
图10 为在数据丢包下MFAILC 方案控制各个路口的车辆排队长度。从图10 可以看出,在车辆完全加载结束时,经过迭代各个路口的排队长度趋于稳定,由于出现数据丢失的情况,因此各个路口的车辆排队长度还有很大幅度的波动,但由于算法的作用,整体排队情况不会出现较大震荡。
图10 数据丢包下的排队长度Fig.10 Queue length under data packet dropout
图11 为在数据丢失情况下的排队长度差与迭代次数和周期之间的关系。从图11 可以看出,在存在输出数据丢失的情况下,MFAILC 配时方案虽然能使排队长度差向着期望值靠拢,但是由于数据丢包的影响,收敛速度很慢且出现较大的震荡。
图11 数据丢失下的排队长度差Fig.11 Queue length difference under data dropout
因此,根据图10、图11 所示对交通信号控制的影响,需要数据补偿方案来削弱输出数据丢包对交叉口信号控制的影响如图12 所示。
图12 补偿方案下的路口排队长度Fig.12 Intersection queue length under compensation scheme
从图13 可以看出,在补偿方案下各个路口的排队长度经过100 次迭代后基本趋于均衡,由于路口车辆的累积作用,随着周期数的增大而增大,但是到达一定的高度则趋于一致。由于受到数据丢包的影响在达到均衡后还会出现震荡,但是由于补偿的作用则会继续趋于收敛。与图10 对比可以看出,补偿方案能有效地对丢失数据进行补偿。通过与图11的对比可以发现,补偿方案能够有效地对丢失的排队长度差值进行补偿,虽然有些补偿时刻会出现震荡,但是总体趋于平稳,达到了预期效果。
图13 补偿方案下的排队长度差Fig.13 Queue length difference under compensation scheme
本文研究道路网络控制中因数据丢包造成的道路拥堵问题,提出一种带有丢包补偿的多交叉口排队长度均衡控制方案。建立交叉口运行过程的模型,考虑到该系统的非线性系统和交叉口控制重复特性,结合MFAC 和ILC 的优点给出基于MFAILC的交叉口排队长度均衡控制方案。针对数据丢失问题,对上述方案进行改进,设计交叉口丢失数据的补偿算法,利用算法本身的伪梯度值、跟踪误差等对丢失数据进行估计。通过MATLAB 与VISSIM 的联合仿真结果表明,MFAILC 方案可使交叉口的排队长度差收敛于期望值,在实际运用中能很好地缓解道路交叉口的交通拥堵问题。在数据丢失的情况下,改进算法能够有效地对其进行补偿,削弱了数据丢失对系统的影响。由于在交通系统中,数据需进行网络传输到达交通控制中心,然而数据信号只有通过量化编码后才能进行网络传输,因此下一步将在本文研究基础上同时考虑数据量化和数据丢失的交叉口控制方案。