学校项目培训之Carla仿真平台之安装Carla

官网:http://carla.org/
写在前面
由于安装都写了很多东西,所以我单独将安装弄出来记录一下。
如果你在安装9.12版本的时候遇到了很多问题,你可以考虑以下几点:
- 楼梯可能不太行,需要更换,这是我实践得到的
- 你说他为什么有9.14版本呢,所以最好换到9.14版本,只从下面讲到的Carla安装的地方开始不一样。
一、安装Carla(快速版)
1.安装Carla(快速版)
https://github.com/carla-simulator/carla/releases/tag/0.9.14
同时,Carla要在3.7环境下使用
2.运行Carla中的python代码
- 创建conda环境,
conda create -n carla_car python=3.7 - 激活新建的环境,
conda activate carla_car - 进入carla提供给我们的现有代码,
cd D:\setup\CARLA_0.9.14\WindowsNoEditor\PythonAPI\examples - 安装requirements.txt内容 ,
pip install -r requirements.txt - 运行一个python文件,
python .\xxx.py

二、安装Carla(Windows编译版)
我刚开始实在Ubuntu上安装的,结果后面一直崩虚拟机,直接VMware程序崩盘,放弃了,转战WIndows。
这里附上Ubuntu的安装教程: 史上最全Carla教程 |(二)Carla安装
下面我们开始Windows安装,我感觉我遇上了大部分会发生的错。
一些参考链接:
Carla官网build for windows
windows10 下源码编译安装 CARLA0.9.13
CARLA保姆级教程 | Windows10 Carla源码详细编译教程
1.环境准备
在官网去看一下条件:
- 1)Windows 64位操作系统。模拟器应在任何64位Windows系统上运行。
2)165GB磁盘空间。CARLA本身将占用约32GB,相关主要软件安装(包括UnrealEngine虚幻引擎)将占用约133GB。
3)需要适当的GPU。CARLA旨在实现逼真的模拟,因此服务器需要至少6GB的GPU,建议使用8GB的GPU。强烈建议使用专用GPU进行机器学习。
4)需要两个TCP端口和良好的互联网连接。默认情况下为2000和2001。确保这些端口没有被防火墙或其他任何应用程序阻止。

-
软件:
-
Cmake
-

-
Git
-

-
Make
-

-
7Zip
-

-
Python3.7 x64
-

-
Visual Studio 2019 community
-

-
请按照以下配置进行选择:
-

-

-

-
安装好上述软件之后,记得将Path加入环境变量

- Python依赖环境配置
从CARLA 0.9.12开始,用户可以选择使用pip3安装CARLA Python API。pip需要20.3或更高版本。要检查您是否有合适的版本,请在CMD中运行以下命令:
pip3 -V
如果Python pip版本过低,可使用后以下命令进行升级。
pip3 install --upgrade pip
安装Python依赖
pip3 install --user setuptools
pip3 install --user wheel
2.UnrealEngine
2.1.clone源码
用Git Bash下载CarlaUE4源码,尽量保持在安装盘符的根目录下。 我下在:D:\UnrealEngine
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git .
2.2.运行脚本
在根目录下有两个脚本:Setup.bat 、GenerateProjectFiles.bat,点击即可运行脚本。
2.3.编译UE4引擎
用vscode2019打开UE4.sln文件,

在构建栏中,选择“Development Editor”、“Win64”和“UnrealBuildTool”

如果你在生成的过程中出现如下报错:fatal error C1060: “编译器的堆空间不足“——C1001错误代码,可根据这篇文章进行修改:win10系统怎么设置虚拟内存,win10虚拟内存设置。Win11如下操作:

2.4.运行测试
编译解决方案后,您可以打开引擎,通过启动可执行的D:\UnrealEngine\Engine\Binaries\Win64\UE4Editor.exe来检查是否正确安装了所有内容。
2.5.环境变量设置
在“高级”面板上,打开“环境变量”。单击“新建”以创建变量。将变量命名为UE4_Root,并选择所需Unreal Engine安装的安装文件夹的路径。

3.Carla
3.1.clone源码
# 国内代理:
git clone https://ghproxy.com/https://github.com/carla-simulator/carla
# 或者github:
git clone https://github.com/carla-simulator/carla
下载完成后,进入到carla文件夹,然后切换到对应版本分支。我下的是0.9.12
cd carla
git checkout 0.9.12
3.2.Carla资源包下载
我直接用的南方科技大学镜像站,在站内下载后解压到:D:\carla\Unreal\CarlaUE4\Content\Carla (\Content\Carla是自己新建的)
查看下载哪一个资源包的方法:进入D:\carla\Util\ContentVersions.txt
将下载的文件解压到:D:\carla\Unreal\CarlaUE4\Content\Carla
tar xf 20211112_d5cfa12.tar.gz -C D:\carla\Unreal\CarlaUE4\Content\Carla
3.3.编译Carla
在搜索中搜 x64 Native Tools Command Prompt for VS 2019,

