我正在修改../flow/scenarios/grid.py和.../examples/rllib/green_wave.py中的SimpleGridScenario类,以便我可以将我的简单网格变成每个走廊场景的双车道。我添加了它们,还设置了新的连接,以便车辆可以左右转弯。这显示在所附图像中。对于每种方法,第一条车道允许车辆左转并直行,第二条车道允许车辆右转并直行。
不幸的是,每次我运行模拟时都会收到以下错误:
错误:tls 'center0',程序 'online' 中的相位大小不匹配。退出(错误)。
有谁知道为什么?
我已经在 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")
文件可以在以下链接下载: 流文件
不要忘记将场景目录中的 __init__.py 文件替换为您的文件!
更新:似乎可能有对 TLS 的在线修改,可能是 Traci。有关更多详细信息,请查看此(最后一条评论):单击此处