Windows 构建

本指南详细介绍了如何在 Windows 上从源代码构建 CARLA。有两个部分。第一部分详细介绍系统要求和所需软件的安装,第二部分详细介绍如何实际构建和运行 CARLA。
构建过程很长(4小时或更长时间)并且涉及多种软件。强烈建议在开始之前完整阅读该指南。
如果遇到错误或困难,请查看常见问题解答页面,其中提供了最常见问题的解决方案。或者,使用CARLA 论坛发布您可能有的任何疑问。
目录

第一部分:先决条件

在本节中,您将找到开始构建 CARLA 之前所需的系统要求、次要和主要软件安装以及 Python 依赖项的详细信息。

系统要求

警告
如果您要从 CARLA 0.9.12 升级到 0.9.13:您必须首先将 UE4 引擎的 CARLA 分支升级到最新版本。有关升级 UE4 的详细信息,请参阅虚幻引擎部分

软件要求

最小安装

重要的
确保将上述程序添加到环境路径中。请记住,添加的路径应与程序的bin目录相对应。

Python 依赖项

从 CARLA 0.9.12 开始,用户可以选择使用pip3. 需要 20.3 或更高版本。要检查您是否有合适的版本,请运行以下命令:
pip3 -V
如果您需要升级:
pip3 install --upgrade pip
必须安装以下 Python 依赖项:
pip3 install --user setuptools
pip3 install --user wheel
主要安装
Visual Studio 2019
此处获取 2019 版 Visual Studio 选择社区作为免费版本。使用Visual Studio 安装程序安装三个附加元素:
重要的
其他 Visual Studio 版本可能会导致冲突。即使这些已被卸载,某些寄存器也可能仍然存在。要从计算机中彻底清除 Visual Studio,请转到Program Files (x86)\Microsoft Visual Studio\Installer\resources\app\layout并运行.\InstallCleanup.exe -full

虚幻引擎

从版本 0.9.12 开始,CARLA 使用虚幻引擎 4.26 的修改版。该分支包含 CARLA 特定的补丁。
请注意,要下载虚幻引擎的这个分支,需要有一个链接到虚幻引擎帐户的 GitHub 帐户如果您没有进行此设置,请先按照本指南进行操作,然后再继续操作。
要构建虚幻引擎的修改版本:
1.在终端中,导航到要保存虚幻引擎的位置并克隆carla分支:
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git .

笔记

尽可能靠近虚幻引擎文件夹,C:\\因为如果路径超过一定长度,则会Setup.bat在步骤 3 中返回错误。
2.运行配置脚本:
Setup.bat
GenerateProjectFiles.bat
3.编译修改后的引擎:
  1. 使用 Visual Studio 2019 打开 UE4.sln 源文件夹内的文件。
  2. 在构建栏中,确保您已选择“Development Editor”、“Win64”和“UnrealBuildTool”选项。如果您需要任何帮助,请查看本指南。
  3. 在解决方案资源管理器中,右键单击UE4并选择Build
4.编译解决方案后,您可以打开引擎,通过启动可执行文件 Engine\Binaries\Win64\UE4Editor.exe 来检查所有内容是否已正确安装。
笔记
如果安装成功,虚幻引擎的版本选择器应该能够识别。可以通过右键单击任何.uproject文件并选择 来检查这一点Switch Unreal Engine version您应该会看到一个弹出窗口,显示Source Build at PATHPATH 是您选择的安装路径。Generate Visual Studio project files如果您在右键单击文件时看不到此选择器.uproject,则虚幻引擎安装出现问题,您可能需要重新正确安装。
重要
到目前为止发生了很多事情。强烈建议在继续之前重新启动计算机。

第二部分:构建 CARLA

克隆 CARLA 存储库

上面的按钮将带您进入该项目的官方存储库。从那里下载并在本地提取它或使用以下命令克隆它:
git clone https://github.com/carla-simulator/carla
笔记
master分支包含 CARLA 的当前版本以及最新的修复和功能。以前的 CARLA 版本标有版本名称。永远记住使用命令检查 git 中的当前分支git branch

获取资产

通过在 CARLA 根文件夹中运行以下命令,下载最新的资产以使用当前版本的 CARLA:
Update.bat
如果安装了 7zip,资源将被下载并解压到适当的位置。如果没有安装此软件,则需要手动将文件内容解压到 Unreal\CarlaUE4\Content\Carla.
要下载特定版本 CARLA 的资源:
  1. 从 CARLA 根目录,导航到 \Util\ContentVersions.txt. 本文档包含所有 CARLA 版本的资产链接。
  2. 提取 Unreal\CarlaUE4\Content\Carla 中的资产。如果该路径不存在,请创建它。
  3. 使用类似于以下内容的命令提取文件:
