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

news2024/11/24 20:56:24

VEINS_CARLA安装指南

这是Veins团队开发的一个接口,能够实现veins和carla之间的数据传输,通过veins通信模块能够实现carla中感知决策等相关数据的传输。

  • github:veins_carla
  • paper:Poster: A Case for Heterogenous Co-Simulation of Cooperative and Autonomous Driving

配置环境要求

实验室电脑配置为:cpu: i7 12700;显卡:3080-ti;内存:32G(DDR5)(单条,买的时候没看,不是双通道)。
这个配置需要先看一下,主要是CARLA安装的配置要求就行,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考官方确定ubuntu18.04;CARLA0.9.12;UE4.26

CARLA 安装

参考教程:

  • 官方:CARLA Documentation
  • 官方github:CARLA Simulator
  • 知乎小飞哥:史上最全Carla教程
    参考官方教程即可,应该不会出现太大问题,也可以参考官方github中的issues或者小飞哥的评论区。
    我遇到的一个现象就是,打开UE后,可以看到cpu几乎是占满的状态,但还能够操作,随后点击play后,就卡死了,一度怀疑是不是配置的问题,也不知道具体卡了多久,应该是等渲染完后,cpu占用就正常了,然后就可以执行python3 automatic_control.py,这就代表安装成功了!
    在这里插入图片描述

OMNeT++安装

carla主要是师弟安装,具体过程记录的不多,教程也很多,OMNeT++我来安装,在此记录下来。先找到相关的官方资料文档。
在这里插入图片描述

  • 官方:OMNeT++ Downloads
  • 官方安装手册:OMNeT++ Installation Guide
    开始吧!
    在这里插入图片描述
    Veins_carla没说说明安装omnet++的哪个版本,6.0的安装指南中要求ubuntu 20.04,
    在这里插入图片描述
    所以在晚上搜索了一下,还是安装低一点的版本,选择5.6.2吧。
    在这里插入图片描述
    因此又找了博客,注意,还是以官方的文档为主,博客仅作为参考。
    【软件安装】Ubuntu18.04及20.04中安装omnet++
    Ubuntu18.04 安装 omnet 5.6.2
    以及下载安装包后,在这里插入图片描述
    中带有的安装文档:
    在这里插入图片描述
    在这里插入图片描述
    支持18.04,ok,可以开始了。可以看到,前期收集资料要以官方及按照官方译的博客等,筛选高质量的信息,起码写这个博客的人是经验丰富或行业从业者等。
    下载解压:
    请添加图片描述参考安装手册,第四章和第五章并结合相关博客。
    请添加图片描述
    请添加图片描述没有问题继续:
    请添加图片描述
    继续
    请添加图片描述
    接下来看第四章:
    请添加图片描述我看有些博客这里设置路径有些不一样,一开始我是很相信的,以为可能要根据官方做一下修改,比如下面到博客,但如果路径设置错来,会导致一些基本到比如,ls,gedit这些密令用不了,他会给出一个路径,就是这些密令到可执行文件所在到路径,使用路径就行,把错误的路径删掉或注释,然后重启就行,一定要删掉或注释,不要盲目重启。
    请添加图片描述

请添加图片描述
我最后是按官方文档到路径添加到,没有做任何到更改。

请添加图片描述
然后继续!
请添加图片描述
请添加图片描述
随后进行编译:
在这里插入图片描述
经过漫长的等待!
在这里插入图片描述
Omnet++安装成功!
在这里插入图片描述
验证安装。
在这里插入图片描述
设置桌面图标

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来继续安装相关依赖:
在这里插入图片描述

接下来配置conan:
在这里插入图片描述
在这里插入图片描述
有个提示,按红色中的提示密令输入一遍就行:
在这里插入图片描述
接下来是下载veins:
在这里插入图片描述
如果下载的慢或者超时就手动下载吧,解压后放到omnet的文件夹里。
在这里插入图片描述
编译veins:
在这里插入图片描述
找不到“opp_makemake”,在网上搜索了一下该错误,是在github中的issue中,
在这里插入图片描述
看起来就是路径应该有问题,因为bin路径下面是有这个opp_makemake的。
所以再次打开路径,因为前面我说了,我是直接复制的官方文档的路径,但是我并没有深刻理解,但却没有报错,到veins这就有问题了,所以HOME是啥意思呢?我问了下gpt,
在这里插入图片描述
于是我重新更改了一下路径:

