Veins、OMNeT++、SUMO仿真平台搭建

ubantu18.04安装OMNeT++5.4.1

一.安装Java8

(OMNeT++ 5.4.1使用Eclipse4.7.3的PDE,暂时不支持Java 9 和Java 11)
第一步:安装

sudo apt-get update
sudo apt install openjdk-8-jdk openjdk-8-jre

第二步:查看Java版本,看是否成功

java -version

第三步:添加环境变量

sudo gedit /etc/environment

在文件最后添加以下两行:

JAVA_HOME="/usr/lib/jvm/java-8-oracle"
JRE_HOME="/usr/lib/jvm/java-8-oracle/jre"

二.安装相关依赖库和支持包

打开终端,直接输入如下命令:

sudo apt-get update
sudo apt-get install build-essential gcc g++ bison flex perl \
     python python3 qt5-default libqt5opengl5-dev tcl-dev tk-dev \
     libxml2-dev zlib1g-dev default-jre doxygen graphviz libwebkitgtk-1.0

要将Qtenv与3D可视化支持一起使用,请安装OpenSceneGraph(3.2或更高版本)和osgEarth(2.7或更高版本)软件包的开发包。 (您可能需要在软件源中启用Universe软件存储库。对于Ubun-tu 16.04(Xenial),您必须手动将ubuntugis / ppa存储库添加到您的软件源,因为Xenial仅包含osgEarth 2.5,它太旧了。)

sudo add-apt-repository ppa:ubuntugis/ppa
sudo apt-get update
sudo apt-get install openscenegraph-plugin-osgearth libosgearth-dev
sudo apt-get install openmpi-bin libopenmpi-dev
sudo apt-get install libpcap-dev

窗口颜色设置,安装gnome-color-chooser:

sudo apt-get install gnome-color-chooser

打开gnome-color-chooser,找到Specific选项卡,修改前景色为黑色,背景色为浅黄色,然后点击应用。

gnome-color-chooser

在这里插入图片描述
设置调试器,打开/etc/sysctl.d/10-ptrace.conf:

sudo gedit /etc/sysctl.d/10-ptrace.conf

修改:kernel.yama.ptrace_scope = 0

安装nemiver:

sudo apt-get install nemiver

三.安装OMNeT++5.4.1

下载OMNET++ 5.4.1 ,地址:https://ipfs.omnetpp.org/release/5.4.1/omnetpp-5.4.1-src-linux.tgz

拷贝omnet++到home路径,解压缩

tar xvfz omnetpp-5.4.1-src.tgz

(根据自己的文件路径合理解压缩)
设置环境变量:

sudo gedit ~/.bashrc

在打开的文件末尾添加一行
export PATH=$HOME/omnetpp-5.4.1/bin:$PATH(根据自己的omnetpp-5.4.1的文件路径合理修改)

重新打开终端,使环境变量生效。

配置与构建:
在OMNET++主目录下打开终端

./configure WITH_OSGEARTH=no WITH_OSG=no

若输出:
在这里插入图片描述
则说明配置正确,可以make了。

(mak的时间较长,请耐心等待。)

启动OMNET++:

omnetpp

注意:若出现如下打不开的情况:

在这里插入图片描述
这是因为我们的系统同时装了两个java版本。ubantu18.04默认是java11,而Omnet++IDE依赖java8;
所以我们需要简单切换一下java版本,切换到java8。
切换java版本的指令如下:

sudo update-alternatives --config java
  1. 设置桌面快捷方式:
    在omnetpp-5.4.1的文件目录下打开终端,并输入:
make install-desktop-icon

2.若构建make出现错误,需要重新构建的话:

./configure WITH_OSGEARTH=no WITH_OSG=no
make cleanall

ubantu18.04安装sumo

一.apt-get安装的问题(注意)

