静脉:获取Tripinfo和排放量

时间:2018-05-09 17:21:50

标签: simulation omnet++ veins sumo

我正在使用静脉4.6和omnetpp 5.1.1并尝试使用.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次随机旅行,设置了 vType 元素的 emissionClass =“HBEFA3 / LDV_G_EU4”属性。当我直接在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相同时,它会完成以下通知,并且不会生成旅行信息文件。

enter image description here

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

Here明确指出:

  

一旦车辆到达目的地并从网络中移除,就会为每辆车生成信息。

但事实并非如此。请指导我做错了什么。感谢

1 个答案:

答案 0 :(得分:1)

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

有三种方法可以阻止:

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

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

  3. 使用其他方式启动SUMO(手动或使用TraCI ScenarioManagerForker)