在这里插入图片描述
仍然报错,暂未找到原因,感觉应该是路径的问题。
第二天找同门一起看来下,最后找到了原因,source完后,我是在另一个窗口进行./configure,但是并没有生效,可以使用env查看一下是否添加进去来,在该窗口进入veins然后进行./configure。

请添加图片描述

请添加图片描述
请添加图片描述
这是我最后到的路径
请添加图片描述
接下来安装veins_carla:
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
可以看到报错了,Conan 版本不满足,要升级到1.53.0

python3 -m pip install --user conan==1.53.0

请添加图片描述
报错!
请添加图片描述
下载Conan 1.54.0!
继续!
请添加图片描述
请添加图片描述
应该是没有问题了。
请添加图片描述
这里到运行应该有些区别!
carla运行:
先开启CarlaUE4。

$ ~/UnrealEngine_4.26/Engine/Binaries/Linux/UE4Editor "$PWD/CarlaUE4.uproject"

找到这个目录:
请添加图片描述

终端执行

~/UnrealEngine_4.26/Engine/Binaries/Linux/UE4Editor "$PWD/CarlaUE4.uproject"

启动!
请添加图片描述
点击运行!
请添加图片描述
请添加图片描述
继续!

cd veins_carla/examples/veins_carla
./doRun.sh

请添加图片描述

make[1]: Entering directory ‘/home/luo/OMNet++/omnetpp-5.6.2-src-linux/veins_carla/src’
make[1]: opp_configfilepath: Command not found
make[1]: opp_configfilepath: Command not found
Makefile:50: *** Config file ‘’ does not exist – add the OMNeT++ bin directory to the path so that opp_configfilepath can be found, or set the OMNETPP_CONFIGFILE variable to point to Makefile.inc. Stop.
make[1]: Leaving directory ‘/home/luo/OMNet++/omnetpp-5.6.2-src-linux/veins_carla/src’
Makefile:35: recipe for target ‘all’ failed
make: *** [all] Error 2
make: Leaving directory ‘/home/luo/OMNet++/omnetpp-5.6.2-src-linux/veins_carla’

后面路径再次出问题,fuck!,最后正确的路径是

export PATH=$HOME/OMNet++/omnetpp-5.6.2-src-linux/omnetpp-5.6.2/bin:$PATH

请添加图片描述

如issue所示!
请添加图片描述
看样子bug是解决不了了,也到github上反馈下,
都装到这了,把sumo也装了,顺便把Veins的example运行下!
在这里插入图片描述
版本的选择,选择1.8版本即可!
下载链接SUMO-Downloads
github
在这里插入图片描述
参考官方安装教程Linux Build
参考中文博客Veins、OMNeT++、SUMO仿真平台搭建(ubantu系统下)
OK,准备资料找好了,开始吧!
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
github好像没写是什么系统的版本。
这个网址下载也行
Simulation of Urban MObility Files
在这里插入图片描述
下载后解压

tar zxvf sumo-all-1.8.0.tar.gz

在这里插入图片描述
配置环境变量
在这里插入图片描述
在这里插入图片描述
可以通过 echo $SUMO_HOME 来初步检测有没有修改成功:
在这里插入图片描述
安装sumo的依赖库,

sudo apt-get install git cmake python3 g++ libxerces-c-dev libfox-1.6-dev libgdal-dev libproj-dev libgl2ps-dev python3-dev swig default-jdk maven libeigen3-dev

进入该目录
在这里插入图片描述

cmake  ../..
 make -j$(nproc)

经过一段时间编译等待
在这里插入图片描述
启动

sumo-gui

在这里插入图片描述
来试一个简单的demo吧
进入sumo文件下的docs/tutorial/traci_tls

python runner.py

