一种基于matlab的sumo城市交通仿真及车流量控制方法技术

技术编号:30085964 阅读:17 留言:0更新日期:2021-09-18 08:45
本发明专利技术公开一种基于matlab的sumo城市交通仿真及车流量控制方法,该方法是基于实测路口数据,通过修改从OSM中下载的网络,使用matlab对已考察路口的数据进行分析处理并生成转弯率文件和车辆文件,从而实现sumo网络车流量的精准建模。本发明专利技术方法解决了因为网络以及数据量过大从而使网络建模复杂,使建模的效率低下的问题。率低下的问题。率低下的问题。

【技术实现步骤摘要】
一种基于matlab的sumo城市交通仿真及车流量控制方法


[0001]本专利技术涉及城市交通仿真模型领域,尤其涉及一种基于matlab的sumo城市交通仿真及车流量控制方法。

技术介绍

[0002]随着城市化进程的加快,使得城市的交通网络日益复杂化,给城市发展带来了窘困,未有效的制订城市的发展规划有必要对城市交通网络进行建模以及复现其交通流量。同时对交通网络建模以及其车流量控制可以为自动驾驶提供模型。然而目前网络建模主要是对单路口进行建模,或是通过分别设置节点和路段以及红绿灯文件来建立网络,但该方法使得实地考察数据量和建模数据量都扩大。同时在使用sumo进行城市网络建模时需要转弯率文件,车辆文件文件,但这两个文件的数据量特别大,如果人工进行编辑需要消耗大量的时间、出错率较高,同时转弯率文件和车辆文件都具有各自特定的格式,因此使用matlab对实地考察的数据进行处理生成转弯率文件和车辆文件可以大幅的减少出错概率以及人工编辑所消耗的时间。

技术实现思路

[0003]本专利技术的目的在于提供一种基于matlab的sumo城市交通仿真及车流量控制方法。
[0004]本专利技术采用的技术方案是:一种基于matlab的sumo城市交通仿真及车流量控制方法,使用sumo网络建模需要有以下的子文件:网络文件*.net.xml、车辆文件*.flows.xml、转弯率文件*.turns.xml、附加文件*.add.xml和配置文件*.cfg.xml。构建网络模型和车辆模型的步骤如下:S1.实地考察获取道路及主要路口车量信息,并进行完善和补充形成记录起始时间相同且每隔指定时间均有一次记录的考察数据,计算出各个路口转弯率以及每隔指定时间各个道路通过的车辆数,将每一个路口制成一个excel文件,该方法包括如下步骤:S1

1.实地考察主要的路口,记录车道数,红绿灯变化规律,并记录每隔指定时间内各个道路在一个周期内驶出的车量数。
[0005]S1

2.对实地考查路口的车量数进行整理补充和完善,使每隔指定时间间隔都有一次记录,对于之前没有记录的时间节点令前后时间节点的平均值计入。同时计算出各个时间间隔内各个道路的转弯率及离开道路的车辆总量,制做成excel表格。
[0006]S2.使用netedit对从OpenStreetMap中导出指定市区的城市网络进行修改。使用命令netconvert命令输出所需要的网络文件。使用sumo中自带的netedit对网络进行修改,删除不必要的道路及建筑,然后依次修改车道数,节点性质,红绿灯变化规律。
[0007]S3.通过matlab读取实地考察数据的每一个excel文件,生成用于测试网络是否已经达到要求所需的车辆文件和主要路口的转弯率文件,同时配置转弯率文件中非主要路口转弯率以及终点路段,路口的转弯率文件包括主要路口转弯率和非主要路口的转弯率以及终点路段。生成转弯率文件的步骤如下:
S3

1.通过matlab代码读取每一个实地考察数据的excel文件。
[0008]S3

