Omnet++ 从第4.7.1节中检索车辆值

Omnet++ 从第4.7.1节中检索车辆值,omnet++,veins,Omnet++,Veins,我已经创建了自己的场景,现在我需要检索场景中每辆车的平均速度和二氧化碳等气体排放量等车辆值。有人能详细地向我解释一下如何做到这一点吗?有需要实现的代码吗?如果是,在哪个文件中?我已经浏览了相扑的TraCI维基,但没有解释如何实现这一点。任何帮助对我都是很有价值的。 使用:SUMO 0.32和Omnet++5.3我使用的是旧版本的Velse,但可能仍然是相同的方式 事实上,正如你所说的,提示在可追踪性文件中。看看“Velse\modules\mobility\traci\”中的“TraciMobi

我已经创建了自己的场景,现在我需要检索场景中每辆车的平均速度和二氧化碳等气体排放量等车辆值。有人能详细地向我解释一下如何做到这一点吗?有需要实现的代码吗?如果是,在哪个文件中?我已经浏览了相扑的TraCI维基,但没有解释如何实现这一点。任何帮助对我都是很有价值的。
使用:SUMO 0.32和Omnet++5.3

我使用的是旧版本的Velse,但可能仍然是相同的方式

事实上,正如你所说的,提示在可追踪性文件中。看看“Velse\modules\mobility\traci\”中的“TraciMobility.cc”和“TraciMobility.h”。您可以确定在模拟运行时初始化并维护了一个变量(double TotalCO2排放量)。该变量以标量形式存在。我还不知道如何获得它的价值(因为我对静脉也是新手)。但是,还有另一种方法可以获得CO2总排放量,即:

  • 在“TraciMobility.h”中添加一个方法
  • 现在,关于您关于获取CO2值的确切位置的问题,由于CO2值来自车辆,因此您“可能希望”将其添加到“TraCIDemo11p.cc”(如果您收到特定消息?)中。如果在消息接收时,则将其添加到“TraCIDemo11p::onWSM”功能中:
或者将其打印为事件,如:

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

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