从零开始 使用OMNET++结合VEINS,INET和SUMO的联合仿真

OMNeT++等工具联合仿真V2X通信

背景知识

当我们探索未来的交通系统和智能交通解决方案时,车辆到一切(Vehicle-to-Everything, V2X)通信技术显得尤为重要。V2X是指在车辆与车辆(V2V)、车辆与基础设施(V2I)、车辆与行人(V2P)以及车辆与网络(V2N)之间进行的通信。这种技术能够提高道路安全,优化交通流量,减少拥堵,提升驾驶体验,并为自动驾驶汽车的实现打下基础。

为了准确模拟和分析V2X通信中的复杂交互,需要使用一些专用的仿真工具:

  1. OMNeT++ 是一个公开源码的网络仿真框架,提供了广泛的工具集和功能,用于构建复杂的网络和其他分布式系统。OMNeT++的灵活性和模块化使其成为研究和模拟通信网络,特别是V2X通信网络的理想选择。

  2. INET 是OMNeT++的一个扩展模型库,专注于互联网协议和网络技术的仿真。INET提供了大量的网络协议模型,如TCP/IP、路由协议等,允许研究者构建和测试各种网络架构和服务。

  3. SUMO (Simulation of Urban MObility) 是一个开源的交通仿真软件,用于模拟城市的车辆流动。通过SUMO,研究人员可以创建详细的城市交通场景,包括道路网络、交通信号灯、车辆行为等,来分析不同交通策略和管理措施的效果。

  4. VEINS 是一个允许OMNeT++和SUMO之间进行联合仿真的框架,专门用于车辆通信系统的研究。它使得OMNeT++模拟的通信网络和SUMO模拟的移动车辆能够实时交互,从而实现对V2X通信场景的全面仿真。

使用OMNeT++结合VEINS、INET和SUMO进行联合仿真,能够在复杂的城市交通环境中准确模拟V2X通信。这种仿真可以帮助研究者评估V2X技术在实际应用中的表现,如通信延迟、系统可靠性和安全性等。此外,仿真结果还可以指导政策制定者和工程师设计更有效的交通管理策略和智能交通系统,推动智能交通技术的发展,为实现无缝、安全和高效的未来交通网络提供支持。

在这篇博文中,我将尝试:

  • 搭建仿真的环境,导入VEINS和INET开源库
  • 使用INET库中提供的网络协议和功能模型来模拟通信协议和网络功能
  • 使用SUMO创建道路网络和车辆轨迹,并导出到OMNeT++中
  • 在OMNeT++中使用VEINS通过socket和SUMO连接,借助VEINS实现的TRACI接口来设置车辆相关的行为和场景
  • 在OMNET++中结合VEINS,SUMO和INET运行联合仿真实验,并分析车辆在遇到紧急情况下的通信状况和具体行为

环境搭建

OMNet++ / Veins / INET / SUMO下载

关于这四个软件的下载安装,以下两篇博文是很好的参考:

https://www.cnblogs.com/Xylona/p/17779621.html

(veins5.0+sumo1.2.0+OMNeT++5.5.1)车载自组织网络仿真环境安装配置教程(一步一步)_sumo1.3.0+veins5.2+omnet++5.5.1-优快云博客

 我最终使用的版本:

  • OMNeT++ 5.6.2
  • Veins 5.2
  • SUMO 1.10.0
  • INET 4.2.5

环境配置

  • 修改configure.user:

在分别下载好这四个版本的软件后,进入OMNet++文件夹,打开configure.user,修改PREFER_CLANG的值为no

  • sumo环境变量配置:

共配置四条:

  • 解压&编译OMNET++:

打开OMNet++中的“mingwenv.cmd”,并按下任意键开始解压;

解压完成后分别输入“./configure”和“make”进行编译,make的时间大概要一个小时

  • 打开OMNETT++:

在“mingwenv.cmd”中输入“omnetpp”打开IDE界面

  • 导入VEINS & INET:

点击左上角File -> Import:

导入inet和veins:

注意!对于veins要勾选search for nested projects!!

  • 点击左上角Project -> Build All
  • 运行INET的示例仿真:

点击inet -> examples -> aodv ->  omnetpp.ini,然后右键Run as Omnet ++ simulation就可以看到示例仿真:

  •  运行VEINS的示例仿真:

在“mingwenv.cmd”中输入以下指令使veins连接上sumo:

C:/Users/Majiaming/Desktop/WESTERN/9038_wireless_comm/project/project_new/veins-veins-5.2/bin/veins_launchd -vv -c C:/Users/Majiaming/Desktop/WESTERN/9038_wireless_comm/project/project_new/sumo-1.10.0/bin/sumo.exe

点击左侧veins -> examples -> veins -> omnetpp.ini,然后右键Run as Omnet ++ simulation就可以看到示例仿真:

点击Run后:


现在,成功完成了环境搭建,接下来就要开始创建一个属于我的项目

关于接下来的大体步骤,我参考了以下油管的视频,但是如果仿真软件的版本和我相差不大,建议参考我的版本,因为我按照我下载的这一套VEINS,SUMO,INET,OMNET++版本完全按照视频操作会出现一些问题,所以建议有什么不会再去参考油管的视频:

How to Create a New OMNET++ Project That Works with INET and Veins (youtube.com)

How to Simulate a V2V Network using OMNET++, INET, and Veins - YouTube

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值