1. 仿真文件:
一个简单的不加控制的SUMO仿真仅仅需要三个文件即可,这三个文件最好放到一个文件夹下,文件名及文件夹所处的位置不能有中文字符。第一个net文件是路网文件,第二个rou文件是路由文件,第三个是仿真文件。
1.1 路网文件net:
路网文件的编辑可以通过以下软件绘制路网,在SUMO安装文件夹下的bin文件夹下可以找到,
编辑路网完成后可以查看通过notepad++查看代码,并且通过代码更改所绘制的路网信息(一般较小改动就可以直接改代码,)要查看所绘制的道路,将net文件用上面的软件打开即可,
1.2 路由文件:路由需要配置三个元素,分别是车辆类型vType、车辆vehicle或者车流flow、以及路线route。参考官方文档链接:Definition of Vehicles, Vehicle Types, and Routes - SUMO Documentation (dlr.de)
上图就是官方文档中提供的一个完整且简单的,包含了以上三要素。
1.3 仿真文件cfg
仿真文件的设置如下:
input代表输如的文件,文件名字需要和自己绘制的路网和路由文件相对应。output代表输出文件,仿真过后自动生成,fcd为文件名,由自己指定。fcd代表全局的信息,包含了每一辆车每一时间步长的位置,速度等信息。具体其其他输出信息可以参考官方文档:
Output - SUMO Documentation (dlr.de)
2. 路网绘制
这里我们绘制了一个带红绿灯场景的十字交叉口的场景
2.1相位分析
GRY分别代表的是红绿黄相位,前面的dur代表相位时间,后面的GGGGgrrr.....代表每一个车道在当前相位下的相位情况,起始位置为12点的路口,3点,顺时针方向,每一个路口依照从左往右的顺序。
3. 路由配置
根据1.2所讲,我们需要定义车辆类型、车流、路线三元素,下面是具体的定义:
其中4-7行里面包含了两种车辆类型,每一种车辆的类型比例为50%,设置probability改变比例。第9行也是一种车辆类型的定义方式,
10-12行为路线定义,分别指明了车辆的路线为直行,左转,右转,这里应根据自己的路网中路段的id进行调整。
14-19行定义了三条车流,每一条车流的流量为1000,车辆的行进路线由from \ to指定(另外一种指定路线的方式)
21-23行则是定义了三两车,type和route指明了其车辆类型和路线,
注意,SUMO中所以对象的id值不应该重复。
这里提供另外一种方式设置不同的转向比例,如下,意思就是将多条路线放入一个路线分布集合中,probability改变比例。
4.仿真
打开如下软件,找到cfg文件,开始仿真即可完成了。
仿真结果如图