Ubuntu20.04编译安装Carla全过程

前言

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账号请点击这里:

https://github.com/

在你的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安装就结束啦!

相关推荐
LKAI.7 分钟前
搭建Elastic search群集
linux·运维·elasticsearch·搜索引擎
gywl2 小时前
openEuler VM虚拟机操作(期末考试)
linux·服务器·网络·windows·http·centos
日记跟新中3 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
码农君莫笑3 小时前
信管通低代码信息管理系统应用平台
linux·数据库·windows·低代码·c#·.net·visual studio
BUG 4043 小时前
Linux——Shell
linux·运维·服务器
大霞上仙4 小时前
Linux 多命令执行
linux·运维·服务器
晨欣4 小时前
Kibana:LINUX_X86_64 和 DEB_X86_64两种可选下载方式的区别
linux·运维·服务器
AI青年志4 小时前
【服务器】linux服务器管理员查看用户使用内存情况
linux·运维·服务器
dessler5 小时前
Docker-run命令详细讲解
linux·运维·后端·docker
PyAIGCMaster5 小时前
ubuntu装P104驱动
linux·运维·ubuntu