前言
Carla的安装是我现阶段解决的第一个问题,现记录一下我安装Carla的过程以及我在安装过程中遇到的一些问题。
一、安装前准备
1、硬件环境
carla是一款基于UE4开发的模拟仿真软件,本身对硬件的要求比较高。
我是windows与ubuntu双系统,由于在装系统之前就了解过carla的配置,
cpu-intel i9 内存-64G SSD-500G 显卡-4070
2.驱动软件环境
nvida 驱动的安装
点击软件和更新
点击应同更改,重启就可以安装好
安装完成后打开命令行输入nvidia-smi
如果出现以下内容说明安装成功
python
Tue Nov 26 10:22:08 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01 Driver Version: 535.183.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4070 ... Off | 00000000:01:00.0 On | N/A |
| N/A 41C P3 12W / 55W | 1234MiB / 8188MiB | 14% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 1267 G /usr/lib/xorg/Xorg 95MiB |
| 0 N/A N/A 1653 G /usr/lib/xorg/Xorg 473MiB |
| 0 N/A N/A 1786 G /usr/bin/gnome-shell 181MiB |
| 0 N/A N/A 2687 G /usr/lib/firefox/firefox 322MiB |
| 0 N/A N/A 7300 G ...erProcess --variations-seed-version 123MiB |
| 0 N/A N/A 12033 G ...gnu/webkit2gtk-4.0/WebKitWebProcess 9MiB |
| 0 N/A N/A 14141 G gnome-control-center 2MiB |
+---------------------------------------------------------------------------------------+
其他环境
python3 环境全部准备好之后,需要安装一些其他包
python
pip3 install --user pygame numpy
pip install --user setuptools &&
pip3 install --user -Iv setuptools==47.3.1 &&
pip install --user distro &&
pip3 install --user distro &&
pip install --user wheel &&
pip3 install --user wheel auditwheel
这里由于我们是使用 python 语言进行开发,所以这里最重要的就是安装 python3 ,其他环境安装如下:
python
sudo apt-get update &&
sudo apt-get install wget software-properties-common &&
sudo add-apt-repository ppa:ubuntu-toolchain-r/test &&
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add - &&
sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-8 main" &&
sudo apt-get update
这里不同系统版本对应不同的安装指令,可以去官网进行查看:How to build Carla on Ubuntu ,
这里使用的是 Ubuntu 20.04 版本,我们要保证Carla和它的引擎UnrealEngine用的是一个版本的Clang,命令如下:
python
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main"
sudo apt-get install build-essential clang-10 lld-10 g++-7 cmake ninja-build libvulkan1 python python-dev python3-dev python3-pip
libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-10/bin/clang++ 180 &&
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-10/bin/clang 18
4、UE4安装
(一)、关联账户
由于Carla是基于UE4引擎进行开发的,所以在安装Carla前最重要的一步就是要安装并编译UE4,由于本次我们安装的为carla0.9.13,与之对应的引擎版本为UnrealEngine4.26。
第一步将你的Github和UrealEngine连接到一起。因为UnrealEngine的repo是private的,如果你的github没有和UnrealEngine连接到一起,是无法下载引擎repo的
注册Ginhub账号请点击这里:
在你的terminal中安装git,为了之后git clone做准备
python
sudo apt install git
接着注册一个UnrealEngine的账号
Feed - Unreal Engine
也可以直接用epic的账号登陆UE,接下来要完成Github和UnrealEngine的关联,具体如下:
连接方法可以参考该链接Unreal Engine on GitHub,或者可以根据下面的方法
1、使用经过验证的Epic Games帐户登录www.unrealengine.com,单击右上角网站标题栏中的用户名,然后选择personal选项。
2、从菜单中选择连接的账户(APPS AND ACCOUNTS),单击Github图标下方的连接(connect)。
3、查看《虚幻引擎最终用户许可协议》并选中对应复选框接受该协议,然后单击关联您的账户按钮(如果已经接受了最新版本的《虚幻引擎最终用户许可协议》,则不会显示该提示)。
4、登录现有GitHub帐户。
5、单击授权按钮,之后你会收到Gibhub发的一封EpicTeamAdmin邀请您加入确认的邮件,单击join @EpicGames完成关联流程。
在进行下一步之前,请先进入https://github.com/EpicGames - Connect to preview
在这个界面里需要点击Follow:
如果这里没有点击,就不显示UE4源码仓库,无法git clone下载,然后向下滑动来查看你是否能看到如下一个叫做UnrealEngine的repo,如果能,说明你关联成功了。
着就可以开启下一步了。
(二)、Github Repo Clone
这步主要是将UnrealEngine4.26git clone到自己ubuntu的home目录下,大概要花费90G---100G左右空间。
安装Unreal引擎
python
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
(这个bronch是专门给Carla的)
下载的过程中如果输入的密码是你github的密码的话会出现下载失败的情况.这个时候需要去github上配置一个密钥,再次git clone的时候将密钥输入就可以正常下载下来.
1.右上角点击头像
2.点击Setting
3.左下角 Developer Setting
4.在 Personal access token下寻找Tokens(classic)
5.点击 Generate new token 选择(classic)
6.Note的名字任意写,repo要点选(全选),delete_repo,点击最下面的Generate token,生成密钥
UE4下载速度根据网络会有较大波动,请耐心等待
正在安装过程中,在执行上述代码时会先让你登陆你github的账户,记住,是你刚刚关联UE的账户。
果执行git clone命令时出现如下报错
fatal: 无法访问 'https://github.com/CarlaUnreal/UnrealEngine.git/':GnuTLS recv error (-110): The TLS connection was non-properly
terminated.
需要执行如下操作来关掉SSL:
python
sudo apt-get install gnutls-bin
git config --global http.sslVerify false
git config --global http.postBuffer 1048576000
(三)、编译UE4
python
cd ~/UnrealEngine_4.26
./Setup.sh && ./GenerateProjectFiles.sh && make
编译的时间较长,需要耐心等待,如果在编译的过程中出现register ubreal engine file types的窗口,直接关掉即可。我当时make了6个小时,是晚上开始的,等第二天早上过来
的时候发现成功了,显示total time有300多seconds,还好不是白天做到,不然我得等好久好久。
(四)、测试
编译结束时,可以运行一下UE4,如果出现UE4的初始界面,就表示UE的部分安装完成。
python
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor
安装完,要把UnrealEngine的路径添加到~/.bashrc中:
python
sudo gedit ~/.bashrc
打开在最后一行添加:
python
UE4_ROOT=~/UnrealEngine_4.26
(由于我的安装路径是/home/crist/WorkSpace/UnrealEngine,你也应该改成你的)
效果如下:
接下来我们开始安装carla的部分。
四、安装Carla0.9.14
安装Carla有两种方法安装,第一种是源码编译安装,第二种是去carla官网上喜爱在安装包进行解压安装,由于我之后可能还要在源码进行一些操作,所以我选择的是源码安装。
先安装一个命令加速模块:
python
sudo apt-get install aria2
然后就开始0.9.14版本的安装。
python
git clone -b 0.9.14 https://github.com/carla-simulator/carla.git
这一步git clone大致内容跟上一步安装UE4的情况一样,如果出现了上一步所出现的问题,按照相对应的解决方法操作即可。
等git clone完成之后,就是最核心的一步了:
python
cd ~/carla
将50行的代码改为CONTENT_LINK=https://carla-assets.s3.us-east-005.backblazeb2.com/${CONTENT_ID}.tar.gz
然后再执行
python
./Update.sh
就可以下载Carla对应的资源并可以解压到对应的文件夹下
然后就开始Make Carla Python API,编译pythonAPI,输入:
python
make PythonAPI
//或者带上自己的python版本
make PythonAPI ARGS="--python-version=2.7, 3.6, 3.7, 3.8"
ps:如果UE的版本不是Carla版本的,在这里很可以遇到很多Clang不匹配的问题,我的选择是重新安装ubuntu按照正确的教程安装,就成功了
成功后的截图是这样的
进行最后一步:
python
make launch
make launch其中编译的内容主要三个:
python
make setup
make LibCarla
make CarlaUE4Editor
因此可以分布编译以上三步,或直接编译make launch,但是分布编译可以看出错误。
我是在执行第二步编译时出了问题:
python
BuildCarlaUE4.sh: ERROR: UE4_ROOT is not defined, or points to a non-existant directory, please set this environment variable.
Util/BuildTools/Linux.mk:7: recipe for target 'launch' failed
解决方法,修改Carla/Util/BuildTools/BuildCarlaUE4.sh文件,直接打开这个文件或者利用终端打开修改:
python
sudo gedit ~/Carla/Util/BuildTools/BuildCarlaUE4.sh
在里面添加:
python
UE4_ROOT=~/UnrealEngine_4.26
(由于我的安装路径是/home/crist/WorkSpace/UnrealEngine,你也应该改成你的)
添加截图如下:
这个问题在Package.sh中出现,同上操作
(由于我的安装路径是/home/crist/WorkSpace/UnrealEngine,你也应该改成你的)
再执行以下命令
python
make setup
make LibCarla
make CarlaUE4Editor
make launch
make PythonAPI.3
make package
需要经过漫长的等待,就可以出现该画面了,代表着carla的安装已经成功。
make launch 第一次初始化会时间长一些,之后好很多。如果Make成功,我们的仿真界面就会出现!开始之前记得点运行!
不要刚才弹出的界面关掉,另开一个terminal, 输入以下指令:
python
cd ~/carla/PythonAPI/examples
python3 automatic_control.py
顺利的话,应该会出现和下图比较类似的情形。
到这里我们的Carla安装就结束啦!