进入D:\carla,执行命令:
make PythonAPI
但此时报错了,说zlib找不到:

解决方法:在zlib官网去下载v1.2.11版本,将下载下来的zip放在刚刚生成的D:\carla\Build清空后放在文件夹下。

后面我还遇到了一个错误:是Failed to find XercesC (missing: XercesC_VERSION),原因是原链接下载的是xercesc-3.2.4,而依赖版本为3.2.3.

解决方法:找到D:\carla\Util\InstallersWin\install_xercesc.bat文件,用文本编辑器打开找到set
XERCESC_REPO=https://downloads.apach…,将他换成:set XERCESC_REPO=https://archive.apache.org/dist/xerces/c/3/sources/xerces-c-%XERCESC_VERSION%.zip
可以了,接下来执行
make PythonAPI
很好又报错了,看不懂但是结果就是”他虽然说我成功的下载到dist文件了,但是我的dist文件夹并不存在!!!导致我没有egg和whl文件:

如果你存在,进入D:\carla\PythonAPI\carla\dist文件夹,打开cmd:
pip install carla-0.9.12-cp37-cp37m-win_amd64.whl
回到D:\carla,我先执行make launch是可以成功的
make launch

3.4.配置python客户端环境
安装依赖:在D:\carla914\PythonAPI\examples文件夹下,打开cmd窗口运行
pip3 install -r requirements.txt
此刻我震惊!昨天晚上就是这个命令没有执行起。今天居然成功了。

3.5.运行官方示例
python manual_control.py

好家伙又报错:ModuleNotFoundError: No module named ‘carla’
ModuleNotFoundError: No module named ‘carla‘的解决方案
看着这个解决方法,我知道没解决make PythonAPI报错问题的报应来了……
毕设利用carla做实验全记录(1)——安装carla(2023.4)这里面有讲到 make pythonAPI时,发现\carla\PythonAPI\carla中没有dist这个问题,但是我跟着他操作之后,还是没有。。。
三、0.9.12版本安装失败解决方案之安装0.9.14版本
4.1.clone源码
# 国内代理:
git clone https://ghproxy.com/https://github.com/carla-simulator/carla
# 或者github:
git clone https://github.com/carla-simulator/carla
下载完成后,进入到carla文件夹,然后切换到对应版本分支。我下的是0.9.14
“这里别切换分支,后面资源包少了等各种问题都源自于切换了分支”
4.2.Carla资源包下载
你会发现D:\carla914\Unreal\CarlaUE4\Content\Carla已经有文件了,并且和镜像下下来的文件内容一样,当然你要是没有可以去这个链接下载南方科技大学镜像站,对应版本为:20211112_d5cfa12.tar.gz
4.3.编译Carla
在搜索中搜 x64 Native Tools Command Prompt for VS 2019,

进入D:\carla914,执行命令:
make PythonAPI
但此时报错了,说zlib找不到,但你看他下面紧接着说他产生了zlib-source,所以其实无关紧要:

但如果你Build文件夹里没有这个zlib(两个文件夹,一个kb级别,一个只有5MB),解决方法:在zlib官网去下载v1.2.13版本,将下载下来的zip放在刚刚生成的D:\carla\Build清空后放在文件夹下。
但是又出现了另一个错,基本和xerces有关:

我们又回到刚刚这个解决方法:
毕设利用carla做实验全记录(1)——安装carla(2023.4)这里面有讲到 make pythonAPI时,发现\carla\PythonAPI\carla中没有dist这个问题。
我想爆粗口,终于成了,dist文件夹也有了。

进入D:\carla914\PythonAPI\carla\dist文件夹,打开cmd:
pip install carla-0.9.14-cp37-cp37m-win_amd64.whl
好了,接着回到D:\carla914,执行:
make launch
等待 ~ 漫长的等待~~
你敢信?UE4的进度条在75%的时候崩了,之前弄好的系统给卸载了。查看D:\carla914\Unreal\CarlaUE4\Content\Carla文件夹里的内容不见了!!幸好之前下的资源包还没删,解压了放进去。(检查一下其他两个文件夹是不是空的,如果是空的就会遇到下面讲到的一个问题)