sumo apt-get install的的安装方法虽然很简单,但是在学习仿真实例(docs/tutorial/)会出现问题,比如最典型的SUMO_HOME设置后也无法正常使用的问题。
原因是安装后的sumo, sumo-doc, sumo-tools分布在很多位置,并不在一个文件夹下,sumo在usr/share目录下,后两者则在usr/share/doc下,就会造成一些使用上的问题。另外tutorial下的有些文件会出现没有被解压,没有读写权限等现象,所以不推荐这种安装方式。
参考:
1.
https://blog.csdn.net/zhixiting5325/article/details/79302244《SUMO学习笔记——ubuntu16.04下SUMO源码安装与Traci通讯例程的测试》
2.https://blog.csdn.net/matlabmonkey/article/details/82229162《Ubuntu 18.04下安装sumo时的一些注意事项》

二.源码安装方式(推荐)

1.下载SUMO安装包
在该网址下,选择想下载的sumo版本,我选择的sumo1.5.0版本
在这里插入图片描述
https://sourceforge.net/projects/sumo/files/sumo/

2.拷贝SUMO安装包到/home路径,解压缩

tar zxvf sumo-all-1.5.0.tar.gz
cd sumo-1.5.0

3.设置环境变量
(1)打开环境变量配置文件,输入命令

gedit ~/.bashrc

(2)在该文件最后一行加入sumo-1.5.0所在目录的地址

export SUMO_HOME="/home/XXXXXXX/sumo-1.1.0"
export PATH=/home/XXXXXXX/sumo-1.5.0/bin:/home/XXXXXXX/sumo-1.5.0/tools:$PATH

(根据路径填写)
(3)修改完毕保存退出后要通过source来使环境变量生效:

source ~/.bashrc

(4)可以通过 echo $SUMO_HOME 来初步检测有没有修改成功:

echo $SUMO_HOME

4.安装SUMO
(1)安装sumo的依赖库,需要安装以下四个依赖库,否则sumo的编译文件无法成功,这个过程可能有点久,耐心等待:

sudo apt-get install libgdal-dev
sudo apt-get install libproj-dev
sudo apt-get install libxerces-c-dev
sudo apt-get install libfox-1.6-dev 

(2)安装sumo(plexe-sumo)

cd  ~/sumo-1.5.0/build/cmake_modules
cmake  ../..
make -j8

(3)启动sumo

sumo-gui

安装Veins

1.从官网下载Veins 5.0的安装包http://veins.car2x.org/download/
2.拷贝Veins 5.0安装包至home路径。
3.在 /omnetpp-5.4.1/samples下新建一个文件夹(我给它命名为my)。
4.在/omnetpp-5.4.1/samples/my下分别新建两个文件夹lte和ve;文件夹lte用来放inet和simiLTE;ve用来放veins。
5.将前面下载的Veins 5.0压缩包解压至ve文件夹中:

unzip veins-5.0.zip -d /home/XXXXXX/omnetpp-5.4.1/samples/my/ve

6.可以测试安装的sumo和Veins能否正常运行

#进入到指定的文件夹运行测试样例
cd ~/omnetpp-5.4.1/samples/my/ve/veins-veins-5.0/examples/veins
#运行命令执行测试
sumo-gui -c erlangen.sumo.cfg

运行成功的图片如下所示:
在这里插入图片描述

安装INET

1.下载INET 3.6.6 https://github.com/inet-framework/inet/releases/tag/v3.6.6,(推荐下载第一个)。
2.将下载后的INET 3.6.6压缩包拷贝至home路径下。
3.解压至lte文件夹:

tar zxvf inet-3.6.6-src.tgz -C /home/XXXXXXX/omnetpp-5.4.1/samples/my/lte

安装simuLTE

1.下载simuLTE压缩包,http://www.cs.ucc.ie/cv2x/pages/documentation/changelog.html。(选择.zip压缩包;.tar.gz压缩包好像存在问题)
注意:不要在http://www.cs.ucc.ie/cv2x/pages/download-veins.html页面下载,这里下载的latest_simulte.tar.gz版本存在问题。
2.将下载好的simuLTE安装包拷贝至home路径。
3.解压至lte文件夹:

unzip v1.1.0_simulte.zip -d /home/XXXXXXX/omnetpp-5.4.1/samples/my/lte

