【问题标题】:How to send a message from the RSU to a car at a specific time (omnet++, veins, sumo)如何在特定时间从 RSU 向汽车发送消息(omnet++、venes、sumo)
【发布时间】:2025-11-23 08:50:01
【问题描述】:

我第一次使用 omnet++ (v5.6.2) 和静脉 (v5.1),我试图在特定时间从 RSU 向第一辆车 (node[0]) 发送消息在模拟过程中。

我的主要目标是创建一种在 RSU 发送消息时立即停止汽车的方法。我想创建一个布尔变量,当经过一定时间后它会变为真,这会触发 RSU 发送消息并因此强制汽车停止(可能来自已经存在的 handleMessage?)。

我已在示例中的 RSU 设置中将 sendBeacons 设置为 true,这与我想要实现的功能类似,但找不到在给定时间仅向一辆车发送一条消息的方法。

我目前正在研究MyVeinsAppDemoBaseApplLayer,但我还没有找到真正做到这一点的方法。

如果有任何帮助或意见,我将不胜感激!谢谢!

【问题讨论】:

    标签: omnet++ veins sumo


    【解决方案1】:

    通常,您可以在 OMNeT++ 中对此进行建模,方法是让模块的初始化方法将“自我消息”安排一段时间,然后通过执行您希望在此时发生的事情来对收到此“自我消息”做出反应.有关详细信息,请参阅 OMNeT++ Tic Toc 教程。

    Veins 通过(可选地)提供 TimerManager 帮助器组件https://github.com/sommer/veins/blob/veins-5.1/doc/manual/timermanager.md 使这变得更容易一些,它允许您使用 C++ lambda 在给定时间执行代码。你可以在https://github.com/sommer/veins/blob/veins-5.1/subprojects/veins_inet/src/veins_inet/VeinsInetSampleApplication.cc看到一个使用这个 TimerManager 的示例模块

    【讨论】: