(一)准备工作
之前一直用carla的release版本,最近正好有比赛要用carla,就希望安装一个build版本,安装时间用了一下午,其中有几个坑,走过填一下,方便之后再弄忘了。
首先附上官网连接:Carla-simulator Linux build官网链接
我们是在Ubuntu20.04的环境下安装Carla,所以我们需要安装好所有环境即依赖
1. 安装Python
因为我之后要用的python环境是3.7,这里我就是用的是3.7,当然也可以用3.8、3.9这个看后续需求。
conda安装:
conda create -n carla python=3.7
在线安装:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.7
python3.7 --version
2.安装软件依赖
这里carla官方给出的说法是:
CARLA 需要许多不同类型的软件才能运行。有些软件是在 CARLA 编译过程中构建的,如Boost.Python。其他则是在开始联编之前需要安装的二进制文件(cmake、clang、不同版本的 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
我用的ubuntu20.04,还需要:
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 180
3.查看pip的版本
对于pip的要求,carla官方给出的是:
pip or pip3. Version 20.3 or higher is required
如果你是用的conda来安装的那么pip版本应该是22.3.1是肯定没问题的,但是如果你使用的是在线安装,那么版本不够的话,先查看当前版本是多少:
# For Python 3
pip3 -V
# For Python 2
pip -V
然后更新
# For Python 3
pip3 install --upgrade pip
4.安装依赖
You must install the following Python dependencies:
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
(二)安装UnrealEngine
因为carla是基于UE4引擎进行开发的,所以在安装Carla前最重要的一步就是要安装并编译UE4,本次我们安装的为carla0.9.13,与之对应的引擎版本为UnrealEngine4.26(0.9.14好像也是)。
1.注册一个Unreal Engine账号
点击右上角有一个小人标志,注册
2.接下来要完成Github和UnrealEngine的关联
点击小人标志有三个选项:1.account 2. seller 3. sign out
选择account
然后选择:
跟着页面提示的6个步骤然后实现github账号和UE账号的关联
重点来了:再回到epic games的github页面,上面有一个follow的button一定要点,之前注册和关联就是为了这个button,点击follow,然后就会变成这个效果:
如果这里没有点击,就不显示UE4源码仓库,无法git clone下载,然后向下滑动来查看你是否能看到如下一个叫做UnrealEngine的repo,如果能,说明你关联成功了。
3. 安装UE4引擎
1.将 CARLA 的虚幻引擎 4.26 分支的内容克隆到本地计算机上:
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
2.导航到克隆版本库的目录:
cd ~/UnrealEngine_4.26
3.进行构建。这可能需要一两个小时,取决于你的系统:
./Setup.sh && ./GenerateProjectFiles.sh && make
4.(测试)打开编辑器检查虚幻引擎是否已正确安装:
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor
安装完,要把UnrealEngine的路径添加到~/.bashrc中:sudo gedit ~/.bashrc
打开在最后一行添加:UE4_ROOT=~/UnrealEngine_4.26
最后:source ~/.bashrc
(三)安装CARLA
(选用)carla官方推荐用aria2
下载会更快,安装指令为sudo apt-get install aria2
这里就不使用github下载安装包的方式了,直接使用源码编译安装
0.9.13版本的安装指令为:
git clone -b 0.9.13 https://github.com/carla-simulator/carla.git
git克隆完了之后就是:
cd ~/carla
./Update.sh
这里我的./Update.sh
报错:
具体的原因呢就是carla官方移动分支了,我们手动下载一下:
#You can directly obtain development assets in the carla root directory, then skip update.sh and make launch directly
git clone https://bitbucket.org/carla-simulator/carla-content Unreal/CarlaUE4/Content/Carla
然后就可以了,再进行Make Carla Python API,编译pythonAPI,输入:
make PythonAPI
成功的截图是这个样子:
进行最后一步:
make launch
make launch之后的结果如图所是:
之后Start the simulation:
:
# 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官方给的examples,不过一定要安装依赖哦