CARLA是用于自动驾驶研究的开源模拟器。CARLA是从零开始开发的,旨在支持自动驾驶系统的开发,训练和验证。除了开源代码和协议,CARLA还提供了为此目的而创建且可以免费使用的开放数字资产(城市布局,建筑物,车辆)。该仿真平台支持传感器套件的灵活规范,环境条件,对所有静态和动态参与者的完全控制,地图生成等等。
如果您希望在与我们的CoRL’17论文相同的条件下对模型进行基准测试,请查看基准测试。
相关资料:
与CARLA仿真平台相关的存储库:
喜欢你看到的吗?在GitHub上为我们加注星标以支持该项目!
如果您使用CARLA,请引用我们的CoRL’17论文。
CARLA: An Open Urban Driving Simulator
Alexey Dosovitskiy, German Ros, Felipe Codevilla, Antonio Lopez, Vladlen Koltun; PMLR 78:1-16 [PDF] [talk]
@inproceedings{Dosovitskiy17,
title = {{CARLA}: {An} Open Urban Driving Simulator},
author = {Alexey Dosovitskiy and German Ros and Felipe Codevilla and Antonio Lopez and Vladlen Koltun},
booktitle = {Proceedings of the 1st Annual Conference on Robot Learning},
pages = {1–16},
year = {2017}
}
使用git clone或从此页面下载项目。请注意,master
分支包含最新的修补程序和功能,最新的稳定代码可能最好切换到stable
分支。
然后按照“如何在Linux上构建或如何在Windows上构建”中的说明进行操作。
不幸的是,我们还没有在Mac上构建的正式说明,请检查问题#150的进度。
注意:CARLA需要Ubuntu 16.04或更高版本。
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-7 main"
sudo apt-get update
sudo apt-get install build-essential clang-7 lld-7 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng16-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync
pip2 install --user setuptools
pip3 install --user setuptools
提示:对于Ubuntu 18.04,将上一个示例中的libpng16-dev
更改为libpng-dev
。
为了避免Unreal Engine和CARLA依赖项之间的兼容性问题,最好的配置是使用相同的编译器版本和C++运行时库编译所有内容。我们使用clang 6.0和LLVM的libc++。我们建议更改默认的clang版本以编译Unreal Engine和CARLA依赖项
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-7/bin/clang++ 170
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-7/bin/clang 170
注意:Unreal Engine存储库设置为私有。为了获得访问权限,您需要在 www.unrealengine.com 上注册时添加GitHub用户名。
下载并编译Unreal Engine 4.22。在这里,我们假设您将其安装在~/UnrealEngine_4.22
上,但是您可以将其安装在任何位置,只需在必要时替换路径即可。
git clone --depth=1 -b 4.22 https://github.com/EpicGames/UnrealEngine.git ~/UnrealEngine_4.22
cd ~/UnrealEngine_4.22
./Setup.sh && ./GenerateProjectFiles.sh && make
如果以上任何步骤失败,请查看Unreal的文档“Building on Linux”。
从我们的GitHub存储库克隆或下载项目
git clone https://github.com/carla-simulator/carla
现在您需要下载资产包,为此,我们提供了一个方便的脚本来下载并提取最新版本。
注意:此包的大小为3GB以上,此步骤可能需要一些时间,具体取决于您的连接。
提示:(可选)您可以下载aria2(使用sudo apt-get install aria2
),因此以下命令将利用它,并且运行速度会更快。
./Update.sh
为了让CARLA找到您的Unreal Engine的安装文件夹,您需要设置以下环境变量:
export UE4_ROOT=~/UnrealEngine_4.22
您也可以将此变量添加到~/.bashrc
或~/.profile
中。
现在已经建立了环境,您可以使用make运行不同的命令并构建不同的模块:
make launch # Compiles the simulator and launches Unreal Engine's Editor.
make PythonAPI # Compiles the PythonAPI module necessary for running the Python examples.
make package # Compiles everything and creates a packaged version able to run without UE4 editor.
make help # Print all available commands.
我们的3D资产,模型和地图也有一个公开可用的git存储库。我们定期将最新更新推送到此存储库。但是,仅建议开发人员使用此版本的内容,因为我们经常有正在进行的工作图和模型。
处理该存储库需要在您的计算机中安装git-lfs。将此存储库克隆到Unreal/CarlaUE4/Content/Carla
:
git lfs clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUE4/Content/Carla
建议使用git lfs clone
进行克隆,因为这在旧版本的git中明显更快。
如果您遇到问题,请查看我们的常见问题解答。
CARLA特定代码在MIT许可下分发。
CARLA特定资产根据CC-BY许可进行分配。
由RSS Integration build variant编译和链接的ad-rss-lib库引入了仅限LGPL-2.1的许可。
请注意,UE4本身遵循其自己的许可条款。
注:开源协议非常重要,后期如果商用一定要遵守协议才行。