二、交通流仿真基础:交通流基本参数、基本图与跟驰/换道模型概述
交通流仿真并非凭空构建车辆行为,而是建立在对真实交通流运行规律深刻理解之上的数学抽象。无论是宏观的流体力学模型,还是微观的跟驰与换道模型,其核心都围绕三个最基本的物理量展开:流量(Flow, q)、密度(Density, k)与速度(Speed, v)。这三个参数构成了描述交通状态的“三维坐标系”,而它们之间的函数关系——基本图(Fundamental Diagram),则是连接宏观交通流理论与微观驾驶行为的桥梁。在SUMO(Simulation of Urban MObility)中,理解这些基础概念是正确配置路网、校准驾驶行为参数、以及解读仿真输出数据的先决条件。本节将系统梳理这些核心概念,并探讨微观仿真中两个最重要的驾驶行为模型:跟驰模型与换道模型。
2.1 交通流三参数:流量、密度与速度
核心原理
交通流三参数是描述道路运行状态的基础。在SUMO中,这些参数通常通过边检测器(Edge-based Detector)或车道检测器(Lane-based Detector)在仿真结束后统计输出。
- 流量(q):单位时间内通过道路某断面的车辆数,单位为 veh/h。在SUMO中,流量统计依赖于检测器覆盖的
freq属性(聚合时间窗口)。 - 密度(k):单位长度道路上的车辆数,单位为 veh/km。密度是空间概念,与流量不同,它反映的是道路的“拥挤程度”。
- 速度(v):车辆行驶的快慢,通常指空间平均速度(时间平均速度与空间平均速度在统计上存在差异)。SUMO输出的速度通常是区间平均速度。
三者满足基本关系式:q = k × v。但需注意,该关系式仅在稳定流状态下严格成立,在拥堵消散或形成过程中,由于车辆加减速的滞后性,瞬时数据可能偏离该关系。
判断方法与操作流程
在SUMO中获取三参数的标准流程如下:
- 在路网文件中添加检测器定义,例如在
.add.xml文件中写入:
<additional>
<edgeData id="edge1_data" edges="edge1" freq="60" file="output_edge.xml"/>
<laneAreaDetector id="det1" lane="edge1_0" freq="30" file="det_output.xml"/>
</additional>
- 运行SUMO仿真,生成包含时间序列的流量、速度、密度数据。
- 使用Python(如
sumolib)或Excel解析输出文件,计算密度(若检测器未直接输出密度,可通过 q/v 估算)。
案例拆解:高速公路瓶颈区检测
假设某高速路段在仿真中出现异常拥堵。通过设置每60秒聚合的检测器,我们获取到以下数据片段:
| 时间窗口 (s) | 流量 (veh/h) | 速度 (km/h) | 推算密度 (veh/km) |
|---|---|---|---|
| 0-60 | 1800 | 90 | 20 |
| 60-120 | 2100 | 85 | 24.7 |
| 120-180 | 1500 | 45 | 33.3 |
| 180-240 | 800 | 20 | 40 |
从数据可见,流量在120秒后骤降,而密度持续上升,速度急剧下降。这符合基本图中“拥挤分支”的特征——流量在达到通行能力后随密度增加而下降。通过对比q_max(此处约2100 veh/h),可以判断瓶颈区通行能力约为2100 veh/h,且当密度超过25 veh/km时进入不稳定区域。
2.2 基本图(Fundamental Diagram)
核心原理
基本图描述了流量、密度、速度之间的稳态关系。最常用的是q-k曲线和v-k曲线。基本图分为两个分支:自由流分支(密度从0到临界密度k_crit,流量随密度线性或近似线性增长)和拥挤分支(密度从k_crit到拥堵密度k_jam,流量随密度增加而下降)。
在SUMO中,基本图并非直接内置,而是通过仿真结果绘制。不同跟驰模型(如Krauss、IDM)会生成不同形状的基本图,这为模型标定提供了依据。
判断方法与操作流程
绘制基本图的步骤:
- 设计一系列不同需求水平的仿真场景(如从低流量到高流量逐步增加车辆输入)。
- 对每个场景,记录稳态下的平均流量和平均密度。
- 将数据点绘制在q-k坐标系中,拟合曲线。
关键参数提取:
- 自由流速度 v_free:密度趋近于0时的速度。
- 临界密度 k_crit:对应最大流量 q_max 的密度。
- 拥堵密度 k_jam:速度趋近于0时的密度,此时流量为0。
案例拆解:SUMO中IDM模型的基本图标定
假设我们使用IDM(Intelligent Driver Model)作为跟驰模型。通过改变minGap(最小间距)和accel(最大加速度),观察基本图变化:
| 参数调整 | q_max (veh/h) | k_crit (veh/km) | k_jam (veh/km) |
|---|---|---|---|
| 默认 (minGap=2.5m) | 2200 | 30 | 160 |
| minGap=1.5m | 2500 | 35 | 200 |
| accel=0.8 m/s² | 1900 | 25 | 160 |
结果表明,减小minGap能提升通行能力,但会降低行车安全性;降低加速度则导致加速能力不足,通行能力下降。这为在SUMO中复现真实道路瓶颈提供了标定方向。
2.3 跟驰模型概述
核心原理
跟驰模型描述同一车道内前车与后车的纵向交互行为。其核心逻辑是:后车根据前车的速度、间距以及自身期望速度,决定下一时刻的加速度。SUMO中最常用的模型包括:
- Krauss模型(SUMO默认):基于安全距离,驾驶员以不超过安全速度的速度行驶,并引入驾驶员 imperfection(不完美程度)参数。
- IDM模型:基于智能驾驶概念,加速度由自由路况加速项和与前车交互的减速项组成,能更平滑地描述跟驰行为。
判断方法与操作流程
在SUMO中切换跟驰模型的方法:
<vType id="car" vClass="passenger">
<param key="carFollowModel" value="IDM"/>
<param key="minGap" value="2.5"/>
<param key="accel" value="1.0"/>
<param key="decel" value="1.5"/>
</vType>
关键参数包括:minGap(停车时最小间距)、accel(最大加速度)、decel(最大减速度)、tau(反应时间,Krauss模型中的驾驶员反应时间)。
案例拆解:跟驰模型对排队消散的影响
在信号交叉口仿真中,对比Krauss与IDM模型的排队启动波传播速度。设置相同流量输入,记录排队车辆从静止到通过停止线的时间。
- Krauss模型:由于安全距离约束较严格,启动波传播较慢,排队消散时间约45秒。
- IDM模型:加速度变化更平滑,启动波传播较快,消散时间约38秒。
这说明模型选择直接影响交叉口通行效率评估。若仿真目标是评估信号配时优化,应选择能合理反映驾驶员加速行为的模型。
2.4 换道模型概述
核心原理
换道模型决定车辆何时、何地以及如何变更车道。SUMO中的换道模型(如LC2013)综合考虑以下因素:
- 战略层:是否为了到达目的地而必须换道(如前方车道封闭)。
- 协同层:是否为了超越慢车或获得更大空间而换道。
- 战术层:换道时的具体轨迹与安全间隙判断。
判断方法与操作流程
在SUMO中配置换道行为:
<vType id="aggressive" lcStrategic="0.5" lcCooperative="0.3" lcSpeedGain="0.8" lcKeepRight="0.2"/>
参数含义:lcStrategic(战略换道权重)、lcCooperative(协同换道权重,即是否允许为他人让行)、lcSpeedGain(追求速度增益的权重)、lcKeepRight(靠右行驶的权重)。
案例拆解:多车道高速公路的换道行为标定
在一条三车道高速公路上,默认参数下仿真出现左侧车道过度拥挤、右侧车道利用率低的现象。通过调整参数:
| 参数组合 | 左侧车道流量占比 | 平均速度 (km/h) |
|---|---|---|
| 默认 (lcSpeedGain=0.1) | 45% | 80 |
| lcSpeedGain=0.8 | 30% | 92 |
| lcSpeedGain=0.8 + lcKeepRight=0.5 | 25% | 95 |
结果表明,提高速度增益权重能促使车辆更积极地利用右侧车道,提升整体通行效率。但需注意,过高的lcSpeedGain可能导致频繁换道,增加扰动。