SUMO使用教程(一)
SUMO是一款交通仿真软件,其余可自行百度。教程一主要展示一下如何运行一个仿真实例。当然,这只是实现方法中的一种。
准备:
1.SUMO软件
2.osm地图文件
SUMO可去下载,解压后就可以使用,图形界面软是在解压后bin文件夹下的。使用前最好设置环境变量SUMO_HOME。其实不设置似乎也可以使用,但是会有警告。刚刚接触,笔者也并不知道这一环境变量的作用。SUMO_HOME的内容就是安装文件的位置,也就是bin文件夹的上一级目录。
SUMO解压之后,作重要的是bin文件夹下的程序和tools文件夹下的程序。bin文件夹下大部分是可执行文件,但是并不像普通的可执行文件一样打开,而是需要用命令行打开,换句话
说,整个功能程序并没有被包装起来,这是出于可裁剪和可维护性角度考虑的。tools下的工具则更多的是用phyton写的。
osm是一种地图信息文件,可以去openstreetmap下载。网址:/
仿真准备:
SUMO的仿真至少需要两个文件:1.道路文件,或者叫路网文件(l),就是对行车道路的描述文件;2.需求文件(l),或者叫做车量行驶文件,用来描述车流量的行为。当然,更加高级的仿真可以加入别的文件,比如车辆描述文件,地形文件。
目前我们只有一个osm地图文件,所以我们要用SUMO的工具生成路网文件和需求文件。
1.xml文件的生成。
bin文件夹下面有一个文件,顾名思义,这个东西就是用来转换net文件的。
命令行如下:
netcovert --osm-files shangrao_china.osm -l。
netcovert就是可执行文件,也可以认为是一个工具,作为一个转换工具,必须有输入输出,
所以--osm-files shangrao_china.osm就是输入部分,那么--osm-files是什么意思呢?这一部分是描述输入文件的属性,就是osm文件。后面的-l就是输出部分,同样-o是output的意思,表示这是输出文件。
执行完毕之后,就发现多了一个文件了。
如此这般,我们就获得了传说中的l,也就是网路文件了。
l文件的生成
l文件描述的是车流量或者说行驶规则的文件,规则自然前边万化,所以,SUMO提供了一个工具,可以随机生成这种需求。工具放在sumo\tools\trip文件夹下。名字叫做radomTrips.py。random就是随机的意思,而trip是SUMO中的一个术语,就是表示车辆从一个条公路行驶到另外一条公路的过程,可以结束会旅程吧。
同样的,-l表示输入,-n表述输入的类型是net类型,其实-n等价于--net,-n是一种简写的方式。后面的-l -e 600是随机工具的配置,就像随机数生成函数需要一个种子一样。后面输出的命令就一目了然了。网络上xml是什么意思
这是生成的文件
但是,这样的一个过程生成的是一个旅程随机过程文件,而我们需要的是一个l文件。
所以,最后,我们把随机的旅程和道路信息结合起来就获得了车流文件(l)了。我们要用到的工具是bin文件夹下的。不知道这个文件为什么这么命名,dua不明何意。
这样的命令行想必很容易理解。两个输入,一个输出。所以,最后得到了这些文件。
3.配置文件
为了仿真方便,我们写一个仿真的配置文件,这一类配置文件可以直接被sumo-gui使用
稍微了解xml语言和会一些英语的同学应该能明白大概。将之前生成的l和l文件作为输入。后面time标签就是对仿真时间的一些设置。
最后的最后,我们应该有的是上面这些文件。用sumo-gui打开sumo.cfg文件之后,点击开始仿真(绿)箭头之后就可以开心的看仿真效果了。
最后的最后的最后,上两张图:
(似乎透露了输入法)
(这车可以再丑一点吗)
SUMO使用教程(二)
在教程一当中,我们用了osm和SUMO的工具,生成了一些列文件,最后得以仿真。其实,仔细一看之后,这些生成的文件和配置文件本质上都是xml文件,换句话说,我们完全可以自己用一个记事本编辑这些文件。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。