面向精细化交通管控的实时在线微观仿真技术
2020-07-15蒋中阳丁闪闪刁含楼
吴 岚,蒋中阳,丁闪闪,刁含楼,姜 圣
(中设设计集团股份有限公司,南京 210014)
0 引言
随着社会与经济的快速发展,城市出行需求越来越大,道路资源愈发紧张,交通拥堵、交通安全、环境污染等问题不断凸显,居民对交通的服务水平要求越来越高,交通管控的精细化程度也越来越高. 实时微观交通仿真技术,能构建与现实十分接近的交通环境,利用其交通状态再现技术,模拟真实车辆行为、信号控制运行等,评价不同优化方案的预计实施效果,基于历史数据预测未来道路交通状态发展趋势,为管理部门提供新型而有效的决策支撑手段,促进并实现交通管控精细化、科学化、高效化、智慧化的发展[1-2].
目前,在实时交通仿真方面,国内外学者已经进行了一定的探索研究. J. Maroto等[3]研究开发了一种能实时模拟城市交通状况的微观模型,并将其应用于驾驶模拟器中;Pell等[4]对17种仿真软件进行比较分析,发现越来越多地已经使用在线数据应用于实时交通管理,并强调了未来仿真在多种路网下的实时模拟应更具灵活性与适应性;吴斗[5]提出了一种在线微观交通仿真模型,并设计研发了OMTSS仿真系统,实时、真实地还原交通,使交通仿真过程与真实交通控制管理同步. 但这些研究只在单个交叉口或极小范围路网进行测试,并未对大范围路网进行建模应用,且缺乏对路网交通状况的评价体系. 而较为成熟的实时在线交通仿真多采用宏观、中观仿真模型[6],主要原因是微观仿真模型计算量大,运算速度很难达到与实际系统同步运行的要求[7];林祥兴等[8]在不同交通流量情况下开展VISSIM仿真精度实验,发现计算机性能和仿真运行设置对单步仿真运算时间精度具有一定的影响,计算机性能越好、流量越低、仿真精度越低,则运算时间越低.
而如何将外场实时交通信息同步有效传入微观仿真模型进行专业实时仿真分析,仍是难点,尤其是路网级别的数据交互,具体技术不足表现在:①微观仿真模型在运行过程中不能进行数据输入输出,手动干预会造成大量时间延误,从而严重影响实时性;②交通出行生成随机,交通流分布随机,同步路网输入输出以及各路段流量较为困难,导致仿真结果准确难以保障;③联网信号机可直接与仿真模型进行交互,但仍存在断网或离线信号机,无法实时持续在线同步,对仿真中交叉口车辆行为同步有较大影响. 总体而言,尚且缺少成熟而又成体系、同步性较好、与实际交通环境相匹配的实时在线微观交通仿真技术.
本文采用目前技术较为成熟、在交通组织优化与信号控制优化等方面应用较为广泛的微观模型VISSIM[9-10]作为系统基础,通过其COM接口二次开发,设计并开发实时在线仿真各大技术模块,并进行性能优化处理,与实际时间尽可能同步,最后基于该技术搭建系统平台,实时仿真真实路网,验证系统的精确性、同步性和稳定性.
1 实时在线微观仿真系统设计
为满足再现当前的交通运行状态,完成交通组织方案的定量评估分析,对交通组织管理、交通时间预警和评估、交通基础设施规划建设、交通政策可行性分析研究提供量化的决策依据,实时交通仿真系统需要接入交通检测、信号控制等数据,及时快速输入至交通仿真软件VISSIM运行,并根据不同场景要求,同步稳定输出多维、合理、科学的评价数据,以提供决策依据. 所以,通过综合多领域技术分析研究,设计了一套实时在线仿真系统,其由交通流数据库、交通评价数据库、VISSIM仿真软件以及主控程序组成,如图1所示.
图1 实时在线微观仿真技术框架
主控程序负责调取COM接口、控制VISSIM,以及重构数据,完成输入与输出,是系统的核心部分. 程序采用Python语言编辑,主要考虑Python运行速度快、可移植多平台等特性,且面向对象编程,与COM对象结构类似,易于理解;利用Python庞大的标准库,可简单方便的操作程序、数据库、XML、GUI(图形用户界面),代码编写复杂度大大降低;同时,Python也是人工智能算法的主要实现语言,未来系统扩展,与人工智能算法结合,程序也可复用.
交通流数据库负责处理存储外场各类交通检测器所获得的交通流数据,为主控程序提供稳定可靠的实时数据. 主要包括视频检测器数据、微波雷达检测器数据,虽然两者数据来源不同,检测原理不同,但两者的数据结构类似,可进行融合处理. 检测器上传数据的时间方式有前端自带GPS校时与后端服务器对时,在本系统设计中必须将实时数据源进行统一校时,保证仿真数据输入的同步性. 视频检测数据精度主要受环境光影响,导致在实际应用过程中夜间数据往往不够理想;微波雷达检测原理是根据波的反射来判断车辆位置、速度等,障碍物是影响检测精度的主要因素,如空中的树叶. 因此,根据两者数据特性,在数据层对其进行融合处理,以得到更精确的交通仿真输入参数.
VISSIM仿真软件,负责根据实际路网数据搭建仿真模型,并在设定流量、速度、路径、信号配时等参数后,运行仿真,输出评价信息. 在搭建模型之前,需收集仿真路网基础资料,包括道路线形、横断面结构、交叉口形状、全天信号配时方案、车道信息、小区出入口及卫星底图等;利用VISSIM软件中的Link和Connector编辑路网、交叉口,信号控制机与信号灯头设置交叉口信控方案,以及数据采集点、节点、车辆行程时间等各类检测评估模块以在仿真运行过程中采集所需要的评价参数.
交通评价数据库,负责存储交通评价信息,进一步分析处理后支撑方案决策、数据可视化展示等. 所有评价数据的来源均为VISSIM仿真结果,理论上所有VISSIM生成的评价数据均可提取入库,而这将花费大量的时间,影响同步性. 因此,在实际应用中,根据业务需求,提取所需数据,包括路网整体评价、主干道评价、路段评价与主干道评价这几大类,其提取频率与实时数据输入频率一致.
2 主控程序设计
交通数据结构复杂,采集频率不一,VISSIM仿真软件无法直接对接此类数据,所以必须将来自于各类交通检测器的数据输入中间件,整理多源数据、处理问题数据、同步数据时间;同时,针对VISSIM软件本身而言,这必须在仿真暂停或停止后才可对输入流量、转向比例等交通参数进行实时更新以及提取交通评价参数,为尽可能减少因更新交通参数而暂停造成的时间延迟,设计中间件时必须考虑程序运行逻辑、耗时等因素,将延迟时间控制在合理范围内,以实现虚拟与现实的同步. 因此,为实现该功能,设计了一套代码精简、逻辑清晰、冗余极少的主控程序,以连接交通检测器的实时数据以及调用VISSIM COM接口进行仿真对象控制,主要包括仿真运行对象、车辆生成对象、路线决策对象、信号机对象、评价对象,技术原理如图2.
图2 实时在线微观仿真技术原理
2.1 仿真时间控制
在交通仿真运行期间不能直接修改各项参数,因此需要在数据实时更新前对仿真进行暂停,更新完成后立刻使仿真继续运转,保证其连续性、同步性. 于是,设计仿真时间控制,用于对实时仿真过程中进行各类数据输入与输出的时间节点控制,其中包括基于VISSIM中的中断仿真控制与基于VISSIM中的停止仿真控制.
基于VISSIM中的中断仿真控制,是在不结束VISSIM仿真的前提下对本次仿真进行暂停,再次启动后路网运行继续;基于VISSIM中的停止仿真控制,是结束仿真过程,通过获取本次仿真控制所有交通运行状态,包括车辆运行位置、车速信息以及信号控制状态,在下次仿真开始后立即输入以上车辆信息数据,形成连续仿真.
具体地,根据数据交互间隔时间、信号控制划分时段与仿真总时长等时间参数,对微观模型仿真过程的时间节点控制,并校正实际时间与仿真系统时间的误差,以达到其他模块运行时间与现实同步的目的. 以预设的间隔时间为准,采用中断仿真控制模式来控制流量数据与路线决策数据的输入以及仿真评价数据的输出,并利用仿真速率控制算法对其产生的时间误差在下一间隔时段进行弥补;根据各个交叉口全天信号控制启动时段,通过停止控制时间序列算法计算各信控方案更新前的仿真时间,时间结束后进入停止仿真时间控制模式.
2.1.1 仿真速率动态控制算法
设定交通生成、路径决策与评价数据输入输出的间隔时间Δt(s),初始仿真速率v=1(步长/s).
在系统运行过程中,在第i次数据输入输出时,获取信号控制匹配模块或交通生成数据输入模块运行开始时刻Tpi,评价数据模块输出结束时刻Tqi,运行数据输入输出所损耗的时间为t1i=Tqi-Tpi-Δt,单位:s
第1次:中断仿真控制前仿真运行时长为t1=Δt,仿真速率v1=1
运行数据输入输出所损耗的时间为t11=Tq1-Tp1-Δt,
运行数据输入输出所损耗的时间为t12=Tq2-Tp2-Δt,
…
运行数据输入输出所损耗的时间为tl(n-1)=Tq(n-1)-Tp(n-1)-Δt,
第n次:
2.1.2 停止控制时间序列算法
设Pk为第k次采用停止仿真控制前仿真时长,单位:s,其序列为ΦP={P1,P2,…,Pm}
Sk为第k个信号控制方案开始时刻或k-1个信号控制方案结束时刻,时间格式为“hh:mm:ss”
各个信号控制方案开始/结束时刻集合Φs={S1,S2,…,Sn},顺序由小到大,其中S1=00:00:00,Sn=23:59:59
启动时刻Tstart,时间格式为“hh:mm:ss”
实时仿真总时长,ttotal单位:s
即仿真时间范围[TS,TE],其中TS=Tstart,TE=TS+ttotal
比较TS,TE与ΦS内各Si的大小,得TS∈[SiSi+1),TE∈(Sj,Sj+1]
若i=j,则停止仿真控制时间序列为{P1},P1=TE-TS
若i≠j,则停止仿真控制时间序列为{P1,P2,…,Pm},其中Pk=Si+k-Si+k-1,m=j-i+1
2.2 交通生成模块
交通生成模块用于将通过在路网外部点所采集的实时交通数据输入仿真模型,并在VISSIM模型中的车辆输入点生成相应的交通流量,以及对车辆进行速度控制,匹配实际情况. 其负责将外部点的交通数据转化为VISSIM COM接口标准数据并完成输入设置. 利用包括但不限于视频检测器、雷达检测器所采集的交通数据,分析实时交通流量、车辆组成类型比例、速度等,并通过COM接口的Vehicle Inputs对象进行交通流量批量修改与车辆组成比例选择,以及操作Speed Distribution Data Point对象进行车辆期望速度控制.
2.3 路线决策模块
路线决策模块用于根据在路网内部点采集的实时交通数据所推算的交叉口各进口道转向比例,修改VISSIM中各路线决策点的相对车流,以匹配实际情况. 其负责完成交叉口车辆路线决策的相对比例控制. 利用交叉口各进口检测器,包括但不限于视频、雷达,采集通过各车道的流量,并根据车道转向信息,进行路线决策相对比例计算;对于混合车道、普通检测器无法检测车辆分流情况的,采用人工抽样调研统计,通过历史数据推算实时情况,再转换为路线决策相对比例;然后,通过COM接口的Vehicle Routing Decisions Static对象进行车辆的路线决策相对比例批量设置.
2.4 信号控制匹配模块
对于联网信号控制系统,VISSIM具备专用DLL进行关联. 本文针对无联网控制信号机,设计信号控制匹配模块,用于同步交叉口其信号控制方案,以匹配实际交叉口的车辆放行顺序与时间. 其负责保证仿真环境中各交叉口信号灯运行状态与外场实际尽可能一致,分为3个子模块:信号状态时间获取子模块、信号状态判别子模块、信号相位差设置子模块.
2.4.1 信号状态时间获取子模块
负责分析卡口或其他设备拍摄的信号灯运行图片,将非结构化数据转换为结构化数据,其中包括:当前时间、信号灯灯色、倒计时. 在实际操作过程中,对于缺乏倒计时屏的信号设备,可在信号灯灯色刚改变的那一刻进行时间记录,则倒计时可取“0”,另外对于无卡口条件的交叉口,可利用人工采集,跳过此子模块,直接输入采集数据至下一模块.
2.4.2 信号状态判别子模块
负责将获取的数据进行分析判别,确定该时刻所运行的控制方案及所处的信号周期时间位置,并计算绝对相位差.
式中,C为该交叉口目前运行方案周期,s;n为方案相位总数;gi为第i相位所占时间,s;Tp为获取信号灯运行图片的时间戳;S为根据灯色判断的当前阶段序号,s≤n;t为当前阶段倒计时,s;Tq为信号方案最近开始启动时间戳;Tn为当前仿真运行时间戳;Δt为信号方案绝对相位差,s.
2.4.3 信号相位差设置子模块
负责批量设置VISSIM模型中各信号机的信号控制方案及其启动相位差,具体操作:VISSIM中各信号机对应的配置文件(.sig)采用XML语言编译,通过程序解析,直接进行批量修改,而后再重新启动仿真,模型即可加载新配置的信号控制方案,并且与外场信号灯运行状态一致.
2.5 评价数据输出
评价数据输出模块用于将仿真过程中VISSIM所得的评价数据进行处理后存入数据库,通过可视化手段将仿真运行状态及仿真评价结果呈现出来. 其负责获取VISSIM实时仿真过程中的评价数据并存入数据库进行可视化呈现,包括数据处理子模块、数据存储子模块和数据可视化子模块.
通过数据处理子模块,在获取评价数据的过程中对其空值、异常值进行补全、修正;通过数据存储子模块,将评价数据筛选处理,按设计表结构存入数据库中;通过数据可视化子模块,将数据以图表形式展示出来,一方面展示实时交通评价数据,另一方面存储有历史数据. 基于此,可进行时间轴上的分析得出深度交通评价指数,进一步实现数据的时空分析,支撑交通组织优化和管理决策.
3 案例应用
选取南京市白下高新园区紫云大道及其周边路网包含双麒路、永丰大道、永智路、运粮河西路等4条次干路以及小区出入口、企业停车场出入口等应用场景作为研究对象,选取路网周边工业、商业密集分布、居民小区环绕,靠近高速匝道,早晚高峰潮汐现象明显,交通出行规律稳定,是典型的城市交通道路;基于实时在线微观仿真技术构建该区域的VISSIM路网,并搭建面向精细化交通管控的系统平台,具体实施路线如图3,系统界面如图4. 沿线交叉口布设有10套视频检测器、11套微波检测器用于交通流检测,覆盖研究范围的外部交通数据采集点,以及所有交叉口进口道,采集精度高. 平台运行过程中,输入数据包括外围检测器的采集数据用于交通流量输入,场景内部交叉口检测器的采集数据用于路径决策转向比例控制与仿真精度验证;仿真输出包括VISSIM评价模块的各类数据,如交叉口仿真交通量、车道排队长度、延误时间、行驶速度、行程时间、服务水平等.
图3 实时在线微观仿真系统流程图
系统部署于window环境的服务器,其配置为i7-8700 CPU/16G内存,仿真精度可达10 步长/仿真s,为验证系统有效性、同步性、稳定性提供了可靠的环境.
具体测试结果见表1、图6、图7.
表1是在全天仿真中选取早高峰、平峰、晚高峰内各1 h,每仿真300 s统计一次系统所运行的实际时间,比较最终误差. 数据来源于系统运行日志,如图5所示,通过计算每个间隔开始时刻的差值与运行仿真实际时间比较而得到. 其结果显示,各时段内1 h延误时间均在60s以内,时间误差百分比不超过1.5%,一天24 h延误不超过24 min,基本达到同步要求.
图4 实时仿真系统评价数据可视化界面
表1 实时仿真系统1 h内运行同步情况
图5 系统运行日志
图6 一日内交叉口每5 min实际与仿真系统中的交通流量关系图
图7 实时仿真系统一日连续运行资源占用情况
图6通过对一天24 h内每5 min的内部交叉口实际通过交通量与仿真运行交通量进行统计对比,实际交通量是通过交叉口交通检测器测得,仿真交通量是通过在仿真路网中设置数据采集点路网运行过程中每5 min采集1次得到,两者绘制成散点图,通过梳理分析,平均误差小于10%,符合线性回归,且离散程度在合理范围内,表明仿真还原度较高,仿真模型贴近真实路况.
图7是对系统运行期间计算机的CPU及内存占用情况进行跟踪分析,实施例表明在流量较大的早晚高峰下仿真系统对CPU、内存占用较多,平峰占用情况较为稳定. 对于现使用的计算机,配置仍有较大的冗余,还可支持更大的路网规模与更高的数据更新频率.
4 结束语
本文提出了面向精细化交通管控的实时在线微观仿真技术,仿真精度较中观模型大大提高,模型运行效果良好,还原度较高,并利用构建的路网及外场检测器数据搭建系统平台进行实际应用测试,解决了交通数据、车辆转向、未联网信号机等同步问题,形成了评价数据可视化的数据分析界面,使交通管控具备精细的决策分析能力;在实际全天运行过程中,仿真精度平均可达90%以上,同步误差不超过1.5%,资源未溢出,且仍有较大冗余,系统稳定性、可靠性得到验证.