CN109711026B - 一种基于卡口数据的Paramics精准交通仿真场景构建方法 - Google Patents
一种基于卡口数据的Paramics精准交通仿真场景构建方法 Download PDFInfo
- Publication number
- CN109711026B CN109711026B CN201811563911.XA CN201811563911A CN109711026B CN 109711026 B CN109711026 B CN 109711026B CN 201811563911 A CN201811563911 A CN 201811563911A CN 109711026 B CN109711026 B CN 109711026B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- simulation
- departure
- travel path
- road network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种基于卡口数据的Paramics精准交通仿真场景构建方法,该方法通过对Paramics插件二次开发构建精准仿真插件,其包括用于消除Paramics随机发车的缺陷,使得仿真车辆的发车指令符合车辆出行路径表中的发车指令的精准发车模块、用于消除Paramics随机指定车辆出行路径选择行为的缺陷,使得仿真车辆的出行路径选择行为符合车辆出行路径表中的出行路径exit序列的精准出行路径选择行为模块。同时和卡口数据提取处理实现精准交通仿真场景构建,该仿真场景具有精准车辆个体生成和路径选择行为的优点,消除了现有技术中模拟交通生成和出行路径选择行为的随机性,提高了交通仿真精度。
Description
技术领域
本发明涉及交通仿真技术领域,更具体的,涉及一种基于卡口数据的Paramics精准交通仿真场景构建方法。
背景技术
现有的交通仿真方法通常使用交通生成模型模拟交通流的生成,并使用交通分配模型模拟交通流在路网路径上的传播。目前,现有技术之一主要利用Vissim仿真模拟出行者选择路径的过程,通过若干次仿真迭代到达动态交通分配的目的。现有技术之二主要通过建立出行者个体路径选择模型,分别构建了基于后悔理论的随机用户平衡分配模型以及基于后悔理论的理想DUO动态交通分配模型。现有技术之三主要利用手机信令数据生成出行静态OD,同时结合微波和卡口数据对仿真模型进行参数标定,构建了基于中观交通仿真***DTALite的主城区道路网络动态交通分配模型。
以上现有技术主要存在两个缺陷:一方面受随机因素影响大,另一方面具有不可忽视的模型误差和算法导致的截断误差,不能准确模拟个体车辆在路网边界的生成和路网中的路径选择行为,并最终影响交通仿真精度。
为了消除现有交通仿真方法中不能准确模拟交通生成和出行路径选择行为的缺陷,本发明选取Paramics微观仿真软件作为交通仿真平台。Paramics作为国内外应用最广泛的微观交通仿真软件之一,具备良好的交通设施表达和车辆行为描述能力。然而,Paramics自带的模型同样存在无法准确模拟交通生成和出行路径选择行为的缺陷。另一方面,Paramics提供了丰富的API接口函数可供用户调用并定制个性化仿真功能。
具体地,Paramics提供的API函数包括如下四类:
QPG函数,即获取函数(Get Functions)。可以获取某个具体对象的参数,对象包括路网、路段、节点、OD小区、车辆个体、匝道、信号灯、仿真参数等。
QPO函数,即取代函数(Override Functions)。Paramics允许用户将自定义的行为模型、交通分配模型和自适应信控模型取代内部的核心模型。
QPX函数,即扩展函数(Extending Functions)。允许用户增添核心模块的功能,并在一些事件点上触发。
QPS函数,即设置函数(Set Functions)。用户可以通过调用该类函数设置或改变Paramics仿真模型中对象的参数。
另外随着计算机技术和电子技术的不断发展,城市治安卡口监控***在城市路网中逐渐普及,由此产生的卡口数据日益成为交通大数据的重要组成部分。所述卡口数据是指城市交通治安卡口监控***获取的交叉口各车道个体过车数据,包括车辆号牌、交叉口编号、进口道方向、过车时刻;由于卡口检测技术的日益成熟以及数据修复技术的不断提高,可以将卡口数据作为本次发明的驱动数据。
发明内容
本发明为了解决现有技术中受随机因素比较大,存在模型误差和算法导致的截断误差,不能准确模拟个体车辆在路网边界的生成和路网中的路径选择行为的问题,提供了一种基于卡口数据的Paramics精准交通仿真场景构建方法,其能消除随机因素的影响,提高交通仿真精确度。
为实现上述本发明目的,采用的技术方案如下:一种基于卡口数据的Paramics精准交通仿真场景构建方法,该方法步骤如下:
S1:采集目标路网参数信息,利用Paramics软件,建立Paramics仿真路网模型;
S2:获取车辆出行路径exit序列,获取发车指令,所述的发车指令包括发车小区、发车时刻和消失小区;结合车辆出行路径exit序列、发车指令建立基于卡口数据的车辆出行路径表;
S3:利用Paramics向用户开放的API函数,对Paramics插件进行二次开发获得精准仿真插件;所述精准仿真插件包括精准发车模块、精准出行路径选择行为模块;
所述精准发车模块根据车辆出行路径表中的发车指令设置仿真车的发车小区、发车时刻和消失小区;精准发车模块用于消除Paramics随机发车的缺陷,使得仿真车辆的发车小区、发车时刻和消失小区符合车辆出行路径表中的发车指令;
所述的精准出行路径选择行为模块用于消除Paramics随机指定车辆出行路径选择行为的缺陷,使得仿真车辆的出行路径选择行为符合车辆出行路径表中的出行路径exit序列;
S4:将精准仿真插件编译成动态链接库,设置成Paramics仿真路网加载的插件,保存在步骤S1中的Paramics仿真路网模型的文件夹中,从而实现在Paramics仿真路网模型中能加载精准仿真插件;运行加载精准仿真插件的Paramics路网模型,从而实现构建Paramics精准交通仿真场景。
优选地,所述的目标路网参数信息为卡口数据,所述卡口数据是指城市交通治安卡口监控***获取的交叉口各车道个体过车数据,包括车辆号牌、交叉口编号、进口道方向、过车时刻;
建立Paramics仿真路网模型具体步骤如下:
S11:打开Paramics软件自带的Modeller建模器,新建一个Paramics路网模型;打开新建的Paramics路网模型,并打开路网元素编辑面板;根据路网参数采集信息中的平面路网几何拓扑结构,在编辑面板的“Junctions”选项中编辑路网交叉口设施;根据路网参数采集信息中的路段信息,包括各路段长度、各路段车道数和各车道宽度,在编辑面板的“Links”选项中编辑路网路段结构;根据路网参数采集信息中的交叉口信号控制方案,在编辑面板的“Signal Control”选项中编辑路网交叉口信号灯管控结构;根据卡口布设位置,在编辑面板的“Zone Elements”选项中编辑交通小区结构,每个交通小区是车辆进入路网的出发小区或是车辆离开路网的消失小区;
S12:设置核心路网属性:采集目标路网交通流参数信息;打开核心路网属性面板,根据交通流参数采集信息中的车辆属性信息,在核心路网属性面板的“Vehicle Types”选项中设置仿真区域的车辆属性;根据交通流参数采集信息中的道路限速信息,在路网元素编辑器面板的“Links”选项中设置路网中各条路段的车速上限;根据交通流参数采集信息中的拥堵交通流信息,在核心路网属性面板的“Configuration”选项中设置路网拥堵交通流参数;根据卡口检测信息中的待仿真时间范围,在核心路网属性面板的“Configuration”选项中设置仿真时间步长、仿真开始时刻和仿真持续时长;关闭路网元素编辑面板和核心路网属性编辑面板;
S13:设置OD矩阵:在Modeller中打开交通需求编辑器;创建并打开一个“demands”文件;在“demands”文件中编辑路网中不同zone元素两两之间的OD量,使得每个zone元素都能存储足够多的车辆;将编辑好的“demands”文件保存到步骤S11建立的Paramics仿真路网模型文件夹中;关闭交通需求编辑器。
进一步地,步骤S2,在获取车辆出行路径exit序列之前,需要建立卡口位置和仿真路网zone元素的关联表;所述卡口位置包括交叉口编号和进口道方向;
获取车辆出行路径exit序列的具体步骤如下:提取在仿真时段内目标路网的卡口过车数据表;对所述卡口过车数据表中每辆车经过的卡口位置按照过车时刻升序排序;根据车辆出行路径中依次经历的卡口位置序列,获取每辆车出行路径上的转向行为序列;根据Paramics对交叉口各转向行为赋予的唯一exit标识,右转、直行和左转对应的exit标识分别为1、2和3,将每辆车出行路径上的转向行为序列映射为对应的出行路径exit序列。
再进一步地,获取发车指令的具体步骤如下:根据车辆出行路径中依次经历的卡口位置序列,获取每辆车经过第一个卡口位置及其过车时刻,即第一个检测卡口位置和发车时刻;根据车辆出行路径中依次经历的卡口位置序列,获取每辆车经过的最后一个卡口位置,即最后一个检测卡口位置;根据卡口位置和仿真路网zone元素的关联表,将所述各车经历的第一个检测卡口位置分别映射为对应的zone元素,所述zone元素即为各车出行路径上的发车小区;根据卡口位置和仿真路网zone元素的关联表,将所述各车经历的最后一个检测卡口位置分别映射为对应的zone元素,所述zone元素即为各车出行路径上的消失小区。
再进一步地,建立基于卡口数据的车辆出行路径表,所述车辆出行路径表包括:车辆号牌、发车小区、发车时刻、出行路径exit序列、消失小区;车辆出行路径表中每一条记录均包含了发车指令和出行路径选择行为;将车辆出行路径表按照发车时刻升序排序。
再进一步地,所述精准发车模块通过调用可供获取的Paramics API函数,一方面为被赋予和未被赋予发车指令的车辆分别设置“True”标签和“False”标签,以此区分被赋予和未被赋予发车指令的仿真车辆;另一方面令具有“False”标签的车辆不能离开zone元素进入目标路网,只有具有“True”标签的车辆才允许离开所在zone元素进入目标路网,从而实现精准交通仿真场景的精准发车功能。
再进一步地,所述精准发车模块在仿真路网中具体运行操作步骤如下:
F1:设置具有“False”标签的车辆保持“hold”状态和“braking”状态:对于路网中被设置了“False”标签的车辆,令其保持“hold”状态,使其不能离开当前zone元素;并且,令其保持“braking”状态,使其处于停车排队状态;
F2:从车辆出行路径表中读取下一条发车指令;
F3:获取当前仿真步长对应的仿真时间;判断当前仿真时间是否等于发车指令中的发车时刻:
若是,则根据当前发车指令的发车小区,指定发车小区zone元素中具有“False”标签的第一辆车作为接收当前发车指令的待发车;设置待发车“True”标签,使其解除“hold”状态从而可以离开当前zone元素;根据当前发车指令的消失小区,设置待发车离开路网的zone元素;将待发车的位置设在当前zone元素对应的link元素下游,以符合卡口检测位置;根据交通流参数信息中的路段平均行驶车速信息设置待发车的初始车速,使其解除“braking”状态并驶离zone元素进入路网,成为一辆已发车;从而使得该已发车的发车小区、发车时刻和消失小区均符合当前发车指令;然后将当前发车指令对应的车辆出行路径表中的出行路径exit序列赋给该已发车,设置精准出行路径选择行为的依据;返回上述步骤F2;
F4:若不是,则当前仿真步长不作处理;进入下一个仿真步长,判断是否到达仿真时段内的最后一个仿真步长;若不是,则返回上述步骤F3;
F5:若是,则仿真结束。
再进一步地,所述精准出行路径选择行为模块通过调用可供获取的Paramics API函数,判断车是否具有不同转向行为选择;由于只有位于下游出口为交叉口的link元素上的车辆才会面临转向选择行为,因此,首先判断车辆是否位于下游出口数大于1的link元素上;与此同时,为了避免对位于同一个link的同一辆车重复设置转向选择行为,需要判断车辆前后两个仿真步长所在的link元素是否不同,即判断车辆在当前仿真步长是否位于一个新的link元素;只有位于一个新的link元素且下游出口数大于1的已发车才会面临不同转向行为选择,然后根据其被赋予的出行路径exit序列设置转向选择行为。
再进一步地,所述精准出行路径选择行为模块在仿真路网中运行步骤如下:
H1:获取路网上一辆在当前仿真步长未被遍历的已发车;所述已发车具有“True”标识;
H2:获取该已发车当前所在link元素名称;查询该link元素下游出口数;判断该车是否位于一个新的link元素且下游出口数大于1;若不是,则返回步骤H1;
H3:若是,则根据该车的仿真车辆标识获取其对应的出行路径exit序列,查询该车在当前link元素下游交叉口的exit标识;根据该exit标识设置该车在下游交叉口的转向选择行为;判断当前仿真步长是否已经遍历完所有已发车:
若是,则当前仿真步长不作处理;进入下一个仿真步长,判断是否到达仿真时段内的最后一个仿真步长:
若不是,则返回步骤H1;
若是,则仿真结束。
再进一步地,将获取的精准仿真插件编译成动态链接库,为DLL文件;在Paramics仿真路网模型文件夹中新建文本文件“programming.txt”;打开“programming.txt”,将DLL文件完整路径写入其中;将“programming.txt”文件的后缀名改为“.modeller”,获得“programming.modeller”文件,用来指定所述仿真路网加载的插件,运行加载带有精准仿真插件的Paramics路网模型,从而实现构建Paramics精准交通仿真场景。
本发明的有益效果如下:本发明通过对Paramics插件二次开发构建精准仿真插件,所述精准仿真插件包括精准发车模块、精准出行路径选择行为模块;所述精准发车模块用于消除Paramics随机发车的缺陷,使得仿真车辆的发车小区、发车时刻和消失小区符合车辆出行路径表中的发车指令;所述的精准出行路径选择行为模块用于消除Paramics随机指定车辆出行路径选择行为的缺陷,使得仿真车辆的出行路径选择行为符合车辆出行路径表中的出行路径exit序列。
通过构建精准仿真插件、和卡口数据提取处理,实现构建精准交通仿真场景;该仿真场景具有精准车辆个体生成和精准车辆个体路径选择行为的优点,有效地消除了现有交通仿真方法中模拟交通生成和出行路径选择行为的随机性,从而有效提高了交通仿真精度。
附图说明
图1是本发明的步骤结构图。
图2是本发明建立的Paramics仿真路网模型。
图3是本发明精准发车模块的流程示意图。
图4是本发明精准出行路径选择行为模块的流程示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做详细描述。
实施例1
如图1所示,一种基于卡口数据的Paramics精准交通仿真场景构建方法,该方法具体步骤如下:
步骤S1:采集目标路网参数信息,利用Paramics软件,建立Paramics仿真路网模型;
本实施例所述建立Paramics仿真路网模型具体步骤如下:
S11:打开Paramics软件自带的Modeller建模器,新建一个Paramics路网模型;打开新建的Paramics路网模型,并打开路网元素编辑面板;根据路网参数采集信息中的平面路网几何拓扑结构,在编辑面板的“Junctions”选项中编辑路网交叉口设施;根据路网参数采集信息中的路段信息,包括各路段长度、各路段车道数和各车道宽度,在编辑面板的“Links”选项中编辑路网路段结构;根据路网参数采集信息中的交叉口信号控制方案,在编辑面板的“Signal Control”选项中编辑路网交叉口信号灯管控结构;根据卡口布设位置,在编辑面板的“Zone Elements”选项中编辑交通小区结构,每个交通小区是车辆进入路网的出发小区或是车辆离开路网的消失小区;
S12:设置核心路网属性:采集目标路网交通流参数信息;打开核心路网属性面板,根据交通流参数采集信息中的车辆属性信息,在核心路网属性面板的“Vehicle Types”选项中设置仿真区域的车辆属性;根据交通流参数采集信息中的道路限速信息,在路网元素编辑器面板的“Links”选项中设置路网中各条路段的车速上限;根据交通流参数采集信息中的拥堵交通流信息,在核心路网属性面板的“Configuration”选项中设置路网拥堵交通流参数;根据卡口检测信息中的待仿真时间范围,在核心路网属性面板的“Configuration”选项中设置仿真时间步长、仿真开始时刻和仿真持续时长;关闭路网元素编辑面板和核心路网属性编辑面板;
S13:设置OD矩阵:在Modeller中打开交通需求编辑器;创建并打开一个“demands”文件;在“demands”文件中编辑路网中不同zone元素两两之间的OD量,使得每个zone元素都能存储足够多的车辆;将编辑好的“demands”文件保存到步骤S11建立的Paramics仿真路网模型文件夹中;关闭交通需求编辑器。如图2所示,为本实施例为某城市中心城区路网Paramics建模示意图。
步骤S2:建立基于卡口数据的车辆出行路径表:获取车辆出行路径exit序列,获取发车指令,所述的发车指令包括发车小区、发车时刻和消失小区;结合车辆出行路径exit序列、发车指令建立基于卡口数据的车辆出行路径表;
本实施例在获取车辆出行路径exit序列之前,需要建立卡口位置和仿真路网zone元素的关联表;所述卡口位置包括交叉口编号和进口道方向。
本实施例获取车辆出行路径exit序列的具体步骤如下:提取在仿真时段内目标路网的卡口过车数据表;对所述卡口过车数据表中每辆车经过的卡口位置按照过车时刻升序排序;根据车辆出行路径中依次经历的卡口位置序列,获取每辆车出行路径上的转向行为序列;根据Paramics对交叉口各转向行为赋予的唯一exit标识,右转、直行和左转对应的exit标识分别为1、2和3,将每辆车出行路径上的转向行为序列映射为对应的出行路径exit序列。如,车辆出行路径上的转向行为序列为“直行-右转-左转-直行”,则其对应的出行路径exit序列为“2-1-3-2”。
本实施例所述的获取发车指令的具体步骤如下:根据车辆出行路径中依次经历的卡口位置序列,获取每辆车经过第一个卡口位置及其过车时刻,即第一个检测卡口位置和发车时刻;根据车辆出行路径中依次经历的卡口位置序列,获取每辆车经过的最后一个卡口位置,即最后一个检测卡口位置;根据卡口位置和仿真路网zone元素的关联表,将所述各车经历的第一个检测卡口位置分别映射为对应的zone元素,所述zone元素即为各车出行路径上的发车小区;根据卡口位置和仿真路网zone元素的关联表,将所述各车经历的最后一个检测卡口位置分别映射为对应的zone元素,所述zone元素即为各车出行路径上的消失小区。
本实施例所述的建立基于卡口数据的车辆出行路径表,所述车辆出行路径表包括:车辆号牌、发车小区、发车时刻、出行路径exit序列、消失小区;车辆出行路径表中每一条记录均包含了发车指令和出行路径选择行为;将车辆出行路径表按照发车时刻升序排序。
步骤S3:设计并实现Paramics精准交通仿真功能:利用Paramics向用户开放的API函数,对Paramics插件进行二次开发获得精准仿真插件;所述精准仿真插件包括精准发车模块、精准出行路径选择行为模块;
本实施例基于Paramics向用户开放的API函数设计精准交通仿真功能,并通过在Microsoft Visual C++6.0编程软件中使用C语言对Paramics插件二次开发获得精准仿真插件,从而实现精准交通仿真功能。Paramics精准交通仿真功能的设计和实现包含:精准发车模块和精准出行路径选择行为模块。
所述精准发车模块:
在模拟车辆发车时,Paramics基于给定的OD矩阵在zone元素内随机生成仿真车辆进入路网,精准发车模块的作用就是消除Paramics随机发车的缺陷,使得仿真车辆的发车小区、发车时刻和消失小区符合车辆出行路径表中的发车指令。然而,Paramics提供的API函数无法达到直接设置精确到个体车辆的发车小区、发车时刻和消失小区的发车要求。
有鉴于此,本实施例通过调用可供获取的Paramics API函数,一方面为被赋予和未被赋予发车指令的车辆分别设置“True”标签和“False”标签,以此区分被赋予和未被赋予发车指令的仿真车辆;另一方面令具有“False”标签的车辆不能离开zone元素进入目标路网,只有具有“True”标签的车辆才允许离开所在zone元素进入目标路网,从而实现精准交通仿真场景的精准发车功能。
如图3所示,所述精准发车模块在仿真路网中具体运行操作步骤如下:
F1:设置具有“False”标签的车辆保持“hold”状态和“braking”状态;对于路网中被设置了“False”标签的车辆,令其保持“hold”状态,使其不能离开当前zone元素;并且,令其保持“braking”状态,使其处于停车排队状态;
F2:从车辆出行路径表中读取下一条发车指令;
F3:获取当前仿真步长对应的仿真时间;判断当前仿真时间是否等于发车指令中的发车时刻:
若是,则根据当前发车指令的发车小区,指定发车小区zone元素中具有“False”标签的第一辆车作为接收当前发车指令的待发车;设置待发车“True”标签,使其解除“hold”状态从而可以离开当前zone元素;根据当前发车指令的消失小区,设置待发车离开路网的zone元素;将待发车的位置设在当前zone元素对应的link元素下游,以符合卡口检测位置;根据交通流参数信息中的路段平均行驶车速信息设置待发车的初始车速,使其解除“braking”状态并驶离zone元素进入路网,成为一辆已发车;从而使得该已发车的发车小区、发车时刻和消失小区均符合当前发车指令;然后将当前发车指令对应的车辆出行路径表中的出行路径exit序列赋给该已发车,设置精准出行路径选择行为的依据;返回上述步骤F2;
F4:若不是,则当前仿真步长不作处理;进入下一个仿真步长,判断是否到达仿真时段内的最后一个仿真步长;若不是,则返回上述步骤F3;
F5:若是,则仿真结束。
所述精准出行路径选择行为模块:
所述精准出行路径选择行为模块是指使得仿真车的出行路径选择行为符合车辆出行路径表中的出行路径exit序列。
在模拟车辆出行路径选择行为时,Paramics通过设置上游车道和下游车道之间的车辆转向比例随机指定交叉口转向行为,精准出行路径选择行为模块的作用就是消除Paramics随机指定车辆出行路径选择行为的缺陷,使得仿真车辆的出行路径选择行为符合车辆出行路径表中的出行路径exit序列。然而,Paramics提供的API函数无法达到直接设置精确到个体车辆的出行路径选择行为的要求。
有鉴于此,本实施例通过调用可供获取的Paramics API函数,判断车是否具有不同转向行为选择。考虑到只有位于下游出口为交叉口的link元素上的车辆才会面临转向选择行为,因此,首先判断车辆是否位于下游出口数大于1的link元素上;与此同时,为了避免对位于同一个link的同一辆车重复设置转向选择行为,需要判断车辆前后两个仿真步长所在的link元素是否不同,即判断车辆在当前仿真步长是否位于一个新的link元素。只有位于一个新的link元素且下游出口数大于1的已发车才会面临不同转向行为选择,然后根据其被赋予的出行路径exit序列设置转向选择行为。
如图4所示,所述精准出行路径选择行为模块在仿真路网中运行步骤如下:
H1:获取路网上一辆在当前仿真步长未被遍历的已发车;所述已发车具有“True”标识;
H2:获取该已发车当前所在link元素名称;查询该link元素下游出口数;判断该车是否位于一个新的link元素且下游出口数大于1;若不是,则返回步骤H1;
H3:若是,则根据该车的仿真车辆标识获取其对应的出行路径exit序列,查询该车在当前link元素下游交叉口的exit标识;根据该exit标识设置该车在下游交叉口的转向选择行为;判断当前仿真步长是否已经遍历完所有已发车:
若是,则当前仿真步长不作处理;进入下一个仿真步长,判断是否到达仿真时段内的最后一个仿真步长:
若不是,则返回步骤H1;
若是,则仿真结束。
步骤S4:将精准仿真插件编译成动态链接库,为DLL文件,设置成Paramics仿真路网加载的插件。在Paramics仿真路网模型文件夹中新建文本文件“programming.txt”;打开“programming.txt”,将DLL文件完整路径写入其中;将“programming.txt”文件的后缀名改为“.modeller”,获得“programming.modeller”文件,用来指定所述仿真路网加载的插件,从而实现在仿真路网模型中加载Paramics精准仿真插件。
运行Paramics精准交通仿真场景:在Paramics自带的Modeller模块中打开Paramics仿真路网模型;运行加载带有精准仿真插件的Paramics路网模型,从而实现构建Paramics精准交通仿真场景。
为了消除现有交通仿真方法中不能准确模拟交通生成和出行路径选择行为的缺陷,本实施例选取Paramics微观仿真软件作为交通仿真平台,构建一个能够精准模拟交通生成和出行路径选择行为的精准交通仿真场景,从而提高交通仿真精度。
此外,本实施例所述的目标路网参数信息为卡口数据,所述卡口数据是指城市交通治安卡口监控***获取的交叉口各车道个体过车数据,包括车辆号牌、交叉口编号、进口道方向、过车时刻;本实施例使用的数据为检测率和识别率均为100%的卡口数据。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种基于卡口数据的Paramics精准交通仿真场景构建方法,其特征在于:该方法步骤如下:
S1:采集目标路网参数信息,利用Paramics软件,建立Paramics仿真路网模型;所述的目标路网参数信息为卡口数据;
S2:获取车辆出行路径exit序列,获取发车指令,所述的发车指令包括发车小区、发车时刻和消失小区;结合车辆出行路径exit序列、发车指令建立基于卡口数据的车辆出行路径表;
S3:利用Paramics向用户开放的API函数,对Paramics插件进行二次开发获得精准仿真插件;所述精准仿真插件包括精准发车模块、精准出行路径选择行为模块;
所述精准发车模块根据车辆出行路径表中的发车指令设置仿真车的发车小区、发车时刻和消失小区;所述精准发车模块用于消除Paramics随机发车的缺陷,使得仿真车辆的发车小区、发车时刻和消失小区符合车辆出行路径表中的发车指令;
所述的精准出行路径选择行为模块用于消除Paramics随机指定车辆出行路径选择行为的缺陷,使得仿真车辆的出行路径选择行为符合车辆出行路径表中的出行路径exit序列;
S4:将精准仿真插件编译成动态链接库,设置成Paramics仿真路网加载的插件,保存在步骤S1中的Paramics仿真路网模型的文件夹中,实现在Paramics仿真路网模型中能加载精准仿真插件;运行加载精准仿真插件的Paramics路网模型,实现构建Paramics精准交通仿真场景;
所述精准发车模块通过调用可供获取的Paramics API函数,为被赋予和未被赋予发车指令的车辆分别设置“True”标签和“False”标签,以区分被赋予和未被赋予发车指令的仿真车辆;令具有“False”标签的车辆不能离开zone元素进入目标路网,仅具有“True”标签的车辆才允许离开所在zone元素进入目标路网,实现精准交通仿真场景的精准发车功能;
所述精准发车模块在仿真路网中具体运行操作步骤如下:
F1:设置具有“False”标签的车辆保持“hold”状态和“braking”状态:对于路网中被设置为“False”标签的车辆,令其保持“hold”状态,使其不能离开当前zone元素;并且,令其保持“braking”状态,使其处于停车排队状态;
F2:从车辆出行路径表中读取下一条发车指令;
F3:获取当前仿真步长对应的仿真时间;判断当前仿真时间是否等于发车指令中的发车时刻:
若是,则根据当前发车指令的发车小区,指定发车小区zone元素中具有“False”标签的第一辆车作为接收当前发车指令的待发车;设置待发车为“True”标签,使其解除“hold”状态从而可以离开当前zone元素;根据当前发车指令的消失小区,设置待发车离开路网的zone元素;将待发车的位置设在当前zone元素对应的link元素下游,以符合卡口检测位置;根据交通流参数信息中的路段平均行驶车速信息设置待发车的初始车速,使其解除“braking”状态并驶离zone元素进入路网,成为一辆已发车;使得该已发车的发车小区、发车时刻和消失小区均符合当前发车指令;将当前发车指令对应的车辆出行路径表中的出行路径exit序列赋给该已发车,设置精准出行路径选择行为的依据;返回上述步骤F2;
F4:若不是,则当前仿真步长不作处理;进入下一个仿真步长,判断是否到达仿真时段内的最后一个仿真步长;若不是,则返回上述步骤F3;
F5:若是,则仿真结束;
所述精准出行路径选择行为模块通过调用可供获取的Paramics API函数,判断车辆是否具有不同转向行为选择;车辆位于下游出口为交叉口的link元素上会面临转向选择行为,首先判断车辆是否位于下游出口数大于1的link元素上;为避免对位于同一个link的同一辆车重复设置转向选择行为,需判断车辆前后两个仿真步长所在的link元素是否不同,即判断车辆在当前仿真步长是否位于一个新的link元素;已发车位于一个新的link元素且下游出口数大于1会面临不同转向行为选择,根据其被赋予的出行路径exit序列设置转向选择行为;
所述精准出行路径选择行为模块在仿真路网中运行步骤如下:
H1:获取路网上一辆在当前仿真步长未被遍历的已发车;所述已发车具有“True”标识;
H2:获取该已发车当前所在link元素名称;查询该link元素下游出口数;判断该已发车是否位于一个新的link元素且下游出口数大于1;若不是,则返回步骤H1;
H3:若是,则根据该已发车的仿真车辆标识获取其对应的出行路径exit序列,查询该已发车在当前link元素下游交叉口的exit标识;根据该exit标识设置该已发车在下游交叉口的转向选择行为;判断当前仿真步长是否已经遍历完所有已发车:
若是,则当前仿真步长不作处理;进入下一个仿真步长,判断是否到达仿真时段内的最后一个仿真步长:
若不是,则返回步骤H1;
若是,则仿真结束。
2.根据权利要求1所述的基于卡口数据的Paramics精准交通仿真场景构建方法,其特征在于:
建立Paramics仿真路网模型具体步骤如下:
S11:打开Paramics软件自带的Modeller建模器,新建一个Paramics路网模型;打开新建的Paramics路网模型,并打开路网元素编辑面板;根据路网参数采集信息中的平面路网几何拓扑结构,在编辑面板的“Junctions”选项中编辑路网交叉口设施;根据路网参数采集信息中的路段信息,包括各路段长度、各路段车道数和各车道宽度,在编辑面板的“Links”选项中编辑路网路段结构;根据路网参数采集信息中的交叉口信号控制方案,在编辑面板的“Signal Control”选项中编辑路网交叉口信号灯管控结构;根据卡口布设位置,在编辑面板的“Zone Elements”选项中编辑交通小区结构,每个交通小区是车辆进入路网的出发小区或是车辆离开路网的消失小区;
S12:设置核心路网属性:采集目标路网交通流参数信息;打开核心路网属性面板,根据交通流参数采集信息中的车辆属性信息,在核心路网属性面板的“Vehicle Types”选项中设置仿真区域的车辆属性;根据交通流参数采集信息中的道路限速信息,在路网元素编辑器面板的“Links”选项中设置路网中各条路段的车速上限;根据交通流参数采集信息中的拥堵交通流信息,在核心路网属性面板的“Configuration”选项中设置路网拥堵交通流参数;根据卡口检测信息中的待仿真时间范围,在核心路网属性面板的“Configuration”选项中设置仿真时间步长、仿真开始时刻和仿真持续时长;关闭路网元素编辑面板和核心路网属性编辑面板;
S13:设置OD矩阵:在Modeller中打开交通需求编辑器;创建并打开一个“demands”文件;在“demands”文件中编辑路网中不同zone元素两两之间的OD量,使得每个zone元素都能存储足够多的车辆;将编辑好的“demands”文件保存到步骤S11建立的Paramics仿真路网模型文件夹中;关闭交通需求编辑器。
3.根据权利要求2所述的基于卡口数据的Paramics精准交通仿真场景构建方法,其特征在于:步骤S2,在获取车辆出行路径exit序列之前,需要建立卡口位置和仿真路网zone元素的关联表;所述卡口位置包括交叉口编号和进口道方向;
获取车辆出行路径exit序列的具体步骤如下:提取在仿真时段内目标路网的卡口过车数据表;对所述卡口过车数据表中每辆车经过的卡口位置按照过车时刻升序排序;根据车辆出行路径中依次经历的卡口位置序列,获取每辆车出行路径上的转向行为序列;根据Paramics对交叉口各转向行为赋予的唯一exit标识,右转、直行和左转对应的exit标识分别为1、2和3,将每辆车出行路径上的转向行为序列映射为对应的出行路径exit序列。
4.根据权利要求3所述的基于卡口数据的Paramics精准交通仿真场景构建方法,其特征在于:获取发车指令的具体步骤如下:根据车辆出行路径中依次经历的卡口位置序列,获取每辆车经过第一个卡口位置及其过车时刻,即第一个检测卡口位置和发车时刻;根据车辆出行路径中依次经历的卡口位置序列,获取每辆车经过的最后一个卡口位置,即最后一个检测卡口位置;根据卡口位置和仿真路网zone元素的关联表,将各车经历的第一个检测卡口位置分别映射为对应的zone元素,所述zone元素即为各车出行路径上的发车小区;根据卡口位置和仿真路网zone元素的关联表,将所述各车经历的最后一个检测卡口位置分别映射为对应的zone元素,所述zone元素即为各车出行路径上的消失小区。
5.根据权利要求4所述的基于卡口数据的Paramics精准交通仿真场景构建方法,其特征在于:所述车辆出行路径表包括:车辆号牌、发车小区、发车时刻、出行路径exit序列、消失小区;车辆出行路径表中每一条记录均包含了发车指令和出行路径选择行为;将车辆出行路径表按照发车时刻升序排序。
6.根据权利要求2~5任一项所述的基于卡口数据的Paramics精准交通仿真场景构建方法,其特征在于:将获取的精准仿真插件编译成动态链接库,为DLL文件;在Paramics仿真路网模型文件夹中新建文本文件“programming.txt”;打开“programming.txt”,将DLL文件完整路径写入其中;将“programming.txt”文件的后缀名改为“.modeller”,获得“programming.modeller”文件,用来指定所述仿真路网加载的插件,运行加载带有精准仿真插件的Paramics路网模型,实现构建Paramics精准交通仿真场景。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811563911.XA CN109711026B (zh) | 2018-12-20 | 2018-12-20 | 一种基于卡口数据的Paramics精准交通仿真场景构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811563911.XA CN109711026B (zh) | 2018-12-20 | 2018-12-20 | 一种基于卡口数据的Paramics精准交通仿真场景构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109711026A CN109711026A (zh) | 2019-05-03 |
CN109711026B true CN109711026B (zh) | 2023-06-13 |
Family
ID=66256981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811563911.XA Active CN109711026B (zh) | 2018-12-20 | 2018-12-20 | 一种基于卡口数据的Paramics精准交通仿真场景构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109711026B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347604B (zh) * | 2019-08-09 | 2024-02-23 | 杭州海康威视数字技术股份有限公司 | 确定车辆路径集的方法和装置 |
CN111027160B (zh) * | 2019-11-20 | 2024-05-14 | 中山大学 | 一种基于数据转换的sumo交通仿真场景精准构建方法 |
CN112861420B (zh) * | 2021-01-08 | 2022-05-03 | 中山大学 | 一种面向混合车流运行场景的中观交通仿真模型构建方法 |
CN113223293B (zh) * | 2021-05-06 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 路网仿真模型的构建方法、装置及电子设备 |
CN115687163B (zh) * | 2023-01-05 | 2023-04-07 | 中汽智联技术有限公司 | 场景库构建方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104157151A (zh) * | 2014-06-13 | 2014-11-19 | 东南大学 | 城市交通诱导与信号控制的协同方法及*** |
CN104679949A (zh) * | 2015-02-06 | 2015-06-03 | 中山大学 | 基于XML路网数据的Paramics路网构建方法 |
CN108550261A (zh) * | 2018-05-31 | 2018-09-18 | 重庆大学 | 基于rfid电子车牌的城市交通od计算方法 |
CN108763776A (zh) * | 2018-05-30 | 2018-11-06 | 苏州大学 | 一种城市快速路网时变交通状态仿真方法及装置 |
-
2018
- 2018-12-20 CN CN201811563911.XA patent/CN109711026B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104157151A (zh) * | 2014-06-13 | 2014-11-19 | 东南大学 | 城市交通诱导与信号控制的协同方法及*** |
CN104679949A (zh) * | 2015-02-06 | 2015-06-03 | 中山大学 | 基于XML路网数据的Paramics路网构建方法 |
CN108763776A (zh) * | 2018-05-30 | 2018-11-06 | 苏州大学 | 一种城市快速路网时变交通状态仿真方法及装置 |
CN108550261A (zh) * | 2018-05-31 | 2018-09-18 | 重庆大学 | 基于rfid电子车牌的城市交通od计算方法 |
Non-Patent Citations (3)
Title |
---|
"交通控制算法在Paramics交通仿真软件中的实现";赵晓华等;《公路交通科技》;20060630(第06期);第136-139页 * |
"基于Paramics仿真平台的交通诱导策略评估研究";杨倩;《中国优秀硕士学位论文全文数据库工程科技Ⅱ辑》;20140715(第07期);第1-80页 * |
"应用交通仿真软件PARAMICS验证交通分配模型";胡明伟等;《中南公路工程》;20030630(第02期);第1-3页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109711026A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109711026B (zh) | 一种基于卡口数据的Paramics精准交通仿真场景构建方法 | |
CN111178402B (zh) | 一种自动驾驶车辆道路测试的场景分类方法及装置 | |
CN103593535B (zh) | 基于多尺度融合的城市交通复杂自适应网络平行仿真***及方法 | |
CN111462484A (zh) | 拥堵状态的确定方法、装置、设备及计算机可读存储介质 | |
CN106846818B (zh) | 基于Simulink仿真的路网动态交通流预测方法 | |
CN111797003A (zh) | 一种基于vtd软件搭建虚拟测试场景的方法 | |
CN107016872B (zh) | 快速生成交通广播路况信息发布稿的方法、介质和*** | |
CN111241168A (zh) | 一种实时在线微观交通仿真方法及*** | |
CN114462233A (zh) | 微观交通仿真方法、计算机装置和存储介质 | |
CN112837542B (zh) | 一种高速公路段交通量统计方法、装置、存储介质及终端 | |
CN113223293B (zh) | 路网仿真模型的构建方法、装置及电子设备 | |
CN112181698A (zh) | 自动驾驶极限性能的测试方法、装置、设备及存储介质 | |
CN110069888A (zh) | 一种机场场面模拟与路径优化方法 | |
CN113516529A (zh) | 异常订单确定方法、装置、存储介质及电子设备 | |
CN117173361A (zh) | 仿真实现方法、装置、设备及计算机可读存储介质 | |
CN102541544B (zh) | 树形控件的处理方法、装置及*** | |
CN111581306B (zh) | 一种行车轨迹模拟方法及装置 | |
Wan et al. | Using arena for simulation of pedestrian crossing in roundabout areas | |
CN115080388B (zh) | 一种面向自动驾驶***的仿真测试场景生成方法 | |
CN116305855A (zh) | 自动驾驶场景构建方法、设备及存储介质 | |
CN107180133B (zh) | 一种cps建模的方法及装置 | |
KR20130082876A (ko) | 가상 시뮬레이션 기반의 도로교통 관리 시스템 | |
CN114596702A (zh) | 一种交通状态预测模型构建方法及交通状态预测方法 | |
CN106052709A (zh) | 一种拥塞信息的处理方法及装置 | |
CN111785010A (zh) | 一种通行效率信息检测的方法以及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |