Veins教程02 - SUMO介绍
Intro to SUMO
学习Veins之前需要先了解了解SUMO
sumo & sumo-gui & netedit
SUMO可以分为三块
- sumo即SUMO主体,负责仿真
- sumo-gui即sumo的图形界面,功能与其一致
- netedit也是图形界面,负责绘制交通网络,车辆等;可以理解为通过拖动和绘制的方式生成xml文件
三者和关系是,使用netedit绘制了交通网络后,保存然后通过sumo/sumo-gui来仿真。因此两者密不可分,需要同时学习。即使之后的项目一般需要导入真实地图而不是手动绘制,你仍有很大概率需要使用netedit规划车辆行进路线。
Tutorials
个人认为官方教程足够详细,跟着跑一遍足以满足大部分需求。
- 熟悉基本过程,Tutorials/Hello World
- 其中打开netedit可以直接在命令行输入
netedit
- 其中打开netedit可以直接在命令行输入
- 真实地图导入教程,Tutorials/OSMWebWizard
- 其中tools文件夹在安装目录中,后者可以通过
dpkg -L sumo
查看,比如/usr/share/sumo
- 其中tools文件夹在安装目录中,后者可以通过
- netedit详解文档,netedit
- 特殊道路及信号灯的教程,Tutorials/SUMOlympics
- 提取真实地图中的特定道路,Tutorials/HighwayDetector
Conclusions
总结一下SUMO使用的相关要点
Modes
Netedit有三个SuperMode
- Network Mode 道路相关模式
- Edge Mode 创建道路
- Move Mode 移动道路
- Delete Mode 删除道路
- Inspect Mode 选择查看和修改特定element
- 此模式下,右键选中Edge -> lane operations -> add restricted lane 可以添加人行道自行车道等
- Edge的speed单位是m/s
- Select Mode 筛选和批量查看elements
- Connection Mode 编辑修改路口的同行情况比如左转车道等
- Prohibition Mode 查看路权情况
- 绿色的”Yields”Lane表示该路线让行选中路线;红色的”Has right of way”Lane表示该路线有通行权,即选中路线让行该路线
- Traffic Light Mode 编辑路口红绿灯运行模式
- Additional Mode 道路外的额外物件,公交车站,rerouter等
- Crossing Mode 编辑人行道
- Demand Mode 车辆及路线相关模式
- Route Mode 管理路线
- Vehicle Mode 管理车辆行进路线
- 和Route Mode的关系是,先在Route Mode下添加可能要用到的路线,然后在Vehicle Mode下分配路线
- 路线有多种,之后讲到的Veins偏向使用”flow”类型来添加源源不断生成的小车,生成数量可以调整
- Vehicle Type Mode 管理车辆类型
- Stop Mode 管理停车线
- Person … 管理行人
- Data Mode
Flow
使用SUMO仿真的流程总结起来是
- 通过
netedit
打开netedit编辑器 - 在Network模式编辑保存地图文件(
*.net.xml
) - 在Demand模式编辑保存其他交通信息(
*.rou.xml
)- File -> Demand Elements -> Save Demand Elements
- 通过sumo/sumo-gui仿真
最后一步仿真,有两种方式
- 直接在netedit中打开sumo-gui仿真
- Edit -> Open n sumo-gui
- 编辑
.sumocfg
文件配置对应模块的文件名称,然后使用命令行打开sumo/sumo-gui进行仿真