SUMO经验(三) - 建立一个循环(使用flow)

本项目记录使用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,运行即可

 

posted @ 2022-01-16 14:16  hey,dummy  阅读(641)  评论(0编辑  收藏  举报