FundamentalDiagram

简介#

交通流基本图描述了流量(每小时车辆数)与密度(每公里车辆数)之间的关系。

这两个指标都可以从边数据输出中获取。密度值测量每公里的车辆数,流量可以通过 entered * 3600 / period 计算得出,其中 period 是输出的指定聚合间隔。

通常,只要场景覆盖了所需的交通密度范围,就可以为任何类型的场景计算基本图。

Note

如何在车辆插入时实现高密度,请参阅道路通行能力

可以使用 plotXMLAttributes 创建图表。

闭环圆形路线的基本图#

用于生成基本图的常见场景是一个密度随时间增加的圆形路线。可以在 <SUMO_HOME>/tests/sumo/cf_model/drive_in_circles 找到此类场景。

有多种方法可以增加密度。必须解决的关键问题是,只有在有足够空间插入额外车辆时才能增加密度。在封闭系统中,所有空间最终都会被现有车辆及其之间的安全距离所占据。只能通过降低圆圈某些部分的速度来减少这些间隙,从而获得额外的空间。 一个特例是具有自发速度崩溃和移动拥堵波的场景,这允许随时间出现不同的局部密度。

均匀降低速度#

降低速度的一种巧妙方法是在预定义密度下以均匀间隔的车辆初始化网络。对于圆形场景,可以通过以下需求定义来实现:

<route id="circle" edges="6/1to7/1 7/1to8/1 8/1to9/1 9/1to10/1 10/1to1/1 1/1to2/1 2/1to3/1 3/1to4/1 4/1to5/1 5/1to6/1"/>
<flow id="0" type="default" route="circle" departEdge="random" begin="0" end="1" number="1000" departPos="last" departSpeed="15" departLane="free"/>

这种方法的缺点是需要使用不同的 departSpeed 值多次运行模拟以实现不同的密度。

局部降低速度#

另一种方法是重复降低圆圈某一部分的速度,并在速度降低的下游插入车辆,因为那里的局部密度会暂时降低。这可以通过以下定义(放在 additional-file 中)实现:

<variableSpeedSign id="disturbance" lanes="10/1to1/1_0">
    <step time="2000" speed="1"/>
    <step time="2100"/>
    <step time="3000" speed="1"/>
    <step time="3100"/>
    <step time="4000" speed="1"/>
    <step time="4100"/>
    <step time="5000" speed="1"/>
    <step time="5200"/>
    <step time="6000" speed="1"/>
    <step time="6200"/>
    <step time="7000" speed="1"/>
    <step time="7200"/>
    <step time="8000" speed="1"/>
    <step time="8300"/>
    <step time="9000" speed="1"/>
    <step time="9300"/>
    <step time="10000" speed="1"/>
    <step time="10300"/>
    <step time="11000" speed="1"/>
    <step time="11400"/>
    <step time="12000" speed="1"/>
    <step time="12400"/>
    <step time="13000" speed="1"/>
    <step time="13400"/>
</variableSpeedSign>

Caution

这种速度降低会给最终的基本图引入一些小的伪影。

以及一个持续尝试添加车辆的流量:

<flow id="0" type="default" begin="0" end="60000" period="3" departPos="last" departSpeed="max" departLane="free">
  <route edges="1/1to2/1 2/1to3/1 3/1to4/1 4/1to5/1 5/1to6/1"/>
</flow>

自发降低速度#

一些跟车模型允许在给定正确的配置参数、密度或换道情况下自发地导致流量崩溃。对于默认的 Krauss carFollowModel,只需设置 sigma ~ 0.8 即可在密度约为 50 辆/公里时观察到随机崩溃,如果 sigma = 1,崩溃也可能在 30 辆/公里时发生。

可以在以下位置获取一些测试案例:

直线道路上的基本图#

自发降低速度#

在道路长度足够、参数配置正确、密度和换道情况合适的情况下,可以观察到自发崩溃。

可以在以下位置获取一些测试案例:

Note

这些测试设置了较低的 --end 值以节省时间。要获得更完整的基本图,请增加结束时间。