【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南

  • 安装准备
  • 安装


安装准备

安装之前找好官方对应的资料,基本是英文,那这篇博客就是第一个中文版开山之作啦!
项目github地址:CarlaSumoArtery-CoSimulation
需要安装的软件:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第1张图片
关于CARLA Sumo Omnetpp的安装可以参考上一篇博客,版本都是对的,因为这个版本是Veins5.2推荐的版本。所以本篇博客主要是安装Artery。

Artery官网:Artery V2X Simulation Framework

Artery 支持基于 ETSI ITS-G5 协议(例如 GeoNetworking 和 BTP)的 V2X 模拟。通过Artery的中间件,单辆车可以配备多个ITS-G5服务,Artery也为这些服务提供了通用设施。一些基本服务,例如合作意识(CAM)和去中心化通知(DENM)已经包含在内。(就是DSRC)

  • Environment Model: Artery 环境模型 (envmod) 的开发是由集体感知用例推动的。该用例旨在通过 V2X 通信与其他道路参与者共享车辆传感器感知的物体。
    【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第2张图片

  • Global and local environment models:其中一个GlobalEnvironmentModel跟踪 SUMO 报告的所有障碍物和车辆。在上图中,建筑物等静态障碍物被着色为深绿色。车辆,即动态障碍物,充满蓝色。每辆具有传感器功能的车辆都拥有其LocalEnvironmentModel,这是车辆对环境的局部视角。与附加到中间件的服务模块类似,本地环境模型托管一组可配置的传感器。XML 配置与服务配置非常相似,并且可以应用相同的过滤规则。传感器可以安装在车身的前部、后部、左侧或右侧。服务可以通过设施访问本地环境模型并查询感知对象。雷达传感器的范围和视场可以单独配置。只能感知配置的传感器锥体内的物体。此外,如果另一辆车的各个角落的视线被遮挡,则无法感知该车辆。建筑物和其他车辆可能会阻挡这些视线。在环境模型的可视化中,视线被绘制为与相应传感器锥体颜色相同的虚线。

  • GEMV²: GEMV²是一种基于几何的V2V通信高效传播模型。GEMV² 是由Mate Boban在撰写博士论文时开发的。具体详情可以去看博士论文。

官方安装说明:Install Instructions
以及该视频,不过是Ubuntu 22.04.2 LTS。
视频中涉及到的密令都在Link。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第3张图片

安装

克隆

git clone --recurse-submodule https://github.com/riebl/artery.git

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第4张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第5张图片
要求:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第6张图片验证g++编译器是否存在:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第7张图片
验证clang:
在这里插入图片描述
若没有,使用sudo apt install clang安装。
安装Boost:

sudo apt-get install libboost-all-dev

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第8张图片
验证cmake:
在这里插入图片描述
若没有,使用sudo apt install cmake安装。
OMNeT++已经安装。如有需要可以看上一篇博客VEINS_CARLA安装指南。
查看python3:
在这里插入图片描述
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第9张图片
安装GeographicLib:

sudo apt install libgeographic-dev

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第10张图片
安装Crypto++:

sudo apt install libcrypto++-dev

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第11张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第12张图片

sumo已经安装,不是强制的,建议安装。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第13张图片
在这里插入图片描述
创建build目录:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第14张图片

mkdir build
cd build
cmake ..
cmake --build .

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第15张图片
在这里插入图片描述
在这里插入图片描述
cmake 版本过低,进行升级:
参考Link

wget https://github.com/Kitware/CMake/releases/download/v3.23.0/cmake-3.23.0-linux-x86_64.sh

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第16张图片
然后用 sh 文件快速升级:

sudo bash ./cmake-3.23.0-linux-x86_64.sh --skip-licence --prefix=/usr

# 安装过程中遇到:
# 选择1
Do you accept the license? [yn]: 
# 输入 y

# 选择2
By default the CMake will be installed in:
  "/usr/cmake-3.23.0-linux-x86_64"
Do you want to include the subdirectory cmake-3.23.0-linux-x86_64?
Saying no will install in: "/usr" [Yn]:
# 输入 n

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第17张图片

