学校项目培训之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: 找不到指定的模块。

在这里插入图片描述

我真是没办法了!!!!!到底这个问题怎么改!我参考了网上各种方法都无效。。。。。

失败告终

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

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

相关文章

浅析Java责任链模式实现

一、概要 定义:责任链模式是一种行为设计模式, 允许你将请求沿着处理者链进行发送。收到请求后, 每个处理者均可对请求进行处理, 或将其传递给链上的下个处理者。 二、应用场景: 1.多条件流程判断:权限相关…

iOS开发之编译OpenSSL静态库

项目审查发现OpenSSL1.0.2d有漏洞,所以需要升级更新OpenSSL版本,借此机会,记录一下编译OpenSSL静态库的流程。 Xcode使用的是14.2,OpenSSL使用的是1.0.2u、1.1.1u,由于是对两个不同版本进行的编译操作,所以…

Linux服务器部署常用命令记录【持续更新】

介绍:最近服务器被人频繁攻击,留下一堆垃圾文件。重装后需要重新部署,才发现Linux的命令怎么这么碎。于是乎就产生了写这篇文章的想法。本文旨在记录常用的Linux部署需要使用的命令,另一篇关于Linux docker安装常用软件的文章&…

HTTP响应详解, HTTP请求构造及HTTPS详解

HTTP响应详解 认识 "状态码" (status code) 状态码表示访问一个页面的结果 . ( 是访问成功 , 还是失败 , 还是其他的一些情况 ...). 以下为常见的状态码 . 200 OK 这 是一个最常见的状态码, 表示访问成功 . 抓包抓到的大部分结果都是 200 例如访问搜狗…

C# byte[] 如何转换成byte*

目标:将byte[]转成byte*以方便使用memcpy [DllImport("kernel32.dll", EntryPoint "RtlCopyMemory", CharSet CharSet.Ansi)] public extern static long CopyMemory(IntPtr dest, IntPtr source, int size); private void butTemp_Click(object…

C语言实现通讯录 (附完整代码)

C语言实现通讯录 🍀实现一个通讯录:🍀通讯录的功能:🍀多文件实现💮设计结构体——保存人的信息💮初始通讯录💮封装通讯录💮define宏定义修改通讯录的最大容量初始化通讯录…

Gitlab仓库部署

Gitlab仓库部署 一、Gitlab的概述1、gitlab介绍2、gitlab主要功能3、gitlab和github的区别 二、部署环境1、安装依赖环境2、安装Postfix邮箱3、Gitlab优势4、Gitlab工作流程 三、Gitlab部署过程1、Yum安装Gitlab2、配置gitlab站点URL3、启动并访问Gitlab 四、Gitlab具体操作1、…

C++中的导入include,头文件,extern,main函数入口及相关编译流程

结论: 1:#include就是复制粘贴 2:C编译的时候,在链接之前,各个文件之间实际上没有联系,只有到了链接的阶段,系统才会到各个cpp文件中去找需要的文件; 一:include的作用…

详解混合类型文件(Polyglot文件)的应用生成与检测

1. 引入 混合类型文件(Polyglot文件),是指一个文件,既可以是合法的A类型,也可以是合法的B类型。 比如参考3中的文件,是一个html文件,可以用浏览器正常打开;它也是一个一个.jar文件&…

OpenCV之怀旧色、冰冻滤镜、熔铸滤镜

怀旧色 源码&#xff1a; void huaijiu(Mat& src,Mat& dst) {for (int h 0;h < src.rows;h ){uchar *d1 src.ptr<uchar>(h);uchar *d2 dst.ptr<uchar>(h);for (int w 0;w < src.cols;w ){int w3 3*w;int r d1[w3 2];int g d1[w3 1];int …

民用大中型无人直升机系统飞行性能飞行试验要求

声明 本文是学习GB-T 42856-2023 民用大中型无人直升机系统飞行性能飞行试验要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本文件规定了民用大中型无人直升机系统飞行性能飞行试验的内容、目的、条件、实施、数据处理和 结果评定等要…

linux相关知识以及有关指令3

在linux的世界中我们首先要有万物皆文件的概念&#xff0c;那么在系统中有那么多的文件&#xff0c;我们该怎么区分呢&#xff1f;文章目录 1. 文件分类2. 文件的权限1). 拥有者和所属组以及other2). 文件的权限3). 粘滞位4). 对于权限修改的拓展知识点a.修改权限b.修改拥有者所…

【MySQL进阶】SQL性能分析

一、SQL性能分析 1.SQL执行频率 MySQL 客户端连接成功后&#xff0c;通过 show [session|global] status 命令可以提供服务器状态信 息。通过如下指令&#xff0c;可以查看当前数据库的 INSERT 、 UPDATE 、 DELETE 、 SELECT 的访问频次&#xff1a; -- session 是查看当…

Linux学习之基础工具二

经过学习我们已经大致的学会了vim的使用&#xff0c;可以利用vim进行代码的编写了&#xff0c;在学习c语言的时候我们就知道&#xff0c;编译完成一个代码需要进行四个步骤&#xff1a; 1. 预处理&#xff08;进行宏替换) 2. 编译&#xff08;生成汇编) 3. 汇编&#xff08;生…

Java实现计算两个日期之间的工作日天数

需求&#xff1a; 需要在后端实现 计算当前日期与数据库内保存的日期数据之间相隔的工作日数目 实现 import java.time.DayOfWeek; import java.time.LocalDateTime;public class WorkdaysCalculator {public static void main(String[] args) {String givenDateTimeStr &q…

HTTPS Tomcat Servlet 博客系统 软件测试的概念 Linux

第 1 题&#xff08;多选题&#xff09; 题目名称&#xff1a; 以下关于http和https说法正确的是 题目内容&#xff1a; A .http是超文本传输协议 B .https是超文本传输安全协议 C .http是明文传输 D .https是加密传输 第 2 题&#xff08;单选题&#xff09; 题目名称…

【计算机视觉】Image Feature Extractors方法介绍合集(一)

文章目录 一、Convolution二、1x1 Convolution三、Depthwise Convolution四、Pointwise Convolution五、Depthwise Separable Convolution六、Grouped Convolution七、Dilated Convolution八、3D Convolution九、Non-Local Operation十、Deformable Convolution十一、Switchabl…

UI自动化测试神器Playwright(Java版)(保存登录cookie,解决免登录)

&#x1f3ad; Playwright在称为浏览器上下文的隔离环境中执行测试。该隔离模型提高了可重复性并防止相关联的测试脚本执行失败。测试可以加载现有的已验证状态&#xff0c;比如获取已登录的状态&#xff08;Cookie&#xff09;&#xff0c;在后续脚本中复用。这消除了在每个测…

【论文笔记】Perception, Planning, Control, and Coordination for Autonomous Vehicles

单纯作为阅读笔记&#xff0c;文章内容可能有些混乱。 文章目录 1. Introduction2. Perception3. Planning3.1. Autonomous Vehicle Planning Systems3.2. Mission Planning3.3. Behavioral Planning3.4. Motion Planning3.4.1. Combinatorial Planning3.4.2. Sampling-Based P…

web安全漏洞-SQL注入攻击实验

实验目的 学习sql显注的漏洞判断原理掌握sqlmap工具的使用分析SQL注入漏洞的成因 实验工具 sqlmap是用python写的开源的测试框架&#xff0c;支持MySQL&#xff0c;Oracle&#xff0c;PostgreSQL&#xff0c;Microsoft SQL Server&#xff0c;Microsoft Access&#xff0c;I…