本项目记录使用SUMO进行实验的过程,SUMO版本:1.11.0,Python 3.7,使用Pycharm ide。主要参考官方文档:https://sumo.dlr.de/docs/Tutorials/Driving_in_Circles.html
本文写于2022-01-16
1 新建一个网络
使用netedit新建一个网络如图
记得看一下对面的两个edge的id,我这里分别为E0和E3。然后新建 circles.rou.xml 和 circles.sumocfg 两个文件,编辑如下,然后保存。
circles.rou.xml:
<routes> <vType id="car" type="passenger" length="5" accel="3.5" decel="2.2" sigma="1.0"/> <flow id="carflow" type="car" beg="0" end="0" number="5" from="E0" to="E3"/> </routes>
circles.sumocfg
<configuration> <input> <net-file value="circles.net.xml"/> <route-files value="circles.rou.xml"/> </input> </configuration>
点开sumo-gui,open simulation,选择load circles.sumocfg文件,然后就可以运行啦
2 形成回环
希望车辆可以形成循环,一遍一遍地运行。所以我们还要再添加一些东西,新建一个文件 circles.add.xml,添加如下内容,并在sumocfg文件中添加 addtional 文件
circles.add.xml
<additionals> <rerouter id="rerouter_0" edges="E0"> <interval end="1e9"> <destProbReroute id="E3"/> </interval> </rerouter> <rerouter id="rerouter_1" edges="E3"> <interval end="1e9"> <destProbReroute id="E0"/> </interval> </rerouter> </additionals>
circles.sumocfg
<configuration> <input> <net-file value="circles.net.xml"/> <route-files value="circles.rou.xml"/> <additional-files value="circles.add.xml"/> </input> </configuration>
然后还是sumo-gui 打开simulation,运行即可