安装完成后,可以看到 cmake 版本已经更新

$ cmake --version
cmake version 3.23.0

在这里插入图片描述
在artery/build目录下面再次编译:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第18张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第19张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第20张图片
仍然报错,估计是版本太高了。
换成最低要求的3.12.0了。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第21张图片
随后重新编译:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第22张图片
困难重重啊,怀疑了版本的问题,但没有效果,只能看这个提示,看看问题在哪了。
直接去搜错误提示是什么正则式表达错误,我又详细了看了cmake/AddOppTarget.cmake这个文件,然后将错误和38行对应的代码都发给GPT,
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第23张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第24张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第25张图片
我发现还挺有用的,抱着试一试的心态(也没有其他的办法了):
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第26张图片
按GPT的提示添加了防止正则式出错的代码,然后编译:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第27张图片
太帅了,和这个视频中的一样。
最后cmake --build .
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第28张图片
和视频中一样:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第29张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第30张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第31张图片
运行例子:
在这里插入图片描述
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第32张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第33张图片
运行成功!表明成功安装了Artery框架。

已经做好CarlaSumoArtery-CoSimulation安装前的环境准备了。

接下来开始准备安装!
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第34张图片
Pre-requisites:

pip3 install psutil pyproj

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第35张图片

  • Set Omnetpp (进入omnetpp-5.6.2目录)
./configure WITH_TKENV=no WITH_QTENV=no
make cleanall
make MODE=release

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第36张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第37张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第38张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第39张图片
使用命令 ./configure WITH_TKENV=no WITH_QTENV=no 中的选项 WITH_TKENV=no 和 WITH_QTENV=no 表示你选择禁用了图形化界面支持。这意味着在配置OMNeT++后,你将以命令行方式运行OMNeT++,而不再能够使用图形用户界面(GUI)。
如果你需要启用图形用户界面(GUI),请确保不使用 WITH_TKENV=no 和 WITH_QTENV=no 这两个选项。可以更改为运行以下命令:

./configure WITH_TKENV=yes WITH_QTENV=yes

然后重新编译。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第40张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第41张图片
克隆下来:

git clone https://github.com/mohammedLamine/CarlaSumoArtery-CoSimulation.git

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第42张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第43张图片
完成对应的替换:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第44张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第45张图片

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第46张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第47张图片
merge,应用到所有。

将simulation_modules的文件夹移到和carla的同一个目录下即可。(没错,我的carla就装在Downloads下,笑哭!)
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第48张图片

接下来进入测试环节:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第49张图片
运行carla:
进入:carla/Unreal/CarlaUE4,我的密令是这个$~/UnrealEngine_4.26/Engine/Binaries/Linux/UE4Editor "$PWD/CarlaUE4.uproject"(第一个$符号后面的直到结束)

等待启动:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第50张图片

连接作为carla客户端:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第51张图片

python3.7 synchro_client.py

由于Ubuntu18.04系统自带的python版本为3.6.9,可以在为系统安装一个3.7的版本。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第52张图片
找到如下教程:
在Ubuntu 18.04 LTS上安装Python 3.7
不是很确信的话也可以在找个英文的参照,中文教程也可以先看看评论。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第53张图片
开始吧!
选择从源代码在ubuntu上安装Python 3.7
首先需要更新apt的本地存储库索引,如下所示::

sudo apt update

随着本地存储库索引的更新,我们现在将安装编译和安装python3.7所需的依赖项。为此,我们需要执行以下命令:

sudo apt install -y build-essential wget zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev

一旦所有依赖项都已安装并准备就绪,我们将使用wget命令从官方python网站下载Python 3.7的最新版本,如下所示:

 wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz

使用tar命令下载并提取tgz文件。

tar -xf Python-3.7.7.tgz

现在将cd进入目录,然后执行configure脚本以评估是否满足了编译所需的依赖项关系。启用优化标志优化python二进制文件并将代码执行增加10-20%。

cd Python-3.7.7

