Получение стоимости автомобиля из Veins 4.7.1

Я уже создал свой собственный сценарий Veins, теперь мне нужно получить значения транспортных средств, такие как средняя скорость и выбросы газа, такие как CO2, для каждого отдельного транспортного средства сценария. Может ли кто-нибудь объяснить мне подробно, как этого добиться? Любой код, который необходимо реализовать? Если да, то в каком файле? Я уже просмотрел вики TraCI о SUMO, но не объясняется, как этого добиться. Любая помощь будет иметь для меня большое значение. ИСПОЛЬЗОВАНИЕ: SUMO 0.32 и Omnet++5.3

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
144
1

Ответы 1

Я использую более старую версию вен, но она может быть такой же.

Действительно, как вы сказали, подсказка находится в файле TraciMobility. Взгляните на «TraciMobility.cc» и «TraciMobility.h», которые находятся в «veins\modules\mobility\traci\». Вы можете выяснить, что существует переменная (двойной общий выброс CO2), инициализированная и поддерживаемая во время выполнения моделирования. Переменная записывается как скаляр. Я еще не уверен, как получить его значение (так как я тоже новичок в венах). однако есть и другой способ получить общее количество выбросов CO2, который будет заключаться в следующем:

  • Добавьте для этого метод в «TraciMobility.h».
        virtual double getTotalCO2Emission() const {
            return totalCO2Emission;
        }
  • теперь, что касается вашего вопроса о точном месте для получения значения CO2, поскольку оно находится в автомобиле, то вы «можете захотеть» добавить его в «TraCIDemo11p.cc» (если вы получите конкретное сообщение?), если при получении сообщения , затем добавьте это в функцию "TraCIDemo11p::onWSM":
double test = mobility->getTotalCO2Emission();

или просто распечатайте его как событие, например:

EV << "Test the CO2 emission: " << mobility->getTotalCO2Emission() << endl;

поэтому всякий раз, когда транспортное средство получает сообщение, оно будет отображаться на экране моделирования (если это не cmd) текущее количество выбросов CO2.

Если что-то, не стесняйтесь упоминать об этом.

С наилучшими пожеланиями,

Другие вопросы по теме