要启动任何静脉模拟,需要使用 Veins_launchd 守护进程。它基本上采用 sumo 配置文件,找到未使用的端口,启动 sumo 并桥接 sumo 和 OMNet++ 之间的连接。现在,由于这是基于套接字的通信,我想连接一个单独的 TraCI 脚本(用 python 编写),并希望检索模拟数据,并可能通过它控制某些车辆。
我在这里缺少什么吗?
据我了解,可以与多个客户端连接(如 Sumo-TraCI 连接中所做的那样),但我不确定如何继续。我相信修改 Vevines_launchd 守护进程可以是一个解决方案。如果从事这方面工作的任何人能够提供一些见解,那将非常有帮助。
你是对的:Veins 5.1 包含veins_launchd https://github.com/sommer/veins/blob/veins-5.1/bin/veins_launchd,一个方便的脚本,为连接到它的每个客户端启动一个 SUMO 实例。
如果多个客户端应该连接到单个 SUMO 实例(veins_launchd
将为连接到它的两个客户端生成两个 SUMO 实例)。
一种可能的前进方法是修改veins_launchd
每个 SUMO 实例接受两个客户端。
另一种方法是使用 Veins 5.1,而不使用veins_launchd
,通过你的模拟而不是基于TraCIScenarioManagerLaunchd https://github.com/sommer/veins/blob/veins-5.1/src/veins/modules/mobility/traci/TraCIScenarioManagerLaunchd.ned but on TraCIScenarioManager https://github.com/sommer/veins/blob/veins-5.1/src/veins/modules/mobility/traci/TraCIScenarioManager.ned。该模块直接连接到 SUMO,因此您可以完全控制何时以及如何启动 SUMO——但是,当然,在运行模拟之前,您必须自己启动 SUMO。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)