在这里插入图片描述
在这里插入图片描述
箭头可以设置为小车的形状,
在这里插入图片描述
接下来跑通veins的examples:
测试安装的sumo和Veins能否正常运行
进入到指veins文件夹
在这里插入图片描述

#运行命令执行测试
sumo-gui -c erlangen.sumo.cfg

在这里插入图片描述
接下来运行在Omnet++中运行veins,要先链接sumo
进入到veins文件夹下:
在这里插入图片描述
输入指令

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

出现Listening on port 9999就可以啦,然后打开Omnet++:
在这里插入图片描述
运行就可以啦!
在这里插入图片描述
至此,ubuntu 18.04下的carla,omnet++,sumo,veins以及veins_carla的全部安装教程就到此结束了,veins_carla应该是官方bug。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036901.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL 高级(进阶) SQL 语句(二) -----连接查询、union联集、case、正则表达式

目录 1 连接查询 1.1 内连接 1.2 左连接 1.3 右连接 2 UNION ----联集 2.1 交集值 2.2 无交集值 3 case 4 正则表达式 1 连接查询 准备工作: create database k1; use k1; create table location (Region char(20),Store_Name char(20)); insert into loca…

最新时间注入攻击和代码分析技术

点击星标,即时接收最新推文 本文选自《web安全攻防渗透测试实战指南(第2版)》 点击图片五折购书 时间注入攻击 时间注入攻击的测试地址在本书第2章。 访问该网址时,页面返回yes;在网址的后面加上一个单引号&#xff0c…

《从菜鸟到大师之路 Nginx 篇》

《从菜鸟到大师之路 Nginx 篇》 Nginx 简介 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行…

java面试题-学成在线项目

1、详细说说你的项目吧 从以下几个方面进行项目介绍: 1、项目的背景,包括:是自研还是外包、什么业务、服务的客户群是谁、谁去运营等问题。 2、项目的业务流程 3、项目的功能模块 4、项目的技术架构 5、个人工作职责 6、个人负责模块的详细说…

R统计绘图-线性混合效应模型详解(理论、模型构建、检验、选择、方差分解及结果可视化)

目录 一、 基础理论 二、数据准备 三、构建线性混合效应模型(LMMs) 3.1 lme4线性混合效应模型formula 3.2 随机截距模型构建及检验 3.3 随机截距模型分析结果解释及可视化 3.4 随机斜率模型构建、检验及可视化 四、线性混合效应模型选择 4.1 多模型比较 4.2 模型最优子…

003-第一代硬件系统环境搭建

第一代硬件系统环境搭建 文章目录 第一代硬件系统环境搭建项目介绍摘要结构部分电路部分软件部分 关键字: Qt、 Qml、 硬件、 系统、 搭建 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object Language&#…

Java编程的精髓:深入理解JVM和性能优化

文章目录 Java虚拟机(JVM)的核心概念1. 类加载器(Class Loader)2. 内存区域3. 垃圾回收(Garbage Collection)4. 类型转换和多态 JVM性能调优1. JVM参数调整2. 内存管理3. 多线程优化4. 使用性能分析工具5. …

服务注册发现_创建服务消费者

创建cloud-consumer-order80模块 pom文件添加依赖 <dependencies><!-- 引入Eureka client依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId&…

CompletableFuture-FutureTask结合线程池提升性能

使用线程池&#xff1a; 返回计算结果&#xff1a; 2.2.3 Future编码实战和优缺点分析 优点&#xff1a;Future线程池异步多线程任务配合&#xff0c;能显著提高程序的运行效率。 缺点&#xff1a; get()阻塞---一旦调用get()方法求结果&#xff0c;一旦调用不见不散&…

GEE:哨兵时间序列遥感数据和动态阈值方法计算物候时期EOS/SOS(2)

作者:CSDN @ _养乐多_ 本文将分享和解释论文《Improved Estimates of Arctic Land Surface Phenology Using Sentinel-2 Time Series》中使用到的基于阈值估算北极地区的植被物候,特别是北极地区的植被季节开始和结束的日期(SoS和EoS)的方法和代码。该方法使用的是使用哨兵…

Pytorch(GPU)环境安装

