赞
踩
在过去的两个月间我从零入手学习了SUMO,并基于SUMO平台和Python语言实现了自己的一篇论文模型的仿真。温故而知新,就立足于现在的基础写几篇总结作为共勉,若有疑问还请大家多指教。
一. 为什么要学习SUMO
SUMO,全称Simulation of Urban Mobility,是开源、微观、多模态的交通仿真软件,发展始于2000年。它纯粹是微观的,可以针对每辆车进行单独控制,因此非常适合交通控制模型的开发。学习SUMO是一个趋势,但是会涉及路网文件、车辆文件等文件的编写,所以最好有些编程基础,在理解的基础上套用就足以实现一些简单的仿真。总结来说,SUMO有以下优点:
1. 开源,容易获取
2. 易提取车辆与道路信息
3. 自带有很多跟驰模型和换道模型(如IDM、ACC、CACC跟驰模型)
4. VISSIM无法进行模型的开发,而SUMO可以利用TraCI((Traffic Control Interface))接口用Python语言实现模型开发
5. 可以导入VISUM, Vissim, Shapefiles, OSM, RoboCup, MATsim, OpenDRIVE, and XML-Descriptions(可导入地图)
二. 我怎么学习SUMO
同样作为交通仿真软件,SUMO的学习资料比VISSIM就少很多,并且网上并没有实际的模型开发案例,所以要从零开始实现模型仿真很是头疼,在模型实现的过程中很多都是靠着直接学习Python的经验,也无法与他人验证。那么在我刚开始学习SUMO这个软件首先是了解了它的一些基础操作,知道了如何实现一个简单的仿真,在此基础上(这里要表白师兄师姐)不断探索,碰壁了好多次,反正最后实现效果还不错。在之后的文章也会引入些自己的模型案例。在此列一些比较好的学习平台:
1. SUMO官方网站:利用Chrome的网页一键翻译同步英文学习 (最主要的学习工具)
https://sumo.dlr.de/docs/index.html
2. B站up主
酷酷的风暴之灵(SUMO入门非常好,它还有对应的学习QQ群)网址链接https://space.bilibili.com/110602843?from=search&seid=6972657569966499773
二胡的日常 网址链接
https://www.bilibili.com/video/BV1H7411F76Bfrom=search&seid=18074238600246103248
3. CSDN,哪里不会查哪里
基本上就靠着这三个平台磕磕绊绊建了模。
三. SUMO仿真的简单实现
3.1 SUMO下载
SUMO的下载在它的官网上就可以直接下,并且解压了之后可以直接用,我用的版本是1.3.1。它的安装包里有SUMO-GUI、NETCONVERT、NETDIT、DUAROUTER等应用,我在桌面上建立了netdit.exe和sumo-gui.exe两个程序的快捷方式,其中NETEDIT是用于绘制路网文件和生成需求的,生成路网文件画好之后储存即可生成.net.xml文件,SUMO-GUI是用于仿真模拟的。
3.2 环境变量的设置
使用TraCI接口的话需要先设置环境变量,官网上对环境变量的设置也有所说明,具体见下图3。概括来说在环境变量界面选择用户变量-path-编辑-新建“D:softwaresumobin”(取决于下载位置);在用户变量中新建-SUMO_HOME-增加值"D:softwaresumo"(取决于下载位置)。
3.3 最简单仿真实现流程
基本流程:生成道路文件(.net.xml)——生成车辆文件(.rou.xml)——将车辆文件和道路文件写入.sumocfg文件——在SUMO-GUI中打开.sumocfg文件即可开始仿真
以上文件可用记事本写,也可用Spyder或XMLSpy写。
四. SUMO的缺点
1. 展示界面不美观
2. 换道模型少(这点我没特殊感受)
3. 新增或改变跟驰模型需要较难的操作
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。