车道变输出 (lanechange-output) 会记录车辆从一个车道横向变换到另一个车道的所有事件(定义为车辆中心线进入新车道的时刻)。它还包含该变换操作的主要原因。
在仿真中实例化#
使用选项 --lanechange-output <FILE> 强制仿真生成此输出。<FILE> 是输出将被写入的文件名。任何同名的其他文件将被覆盖,目标文件夹必须存在。
生成的输出#
生成的 XML 文件如下所示:
<lanechanges>
<change id="<VEHICLE_ID>" time="<TIME_STAMP>" from="<SOURCE_LANE>" to="<DESTINATION_LANE>" reason="<CHANGE_REASON>" ... />
...
</lanechanges>
| 名称 | 类型 | 描述 |
|---|---|---|
| id | id | 车辆的 ID |
| type | id | 车辆的类型 ID |
| time | seconds | 变换发生的时间 |
| from | id | 源车道的 ID |
| to | id | 目标车道的 ID |
| pos | float m | 变换发生的位置(距车道起点的偏移量) |
| reason | string | 变换的原因(见下文) |
| dir | int | 变换的方向(保持在同一道路内时,车道索引的差值) |
| speed | double | 车辆的当前速度 |
| leaderGap | double | 目标车道上最近前车的纵向间隙(保险杠到保险杠),如果没有前车则为 'None'。 |
| leaderSecureGap | double | 满足减速约束所需的到最近前车的纵向间隙,如果没有前车则为 'None'。 |
| followerGap | double | 目标车道上最近后车的纵向间隙(保险杠到保险杠),如果没有后车则为 'None'。 |
| followerSecureGap | double | 满足减速约束所需的到最近后车的纵向间隙,如果没有后车则为 'None'。 |
| origLeaderGap | double | 车辆原始车道上最近前车的纵向间隙(保险杠到保险杠),如果没有前车则为 'None'。 |
| origLeaderSecureGap | double | 满足减速约束所需的到原始车道最近前车的纵向间隙,如果没有前车则为 'None'。 |
| latGap | double | 目标车道上最近邻车的横向间隙,如果没有邻车则为 'None'。(仅在使用 亚车道模型 时) |
车道变换原因#
原因可能是以下之一:
- speedGain (速度增益)
- strategic (策略性)
- cooperative (协作性)
- keepRight (靠右行驶)
- sublane (亚车道)
- traci
原因可以通过添加字符串 |urgent 来进一步限定。
如果车辆具有 通用参数 "lcReason",该值将被添加到输出的 'reason' 属性中。这可用于在通过 TraCI 影响车辆时进一步限定变换原因。
连续车道变换#
如果仿真使用 亚车道模型 执行,可以使用选项 --lanechange-output.ended 和 --lanechange-output.started 来获取额外的输出元素:
<lanechanges>
<changeStarted id="<VEHICLE_ID>" time="<TIME_STAMP>" from="<SOURCE_LANE>" to="<DESTINATION_LANE>" reason="<CHANGE_REASON>" ... />
<change id="<VEHICLE_ID>" time="<TIME_STAMP>" from="<SOURCE_LANE>" to="<DESTINATION_LANE>" reason="<CHANGE_REASON>" ... />
<changeEnded id="<VEHICLE_ID>" time="<TIME_STAMP>" from="<SOURCE_LANE>" to="<DESTINATION_LANE>" reason="<CHANGE_REASON>" ... />
...
</lanechanges>
- 当车辆开始执行除 sublane 以外的横向运动时,会记录
changeStarted元素。 - 当车辆的主要车道发生变化(其前保险杠中心穿过原始车道和目标车道之间的边界)时,会记录
change元素。 - 当车辆的横向运动完成计划的变换距离且横向运动原因为 sublane 以外的原因时,会记录
changeEnded元素。
如果激活了选项 --lanechange.duration,输出的 change 元素将报告在相应车道变换初始化时记录的间隙。
可视化示例#
前车间隙与速度#

使用 plotXMLAttributes.py 生成。
