为解决交通拥堵问题, 缓解交通压力, 国内外学者提出了匝道控制、交叉口信号控制[1-3]等控制方法, 其中交叉口信号控制是解决交通拥堵问题的重要方法之一, 合理的交叉口的信号优化策略可以缓解城市道路拥挤程度, 提高出行效率。
自GAZIS和POTTS[4]等人对交叉口控制进行研究以来, 随着交通控制技术的发展, 交叉口控制总体应用方案可分为定时信号控制、按钮式控制和感应式控制等[5]。其中, 定时信号配时方案是当前应用最广泛的交通控制方法, 该方法通过提前设置好各个相位的信号周期来对交叉口进行控制, 在当前有些路口中根据时段不同会给出不同的配时比例, 这也属于定时信号周期的范畴。按钮式控制属于人工控制的一种, 即在有交通需求时按动按钮, 此方法适用于非交叉口(即路段上)的人行横道上。感应式控制是当前适用较广的控制方法之一, 其中根据次干道的交通需求而进行控制的方法称为半感应控制, 根据提前在路口内安装检测设备进行控制的方法称为全感应控制。
上述方法中除按钮式控制外, 其他方法均属于自动控制。采用上述自动控制策略在解决交通拥堵问题中已经起到了一定的效果, 但是随着交通量的不断增大, 上述方法已经不能满足当前需要, 如在日常交通出行中会经常出现交叉口交通流密度过大及车辆行驶缓慢问题, 或某一相位的排队长度远大于另一相位排队长度的现象。为缓解交通压力, 研究人员根据不同的控制标准提出了许多先进的控制方法, 其中, 文献[6-8]提出一种基于ILC的方案对交通信号进行控制, 通过设置学习增益对每次迭代的输入学习优化得到信号配时方案, 取得了良好的控制效果, 文献[9-11]通过道路密度均衡控制思想对交叉口进行控制, 在对交通密度控制上取得了良好的控制效果[12], 文献[13]对在网络控制中的数据丢包问题进行论述, 通过取上一时刻的输出值作为对丢失时刻输出值的补偿, 并对MFAC算法进行改进, 从而达到期望控制效果, 文献[14]应用MFAC算法通过对丢失时刻的输入值进行修正来处理数据丢失情况, 该方法在实际应用中取得了一定的控制效果。
上述交通控制研究在实际的路网控制中会受到信号波动、信号传输等条件的影响, 从而造成网络数据丢包的现象, 如在文献[13-14]方法中, 如果出现上下时刻的输出和输入差值较大的情况, 则会影响系统的补偿性能以及应用性。
由于无模型自适应迭代学习控制(MFAILC)是一种针对完全未知非线性离散系统的无模型方法, 考虑到交叉口控制系统重复和建模困难的特性, 本文基于交叉口排队长度均衡控制思想, 针对在路网网络控制中存在的数据丢包问题, 提出一种数据丢包情况下的交叉口排队长度均衡控制方法。在数据丢包情况下利用系统输入输出数据构造控制器, 并考虑到数据丢失对系统控制性能的影响, 设计一种数据丢失补偿算法。
1 系统模型及问题描述 1.1 系统模型根据储存转发模型的建模方法[15], 本节考虑过饱和交叉口的动态特性, 给出交叉口各指标的数学描述。四相位交叉口示意图如图 1所示。
![]() |
Download:
|
图 1 四相位交叉口示意图 Fig. 1 Schematic diagram of four-phase intersection |
从图 1可以看出, 四相位交叉口包含了东西、南北方向的直行、右转、左转等4个相位, 对于2个交叉口分别有8个排队长度, 排队长度定义如下:在交叉口1, 相位1(东西)西向东、东向西的排队长度为
根据文献[16-17], 在路口
$ {x_z}\left( {k + 1} \right) = {x_z}\left( k \right) + q_z^{{\rm{in}}}\left( k \right) - q_z^{{\rm{out}}}\left( k \right) + {p_z}\left( k \right) - {q_z}\left( k \right) $ | (1) |
其中,
$ q_z^{{\rm{in}}}\left( k \right) = \mathop \sum \limits_{m \in {I_{{c_1}}}} {r_m}{s_m}{u_m}\left( k \right) $ | (2) |
$ q_z^{{\rm{out}}}\left( k \right) = \mathop \sum \limits_{n \in V} {r_n}{s_n}{u_n}\left( k \right) $ | (3) |
其中,
绿灯时间满足如下条件:
$ \mathop \sum \limits_{i \in {F_c}} {u_{c, i}}\left( k \right) + {t_c} = T $ | (4) |
$ {u_{{\rm{min}}}} < {u_{c, i}}\left( k \right) < {u_{{\rm{max}}}} $ | (5) |
其中,
将式(2)、式(3)代入式(1)可得:
$ {x_z}\left( {k + 1} \right) = {x_z}\left( k \right) + \mathop \sum \limits_{m \in {I_{{c_1}}}} {r_m}{s_m}{u_m}\left( k \right) - \mathop \sum \limits_{n \in V} {r_n}{s_n}{u_n}\left( k \right) + {d_z}\left( k \right) $ | (6) |
$ \begin{array}{l} \mathop \sum \limits_{m \in {I_{{c_1}}}} {r_m}{s_m}{u_m}\left( k \right) - \mathop \sum \limits_{n \in V} {r_n}{s_n}{u_n}\left( k \right) = \\ \left[ {{r_{m1}}{s_{m1}}{r_{m2}}{s_{m2}}{r_{m3}}{s_{m3}} - {r_{n1}}{s_{n1}} - {r_{n2}}{s_{n1}}{\rm{}} - {r_{n3}}{s_{n1}}} \right] \times \\ {[{u_{m1}}\left( k \right){\rm{}}{u_{m2}}\left( k \right){\rm{}}{u_{m3}}\left( k \right){\rm{}}{u_{n1}}\left( k \right){\rm{}}{u_{n2}}\left( k \right){\rm{}}{u_{n3}}\left( k \right)]^{\rm{T}}} = \\ \mathit{\boldsymbol{b}} \times \mathit{\boldsymbol{u}}\left( k \right) \end{array} $ | (7) |
其中:
$ \mathit{\boldsymbol{b}} = \left[ {{r_{m1}}{s_{m1}}{\rm{}}{r_{m2}}{s_{m2}}{\rm{}}{r_{m3}}{s_{m3}}{\rm{}} - {r_{n1}}{s_{n1}}{\rm{}} - {r_{n2}}{s_{n1}}{\rm{}} - {r_{n3}}{s_{n1}}} \right] $ |
$ \mathit{\boldsymbol{u}}\left( k \right) = {[{u_{m1}}\left( k \right){\rm{}}{u_{m2}}\left( k \right){\rm{}}{u_{m3}}\left( k \right){\rm{}}{u_{n1}}\left( k \right){\rm{}}{u_{n2}}\left( k \right){\rm{}}{u_{n3}}\left( k \right)]^{\rm{T}}} $ |
根据式(7), 式(6)可改写为:
$ {x_z}\left( {k + 1} \right) = {x_z}\left( k \right) + \mathit{\boldsymbol{bu}}\left( k \right) + {d_z}\left( k \right) $ | (8) |
路段
$ {y_z}\left( {k + 1} \right) = {y_z}\left( k \right) + {Q_z}\left( k \right) - q_z^{{\rm{out}}}\left( k \right) $ | (9) |
其中,
$ {Q_z}\left( k \right) = {\rm{min}}\left\{ {{\rho _z}\left( k \right){v_z}\left( k \right){n_z}T, } \right.\left. {{x_z}\left( k \right) - {y_z}\left( k \right)} \right\} $ | (10) |
其中, 路段
当
$ {v_z}\left( {{\rho _z}\left( k \right)} \right) = {v_{{\rm{free}}}} \times {\left[ {1 - {{\left( {\frac{{{\rho _z}\left( k \right)}}{{{\rho _{{\rm{max}}}}}}} \right)}^a}} \right]^b} $ | (11) |
否则:
$ {v_z}\left( k \right) = \left\{ {\begin{array}{*{20}{c}} {{v_{{\rm{free}}}}, {\rm{}}{\rho _z}\left( k \right) < {\rho _{{\rm{min}}}}}\\ {{v_{{\rm{min}}}}, {\rho _z}\left( k \right) > {\rho _{{\rm{max}}}}} \end{array}} \right. $ | (12) |
其中,
式(11)、式(12)中的
$ {\rho _z}\left( k \right) = \frac{{{x_z}\left( k \right) - {y_z}\left( k \right)}}{{{n_z}\left( {{L_z} - \frac{{{y_z}\left( k \right)}}{{{n_z} \times {\rho _{{\rm{max}}}}}}} \right)}} $ | (13) |
其中,
由于
$ {y_z}\left( {k + 1} \right) = {y_z}\left( k \right) + f\left( {{x_z}\left( k \right), {y_z}\left( k \right)} \right) - q_z^{{\rm{out}}}\left( k \right) $ | (14) |
其中,
根据式(7), 式(14)可改写为:
$ {y_z}\left( {k + 1} \right) = {y_z}\left( k \right) + f\left( {{x_z}\left( k \right), {y_z}\left( k \right)} \right) - \mathit{\boldsymbol{a}} \times \bar u\left( k \right) $ | (15) |
其中,
根据式(8)、式(15), 四相位交叉口的排队长度动态方程如下所示:
$ \left\{ {\begin{array}{*{20}{l}} {\mathit{\boldsymbol{x}}\left( {k + 1} \right) = \mathit{\boldsymbol{x}}\left( k \right) + \mathit{\boldsymbol{bu}}\left( k \right) + \mathit{\boldsymbol{d}}\left( k \right)}\\ {\mathit{\boldsymbol{y}}\left( {k + 1} \right) = \mathit{\boldsymbol{y}}\left( k \right) + \mathit{\boldsymbol{f}}\left( {x\left( k \right),\mathit{\boldsymbol{y}}\left( k \right)} \right) + \mathit{\boldsymbol{au}}\left( k \right)} \end{array}} \right. $ | (16) |
在交叉口系统中时常会出现"红灯排长队, 绿灯无车行"的现象, 这种现象降低了交叉口绿灯使用效率, 增加了出行成本。
排队长度均衡控制思想根据交叉口的实际排队长度合理分配绿灯时间, 实现各交叉口排队长度的均衡控制。在交叉口交通控制中的固定配时方案下, 随着周期数的增加, 两个交叉口的排队长度差值会越来越大, 这样的配时是不合理的, 需要根据实际排队长度对信号灯重新配时, 使交叉口的排队长度达到平衡, 所以均衡控制思想能够合理地分配信号灯的时长, 使得各路口的排队长度达到均衡。
基于均衡控制思想, 首先定义一个反映控制方案效果的指标, 即交叉口排队长度差(Queuing Length Difference, QLD)。定义在同一个交叉口下, 其中各相位中最大的排队长度为该方向上的排队长度, 其表示如下:
$ {L_{c, j}}\left( {l, k + 1} \right) = {\rm{max}}\left\{ {{y_{c, i}}\left( {l, k + 1} \right), } \right.\left. {{y_{c, i + 2}}\left( {l, k + 1} \right)} \right\}\\ c = 1, 2,i = 1, 2,j = 1, 2 $ | (17) |
$ \begin{array}{l} {z_c}\left( {l, k + 1} \right) = {\rm{max}}\left\{ {{L_{c, j}}\left( {l, k + 1} \right){L_{c, j + 1}}\left( {l, k + 1} \right)} \right\}\\ c = 1, 2 \end{array} $ | (18) |
$ \begin{array}{l} Y\left( {l, k + 1} \right) = {Z_1}\left( {l, k + 1} \right) - {Z_2}\left( {l, k + 1} \right) \end{array} $ | (19) |
其中,
在1.1节中, 首先对交叉口进行建模, 得到的系统动态模型式(16)满足如下假设:
假设1 对于式(16)中的函数
$ \begin{array}{l} \left\| {f\left( {x\left( {1,k} \right),y\left( {1,k} \right)} \right) - f\left( {x\left( {2,k} \right),y\left( {2,k} \right)} \right)} \right\| \le \\ {k_x}\left\| {x\left( {2,k} \right) - x\left( {1,k} \right)} \right\| + {k_y}\left\| {y\left( {2,k} \right) - y\left( {1,k} \right)} \right\| \end{array} $ | (20) |
其中,
假设2 给定期望向量
$ \left\{ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{x}}_d}\left( {k + 1} \right) = {\mathit{\boldsymbol{x}}_d}\left( k \right) + \mathit{\boldsymbol{b}}{\mathit{\boldsymbol{u}}_d}(k) + \mathit{\boldsymbol{d}}\left( k \right)}\\ {{\mathit{\boldsymbol{y}}_d}\left( {k + 1} \right) = {\mathit{\boldsymbol{y}}_d}\left( k \right) + f\left( {{{\boldsymbol{x}}_d}\left( k \right), {\mathit{\boldsymbol{y}}_d}\left( k \right)} \right) + \mathit{\boldsymbol{a}}{\mathit{\boldsymbol{u}}_d}\left( k \right)} \end{array}} \right. $ | (21) |
根据式(17)~式(19), 交叉口的排队长度差可以转换为:
$ Y\left( {l, k + 1} \right) = f\left( {Y\left( {l, k} \right), \mathit{\boldsymbol{u}}\left( {l, k} \right)} \right) $ | (22) |
其中,
定义排队误差
$ e\left( {l, k} \right) = {Y_d}\left( k \right) - Y\left( {l - 1, k} \right) $ | (23) |
考虑到网络控制过程中受到各种因素的影响, 导致排队长度差值数据在传输过程中存在数据丢失的现象。本文将数据丢失现象描述为概率已知的伯努利序列
$ \alpha \left( {l, k} \right) = \left\{ {\begin{array}{*{20}{c}} {0, Y\left( {l, k} \right){\rm{}}数据丢失}\\ {1, 其他{\rm{}}\begin{array}{*{20}{c}} \;&\;&\; \end{array}} \end{array}} \right. $ | (24) |
本文的控制任务是基于式(16)在满足各初始的条件下, 寻找信号灯的最优控制
本节基于MFAILC方法[18], 提出数据丢包情况下的交叉口排队长度均衡控制方案。该方案通过调节信号灯
假设3 在式(22)中,
假设4 在交叉口交通系统式(22)中, 对任意时刻
定理1 在满足上述假设条件下的系统式(22), 当
$ {\rm{\Delta }}Y\left( {l, k + 1} \right) = {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) $ | (25) |
其中,
当存在数据丢失的情况下时, 排队长度差可由式(26)表示:
$ \bar Y\left( {l, k} \right) = \left\{ {\begin{array}{*{20}{c}} {Y\left( {l, k} \right)\alpha \left( {l, k} \right) = 1}\\ {\hat Y\left( {l, k} \right), \alpha \left( {l, k} \right) = 0} \end{array}} \right. $ | (26) |
由此, 式(23)、式(25)可分别改写为:
$ e\left( {l, k} \right) = {Y_d}\left( k \right) - \bar Y\left( {l, k} \right) $ | (27) |
$ {\rm{\Delta }}\bar Y\left( {l, k + 1} \right) = {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) $ | (28) |
当输出数据丢失时, 可以根据式(28)利用
$ \hat Y\left( {l, k + 1} \right) = \bar Y\left( {l - 1, k + 1} \right) + {\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) $ | (29) |
因为
$ \begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l, k} \right) = {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1, k} \right) + \frac{{\alpha \left( {l, k} \right)\eta {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1, k} \right)}^{\rm{T}}}}}{{\mu + || {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1, k} \right)} ||^2 }}} \times }\\ {\;\;\;\;\;\;\;\;\;\;\;\;\left( {{\rm{\Delta }}\bar Y\left( {l - 1, k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1, k} \right)} \right)} \end{array} $ | (30) |
其中,
基于式(30), 设计数据丢失下的控制器为:
$ \begin{array}{*{20}{l}} {\mathit{\boldsymbol{u}}\left( {l, k} \right) = \mathit{\boldsymbol{u}}\left( {l - 1, k} \right) + \frac{{\rho {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l, k} \right)}^{\rm{T}}}}}{{\lambda + || {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l, k} \right)}||^2}}} \times }\\ \;\;\;\;\;\;\;{{\rm{}}e\left( {l - 1, k + 1} \right)} \end{array} $ | (31) |
其中,
为提高式(30)对时变参数的跟踪能力, 定义如下参数重置机制:
$ \begin{array}{*{20}{l}} {{{\hat \phi }_{i,c}}\left( {l,k} \right) = {{\hat \phi }_{i,c}}\left( {1,k} \right),\left| {{{\hat \phi }_{i,c}}\left( {l,k} \right)} \right| \le \varepsilon ,\left| {\Delta {u_i}\left( {l - 1,k} \right)} \right| \le \varepsilon ,}\\ {{\rm{sign}}\left( {{{\hat \phi }_{i,c}}\left( {l,k} \right)} \right) \ne {\rm{sign}}\left( {{{\hat \phi }_{i,c}}\left( {1,k} \right)} \right),i = 1,2, \cdots ,8} \end{array} $ | (32) |
其中,
为使该方案满足实际道路控制要求, 控制输入
$ \mathit{\boldsymbol{u}}\left( {l,k} \right) = \left\{ \begin{array}{l} \mathit{\boldsymbol{u}}\left( {l,k} \right),{\rm{}}{u_{{\rm{min}}}} < \mathit{\boldsymbol{u}}\left( {l,k} \right) < {u_{{\rm{max}}}}\\ {\mathit{\boldsymbol{u}}_{{\rm{min}}}},\mathit{\boldsymbol{u}}\left( {l,k} \right) < {u_{{\rm{min}}}}\\ {\mathit{\boldsymbol{u}}_{{\rm{max}}}},\mathit{\boldsymbol{u}}\left( {l,k} \right) > {u_{{\rm{max}}}} \end{array} \right. $ | (33) |
由数据补偿算法式(29)、参数迭代更新算法式(30)、学习控制算法式(31)、参数重置算法式(32)和
定理2 对于交叉口系统式(16), 在假设成立的条件下, 采用式(30)~式(32), 在存在排队长度差丢失的条件下, 能够保证当
证明 其他情形定义伪梯度估计误差为:
$ {\mathit{\boldsymbol{ \boldsymbol{\tilde \varPhi} }}_c}\left( {l,k} \right) = {\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l,k} \right) - {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) $ |
将式(30)两边同时减去
$ \begin{array}{*{20}{l}} {{\rm{}}\mathit{\boldsymbol{}}{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l,k} \right){\rm{}} = {\rm{}}{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right){\rm{}} - \left( {{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right){\rm{}} - {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l - 1,k} \right)} \right) + }\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\alpha \left( {l,k} \right)\left[ {\frac{{\eta {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}}}{{\mu + || {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)} || ^2}}}} \right.({\rm{\Delta }}\bar Y\left( {l - 1,k + 1} \right) - }\\ {\left. {\begin{array}{*{20}{c}} {}\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1,k} \right))}\\ {} \end{array}} \right]} \end{array} $ | (34) |
将式(28)代入式(34), 可得:
$ \begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l,k} \right) = {{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \Delta {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) + }\\ {\alpha \left( {l,k} \right)\left[ {\frac{{\eta \Delta \mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}} \right. \times }\\ {\left. {\begin{array}{*{20}{c}} {}\\ {\left( {{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l - 1,k} \right)\Delta \boldsymbol{u}\left( {l - 1,k} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right)\Delta \boldsymbol{u}\left( {l - 1,k} \right)} \right)}\\ {} \end{array}} \right] = }\\ {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \alpha \left( {l,k} \right) \times \frac{{\eta \Delta \mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}} \times }\\ {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \Delta {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) = }\\ {\left( {1 - \alpha \left( {l,k} \right)\frac{{\eta {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}} \right) \times }\\ {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \Delta {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right)} \end{array} $ | (35) |
由式(35)可以看出, 当
$ \begin{array}{*{20}{l}} {0 < \left\| {\left( {1 - \alpha \left( {l,k} \right)\frac{{\eta {{\left\| {{\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}{{\mu + {{\left\| {{\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l,k} \right)} \right\|}^2}}}} \right)} \right\| \le }\\ {1 - \frac{{\eta {\varepsilon ^2}}}{{\mu + {\varepsilon ^2}}} = d < 1} \end{array} $ | (36) |
由定理1可知,
$ \begin{array}{*{20}{l}} {\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l,k} \right)} \right\| \le d\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right)} \right\| + 2\bar b \le }\\ {{d^2}\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 2,k} \right)} \right\| + 2d\bar b + 2\bar b \le \cdots \le }\\ {{d^{l - 1}}\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {1,k} \right)} \right\| + \frac{{2\bar b\left( {1 - {d^{l - 1}}} \right)}}{{1 - d}}} \end{array} $ | (37) |
由定理1可知,
定义跟踪误差:
$ e\left( {l, k + 1} \right) = {Y_d}\left( {k + 1} \right) - \bar Y\left( {l, k + 1} \right) $ | (38) |
因为系统的数据是不完全丢失的, 所以设
$ \begin{array}{l} e\left( {l, k + 1} \right) = {Y_d}\left( {k + 1} \right) - \bar Y\left( {l, k + 1} \right) = \\ {Y_d}\left( {k + 1} \right) - \bar Y\left( {l - 1, k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) = \\ e\left( {l - 1, k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) \end{array} $ | (39) |
根据式(30)、式(31), 在数据丢失时刻控制算法、参数更新算法可写为:
$ \begin{array}{*{20}{l}} {\mathit{\boldsymbol{u}}\left( {l,k} \right) = \mathit{\boldsymbol{u}}\left( {l - 1,k} \right) + \frac{{\rho {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}} \times }\\ \;\;\;\;\;\;\;\;\;\;\;\;{\left[ {e\left( {l - 1,k + 1} \right)} \right]} \end{array} $ | (40) |
$ {\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l,k} \right) = \left\{ {\begin{array}{*{20}{l}} {\begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right) + \frac{{\eta {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}}}{{\mu + {{\left\| {{\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}} \times }\\ {({\rm{\Delta }}\bar Y\left( {l - 1,k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right) \times }\\ {{\rm{\Delta }} {\boldsymbol{u}} \left( {l - 1,k} \right)),{\rm{}}k = {k_j},{\rm{}}k = {k_{j - 1}}} \end{array}}\\ {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right),{\rm{}}{k_{j - 1}} < k < {k_j}\begin{array}{*{20}{c}} {}&{} \end{array}} \end{array}} \right. $ | (41) |
将式(40)代入式(39), 可得:
$ \begin{array}{*{20}{l}} {e\left( {l,k + 1} \right) = \left( {1 - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)\frac{{\rho {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}}} \right) \times }\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;e\left( {l - 1,k + 1} \right)} \end{array} $ | (42) |
由式(37)证明
$ 0 < {M_1} \le \frac{{{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right){{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}} $ | (43) |
利用不等式
$ \begin{array}{*{20}{l}} {0 < {M_1} \le \frac{{{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right){{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}} \le }\\ \;\;\;\;\;\;\;\;\;\;\;{{\rm{}}\frac{{{b^2}}}{{2\sqrt \lambda b}} < \frac{b}{{2\sqrt {{\lambda _{{\rm{min}}}}} }} = 1} \end{array} $ | (44) |
定义
$ c\left( {l, k} \right) \le 1 - \rho {M_1} = {d_2} < 1 $ | (45) |
式(42)可写为:
$ e\left( {l, k + 1} \right) = c\left( {l, k} \right)e\left( {l - 1, k + 1} \right) $ | (46) |
对式(46)两边取绝对值可得:
$ \begin{array}{*{20}{l}} {\left| {e\left( {l, k + 1} \right)} \right| = c\left( {l, k} \right)\left| {e\left( {l - 1, k + 1} \right)} \right| \le }\\ {\begin{array}{*{20}{c}} {}&{}&{}&{} \end{array}{\rm{}}{d_2}\left| {e\left( {l - 1, k + 1} \right)} \right| \le \ldots \le {d_2}^{l - 1}\left| {e\left( {1, k + 1} \right)} \right|} \end{array} $ | (47) |
由式(47)可知,
定理2证明完毕。
4 仿真结果与分析本文分别通过MATLAB仿真和VISSIM-MATLAB联合仿真对算法进行验证。为快速验证算法的有效性, 首先使用MATLAB仿真对算法的可行性进行验证, 然后根据VISSIM-MATLAB联合仿真平台利用建立路网对算法进行验证。
4.1 MATLAB仿真为验证文中所述控制方案的有效性, 分别给出固定配时方案、文献[18]方案和本文方案的交叉口仿真结果。
考虑一个两交叉口路段, 如图 1所示。MFAILC系统参数主要有:
车流量加载情况如下:
$ \begin{array}{*{20}{l}} {{\rm{}}{x_1}\left( k \right) = 5 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_2}\left( k \right) = 10 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_3}\left( k \right) = 15 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_4}\left( k \right) = 15 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_5}\left( k \right) = 20 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_6}\left( k \right) = 25 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)} \end{array} $ | (48) |
其中,
在上述模型的基础上利用固定配时进行仿真, 结果如图 2所示。
![]() |
Download:
|
图 2 固定配时方案下的排队长度 Fig. 2 Queue length under fixed time scheme |
从固定配时方案的仿真结果可以看出, 各个路口的排队长度会随着车辆数的变化而不断增大, 且各个路口之间的排队长度差也会越来越大。这种情况在实际的交通系统中会造成交通堵塞, 影响出行效率。
通过对固定配时方案和MFAILC方案的仿真结果对比分析可知, MFAILC方案能通过改变绿灯配时使得各交叉口的排队长度趋于均衡。从各路口的排队长度变化情况也可以看出, MFAILC方案要优于固定配时方案, 这也验证了MFAILC方案的可行性和优越性。
采用MFAILC方案后的排队长度差、排队长度及各个路口的排队长度变化情况如图 3所示。从图 3可以看出, 随着周期的变大和迭代次数的增加, 排队长度差不断趋于一致, 达到了期望的效果。
![]() |
Download:
|
图 3 MFAILC方案下排队长度差 Fig. 3 Queue length difference under MFAILC scheme |
本文需要对比固定配时方案和MFAILC方案的控制效果以及在数据丢失下的MFAILC方案(采用文献[18]的方法)和丢失数据补偿方案的控制效果。这样可以清晰地表述出数据丢包对实际控制系统的影响和本文提出的补偿算法的控制效果。数据丢包后的MFAILC控制效果和补偿方案下的控制效果如图 4所示。
![]() |
Download:
|
图 4 数据丢失描述 Fig. 4 Data dropout description |
图 5~图 8为在数据丢失率为0.5时不同方案下各个路口的交通情况, 其中, 图 5和图 6为文献[18]方法的控制效果, 图 7和图 8为本文方案下的控制效果。
![]() |
Download:
|
图 5 数据丢失下第10次迭代的排队长度差 Fig. 5 Queue length difference of the 10th iteration under data dropout |
![]() |
Download:
|
图 6 第10次迭代的排队长度差 Fig. 6 Queue length difference for the 10th iteration |
![]() |
Download:
|
图 7 补偿方案下的排队长度差 Fig. 7 Queue length difference under compensation scheme |
![]() |
Download:
|
图 8 补偿方案下第10次迭代的排队长度差 Fig. 8 Queue length difference for the 10th iteration under the compensation scheme |
首先对比图 6和图 8, 在数据丢包的情况下第45个周期的排队长度差都能收敛于期望值零, 但是在数据丢失时收敛速度较另外两种方案会比较慢。通过图 3、图 5、图 7的对比可以发现, 在数据丢失的情况下实际排队长度收敛效果会很差, 在补偿方案下虽然会有很大波动但也能快速达到收敛。通过对比可以看出, 在数据丢失的情况下排队长度波动比较大, 而收敛后能够连续保持收敛。
根据上文仿真结果对比可知, 本文补偿方案能削弱数据丢失对交通控制系统的影响, 通过对丢失数据的补偿, 交叉口系统的排队长度差能够收敛于期望值, 避免了实际交叉口交通控制中出现的"绿灯无车行、红灯排长队"的现象。
4.2 MATLAB-VISSIM联合仿真考虑一个多交叉口路网, 利用VISSIM搭建路网模型, 如图 9所示, 路网包含2条主干道和4条次干道。为证明本文算法具有普遍性, 路网内同时设计了T型交叉口、两车道与三车道交叉口等, 共计有8个路口的排队长度, 包括常用的四相位和两相位控制方式, 且在右转车道不设信号灯, 左转占用1个车道。仿真为30个信号周期, 每个周期为120 s, 期望排队长度差为零。在没有交叉口连接的路段仅考虑到达车辆数和消散车辆数。
![]() |
Download:
|
图 9 多交叉口路网 Fig. 9 Multi-intersection road network |
路网有各路口车流量加载数据, 即流入路网车辆数, 各路口各相位绿灯时长初始值如表 1所示。系统参数为:
![]() |
下载CSV 表 1 车流量加载数据 Table 1 Vehicle flow loading data |
图 10为在数据丢包下MFAILC方案控制各个路口的车辆排队长度。从图 10可以看出, 在车辆完全加载结束时, 经过迭代各个路口的排队长度趋于稳定, 由于出现数据丢失的情况, 因此各个路口的车辆排队长度还有很大幅度的波动, 但由于算法的作用, 整体排队情况不会出现较大震荡。
![]() |
Download:
|
图 10 数据丢包下的排队长度 Fig. 10 Queue length under data packet dropout |
图 11为在数据丢失情况下的排队长度差与迭代次数和周期之间的关系。从图 11可以看出, 在存在输出数据丢失的情况下, MFAILC配时方案虽然能使排队长度差向着期望值靠拢, 但是由于数据丢包的影响, 收敛速度很慢且出现较大的震荡。
![]() |
Download:
|
图 11 数据丢失下的排队长度差 Fig. 11 Queue length difference under data dropout |
因此, 根据图 10、图 11所示对交通信号控制的影响, 需要数据补偿方案来削弱输出数据丢包对交叉口信号控制的影响如图 12所示。
![]() |
Download:
|
图 12 补偿方案下的路口排队长度 Fig. 12 Intersection queue length under compensation scheme |
从图 13可以看出, 在补偿方案下各个路口的排队长度经过100次迭代后基本趋于均衡, 由于路口车辆的累积作用, 随着周期数的增大而增大, 但是到达一定的高度则趋于一致。由于受到数据丢包的影响在达到均衡后还会出现震荡, 但是由于补偿的作用则会继续趋于收敛。与图 10对比可以看出, 补偿方案能有效地对丢失数据进行补偿。通过与图 11的对比可以发现, 补偿方案能够有效地对丢失的排队长度差值进行补偿, 虽然有些补偿时刻会出现震荡, 但是总体趋于平稳, 达到了预期效果。
![]() |
Download:
|
图 13 补偿方案下的排队长度差 Fig. 13 Queue length difference under compensation scheme |
本文研究道路网络控制中因数据丢包造成的道路拥堵问题, 提出一种带有丢包补偿的多交叉口排队长度均衡控制方案。建立交叉口运行过程的模型, 考虑到该系统的非线性系统和交叉口控制重复特性, 结合MFAC和ILC的优点给出基于MFAILC的交叉口排队长度均衡控制方案。针对数据丢失问题, 对上述方案进行改进, 设计交叉口丢失数据的补偿算法, 利用算法本身的伪梯度值、跟踪误差等对丢失数据进行估计。通过MATLAB与VISSIM的联合仿真结果表明, MFAILC方案可使交叉口的排队长度差收敛于期望值, 在实际运用中能很好地缓解道路交叉口的交通拥堵问题。在数据丢失的情况下, 改进算法能够有效地对其进行补偿, 削弱了数据丢失对系统的影响。由于在交通系统中, 数据需进行网络传输到达交通控制中心, 然而数据信号只有通过量化编码后才能进行网络传输, 因此下一步将在本文研究基础上同时考虑数据量化和数据丢失的交叉口控制方案。
[1] |
WU Bing, LI Ye. Traffic management and control[M]. Beijing: China Communications Press, 2009. (in Chinese) 吴兵, 李晔. 交通管理与控制[M]. 北京: 人民交通出版社, 2009. |
[2] |
GARTNER N H.Development and testing of a demand-responsive strategy for traffic signal control[C]//Proceedings of American Control Conference.Arlington, USA: IEEE Press, 2009: 1-10.
|
[3] |
BELL M G H. Future directions in traffic signal control[J]. Transportation Research Part A:Policy and Practice, 1992, 26(4): 303-313. DOI:10.1016/0965-8564(92)90018-3 |
[4] |
GAZIS D C, POTTS R B.The oversaturated intersection[C]//Proceedings of the 2nd International Symposium on Theory of Road Traffic Flow.London, UK: [s.n.], 1963: 35.
|
[5] |
GORDON R L, TIGHE W. Traffic control systems handbook[M]. [S.1.]: U.S.Government Printing Office, 2005.
|
[6] |
ZHENG Yichen, ZHANG Yi, HU Jianming. Iterative learning based adaptive traffic signal control[J]. Journal of Transportation Systems Engineering and Information Technology, 2010, 10(16): 34-40. (in Chinese) 郑一辰, 张毅, 胡坚明. 一种基于迭代学习的自适应交通信号控制方法[J]. 交通运输系统工程与信息, 2010, 10(16): 34-40. |
[7] |
ZHANG Long, YU Fashan, KANG Hong, et al. Study on method of signal timing at one over-saturation intersection[J]. Electronic Measurement Technology, 2016, 39(5): 150-153. (in Chinese) 张龙, 余发山, 康洪, 等. 过饱和单交叉口信号配时控制算法的研究[J]. 电子测量技术, 2016, 39(5): 150-153. DOI:10.3969/j.issn.1002-7300.2016.05.041 |
[8] |
YAN Fei, TIAN Fuli, SHI Zhongke. Iterative learning control for urban traffic signals and the impacts on macroscopic fundamental diagram of road networks[J]. Control Theory & Applications, 2016, 33(5): 645-652. (in Chinese) 闫飞, 田福礼, 史忠科. 城市交通信号的迭代学习控制及其对路网宏观基本图的影响[J]. 控制理论与应用, 2016, 33(5): 645-652. |
[9] |
QI Chi, HOU Zhongsheng, JIA Yan. Optimal signal timing strategy based on the equilibrium of queue length[J]. Control and Decision, 2012, 27(8): 1191-1194, 1200. (in Chinese) 齐驰, 侯忠生, 贾琰. 基于排队长度均衡的交叉口信号配时优化策略[J]. 控制与决策, 2012, 27(8): 1191-1194, 1200. |
[10] |
HAO Jiangen, HOU Zhongsheng, LIU Xiangbin. Vehicle queuing length balanced-control of the signalized isolated intersection via multi-parametric programming[J]. Control and Decision, 2013, 28(4): 595-599. (in Chinese) 郝建根, 侯忠生, 柳向斌. 基于多参数规划的单交叉口排队长度均衡控制[J]. 控制与决策, 2013, 28(4): 595-599. |
[11] |
ZHAO Huan.Green time model free adaptive control of isolated intersection[D].Beijing: Beijing Jiaotong University, 2009.(in Chinese) 赵欢.单信号交叉口绿灯时间无模型自适应控制[D].北京: 北京交通大学, 2009. |
[12] |
WEN Kaige, QU Shiru, ZHANG Yumei. Multiphase traffic signal adaptive controlling model for urban isolated intersection[J]. Journal of System Simulation, 2009, 21(10): 3066-3070. (in Chinese) 温凯歌, 曲仕茹, 张玉梅. 城市单交叉口信号多相位自适应控制模型[J]. 系统仿真学报, 2009, 21(10): 3066-3070. |
[13] |
HOU Zhongsheng, BU Xuhui. Model free adaptive control with data dropouts[J]. Expert Systems with Applications, 2011, 38(8): 10709-10717. DOI:10.1016/j.eswa.2011.01.158 |
[14] |
PANG Zhonghua, LIU Guoping, ZHOU Donghua, et al. Data-driven control with input design-based data dropout compensation for networked nonlinear Systems[J]. IEEE Transactions on Control Systems Technology, 2017, 25(2): 628-636. DOI:10.1109/TCST.2016.2557278 |
[15] |
HAO Jiangen.Application research on traffic control based on data-driven control approaches[D].Beijing: Beijing Jiaotong University, 2013.(in Chinese) 郝建根.数据驱动控制方法在交通控制中的应用研究[D].北京: 北京交通大学, 2013. |
[16] |
YAN Fei, YAN Gaowei, REN Mifeng, et al. A novel control strategy for balancing traffic flow in urban traffic network based on iterative learning control[J]. Physica A:Statistcal Mechanics and Its Applications, 2018, 508: 519-531. DOI:10.1016/j.physa.2018.05.134 |
[17] |
YAN Fei, TIAN Fuli, SHI Zhongke. An iterative learning approach for traffic signal control of urban road networks[J]. IET Control Theory and Applications, 2017, 11(4): 466-475. DOI:10.1049/iet-cta.2016.0376 |
[18] |
HOU Zhongsheng, JIN Shangtai. Model-free adaptive control theory and application[M]. Beijing: Science Press, 2013. (in Chinese) 侯忠生, 金尚泰. 无模型自适应控制理论与应用[M]. 北京: 科学出版社, 2013. |
[19] |
XU Piaopiao, BU Xuhui. The optimization control simulation of pH of the wastewater discharge in chemical production[J]. Computer Simulation, 2017, 34(7): 326-330. (in Chinese) 许漂漂, 卜旭辉. 化工生产废水中pH值排放优化控制仿真[J]. 计算机仿真, 2017, 34(7): 326-330. DOI:10.3969/j.issn.1006-9348.2017.07.073 |
[20] |
HOU Zhongsheng, JIN Shangtai. Data driven model-free adaptive control for a class of MIMO nonlinear discrete-time systems[J]. IEEE Transactions on Neural Networks, 2011, 22(12): 2173-2188. DOI:10.1109/TNN.2011.2176141 |