OMNeT++ & SUMO 学习记录(六)SUMO 路网生成及简单仿真实例

一、SUMO 路网生成方式

1、外部导入

可以从开源地图集 openstreetmap 中下载地图生成 *.osm 文件,然后通过 sumo 自带的 netconvert 程序将其转换为路网文件 (*net.xml)

2、netedit编辑

在可视化界面中编辑车道、路口、红绿灯等关键信息

3、人工定义

定义边、节点、连接、信号、配时等

二、外部导入路网仿真实例

打开 openstreetmap 官网,搜索地名,手动框选需要导出道路区域并导出,将生成的 *.osm 文件保存到 sumo 安装目录下新建的 map 文件夹中

](https://img-blog.csdnimg.cn/20210218111433673.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl81NDIxNTE2NA==,size_16,color_FFFFFF,t_70)

导出的 .osm 文件中除了路网信息,还包含建筑、河流等信息,需要用 polyconvert 工具进行处理,方法如下:

打开下图所示的文件
在这里插入图片描述
复制文件中 Importing additional Polygons (Buildings, Water, etc.) 部分代码到Notepad++ ,另存为 typemap.xml ,保存到 .osm 文件相同路径。
在这里插入图片描述
打开…/bin/start-command-line.bat ,使用命令进入 *.osm 文件的文件夹
输入指令: netconvert --osm-files map.osm -o map.net.xml
转换成功会提示 Success
在这里插入图片描述
继续输入:polyconvert --net-file map.net.xml --osm-files map.osm --type-file typemap.xml -o map.poly.xml
在这里插入图片描述
此时 map 文件夹中已生成路网文件和地形文件
在这里插入图片描述
输入命令:python ...\sumo-0.30.0\tools\randomTrips.py -n map.net.xml -e 100 -l
生成随机行驶的车辆,-e 100 -l 为随机工具的配置,100为车辆数,可按实际情况设置

最后,使用 bin 文件夹下的 duarouter.exe 把随机的旅程和道路信息结合起来获得了车流文件(rou.xml)
输入命令:python ...\sumo-0.30.0\tools\randomTrips.py -n map.net.xml -r map.rou.xml -e 100 -l
在这里插入图片描述
在文件夹中可以看到车流文件 map.rou.xml
在这里插入图片描述
最后编写配置文件 (*.sumo.cfg)
在 Notepad++ 中输入下面的代码,保存为 map.sumo.cfg 文件

<?xml version="1.0" encoding="UTF-8"?>

 

<configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.sf.net/xsd/sumoConfiguration.xsd">

 

    <input>

        <net-file value="map.net.xml"/>

        <route-files value="map.rou.xml"/>

        <additional-files value="map.poly.xml"/>

    </input>

    <time>

       <begin value='0'/>

       <end value='5000'/>

    </time>



</configuration>

在这里插入图片描述
打开 sumo-gui.exe ,点击 File->Open Simulation Configuration ,找到配置文件,点击 “OK”
在这里插入图片描述
设置时延,点击运行,放大地图,即可观察到车辆运行效果在这里插入图片描述

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值