【发布时间】:2018-12-09 13:50:53
【问题描述】:
如何在 OMNeT++ 和 SUMO 中创建 traffic light,我必须创建交通灯并在 XML 文件中配置使用静脉示例的文件。
【问题讨论】:
如何在 OMNeT++ 和 SUMO 中创建 traffic light,我必须创建交通灯并在 XML 文件中配置使用静脉示例的文件。
【问题讨论】:
SUMO 交通灯的 OMNeT++ 代理模块自 Veins 4.7 起可用。
如果您的网络包括红绿灯,则需要将以下行添加到您的 omnetpp.ini 文件中:
*.manager.trafficLightModuleType = "org.car2x.veins.nodes.TrafficLight"
*.manager.trafficLightModuleName = "trafficLight"
*.manager.trafficLightModuleDisplayString = default
*.manager.trafficLightFilter = "MYTRAFFICLIGHTID"
*.trafficLight[*].mobility.x = 0
*.trafficLight[*].mobility.y = 0
*.trafficLight[*].mobility.z = 3
*.trafficLight[*].applType = "YOURAPPLAYERTYPE"
*.trafficLight[*].logicType = "YORUTRAFFICLIGHTLOGIC"
MYTRAFFICLIGHTID 一词需要替换为您在 SUMO 网络中使用的 ID。如果您要控制多个红绿灯,可以列出以空格分隔的 SUMO ID。
交通灯由一个应用程序 (YOURAPPLAYERTYPE) 和一个逻辑 (YORUTRAFFICLIGHTLOGIC) 组成。这两个属性都是强制性的,需要在您的 omnetpp.ini 中指定。
在当前的 Veins master 分支中,YOURAPPLAYERTYPE 是一个 OMNeT++ 模块,它使用DemoBaseApplLayer 作为基础模块。
class YOURAPPLAYERTYPE: public DemoBaseApplLayer {
....
}
YORUTRAFFICLIGHTLOGIC 是一个 OMNeT++ 模块,它使用TraCITrafficLightAbstractLogic 作为基础模块。
class YORUTRAFFICLIGHTLOGIC: public TraCITrafficLightAbstractLogic{
....
}
【讨论】: