如果我知道 RSU 将在 SUMO 中放置的坐标,如何将其转换为 omnet++ 的坐标?
我知道 SUMO 的坐标系与 omnet 不同。我应该使用内部函数“traci2omnet”中使用的方程将其离线转换(在开始模拟之前)吗?我尝试过这个,但似乎不准确。
我还尝试在相扑中 RSU 的位置创建一个连接点,在 omnet 中检索该连接点的位置,然后将 RSU 放置在相同的坐标处。但是,在运行模拟时(例如在初始化期间)是否可以实现这种情况?
有谁知道最好的解决方案吗?
SUMO 和 OMNeT++ 使用不同的坐标系,这就是为什么辅助函数如traci2omnet
用于将点从一个坐标系转换到另一个坐标系。在 Veins 4.6 中,此转换的最佳参数是在模拟运行时在线确定的。从好的方面来说,对于相同的场景,这些参数将始终相同。
因此,一个简单的方法是改变任何汽车的应用程序,以便在模拟中创建坐标变换后立即输出坐标变换的结果。此转换的结果可用作 RSU 的位置。只要场景保持不变,位置就会是正确的。
一个更复杂(但更稳健)的解决方案是在 OMNeT++ 模拟中动态创建 RSU 模块(很像汽车模块是即时创建的),基于 SUMO 模拟中存在的对象。此类对象可能是 SUMO“兴趣点”对象。在此解决方案中,OMNeT++ 模拟一旦连接到 SUMO,它就可以查询所有兴趣点的位置,将位置转换到正确的坐标系,并在每个位置实例化一个 RSU。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)