1

我使用 OMNeT++-4.6、sumo-0.22.0 和 Veins-4a2。

在我的模拟中,每个节点都会创建一条消息,将其存储在其缓冲区中,并在延迟一段时间后发送所有消息。我做了两个计时器来指定创建和发送消息的延迟。因此,发送的消息可能会被其他节点或目的地即 RSU 接收。

当所有节点根据 .rou.xml 文件中的指示路径到达目的地时,我的模拟结束。每个节点在特定时间离开模拟。

我的场景的目标是每个节点在离开模拟时发送所有存储的消息,并且它们必须被目的地接收,在我的例子中是 RSU。

有人可以告诉我如何使用 self-message() 或其他解决方案来做到这一点吗?

4

1 回答 1

0

开始研究TraciScenarioManagerTraciCommandInterface以了解与 SuMO 的通信是如何完成的。然后查看TraCI 协议文档,了解是否以及如何在车辆到达路线尽头时获得通知,或者了解车辆到达的时间,以便您可以在此时安排自我消息. 当您收到此通知时,您可以发送您存储的所有消息,然后让模拟继续,这应该会删除相应的节点。

我不认为现在有一种方法支持这种通知,但是当您知道协议的必要部分时,应该很直接地将此功能添加到模块中。

于 2017-03-20T17:37:57.100 回答