声明:该文章为博主转载自知乎用户:侘寂升平,侵删!

非常感谢知乎朋友无私分享的sumo系列文章,给了我很多的指导!欢迎读者关注该博主!

以下为转载正文:

在过去的两个月间我从零入手学习了SUMO,并基于SUMO平台和Python语言实现了自己的一篇论文模型的仿真。温故而知新,就立足于现在的基础写几篇总结作为共勉,若有疑问还请大家多指教。

图1 SUMO仿真界面

一. 为什么要学习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

  1. B站up主

酷酷的风暴之灵(SUMO入门非常好,它还有对应的学习QQ群)网址链接https://space.bilibili.com/110602843?from=search&seid=6972657569966499773

二胡的日常 网址链接

https://www.bilibili.com/video/BV1H7411F76Bfrom=search&seid=18074238600246103248

  1. CSDN,哪里不会查哪里

基本上就靠着这三个平台磕磕绊绊建了模。

图2 SUMO官网

三. 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:\software\sumo\bin”(取决于下载位置);在用户变量中新建-SUMO_HOME-增加值"D:\software\sumo"(取决于下载位置)。

图3 环境变量设置
3.3 最简单仿真实现流程

基本流程:生成道路文件(.net.xml)——生成车辆文件(.rou.xml)——将车辆文件和道路文件写入.sumocfg文件——在SUMO-GUI中打开.sumocfg文件即可开始仿真

以上文件可用记事本写,也可用Spyder或XMLSpy写。

图4 .sumocfg文件展示
四. SUMO的缺点

  1. 展示界面不美观

  2. 换道模型少(这点我没特殊感受)

  3. 新增或改变跟驰模型需要较难的操作

SUMO学习入门(一)SUMO介绍相关推荐

  1. sumo学习心得——让sumo跑起来

    刚看到sumo,我的心态是崩溃的,网上的资料也很少,不知道如何下手.好在本蓝灵机一动,找到了示例文件,模仿着弄了一下,成功跑了起来. 首先,一个仿真模型需要的基本文件如下: 网上冲浪的时候发现很多选手 ...

  2. sumo学习——sumo介绍及安装

    sumo介绍 "城市交通仿真"(SUMO)是一个开源.高度便携.微观和连续的交通仿真软件包,旨在处理大型网络.它允许包括行人在内的多式联运仿真,并配有一套用于场景创建的大型工具.它 ...

  3. Sumo学习日记 - day1 从traci开始

    Sumo学习日记 之前经常使用sumo,但是网络上相关教程较少,且并没有行成系统的教学.官方文档教育效果很棒,但是对于想学习sumo这个软件的萌新来说好像有点不友好,所以在这里开一个专题 主要介绍su ...

  4. 【SUMO学习】初级 Quick Start

    参考自官网教程:https://sumo.dlr.de/docs/Tutorials/quick_start.html 目录 一.Network 1. 节点和边的构建 2. 修改车道数 3. 修改道路 ...

  5. 深度学习入门之PyTorch学习笔记:深度学习介绍

    深度学习入门之PyTorch学习笔记:深度学习介绍 绪论 1 深度学习介绍 1.1 人工智能 1.2 数据挖掘.机器学习.深度学习 1.2.1 数据挖掘 1.2.2 机器学习 1.2.3 深度学习 第 ...

  6. SUMO学习日志(一)SUMO安装

    SUMO学习(一): 在sumo官网(https://sumo.dlr.de/docs/Downloads.php)提供了windows,linux等平台的安装教程. 这里以windows为例,可以直 ...

  7. SUMO学习(二)创建路网

    SUMO学习(二): 创建路网 学习内容: netconvert转换第三方源 OSM Overpass API query page下载城市地图 OSMWebWizard.py openstreetm ...

  8. 干货|《深度学习入门之Pytorch》资料下载

    深度学习如今已经成为了科技领域中炙手可热的技术,而很多机器学习框架也成为了研究者和业界开发者的新宠,从早期的学术框架Caffe.Theano到如今的Pytorch.TensorFlow,但是当时间线来 ...

  9. 福利丨一门面向所有人的人工智能公开课:MIT 6.S191,深度学习入门

    对初学者来说,有没有易于上手,使用流行神经网络框架进行教学的深度学习课程?近日,麻省理工学院(MIT)正式开源了在线介绍性课程「MIT 6.S191:深度学习入门」.该课程包括一系列有关神经网络及其在 ...

最新文章

  1. python的主函数如何书写_Python程序的入口在哪里?main函数的恰当写法
  2. linux+bbu电池模块,服务器Raid卡电池自动充电
  3. 一个SAP老司机多年的中间件使用心得
  4. C#操作快捷方式(获取快捷方式属性、创建快捷方式)
  5. 《你必须掌握的Entity Framework 6.x与Core 2.0》书籍出版
  6. 动态表格数据序号从1开始_EXCEL对面的表姐看过来,你真的会给表格添加序号吗?...
  7. 近期计算机视觉算法竞赛汇总—总奖池超300万人民币
  8. Hadoop(六)搭建分布式HBase集群
  9. Bootstrap文件上传插件File Input的使用
  10. 软件架构之前后端分离与前端模块化发展史
  11. 记参加 2022 Google开发者大会
  12. 熊猫酒仙服务器位置,刀塔传奇里熊猫酒仙全面分析
  13. xkcd目录_使用随机XKCD漫画作为您的桌面墙纸
  14. android系统证书导入工具,添加Fiddler/Mitmproxy证书为安卓系统证书
  15. 学计算机女生考研什么专业好就业,适合女生考研易就业的十大专业有哪些
  16. python之turtle库学习(海龟图形)
  17. java部门管理_系统管理模块_部门管理_实现基本的增删改查功能
  18. SharePoint 2010管理中心创建网站集
  19. ThingsBoard——v3.3.3源码编译
  20. iOS游戏开发开源库总结

热门文章

  1. 最新毕设 基于STM32的智能宠物投喂系统(全套资料)
  2. python爬虫爬取网页新闻标题-看完保证你会
  3. 网上常见的简单投票代码
  4. java-swing-列表框
  5. 以下说法错误的是()
  6. 优化问题求解算法:精确式、启发式、元启发式、超启发式
  7. 【我们的故事】---做彩信SP同学的故事
  8. 快速使用 Thinkphp 之一: 准备工作-配置PHP环境及下载Thinkphp文件
  9. 用于包管理的基本命令APT-GET和APT-CACHE
  10. Qt系统托盘程序的实现