2.判断数据是否为时间节点;是则,读取该时间节点下所有进入路口道路的id属性,同时读取每个进入路口道路所对应的左转直行右转的各个驶出路口道路的id属性以及对应的概率,将对应的时间节点,进入路口道路id属性,驶出路口道路id属性以及对应的转弯率按照转弯率文件格式写入该路口转弯率文件,则继续继续寻找下一个时间节点;否则,继续寻找时间节点;S3

3.将各个路口转弯率文件按照时间顺序整理到一个转弯率文件中;S3

4.对于非主要路口,根据实际考察路口情况将所有从主要道路进入非主要道路的转弯率设置在区间[0,1]之间的值,并添加到所有的时间节点内;S3

5.设置终点路段,将各个从导出目标市区进入导出目标市区以外的其他区域的道路以及由非主要道路进入主要道路的路段设置为终点路段,即完成对转弯率文件的配置。
[0009]S4.sumo基于车辆文件以及转弯率文件生成路由所需要的路由文件,matlab读取路由文件找到未在终点路段消失的车辆,并修改网络文件从而减少未在终点路段消失的车辆数;修改网络的步骤如下:使用matlab读取已经转弯率文件中终点道路的所有id属性,然后读取路由文件中各个车辆最后消失的终点道路的id属性,对比转弯率文件中的终点道路id属性,如果不存在于转弯率文件中的终点道路id属性内,记录下车辆名称以及最后车辆消失的道路id属性,如果存在则寻找下一辆车辆。统计出所有未在终点路段下沉的车辆后,在sumo中依次找到这些车辆,并显示这些车辆的行驶路径,观察是否是因为网络文件中缺少终点道路或道路连接方式设置得不合理所导致的车辆未在指定终点路段消失,若是则添加或修改道路,若否则查找下一辆车辆。
[0010]S5.通过matlab读取实地考察数据的每一个excel文件,生成城市道路网络各个道路各个时间点所需的车辆文件,生成车辆文件具体步骤如下:S5

1.读取由导出目标市区以外的区域进入导出目标市区的各个道路id属性以及该道路id属性对应的第一个时间节点的车辆数,将写入车辆文件的车辆数设置为实地考察车辆数除以一个周期红绿灯时长然后乘实地考察的时间间隔,以秒为单位。车辆发车的起始时间设置为实地考察时间所对应的各个时间段起始时间,结束时间设置为时间节点加上实地考察时间间隔,发车道路写为车道的id属性,同时将车辆命名为flow加上路口名称的中文拼音再加上

和数字以表示和其他车辆之间的区别;S5

2.在终端使用jtrrouter
ꢀ‑‑
flows=*.flows.xml
ꢀ‑‑
turns=*.turns.xml
ꢀ‑‑
net=*.net.xml
ꢀ‑‑
output

file=*.rou.xml
ꢀ‑‑
continue

on

unbuild命令,输入网络文件、转弯率文件以及车辆文件生成路由所需要的路由文件;S5

3.配置网络运行配置文件cfg,其中配置文件cfg参数时需要在输入参数中额外添加<addition

file value=*.add.xml/>使得sumo在运行时可以输出附加文件,通过在sumo

gui中运行配置文件cfg,输出得到以实地考察时间间隔为时间单位的附加文件,其中配置的附加文件的格式为:以实际考察时间间隔为一个频率输出一个文件,以实际考察各个时间段起始时间为起始时间,以实际考察各个时间段起始时间加上时间间隔为终止时间,文件名以flow_number加上输出的起始时间为文件名,完成附加文件配置。;
S5

