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

news2024/11/6 8:12:16

在这里插入图片描述

官网: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.coloradmin.cn/o/1015862.html

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

相关文章

英语——记忆篇——谐音法+拼音法

中小学单词: 谐音法: 1.issue n.问题;(杂志、报刊的)一期;v.发行 谐音“一休”;想象聪明的一休很会解决问题,发行了一期杂志专门描述他解决问题的方法; issue 问题&…

电脑大文件删除了能恢复吗 电脑大文件删除了怎么恢复

在日常办公中,电脑是必不可少的办公工具,电脑能够帮助我们储存大量的大文件,但是有时候可能会因为一些误操作或者电脑故障等情况,导致一些电脑大文件的丢失,所以今天就和大家分享一下,电脑大文件删除了能恢…

[UE]碰撞和Trace检测

UE的碰撞和Trace检测 基础概念碰撞相关概念Overlap和Hit事件概念和条件使用示例 Trace检测引擎 World.h 中的TraceUKismetSystemLibrary 中的 TraceHitResultTrace示例LineTraceSphereTraceSingleBoxSweepSphereTraceCapsuleTrace 记录SetActorLocation中的Sweep和Teleport为啥…

CocosCreator3.8研究笔记(十九)CocosCreator UI组件(三)

前面的文章已经介绍了Layout 组件 、ScrollView 组件 、PageView 组件 。 想了解的朋友,请查看 CocosCreator3.8研究笔记(十八)CocosCreator UI组件(二)。 今天我们主要介绍CocosCreator 常用组件:Butt…

Windows 10 Enterprise LTSC 2021 (x86) - DVD (Chinese-Simplified)文件分享

Windows 10 Enterprise LTSC 2021 (x64) - DVD (Chinese-Simplified) SW_DVD9_WIN_ENT_LTSC_2021_64BIT_ChnSimp_MLF_X22-84402.ISO 镜像文件: 链接:https://pan.quark.cn/s/2f8f61ec4a98 Windows 10 Enterprise LTSC 2021 (x86) - DVD (Chinese-Simpli…

辐射威胁:揭示辐射对人体健康和肠道菌群的影响及防护

谷禾健康 辐射对人体的影响是一个长期以来备受关注的问题。长时间暴露在辐射环境下可能会导致细胞损伤、突变和癌症等健康问题。 辐射包括电离辐射(X光机、CT、伽马刀、钴60治疗机、碘-131)和非电离辐射(手机辐射、微波炉、电热毯、高压电塔、…

LeetCode(力扣)968. 监控二叉树Python

LeetCode968. 监控二叉树 题目链接代码 题目链接 https://leetcode.cn/problems/binary-tree-cameras/description/ 代码 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # …

翻牌闯关游戏

翻牌闯关游戏 3关:关卡由少至多12格、20格、30格图案:12个玩法:点击两张卡牌,图案一到即可消除掉 记忆时长(毫秒):memoryDurationTime:5000 可配置,默认5000 提示游戏玩法:showTipsFlag:1 可…

算法宝典2——Java版本(此系列持续更新,这篇文章目前3道)(有题目的跳转链接)(此份宝典包含了二叉树的算法题)

注:由于字数的限制,我打算把算法宝典做成一个系列,一篇文章就20题!!! 目录 一、二叉树的算法题(目前3道) 1. 平衡二叉树(力扣) 2. 对称二叉树&#xff0…

合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念

合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念 卡西莫多 合肥长丰岗集里 肥鸭从此别泥塘 先平场地设围栏 进而工地筑基忙 光阴似箭指日争 源流汇智山水长 国器西北扩新地 家校又添新区园 重器托举有群力 大步穿梭两地间 科教兴邦大国策 技术盈身坦荡行…

Sourcetree 无法打开/闪退问题

Sourcetree在某次开机以后无法打开或者是闪退。 Sourcetree是一款Git的可视化图形管理界面,提供了Windows和Mac的免费Git客户端,很方便的管理项目的代码版本 出现问题的环境 win11,sourcTree版本:3.4.12.0 在开始菜单搜索sourcetree,打开…

Golang中的GMP调度模型

GMP调度模型 Golang调度器的由来 单进程时代不需要调度器 1.单一的执行流程,计算机只能一个任务一个任务处理。 2.进程阻塞所带来的CPU时间浪费。 后来操作系统就具有了最早的并发能力:多进程并发,当一个进程阻塞的时候,切换…

polygon yolo

[1] : github: https://github.com/HRan2004/Yolo-ArbPolygon [2] https://github.com/XinzeLee/PolygonObjectDetection [3] https://github.com/AlbinZhu/yolov7-polygon-detection 链接:https://pan.baidu.com/s/1Zpl1bIGfMli6p5LQdbET0w?pwddw2b 提取码&#…

C++之std::holds_alternative与std::get应用实例(二百一十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

Peppertype:AI写作工具

【产品介绍】 名称 Peppertype 具体描述 Peppertype是一款人工智能AI内容生成工具,它通过使用机器学习来理解用户的需求。适合在写作过程中寻求帮助的作家,而无需花时间自己学习如何使用。Peppertypeai支持快速制作电子邮件,30…

nginx 全相联结构的引申

修改 nginx 纯属巧合,任务是将 reuseport 的支持换一种方式。目前 nginx 的方式是 master 创建 worker 数量个 reuseport listening socket,由 worker 继承。在这种实现方式下,效果是 “所有 worker 可以处理所有 listening socket” 这不就是…

安卓内部存储不需要申请权限,外部文件需要申请权限

内部存储和外部存储的访问权限区别&#xff1a; 内部路径&#xff1a;/data/user/0/com.xxx.xxx/ getExternalFilesDir可以获取到属于 App 自身的文件路径&#xff0c;通常是~/Android/data/<package-name>/**/。在该目录中读写文件均不需要申请权限,随着APP卸载就会删…

华为云云耀云服务器L实例评测|Git 私服搭建指南

前言 本文为华为云云耀云服务器L实例测评文章&#xff0c;测评内容是 云耀云服务器L实例 Git 私有服务器搭建指南 系统配置&#xff1a;2核2G 3M Ubuntu 20.04 我们平时在使用代码托管服务的时候&#xff0c;可能某些代码托管平台对成员有限制&#xff0c;或是由于内容原因会对…

自动编码器

Autoencoder is designed in a way to perform task of data encoding plus data decoding to reconstruct input. -- Anushka Jain 前言 两兄弟 N.Coder 和 D.Coder 经营着一家艺术画廊。一周末&#xff0c;他们举办了一场特别奇怪的展览&#xff0c;因为它只有一面墙&#x…

nginx中sent_timeout属性使用注意事项

send_timeout使用注意事项 send_timeout:指客户端向服务器发送请求并且等待服务器返回数据的时间&#xff0c;超过这个时间链接就断开。如果咱们返回的数据复杂&#xff0c;很耗时&#xff0c;就将该值设置大些。注意该时间指准备过程&#xff0c;不是传输过程&#xff08;下载…