Hello sumo

建立一个最简单的网络,并使一辆小车在上面行驶。
使用SUMO仿真前,我们需要建立运动场景(net.xml),车流文件(rou.xml)
在SUMO中,一个街道网络是由nodes(junctions)和edges(有nodes连接)组成。

Nodes结点

最简单的nodes例子

<nodes>
    <node id="1" x="-250.0" y="0.0" />
    <node id="2" x="+250.0" y="0.0" />
    <node id="3" x="+251.0" y="0.0" />
</nodes>

通过任何文本编辑器编辑文件并保存为hello.nod.xml

Edges

<edges>
    <edge from="1" id="1to2" to="2" />
    <edge from="2" id="out" to="3" />
</edges>

保存这个数据文件为hello.edg.xml。
找到sumo安装文件下的bin目录,该目录包含名为 start-command-line.bat 的批处理文件,该批处理文件启动命令行并确保您可以执行SUMO程序。
1)双击执行 start-command-line.bat
2)使用命令cd(更改目录)导航到包含配置和网络文件(hello.nod.xml,hello.edg.xml)的目录
3)输入一个命令,如下

netconvert --node-files=hello.nod.xml --edge-files=hello.edg.xml --output-file=hello.net.xml

Routes(路由)

<routes>
    <vType accel="1.0" decel="5.0" id="Car" length="2.0" maxSpeed="100.0" sigma="0.0" />
    <route id="route0" edges="1to2 out"/>
    <vehicle depart="1" id="veh0" route="route0" type="Car" />
</routes>

文件命名为hello.rou.xml。

Configuration(配置)

<configuration>
    <input>
        <net-file value="hello.net.xml"/>
        <route-files value="hello.rou.xml"/>
    </input>
    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>
</configuration>

保存文件为hello.sumo.cfg,然后就可以进行仿真:

sumo -c hello.sumo.cfg

或者GUI界面:

sumo-gui -c hello.sumo.cfg

当使用GUI程序时,增加一个gui-setting文件是有用的,因此,您不必在启动程序后更改设置。更改hello.sumo.cfg文件为:

<configuration>
    <input>
        <net-file value="hello.net.xml"/>
        <route-files value="hello.rou.xml"/>
        <gui-settings-file value="hello.settings.xml"/>
    </input>
    <time>
        <begin value="0"/>
        <end value="10000"/>
    </time>
</configuration>

建立文件hello.settings.xml

<viewsettings>
    <viewport y="0" x="250" zoom="100"/>
    <delay value="100"/>
</viewsettings>

这里我们使用视口设置摄像机的位置,我们使用延迟去设置每一步的仿真之间的延迟为毫秒级别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值