基于元胞机的城市微观交通流仿真系统的制作方法

文档序号:6698099阅读:204来源:国知局
专利名称:基于元胞机的城市微观交通流仿真系统的制作方法
技术领域
本发明涉及一种基于特定计算模型的计算机系统,特别是一种基于元胞机的城市微观交— 通流仿真系统。
背景技术
交通仿真是20世纪60年代以来随着计算技术的进步而发展起来的采用计算机数字模型 来反映复杂交通现象的交通分析方法。交通仿真是计算机仿真技术在交通工程领域的一个重 要应用。交通仿真是复现交通流时间空间变化的技术。交通仿真模型的建立以及交通仿真实 验系统的开发是交通仿真研究的两个核心内容。其中微观交通仿真模型对交通系统的要素及 行为的细节描述程度最高。例如,微观交通仿真模型对交通流的描述是以单个车辆为基本单 元的,.车辆在道路上的跟车、超车及车道变换行为等微观行为都能得到较真实的反映。国外 的交通仿真研究较早,始于20世纪60年代,其中TRANSYT交通仿真软件是当时最具代表性 的成果。20世纪70年代至80年代,由于计算机的迅速发展,交通仿真模型的精度也迅速提 高,功能也更加多样。这期间的典型代表当属NETSIMU模型。随着20世纪80年代末和90年 代初国外ITS(智能交通系统)研究的日益热门,世界各国都展开了以ITS为应用背景的交通 仿真软件的研究,并达到了交通仿真研究前所未有的高潮,出现了一大批的评价和分析ITS 系统效益的仿真软件系统。交通信息的充分利用是智能交通系统有别于常规交通系统的显著 特征,各仿真软件均各有其特点及优势,但也因其研究定位和重点的不同,或多或少地存在 不同的缺陷。例如对于模型描述没有描述超车现象、对车辆在近交叉口路段的描述较为粗略、 假设了驾驶员对诱导信息的完全接受等。国内在交通仿真方面的研究长期处于一种未受重视 的状态,仿真研究较为零散,且往往只局限于解决单一问题,如对二车道公路通行能力的仿 真研究、高速道路入口匝道范围交通仿真、优先控制T型交叉口交通仿真等等。 -由于城市交通路口有着相当高的复杂程度,因此路口仿真一直是交通流仿真中的难点, 尤其在无控制或两相位控制的四岔、五岔路口由于其间冲突点众多,更是增加了仿真的难度。 现有的路口仿真解决方案主要有基于N-S模型的一维元胞模型和基于BML模型的二维元胞模 型。前者以N-S模型为基础来解决路口仿真问题,总体来说都是从功能上将路口分为入口路 段以及出口路段。入口车道对应着直行、左转和右转三条出口车道,Kai Nagel提出车辆在 入口和出口路段应遵循多车道的N-S模型,同时该方法对交叉口的处理采用了一个十分简单 的方法,实测交叉口的车辆在各个方向的转弯概率,以及路口的延误时间,根据这个两个参 数,从入口车道取出车辆插入到出口车道、。但是这一简单规则,弁没有考虑到交通信号灯、 停车线等交通设施的影响。,
而BML模型致力于用二维元胞自动机模型解决路口仿真问题,该模型从宏观角度对城市 路网进行研究,将整个城市路网划分成NXN个长宽相等的单元格,每个单元格代表城市路网 中的一个路口。它将时间步分为奇数时间步和偶数时间步,在每一奇数时间步,南北向的车辆可以向前行驶一个单元格;在每一偶数时间步,东西向的车辆可以前进一个格点;如果车 辆前方的格点已有其他车辆占据,那么这辆车只能在原地等待,不能前进。这样,每个格点 相当于信号控制路口。近年来BML模型得到了不断的改进和发展,但是大多是建立在宏观层 面上的,对于车辆在交叉口如何具体的运动以及路口冲突点的处理,均没有涉及到。

