Я хотел бы дать решение о том, как я выясняю проблему ускорения.
Я использую SUMO 0.30.0, Veins 4.7.1, Omnet ++ 5.4.1.
Я присматривался к классу TraCIMobility. Читая построчно, я обнаружил, что ускорение было вычислено! Поэтому я сохранил его в переменную, я создал метод pubblic, чтобы получить его, и я попытался напечатать результаты для каждого транспортного средства, выяснилось, что он равен SUMO! Таким образом, без использования какого-либо вызова через TraCICommandInterface я могу получить надежное значение для ускорения.
Для людей без большого опыта я добавляю это:
в TraCIMobility.h до окончания класса TraCIMobility:
protected:
double m_acceleration = 0;
public:
double getAcceleration() { return m_acceleration;}
В TraCIMobility.cc после вычисления переменной co2emission я добавляю эту строку:
m_acceleration = acceleration;
Таким образом, я могу использовать в TraCIDemo11p.cc правильное ускорение для каждого транспортного средства, не вычисляя его при каждом получении сообщения.