tar -xvzf <assets_file_name>.tar.gz.tar -C C:\path\to\carla\Unreal\CarlaUE4\Content\Carla

设置虚幻引擎环境变量

需要设置一个环境变量,以便 CARLA 可以找到虚幻引擎的安装文件夹。这允许用户选择要使用哪个特定版本的虚幻引擎。如果未指定环境变量,CARLA 将在 Windows 注册表中搜索虚幻引擎并使用在那里找到的第一个版本。
设置环境变量:
  1. 打开 Windows 控制面板,然后转至 Advanced System Settings 在 Windows 搜索栏中 Advanced System Settings 搜索。
  2. Advanced 面板上打开Environment Variables....
  3. 单击 New... 以创建变量。
  4. 为该变量命名 UE4_ROOT 并选择所需虚幻引擎安装的安装文件夹的路径。

建造 CARLA

本节概述了构建 CARLA 的命令。
CARLA 的构建过程分为两部分:编译客户端和编译服务器。

1. 编译Python API客户端

Python API 客户端授予对仿真的控制权。第一次构建 CARLA 时需要编译 Python API 客户端,并且在执行任何更新后需要再次编译。客户端编译完成后,将能够运行脚本与模拟进行交互。
以下命令编译 Python API 客户端:
make PythonAPI
CARLA 客户端库将以两种截然不同、互斥的形式构建。这使用户可以自由选择他们喜欢的形式来运行 CARLA 客户端代码。两种形式包括 .egg 文件和 .whl 文件。选择以下选项之一来使用客户端库
A、.egg文件
.egg 文件不需要安装。导入 CARLA 时,CARLA 的所有示例脚本都会自动查找此文件。
如果之前安装了 CARLA.whl,则 它将.whl优先于.egg文件。
B、.whl文件
.whl应使用以下命令安装该文件pip3
pip3 install <path/to/wheel>.whl
.whl文件无法分发,因为它是专门为当前的操作系统构建的。
警告
使用不同方法安装 CARLA 客户端库以及系统上安装不同版本的 CARLA 可能会出现问题。建议在安装时使用虚拟环境,.whl在安装新客户端库之前卸载任何以前安装的客户端库。

2. 编译服务器

以下命令编译并启动虚幻引擎。每次您想要启动服务器或使用虚幻引擎编辑器时运行此命令:
make launch
该项目第一次可能会要求构建其他实例,例如 UE4Editor-Carla.dll同意才能打开项目。在首次启动期间,编辑器可能会显示有关着色器和网格距离场的警告。这些需要一些时间来加载,在此之前地图将无法正确显示。

3. 开始模拟

“Play”开始服务器模拟。可以使用按键 WASD 移动相机,并通过在移动鼠标的同时单击场景来旋转相机。
使用里面的示例脚本测试仿真器 PythonAPI\examples在仿真器运行的情况下,为每个脚本打开一个新终端并运行以下命令以在城镇中产生一些生命并创建天气循环:
# 终端 A
cd PythonAPI\examples
pip3 install -r requirements.txt
python3 generate_traffic.py
# 终端 B
cd PythonAPI\examples
python3 dynamic_weather.py
重要
如果模拟以非常低的 FPS 速率运行,请转至“Edit -> Editor preferences -> Performance”虚幻引擎编辑器并禁用 Use less CPU when in background

其他 make 命令

还有更多make您可能会发现有用的命令。在下表中找到它们:

命令描述

make help 打印所有可用的命令。
make launch 在编辑器窗口中启动 CARLA 服务器。
make PythonAPI 构建 CARLA 客户端。
make LibCarla 准备将 CARLA 库导入到任何地方。
make package 构建 CARLA 并创建用于分发的打包版本(第一次编译花3个多小时,后面只编译改变的场景)。
make clean 删除构建系统生成的所有二进制文件和临时文件。
make rebuildmake clean 并且 make launch 两者都在一个命令中。
有关本指南的任何问题, 请阅读常见问题解答页面或在CARLA 论坛中发帖。
现在已经构建了 CARLA,接下来了解如何更新 CARLA 构建或在模拟中迈出第一步,并学习一些核心概念。