winR:启动cmd; 输入nvidia-smi 查看cuda的配置 (1) 安装CUDA 地址&#xff1a;https://developer.nvidia.com/cuda-downloads 详细参考&#xff1a;安装CUDA与CUDNN与Pytorch&#xff08;最新超级详细图文版本2023年8月最新&#xff09;_pytorch安装cudnn_LyaJpunov的博客-C…

Zookeeper-JavaApI操作

JavaApI操作 JavaApI操作1) Curator 介绍2) Curator API 常用操作a) 建立连接与CRUD基本操作b) Watch事件监听c) 分布式锁c.1) 介绍c.2) Zookeeper分布式锁原理c.3) 案例&#xff1a;模拟12306售票 JavaApI操作 1) Curator 介绍 Curator 是 Apache ZooKeeper 的Java客户端库。…

树结构的讲解与二叉树的基本运用

目录&#xff1a; 一&#xff0c;树的基本知识 二&#xff0c;树的类型 三&#xff0c;树的存储 四&#xff0c;树的基本运算 五&#xff0c;二叉树堆的基本运用 一&#xff0c;树的基本知识 树是一种非线性的数据结构&#xff0c;它是由n个有限结点组合而成为一个具有层次…

【1++的Linux】之进程(三)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的Linux】 文章目录 一&#xff0c;什么是进程地址空间&#xff1f;二&#xff0c;进程地址空间是怎么设计的&#xff1f;三&#xff0c;为什么要有进程地址空间&#xff1f; 一&#xff0c;什…

【C++杂货铺】一颗具有搜索功能的二叉树

文章目录 一、二叉搜索树概念二、二叉搜索树的操作2.1 二叉搜索树的查找2.2 二叉搜索树的插入2.3 二叉搜索树的删除 三、二叉搜索树的实现3.1 BinarySearchTreeNode&#xff08;结点类&#xff09;3.2 BinarySearchTree&#xff08;二叉搜索树类&#xff09;3.2.1 框架3.2.2 in…

【力扣485】最大连续 1 的个数

&#x1f451;专栏内容&#xff1a;力扣刷题⛪个人主页&#xff1a;子夜的星的主页&#x1f495;座右铭&#xff1a;前路未远&#xff0c;步履不停 目录 一、题目描述二、题目分析1、最值模拟2、双指针 一、题目描述 题目链接&#xff1a;最大连续 1 的个数 给定一个二进制数…

辨析常见的医学数据分析(相关性分析回归分析)

目录 1 常见的三种分类结果&#xff1f; 2 什么是相关性分析&#xff1f; 相关性分析的结果怎么看&#xff1f; 3 什么是回归分析&#xff1f; 1&#xff09;前提 2&#xff09;常见的回归模型 4 对于存在对照组实验的医学病例如何分析&#xff1f; 1&#xff09;卡方检验…

万字解析30张图带你领略glibc内存管理精髓

最近在逛知乎的时候&#xff0c;看到篇帖子&#xff0c;如下&#xff1a; 看了下面所有的回答&#xff0c;要么是没有回答到点上&#xff0c;要么是回答不够深入&#xff0c;所以&#xff0c;借助本文&#xff0c;深入讲解C/C内存管理。 1 写在前面 源码分析本身就很枯燥乏味…

服务注册发现_解读Eureka注册中心UI界面

参数&#xff1a; Environment: 环境&#xff0c;默认为test&#xff0c;该参数在实际使用过程中&#xff0c;可以不用更改Data center&#xff1a; 数据中心&#xff0c;使用的是默认的是 “MyOwn”Current time&#xff1a;当前的系统时间Uptime&#xff1a;已经运行了多少时…

JavaScript系列从入门到精通系列第六篇:JavaScrip当中的运算符,主要涉及JavaScript当中的六大数据类型的四则运算

文章目录 前言 一&#xff1a;算数运算符 1&#xff1a;Number类型的四则运算 2&#xff1a;其他数据类型的四则运算 (一)&#xff1a;加法运算 (二)&#xff1a;减法运算 3&#xff1a;乘法运算 4&#xff1a;除法运算 5&#xff1a;取模运算 前言 运算符也叫操作符。…