4.matlab读取输出的附加文件以及读取实际网络路口车辆本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于matlab的sumo城市交通仿真及车流量控制方法,其特征在于:其包括以下步骤:S1.实地考察获取道路及主要路口车量信息,并进行完善和补充形成记录起始时间相同且每隔指定时间均有一次记录的考察数据,同时计算出各个路口转弯率以及每隔指定时间各个道路通过的车辆数,将每一个路口制成一个excel文件;S2.从OpenStreetMap中导出目标市区城市道路的osm文件,然后将osm文件转化为网络文件,并基于考察数据使用sumo自带的netedit对网络文件进行修改;S3.通过matlab读取实地考察数据的每一个excel文件,生成用于测试网络是否已经达到要求所需的车辆文件和各个时间间隔主要路口的转弯率文件,同时配置转弯率文件中非主要路口转弯率以及终点路段,路口的转弯率文件包括主要路口转弯率和非主要路口的转弯率以及终点路段;S4. sumo基于车辆文件以及转弯率文件生成路由所需要的路由文件,matlab读取路由文件找到未在终点路段消失的车辆,并修改网络文件中节点从而减少未在终点路段消失的车辆数;S5.通过matlab读取实地考察数据的每一个excel文件,生成城市道路网络各个道路各个时间点所需的车辆文件;S6.结合转弯率文件和车辆文件,生成路由文件,根据需求对配置文件中的输出进行添加,运行sumo软件,即完成仿真。2.根据权利要求1所述的一种基于matlab的sumo城市交通仿真及车流量控制方法,其特征在于:S1具体包括以下步骤:S1

1.实地考察主要的路口,记录车道数,红绿灯变化规律,并记录每隔指定时间内各个道路在一个周期内驶出的车量数;S1

2.对实地考查路口的车量数进行整理补充和完善使每隔指定时间间隔都有一次记录;对于之前没有计入的时间节点,令前后时间节点的平均值计入,同时计算出各个道路的转弯率及车量总量并将各个路口分别制成一个excel文件。3.根据权利要求1所述的一种基于matlab的sumo城市交通仿真及车流量控制方法,其特征在于:S2中直接从OpenStreetMap中导入目标城市道路,使用命令netconvert
ꢀ‑‑
osm

files *.osm.xml
ꢀ‑
o *.net.xml输出所需要目标城市道路的网络文件;使用sumo中自带的netedit功能对网络文件进行修改,去除不需要的道路及建筑并依次修改车道数、节点性质,不同的道路之间的连接方式和红绿灯变化规律。4.根据权利要求1所述的一种基于matlab的sumo城市交通仿真及车流量控制方法,其特征在于:使用sumo网络建模需要有以下的子文件:网络文件*.net.xml、车辆文件*.flows.xml、转弯率文件*.turns.xml、附加文件*.add.xml和配置文件*.cfg.xml。5.根据权利要求1所述的一种基于matlab的sumo城市交通仿真及车流量控制方法,其特征在于: S3中sumo网络建模所需的转弯率文件中要求设置各个路口转弯率以及终点路段,根据考察数据以一定的时间间隔设置一次转弯率;设置转弯率文件的步骤包括以下:S3

1.通过matlab代码读取每一个实地考察路口数据的excel文件;S3

2.判断数据是否为时间节点;是则,读取该时间节点下所有进入路口道路的id属性,同时读取每个进入路口道路所对应的左转直行右转的各个驶出路口道路的id属性以及
对应的概率,将对应的时间节点,进入路口道路id属性,驶出路口道路id属性以及对应的转弯率按照转弯率文件格式写入该路口转弯率文件,则继续继续寻找下一个时间节点;否则,继续寻找时间节点;S3

3.将各个路口转弯率文件按照时间顺序整理到一个转弯率文件中;S3

4.对于非主要路口,根据实际考察路口情况将所有从主要道路进入非主要道路的转弯率设置在区间[0,1]之间的值,并添加到所有的时间节点内;S3

5.设置终点路段,将各个从导出目标市区进入导出目标市区以外的其他区域的道路以及由非主要道路进入主要道路的路段设置为终点路段,即完成对转弯率文件的配置。6.根据权利要求1所述的一种基于matlab的sumo城市交通仿真及车流量控制方法,其特征在于:S4使用matlab读取...

【专利技术属性】
技术研发人员:刘传彪林如雅吕非凡李亦菲郑旭炜徐哲鑫
申请(专利权)人:福建师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1