在简单网格场景中设置多个通道时,tls中的相位大小不匹配

时间:2019-07-03 17:08:05

标签: sumo flow-project

我正在修改 ../ flow / scenarios / grid.py ... / examples / rllib / green_wave.py 中的 SimpleGridScenario 类。 em>,这样我就可以将每个走廊场景中的简单网格变成双车道。我添加了它们,并且还建立了新的连接,以便车辆可以左右转弯。如图所示。对于每种进场,第一个车道都允许车辆左转并直行,第二个车道也允许车辆右转并直行。

不幸的是,每次我运行模拟时,都会收到以下错误:

  

错误:tls'center0',程序'online'中的相位大小不匹配。   退出(错误)。

Sample node in the grid

connections in NETEDIT

Phases in SUMO

有人知道为什么吗?

我已经在sumo-gui中验证了相位大小,它是16,这是正确的,因为每个进场方法有4种可能的动作。

SimpleGridScenario> __init __()

        phases = [{
            "duration": "25",
            "minDur": "8",
            "maxDur": "45",
            "state": "GGGgrrrrGGGgrrrr"
        }, {
            "duration": "7",
            "minDur": "3",
            "maxDur": "6",
            "state": "yyygrrrryyygrrrr"
        }, {
            "duration": "6",
            "minDur": "3",
            "maxDur": "6",
            "state": "rrrGrrrrrrrGrrrr"
        }, {
            "duration": "7",
            "minDur": "3",
            "maxDur": "6",
            "state": "rrryrrrrrrryrrrr"
        }, {
            "duration": "25",
            "minDur": "8",
            "maxDur": "45",
            "state": "rrrrGGGgrrrrGGGg"
        }, {
            "duration": "7",
            "minDur": "3",
            "maxDur": "6",
            "state": "rrrryyygrrrryyyg"
        }, {
            "duration": "6",
            "minDur": "3",
            "maxDur": "6",
            "state": "rrrrrrrGrrrrrrrG"
        }, {
            "duration": "7",
            "minDur": "3",
            "maxDur": "6",
            "state": "rrrrrrryrrrrrrry"
        }]

        for i in range(self.row_num * self.col_num):
            node_id = "center"+str(i)
            traffic_lights.add(node_id, phases=phases, tls_type="actuated")

4 个答案:

答案 0 :(得分:0)

您可以附加图片吗?这将有助于解决这一问题。

答案 1 :(得分:0)

对于某些阶段(如最后一个阶段),MaxDur小于持续时间。尝试增加MaxDur或减少持续时间。

答案 2 :(得分:0)

您可以在交通信号灯(绿色或红色的条形图)上的相扑上单击鼠标右键,然后单击“显示阶段”,以查看“状态”字符串应多长时间(与打开的窗口中的行数一样多)。

答案 3 :(得分:0)

事实证明,相位大小是正确的,但是我的流程环境(green_wave_env.py)在'在线'程序中设置了交通信号灯状态,相位大小不正确。现在可以使用了。 谢谢!