基础环境
显卡:Nvidia4070Tis
内存:64G
SSD:1T
GPU:16G
Ubuntu 22.04
Python 3.10
环境配置
注意:为了可持续发展,建议在Anaconda环境里安装配置(我们创建了一个Pyhon3.10的环境,亲测有效)
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
2.Ubuntu22.04兼容性配置
为了避免虚幻引擎和CARLA依赖项之间的兼容性问题,请使用相同的编译器版本和C++运行时库来编译所有内容。.Ubuntu22.04版本按照如下命令配置
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
3.更新pip
# For Python 3
pip3 -V
4.升级pip
如果不是最新版pip,可以升级一下,命令如下
# For Python 3
pip3 install --upgrade pip
5.安装以下 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
虚拟引擎
1.账号关联
虚拟引擎账户关联GitHub账号参考官网,链接如下,注意两边要互相确认后才算关联成功
太慢?后面只要和git有关都请科学上网
2.下载CARLA 的虚幻引擎 4.26
git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26
这里可能会遇到git账户鉴权失败的问题,因为现在git的密码不是你设置的密码,是和虚拟引擎关联账户的git账号对应的token,token查找方式可以参考:
1)进入GitHub账号
2)设置
左侧点击 developer setting->Personal access tokens->Tokens(classic)
3)生成token,注意选择repo 最后下滑点击绿色按钮生成
4)复制生成的token码即可
3.进入虚拟引擎
cd ~/UnrealEngine_4.26
4.构建UE4
./Setup.sh && ./GenerateProjectFiles.sh && make
如果构建过程出现register unreal engine five types窗口,直接关闭即可
5.检查虚幻引擎
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor
命令正确执行并能打开如下窗口表示构建成功
6.设置虚幻引擎环境变量
1)打开 .~/.bashrc或者./profile
gedit ~/.bashrc
# or
gedit ~/.profile
2)在文件底部添加以下行
export UE4_ROOT=~/UnrealEngine_4.26
3)保存文件并重置终端
注意:以上步骤完成后,关闭当前命令行,重开一个新的命令行继续下面的操作
安装CARLA
1.下载加速命令
sudo apt-get install aria2
2.克隆 CARLA 存储库
git clone https://github.com/carla-simulator/carla
下载太慢?请科学上网!
3.获取资产
打开下载文件的根目录,在 CARLA 根文件夹中运行以下命令
cd ~/carla
./Update.sh
构建Carla
注意:下面所有命令都应在根 CARLA 文件夹中运行。
————-——————大坑开始——————————
1. 编译 Python API 客户端:
make PythonAPI
或者添加加上自己的指定Python版本,这里我们指定为3.10
make PythonAPI ARGS="--python-version=2.7, 3.6, 3.7, 3.8, 3.10"
比如用3.10就输入以下命令行
make PythonAPI ARGS="--python-version=3.10"
这里列一下我们遇到的错误
错误1:
解决1:
输入 查看g++/gcc版本
clang -v
基于输出我们发现clang选择的是gcc/g++ version 12,并且在对应的/usr/lib/gcc/x86_64-linux-gnu/12文件夹中,并没有libstdc++.a,所以我们用以下命令安装libstdc++.a文件
sudo apt install g++-12
再次打开对应文件夹,出现该文件
2.检查编译
编译完成后如下图所示
进入./carla/PythonAPI/carla/dist文件夹下检查是否生成这两个文件(.egg和.whl),存在则编译成功
3.编译服务器
make launch
模拟测试
重开一个命令行,开始模拟测试。
1.进入PythonAPI\examples文件夹下
# 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
运行结果如下:
# Terminal A
场景里出现了会动的小车
# Terminal B
这个会有动态天气变化
后期错误笔记:
一周之后有一天打开CARLA,make launch时出现如下报错:
fatal: 无法访问 'https://github.com/carla-simulator/StreetMap.git/':Failed to connect to github.com port 443 after 130271 ms: 连接超时
make: *** [Util/BuildTools/Linux.mk:163:downloadplugins] 错误 128
检查后发现是网络问题,但是尝试了很多方法(核心都是禁用http和https代理)均失败
最后在电脑网络设置里将代理改为手动设置
设置完后在终端输入下面命令即可
git config --global http.proxy http://127.0.0.1:7897
这里7897是电脑默认的端口,网上很多是7890,如果你的电脑有自己的默认设置端口号,可以先保持默认端口
之后可以在终端输入git config --global -l 加以检验是否设置成功