如何使用jtrrouter在Sumo中定义车辆最高速度

问题描述

我通过转机概率在Sumo中使用jtrrouter生成了车辆。我首先定义车辆流量和转弯概率,如下所示:

<routes>
  <flow id="0" from="e1" begin="0" end="1200" number="180"/>
  <flow id="1" from="e3" begin="0" end="1200" number="180"/>
  <flow id="3" from="e5" begin="0" end="1200" number="180"/>
  <flow id="4" from="e7" begin="0" end="1200" number="180"/>
</routes>

<turns>
    <interval begin="0" end="1200">
        <fromEdge id="e3">
            <toEdge id="e6" probability="0.2"/>
            <toEdge id="e8" probability="0.4"/>
            <toEdge id="e2" probability="0.4"/>
        </fromEdge>

        <fromEdge id="e1">
            <toEdge id="e4" probability="0.3"/>
            <toEdge id="e6" probability="0.2"/>
            <toEdge id="e8" probability="0.5"/>
        </fromEdge>

        <fromEdge id="e7">
            <toEdge id="e2" probability="0.28"/>
            <toEdge id="e4" probability="0.55"/>
            <toEdge id="e6" probability="0.17"/>
        </fromEdge>

        <fromEdge id="e5">
            <toEdge id="e8" probability="0.06"/>
            <toEdge id="e2" probability="0.69"/>
            <toEdge id="e4" probability="0.25"/>
        </fromEdge>


    </interval>
</turns>

然后它将生成如下的车辆序列:

<routes>
    <vehicle id="0.0" depart="0.00" departSpeed="10">
        <route edges="e1 e8"/>
    </vehicle>
    <vehicle id="1.0" depart="0.00" departSpeed="10">
        <route edges="e3 e8"/>
    </vehicle>
    <vehicle id="3.0" depart="0.00" departSpeed="10">
        <route edges="e5 e2"/>
    </vehicle>
    .
    .
    .
<routes>

但是,如果要使用此方法定义此类车辆的最大速度,该怎么办?我们需要在哪里包括速度。谢谢

解决方法

最大速度是车辆类型定义vType的属性。建议您创建文件my_vType_definition.add.xml,并在其中使用vType创建maxSpeed。看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>

<additional xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/additional_file.xsd">
    <vType id="my_vtype"  vClass="passenger" carFollowModel="IDM" maxSpeed="13.9" speedDev="0.1">
    <!-- maxSpeed is in m/s so 13.9 ~= 50 km/h -->
    </vType>
</additional>

然后,您的flow定义可以包括以下车辆类型:

<routes>
  <flow id="0" type="my_vType" from="e1" begin="0" end="1200" number="180"/>
  <!-- ... -->
</routes>

带有新vType的文件需要作为附加文件添加到您的配置文件(sumocfg)中。可能还需要使用jtrouter-d <FILE>参数将其添加到--additional-files <FILE>

然后jtrrouter应该以最大速度生成车辆。