又报错啦:Error: CDO Constructor (demo3 CollidingPawn): Failed to find/Game/……

参考:因为删除文件导致Error: CDO Constructor (demo3 CollidingPawn): Failed to find/Game/StarterContent/Shapes/Shape Sphere.Shape Sphere的解决办法
他提到了误删,于是我想起刚刚的Content文件夹,我发现不只是资源包被删了,整个Content下面三个文件夹都是空的,于是重新拉一个Carla把Content整个拷进去。(但其实我再次拉下来的时候又没有Content文件夹了,我也不知道为什么,从镜像上拉下来的Content也只有14.9G,于是我像我的同窗拷了一份Content,17.1G)
成功
点击运行后 停止 再点击启动
4.4.配置python客户端环境
安装依赖:在D:\carla914\PythonAPI\examples文件夹下,打开cmd窗口运行
pip3 install -r requirements.txt
4.5.运行官方示例
python manual_control.py
如果你执行官方示例的时候出错ModuleNotFoundError: No module named ‘carla,我们接着执行以下操作:
- 用7-zip解压carla-0.9.14-py3.7-win-amd64.egg 到carla-0.9.14-py3.7-win-amd64文件夹,在该文件夹里添加一个setup.py文件:
from distutils.core import setup
setup(name='carla', version='0.9.14', py_modules=['carla'],)
保存完毕后,在dist文件夹里打开cmd,执行:
pip3 install -e carla-0.9.14-py3.7-win-amd64
这个问题还好解决,但是我遇到的问题如下:
Traceback (most recent call last):
File “manual_control.py”, line 83, in
import carla
File “d:\carla914\pythonapi\carla\dist\carla-0.9.14-py3.7-win-amd64\carla_init_.py”, line 8, in
from .libcarla import *
ImportError: DLL load failed: 找不到指定的模块。

