如何注册两个 moduleType 到 VeinsInetManager?

How to register two moduleType to VeinsInetManager?

我用SUMO在四车道的道路上移动车辆和公交节点。我的路由文件源码如下:

<routes>
     <vType id="normal_car" vClass="passenger" maxSpeed="50" speedFactor="0.9" speedDev="0.2" sigma="0.5"/>
     <vType id="mobile_rsu" vClass="bus" maxSpeed="30" speedFactor="1.1" speedDev="0.1" sigma="0.5"/>
     <flow id="normal_car_flow" type="normal_car" begin="0" end="3500" number="500" from="edge0" to="edge2" departPos="random" departLane="random"/>
     <flow id="mobile_rsu_flow" type="mobile_rsu" begin="0" end="5000" number="100" from="edge0" to="edge2" departPos="random" departLane="random"/>
</routes>

我已经为 Scenario.ned 中的每个节点创建了一个子模块。

car[0] : Car
{
     parameters:
          @display("p=100,390;is=s");
}

mrsu[0] : mRSU
{
     parameters:
          @display("p=200,390;is=s");
}

我尝试在 omnetpp.ini 中注册移动节点,如下所示:(我也在使用 VeinsInetManager。)

*.veinsManager.moduleType = "normal_car=org.car2x.veins.nodes.Car mobile_rsu=org.car2x.veins.nodes.mRSU"
*.veinsManager.moduleName = "normal_car=Car mobile_rsu=mRSU"
*.veinsManager.launchConfig = xmldoc("highway.launchd.xml")
*.veinsManager.host = "localhost"
*.veinsManager.port = 9999 
*.veinsManager.autoShutdown = true
*.veinsManager.updateInterval = 1s

但是运行模拟的时候出现如下错误。我该如何解决?

Keys of mappings of moduleType and moduleName are not the same..

我解决了问题。

首先,我应用 this link 来解决我的问题。

使用我的问题,如何在moduleType中注册2个或更多节点如下。

<routes>
     <vType id="normal_car" vClass="passenger" maxSpeed="50" speedFactor="0.9" speedDev="0.2" sigma="0.5"/>
     <vType id="mobile_rsu" vClass="bus" maxSpeed="30" speedFactor="1.1" speedDev="0.1" sigma="0.5"/>
     <flow id="normal_car_flow" type="normal_car" begin="0" end="3500" number="500" from="edge0" to="edge2" departPos="random" departLane="random"/>
     <flow id="mobile_rsu_flow" type="mobile_rsu" begin="0" end="5000" number="100" from="edge0" to="edge2" departPos="random" departLane="random"/>
</routes>

您可以将以下内容应用于 omnetpp.ini 以识别模拟中的节点。

*.veinsManager.moduleType = "mobile_rsu=org.car2x.veins.nodes.mRSU *=org.car2x.veins.nodes.Car"
*.veinsManager.moduleName = "mobile_rsu=mRSU *=Car"
*.veinsManager.launchConfig = xmldoc("highway.launchd.xml")
*.veinsManager.host = "localhost"
*.veinsManager.port = 9999 
*.veinsManager.autoShutdown = true
*.veinsManager.updateInterval = 1s

就是这样!