4.修改相关文件路径
进入/home/XXXXXXX/omnetpp-5.4.1/samples/my/lte/simulte-master/simulations/Mode4/0.1vpm/01vpm.launchd.xml,根据自己的文件路径正确修改;
同理:需要修改的还有:
/home/XXXXXXX/omnetpp-5.4.1/samples/my/lte/simulte-master/simulations/Mode4/highway/congested/congested.launchd.xml
/home/XXXXXXX/omnetpp-5.4.1/samples/my/lte/simulte-master/simulations/Mode4/highway/fast/fast.launchd.xml

5.按照自己的要求修改mode4输出文件路径
打开mode4中的omnetpp.ini文件,修改hdd为指定路径,如下图:
在这里插入图片描述6.同理若要运行Mode4Validation中的文件,也须上述的修改。

OMNeT++ Workspace配置

1.打开OMNeT
在这里插入图片描述
注意:确保在创建新工作空间时不要通过对话框安装INET。

2.导入inet,simuLTE,veins,配置并运行相关程序。
参考:
http://www.cs.ucc.ie/cv2x/media/OpenCV2X_Documentation.pdf

注意:在这一步中若没反应
在这里插入图片描述可用指令:

python2 sumo-launchd.py -vv -c sumo-gui

提到。成功的图片如下所示:

Veins、OMNeT++、SUMO仿真平台搭建ubantu18.04安装OMNeT++5.4.1一.安装Java8功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图...
目录说明一、软件下载二、OMNet++5.6.2安装(一) omnet安装(二)OMNet测试(三)omnet设置三、INET安装veins安装sumo安装 根据油管视频学习安装最新版三个软件,为自己做一个记录。 一、软件下载 OMNet++5.6.2:https://omnetpp.org/download/ sumo: veins: 二、OMNet++5.6.2安装 (一) omnet安装 1.解压文件夹至安装盘,而后在文件夹中找到configure.user 把 PREFER_CLANG = y
安装:解压后需要配置路径变量 https://sumo.dlr.de/docs/Basics/Basic_Computer_Skills.html#running_programs_from_the_command_line 用户文档:https://sumo.dlr.de/docs/ 网络构建:三个组件 .net.xml文件:道路 .rou.xml文件:车流 .sumo https://blog.csdn.net/weixin_41286835/article/details/101101603 https://www.cnblogs.com/Duxue/p/13858456.html http://veins.car2x.org/tutorial/ 在建立omnet++SUMO的连接时执行下面这句后(具体路径要根据自己的进行替换)
环境搭建 Veins基于OMNeT++离散事件仿真环境,通过TraCI接查询和调度SUMO中的车辆运动状态。我们需要首先安装OMNeT++SUMO仿真环境,然后在OMNeT++导入Veins代码,配置并调用安装的SUMO仿真环境。 由于VeinsOMNeT++SUMO三者目前依然是开发状态,其版本更新较为频繁,不同版本接口和功能各不相同,因此在安装时需要注意版本搭配。Veins不同版本需...
esmini安装与调试——简易openscenario播放器 esmini可以方便的查看openscenario的xosc文件,目前已经支持到openscenario1.1,源码github仓库见https://github.com/esmini/esmini 作者安装环境Ubuntu20.04,Cmake3.16.3,esmini要求Cmake3.7以上 git clone https://github.com/esmini/esmini.git 编译根据官方教程进行htt
三者配合,参考:VeinsOMNeT++SUMO仿真实验_sunaxp的博客-CSDN博客 omnet 新建项目,参考:Omnet++创建第一个程序_sinat_15102109的博客-CSDN博客 主要问题: 1、omnet 新建项目 后,运行,总是显示:“perhaps its code was not linked in, or the class wasn't registrered with Register_Class(), or in 首先,要使用Python控制Veins仿真,可以使用OMNeT ++仿真框架或者OMNEST/OMNeT ++ API。下面是实现车辆之间的消息传送的基本代码:# 导入必要的模块 from veins import *# 初始化Veins环境 env = Veins()# 初始化车辆 vehicles = env.create_vehicles(2)# 设置消息传送的参数 msg_data = { 'type': 'MSG', 'content': 'Hello World!' }# 在车辆之间发送消息 for vehicle in vehicles: vehicle.send(vehicles, msg_data)