夏源
(福州大学 福建省福州市 350108)
现代城市化建设进程中,交通拥堵成为了急需解决的问题。这一背景下,交通领域逐渐对智能交通控制系统性能提出了更高的性能,而想要提升信号控制系统性能,符合现代交通领域发展需求,则应加强对电子信息技术的应用,以该技术为核心,开发出一款性能更加良好,且功能更加健全的智能交通信号控制系统。
所谓的电子信息技术,指的是研究开发、设计、生产、维护与管理电子信息产品与系统的理论与技术,随着现代科学技术的不断发展,电子信息技术也更加成熟与完善,并被广泛应用到各个领域,其中,包括交通领域,逐渐开发出了很多较为先进的信号控制系统。智能交通信号控制系统运行时,电子信息技术会体现出诸多优势。
现代交通事业发展进程中,逐渐开发出了智能交通信号控制系统,即利用计算机、互联网、自动化控制、电子技术等技术对交通信号进行控制的系统,通过该系统的应用,可自动对交通信号予以调节,减少人员的干预,不仅提升了控制效率,而且还会降低交警人员的工作量与安全性,对现代社会发展具有重要意义。
1.3.1 MVC 模式
本次研究当中,主要以MVC 模式为主要控制模式,对智能交通信号控制系统进行了设计,该模式全称为交互式模型—视图—控制设计模式。通过该模式的应用,能够赋予系统更强的复用性,降低子系统将的耦合时间。
(1)模型层,位于整合结构的最下层,为整个系统的核心模块,用于对系统数据逻辑的处理。该层与数据库相连,一方面,可从中提取出相关的数据,另一方面,也会将处理后的数据存储到数据库内,以将数据库与其它层分隔。此外,由于该层与视图层相独立,能够通过1 个模型同时对多个视图层传输数据。
(2)视图层。主要是通过图像、表格等方式,将数据分析结果展示出来,用户通过对视图层的观察,可准确了解系统内的数据分析情况。通过视图层的引用,使系统界面与逻辑程序相独立,有利于系统的设计与开发,当系统的逻辑大袋出现调整后,视图显示依然保持稳定。
(3)控制层。主要用于用户的操作,获取用户请求后,可自动予以转换,使其变成能够被模型层使用的命令,以此驱动系统完成相应活动。
1.3.2 Batista 框架
现代计算机领域存在多种系统框架,如UML 框架、CSS框架、MyBatis框架等,其中,MyBatis框架具有较多优势,因而被广泛应用到现代计算机系统软件的研发当中。该框架操作简单,可提供xml 标签,能够动态完成SQL 变成活动,支持对象与数据库的ORM 字段关系映射等。该框架主要由三层构成,分别为:
(1)接口层。该层内,在XML 文件的基础上,通过xml 开发语言,编写出MyBatis 格式的SQL 语句,以此发送系统的控制命令。
(2)处理层。接口层形成SQL 语句后,会自动传输到处理层,由该层进一步对SQL 语句进行处理,以此控制系统完成数据操作。
(3)功能层。完成与数据库相关的工作,如构建出系统与数据库间的通信,对数据进行存储等,对数据库通信的运维等。
本次研发的智能交通信号控制系统当中,主要由4 个功能子系统构成:
(1)终端感知子系统。其中共有两个功能。一是数据采集功能。利用相应的电子传感器,对交通道路现场予以检测,以第一时间获取交通现场的数据信息,包括车辆运行状况信息、交通道路堵塞信息等。二是预处理功能。获取交通道路相关数据后,通过对这些数据的简单处理与分析,展示出交通现场的具体情况。
(2)实时监控子系统。由两部分构成,一是设备监控,主要对交通现场感知设备予以监控,获取现场感知设备的所处位置、编号、运行状况,以及时发现现场感知设备出现的故障,使感知设备保持良好状态。二是街道情况动态监控。主要对街道内车辆、人流量等情况予以检测,为街道交通的控制提供支持。
(3)参数设置子系统。根据系统运行的实际要求,自动对各项参数进行设置,如时间参数等。
(4)决策分析子系统。该子系统能够进一步对感知模块获取的数据展开分析,针对分析结果制定相应的控制命令,进而将其传输给终端装置,使终端装饰能够按照需求完成信号控制工作。
3.1.1 电子传感器
光电雷达传感器具有较多优势,如元件使用简单,可自动对车流、人员进行区分,误触率较低,且受到外界环境因素的干扰较小等。但需要注意的是,该元件也存在一些缺陷,即在声波在特殊的频段内,因而需要选择高质量芯片,并设计出合理的天线布局方案。随着雷达传感器的不断发展,光电雷达传感器技术更加成熟与完善,大大改善了该元件的缺陷,由此本研究将光电雷达传感器作为控制系统的数据采集元件。
光电雷达传感器运行时,主要利用了调频连续波(FMCW)原理,在设备终端上,发出1 ~10mm 的微波信号,这些微波信号接触到检测物体后,会反射会相应的信号,通过对反射前后信号的对比分析,推算出被检测物体所处位置,计算出车辆的相对速度等。
对于1 ~10mm 的微波来说,频段通常有两种,一种为24GHz,另一种为77GHZz,两种频段所需要的天线具有不同要求。其中,对于77GHz 频段来说,性能更加良好一些,可安装多个收发阵元,能够采集到较窄的波束,以此提升数据采集的精确性。另外,的相对于24GHz 频段的雷达来说,77GHz 频段的雷达检测范围更大,有利于对交通现场的控制。所以,本系统数据采集元件设计时,最终选择了型号为77A2T4R 的光电雷达收发器芯片,该芯片参数如表1 所示。
表1: 77A2T4R 芯片参数表
以晴天、雨天为条件,对该元件进行检测试,得到了如表2 所示结果。通过该表观察发现,两种天气条件下,该元件均具有良好效果,符合要求。
表2: 77A2T4R 芯片测试结果
3.1.2 数据网络化
传感器获取交通现场数据后,应将其传输给其他子系统,为了实现这一功能,则应对则应对数据网络化处理。具体来说,主要包括两个方面:
(1)Zigbee 组网。对于该组网方式来说,存在抗干扰性能较高,安全性更强,数据传输较快等特点,因而被广泛应用到电子信息传输领域当中。而本研究当中也选择对终端网络化进行设计,通过产品横向对比后,最终确定为CC2530F32 芯片,该芯片是在常规微处理器的基础上,增加了移动收发器元件而形成的,主要参数如表3 所示。
表3: CC2530F32 芯片参数表
(2)拓扑结构。在网络化拓扑结构方面,选择了“父子”结构,利用特定的“父”节点,对“子”任务或元件进行控制,安全性较高,且结构较为稳定。该结构当中,集中控制器是核心元件,用于对整个模块的控制。该元件包含了功能强大的At91rm9200 微处理器,作为结构的“父”节点。传感器是“字”节点,在ZigBe 芯片的作用下,通过FEMS 协议的方式,将获取的数据上传至控制器内,以此完成数据网络化操作。
基于卡尔曼滤波的道路车辆数据处理:
对车辆数据预处理时,选择了卡尔曼滤波法,其属于递归运算法,在系统内,录入特定的离散数据后,通过线性最优计算,求得最优结果。该方法抗干扰能力较强,可去除那些干扰的数据,且实现简单。在原始数据集内,赋予相应的监测标签Status,假设Status 有{0,1,2}三种情况,当Status=0,表明监测对象是新目标;当Status=1 时,表明目标被监测;当Status=2 时,表明目标超出监控范围,或是由于其他因素的影响而丢失目标。该方法运算流程为:
线性离散系统内,可通过n 维空间的向量X∈R表示检测目标的具体状态。在t 时间点上,监测目标所存在的状态向量,由X表示。在t时间点上,系统录入的信息通过U表示,其可由前一时间段的状态与转移矩阵B推导而得,公式为:
其中,A表示在t-1 时间点上,监测目标的状态变化矩阵;H表示在t 时间点上,监测目标的测量矩阵,用于实际情况向预测模型的映射;W与V表示噪声,为了简化分析,现将两者看做相对独立的,且符合正态分布的两个因子,可确定出相应的协方差矩阵,公式为:
本模块设计时,选择了我市某交通道路作为研究对象,该区道路为十字路口,如图1 所示。方向1 路段当中,共由8 车道构成,4 条入车道,一条向左转弯,两条用于直行,一条用于向右转弯,4 条出车道;在方向3 路段中,结构与道路类型与1 路段相同;方向2 车道中,共由6 车道构成,3 条入车道,一条向左转弯,一条用于直行,一条用于右转与直行,3 条出车道。在方向4 路段中,结构与道路类型与1 路段相同。
图1: 某交通道路简图
由图1 观察与分析可知,该路段交通信号控制时,需要选择四相控制系统。在相位1 状态下,东西方向车辆可直行,也可向右转弯;在相位2 状态下,东西方向车辆向左方向转弯;在相位3 状态下,南北方向车辆可直行,也可向右转弯;在相位4 状态下,南北方向车辆向左方向转弯。相位转换时,设有3s 的等待时间,即黄灯。
设计出良好的仿真系统,能够将系统分析结果真实、准确的展示出来,从而为智能交通信号控制系统的运行提供支持。基于此,本研究通过对仿真软件的横向对比后,选择了SUMO 软件。该软件是由得到研发的,具有较为强大的防震功能,可快速对数据做出分析,并建立出较为清晰的仿真模型,有利于现场情况的准确判断。
以上述路段作为研究对象,通过SUMO 软件仿真时,主要流程为:
(1)绘制路网。利用地图作为标准,在软件内,针对车流运行情况,绘制出相应的路段图,设置出每条道路的宽度等参数,所有道路绘制完成后,将其拼接到一起。
(2)规则参数录入。针对道路的使用要求,在软件内分别入炉相应的参数,如车流量、车速等。
(3)信号灯设置。由上述分析可知,某道路信号控制系统为四相位,每个相位分别对应不同的信号灯组,其中,当一组灯亮起时,东西方向车辆可直行,也可向右转弯;二组灯亮起时,东西方向车辆向左方向转弯;三组灯亮起时,南北方向车辆可直行,也可向右转弯;四组灯亮起时,南北方向车辆向左方向转弯。
针对以上条件,可得到如图2 所示模拟图像。
图2: 某道路SUMO 模拟图像
对上述功能实现时,采用了相应的代码函数予以驱动,主要包括:接口开关的操作,控制函数为traci-start()/traci-close();采集车辆号码操作,控制函数为rtaci.simulationStep();车辆总等待时间推算时,控制函数为trai.vehicle.getAccumulatedWaitingTime();确定车辆所处路段时,控制函数为traci.cehicle.getRoadID()等。
通过上述设计后,系统基础环境基本明确,之后,则应对模型元素予以设计。其中,包括下述几个方面:
(1)状态空间。以与终端感知层最终输出的结构化数据保持一致为目标,在SUMO 仿真软件内,提取出相应的交通数据,并通过相类似的方法予以处理,以推导出状态矩阵S,以及车辆速率矩阵V,并将其输出到决策模块。本次研究当中,选择m=5m,n=3m 的举行,对上述路段进行矩阵化转换,从而以各路线100m 距离为基准,构建出相应的矩阵,其中,在状态矩阵方面,用S表示,在速度矩阵方面,用V表示。
(2)动作空间。在道路交叉路口处,想要使各方面人员均具有良好的操作体验,本系统设计时,选择了固定的相位转化方案,即信号灯按照特定的顺序变换,但亮起时长则并不固定,需要由系统通过对道路内车流量情况的分析与计算而定。对于动作空间A 来说,表示第二个相位的时间,数值设定成连续的实数。现实当中,信号灯通常以秒计算,因而在计算出结果后,将最终结果确定成与结果相近,且高于结果的整数。针对某路段具体情况,在相位时长设定时,都选择了60s 当做原始参数。另外,为了使所有用户服务效果均处于最低标准之上,以最小时间Gmin 为基础,结合最大时间Gmax,推算出具体的实际时间。由此,可将动作空间解释为:
其中,V 表示路段内全部车辆;dvt 表示在t 时间点上,车辆v 的延误时间总和。
这样进行定义,能够将奖励看做惩罚,而强化学习算法的应用,则最大程度上降低所有车辆的惩罚。
本次研究当中,以传统DDPG 算法为基础,通过不断优化后,得到更加良好的TD3 算法,并将其运用到智能交通信号控制系统当中。
在很多工况内,传统DDPG 算法具有较强的应用效果,可以为相关工作活动的进行提供支持,但需要注意的是,若数据为超参数或是其他类型的掉惨动作,该算法则非常脆弱,很难得到准确的结果。其中,最常见的问题为:Q 函数运算时将产生较大的误差,对Critic 函数处理时,很容易产生远高于实际的结果。由于误差的存在,导致运算结果并非问题的最优解,不利于决策的制定。而在TD3 算法当中,则添加了三个核心因子,以此对传统DDPG 算法予以优化,具体来说,三个因子分别为:
(1)Clipped Double-Q Learning。在TD3 Critic 当中,存在两个不同的Q 函数,而在DDPG 算法内,则仅有1 个,通过对两个Q 函数的运算,选择其中数值较低者,以此当做贝尔曼误差损失函数中的目标,以此避免出现过高预估的问题。
(2)Delayed Policy Updates。对ActorC 策略神经网络参数更新时,TD3 的频率额远远低于Critic 中的Q 函数,利用注重优化,能够防止出现系统间的耦合问题。
(3)Target Policy Smoothing。Actor 选取操作时,TD3可向其中融入一定的噪声,防止运算流程产生严重错误。
针对本系统的运行要求,结合TD3 算法特点,本文设置出了如表4 所示参数。
表4: TD3 算法参数设置
在系统平台开发时,先要设计出系统构架。实际当中,用户通常需要利用移动设备、计算机等不同工具对该系统进行操作,为了达到这一目标,本系统设计时,选择了B/S 构架,该构架具有诸多方面的优势:成本低廉,无需选择性能较高的计算机硬件工具,使得系统开发成本大大降低;应用方便。通过B/S 构架的应用,可打破空间上的制约,在任何地点,用户均可通过相关设备进行操作,使得系统应用更加方便;信息共享能力墙。用户进入到系统后,只要对界面进行刷新,即可将具有浏览权限的所有信息展示出来,用户可通过对这些信息的观察与分析,为交通管理决策的制定提供帮;具扩展性强。可根据科学技术的发展,不容向系统内融入更多功能等。
本系统B/S 构架设计时,共由三层构成,分别为:
(1)视图层,为系统的交互界面。在层当中,通过HTML、CSS 等开发语言方式,根据各子系统采集的信息与分析的结果,对网页进行构建与调整;选择Thymeleaf 渲染框架,作为构架中的模板引擎,用于对系统网页的渲染;在UI 框架方面,选择了LayUI 框架,用于赋予网页动画、按钮、面板等操作功能;在前端库方面,选择了jQuery 代码库,用于系统各功能代码的调用。
(2)控制层,用于对数据的分析与处理。其中,选择了SpringMVC 框架,在视图层内,用户录入相应的请求,并将该请求传输到控制层,以此驱动系统完成相应的擦走哦。需要对数据库操作时,则通过Spring 框架内的JPA 功能,与数据层构建通信通道。
(3)数据层,用于数据的存储。其中,选择了MyBatis框架,并构建出MySQL、Redis 数据库,以此对数据进行存储与管理。对于Redis 数据库来说,采用的是内存存储原理,对实时监控模块等对数据读写速度具有较高要求的情况,将相关数据上传至内存,有利于数据的调用。
本系统设计时,主要采用了两种开发语言,一种为Java语言,用于前端的开发,一种为JavaScipt 语言,用于后端的开发。在服务器端,选择了SpringMVC 框架;在模块引擎方面,选择了Thymeleaf 框架;前端选择了jQuery 与LayUI 框架;开发工具选择了Eclipse;版本控制工具选择了Git;在数据库方面,采用了开源的MySQL 与Redis,通过MyBatisd 与控制层相连;在服务器方面,选择了开源的Tomcat。针对上述情况,可确定出本系统的运行环境,具体如表5 所示。
表5: 系统运行环境参数
主界面设计时,为了使整个界面更加简洁、直观,选择了靛蓝色为背景,Html 色彩代码为4689e1。
在浏览器内,录入该系统的域名,可跳转至系统的登录页面,通过右上角选项的选择,可设置不同的显示语言方式。在该界面的中心区域,用户录入账号与密码,即可跳转至系统功能主界面。界面应保持简约,且能够突出重点。本界面设计时,在高德地图的基础上进行开发的,地图中间主要用于显示道路规划情况,各种功能图表处于周边,以免影响用户的浏览。
功能主界面的左上方,为模块功能区,通过该区域的操作,可选择具体的监控设备或场所。在模块功能区左侧,为参数管理区,用户可根据具体情况,在其中录入相关参数。在右上端,为搜索功能区,在该区录入设备名称编号等信息,可快速获取对应的设备。界面中间的上方,为报警功能区,当发现设备或道路出现异常后,该区域开始闪烁,以此向管理人员发出警示。
综上所述,本次研究当中,利用MVC 模式、Batista 框架等有关的电子信息技术,开发出了一款集终端感知、实时监控、参数设置与决策分析为一体的智能交通信号控制系统。该系统可自动对道路与车辆运行信息予以采集,并作出相应分析,进而通过四相位模式控制信号灯的亮起,以使整个路段保持安全、顺畅,为车辆行驶提供支持。