基于事件驱动的城市交通信号控制方法
2014-12-25王大珊王松浩赵玉娟饶众博
王大珊,王松浩,赵玉娟,饶众博
(公安部道路交通安全研究中心,北京100084)
WANG Da-shan,WANG Song-hao,ZHAO Yu-juan,RAO Zhong-bo
(Traffic Safety Research Center,Ministry of Public Security,Beijing 100084,China)
0 引言
交通信号控制是当今城市交通管理系统的核心组成部分。当前,国内使用的交通信号控制系统多为国外引进,如SCOOT 系统、ACTRA 系统和SCATS系统等。而以北京为例,现使用中的交通信号机主要包括:SCOOT系统的T700、T800、MCU-6 信号机;ACTRA 系统的2070 信号机。此外还有HSC-100、BE320、BJZX-F 等多种类型信号机[1]。这些不同系统不同型号的信号机共同运转而构成了北京市的交通信号控制系统。而从其信号机的数量及在北京的分布区域来看,SCOOT系统和ACTRA 系统在北京的信号控制系统中均占据了重要地位。
SCOOT 系统的逻辑结构分为两层,分别是中心层和路口层。中心计算机负责生成各个路口的配时方案;下端的信号机完成数据采集、处理以及信号控制。SCOOT 模型及优化原理均是在TRANSYT 的基础上发展起来的,主要包括周期、绿信比、相位差等三个优化过程[2-5]。
ACTRA 系统是西门子美国公司开发第三代的交通控制系统,主要由中心控制模块、通信模块及路口信号控制模块组成。交通响应模式使得系统根据交通变化或非典型交通进行系统范围的优化配时方案的执行[5-7]。而该系统的2070ATC 信号机具有自适应和多种灵活的控制战略。
虽然上述两种系统在国外均取得较好的控制效果,但是从北京市信号控制系统及信号机使用情况来看,二者在北京市交通环境下均体现出了一定的问题及不适应之处。这些问题主要体现在以下几点:
(1)SCOOT 系统及ACTRA 系统模型均按照国外交通流特性建立,对于北京市机非混合交通流适应性较差,导致系统的控制效果急剧降低;
(2)对于北京市交通流量的庞大和明显的时空特性,在早晚高峰期间极其容易出现拥堵的情况,虽然SCOOT 系统提供了额外的限流等控制手段,但是对于过饱和的交通流量其实际效果较差;
(3)不同系统的不同信号机之间无法进行通讯及协调优化控制,虽然不同系统的信号机分布在不同区域,但是在其交界处往往成为协调控制的盲区。
另一方面,在交通信号控制的理论研究上,针对国内交通流特性及特殊控制需求,为提高信号控制效果,很多学者对控制策略与控制算法进行了大量的研究工作,取得了丰富的成果。如模糊控制[8-9]、神经网络控制[10-11]、遗传算法控制[12-13]、强化学期控制[14-15]等智能控制算法在信号控制理论研究及仿真中均得到较好的控制效果,且各种控制算法的改进及优化一直在不断的进行。
为解决现有交通信号控制器程序固化、扩展性差等不足,本文提出一种基于事件调度的信号控制模型(ED-Model)。该模型以事件调度为核心,根据事件检测定义与事件解析定义使得不同算法在该模型内通过统一模式实现。ED-Model 将状态检测与请求调度分离,前者将常规状态检测抽象为统一的事件检测机制,而后者引入交通信号控制请求操作系统概念实现多请求的综合决策。ED-Model 可以有效地提高交通信号控制器的适用性与扩展性,为城市交通信号控制系统的协同运行和及时更新提供可靠保障。
1 模型结构
图1 显示了基于事件调度的交通信号控制模型结构。 该模型由Detection & Analysis Unit(DAU)、Request Dispatcher Unit (RDU)、Plan Execute Unit (PEU) 和 Status Observation Unit(SOU)等单元组成。对外提供一个算法编辑接口(DDat)和三个控制接口,即OSig、ISig 和PDat。相关的符号说明见表1。下文将说明模型的基本运行流程。
图1 交通信号控制平台系统结构
表1 符号说明
首先,PDat 是模型基本运行方案,在没有OSig和ISig情况下,直接输如RDU以执行。ISig是信号机运行状态信号,主要指当前时间、通讯连接状态等;OSig 是信号机外部输入信号,包括IO量、通讯量和统计量等内容。ISig和OSig共同构成了对默认方案PDat 的控制输入(合称Sig)。然后,对于输入信号的检测是第二步内容。在EDModel 中,Event 的识别及调度是核心内容。所谓Event是指系统内部(ISig)或外部(OSig)试图对当前信号控制方案(PDat)产生影响的状态。除了传统意义上的交通流状态观测外,ISig和OSig更是一种广义上的状态观测结果。而从检测的角度来说,Event 是多种Sig 变量的时空组合,当Sig 满足一定条件时,即认为该类Event已经触发。
之后,当Event由DAU检测成立时,DAU将会根据解析规则生成该时刻的Req(t),即该Event 对应的请求操作,并将其送至EDU。EDU 根据当前管理下的Req(t)队列和SOU采集的当前信号机控制状态(CPS(t-1)),通过请求调度机制决策产生新的控制方案(CSP(t))。最后该方案由PEU 执行输出。
ED-Model中,Event的检测识别和控制需求解析是模型的一项重要内容,该部分提供通用的对外数据接口,将控制算法与信号机内控制管理程序分离,通过数据的编辑即实现不同信号控制算法中状态观测与控制输出需求。另一方面,事件请求的调度决策是ED-Model 的核心内容。在该模型中,采用基于信号控制请求操作系统的调度策略实现多请求的协同处理。
下文将从系统输入和内部单元具体阐述其运作机制。
1.1 系统输入
系统输入是指系统核心处理模块的输入,分为基础数据录入、外部信号输入和内部配置输入信号。这些信号数据流共同构成该系统稳定高效运行的驱动来源。
1.1.1 PDat
该系统以方案数据为运行基础,任何时刻系统维持一个当前执行方案。在没有其他事件产生时,系统将按照方案参数稳定运行;当系统检测到事件发生且产生请求数据流,调度器根据调度规则对当前方案内容进行更新,以满足请求要求。因此,方案是整个系统运行与优化的基础数据。符号及参数说明见表2。
表2 基础数据符号说明
方案二是覆盖控制路口所有相位的相序结构及时间的组合,其包括周期(Cycle)、阶段(Stage)、相位(Phase)和安全约束(Restriction)四个对象。方案为三层结构,分别是相位层、阶段层和周期层。
相位(Phase):相位参数是一个方案的基础数据,包括:相位类型(机动车、非机动车、行人、特殊标志;主相位、从相位)、空间属性(来向、转向等)、最小绿(Min)、最大绿(Max)。
阶段(Stage):阶段是同一时段获得通行权的相位的集合。其参数由相位参数运算得到,主要包括阶段最小绿(该阶段所有相位最小绿的最大值)、阶段最大绿(该阶段所有相位最大绿的最大值)、阶段时间(即指阶段实际持续时间长度Stage_Len)。
周期(Cycle):周期由阶段按照一定次序排列组合而成。周期参数由阶段参数计算而得,包括周期时长(Cycle_Len)、周期解空间(各阶段可能时长组合构成的一位向量)。
设周期包含有n个阶段,第i阶段有mi个相位,则相位通行时间可以用下式表达。其中,为相位使能因子,0 ≤λ(j)≤1 为相位时长修正因子。
根据相位时间参数可以得到阶段和周期时间参数值。其中:
基础数据中,方案数据是信号机运行的基础,而安全数据则是保障交通安全的重要约束条件,是维护交通秩序的重要保障。安全约束分为空间冲突约束和过渡时间约束两类。其中,空间冲突约束保障具有严重冲突点的两个相位不能同时获得通行权;而过渡时间约束是为了保证相位通行权切换时,上一个相位车辆完全通过路口,以避免和下一相位车辆竞争的现象出现。二者数据定义如下:
式中:Phase为冲突的相位组合;Class为冲突的类型,分为直接冲突、汇聚点冲突、人车冲突和无冲突四类;Yellow,Red为相位过渡时间的参数定义,一般要求Yellow>3,Red>2。
方案数据和安全约束数据相互配合,共同构成了系统安全稳定与运行的基础。
1.1.2 OSig
系统输入的三部分数据中,外部信号是实现信号机动态算法的重要手段。在外部信号基础上定义的事件观测规则为各类控制功能和算法提供了有效地接口。在该系统中,对外信号包括了IO信号和通讯信号两部分。
IO 信号是最常用和便捷的外部输入信号,设系统配置M个IO设备,其中第j个设备有Nj个IO口,用Xji表示,则IO信号可表示为:
在IO 信号的基础上可进行时空组合,以检测识别特定信号信息;而在原始信号基础上进行数据统计得到一次统计量,包括流量、密度、车头时距等数据;进一步通过特定模型可以得到估计的二次统计量,包括车速、延误、旅行时间等参数:
对于外部信号的事件检测是建立在原始信号、一次统计量和二次统计量的基础之上,通过上述参量的逻辑组合,事件检测程序可对事件的发生与否进行实时的检测和识别,以实现各类算法的观测状态输入,作为控制平台的驱动来源。事件可采用下述表示方式:
式中:Command-ID表示某类通讯协议。
不同于IO 信号,通讯信号可以直接传递上述统计量的数据而无需本地计算,从而减轻处理器的负荷,实现分布式处理。
1.1.3 ISig
内部信号是提供用户定义的若干规则集,可以通过内部信号产生事件以驱动多时段方案切换、星期切换方案、日期切换方案等功能。该信号为可选部分,可由用户自由定义,该信号同外部信号一样都通过解析器产生Request 数据流,然后输入调度器管理。内部信号的规则定义如下:
式中:Time为时基参数,Date为日期基础参数。
多时段方案切换的实现可通过定义Time类参数实现;而不同日期的方案切换可通过Date类参数实现;而二者结合又可实现日期、时间的双重方案切换功能。
1.2 内部模块
1.2.1 DAU
解析器是根据Signal数据流进行事件检测并按照解析规则产生Request 数据流的模块。解析器的事件检测规则和解析规则是实现不同算法的有效有段。通过定义数据型的检测规则和解析规则将算法潜入解析器,从而实现算法与管理程序的分离。
解析器自身为开放式模块,通过客户端可由外部直接修改其解析规则。而Request 设计为统一标准结构,该结构提供强大的信号控制操作功能,以便新算法的植入。Request 的数据结构如下式所示:
Source 表示数据源类,包含3 个参数:(1)Signal Time:信号到达时间;(2)Signal Type:信号类别;(3)Signal ID:信号编号Type表示请求的类型。
Type 表示请求类型,根据对信号系统功能需求的分析,将信号机控制功能抽象为4 类基本操作:
(1)Phase On(A):某相位获得通行权;
(2) Phase Off(B):某相位禁止获得通行权;
(3)Plan Modify(C):方案更新;
(4)Parameter Modify(D):方案参数修改。
Action Time表示请求响应的起始时间:
(1)绝对时刻:时分秒表示的具体时刻;
(2)相对时间:请求响应的时间相对于当前时间的秒数;
(3)结构性时间:
①Cycle End,周期结束响应;
②Stage End,阶段结束响应。
(4)描述性时间:
①Immediately,立刻响应;
②ASAP,尽快响应;
③Normal,正常响应。
Parameter 表示该请求持续的时间长度,对不同类型有不同的意义:
(1)A 型请求:请求某相位通行权的持续时间;
(2)B型请求:禁止某相位获得通行权的持续时间;
(3)C型请求:需要修改的参数及其值;
(4)D型请求:新方案结构及参数(结构详见
1.1.1基础数据)。
Validity 表示该请求的有效期,超出有效期而未被响应的请求将会被调度器丢弃;该参数保证了请求的有效管理。
Priority 是该请求的优先级,系统在启动时会初始化若干默认的优先级,以保障系统的正常运转。而用户可以通过自定义解析规则来实现自己的优先调度,以此完成新算法的实现。系统默认分为三个层次的优先级区域:
(1)1-5级:该类优先级的请求不受到最大绿的限制,但是受到基本安全约束的限制,包括:①最小绿保护;②过渡约束保护;③冲突保护。
(2)5级以上:除了基本的安全约束,该类优先级的请求还受到最大绿的限制。
图2 显示了解析器工作流程。解析器接收OSig 和ISig 的信号,根据Control Algorithm 定义下的Detection Rules (DDat 决定) 对Event 进行检测。若Event 成立则根据Analysis Rules(DDat 决定)解析产生对应的Req(t)。
图2 DAU数据流图
解析器作为该系统开放性接口模块,是实现算法移植的重要途径。对于不同的控制功能和算法,可以通过定义解析器的事件检测规则和解析规则,产生不同效应的请求队列,从而对调度器的决策实现控制,以实现控制算法的优化和更新。
1.2.2 EDU
EDU内部结构如图3所示。
图3 EDU内部结构
调度器是处理Request 数据流,并最终产生控制结果的模块。调度器内部包括请求管理器、请求存储器和决策器三部分。
其中,请求管理器用于管理请求队列及其状态;请求存储器用于存储当前有效的所有请求;CSP生成器根据基础配置、前一时刻的请输出相序(CSP(t-1))和请求队列按照调度规则生成新的相序队列(CSP(t))。
(1)RMU
请求管理器接收解析器产生的请求数据,并对其进行管理,以供GSP生成器使用。
请求管理器用于维护一个请求队列,该队列包含t时刻前所有处于有效期内且尚未响应完成的请求。请求管理器包括以下功能。
①容量管理:用于维护管理器存储请求数量;
②维护状态:请求状态包括:
a)未响应:请求超过有效期仍未响应;
b)等待相应:请求在有效期内等待响应;
c)正在响应:请求正在被执行器响应;
d)响应挂起:正在响应的请求被打断;
e)响应结束:请求已经响应结束。
③添加请求:t时刻的请求若在当前队列中没有出现,添加该请求到队列。
④删除请求:
a)t时刻队列中某一请求超时未响应;
b)t时刻队列中某一请求已经响应;
c)t时刻收到删除请求,取消某请求。
⑤更新请求:t时再次受到队列中处于非正在响应状态的请求,则更新该请求。
(2)DOU
交通信号控制器最基本可控单位为相位,不同相位在时间轴上延伸形成相序CSP。控制器的控制结果完全反映在相序及其属性上。
相位从获得通行权到失去通行权需要经过的黄灯时间(Yellow)、红灯时间(Red)的序列称之为过渡序列(Transition Sequence);同一段时间内获得通行权的相位组合称之为阶段(Stage);包含了所有相位的最小阶段序列称之为周期(Cycle)。
CSP生成器的任务即调整CSP(t),使之尽可能多的满足请求(Request)。其有效调度算法由以下步骤构成:
①将当前未处理Request 队列按照优先级进行排序,包括优先级和内部优先级;
②对相同优先级的请求,若该类请求是非互斥请求,则请求到达时刻晚的优先级高,否则只保留最新的请求;
③对未处理队列队首请求消息进行处理,调整两个周期内相位使能及通行权时间。
④若无解则将该请求标记为等待响应状态,并移出队列;
⑤若有解则根据评价函数选择最优解,并将请求标记为正在响应状态;
⑥检查未处理队列,若为空,结束并生成CSP(t)共执行器使用;否则返回③。
该调度算法中对请求的求解过程最为重要,该过程可以用下述方式表述。
CSP(t)可以通过状态空间进行描述:CSP(t)而Stage.i的值域为{0 }⋃{( min,max )}。其中0 表示可以跳过该相位或阶段,否则该相位只能在最小绿和最大绿之间获得通行权。为满足请求,通过状态空间的搜索以获得新的CSP(t)。对于有解的请求消息,则根据状态空间评估函数进行选取,其表达式如下:
其中:
1.2.3 PEU和SOU
执行器接受调度器输出结果CSP(t),进行实际相位输出。观测器将当前相位输出状态采集回来反馈至调度器和解析器,以协助其下一时刻的事件检测和输出状态决策CSP(t+1)。
2 特性分析
2.1 ED-Model特点
该模型设计的基于事件调度的控制模式,通过改变事件定义与检测规则和解析规则来实现不同的控制逻辑。在模型结构及功能上具有以下几个特点:
(1)模型将对当前控制方案的任何改变情况统一抽象为事件,通过事件的检测与解析来决定交通信号的影响控制状态;
(2)事件通过四大类状态变量检测和识别,状态变量既包含IO 类数据、统计类数据,也包含系统运行状态变量,大量的状态变量为丰富事件的定义与检测的前提;
(3)模型将事件检测与请求决策分离,由EDU 综合处理请求队列,避免二者功能上的交叉导致的混乱决策;
(4)EDU 提供交通信号操作系统(OS)的基础框架,引入给予优先级的请求调度概念,实现多条请求状态下的有序决策。
总体而言,ED-Model 是一种通用的交通信号控制模型,其提供了一种通用的交通信号控制规则,下文将从模型兼容性、扩展性和运行效率等方面进行特性分析。
2.2 兼容性
ED-Model 的兼容性是指该模型对现有交通信号控制需求的实现能力。当前各类交通信号控制系统及信号机提供了多种多样的控制模式,同时随着需求的不断扩展各类新型控制模式及辅助模块也不断出现。虽然各种控制模式具有不同的功能及表述,但是通过分析可知,信号控制的功能需求可由四类基本操作及Req 对象的Type 参数构成。
分析现有主流控制模式的功能,可以发现现有各类交通信号控制模式均可从上述类似类基本操作来实现,如表3 所示。其中A,B,C,D 分别表示上述4种基本请求操作。
表3 控制模式基本控制需求分析表
由此可见,ED-Model 的结构完全可以实现对现有控制模式的兼容。
2.3 可扩展性
狭义的状态观测即指交通流状态检测,多数控制算法均建立在狭义状态基础之上;而广义的状态观测即前面所述的事件,除交通流基本状态外还包括其他的信号机触发信号。算法决策即根据当前或者一段时间的状态趋势来决策当前信号机的逻辑输出。具体结果体现在执行输出的能力上。可见,在2.1小结基本的信号机执行能力的基础上,如何实现算法的状态观测及决策即成为该系统是否具有良好扩展性的决定因素。
由ED-Model 的结构可知,该模型的状态观测基于信号输入与检测规则。在此基础上产生的Event即是对不同状态的描述。在ED-Model中,包括四个层次的状态变量:
(1)原始IO状态;
(2)一次统计量,包括流量、密度、车头时距等;
(3)二次统计量,包括速度、延误、旅行时间、排队长度等;
(4)系统状态量,包括时间、日期、网络状态等系统状态;
四种类型的状态变量为ED-Model 的事件描述与检测提供了丰富的资源。而从第2部分系统结构可知,该系统的事件定义采用标准Signal数据流表示方式,而算法决策采用标准Request 数据流表示方式。这样,不同事件检测及决策均以数据作为驱动,与信号机内部程序实现了有效地分离。因此,在该系统下,通过配置不同的Signal 及相应Request 解析规则即可实现不同的控制算法,无需更改信号机的内部控制程序。
下面分别分析Signal 数据和Request 数据所能实现的能力。Signal 数据(即检测事件)标准格式可以定义如下:
式中:Event(j)为第j事件;Orignal(j)为直接的IO信号;Statistical(j)为一次交通统计量;Model(j)为二次交通统计量。详细统计量的内容可见1.1.2外部信号和1.1.3内部信号。
通过内部信号和外部信号定义的事件,包含了原始IO 数据、一次统计量、二次统计量和时间日期类数据,可以满足现有信号机的状态检测需求(见表4),且具有良好的扩展能力。
表4 状态检测对比分析表
2.4 算法效率
运行效率主要指系统的控制算法复杂度。对于ED-Model 其运行效率主要由两部分决定:(1)事件的检测(检测与解析规则);(2)请求的调度(解空间的搜索与决策)。
2.4.1 DAU执行效率
解析规则即指检测到特定事件发生后产生什么样的Request 数据。其原始来源为事件的定义集。假设事件集有如下表示:
式中:O,S,M,T,D分别为Original,Statistic,Model,Time,Date 类事件;NX为某类事件的个数。且定义原始检测类运算的消耗为A,统计类运算的消耗为T·A,模型计算类运算的消耗为T·A·B,则解析规则的总消耗S可以表示为:
由于各类事件集为线性结构,因此总消耗与事件集的大小和基础消耗参数相关,复杂度为其中T为统计量的统计周期。
2.4.2 RDU运行效率
调度规则的效率即指调度器对于Request 请求队列的处理效率。根据1.2.2 调度器中所述调度规则,假设Request队列表示为下式:
其中,C/D 类Request 是一次性瞬时操作,不涉及解空间的搜索过程。
另一方面,假设该系统当前使用的是k阶段控制方案。表示第i个阶段的最小绿和最大绿,则第i个阶段的空间集为:
在此基础上,此方案的解空间可表示为向量:
解空间的大小为:
由于调度规则约定优先级顺序,则调度规则对于解空间的搜索过程的复杂度一定不大于:
3 结语
本文提出一种基于事件调度的交通信号控制模型ED-Model。该模型通过统一的事件检测识别与调度决策机制,将信号控制算法与信号机管理程序分离,有效地将不同控制算法在该模型内得以实现,并具有对新算法较好的可扩展性,为现有交通信号控制器的算法更新与协同控制提供有效的保障。
[1] Beijing Traffic Management Bureau. Relative Data since 2012 [EB/OL]. [2004-01-09](2014-04-05). http://www.bjjtgl.gov.cn/publish/portal0/tab118.
[2] Sui Liying,Li Wei,Shi Jianjun,et al.The Analysis and Application Actuality of Traffic Signal Control System——SCOOT and ACTRA in Beijing[J]. Road Traffic & Safety,2007(2):10-13.
[3] Lenné M G,Rudin-Brown C M,Navarro J,et al.Driver Behavior at Rail Level Crossings: Responses to Flashing Lights, Traffic Signals and Stop Signs in Simulated Rural Driving[J].Applied Ergonomics,2011,42(4):548-554.
[4] Zhao X,Shang P,Lin A,et al.Multiracial Fourier Detrended Cross-Correlation Analysis of Traffic Signals[J]. Physical A: Statistical Mechanics and Its Applications, 2011,390(21):3670-3678.
[5] Pérez J, Seco F, Milanés V, et al. An RFID-Based Intelligent Vehicle Speed Controller Using Active Traffic Signals[J].Sensors,2010,10(6):5872-5887.
[6] Asadi B,Vahidi A.Predictive Cruise Control:Utilizing Upcoming Traffic Signal Information for Improving Fuel Economy and Reducing Trip Time[J].Control Systems Technology,IEEE Transactions on,2011,19(3):707-714.
[7] Otterdahl D, Andersson M. New Protocol for ITS-Used in Traffic Signal Control from Cooperative Ideas to Development Requirements for the Swedish Transport Administration[C]// 19th ITS World Congress. Vienna: ERTICO- ITS Europe,2012.
[8] Prashanth L A, Bhatnagar S. Reinforcement Learning with Function Approximation for Traffic Signal Control[J]. Intelligent Transportation Systems,IEEE Transactions on,2011,12(2):412-421.
[9] Gokulan B P, Srinivasan D. Distributed Geometric Fuzzy Multiagent Urban Traffic Signal Control[J]. Intelligent Transportation Systems, IEEE Transactions on, 2010, 11(3):714-727.
[10] Yin H, Wong S C, Xu J, et al. Urban Traffic Flow Prediction Using a Fuzzy-Neural Approach[J]. Transportation Research Part C,2002(10):85-98.
[11] Arel I, Liu C, Urbanik T, et al. Reinforcement Learningbased Multi-agent System for Network Traffic Signal Control[J]. Intelligent Transport Systems, 2010, 4(2): 128-135.
[12] Baniqued P L, Low K A, Fabiani M, et al. Frontoparietal Traffic Signals:a Fast Optical Imaging Study of Preparatory Dynamics in Response Mode Switching[J]. Journal of Cognitive Neuroscience,2013,25(6):887-902.
[13] Ferreira M, Fernandes R, Conceição H, et al. Self-Organized Traffic Control[C]//Proceedings of the seventh ACM international workshop on VehiculAr Inter NET working.ACM,2010:85-90.
[14] Brynielsson T. Method for controlling traffic signals to give signal priority to a vehicle:USP,8742945[P].2014.
[15] Putha R,Quadrifoglio L,Zechman E.Comparing Ant Colony Optimization and Genetic Algorithm Approaches for Solving Traffic Signal Coordination under Oversaturation Conditions[J]. Computer-Aided Civil and Infrastructure Engineering,2012,27(1):14-28.