静脉:在输出中获取 Tripinfo 和排放量

Veins: Get Tripinfo and emissions in output

我在 omnetpp 5.1.1 中使用 veins 4.6,并尝试使用 .sumocfg 文件中的以下配置输出车辆的 tripinfo:

<input>
    <net-file value="erlangen.net.xml"/>
    <route-files value="erlangen.rou.xml"/>
    <additional-files value="erlangen.poly.xml"/>
</input>

<time>
    <begin value="0"/>
    <end value="300"/>
    <step-length value="0.1"/>
</time>

<report>
    <no-step-log value="true"/>
</report>

<gui_only>
    <start value="true"/>
</gui_only>

<emissions>
    <device.emissions.probability value="1"/>
</emissions>

<output>
    <tripinfo-output value="erlangen.trip_info.xml"/>
    <fcd-output value="erlangen.fcd.xml"/>
</output>

我生成了 30 个随机行程,例如网络,设置 emissionClass="HBEFA3/LDV_G_EU4" vType 元素的属性。当我直接在 SUMO 中 运行 模拟然后成功完成时它会生成所需的行程信息文件:

<tripinfo id="0" depart="0.00" departLane="4006674#0_0" departPos="5.10" departSpeed="0.00" departDelay="0.00" arrival="202.40" arrivalLane="-4006726#0_0" arrivalPos="281.67" arrivalSpeed="13.76" duration="202.40" routeLength="2214.00" waitSteps="0" timeLoss="28.90" rerouteNo="0" devices="tripinfo_0 emissions_0" vType="passenger" speedFactor="1.00" vaporized="">
    <emissions CO_abs="16453.885943" CO2_abs="591255.824603" HC_abs="76.174970" PMx_abs="24.476562" NOx_abs="123.285735" fuel_abs="254.203634" electricity_abs="0"/>
</tripinfo>

...

<tripinfo id="29" depart="29.00" departLane="29900564#4_0" departPos="5.10" departSpeed="0.00" departDelay="0.00" arrival="226.10" arrivalLane="-31241838#0_0" arrivalPos="18.39" arrivalSpeed="22.13" duration="197.10" routeLength="2353.60" waitSteps="0" timeLoss="23.99" rerouteNo="0" devices="tripinfo_29 emissions_29" vType="passenger" speedFactor="1.00" vaporized="">
    <emissions CO_abs="16826.605518" CO2_abs="612826.831847" HC_abs="78.478455" PMx_abs="25.328690" NOx_abs="126.946877" fuel_abs="263.477812" electricity_abs="0"/>
</tripinfo>

但是当我像 OMNET++ Simulation 一样进行调试时,它会以以下通知结束并且不会生成行程信息文件。

我在.sumocfgomnetpp.ini中都将仿真时间设置为300s(sim-time-limit = 300s ),屏幕截图显示所有离开的车辆都在 285.900 秒到达,同时模拟停止并收到通知。我通过一次又一次地改变随机行程的次数和模拟时间多次观察到这个问题,但都是徒劳的。

Here明确指出:

The information is generated for each vehicle as soon as the vehicle arrived at its destination and is removed from the network.

但我不是这样的。请指导我做错了什么。谢谢

您很可能 运行 SUMO 通过 sumo-launchd.py,它会创建您场景的临时副本(在 /tmp 中)。剧情运行后,副本被删除。这意味着,如果您登录到 SUMO 模拟正在执行的目录,您记录的数据将与临时副本一起被清除。

可以通过三种方式防止这种情况发生:

  1. 运行 sumo-launchd.py 带有禁止删除临时目录的命令行开关,或

  2. 配置 SUMO 以将统计信息存储在其他地方,或者

  3. 使用不同的方式启动 SUMO(手动或使用 TraCI ScenarioManagerForker)