有限条件下编队协同驾驶的仿真开发(二)——Sumo的底层逻辑(地图导入与路由生成)

本文介绍了如何通过OSMWebWizard导入实景地图到Sumo中,讲解了底层逻辑,涉及区域选择、交通参数设定、osm文件转换、仿真配置和车辆生成等内容,旨在帮助读者掌握Sumo的高级用法。

昨天通过一个demo给大家简单介绍了一下Plexe-Sumo,但Sumo自身的底层逻辑仍然是入门者亟需补充的知识!
因此,今天从导入实景地图出发,给大家普及一下Sumo的底层逻辑!
Ps1:以前一直以为Sumo很简单,交通人均会,这段时间才知道Sumo还是略微有点门槛的(主要是很麻烦!
Ps2:本来是想画个思维导图的!但是到了这个点又想偷懒了!还是下次吧

根据 OSM Web Wizard for Sumo 获取指定位置osm文件

  1. 运行’M:\Exe\Sumo\tools\osmWebWizard.py’后,打开网页(使用期间,请勿关闭!具体文件路径根据安装目录自行修改)
    在这里插入图片描述

  2. 定位想要的详细位置。

  3. 确认相关设置:

    Part 1

    在这里插入图片描述

    • Select Area:选择指定矩形区域;
    • Duration:持续时间(s);
    • Add Polygon:保留地图上的所有信息(比如我们只做道路交通研究,但是它会保留铁路等信息);
    • left-hand Traffic:遵从左侧行驶规则;
    • Car-only Network:只显示轿车相关的地图信息;
    • Import Public Transport:导入公共交通信息;

    Part 2——各类交通工具

    在这里插入图片描述

    • ‘through traffic factor’ 表示路线穿越所选区域的车辆数与路线在所选区域内车辆数的对比。生成的车辆会随机在我们划定的区域中选择行驶的起点和终点(起点与终点均在区域边界上),需要注意的是如果起点和终点在区域内,那么就是非’through traffic’。该参数即为两者的车辆数之比。

    • ‘count’ 表示与车道数和道路长度有关的每小时生成车辆数。当该值为90时,此时地图中有一条5km长度的道路,该道路是2车道的,那么每小时会生成9025=900辆车。这样计算的话相当于每4秒生成一辆车(900/60/60=0.25车/s 4s*0.25车/s=1车)。

    • 本文仅考虑Cars和Trucks在仅考虑汽车和货车的情况下,参数分别被设置为[(5,12),(5,8)]。

    Part 3——其它交通路线

在这里插入图片描述

  • 本文仅考虑Highway。
  1. Generate Scenario 生成场景’M:\Exe\Sumo\tools’下,所处文件夹以当前时间命名。

根据生成的osm文件重新定义仿真

cfg文件

.sumocfg 仿真主文件

仿真运行的逻辑模块

包括input, time, processing, routing, report, gui_only等部分,路径可以在调整后自己进行更改。

<input>
    <net-file value="osm.net.xml"/> <!--路网文件-->
    <route-files value="osm.passenger.trips.xml,osm.truck.trips.xml"/>  <!--行程文件,包括乘客和货车两部分-->
</input>

<time>
    <begin value="0"/>
    <end value="81600"/>
    <step-length value="0.01"/>
</time>

<processing>
    <ignore-route-errors value="true"/> <!--定义路线错误的处理方式,如果车辆无法按照指定路线行驶,将不会导致仿真中止。-->
    <collision.action value="remove"/>  <!--定义碰撞后的处理方式,移除碰撞车辆-->
    <collision.stoptime value="10"/>	<!--定义碰撞后的处理方式-->
</processing>

<routing>
    <device.rerouting.adaptation-steps value="18"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值