1
我正在使用靜脈來實現一種場景,在該場景中,我將更新車輛路線,每次以step
selfmsg爲特徵的步驟。我應該在哪個模塊中找到這種行爲?我想通過擴展將更多的功能添加到應用程序層的這個模塊中。有可能這樣做嗎?我如何在靜脈的每一步採取行動?
我正在使用靜脈來實現一種場景,在該場景中,我將更新車輛路線,每次以step
selfmsg爲特徵的步驟。我應該在哪個模塊中找到這種行爲?我想通過擴展將更多的功能添加到應用程序層的這個模塊中。有可能這樣做嗎?我如何在靜脈的每一步採取行動?
您可以利用SUMO完全同時更新所有車輛位置的事實。通過擴展,靜脈(我假設您使用的是版本4a2)將在同一時間更新所有車輛的OMNeT ++位置。每當位置發生變化時,請參閱Veins tutorial demo application以瞭解如何執行代碼。事實上,這將確保所有代碼都在單個OMNeT ++事件中運行,這似乎是您想要的。
謝謝你的回覆先生。對不起,不提,但我使用靜脈3.0。是的,我在OMNeT ++中描述這個事件,其特徵在於selfmsg「step」,其中「TraCIScenarioManager」模塊報告訂閱和更新節點位置。我只是無法弄清楚我應該編寫哪些代碼來創建事件同步。現在,我認爲我必須編寫一個類似'handlePositionUpdate()'的方法來做到這一點,正如我所知道的那樣。 – AayDee
你說得對。同樣的方法也適用於Veins 3.0。只需在您的應用程序層模塊的每個時間步驟後插入您想要運行的代碼,例如[TraCIDemo11p的第87行](https://github.com/sommer/veins/blob/veins-3.0/src/modules/application /traci/TraCIDemo11p.cc#L87) –