Управление несколькими перекрестками светофора в SUMO с TRACI - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь найти способ управления светофорами на нескольких перекрестках в одной симуляции. У меня есть сетка 4 x 4 с 16 светофорами, и я хочу протестировать глобальный алгоритм оптимизации потоков трафика на каждом перекрестке в сетке.

Я использую SUMO и python TRACI для этой задачи. Ранее я реализовал несколько алгоритмов локального управления светофорами с одним переходом, но не могу найти простой метод для моделирования нескольких переходов. Некоторые объяснения / стратегии или фрагменты кода были бы очень полезны для меня.

Заранее спасибо!

1 Ответ

0 голосов
/ 13 сентября 2018

Обычно шаблон для алгоритма управления с traci равен

while traci.simulation.getMinExpectedNumber() > 0:
    # retrieve data from detectors
    # act on traffic light
    traci.simulationStep()

Нет ничего плохого в том, чтобы сделать следующее

while traci.simulation.getMinExpectedNumber() > 0:
    # retrieve data from detectors
    # act on traffic light 1
    # act on traffic light 2
    # ...
    traci.simulationStep()

или даже несколько этапов извлечения данных перемежаются. Вы также можете использовать приемник traci step, который вызывает произвольные дополнительные функции Python или даже подключить несколько клиентов (хотя вам нужно заранее знать, сколько). Но в любом случае вам нужно будет переработать существующие алгоритмы таким образом, чтобы вы могли разделить код, который делается между двумя вызовами шага симуляции, и им как-то нужно, чтобы все работали на одной частоте.

...