成功执行configure脚本后,我们现在将通过使用带有altinstall参数的make命令在Ubuntu 18.04 LTS计算机中安装python 3.7。altinstall参数可确保未将其安装为系统默认的python版本。

sudo make altinstall

现在,我们可以通过如下检查其版本来检查python 3.7是否已成功安装。

python3.7 -V

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第54张图片
ok,
在这里插入图片描述
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第55张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第56张图片

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第57张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第58张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第59张图片
创建venv的虚拟环境。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第60张图片
装好环境后在此运行,你会发现有个路径的问题,改完之后又出现了个错误,找不到carla模块,这个应该是安装完carla后没有将Carla Library安装到你的python3里,这里小飞哥的教程有说。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第61张图片
接下来就按照小飞哥的教程试下:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第62张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第63张图片
我发现装的是0.9.14,应该向前兼容吧。。。

cd ~/carla/PythonAPI/carla/dist/
unzip carla-0.9.14-py3.6-linux-x86_64.egg -d carla-0.9.14-py3.6-linux-x86_64
cd carla-0.9.14-py3.6-linux-x86_64

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第64张图片
接下来打开你的文档编辑器,建立一个setup.py, 将以下内容复制进去。

from distutils.core import setup
setup(name='carla',
      version='0.9.10', 
      py_modules=['carla'],
      )

在这里插入图片描述
这里有点坑,路径要正确,我最后用的绝对路径…
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第65张图片
一直报上面那个ERROR,晕死。
继续:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第66张图片
3.7应该不不能import carla,干脆就用自带的3.6了,-_-||,不明白为啥教程要用3.7
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第67张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第68张图片
这里应该也是路径的问题,应该是synchro_client.py的上一级才能够进入到carla文件夹:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第69张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第70张图片
感觉应该是问题不大了,试一下command example:
在这里插入图片描述
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第71张图片
这里也是路径的问题,应该说github上的readme描述文件就稍微有点问题,不然不会出现这种路径问题。不过自己改一下就行。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第72张图片
搜索一下,相关的路径都改一下。

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第73张图片
离成功不远了,笑哭!
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第74张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第75张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第76张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第77张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第78张图片
可能是这个原因吧

【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第79张图片
果然,这个解决了,另一个又来了,
重新编译一下看看有没有这个文件吧。。。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第80张图片
我没有按CarlaSumoArtery-CoSimulation的编译方式,按Omnet++官方文档的编译方式。
装完后就有了。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第81张图片
我最后的编译是这样的:

  • Set Omnetpp (进入omnetpp-5.6.2目录)
./configure WITH_TKENV=no WITH_QTENV=no
make cleanall
make 

我没有使用MODE=release,使用了之后就没有opp_run_dbg了。
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第82张图片
这里我又改回来了。
然后再次运行:
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第83张图片
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第84张图片
没有报错,看样子是成功了!代表测试成功!
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第85张图片
synchro_client.py 脚本使用 carlas 的“run_synchronization.py”来同步 carla 和 sumo,然后在模拟循环中查找来自 Artery 模拟的连接以开始接收消息。该脚本还会查找已定义的攻击者和检测机制,并在同一循环中运行它们,并在 Carla 中绘制相应的可视化效果。

如果要开启sumo,加上sumo-gui即可。

python3.6 synchro_client.py --color-agents --color-cams --num-clients 2 --sumo-gui --start-artery --artery-build-path /home/luo/OMNet++/omnetpp-5.6.2-src-linux/artery/build

在这里插入图片描述
如果要和carla同步的话,需要加载carla的地图,
【车联网/自动驾驶仿真学习】CarlaSumoArtery-CoSimulation安装指南(Artery V2X Simulation Framework安装)_第86张图片
随后执行

python3.6 synchro_client.py --color-agents --color-cams --num-clients 2 --sumo-gui --start-artery --artery-build-path /home/luo/OMNet++/omnetpp-5.6.2-src-linux/artery/build

然后就可以联合仿真了。

你可能感兴趣的:(车联网仿真,自动驾驶,学习,人工智能)