学校项目培训之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,数值部分…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...

全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...