SUMO 中的交通信号灯设置

引言

交通信号灯的控制是智能交通系统的核心问题之一。本文主要介绍 SUMO 中交通信号灯的设置方法和各参数含义。详细说明可以参考官网教程.

基本设置

traffic light 可以在 netedit 中设置,也可以通过 additional file 的形式加入到仿真中。考虑如下的交通路口场景

SUMO 中的交通信号灯设置_第1张图片
SUMO_tl1.png

additional file 中可以包含如下内容:


   
   
   
   
   
   

其中,

  • id 和 type 与 traffic_light 的 node id 和 type 对应
  • type 分为三种
    static: fixed phase durations,
    actuated: phase prolongation based on time gaps between vehicles
    delay_based: on accumulated time loss of queued vehicles
  • programID 为该红绿灯转换机制的ID,一个 traffic light 可以有多个 program,以最后的 program 为准。若要修改某个 net.xml 中的转换机制,可以通过添加 add.xml 文件的方式用新的 program 覆盖之前的 program。

phase 中各条 lane 的 index 是从12 点钟方向 edge 的右转 lane 开始,顺时针方向,依次经过中间的 lane,左转 lane,然后到下一个 edge, 依次编号。因此,图中场景就对应了 state: GrGr.

关于 颜色字母含义的说明:

SUMO 中的交通信号灯设置_第2张图片
SUMO_tl2.png

r, y, G 这三个符号就对应了我们最常用的 红、黄、绿信号。对于绿灯时左转礼让直行的情形,应该将左转 lane 设置为 g,即让对面直行车辆先通过,再左转。

actuated traffic light

除了上述固定时间的交通灯控制机制,SUMO 还提供了更加智能的自适应机制。

actuated traffic light 情况下交通灯可以检测通过的车流,如果某条道路有持续的车流,则延长相应道路上的绿灯时间,否则当车辆之间的 time gap 超过一定时间,则转到下一个 phase。这是一种动态调整红绿灯时长的机制。

为了使用 actuated traffic light,可以把 tlLogic 的 type 设置为 actuated,如下:


   
   
   
   
   
 ...

在这种设置下,还需要设置更多的参数,其中

  • phase tag 要设置 minDur 和 maxDur。如果只有 duration 或者 minDur==maxDur,则还是固定时长的 phase.

  • max-gap: 两车最大时间间隔,单位 s

  • detector-gap: 从 detector 到 stop line 的时间间隔,以该 lane 的最大速度计算。

delay_based traffic light

除了上述 actuated 调节方式,还有 delay_based 方式,这种机制是为了均衡各条道路的延迟,基本设置如下:


   
   
   
   
   
 ...

其中 type 设置为 delay_based。

  • detectorRange 为检测范围。如果车辆进入该范围,就计算其时间延迟 1-v/v_max。

  • minTimeLoss: 如果道路的时间延迟积累超过该数值,则增加下次绿灯的时长。

你可能感兴趣的:(SUMO 中的交通信号灯设置)