omnet++ - 在 SUMO 和 OMNeT++ 中创建红绿灯
问题描述
如何在 OMNeT++ 和 SUMO 中创建红绿灯 ,我必须创建红绿灯并使用静脉示例在 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{
....
}
推荐阅读
- c# - 如何使用 blazor 组件重用代码段?
- javascript - 我无法使用 html 和 javascript 在甘特图中动态呈现数据
- html - 如何将标题添加到由 XSLT 样式表转换的 HTML?
- javascript - 必须的是,当你点击“块一”时,其余的块都关闭了,如何释放这个?
- java - 使用资源管理器(Java 库)列出组织的所有 GCP 项目
- c - 如何完全删除窗口标题栏?
- xamarin.forms - 如何使 Xamarin Forms CollectionView 大小适合其内容?
- json - 有没有办法通过 AWS API Gateway 发布非常大的 JSON 有效负载?
- javascript - 元素的属性正在输出 null
- powerbi - DAX 度量以查找另一个度量的最大值