我如何在OMNeT和SUMO中创建 traffic light ,我必须使用静脉示例创建交通信号灯并使用哪个文件配置XML文件 .
自Veins 4.7起,SUMO交通灯的OMNeT代理模块可供使用 .
如果您的网络包含红绿灯,则需要将以下行添加到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 .
MYTRAFFICLIGHTID
交通信号灯由应用程序( YOURAPPLAYERTYPE )和逻辑( YORUTRAFFICLIGHTLOGIC )组成 . 这两个属性都是必需的,需要在omnetpp.ini中指定 .
YOURAPPLAYERTYPE
YORUTRAFFICLIGHTLOGIC
在当前的Veins主分支中, YOURAPPLAYERTYPE 是OMNeT模块,它使用 DemoBaseApplLayer 作为基本模块 .
DemoBaseApplLayer
class YOURAPPLAYERTYPE: public DemoBaseApplLayer { .... }
YORUTRAFFICLIGHTLOGIC 是一个OMNeT模块,它使用 TraCITrafficLightAbstractLogic 作为基本模块 .
TraCITrafficLightAbstractLogic
class YORUTRAFFICLIGHTLOGIC: public TraCITrafficLightAbstractLogic{ .... }
1 回答
自Veins 4.7起,SUMO交通灯的OMNeT代理模块可供使用 .
如果您的网络包含红绿灯,则需要将以下行添加到omnetpp.ini文件中:
术语
MYTRAFFICLIGHTID
需要替换为您在SUMO网络中使用的ID . 如果要控制多个红绿灯,则可以列出以空格分隔的SUMO ID .交通信号灯由应用程序(
YOURAPPLAYERTYPE
)和逻辑(YORUTRAFFICLIGHTLOGIC
)组成 . 这两个属性都是必需的,需要在omnetpp.ini中指定 .在当前的Veins主分支中,
YOURAPPLAYERTYPE
是OMNeT模块,它使用DemoBaseApplLayer
作为基本模块 .YORUTRAFFICLIGHTLOGIC
是一个OMNeT模块,它使用TraCITrafficLightAbstractLogic
作为基本模块 .