一种交叉口自适应信号控制算法的制作方法
未命名
07-18
阅读:134
评论:0

1.本发明智能交通技术领域,尤其涉及一种交叉口自适应信号控制算法。
背景技术:
2.计算机和通信领域的技术突破为新一代交通控制策略的开发和实施奠定了基础。随着城市交通拥堵的加剧,人们正在致力于设计和部署高效的信号控制方法,尤其是在干道路网中对该类方法研究较多。尽管通过中心城区的限号和车辆诱导等策略可以缓解拥堵,但是改进信号控制策略仍然是高效、稳定且十分重要的途径。实时信号控制能够对当前交通状况做出自动响应,是一种比固定式信号配时更高效的信控方式。
3.在过去的几十年里,人们开发了许多信号控制方法,有些已经得到应用,有些还处于研究阶段。scoot和scats是自适应交通控制系统的早期例子。这两个系统都是中央控制的,这种控制方式需要获取路网中所有交通状态参数,要应用这种系统,必须收集交叉口上的所有信息并将其传输到一个中心位置(即交通管理中心)。这种控制方式带来了较高的设备安装、系统运行和设备维护成本,在一定程度上阻碍了自适应控制的推广应用。
4.对于自适应交通控制,以往的研究大多考虑了路网的运行效率,对于路网运行的稳定性讨论较少。因此如何研究出一套既能提高路网运行效率又能保证路网运行稳定性的自适应交通控制算法,已经成为信号控制算法具备可落地性的前提。因此,我们通过这项发明研究弥补这些不足。
技术实现要素:
5.本发明的目的在于,解决现有技术的不足之处,提出一种交叉口自适应信号控制算法,即最大压强法,它是一种分散式控制方法,该方法不需要类似于交通管理中心的设备,只需要少量的交通参数,更容易实现也更便宜,且能够兼顾路网运行效率和路网运行稳定性。
6.一种交叉口自适应信号控制算法,包括以下步骤:
7.s1:交通状态基础数据获取;
8.s2:路网车流运动简化建模;
9.s3:信号控制要素建模;
10.s4:交叉口最大压强计算;
11.s5:相位激活控制策略。
12.而且,步骤s1中的交通状态基础数据获取具体包括如下步骤:
13.s11:获取视频数据;本研究基于目前城市交叉口最常用的数据获取方式——视频摄像头采集法,数据来源均默认为视频数据;
14.s12:对已经获取的视频数据进行格式转换,将整段视频数据转换为量化数据,例如流量、速度、车头时距、延误、排队长度等数值;
15.s13:信号控制的首要条件是获取能够精确表征交通状态的参数,本发明所采用的
最大压强控制算法仅需要获取进口道的排队长度,所以,从上述诸多交通参数中筛选排队长度的数据,作为后续信号控制算法的唯一输入参数。
16.而且,步骤s2中的路网车流运动简化建模具体包括如下步骤:
17.s21:基于马尔科夫链原理,将车流在路网中的转向运动简化成有向链路图,用箭头表示路段,用黑色的圆表示节点或交叉口,在此基础上,构建路径和流量守恒模型;
18.s22:在该守恒模型中,路网是有向路段和交叉口或节点l∈l
all
的集合;有三种类型的路段:内部路段(l∈l)有开始节点和结束节点;驶入路段(l∈l
entry
)没有开始节点;驶出路段(l∈l
exit
)没有结束节点;如果l有一个结束节点n,m有一个开始节点n,那么路段l就是路段m的输入,即路段m是路段l的输出;使用以下符号记录:
19.l
all
=所有路段l,m,k的集合;
20.l[l
entry
,l
exit
]=内部路段[输入路段,输出路段]的集合;
[0021]
l的输入路段集合属于l∪l
entry
;
[0022]
l的输出路段集合属于l∪l
exit
;
[0023]fl
=路段l的流量,辆/周期;
[0024]dl
=路段l的输入流量,l∈l
entry
,辆/周期;
[0025]r(l,m)
=车辆从路段l转向路段m的比例;
[0026]c(l,m)
=相位(l,m)的饱和流量,辆/周期;
[0027]
n=节点或交叉口n的集合;
[0028]
节点n的输入路段集合;
[0029]
节点n的输出路段集合;
[0030]
根据定义m∈out
l
意味着l∈inm;预定义的流向比例{r(l,m)}满足;
[0031]
r(l,m)=0,l∈l
exit
,m∈l
all
;
[0032]
r(l,m)=0,l∈l
all
,m∈l
entry
;
[0033][0034][0035]
s23:根据路径和流量守恒原理,确定以下约束条件:
[0036]fl
=d
l
,l∈l
entry
ꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0037][0038]
输入路段的流量由外部需求公式(1)定义;其他路段上的流量由转向比例和节点内的流量守恒由公式(2)决定;
[0039]
从路段l驶出的路径是路段l=l1,l2,...,ln的序列,满足r(li,l
i+1
)>0和ln∈l
exit
;这就假设了每个路段l都有驶出路径,所以每辆车最终都会驶出;
[0040]
用f={f
l
,l∈l∪l
entry
}表示内部路段和输入路段中的车流的行向量,用d={d
l
,l∈l
entry
}表示输入路段的需求行向量;
[0041]
所以,对于每个需求向量d={d
l
,l∈l
entry
},都有一个独特的流量f={f
l
,l∈l
all
}满足公式(1)和(2),因此有一个矩阵p,它只取决于转向比例,使得f=dp。
[0042]
而且,步骤s3中的信号控制要素建模具体包括如下步骤:
[0043]
s31:使用块对角矩阵来定义交叉口车流释放的相位;
[0044]
除了路径和流量守恒约束公式(1)和(2)之外,还有双交叉口约束:仅允许某些同时转向,允许的转向受流量或饱和流率的限制,这就包括了以下约束条件:
[0045]
时间是离散的,t=1,2,...;每个周期的固定时长为τ秒;一个相位或转向(l,m)是一对路段m∈out
l
,l∈l∪l
entry
;其中,如果l∈l
exit
或者m∈l
entry
,则不存在相位(l,m);在交叉口n处的相位集合是{(l,m)∈i(n)
×
o(n)},交叉口n处的某些相位子集可以被同时激活;每个这样的子集用一个交叉口控制矩阵sn={sn(l,m),l∈i(n),m∈o(n)}表示,sn(t)(l,m)=1或0对应相位(l,m)是否被激活;所有这些在交叉口n处矩阵的集合记为sn;
[0046]
s32:对标准十字交叉口的八个阶段进行矩阵计算;
[0047]
对于一个标准十字交叉口;用φi描述了标准交叉口的不同相位;假设它有八个阶段,每个阶段对应一对相位,包括:
[0048]
(φ1,φ5),(φ1,φ6),(φ2,φ5),(φ2,φ6),(φ3,φ7),(φ3,φ8),(φ4,φ7),(φ4,φ8);
[0049]
如果对于每个t有s(t)∈s,那么无限路网控制序列s={s(1),s(2),s(1),
…
,s(t),
…
}是可接受的;对于可接受的s,定义矩阵∑s为:
[0050][0051]
使得f={f
l
,l∈l∪l
entry
}为需求向量d对应的流量向量;且f=dp;
[0052]
对于每个相位(l,m)而言,如果
[0053]
c(l,m)∑s(l,m)>f
l
r(l,m)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0054]
那么,允许的路网控制序列s={s(t)}满足f,或等价于d为可行需求;
[0055]
此定义的释义如下;通过公式(4)控制序列s的相位激活,平均每个周期可以释放c(l,m)∑s(l,m)的流向车辆;另一方面,流量向量f以每个周期f
l
r(l,m)的流率产生转向运动;通过公式(3)和(4),存在和ε>0使得:
[0056][0057]
因此,在路段l中等待转向路段m的车辆数量永远是有限的。
[0058]
而且,步骤s4中的交叉口最大压强计算具体包括如下步骤:
[0059]
s41:定义最大压强信号控制策略;mp不需要知道平均需求d={d
l
},只要d∈d0,在mp下x就是稳定的,所以mp使通过车辆数最大化;下面定义最大压强信号控制策略u
*
:
[0060]
对于x∈χ,给每个相位(l,m)赋值权重:
[0061][0062]
为每个路网信号控制矩阵s∈s赋值:
[0063][0064]
在公式(5)中,对于m∈l
exit
有x(m,p)=0;mp控制策略u
*
为:
[0065]u*
(x)=argmax{γ(s)(x)|s∈s}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0066]
因此对于每个状态x,mp选择压强最大的路网信号控制矩阵s,信号控制矩阵s的压强等于饱和流率乘以s期间同时激活的所有相位的权重之和;相位(l,m)的权重为输入路段l的排队长度x(l,m)减去输出路段m的排队平均长度∑
p
r(m,p)x(m,p);如果将x(l,m)
down
=∑
p
r(m,p)x(m,p)作为下游排队的平均长度,将x(l,m)作为上游排队的长度,那么w(l,m)就是上游排队长度与下游排队长度之差;
[0067]
s42:计算路段实时压强;定义路段的状态xz(kn)为相位kn开始时刻的排队车辆数;在信号周期循环至kn时,每个路段在相应阶段对交叉口n的压强pz(kn)可计算为:
[0068][0069]
式中,x
z,max
是路段z的存储容量,β
i,w
是输入路段至输出路段的转向比例,x
w,max
是输出路段w的存储容量;在分母中使用存储容量来计算路段长度,这就意味着,一个有车辆排队的短路段的压强高于一个有相同车辆数的长路段的压强;通过视频设备实时获取xz(kn),该值的大小是路网对于信号控制的反馈,在此基础上,通过方程实时计算出新的压强;
[0070]
路段z在相位kn期间的压强是,输入路段的排队长度减去所有输出路段的平均排队长度;实际上,第二项计算了输出路段平均排队长度,第一项计算了输入路段排队长度,压强的定义就是上下游排队长度的差值;当所有输出路段车辆都能够释放,括号中第二项为0;因此,路段的压强就是排队长度乘以相应的饱和流率;
[0071]
s43:计算交叉口最大压强;将上述方程应用到交叉口所有输入路段中,则可以计算出交叉口n所有入口路段的压强;那么交叉口各信号阶段j的最大压强可计算为:
[0072][0073]
而且,步骤s5中的相位激活控制策略,各个相位的激活包括如下步骤:
[0074]
s51:延长当前相位或者激活下一相位;
[0075]
首先设置最小绿灯时间和最大绿灯时间,最小绿灯时间保证交叉口基本的人行过街时间,最大绿灯时间保证某个相位绿灯时长不至于过大;控制决策在每个相位的结束时做出,决定延长当前相位或者激活下一相位;当信号周期循环到kn时,对应的当前相位是σ*(kn),当前具有最大压强的相位是σ
max
(kn);控制决策可以表示如下:
[0076][0077]
其中的延长表示延长当前活跃的相位σ*(kn),激活表示结束当前相位并激活相位序列中的下一个相位;
[0078]
s52:计算当前相位的时长;据上述的相位决策和迭代过程,当前相位的时长计算为:
[0079]gσ
=min{g
min
+∑g
σ,extend
,g
max
},σ∈φnꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0080]
式中:∑g
σ,extend
是指当前相位的绿灯延长时间。
[0081]
本发明的优点及技术效果在于:
[0082]
(1)现有对交叉口信号控制的技术中,大多使用集中式控制方式,本发明克服了这种不足,研究了一种分散式信号控制方法,控制方法所需的交通参数较少,仅仅需要排队长度这一项,算法的可落地性得到了保障,同时,节省了集中式控制所需的大量通信设备的成本。
[0083]
(2)本发明基于排队长度参数进行信号控制模型的构建,充分考虑了路网运行过饱和的状态,该控制算法能够保证路网运行的稳定性,避免出现交叉口排队溢出及交叉口死锁等现象。
[0084]
(3)本发明对所提出的最大压强信号控制算法进行了实施例验证,验证表明,本发明提供了一种能够保证交叉口通过车辆数处于较高水平,且将排队长度稳定在一定范围内。
附图说明
[0085]
图1为本发明方法流程图;
[0086]
图2为本发明车流在路网中转向运动的有向链路图;
[0087]
图3为本发明中由块对角线矩阵表示的路网控制矩阵图;
[0088]
图4为本发明中标准交叉口的8个相位与(φ1,φ5)对应的控制矩阵图;
[0089]
图5为本发明中压强计算简化示意图;
[0090]
图6为本发明中仿真路网边界最大交通需求图;
[0091]
图7为本发明中交叉口检测器设置情况示意图;
[0092]
图8为本发明中信号控制仿真流程图;
[0093]
图9为本发明中东进口道排队长度及压强的计算;
[0094]
图10为本发明中各个方向相位压强计算过程;
[0095]
图11为本发明中计算最大压强流程;
[0096]
图12为本发明中最大压强信号控制逻辑规则;
[0097]
图13为本发明中vissim仿真界面;
[0098]
图14为本发明中交叉口相位时间变化图;
[0099]
图15为本发明中交叉口通过车辆数时间变化图;
[0100]
图16为本发明中交叉口车辆延误时间变化图;
[0101]
图17为本发明中试验路段最大排队长度时间变化图。
具体实施方式
[0102]
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0103]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对
重要性。
[0104]
本发明开发了一种交叉口自适应信号控制算法-最大压强法,它是一种分散式控制方法,该方法不需要类似于交通管理中心的设备,只需要少量的交通参数,更容易实现也更便宜。且该控制算法能够兼顾路网运行效率和路网运行稳定性。为实现上述目的,本发明技术方案的主要内容包括以下几个步骤:
[0105]
s1:交通状态基础数据获取;
[0106]
s2:路网车流运动简化建模;
[0107]
s3:信号控制要素建模;
[0108]
s4:交叉口最大压强计算;
[0109]
s5:相位激活控制策略。
[0110]
进一步的,在上述的步骤s1中的交通状态基础数据获取具体包括如下步骤:
[0111]
s11:获取视频数据;本研究基于目前城市交叉口最常用的数据获取方式——视频摄像头采集法,数据来源均默认为视频数据;
[0112]
s12:对已经获取的视频数据进行格式转换,将整段视频数据转换为量化数据,例如流量、速度、车头时距、延误、排队长度等数值;
[0113]
s13:信号控制的首要条件是获取能够精确表征交通状态的参数,本发明所采用的最大压强控制算法仅需要获取进口道的排队长度,所以,从上述诸多交通参数中筛选排队长度的数据,作为后续信号控制算法的唯一输入参数。
[0114]
进一步的,在上述的步骤s2中的路网车流运动简化建模具体包括如下步骤:
[0115]
s21:基于马尔科夫链原理,将车流在路网中的转向运动简化成如图2所示的有向链路图,用箭头表示路段,用黑色的圆表示节点或交叉口,在此基础上,构建路径和流量守恒模型;
[0116]
s22:在该守恒模型中,路网是有向路段和交叉口或节点l∈l
all
的集合。有三种类型的路段:内部路段(l∈l)有开始节点和结束节点;驶入路段(l∈l
entry
)没有开始节点;驶出路段(l∈l
exit
)没有结束节点。如果l有一个结束节点n,m有一个开始节点n,那么路段l就是路段m的输入,或者说路段m是路段l的输出。使用以下符号记录:
[0117]
l
all
=所有路段l,m,k的集合;
[0118]
l[l
entry
,l
exit
]=内部路段[输入路段,输出路段]的集合;
[0119]
l的输入路段集合属于l∪l
entry
;
[0120]
l的输出路段集合属于l∪l
exit
;
[0121]fl
=路段l的流量,辆/周期;
[0122]dl
=路段l的输入流量,l∈l
entry
,辆/周期;
[0123]r(l,m)
=车辆从路段l转向路段m的比例;
[0124]c(l,m)
=相位(l,m)的饱和流量,辆/周期;
[0125]
n=节点或交叉口n的集合;
[0126]
节点n的输入路段集合;
[0127]
节点n的输出路段集合;
[0128]
根据定义m∈out
l
意味着l∈inm。预定义的流向比例{r(l,m)}满足;
[0129]
r(l,m)=0,l∈l
exit
,m∈l
all
;
[0130]
r(l,m)=0,l∈l
all
,m∈l
entry
;
[0131][0132][0133]
s23:根据路径和流量守恒原理,确定以下约束条件:
[0134]fl
=d
l
,l∈l
entry
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0135][0136]
输入路段的流量由外部需求公式(1)定义;其他路段上的流量由转向比例和节点内的流量守恒由公式(2)决定。
[0137]
从路段l驶出的路径是路段l=l1,l2,...,ln的序列,满足r(li,l
i+1
)>0和ln∈l
exit
。这就假设了每个路段l都有驶出路径,所以每辆车最终都会驶出。
[0138]
用f={f
l
,l∈l∪l
entry
}表示内部路段和输入路段中的车流的行向量,用d={d
l
,l∈l
entry
}表示输入路段的需求行向量。
[0139]
所以,对于每个需求向量d={d
l
,l∈l
entry
},都有一个独特的流量f={f
l
,l∈l
all
}满足公式(1)和(2),因此有一个矩阵p,它只取决于转向比例,使得f=dp。
[0140]
进一步的,在上述的步骤s3中的信号控制要素建模具体包括如下步骤:
[0141]
s31:使用块对角矩阵来定义交叉口车流释放的相位。
[0142]
除了路径和流量守恒约束公式(1)和(2)之外,还有双交叉口约束:仅允许某些同时转向,允许的转向受流量或饱和流率的限制。下面将阐述这些约束条件。
[0143]
时间是离散的,t=1,2,...。每个周期的固定时长为τ秒。一个相位或转向(l,m)是一对路段m∈out
l
,l∈l∪l
entry
。(如果l∈l
exit
或者m∈l
entry
,则不存在相位(l,m),见图2)。在交叉口n处的相位集合是{(l,m)∈i(n)
×
o(n)},交叉口n处的某些相位子集可以被同时激活。每个这样的子集用一个交叉口控制矩阵sn={sn(l,m),l∈i(n),m∈o(n)}表示,sn(t)(l,m)=1或0对应相位(l,m)是否被激活。所有这些在交叉口n处矩阵的集合记为sn。
[0144]
一个交叉口控制矩阵集合是{sn},每个交叉口都有一个控制矩阵,这些矩阵可以组合成一个维数为|l∪l
entry
|
×
|l∪l
exit
|的路网控制矩阵s,对于某个交叉口n,如果l∈i(n),m∈o(n),以及sn(l,m)=1,则sn(l,m)=1;否则sn(l,m)=0。(注:|a|是集合a的元素个数)。s可以用对角线上的交叉口矩阵sn和所有其他元素为零的形式表示,如图3所示。所有路网控制矩阵的集合用s表示,s是0,1矩阵的集合。
[0145]
s32:对标准十字交叉口的八个阶段进行矩阵计算。
[0146]
对于一个标准十字交叉口。图4中左图用φi描述了标准交叉口的不同相位。它有八个阶段,每个阶段对应一对相位:
[0147]
(φ1,φ5),(φ1,φ6),(φ2,φ5),(φ2,φ6),(φ3,φ7),(φ3,φ8),(φ4,φ7),(φ4,φ8)
[0148]
(φ1,φ5)的控制矩阵如图4中右图所示。
[0149]
如果对于每个t有s(t)∈s,那么无限路网控制序列s={s(1),s(2),s(1),...,s(t),...}是可接受的。对于可接受的s,定义矩阵∑s为:
[0150][0151]
使得f={f
l
,l∈l∪l
entry
}为需求向量d对应的流量向量;且f=dp。
[0152]
对于每个相位(l,m)而言,如果
[0153]
c(l,m)∑s(l,m)>f
l
r(l,m)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0154]
那么,允许的路网控制序列s={s(t)}满足f(或等价于d为可行需求)。
[0155]
此定义的释义如下。通过公式(4)控制序列s的相位激活,平均每个周期可以释放c(l,m)∑s(l,m)的流向车辆。另一方面,流量向量f以每个周期f
l
r(l,m)的流率产生转向运动。通过公式(3)和(4),存在和ε>0使得
[0156][0157]
因此,在路段l中等待转向路段m的车辆数量永远是有限的。
[0158]
进一步的,在上述的步骤s4中的交叉口最大压强计算具体包括如下步骤:
[0159]
s41:定义最大压强(mp)信号控制策略。mp不需要知道平均需求d={d
l
},只要d∈d0,在mp下x就是稳定的,所以mp使通过车辆数最大化。下面我们定义最大压强(mp)信号控制策略u
*
:
[0160]
对于x∈χ,给每个相位(l,m)赋值权重
[0161][0162]
为每个路网信号控制矩阵s∈s赋值
[0163][0164]
在公式(5)中,对于m∈l
exit
有x(m,p)=0。mp控制策略u
*
为
[0165]u*
(x)=arg max{γ(s)(x)|s∈s}
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0166]
因此对于每个状态x,mp选择压强最大的路网信号控制矩阵s,信号控制矩阵s的压强等于饱和流率乘以s期间同时激活的所有相位的权重之和。相位(l,m)的权重为输入路段l的排队长度x(l,m)减去输出路段m的排队平均长度∑
p
r(m,p)x(m,p)。如果将x(l,m)
down
=∑
p
r(m,p)x(m,p)作为下游排队的平均长度,将x(l,m)作为上游排队的长度,那么w(l,m)就是上游排队长度与下游排队长度之差。
[0167]
s42:计算路段实时压强。定义路段的状态xz(kn)为相位kn开始时刻的排队车辆数。在信
[0168]
号周期循环至kn时,每个路段在相应阶段对交叉口n的压强pz(kn)可计算为:
[0169][0170]
式中,x
z,max
是路段z的存储容量(以车辆数计),β
i,w
是输入路段至输出路段的转向比例,x
w,max
是输出路段w的存储容量。在分母中使用存储容量来计算路段长度,这就意味着,一个有车辆排队的短路段的压强高于一个有相同车辆数的长路段的压强。通过视频设备实时获取xz(kn),该值的大小是路网对于信号控制的反馈,在此基础上,通过方程实时计算出
新的压强。
[0171]
路段z在相位kn期间的压强是,输入路段的排队长度(括号中的第一项)减去所有输出路段的平均排队长度(括号中的第二项)。实际上,第二项计算了输出路段平均排队长度,第一项计算了输入路段排队长度,压强的定义就是上下游排队长度的差值。当所有输出路段车辆都能够释放(假设输出路段的容量是无限的,即下游没有出现堵塞),括号中第二项为0。因此,路段的压强就是排队长度乘以相应的饱和流率。
[0172]
为更好地理解最大压强法,我们将路网中不同流向的压强简化成图5所示,图5中左侧交叉口,东进口道为3辆车,出口道为0辆车,东向西压强为3-0=3,同理,南向北压强为1-0=1,该交叉口此时的最大压强为3。右侧交叉口的最大压强计算亦是如此。
[0173]
s43:计算交叉口最大压强。将上述方程应用到交叉口所有输入路段中,则可以计算出交叉口n所有入口路段的压强。那么交叉口各信号阶段j的最大压强可计算为
[0174][0175]
进一步的,在上述的步骤s5中的相位激活控制策略,各个相位的激活包括如下步骤:
[0176]
s51:延长当前相位或者激活下一相位。
[0177]
首先设置最小绿灯时间和最大绿灯时间,最小绿灯时间保证交叉口基本的人行过街时间,最大绿灯时间保证某个相位绿灯时长不至于过大。控制决策在每个相位的结束时做出,决定延长当前相位或者激活下一相位。当信号周期循环到kn时,对应的当前相位是σ*(kn),当前具有最大压强的相位是σ
max
(kn)。控制决策可以表示如下:
[0178][0179]
其中“延长”表示延长当前活跃的相位σ*(kn),“激活”表示结束当前相位并激活相位序列中的下一个相位。接下来进行分类讨论,提前确定一个百分比δ,判断(1+δ)p
n,σ
*(kn)和p
n,σmax
(kn)两项的关系,如果大于等于,说明当前相位σ*压强仍然较大,可适当延长;反之如果小于,说明当前相位压强已经很小,可以结束相位并激活下一相位了。参数δ的设置可以保证当前相位时间的延长,直到其压强减小到较小水平,同时还可以避免相位的频繁切换,从而减少不必要的绿灯间隔时间损失。如果没有延长时间分配给当前活跃相位σ*或其已达到其最大允许绿灯时间g
max
,则预定义序列中的下一个相位将被激活并运行到其最小绿灯时间g
min
,再开始新一轮决策。
[0180]
s52:计算当前相位的时长。据上述的相位决策和迭代过程,当前相位的时长计算为:
[0181]gσ
=min{g
min
+∑g
σ,extend
,g
max
},σ∈φnꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0182]
式中:∑g
σ,extend
是指当前相位的绿灯延长时间。
[0183]
为了更清楚地描述本发明的具体实施方式,下面提供一种实施例:
[0184]
以天津市紫金山路、宾水道、友谊路、黑牛城道合围的路网区域为例,本发明所述的一种交叉口自适应信号控制算法,包括以下步骤:
[0185]
(一)首先完成交通状态基础数据获取工作。获取9个交叉口进口道流量数据,在仿
真路网中输入流量数据,并通过设置检测器获取到各个进口道的排队长度。
[0186]
首先在下午5点至8点对天津市9个信号交叉口进行实地调查。这些地点的基本资料已列于表1。根据采集的各个交叉口进口道每15分钟流量,换算出路网边界最大交通需求,如图6所示,仿真路网中的流量输入将严格按照获取到的实际交通流流量数据来进行设置。
[0187]
表1研究路网区域基础信息
[0188][0189][0190]
本发明的信号控制算法是基于排队长度这一交通状态参数来展开的,在仿真过程中,我们通过布设检测器来获取到路段的实时排队长度信息。在路网中各进、出口道铺设检测器,从停止线处开始,每隔50米设置一组检测器,图7是2号交叉口检测器布设情况,每组检测器数量与单向车道数量相等,用来获取路段排队长度。注意,在对实际交叉口进行信号控制的过程中,排队长度可以通过视频摄像头直接获取。然而,在交通仿真的过程中无法直接获取到进、出口路段排队长度,所以,通过覆盖整个路网的检测器来计算排队长度。
[0191]
(二)利用微观交通仿真软件vissim中的visvap模块编写最大压强控制逻辑语言,信号控制仿真流程如图8所示。
[0192]
首先在每个仿真秒遍历所有检测器的状态,计算出路网中各个交叉口进出口道排队长度。具体计算过程见图9所示,图9计算了1号交叉口东进口道的排队长度lei,东进口道路段全长为468米,所以,东进口道的压强为xei=lei/468。
[0193]
表2visvap中一些判断条件
[0194][0195]
然后计算每个交叉口的最大压强。在获取到各进、出口道排队长度及压强数据后,根据前述的公式(8),计算出每个相位的压强值,如图10中东西向进口道相位压强pwe。然后,引入一个静态参数θ,使得左转相位能够被延长。使用“两两比较法”获取单个交叉口的
最大压强,计算流程见图11,先对比东西直与南北直相位压强,将较大者赋值给变量“a”,然后对比东西左与南北左相位压强,将较大者赋值给变量“b”,之后对比变量“a”与变量“b”的大小,将较大者赋值给变量“pmax”,该变量即为交叉口的最大压强。
[0196]
同样的,以4相位控制的1号交叉口为例,mp控制逻辑如图12所示。每个仿真秒循环一遍该控制流程,仿真开始后,先判断有没有相位间隔(黄灯或者全红)被激活,如果有,仿真继续,信号配时不做变化,如果没有,进入下一判断流程。接下来判断相位1是否被激活,如果是,再判断相位1绿灯时长是否达到最小绿灯时长,如果是,再判断相位1绿灯时长是否小于最大绿灯时长,如果是,再读取子程序获取最大压强值,然后再判断相位1压强是否大于最大压强,如果是,仿真继续,灯色不变。在判断相位1压强是否大于最大压强时,如果否,说明相位1压强尚未达到最大压强附近,不应再给当前相位绿灯,所以从相位1切换至相位2。在判断相位1绿灯时长是否小于最大绿灯时长时,如果否,说明相位1达到最大绿灯时长,所以从相位1切换至相位2。在判断相位1绿灯时长是否达到最小绿灯时长时,如果否,说明相位1还未达到最小绿灯时长,仿真继续,相位1绿灯灯色不变。在判断相位1是否被激活时,如果否,将判断相位2是否被激活,以此类推,将4个相位全部循环一遍,实现最大压强控制策略。图13给出了vissim仿真界面的截图。
[0197]
(三)分别进行固定信号配时及mp策略自适应控制配时仿真,进一步的比较mp控制策略相较于固定配时策略的优势。
[0198]
首先对各个交叉口的mp策略自适应控制的相位时长进行统计分析。图14给出了1号交叉口相位时间变化,1号口周期时长基本都不会超过160s,从图中可以看出,mp控制使得信号周期及各相位时长随着输入流量的变化而变化,变化趋势与平峰-高峰-平峰趋势吻合,说明mp控制实现了真正的自适应信号配时。
[0199]
对仿真结果中的通过车辆数进行分析,从图15通过车辆数时间变化图中可以看出,mp控制方案下车辆通过数明显大于固定配时方案,mp控制下车辆通过数能比固定配时提升13.95%。
[0200]
对仿真结果中的车辆延误时间进行数据分析,从图16车辆延误时间变化图中可以看出,mp控制下车辆延误总体明显小于固定配时延误,mp控制将车辆延误控制在600s以下,mp控制下车辆延误比固定配时降低了15%。在仿真的前2700s过程中,mp控制与固定配时控制带来的车辆延误差别不大。在2700s-3600s过程中,mp控制的车辆延误略高于固定配时控制,且二者之间的差距逐渐拉开,这是因为,随着交通流量增大,mp控制在平衡上下游需求后,为保证交叉口车流稳定运行,会在高峰前夕进行一定的节流控制,因此导致mp控制的车辆延误略高。在3600s-9000s过程中,mp控制的车辆延误明显低于固定配时控制,这是因为,交通流量较大时,固定配时控制与路网交通需求严重不匹配,交叉口运行失稳,车辆延误大幅攀升。在9000s以后,固定配时的车辆延误迅速下降,mp控制的车辆延误缓慢下降,这是因为路网内部路段还留有一定的车流,mp控制需要平衡上下游需求,所以,路网中车流的清空相交固定配时有一定的滞后性。综上,mp控制在降低车辆延误的同时,保证了交叉口运行的稳定性。
[0201]
为进一步表征两种控制方式下交叉口运行稳定性的差异,选取1号交叉口与2号交叉口东向西路段作为试验路段,通过行程时间评价,获取该试验路段的车辆排队长度。排队长度结果如图17所示,mp控制能够保证最大排队长度稳定在550米以下,使得该路段避免了
交叉口溢出,而固定配时方案下的最大排队长度突破了路段长度,产生交叉口溢出现象,导致2号交叉口死锁,车辆延误陡增。表明,mp控制显著提高了交叉口运行的稳定性。
[0202]
最后,本发明的未尽述之处均采用现有技术中的成熟产品及成熟技术手段。
[0203]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的实施例或示例中。
[0204]
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同限定。
技术特征:
1.一种交叉口自适应信号控制算法,其特征在于,包括以下步骤:s1:交通状态基础数据获取;s2:路网车流运动简化建模;s3:信号控制要素建模;s4:交叉口最大压强计算;s5:相位激活控制策略。2.根据权利要求1所述的一种交叉口自适应信号控制算法,其特征在于:所述步骤s1中的交通状态基础数据获取具体包括如下步骤:s11:获取视频数据;本研究基于目前城市交叉口最常用的数据获取方式——视频摄像头采集法,数据来源均默认为视频数据;s12:对已经获取的视频数据进行格式转换,将整段视频数据转换为量化数据,例如流量、速度、车头时距、延误、排队长度等数值;s13:信号控制的首要条件是获取能够精确表征交通状态的参数,本发明所采用的最大压强控制算法仅需要获取进口道的排队长度,所以,从上述诸多交通参数中筛选排队长度的数据,作为后续信号控制算法的唯一输入参数。3.根据权利要求1所述的一种交叉口自适应信号控制算法,其特征在于:所述步骤s2中的路网车流运动简化建模具体包括如下步骤:s21:基于马尔科夫链原理,将车流在路网中的转向运动简化成有向链路图,用箭头表示路段,用黑色的圆表示节点或交叉口,在此基础上,构建路径和流量守恒模型;s22:在该守恒模型中,路网是有向路段和交叉口或节点l∈l
all
的集合;有三种类型的路段:内部路段(l∈l)有开始节点和结束节点;驶入路段(l∈l
entry
)没有开始节点;驶出路段(l∈l
exit
)没有结束节点;如果l有一个结束节点n,m有一个开始节点n,那么路段l就是路段m的输入,即路段m是路段l的输出;使用以下符号记录:l
all
=所有路段l,m,k的集合;l[l
entry
,l
exit
]=内部路段[输入路段,输出路段]的集合;l的输入路段集合属于l∪l
entry
;l的输出路段集合属于l∪l
exit
;f
l
=路段l的流量,辆/周期;d
l
=路段l的输入流量,l∈l
entry
,辆/周期;r
(l,m)
=车辆从路段l转向路段m的比例;c
(l,m)
=相位(l,m)的饱和流量,辆/周期;n=节点或交叉口n的集合;节点n的输入路段集合;节点n的输出路段集合;根据定义m∈out
l
意味着l∈in
m
;预定义的流向比例{r(l,m)}满足;r(l,m)=0,l∈l
exit
,m∈l
all
;r(l,m)=0,l∈l
all
,m∈l
entry
;
s23:根据路径和流量守恒原理,确定以下约束条件:f
l
=d
l
,l∈l
entry
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)输入路段的流量由外部需求公式(1)定义;其他路段上的流量由转向比例和节点内的流量守恒由公式(2)决定;从路段l驶出的路径是路段l=l1,l2,...,l
n
的序列,满足r(l
i
,l
i+1
)>0和l
n
∈l
exit
;这就假设了每个路段l都有驶出路径,所以每辆车最终都会驶出;用f={f
l
,l∈l∪l
entry
}表示内部路段和输入路段中的车流的行向量,用d={d
l
,l∈l
entry
}表示输入路段的需求行向量;所以,对于每个需求向量d={d
l
,l∈l
entry
},都有一个独特的流量f={f
l
,l∈l
all
}满足公式(1)和(2),因此有一个矩阵p,它只取决于转向比例,使得f=dp。4.根据权利要求1所述的一种交叉口自适应信号控制算法,其特征在于:所述步骤s3中的信号控制要素建模具体包括如下步骤:s31:使用块对角矩阵来定义交叉口车流释放的相位;除了路径和流量守恒约束公式(1)和(2)之外,还有双交叉口约束:仅允许某些同时转向,允许的转向受流量或饱和流率的限制,这就包括了以下约束条件:时间是离散的,t=1,2,...;每个周期的固定时长为τ秒;一个相位或转向(l,m)是一对路段m∈out
l
,l∈l∪l
entry
;其中,如果l∈l
exit
或者m∈l
entry
,则不存在相位(l,m);在交叉口n处的相位集合是{(l,m)∈i(n)
×
o(n)},交叉口n处的某些相位子集可以被同时激活;每个这样的子集用一个交叉口控制矩阵s
n
={s
n
(l,m),l∈i(n),m∈o(n)}表示,s
n
(t)(l,m)=1或0对应相位(l,m)是否被激活;所有这些在交叉口n处矩阵的集合记为s
n
;s32:对标准十字交叉口的八个阶段进行矩阵计算;对于一个标准十字交叉口;用φ
i
描述了标准交叉口的不同相位;假设它有八个阶段,每个阶段对应一对相位,包括:(φ1,φ5),(φ1,φ6),(φ2,φ5),(φ2,φ6),(φ3,φ7),(φ3,φ8),(φ4,φ7),(φ4,φ8);如果对于每个t有s(t)∈s,那么无限路网控制序列s={s(1),s(2),s(1),...,s(t),...}是可接受的;对于可接受的s,定义矩阵∑s为:使得f={f
l
,l∈l∪l
entry
}为需求向量d对应的流量向量;且f=dp;对于每个相位(l,m)而言,如果c(l,m)∑
s
(l,m)>f
l
r(l,m)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)那么,允许的路网控制序列s={s(t)}满足f,或等价于d为可行需求;此定义的释义如下;通过公式(4)控制序列s的相位激活,平均每个周期可以释放c(l,m)∑
s
(l,m)的流向车辆;另一方面,流量向量f以每个周期f
l
r(l,m)的流率产生转向运动;通
过公式(3)和(4),存在和ε>0使得因此,在路段l中等待转向路段m的车辆数量永远是有限的。5.根据权利要求1所述的一种交叉口自适应信号控制算法,其特征在于:所述步骤s4中的交叉口最大压强计算具体包括如下步骤:s41:定义最大压强信号控制策略;mp不需要知道平均需求d={d
l
},只要d∈d0,在mp下x就是稳定的,所以mp使通过车辆数最大化;下面定义最大压强信号控制策略u
*
:对于x∈χ,给每个相位(l,m)赋值权重为每个路网信号控制矩阵s∈s赋值在公式(5)中,对于m∈l
exit
有x(m,p)=0;mp控制策略u
*
为u
*
(x)=argmax{γ(s)(x)|s∈s}
ꢀꢀꢀꢀꢀꢀꢀ
(7)因此对于每个状态x,mp选择压强最大的路网信号控制矩阵s,信号控制矩阵s的压强等于饱和流率乘以s期间同时激活的所有相位的权重之和;相位(l,m)的权重为输入路段l的排队长度x(l,m)减去输出路段m的排队平均长度∑
p
r(m,p)x(m,p);如果将x(l,m)
down
=∑
p
r(m,p)x(m,p)作为下游排队的平均长度,将x(l,m)作为上游排队的长度,那么w(l,m)就是上游排队长度与下游排队长度之差;s42:计算路段实时压强;定义路段的状态x
z
(k
n
)为相位k
n
开始时刻的排队车辆数;在信号周期循环至k
n
时,每个路段在相应阶段对交叉口n的压强p
z
(k
n
)可计算为:式中,x
z,max
是路段z的存储容量,β
i,w
是输入路段至输出路段的转向比例,x
w,max
是输出路段w的存储容量;在分母中使用存储容量来计算路段长度,这就意味着,一个有车辆排队的短路段的压强高于一个有相同车辆数的长路段的压强;通过视频设备实时获取x
z
(k
n
),该值的大小是路网对于信号控制的反馈,在此基础上,通过方程实时计算出新的压强;路段z在相位k
n
期间的压强是,输入路段的排队长度减去所有输出路段的平均排队长度;实际上,第二项计算了输出路段平均排队长度,第一项计算了输入路段排队长度,压强的定义就是上下游排队长度的差值;当所有输出路段车辆都能够释放,括号中第二项为0;因此,路段的压强就是排队长度乘以相应的饱和流率;s43:计算交叉口最大压强;将上述方程应用到交叉口所有输入路段中,则可以计算出交叉口n所有入口路段的压强;那么交叉口各信号阶段j的最大压强可计算为:6.根据权利要求1所述的一种交叉口自适应信号控制算法,其特征在于:所述步骤s5中
的相位激活控制策略,各个相位的激活包括如下步骤:s51:延长当前相位或者激活下一相位;首先设置最小绿灯时间和最大绿灯时间,最小绿灯时间保证交叉口基本的人行过街时间,最大绿灯时间保证某个相位绿灯时长不至于过大;控制决策在每个相位的结束时做出,决定延长当前相位或者激活下一相位;当信号周期循环到k
n
时,对应的当前相位是σ*(k
n
),当前具有最大压强的相位是σ
max
(k
n
);控制决策可以表示如下:其中的延长表示延长当前活跃的相位σ*(k
n
),激活表示结束当前相位并激活相位序列中的下一个相位;s52:计算当前相位的时长;据上述的相位决策和迭代过程,当前相位的时长计算为:g
σ
=min{g
min
+∑g
σ,extend
,g
max
},σ∈φ
n
ꢀꢀꢀꢀꢀꢀꢀꢀ
(10)式中:∑g
σ,extend
是指当前相位的绿灯延长时间。
技术总结
本发明公开了一种交叉口自适应信号控制算法,用于针对交叉口实时车流制定组组织、自适应的信号配时方案。该方法包括以下几个部分:交通状态基础数据获取、路网车流运动简化建模、信号控制要素建模、交叉口最大压强计算、相位激活控制策略。该信号控制算法所需要的数据只有进口道排队长度。本发明通过VISSIM中的API端口编写的程序来实现该算法,分析了天津市九个交叉口的车辆运行效率与运行稳定性。本发明公开了一套分散式信号控制策略,克服了当下常用的中央控制式信号控制所需高昂的设备费用的缺点。同时,该控制算法能够保证交叉口通过车辆数保持较高水平,且将排队长度稳定在一定范围内,为信号控制和配时方案提供了一种创新性的方法。创新性的方法。创新性的方法。
技术研发人员:熊帅 朱晓东 孟维伟 罗瑞琪 牛凯 郭丽苹 由婷婷 高佳宁
受保护的技术使用者:中国市政工程华北设计研究总院有限公司
技术研发日:2023.03.15
技术公布日:2023/5/30
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/