В VEINS 4.4 можно получить доступ к текущему местоположению транспортных средств на прикладном уровне (например, TraCIDemo11p ) через модуль «Мобильность», который определяется через TraCIMobility .
Я использовал тот же подход для доступа к модулю Mobility на нижнем уровне ( MAC1609_4.cc ), где я добавил следующее утверждение на этапе 0 функции инициализации:
TraCIMobility* mobility = TraCIMobilityAccess().get(getParentModule());
Однако я не получаю никакой ошибки компиляции, но когда OMNET выдает ошибки, когда начинается симуляция, и выдает следующую ошибку.
Ошибка в модуле (MAC1609_4) RSUExampleScenario.node [0] .nic.mac1609_4 (id = 12) при событии № 2, t = 0,1: Утверждение: условие traci false в функции get, \ veins/modules/mobility/traci/TraCIMobility.h line 193
Я искал различные возможные решения, но до сих пор не могу решить эту проблему.
Связанные посты:
Как получить доступ к командному интерфейсу TraCI из TraCIDemoRSU11p в симуляторе Veins Car2X?
Передача статуса автомобиля в Венах
RoadId () из BaseWaveApplLayer.cc (VEINS, OMNET ++)
Как получить координаты каждого транспортного средства в VEINS?