veins中车联网仿真简述

转载

https://blog.csdn.net/xiaoxiao123jun/article/details/79406654

 

veins内置的示例在文件夹examples内:

veins中车联网仿真简述

  • Binaries:二进制文件
  • antenna.xml:对车辆天线做出配置,不用管;
  • config.xml:配置物理层无线电传播相关参数,如示例中将信号路径衰落的模型配置为“SmiplePathlossModel”,障碍物引起的信号衰落模型设置为“SimpleObstacleShadowing”,一般使用默认的即可;

veins中车联网仿真简述

  • debug:调试信息,不用管;
  • erlangen.launchd.xml:建立与SUMO的通信,不能更改;
  • erlangen.net.xml: SUMO路网文件,跑自己的仿真时需要替换,至于如何生成请参考SUMO官网文档
  • erlangen.poly.xml:如果SUMO路网文件是由地图转化而来的,如从OpenStreetMap导入的,则路网文件中还将包含所选地区的建筑物的信息,通过SUMO提供的OpenStreetMap Web接口便可生成记录这些建筑物形状、大小和位置信息的配置文件,作为config.xml内信号衰落模型的输入;如果不考虑建筑物对于信号传播的影响则无需此文件,当然config.xml内的信号衰落模型的配置也要删去;

veins中车联网仿真简述

 

  • erlangen.rou.xml:交通流文件,如何生成也请查阅SUMO官网文档,不再赘述;
  • erlangen.sumo.cfg: SUMO运行文件,可对运行时长等运行参数进行配置;

讲解omnetpp.ini!(挑关键的)

veins中车联网仿真简述

 

 

  • 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。

veins中车联网仿真简述

 

 veins中车联网仿真简述

 

 

  • 11p specific parameters NIC-Settings:对MAC层ned(nic)相关参数做出设置,nic包含两个子ned(mac1609_4和phy80211p)。至于connectionManager基本保持不变,如果要研究信号传播范围的影响的话,需要改变maxInterfDist;

veins中车联网仿真简述

 

 veins中车联网仿真简述

 

 

  • WaveAppLayer: 对移动节点(车辆)的应用层做出设置,和RSU一个道理;

veins中车联网仿真简述

 

 

  • Mobility: 对移动节点的移动模块做出设置。其中accidentCount、accidentStart、accidentDuration这三个参数是对移动节点发生事故的事件做出设置,这是veins的examples演示的功能(事故预警消息的传播),我们用不到直接令accidentCount=0即可。

veins中车联网仿真简述

 

 

讲解RSUExampleScnario.ned!

看代码可以发现RSUExampleScnario内加入了一个RSU单元。

veins中车联网仿真简述

 

那么下面官网上的示例动图里的移动节点是怎么加入的呢?

veins中车联网仿真简述

 

其实是通过TraCIScenarioManagerLaunchd.ned这个模块加入的

 

 veins中车联网仿真简述

 

 

 veins中车联网仿真简述

其中下面一行代码定义了RSUExampleScnario.ned这个network中加入的移动节点。往上一层层捋就很容易发现,RSUExampleScnario继承自Scnario,Scnario又import了TraCIScenarioManagerLaunchd。

string moduleType = default("org.car2x.veins.nodes.Car");

 

原文链接: https://www.cnblogs.com/Duxue/p/13858646.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    veins中车联网仿真简述

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/204291

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午9:48
下一篇 2023年2月12日 下午9:49

相关推荐