ns3_sumo环境搭建与学习2:sumo与ns3连接,生成trace导入ns3

一、输出netstate文件:ex_sumo.sumo.tr

 MySUMONet.net.xml+ex_ROU.rou.xml —〉ex_sumo.sumo.tr 

sudo sumo --net-file MySUMONet.net.xml --route-files ex_ROU.rou.xml --netstate-dump ex_sumo.sumo.tr

  • 如果是SUMO_GUI里仿真生成的ex_sumo.sumo.tr可能会报错“Message: XML 文档结构必须从头至尾包含在同一个实体内。”

、用traceExporter.jar生成所需文件:0.mobility.tcl(要用的主要就是这个)

traceExporter.py会报错“NoneType objectis not callable”,所以用traceExporter.jar

 ref:http://blog.csdn.net/jamexfx/article/details/53202825 traceExporter.py的解决办法

MySUMONet.net.xml+ex_sumo.sumo.tr —〉0.activity.tcl+0.mobility.tcl+0.config.tcl

sudo java -jar /share/traceExporter.jar ns2 -n MySUMONet.net.xml -t ex_sumo.sumo.tr -a 0.activity.tcl -m 0.mobility.tcl -c 0.config.tcl -p 1 -b 0 -e 1000

三、和ns3连接:利用ns2-mobility-trace

先在ns3/src/mobility/examples下找到ns2-mobility-trace,复制到ns3/scratch下

头文件加上ns3/netanim-module.h
Simulator::Stop (Seconds (duration));之前加上AnimationInterface("animation.xml");

sudo ./waf --run " scratch/ns2-mobility-trace --traceFile=/ns3/sumo/0.mobility.tcl --nodeNum=10 --duration=100.0 --logFile=ns2-mobility-trace.log"

  • --nodeNum和 ex_FLOW.flow.xml里的实际节点数要一样(10)
  • --duration和 ex_FLOW.flow.xml里的end时间也最好保持一致,和ex_SUMO.sumo.cfg的end时间类似

结果如图:

原文地址:https://www.cnblogs.com/cyf1995/p/6595584.html