Обработка трасс в модуле RSU
КОНТЕКСТ:
В моей программе есть перекресток со светофором, который координирует движение транспортных средств.
На вертикальной полосе не так часто пересекаются трамваи. На горизонтальной полосе часто встречаются машины.
В моем эксперименте по моделированию коммуникации трамвай имеет более высокий приоритет, чем автомобили.
Поэтому, когда он приближается к перекрестку, идея заключается в том, что трамвай пересекает без остановки.
Рядом с перекрестком находится RSU, который отслеживает координаты трамвая и когда трамвай находится достаточно близко
Он отправит сообщение в этот RSU.
Я мог бы успешно управлять светофорами с транспортных средств (потому что они имеют доступ к трассам).
Но моя следующая цель - заставить РСУ координировать светофор после получения сообщения.
ВОПРОС:
Как я могу заставить модуль RSU обрабатывать traci в то же время, когда его используют транспортные средства?
ПОПЫТКА:
После этого вопроса я попытался реализовать код для обработки traci в RSU, но он не работал
Проблема была в следующем: почему я получаю код ошибки 139, если я запускаю этот код?
//written in the TraCIDemoRSU11p.h
TraCIScenarioManager* manager;
TraCICommandInterface* traci;
,
//written in the TraCIDemoRSU11p.cc
void TraCIDemoRSU11p::initialize(int stage)
{
...
manager = TraCIScenarioManagerAccess().get();
traci = manager->getCommandInterface();
...
}
ПОДВЕДЕНИЕ:
Есть ли кто-нибудь, кто знает, как использовать traci в RSU и мог бы помочь мне использовать его?
Это было бы очень полезно для моего проекта, спасибо!
ДЕТАЛЬ:
Ошибка не возникает точно, когда я инициализирую и пытаюсь получить командный интерфейс TraCI,
Но когда я пытаюсь использовать его для изменения программы и этапов светофора.
1 ответ
Скорее всего, вы пытаетесь использовать интерфейс TraCI до его инициализации и подключения к SUMO. Это происходит в настраиваемое пользователем время, но после того, как все модули были инициализированы.
Выполнение симуляции в отладчике или в valgrind укажет вам, где произошла ошибка. Вы можете обратиться к FAQ за помощью о том, как запустить симуляцию в любом режиме.