在 SUMO 和 OMNeT++ 中创建红绿灯

Create traffic light in SUMO and OMNeT++

如何在 OMNeT++ 和 SUMO 中创建 traffic light,我必须在 [=16= 中创建交通灯并进行配置] 文件来自哪个文件使用静脉示例。

用于 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{
....
}