Ubuntu 22.04 源码编译安装 CARLA 0.9.15 教程

🚀 Ubuntu 22.04 源码编译安装 CARLA 0.9.15 教程

前言
随着自动驾驶研究的深入,CARLA 模拟器成为了必不可少的工具。相比于直接下载预编译版,源码编译版 (Build from source) 允许我们修改服务器端代码、自定义传感器以及集成新的地图和资产。
本文将详细介绍如何在 Ubuntu 22.04 系统下,从零开始编译安装 CARLA 0.9.15 及其依赖的 Unreal Engine 4.26


🛠️ 一、 硬件与系统准备

在开始之前,请确保你的机器满足以下要求,否则编译过程大概率会失败:

  • 操作系统:Ubuntu 22.04 LTS
  • 磁盘空间至少 150GB 空闲空间(编译UE4和CARLA会产生大量中间文件)。
  • 内存:建议 32GB RAM
  • 显卡:推荐 6GB 显存以上的 NVIDIA 显卡,并已安装好驱动。

1.1 安装基础依赖

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

1.2 安装兼容性配置

sudo apt-add-repository "deb http://archive.ubuntu.com/ubuntu focal main universe"
sudo apt-get update
sudo apt-get install build-essential clang-10 lld-10 g++-7 cmake ninja-build libvulkan1 python python3 python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev git git-lfs
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 180 &&
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 180

1.3 配置 Python 依赖

建议使用 Conda 管理 Python 环境,避免污染系统环境。

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

🎮 二、 编译 Unreal Engine 4.26

CARLA 是基于虚幻引擎(Unreal Engine)开发的,我们需要使用 CARLA 官方 fork 的特定版本 UE4。

2.1 获取源码权限

关键步骤:你必须先注册一个 Epic Games 账号,并将其与你的 GitHub 账号关联

  • 如果未关联,访问下面的仓库链接会显示 404 错误。

2.2 克隆仓库

# 创建工作目录
cd ~
# 克隆 CARLA 定制的 UE4 仓库
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26

2.3 编译引擎

这一步耗时较长(取决于网速和CPU核心数),请耐心等待。

cd ~/UnrealEngine_4.26

# 1. 安装依赖与设置环境
./Setup.sh

# 2. 生成工程文件
./GenerateProjectFiles.sh

# 3. 开始编译
make

提示:如果 ./Setup.sh 下载速度过慢,请检查网络环境,或自行配置代理。

2.4 验证安装

编译完成后,检查引擎是否能正常启动:

cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

如果成功弹出了虚幻引擎的编辑器窗口,说明 UE4 安装成功。关闭窗口继续下一步。


🚗 三、 编译 CARLA 0.9.15

3.1 克隆 CARLA 源码

回到工作目录,克隆 CARLA 仓库:

cd ~
sudo apt-get install aria2 # 先安装aria2加速下载
git clone -b 0.9.15 https://github.com/carla-simulator/carla
cd carla

3.2 下载资源包 (Content)

修改Update.sh文件,大约在第50行
原来的:

CONTENT_LINK=http://carla-assets.s3.amazonaws.com/${CONTENT_ID}.tar.gz

替换为:

CONTENT_LINK=https://carla-assets.s3.us-east-005.backblazeb2.com/${CONTENT_ID}.tar.gz

不然会有如下问题:

Download aborted. URI=http://carla-assets.s3.amazonaws.com/20221201_5ec9328.tar.gz Exception: [AbstractCommand.cc:351] errorCode=3 URI=http://carla-assets.s3.amazonaws.com/20221201_5ec9328.tar.gz -> [HttpSkipResponseCommand.cc:218] errorCode=3 Resource not found

之后执行如下指令,CARLA 需要下载约几 GB 的资产包。

./Update.sh

3.3 设置环境变量

告诉 CARLA 你的 UE4 安装在哪里。打开 ~/.bashrc 添加:

export UE4_ROOT=~/UnrealEngine_4.26

然后执行 source ~/.bashrc

3.4 编译 CARLA

分为两个主要步骤:编译 Python API 和 编译服务器。

1. 编译 Python API

定位到CARLA源代码目录下的Util/BuildTools/Setup.sh文件
找到大约第94行的Boost下载命令
将原有的下载地址:

wget "https://boostorg.jfrog.io/artifactory/main/release/${BOOST_VERSION}/source/${BOOST_PACKAGE_BASENAME}.tar.gz" || true

修改为:

wget "https://archives.boost.io/release/${BOOST_VERSION}/source/${BOOST_PACKAGE_BASENAME}.tar.gz" || true

不然会出现如下错误信息:

Setup.sh: Extracting boost for Python 3.
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
make: *** [Util/BuildTools/Linux.mk:142: setup] Error 2

此外,还要更改一处链接
将原来的:

LIBPNG_REPO=https://sourceforge.net/projects/libpng/files/libpng16/${LIBPNG_VERSION}/libpng-${LIBPNG_VERSION}.tar.xz

替换为:

LIBPNG_REPO=https://sourceforge.net/projects/libpng/files/libpng16/older-releases/${LIBPNG_VERSION}/libpng-${LIBPNG_VERSION}.tar.xz

接下来编译 Python API:

make PythonAPI

中间可能会多次因为网络原因断掉,不断重试即可。

成功后,会在 PythonAPI/carla/dist/ 下生成 .egg.whl 文件。

2. 编译服务器 (Launch)
这一步会将 CARLA 导入到 UE4 编辑器中并进行编译。

make launch

首次运行 make launch 会非常慢,因为它需要编译着色器(Shaders)和构建 C++ 类。成功后,UE4 编辑器会自动打开,并加载了 CARLA 的工程。


🕹️ 四、 运行与测试

打开一个新的终端,激活你的 Python 环境,运行示例脚本:

# Terminal A 
cd PythonAPI/examples
python3 -m pip install -r requirements.txt
python3 generate_traffic.py  
 
# Terminal B
cd PythonAPI/examples
python3 dynamic_weather.py 

如果场景里出现了会动的小车,恭喜你!CARLA 0.9.15 源码编译安装成功!🎉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值