如果你使用的是 Windows 系统,那么我强烈建议换成 Linux 系统的电脑进行自动驾驶方向的研究。虽然 Carla 也支持 Windows Build, 但是后续要用到 ROS 和 Autoware 的时候还用 Windows 可能会出各种兼容问题。
CARLA 可以使用 Pre-comiled 版本,但是在这里我是打算 build from source. 为什么呢?一个是方便未来自己修改 carla 内部代码,实现更 customized 的功能,另外 build from source 往往会给你更多的错误提示。
# 系统配置要求
- Ubuntu 14.04/16.04/18.04. Ubuntu 20.04 也可以 Build Carla, 不过
Autoware
不支持,所以不建议使用该版本。 - Nvidia Drvier 提前安装好,并且电脑配置一个至少 3G 的 GPU.
- Clang
- 网络连接良好
- 硬盘里至少预存 100G 空间
# 安装依赖包
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/$(lsb_release -c --short)/ llvm-toolchain-$(lsb_release -c --short)-8 main" && | |
sudo apt-get update |
Note: 如果你 sudo apt-get update
时出现 404
之类的错误,建议参考以下两个链接
如果你使用的是 Ubuntu18.04, 还要额外输入以下指令:
sudo apt-get install build-essential clang-8 lld-8 g++-7 cmake ninja-build libvulkan1 python python-pip python-dev python3-dev python3-pip libpng-dev libtiff5-dev libjpeg-dev tzdata sed curl unzip autoconf libtool rsync libxml2-dev && | |
pip2 install --user setuptools && | |
pip3 install --user setuptools |
# 环境配置
我们要保证 CARLA
和它的引擎 UNREALENGINE
用的是一个版本的 Clang
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/lib/llvm-8/bin/clang++ 180 && | |
sudo update-alternatives --install /usr/bin/clang clang /usr/lib/llvm-8/bin/clang 180 |
把你的 Github
和 UnrealEngine
连接到一起。因为 UnrealEngine
的 repo
是 private
的,如果你的 github
没有连接到一起,是无法下载引擎 Repo
的
- 安装 git:
sudo apt install git |
- 注册一个
UnrealEngine
的帐号:
https://www.unrealengine.com/zh-CN/feedwww.unrealengine.com - 将你的
Github
与UnrealEngine
关联,具体如下:
使用经过验证的Epic Games
帐户登录 www.unrealengine.com,单击网站标题栏中的用户名,然后选择个人选项。
从菜单中选择连接的帐户。
单击GitHub
图标下方的连接按钮。
查看《虚幻引擎最终用户许可协议》并选中对应复选框接受该协议,然后单击关联您的帐户按钮(如果已经接受了最新版本的《虚幻引擎最终用户许可协议》,则不会显示该提示)。
登录现有GitHub
帐户 - 单击授权按钮,完成关联流程
在进行下一步之前,进入 https://github.com/EpicGames - Connect to preview 来查看你是否能看到一个叫做UnrealEngine
的repo
, 如果能,说明你关联成功了。
# 安装 Unreal 引擎
git clone --depth=1 -b 4.24 https://github.com/EpicGames/UnrealEngine.git ~/UnrealEngine_4.24 | |
cd ~/UnrealEngine_4.24 | |
./Setup.sh && ./GenerateProjectFiles.sh && make |
检查 Unreal
引擎是否工作
cd ~/UnrealEngine_4.24/Engine/Binaries/Linux && ./UE4Editor |
Clone Carla Github
, 在这个教程里我将使用 0.9.10
版本。
cd ~ | |
git clone https://github.com/carla-simulator/carla | |
cd ~/carla | |
git checkout tags/0.9.10 -b <branch_name> | |
./Update.sh |
把 UnrealEngine 的路径加到 bashrc
里面
export UE4_ROOT=~/UnrealEngine_4.24 |
# 安装与测试
Make Carla Python API
make PythonAPI | |
make launch |
make launch
第一次初始化会时间长一些,之后好很多。如果 Make
成功,一个 GUI 就会弹出来,就是我们的仿真界面啦!开始之前记得点 Play
!
不要刚才弹出的界面关掉,另开一个 terminal
, 输入以下指令。如果一切都顺利,你应该看到和下图比较类似的情形。
cd ~/carla/PythonAPI/examples | |
python3 automatic_control.py |
# 常见问题
Q1:为什么找不到 CarlaUE4.sh?
Answer: 因为只有 precompiled
版本才有,我们 build from source
是木有的。执行以下指令等同于直接使用 CarlaUE4.sh
:
$ cd Unreal/CarlaUE4 | |
$ ~/UnrealEngine_4.XX/Engine/Binaries/Linux/UE4Editor "$PWD/CarlaUE4.uproject" |
Q2: 为什么我运行 python3 automatic_control.py 的时候会自己terminated?
Answer: make Launch
或者执行 ~/UnrealEngine_4.XX/Engine/Binaries/Linux/UE4Editor "$PWD/CarlaUE4.uproject"
后,你没有点击图形界面上绿色三角 “Play" 按钮
Q3:我的电脑明明很强大,为什么在玩automatic_control的时候server fps 只有3fps?
Answer: GO Editor->Preference->Performance->uncheck “use less cpu while in background”