基于Veins(SUMO+OMNeT++)的混合交通流仿真

Veins混合交通流仿真整体框架

备注:

本文记载作者本科毕业论文完成过程中使用Veins模拟器进行混合交通流的PLEXE仿真过程(以免忘记);由于论文尚未完成,细节内容不展示。

B站上有较为完整的教学视频:VANET和OMNET++、INET、Veins和SUMO仿真模拟教程_哔哩哔哩_bilibili

1.仿真环境搭建

1.1 OMNeT++下载及安装

Step1:OMNeT++下载

OMNeT++ Downloads (omnetpp.org)

下载文件到新建文件夹(注意:文件夹名不得带中文字符,也不要有空格等特殊字符。作者在编译过程中遇到此问题,TOT)

Step2:修改

打开路径下文件“configure.user”,Edit。将PREFER_CLANG那一行的yes改为no,而后save。

Step3:环境配置

回到下载路径文件夹,双击setenv.bat,自动运行并关闭界面。

(注意:最开始作者未进行这一步直接编译,出现报错:error: Before running 'configure', please use 'source setenv' to set up your environment.)

Step4:编译

回到下载路径文件夹,双击mingwenv.cmd,进入命令行提示符。Enter。

分别输入:

./configure

make

编译过程所需等待时间较长,若出现报错可辅助ChatGPT进行调试。

Step5:打开demo

继续在mingwenv.cmd界面依次输入:

cd samples/aloha

./aloha

出现以下界面,Run

恭喜你,安装成功!

1.2 Veins下载及配置

1.2.1 试错

----------------------------------------------------------------------------------------------------------------

[试错一],失败

按照CSDN的内容给出的操作步骤,在对Veins进行 build project文件的过程中,出现了如下报错:

经过多天的尝试,仍未解决该问题(估计是版本的软件版本问题,但尚未验证该猜想)。

[试错二],失败

受文章:Veins – the open source vehicular network simulation framework的启发,故先下载Instant Veins 5.2-i1进行学习。

仍然没能够解决问题......

----------------------------------------------------------------------------------------------------------------

[试错三],成功!

经过第三种方案的尝试,问题得到解决:即下载的三种软件版本不适配。

由于下载的软件为Veins5.2,根据官方网站给出的推荐版本下载和安装。

网站如下:

Download and Changelog - Veins (car2x.org)

下载的软件版本为:

1.2.2. 文件导入及配置

注:详细步骤参考B站教学视频:VANET和OMNET++、INET、Veins和SUMO仿真模拟教程_哔哩哔哩_bilibili

下载好以上版本软件的文件后,

Step1:打开OMNeT++5.6.2主界面

OMNeT++文件下打开mingwenv.cmd→键入omnetpp→创建workplace如下:

(不同的模型创建不同的workplace文件夹)

Step2:import INET4.2.5

左上角File→Import→Existing Projects into Workspace→Browse(选择INET4.2.5所在文件夹)

(注意:初次选择空白处inet会自动✔选择,Options后的5项不打勾)→Finished

Step2:Import Veins

操作同上

Step3:Build Project

分别右键inet和veins文件夹,点击Build Project,开始自动创建(初次创建需要花费几分钟)

若无报错,最终显示Build Finished,则继续

若电脑卡住,可退出界面再进入后Build Project;出错需要重新创建先Clean Project

Step4:同sumo创建关联

使用veins中的sumo-lauchd.py同sumo.exe及sumo-gui.exe创建关联,以满足后续仿真的交通模型及可视化需求:

首先需要找到sumo-launchd.py和sumo.exe(sumo-gui.exe)的路径:

前者路径在OMNeT++5.6.2主界面,veins文件夹下,复制location找到文件位置

sumo.exe及sumo-gui.exe路径位于SUMO的bin文件夹中

切换到命令行提示符mingwenv.cmd界面,分别键入以下内容(地址根据实际修改)

D:\\Application_downloads\\New_Veins\\Veins5.2\\sumo-launchd.py -vv -c 'D:\\Application_downloads\\New_Veins\\SUMO1.8.0\\bin\\sumo.exe'
D:\\Application_downloads\\New_Veins\\Veins5.2\\sumo-launchd.py -vv -c 'D:\\Application_downloads\\New_Veins\\SUMO1.8.0\\bin\\sumo-gui.exe'

出现Listening on port 9999,成功!

Step5:打开demo

Project Explorer→veins→examples→veins→results→omnetpp.ini,鼠标右键,Run As:1 OMNeT++ Simulation

Config name:(默认)Default → OK

点击左上角,运行

出现以下界面:

成功!

1.3 基础建模

1.3.1 新文件创建

新文件创建某一步骤的代码如下,作为保存:

#
# Use the new message compiler introduced in OMNeT++ 5.3
#
MSGC:=$(MSGC) --msg6

ifeq ($(PLATFORM),win32.x86_64)
  #
  # on windows we have to link with the ws2_32 (winsock2) library as it is no longer added
  # to the omnetpp system libraries by default (as of OMNeT++ 5.1)
  #
  LIBS += -lws2_32
  DEFINES += -DINET_EXPORT
  ENABLE_AUTO_IMPORT=-Wl,--enable-auto-import
  LDFLAGS := $(filter-out $(ENABLE_AUTO_IMPORT), $(LDFLAGS))

endif

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值