Я уже создал свой собственный сценарий Veins, теперь мне нужно получить значения транспортных средств, такие как средняя скорость и выбросы газа, такие как CO2, для каждого отдельного транспортного средства сценария. Может ли кто-нибудь объяснить мне подробно, как этого добиться? Любой код, который необходимо реализовать? Если да, то в каком файле? Я уже просмотрел вики TraCI о SUMO, но не объясняется, как этого добиться. Любая помощь будет иметь для меня большое значение. ИСПОЛЬЗОВАНИЕ: SUMO 0.32 и Omnet++5.3
Я использую более старую версию вен, но она может быть такой же.
Действительно, как вы сказали, подсказка находится в файле TraciMobility. Взгляните на «TraciMobility.cc» и «TraciMobility.h», которые находятся в «veins\modules\mobility\traci\». Вы можете выяснить, что существует переменная (двойной общий выброс CO2), инициализированная и поддерживаемая во время выполнения моделирования. Переменная записывается как скаляр. Я еще не уверен, как получить его значение (так как я тоже новичок в венах). однако есть и другой способ получить общее количество выбросов CO2, который будет заключаться в следующем:
virtual double getTotalCO2Emission() const {
return totalCO2Emission;
}
double test = mobility->getTotalCO2Emission();
или просто распечатайте его как событие, например:
EV << "Test the CO2 emission: " << mobility->getTotalCO2Emission() << endl;
поэтому всякий раз, когда транспортное средство получает сообщение, оно будет отображаться на экране моделирования (если это не cmd) текущее количество выбросов CO2.
Если что-то, не стесняйтесь упоминать об этом.
С наилучшими пожеланиями,