我真是没办法了!!!!!到底这个问题怎么改!我参考了网上各种方法都无效。。。。。
失败告终
相关文章:
学校项目培训之Carla仿真平台之安装Carla
官网:http://carla.org/ 写在前面 由于安装都写了很多东西,所以我单独将安装弄出来记录一下。 如果你在安装9.12版本的时候遇到了很多问题,你可以考虑以下几点: - 楼梯可能不太行,需要更换,这是我实践得到的…...
什么是MQ消息队列及四大主流MQ的优缺点(个人网站复习搬运)
什么是MQ消息队列及四大主流MQ的优缺点 小程序要上一个限时活动模块,需要有延时队列,从网上了解到用RabbitMQ可以解决,就了解了下 MQ 并以此做记录。 一、为什么要用 MQ 核心就是解耦、异步和…...
Learn Prompt-什么是ChatGPT?
ChatGPT(生成式预训练变换器)是由 OpenAI 在2022年11月推出的聊天机器人。它建立在 OpenAI 的 GPT-3.5 大型语言模型之上,并采用了监督学习和强化学习技术进行了微调。 ChatGPT 是一种聊天机器人,允许用户与基于计算机的代理进行对…...
高德地图实现-微信小程序地图导航
效果图: 一、准备阶段 1、在高德开放平台注册成为开发者2、申请开发者密钥(key)。3、下载并解压高德地图微信小程序SDK 高德开放平台: 注册账号(https://lbs.amap.com/)) 申请小程序应用的 key 应用管理(https://console.ama…...
你已经应用了哪种服务注册和发现的模式呢?
前面历史文章中我们有说过关于微服务的注册和发现,并以 etcd 作为简单例子简单阐述了关于服务注册和发现的应用 那么日常工作中,你已经使用了服务注册和发现的哪些模式呢? 服务注册和发现的作用 首先,简单说明一下服务注册和发…...
Python爬虫技术在SEO优化中的关键应用和最佳实践
大家好!今天我要和大家分享一个关于SEO优化的秘密武器:Python爬虫技术。在这篇文章中,我们将探讨Python爬虫在SEO优化中的关键应用和最佳实践。无论您是一名SEO专家、网站管理员,还是对优化网站曝光度感兴趣的初学者,都…...
基于支持向量机的试剂条图像识别,基于SVM的图像识别,SVM的详细原理,Libsvm工具箱使用注意事项
目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 代码下载链接: 基于支持向量机SVM的试剂条图像自动识别,基于SVM的试剂条图像自动读取资源-CSDN文库 https://download.csdn.net/download/abc991835105/88215944 SVM应用实例…...
PbootCMS在搭建网站
1、打开网站 https://www.pbootcms.com/ 2、点击 “本站” 下载最新的网站代码 3、在本地laragon/www下创建目录(hejuwuye),并将代码放进去 4、创建本地数据库,数据库名称为: hejuwuye,然后将static/bac…...
C语言经典100例题(56-60)--画圆;画方;画线
目录 【程序56】题目:画图,学用circle画圆形 【程序57】题目:画图,学用line画直线。 【程序58】题目:画图,学用rectangle画方形。 【程序59】题目:画图,综合例子。 【程序60】题…...
linux相关知识以及有关指令3
在linux的世界中我们首先要有万物皆文件的概念,那么在系统中有那么多的文件,我们该怎么区分呢?文章目录 1. 文件分类2. 文件的权限1). 拥有者和所属组以及other2). 文件的权限3). 粘滞位4). 对于权限修改的拓展知识点a.修改权限b.修改拥有者所…...
关于Synchronized
Synchronized用于实现线程间的同步。它可以被用于方法或代码块上,确保同一时间只有一个线程可以访问被 synchronized 修饰的代码,也就是常说的锁,synchronized有三点作用 1)实现线程安全:通过使用 synchronized&#x…...
深度学习(Python)学习笔记2
第二章 感知机 2.1 感知机是什么 感知机接收多个输入信号,输出一个信号。 感知机的信号会形成流,向前方输送信息。 感知机的信号只有“流/不流”(1/0)两种取值。 本学习笔记中,0对应“不传递信号”,1对应“传递信号”。 图中、是输入信号,是输出信号,、是权重。图…...
gitlab操作
1. 配置ssh 点击访问 2. 创建新分支与切换新分支 git branch 新分支名 // 创建 git checkout 新分支名 // 切换到新分支3. 查看当前分支 git branch*所指的就是当前所在分支 4. 本地删除文件后与远程git同步 git add -A git commit -m "del" git push...
docker day04
Dockerfile: - FORM: 1.指定基础镜像,可以起别名,也可以指定多个FROM指令,用于多阶段构建; 2.加载触发器,加载ONBUILD指令; 3.不指定基础镜像,声明当前镜像不依赖任何镜像,官方…...
任意区域的色彩一致性处理方法
影像任意感兴趣区域的色彩一致性处理方法,主要是针对掩膜后的影像,类似下图,对非背景区域的像素进行处理 其中非黑色部分我们叫待匀色区域。 这种处理 对于wallis 和直方图匹配 很容易实现,但是颜色转移就相对而言 困难点。 颜…...
听GPT 讲Istio源代码--pilot
File: istio/operator/pkg/translate/translate.go 在Istio项目中,istio/operator/pkg/translate/translate.go文件的作用是处理Istio Operator的配置信息和Kubernetes的资源对象之间的翻译和转换。 首先,scope和componentToAutoScaleEnabledPath是用于记…...
pdfjs解决ie浏览器预览pdf问题
pdfjs是一个js库,可以将pdf文件用canvas重新绘制,从而无需借助pdf读取插件就可以直接预览。 目前chrome内核的浏览器已内置pdf读取插件,但ie浏览器还没有。而我们最近在做的一个项目使用对象是医院,使用的浏览器竟然还是ie。所以我…...
千里共婵娟 | 结合微信公众号用JavaScript完整开发实现换中秋头像的功能
🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责…...
pt26django教程
admin 后台数据库管理 django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用 django 会搜集所有已注册的模型类,为这些模型类提拱数据管理界面,供开发者使用 创建后台管理帐号: [rootvm mysite2]# python3 manage.…...
javabasic
计算机基础 一、学前知识 1. 计算机组成 2. 进制的概念 (1)二进制的存储 计算机不管是内存还是硬盘,都是以二进制的形式存储。如同一张巨大的表格,里面都是由0和1组成。 二进制:逢2进1 基数为2,数值部分…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
MyBatis中关于缓存的理解
MyBatis缓存 MyBatis系统当中默认定义两级缓存:一级缓存、二级缓存 默认情况下,只有一级缓存开启(sqlSession级别的缓存)二级缓存需要手动开启配置,需要局域namespace级别的缓存 一级缓存(本地缓存&#…...
VisualXML全新升级 | 新增数据库编辑功能
VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...
若依登录用户名和密码加密
/*** 获取公钥:前端用来密码加密* return*/GetMapping("/getPublicKey")public RSAUtil.RSAKeyPair getPublicKey() {return RSAUtil.rsaKeyPair();}新建RSAUti.Java package com.ruoyi.common.utils;import org.apache.commons.codec.binary.Base64; im…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...

