【问题标题】:Vehicle value retrieval from Veins 4.7.1从 Veins 4.7.1 检索车辆价值
【发布时间】:2019-03-31 05:42:21
【问题描述】:

我已经创建了自己的 Veins 场景,现在我需要检索场景中每辆车的平均速度和气体排放量(如 CO2)等车辆值。有人可以向我详细解释如何实现这一目标吗?有什么需要实现的代码吗?如果是,在哪个文件中?我已经浏览了 SUMO 的 TraCI wiki,但没有解释如何实现这一点。任何帮助对我来说都很有价值。 使用:SUMO 0.32 和 Omnet++5.3

【问题讨论】:

    标签: omnet++ veins


    【解决方案1】:

    我正在使用旧版本的静脉,但它可能仍然是相同的方式。

    确实,正如您所说,提示位于 TraciMobility 文件中。查看“veins\modules\mobility\traci\”中的“TraciMobility.cc”和“TraciMobility.h”。您可以发现在模拟运行期间初始化并维护了一个变量(double totalCO2Emission)。变量是作为标量的记录器。我还不确定如何获得它的价值(因为我也是静脉新手)。但是,还有另一种方法可以获得总二氧化碳排放量:

    • 在“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)中显示当前的二氧化碳排放量。

    如果有任何事情,请随时提及。

    最好的问候,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多