发明内容
为了解决现有技术中存在的问题,本发明提供一种基于元胞机的城市微观交通流仿真系 统,解决了以往智能交通仿真系统模型描述不完善、车辆在路口行驶状态不真实等问题。 本发明是通过以下技术方案实现的
基于元胞自动机的城市微观交通流仿真系统,包括仿真内核、初始化模型、人机交互模 型、数据库管理系统和诱导与控制协调系统,其中所述初始化模型由路网生成模型、车辆 生成模型以及控制与诱导设备生成模型组成,主要是根据人机交互模型提供的各种需求,对 交通仿真主体——道路网络、车辆、以及控制诱导设备的物理参数、几何参数、统计规律等 进行定义,作为仿真内核运行所必须的外部参数;所述仿真内核则由车辆行驶模型与控制诱 导设备运行模型组成,负责车辆在道路与路口的行驶,以及检测器交通流检测、信号灯色显 示、诱导显示屏信息发布等;所述人机交互模型包括仿真参数设定模型和动态显示模型,负 '责用户对仿真系统中各种参数的设定以及整个交通网络的屏幕显示工作的完成;所述数据库. 管理系统负责用户输入数据等的保存与管理。
所述车辆行驶模型包含诱导信息更新模型、检测器、道路及路口车辆移动模型;其中,
所述诱导信息更新模型负责根据诱导周期定时到通信缓冲区中取得诱导系统传输过来的最新 的诱导数据;所述检测器则根据元胞是否被占据检测经过检测器的车辆,并存入指定数组, 实现数据的采集;所述道路及路口车辆移动模型通过对道路以及路口元胞的遍历,调用 CVehicIe::Vehicle—at—Road()和CVehicle::Vehicle—at—Cross()函数分别实现两个部分中车辆的 移动。
所述道路及路口车辆移动模型中车辆在道路上行驶规则分为目标车道上行驶规则和非目 标车道上行驶规则,所述目标车道为可以通往下一条道路的车道,按照车辆距离路口的长度, 对目标车道和非目标车道进行区域划分,处在不同区域的车辆有着不同的行为规则。
所述道路及路口车辆移动模型采用一维元胞机模型对路口进行描述,并且在此基础上,. 根据车辆在路口的一般行驶路线,绘制带有一定弯曲的车辆路口行进轨迹并按一定长度对其 进行划分以形成元胞。
所述道路及路口车辆移动模型解决车辆驶出路口时的汇入冲突时,以汇入车道为单位, 将同时汇入该车道的路口车道归为一组,并选取中间的车道为目标车道,将该组车道后数某 个元胞人为规定为冲突点,在冲突点之前未在目标车道上的车辆要换到目标车道上,而到达 冲突点且仍在非目标车道车辆则停车等待,直到目标车道相应位置空闲,即换到目标车道。
所述道路及路口车辆移动模型解决车辆直行左转冲突时,确定冲突点的算法为
循环每一个直行车道从前往后
循环直行车道上的每一个元胞从前往后循环每一个左转车道
循环左转车道元胞从后往前' 计算元胞间距离 如果小于冲突距离 存入冲突点数组 如果大于冲突距离且本次距离大于上次距离时 退出该车道循环
所述车辆直行左转冲突解决方法的算法为-准备工作 路口元胞…-标识属于第几个冲突点
冲突点…-标识包括哪几个元胞;该冲突点是否被以被处理过
(1) 、从后往前,移动直行车道上的车辆,直到冲突点(冲突点的车辆暂不处理)
(2) 、从后往前,移动左转车道上的车辆,直到冲突点(冲突点的车辆暂不处理)
(3)、循环各个冲突点 一以冲突点为研究对象 如果冲突点有车 移动该车
确定考察车道为该车所在车道 如果冲突点没有车
确定考察车道为直行车道
考察该车所在车道的下一辆车 if (这辆车可以到达该冲突点) 移动该车到冲突点
该冲突点被占据标志
循环与该冲突点连接的其他车道
if(该车道上最靠近冲突点的车辆在另一个冲突点或之前存在另一个冲突点) 不处理
else if (该车能够到达该冲突点)
停在冲突点前的第一个元胞上 elseif(不能到达冲突点)
以正常速度行驶 else (这辆车不会到达该冲突点)
if(该车在其他冲突点或该车前面存在另一个冲突点)
不处理按该车速度移动该车
循环与i亥冲突点连接的其他车道
if(谆车道上最靠近冲突点的车辆在另一个冲突点或之前存在另一个冲突点) 不处理
else if (该车不能够到达冲突点)
以目前速度行驶 dseif(该车能够到达冲突点),
判断冲突点是否被占据,通过占据标志一因为有可能被之前循环的其他车 道上的车辆占据 if('占据)
. 停在冲突点之前一个元胞或不动一己是之前 else (没有被占据)
进入冲突点冲突点被占据标志 所述车辆行驶模型中自由行驶和跟驰行驶的区分方法为直接将车头时距转化为车辆间 的元胞距离,或者将速度与时间通过计算转化为距离,并设定最小安全距离,如果两连续车 辆间距离小于最小安全距离,则为跟驰,否则为自由行驶。
所述车辆行驶模型的换道规则为由低车道向高车道换道,高位车道上的车辆尚未处理,
车辆首先考察高车道相同位置上的元胞是否有车辆占据,如果元胞为空,则将该车移动该元 胞位置,并推出对本车的处理,继续低车道上其他元胞的处理,本车则根据高车道的车辆状
况,随着高车道中车辆一同处理;由高车道向低车道换道,低车道元胞已处理,本车首先按 照行驶规则在本车道上正常行驶,在行驶结束时考察低车道相同位置是否有车辆,没有车辆 则换道,否则本车不换道,退出循环。
所述车辆行驶模型的超车规则为两次换道的组合,将超车分解为超车前、超车中两步,
超车前车辆判断是否需要超车、如果超车是否可以换道,而超车中车辆则需要加速行驶,一 旦超越原车道前车,则换回原车道。
所述动态显示模型画图技术为双缓冲技术。
本发明的有益效果为先后研究了城市微观交通流仿真系统的总体设计、车辆在不同路 网位置的各种行驶规则以及构造仿真系统所必需的其他一些组成部分。主要从整个微观交通 流仿真系统的实现入手,给出程序运行的总体框架,并对一些较为复杂的独立部分进行了相 应的简化,使得系统的实现更具有可行性。车辆在路口中行驶规则的设计较为真实的反应了 车辆在路口的行驶状态,体现了车辆在出突点的行为,实现了各种控制策略;动态显示模型 使用双缓冲技术,在每次重画前,先将路网与车辆画在内存中,然后将内存中的图片一次性 贴到设备上,从而避免了画图中画与显示交织的过程,迈此可以有效的避免屏幕的闪烁问题。 采用一维元胞机模型对路口进行描述,使用弯曲轨迹的元胞在一定程度上描述了车辆在路.口
8行驶中的轨迹规律,是介于微观与宏观的较理想的车辆行驶轨迹的抽象,车辆不但可以表现 出路口中行驶所具有的拐弯特性,而且对于继承了一维元胞的优点,便于程序的编写。车辆 在汇入某一车道前,解决车辆驶出路口时的汇入冲突规则使车辆在路口中排成一队进入路口 , 这种行为更符合真正的路口交通情况,从而很好的解决了车辆在驶出路口时的汇入冲突问题。 换道的处理方法,虽然经过了一定的抽象,比如没有考虑相邻目标车道中车辆速度及本车道 前车速度对换道的影响,但是获得了较大程度的处理简便,可以说是大仿真系统中的一个较 好抽象。从连续长时间的仿真中发现,仿真系统具有很好的运行稳定性,能够长时间的对多 路口的路网进行有效的仿真模拟;路网中车辆可以根据设计(跟驰模型、车辆特征、驾驶员特 征)进行加速、减速、超车换道等活动;可实现车辆在进入路口前的减速慢行,路口中的沿一 定弯度行驶。总的来说该系统可以很好的满足多路口城市交通网络的仿真模拟的需要,并为 其他研究工作,如城市交通控制、诱导及个体出行行为等,搭建了可靠的实验平台。


图l仿真平台层次结构图;其中l为初始化模型、2为路网生成模型、3为车辆生成模型、4 为控制诱导设备模型、5为仿真内核、6为车辆行驶模型、7为控制诱导设备运行模型、 8为人机交互模型、9为仿真参数设定模型、IO为动态显示模型、ll为数据库管理系统、 12为数据库交互接口、 13为控制与诱导协调系统、14为控制与诱导交互接口。
图2城市微观交通流仿真系统运行流程图。
图3目标车道区域划分;其中15为观察信号灯区域、16为禁止超车区域、17为允许超车区 域、18为路口。
图4非目标车道区域划分;其中19为减速换道区域、20为允许超车和换道区域、18为路口。 图5非目标车道上,停车等待位置示意图;其中18为路口、 21为停车等待换道元胞、22为
当前车道、23为目标车道。 图6路口中的车道示意图;其中24为汇入冲突、25为直行左转冲突。 图7车辆在目标车道中各区域流程图。 图8车辆在非目标车道中各区域流程图。 图9直行左转冲突仿真效果图。
图IO车道上元胞处理顺序图;其中18为路口、 26为处理顺序、27为车道序号、28为高位
车道、29为低位车道、30为0号元胞、31为1号元胞。。 图ll车辆超车过程X超车车辆;A2被超车辆;其他为影响超车车辆;32为超车前,判断
是否超车;33为超车中,加速行驶;34为超车中,换回原车道;35为原车道,36为超
车车道。
图12路口生成图;其中图12a为用户输入信息,图12b为计算各道路垂线,图12c为根据垂 线生成车道扩充,图12d为根据最外部车道线确定路口结构点,图12e为根据路口结构 点生成路口停车线,图12f为生成后的路口。
图13仿真系统工具条。图14仿真系统工具条路口放大图。
具体实施例方式
下面结合附图对本发明做进一步详细说明。
1. 仿真系统结构
仿真系统主要由仿真内核、初始化模型、人机交互模型、数据库管理系统和诱导与控制 协调系统组成,如图l。初始化模型由路网、车辆以及控制与诱导设备的生成模型组成,主 要是根据人机交互模型提供的各种需求,对交通仿真主体——道路网络、车辆、以及控制诱 导设备'的物理参数、几何参数、统计规律等进行定义,作为仿真内核运行所必须的外部参数。 仿真内核则由车辆行驶模型与控制诱导设备运行模型组成,负责车辆在道路与路口的行驶, 以及检测器交通流检测、信号灯色显示、诱导显示屏信息发布等。人机交互模型则负责用户 对仿真系统中各种参数的设定以及整个交通网络的屏幕显示工作的完成。数据库管理系统负 责用户输入数据等的保存与管理。
2. 交通流仿真设计
结合Visual C++ 2008程序开发平台,图2给出了该仿真系统的运行流程-"开始按钮"触发系统运行,调用消息响应函数CTrafficView: :OnRun(),在该函数中, 初始化模型中的各实体首先得到初始化,随后开启车辆行驶与动态显示两个线程,仿真系统 将在这两个线程间进行切换,从而实现车辆移动与车辆显示的功能。
线程l.,车辆行驶函数CSimuFun::Vehicle—Go—Ahead()包含负责诱导信息更新的函数、检测 器工作函数、道路及路口车辆前进的函数。其中,诱导信息更新函数,负责根据诱导周期定 时到通信缓冲区中取得诱导系统传输过来的最新的诱导数据;而检测器则根据元胞是否被占 据检测经过检测器的车辆,并存入指定数组,实现数据的采集;通过对道路以及路口元胞的 遍历,调用CVehicle: :Vehicle—at—Road和CVehicle::Vehicle—at—Cross分别实现两个部分 中车辆的移动。
线程2,则使用双缓冲技术对在屏幕上画图。为了产生动画效果,由于,需要对路网结构 与每次都发生位置变化的车辆进行不断重画,如果采用直接的屏幕刷新方法,由于画图需要 一个画与显示的过程,不能瞬间完成,因此路网的闪烁是不可避免的,尤其在使用Sle印() 函数,降低仿真速度时则愈加明显。所以,使用双缓冲技术,在每次重画前,先将路网与车 辆画在内存中,然后将内存中的图片一次性贴到设备上,从而避免了画图中画与显示交织的 过程,因此可以有效的避免屏幕的闪烁问题。 3.车辆在道路上行驶规则设计
按车辆在道路上所处的车道将车辆行驶规则分为两类在目标车道上行驶规则与非目标 车道上行驶规则。这里定义目标车道为可以通往下一条道路的车道,如车辆行驶路径上的 下一条道路为当前道路的左转道路,则当前道路的左转车道为目标车道。下面分别对两类行 驶规则作以介绍。 3.1车辆在目标车道上行驶规则
1按照车辆距离路口的长度,对非车辆目的地的车道进行区域划分,处在不同区域的车辆 有着不同的行为规则。将目标车道上的区域划分为允许超车区域、禁止超车区域、观察信 号灯区域,如图3(本系统假设己在目标车道上的车辆不再产生换道意愿)。各部分流程如图7。 3.2车辆在非目标车道上行驶规则
同样,按照车辆当前距离路口长度,对非车辆目的地的非目标车道进行划分,如图4。其 ,中禁止换道线为道路进入路口前禁止车辆换道的区域,进入该区域车辆均已在目标车道上, 所以该部分算法在非目标车道上并不存在,禁止换道线在实际的城市交通中一般用实线表示, 而虚线则表示可以换道区域。各部分流程如图8。
需要注意的是各个非目标车道的等待换道位置,由于以最小速度换道也需要一定向前的 行驶速度,因此,当车辆在非目标车道的禁止换道线前等待换道时,其实际停止位置需要预 留出换道的空间,该空间与当前车道和目标车道间间隔的车道数量有关,具体如图5。 4车辆在路口中行驶规则设计 4.1路口路径的确定
本文采用一维元胞机模型对路口进行描述,并且在此基础上,根据车辆在路口的一般行 驶路线,绘制带有一定弯曲的车辆路口行进轨迹并按一定长度对其进行划分以形成元胞。 以标准四岔路口为例,生成路口车道如图6。
通过循环,找到进入路口与走出路口的车道各一条,并按一定算法按照一定弧度计算出 车辆行驶轨迹函数,并以一定长度平分该曲线,平分后的各点坐标即为该路口该路径的元胞 中心点坐标,进入该路径的车辆将按照该元胞行驶。同理生成路口中其他出入路口车道间的 路径。
使用弯曲轨迹的元胞在一定程度上描述了车辆在路口行驶中的轨迹规律,是介于微观与 宏观的较理想的车辆行驶轨迹的抽象,车辆不但可以表现出路口中行驶所具有的拐弯特性, 而且对于继承了一维元胞的优点,便于程序的编写。
4.2路口冲突点的确定及车辆行驶 '
-四岔路口中存在两类冲突点 一、驶出路口进入道路车道时的车辆汇入冲突,只有当路 口中存在两个或两个以上同道路同行驶方向的进入路口车道时,该种冲突才存在,如某进入 路口道路有两条左转或直行车道时,当这两条车道驶出的车辆同时要进入同一条车道时,此 类冲突发生;二、直行与左转车辆的冲突,该类冲突点只存在于两相位控制的四岔路口中, 四相位控制的路口并不存在此类冲突。针对不同的冲突点分别设计如下解决方案。 4.2.1驶出路口时的汇入冲突
参考目标车道的设计原理,以汇入车道为单位,将同时汇入该车道的路口车道归为一组, 并选取中间的车道为目标车道,将该组车道后数某个元胞人为规定为冲突点(物理上接近车辆 冲突的位置),在冲突点之前未在目标车道上的车辆要换到目标车道上,而到达冲突点且仍在 非目标车道车辆则停车等待,直到目标车道相应位置空闲,即换到目标车道。这样,车辆在 汇入某一车道前,在路口中排成一队进入路口,这种行为更符合真正的路口交通情况,从而 很好的解决了车辆在驶出路口时的汇入冲突问题。4.2.2直行左转冲突
直行左转冲突相对复杂,首先需要确定冲突点的位置,由于路口形状不一且直行左转冲 突点较多,因此无法人为统一规定其位置,这里试给出寻找冲突点的算法如下
(以有冲突的直行车道上的元胞区分每一个冲突点) 循环每一个直行车道从前往后
循环直行车道上的每一个元胞从前往后 循环每一个左转车道
循环左转车道元胞从后往前 一 计算元胞间距离 如果小于冲突距离 存入冲突点数组 如果大于冲突距离且本次距离大于上次距离时 , (距离递减趋势、渐行渐远,因此后面的不可能冲突)
退出该车道循环
确定直行左转冲突点后,车辆每一步的行驶都需要检验冲突点内是否有车。但还需要考 虑一些问题,如统一路口车道上两个冲突点相邻车辆如何行驶,同时等待进入冲突点时,车 辆的优先级问题等等。综合考虑这些问题,设计算法如下-
准备工作-
路口元胞-…标识属于第几个冲突点
冲突点-----标识包括哪几个元胞;该冲突点是否被以被处理过
1、 从后往前,移动直行车道上的车辆,直到冲突点(冲突点的车辆暂不处理)
2、 从后往前,移动左转车道上的车辆,直到冲突点(冲突点的车辆暂不处理)
3、循环各个冲突点一以冲突点为研究对象 如果冲突点有车 移动该车
确定考察车道为该车所在车道 如果冲突点没有车
确定考察车道为直行车道
考察该车所在车道的下一辆车 if(这辆车可以到达该冲突点)移动该车到冲突点 该冲突点被占据标志 ' 循环与该冲突点连接的其他车道
if(该车道上最靠近冲突点的车辆在另一个冲突点或之前存在另一个冲突点) 不处理
else if (该车能够到达该冲突点)
停在冲突点前的第一个元胞上 else if(不能到达冲突点) '以正常速度行驶 else (这辆车不会到达该冲突点)
if(该车在其他冲突点或该车前面存在另一个冲突点) 不处理
else
按该车速度移动该车
循环与该冲突点连接的其他车道
if(该车道上最靠近冲突点的车辆在另一个冲突点或之前存在另一个冲突点)
不处理 -else if (该车不能够到达冲突点)
以目前速度行驶 else if (该车能够到达冲突点)
判断冲突点是否被占据,通过占据标志一因为有可能被之前循环的其他车 道上的车辆占据 if(占据)
停在冲突点之前一个元胞或不动一己是之前 else (没有被占据)
进入冲突点冲突点被占据标志 '
注意1、如果车辆进入冲突点,将冲突点中的所有车道都表示为有车占据 2、行驶优先级跟车>直行>左转(算法中以保证了该优先级)
代码实现后,仿真情况如图9。图中路口为两相位控制四叉路口,来自道路R3的左转车 辆在来自R0的直行车辆队列前停车等待。 5车辆行驶动作规则设计
车辆在城市交通中的行驶方式是复杂多变的,根据具体的路上情况以及驾驶者本身的意 愿,车辆加速、减速或者匀速,为了在路口转弯需要换道,甚至当前面车辆行驶过慢时车辆 需要超过前面的车辆。这一系列复杂行为组成了车辆在路网中多变的状态。 —
135.1自由行驶与跟驰行驶
自由行驶与跟驰行驶是一对相对的概念,广义的说,车辆无非在路网中只有两种状态,. 即自由行驶与跟驰行驶。所谓自由行驶,顾名思义就是车辆的行驶不受其他车辆的干扰,驾 驶员可以根据自己意愿自由选择行驶速度(符合法规的条件下);而跟驰行驶,则为驾驶员的 驾驶受到其他车辆(主要指前车)的限制,无法完全根据自己意愿选择速度,必须根据甜车的 行驶状况选择自己的行驶速度。如何区分自由行驶与跟驰行驶这两种状态,以及处在这两种 状态中的车辆是如何行驶的,众多学者已从各种角度展开了广泛的研究,本文不再赘述。在 此,着重介绍自由行驶与跟驰行驶在仿真中的实现。
首先对这两种状态进行区分,即判断车辆处于何种状态。车头时距与最小安全距离往往 被用于两种状态的区分。所谓车头时距是指在同一车道上行驶的车辆队列中,两连续车辆车 头端部通过某一断面的时间间隔;而最小安全距离则是保证车辆安全行驶的最小距离。前者 是一个计算的量,而后者则是道路上的一种规定,不同的城市交通状况以及环境有着不同的 最小安全距离。本文的仿真精度并不需要对车辆行为进行十分细致的研究,因此经过抽象后 的判断方法为,直接将车头时距转化为车辆间的元胞距离(或者将速度与时间通过计算转化为 距离,这样更加形象),并设定最小安全距离,如果两连续车辆间距离小于最小安全距离,则 为跟驰,否则自由行驶。
自由行驶中的车辆有三种选择加速、减速、匀速。由于驾驶员类型以及车辆类型的限 制,车辆选择加速、减速还是匀速,并且根据车辆及驾驶员类型选择加减速度的大小,从而 体现车辆间的差异,增加了路上车辆行为的多样性的同时,也使得仿真更加真实。 跟驰行驶的车辆速度将受到同车道前车行驶状况影响,首先计算当前速度和与前车距离之间 的关系(前车以处理,即当前时刻下前车已经移动),如果当前速度小于其与前车距离,且车
辆速度增加1仍小于其与前车距离,则车辆以一定概率选择当前速度加1行驶,否则保持当
前速度行驶。
5.2换道
换道是车辆选择适合自己行进路线车道所必需的行为,比如处在右转车道上的车辆需要 进入当前道路下面的左转车道,此时,换道是达到该目的的唯一选择。
按系统对道路上元胞的循环处理顺序,可将换道分为两类。系统对元胞的循环处理顺序, 如图10所示,首先从低到高循环各车道,然后在各车道内从低到高循环个元胞。由于这种处 理顺序,车辆换道的处理存在由低车道到高车道及由高车道到低车道两种,两种处理方法的 具体做法如下
由低车道向高车道换道,高位车道上的车辆尚未处理,本车首先考察高车道(相邻目标车 道)相同位置上的元胞是否有车辆占据,如果元胞为空,则将该车移动该元胞位置,并推出对 本车的处理,继续低车道上其他元胞的处理,本车则根据高车道的车辆状况,随着高车道中 车辆一同处理。
由高车道向低车道换道,低车道元胞已处理(车辆已行驶),本车首先按照行驶规则在本车 道上正常行驶,在行驶结束时考察低车道(相邻目标车道)相同位置是否有车辆,没有车辆则
14换道,否则本车不换道,退出循环。
为了保证车辆在禁止换道线前的换道,增加当前速度为0的换道,即车辆是否可以换到 相邻目标车道的当前相应位置的前一个元胞处。
这种对换道的处理方法,虽然经过了一定的抽象,比如没有考虑相邻目标车道中车辆速( 度及本车道前车速度对换道的影响,但是获得了较大程度的处理简便,不失为大仿真系统中 的一个较好抽象。 5.3超车
简单说,超车即为增加了可能性判断的两次换道的组合。据此按照换道要求自然可将超 车分解为超车前、超车中两步。超车前车辆判断是否需要超车、如果超车是否可以换道,而-超车中车辆则需要加速行驶, 一旦超越原车道前车,则换回原车道。
首先需要在车辆的定义中增加三个属性,即超车状态、被超车辆以及原始车道。超车状 态,标志着车辆是否在超车过程中,如处于超车过程中,车辆需要加速行驶,直到超过被超 车辆并换回原车道;被超车辆,是本车确定的准备超过的车辆,是判断是否可以换回原车道 的标志;而原车道则记录着车辆需要返回的起始车道。
图11描绘了车辆超车的一系列动作。超车前,车辆X首先判断是否超车根据概率判 断是否产生超车意愿;A2的速度是否足够小;Al、 Bl的速度是否够大。所有条件均满足则 换道超车。超车中,车辆需要加速行驶(不能与超车车道前车发生冲突),直到在超车车道上 的位置超过原车辆被超车辆的位置时,车辆判断是否可以换回原车道。换回原车道时,超车 结束。 5.4其他
一个微观的城市交通流仿真除了核心的车辆行为外,其他辅助模块——如路网生成、车 辆生成等是保证系统正常运行所不可缺少的重要组成部分,本节将介绍路网生成、车辆生成、 以及数据的存储三个功能模块。 . 5.4.1 路网生成
为了提高用户友好性,减少用户输入工作量,在较少输入信息的条件下生成带有不同车 道数量的道路、不同道路汇集的各种形状的路口,这些都需要一些列复杂算法。以一个较为 特殊形状的路口为例,图12给出了由用户输入的路网结构信息到仿真中路网的生成过程。 5.4.2车辆生成
仿真系统中在出入网点以及吸纳点处产生新的车辆,生成算法则由车辆生成模块负责, 生成车辆时具体需要考虑如下几点
(1) 生成车辆的时间间隔。按照埃尔朗分布产生车辆,并用数组记录各车辆生成点产生车 辆的剩余时间。
(2) 车辆终点及行驶路径。按照用户输入各OD间产生车辆的时间间隔生成以该OD终点 为目的地的车辆。确定行驶路径的算法主要有Dijkstm和Floyd两种算法,本发明采用Dijkstra 计算最短路。由于驾驶员的非理性特征,次短路或次次短路均可被作为车辆的行驶路线。
(3) 驾驶员类型。可粗略将驾驶员分为激进、中性及保守三种类型,不同类型驾驶员在路上行为的选择中有着不同的概率。
(4) 车辆类型。不同车辆的行驶速度及加减速度特性是不仅相同的,因此,可按车辆大小 将其分为大型、中型和小型车,不同车型在行驶中的行为取值是不同的。
(5) 登录车道。车辆在产生车辆位置随机选择车道登录。 5.4.3数据存储
本系统选择XML作为数据存储介质。XML具有开放性、简单性、自我描述性、互操作 性、结构和内容分离、可扩展性等优点。在Visual C十+下对XML进行操作需要安装XML操 作工具包msxml.msi,具体的VC对XML的读写操作均可在网络与编程书籍中查到。
XML中存储的数据对象包括出入网点、路口、道路、车道、OD、路口控制器等信息。 各对象下包含有初始化路网所必需的属性及其取值。需要注意的是,XML中包括的仅为初 _始化信息,有些信息,如路口控制器中的路口控制策略,将在程序运行中,从与诱导系统的 通信缓冲区中获得,以实现实时诱导的目的。 6仿真平台效果
依据上文分析,使用面向对象的〔++语言,在Visual C++ 2008平台上对城市微观交通流 仿真系统进行实际开发。
仿真系统代码实现后的工具条如图13,仿真平台运行效果及路口放大图如图14。从连续 长时间的仿真中发现,仿真系统具有很好的运行稳定性,能够长时间的对多路口的路网进行 有效的仿真模拟;路网中车辆可以根据设计(跟驰模型、车辆特征、驾驶员特征)进行加速、 减速、超车换道等活动;可实现车辆在进入路口前的减速慢行,路口中的沿一定弯度行驶。 总的来说该系统可以很好的满足多路口城市交通网络的仿真模拟的需要,并为其他研究工作, 如城市交通控制、诱导及个体出行行为等,搭建了可靠的实验平台。
(1) 加载路网
(2) 开始\暂停仿真系统
(3) 拖动仿真路网
(4) 縮小
(5) 放大
(6) 显示仿真路网及车辆
(7) 开启\关闭检测器
(8) 显示\关闭诱导信息
(9) 开启\关闭诱导信息板
(10) 单点信号控制
(11) 区域信号控制。
1权利要求
1.一种基于元胞自动机的城市微观交通流仿真系统,其特征在于,包括仿真内核、初始化模型、人机交互模型、数据库管理系统和诱导与控制协调系统,其中所述初始化模型由路网生成模型、车辆生成模型以及控制与诱导设备生成模型组成,主要是根据人机交互模型提供的各种需求,对交通仿真主体——道路网络、车辆、以及控制诱导设备的物理参数、几何参数、统计规律等进行定义,作为仿真内核运行所必须的外部参数;所述仿真内核则由车辆行驶模型与控制诱导设备运行模型组成,负责车辆在道路与路口的行驶,以及检测器交通流检测、信号灯色显示、诱导显示屏信息发布等;所述人机交互模型包括仿真参数设定模型和动态显示模型,负责用户对仿真系统中各种参数的设定以及整个交通网络的屏幕显示工作的完成;所述数据库管理系统负责用户输入数据等的保存与管理。
2. 根据权利要求l所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述车 辆行驶模型包含诱导信息更新模型、检测器、道路及路口车辆移动模型;其中,所述诱导信 息更新模型负责根据诱导周期定时到通信缓冲区中取得诱导系统传输过来的最新的诱导数 据;所述检测器则根据元胞是否被占据检测经过检测器的车辆,并存入指定数组,实现数据 的采集;所述道路及路口车辆移动模型通过对道路以及路口元胞的遍历,分别实现两个部分 中车辆的移动。—
3. 根据权利要求2所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述道 路及路口车辆移动模型中车辆在道路上行驶规则分为目标车道上行驶规则和非目标车道上行 驶规则,所述目标车道为可以通往下一条道路的车道,按照车辆距离路口的长度,对目标车 道和非目标车道进行区域划分,处在不同区域的车辆有着不同的行为规则。
4. 根据权利要求2所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述道 路及路口车辆移动模型采用一维元胞机模型对路口进行描述,并且在此基础上,根据车^5在 路口的一般行驶路线,绘制带有一定弯曲的车辆路口行进轨迹并按一定大小对其进行划分以 形成元胞。
5. 根据权利要求2所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述道 路及路口车辆移动模型解决车辆驶出路口时的汇入冲突时,以汇入车道为单位,将同时汇入 该车道的路口车道归为一组,并选取中间的车道为目标车道,将该组车道后数某个元胞人为 规定为冲突点,在冲突点之前未在目标车道上的车辆要换到目标车道上,而到达冲突点且仍 在非目标车道车辆则停车等待,'直到目标车道相应位置空闲,即换到目标车道。
6. 根据权利要求2所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述道 路及路口车辆移动模型解决车辆直行左转冲突时,确定冲突点的算法为循环每一个直行车道从前往后 循环直行车道上的每一个元胞从前往后 循环每一个左转车道循环左转车道元胞从后往前 计算元胞间距离 如果小于冲突距离存入冲突点数组 如果大于冲突距离且本次距离大于上次距离时 退出该车道循环。
7.根据权利要求6所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述车 辆直行左转冲突解决方法的算法为准备工作-路口元胞-----标识属于第几个冲突点冲突点一--标识包括哪几个元胞;该冲突点是否被以被处理过(1) 、从后往前,移动直行车道上的车辆,直到冲突点(冲突点的车辆暂不处理)(2) 、从后往前,移动左转车道上的车辆,直到冲突点(冲突点的车辆暂不处理)(3)、循环各个冲突点一以冲突点为研究对象 如果冲突点有车 移动该车确定考察车道为该车所在车道 如果冲突点没有车确定考察车道为直行车道考察该车所在车道的下一辆车 if (这辆车可以到达该冲突点)移动该车到冲突点该冲突点被占据标志循环与该冲突点连接的其他车道if(该车道上最靠近冲突点的车辆在另一个冲突点或之前存在另一个冲突点) 不处理else if (该车能够到达该冲突点)停在冲突点前的第一个元胞上 elseif(不能到达冲突点)以正常速度行驶 else C这辆车不会到达该冲突点)if(该车在其他冲突点或该车前面存在另一个冲突点)不处理else按该车速度移动该车循环与该冲突点连接的其他车道if(该车道上最靠近冲突点的车辆在另一个冲突点或之前存在另一个冲突点) 不处理else if (该车不能够到达冲突点)以目前速度行驶 else if (该车能够到达冲突点)判断冲突点是否被占据,通过占据标志一因为有可能被之前循环的其他车道上的车辆占据if(占据)停在冲突点之前一个元胞或不动一己是之前 else (没有被占据) 进入冲突点冲突点被占据标志。
8. 根据权利要求1或2所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所 述车辆行驶模型中自由行驶和跟驰行驶的区分方法为直接将车头时距转化为车辆间的元胞 距离,或者将速度与时间通过计算转化为距离,并设定最小安全距离,如果两连续车辆间距 离小于最小安全距离,则为跟驰,否则为自由行驶。
9. 根据权利要求1或2所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所 述车辆行驶模型的换道规则为由低车道向高车道换道,高位车道上的车辆尚未处理,车辆 首先考察高车道相同位置上的元胞是否有车辆占据,如果元胞为空,则将该车移动该元胞位 置,并推出对本车的处理,继续低车道上其他元胞的处理,本车则根据高车道的车辆状况, 随着高车道中车辆一同处理;由高车道向低车道换填,低车道元胞已处理,本车首先按照行' 驶规则在本车道上正常行驶,在行驶结束时考察低车道相同位置是否有车辆,没有车辆则换 道,否则本车不换道,退出循环。
10. 根据权利要求9所述的基于元胞自动机的城市微观交通流仿真系统,其特征在于,所述 车辆行驶模型的超车规则为两次换道的组合,将超车分解为超车前、超车中两步,超车前 车辆判断是否需要超车、如果超车是否可以换道,而超车中车辆则需要加速行驶, 一旦超越 原车道前车,则换回原车道。
全文摘要
本发明公开了一种基于元胞机的城市微观交通流仿真系统,包括仿真内核、初始化模型、人机交互模型、数据库管理系统和诱导与控制协调系统,其中初始化模型由路网生成模型、车辆生成模型以及控制与诱导设备生成模型组成;仿真内核则由车辆行驶模型与控制诱导设备运行模型组成;人机交互模型负责用户对仿真系统中各种参数的设定以及整个交通网络的屏幕显示工作。本发明研究了城市微观交通流仿真系统的总体设计、车辆在不同路网位置的各种行驶规则以及构造仿真系统所必需的其他一些组成部分,主要从整个微观交通流仿真系统的实现入手,给出程序运行的总体框架,并对一些较为复杂的独立部分进行了相应的简化,使得系统的实现更具有可行性。
文档编号G08G1/00GK101561836SQ200910067608
公开日2009年10月21日 申请日期2009年1月5日 优先权日2009年1月5日
发明者刘建美, 贺正冰, 宁 贾, 马寿峰 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1