当前位置: 首页 > news >正文

学校项目培训之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,数值部分…...

XCTF-web-easyupload

试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

无法与IP建立连接,未能下载VSCode服务器

如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

高防服务器能够抵御哪些网络攻击呢?

高防服务器作为一种有着高度防御能力的服务器&#xff0c;可以帮助网站应对分布式拒绝服务攻击&#xff0c;有效识别和清理一些恶意的网络流量&#xff0c;为用户提供安全且稳定的网络环境&#xff0c;那么&#xff0c;高防服务器一般都可以抵御哪些网络攻击呢&#xff1f;下面…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...