veins中车联网仿真简述
轉載
https://blog.csdn.net/xiaoxiao123jun/article/details/79406654
veins內置的示例在文件夾examples內:
Binaries:二進制文件
antenna.xml:對車輛天線做出配置,不用管;
config.xml:配置物理層無線電傳播相關參數,如示例中將信號路徑衰落的模型配置為“SmiplePathlossModel”,障礙物引起的信號衰落模型設置為“SimpleObstacleShadowing”,一般使用默認的即可;
debug:調試信息,不用管;
erlangen.launchd.xml:建立與SUMO的通信,不能更改;
erlangen.net.xml:SUMO路網文件,跑自己的仿真時需要替換,至于如何生成請參考SUMO官網文檔;
erlangen.poly.xml:如果SUMO路網文件是由地圖轉化而來的,如從OpenStreetMap導入的,則路網文件中還將包含所選地區的建筑物的信息,通過SUMO提供的OpenStreetMap Web接口便可生成記錄這些建筑物形狀、大小和位置信息的配置文件,作為config.xml內信號衰落模型的輸入;如果不考慮建筑物對于信號傳播的影響則無需此文件,當然config.xml內的信號衰落模型的配置也要刪去;
erlangen.rou.xml:交通流文件,如何生成也請查閱SUMO官網文檔,不再贅述;
erlangen.sumo.cfg:SUMO運行文件,可對運行時長等運行參數進行配置;
講解omnetpp.ini!(挑關鍵的)
network:非常關鍵的參數,需要替換成自己的network級ned文件;
sim-time-limit:網絡仿真時間限制,注意與SUMO生成的交通流運行時長對應;
RSU SETTINGS:對RSUExampleScnario.ned中的路側單元ned中的參數做出設置。其中最重要的就是applType,它指定了RSU的應用層,也就是RSU會做什么。其實RSU也是一個ned文件,比network級低,它是由另外幾個更低級的ned組成的,包括作為應用層的ned(appl),作為MAC層的ned(nic),作為移動驅動的ned(mobility)。applType指定的就是應用層的ned,而應用層ned的功能又由其同名且在同一個文件夾的C++文件定義,這樣RSU的功能也就確定了,做應用層研究的要改變的就是這個應用層的ned與對應的C++文件。至于后面那些參數都是對于應用層ned中的一些參數做出設置,比如.rsu[*].appl.beaconUserPriority = 7就是令所有RSU應用層的信標優先級為7。
11p specific parameters NIC-Settings:對MAC層ned(nic)相關參數做出設置,nic包含兩個子ned(mac1609_4和phy80211p)。至于connectionManager基本保持不變,如果要研究信號傳播范圍的影響的話,需要改變maxInterfDist;
WaveAppLayer:對移動節點(車輛)的應用層做出設置,和RSU一個道理;
Mobility:對移動節點的移動模塊做出設置。其中accidentCount、accidentStart、accidentDuration這三個參數是對移動節點發生事故的事件做出設置,這是veins的examples演示的功能(事故預警消息的傳播),我們用不到直接令accidentCount=0即可。
講解RSUExampleScnario.ned!
看代碼可以發現RSUExampleScnario內加入了一個RSU單元。
那么下面官網上的示例動圖里的移動節點是怎么加入的呢?
其實是通過TraCIScenarioManagerLaunchd.ned這個模塊加入的
其中下面一行代碼定義了RSUExampleScnario.ned這個network中加入的移動節點。往上一層層捋就很容易發現,RSUExampleScnario繼承自Scnario,Scnario又import了TraCIScenarioManagerLaunchd。
string moduleType = default("org.car2x.veins.nodes.Car");
總結
以上是生活随笔為你收集整理的veins中车联网仿真简述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAD选择一个图层上的全部对象的方法
- 下一篇: 关于火星的资料(关于水星的知识和资料)