首页 文章

在SUMO和OMNeT中创建交通灯

提问于
浏览
1

我如何在OMNeT和SUMO中创建 traffic light ,我必须使用静脉示例创建交通信号灯并使用哪个文件配置XML文件 .

1 回答

  • 2

    自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 .

    交通信号灯由应用程序( YOURAPPLAYERTYPE )和逻辑( YORUTRAFFICLIGHTLOGIC )组成 . 这两个属性都是必需的,需要在omnetpp.ini中指定 .

    在当前的Veins主分支中, YOURAPPLAYERTYPE 是OMNeT模块,它使用 DemoBaseApplLayer 作为基本模块 .

    class YOURAPPLAYERTYPE: public DemoBaseApplLayer {
    ....
    }
    

    YORUTRAFFICLIGHTLOGIC 是一个OMNeT模块,它使用 TraCITrafficLightAbstractLogic 作为基本模块 .

    class YORUTRAFFICLIGHTLOGIC: public TraCITrafficLightAbstractLogic{
    ....
    }
    

相关问题