车道变换 (Lanechange)

车道变输出 (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 生成。