Ubuntu18.04安装Carla 记录

Posted 小洁癖Jieie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu18.04安装Carla 记录相关的知识,希望对你有一定的参考价值。

官方文档:CARLA Simulator

方式一:简单快速安装,该方式有缺陷。需要使用虚幻引擎编辑器的高级定制和开发选项不可用。

Advanced customization and development options that require use of the Unreal Engine editor are not available but these can be accessed by using the build version of CARLA for either Windows or Linux.

参考文章:CARLA 笔记(02)— Ubuntu 安装 CARLA(服务端、客户端、安装 miniconda、创建虚拟环境、更换 pip 源、生成交通流、人工控制车辆按键)_wohu1104的博客-CSDN博客_ubuntu安装carla

使用方式一安装顺风又顺水,步骤5.1生成交通流时,运行下面命令时有报错,重新运行一下该命令最后就好了。

python -m pip install -r requirements.txt 

方式二:Linux build - CARLA Simulator官方教程

此方式需要梯子,网速要够快,需要安装Unreal Engine,关联UE账号(本人用谷歌账号注册的,目前谷歌账号不大好搞)和GitHub账号(程序员要有呀),git下载CARLA    ,安装与测试。

安装过程中各种bug,随心记录了,随心总结一下各个大佬提到问题

python版本会影响;UE和CARLA版本也需要对应(UE4.24和CARLA0.9.9/10/11对应,UE4.26和CARLA0.9.13对应,官网应该有对应说明);
 安装测试完UnrealEngine后

把UnrealEngine的路径加到bashrc里面

打开文件:

sudo vim ~/.bashrc

在末尾加上下面这句,然后保存

export UE4_ROOT=~/UnrealEngine_4.24

然后更新

source ~/.bashrc

然后测试:

make PythonAPI
make launch

make launch报错UE4_ROOT is not defined,教程:在Carla文件夹下相应文件添加地址

Carla编译make launch过程中出现UE4_ROOT is not defined_同学醒醒放学了的博客-CSDN博客_buildcarlaue4.sh: error: ue4_root is not defined,

我的问题没有解决,我的gpg也有问题,各自bug记录不过来了/哭哭,最后发现还是官方教程yyds

重装系统啦,前面步骤都按照官网教程来,比较顺利,到了make PythonAPI有bug了,注意python2与3的编译命令不同。

--2022-12-13 07:59:51--  https://ftp.cixug.es/apache//xerces/c/3/sources/xerces-c-3.2.3.tar.gz
正在解析主机 ftp.cixug.es (ftp.cixug.es)... 193.144.61.75
正在连接 ftp.cixug.es (ftp.cixug.es)|193.144.61.75|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 404 Not Found
2022-12-13 07:59:52 错误 404:Not Found。

Util/BuildTools/Linux.mk:137: recipe for target 'setup' failed
make: *** [setup] Error 8

打开了https的网址,发现问题,已经没有3.2.3版本了,都是3.2.4了(有看到网上文章说,不要使用自己下载连接对应文件的方式解决问题),所以本人尝试了修改脚本文件

/carla/Util/BuildTools/Setup.sh文件修改libxerces 3.2.3为3.2.4

 new bug:

CMake Error at CMakeLists.txt:22 (cmake_minimum_required):
  CMake 3.12.0 or higher is required.  You are running version 3.10.2
-- Configuring incomplete, errors occurred!
Util/BuildTools/Linux.mk:137: recipe for target 'setup' failed
make: *** [setup] Error 1

升级cmake版本,请教了一下认识的大佬,大佬说推荐使用ppa方式升级。搜索camke ppa升级。

删除carla文件下的Build文件,然后重新编译make PythonAPI。另外大佬给了一条建议不要随便使用sudo,例如make PythonAPI就不要使用sudo

new bug:

CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Failed to find XercesC (missing: XercesC_VERSION)
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.25/Modules/FindXercesC.cmake:112 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:71 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/pilot/carla/Build/libosm2dr-build/CMakeFiles/CMakeOutput.log".
Util/BuildTools/Linux.mk:152: recipe for target 'osm2odr' failed
make: *** [osm2odr] Error 1

下载了libxerces 3.2.4,但是每次还是去找3.2.3版本,网上教材教了一招,

把在路径下carla/Build下的xerces-c-3.2.4-install复制一份,重命名为xerces-c-3.2.3-install

make PythonAPI error "Failed to find XercesC (missing:XercesC_VERSION)"CARLA安装时make PythonAPI遇到错误 - 知乎

终于见到了success

BuildPythonAPI.sh: Success!

有bug多搜搜,github上的issue里有不少解决方案去试试看吧,希望大家都能顺利安装。

 方式二有参考下面教程:

1、知某乎参考了这个,这个作者干货挺多,有Carla一系列教程,git上也有干货。

史上最全Carla教程 |(二)Carla安装 - 知乎

2、csdn有参考下面两篇文章。

Ubuntu18.04配置carla0.9.11踩坑与解决方法总结,同时解决安装carla-ros-bridge遇到的问题,并复现OpenCDA成功与ros关联_kxk_ustc的博客-CSDN博客_buildcarlaue4.sh: error: ue4_root is not defined,

Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版_jl_sjtu的博客-CSDN博客_carla ubuntu

Ubuntu18.04配置carla0.9.11踩坑与解决方法总结,同时解决安装carla-ros-bridge遇到的问题,并复现OpenCDA成功与ros关联_kxk_ustc的博客-CSDN博客_import carla

Ubuntu18.04安装Carla0.9.12

参考教程

官方编译文档:Linux build - CARLA Simulator

Ubuntu 18.04 安装CARLA

Ubuntu18.04源码编译Carla0.9.13保姆级教程

Ubuntu16.04升级python3.6,并解决ppa:jonathonf拒绝访问

物理环境

cpu:i5-8500

内存:16g

显卡:1660

一、环境准备

安装NVIDIA驱动(显卡 K5000)

sudo ubuntu-drivers autoinstall

安装 vulkan-sdk

wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add -
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list
sudo apt update
sudo apt install vulkan-sdk

安装依赖

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 &&
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 git

修改clang版本以便于配合Unreal Engine

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

安装python3.6(可以安装自己想要的版本,已经安装过的可以跳过这步)

添加ppa仓库

sudo add-apt-repository ppa:jonathonf/python-3.6

如果显示Cannot add PPA: ‘ppa:~jonathonf/ubuntu/python-3.6’. The user named '~jonatho…,尝试以下命令

sudo add-apt-repository ppa:deadsnakes/ppa

成功之后,升级apt索引,更新python

sudo apt-get update
sudo apt-get install python3.6

然后,更新系统默认的软连接命令Python3到新的Python3.6,注意,这一步是让Python3默认为3.6

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2

然后还要更改默认值,Ubunt16.04的python默认为Python2,现在修改为Python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

安装CARLA Python API (下面这个都装或者装一个都行,有报错好像也是无关紧要,跳过即可)注册 GitHub(如果没有的话)和 UE 账户, 并将他们链接起来

# For Python 3
pip3 -V

# For Python 2
pip -V
# For Python 3
pip3 install --upgrade pip

# For Python 2
pip install --upgrade pip
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

注册 GitHub(如果没有的话)和 UE 账户, 并将他们链接起来

Unreal Engine(虽然是英文版,但是按这个操作还是没问题的)

克隆Unreal Engine 4.26到电脑上

git clone --depth 1 -b carla https://github.com/CarlaUnreal/UnrealEngine.git ~/UnrealEngine_4.26

然后会提示输账号密码,账号是github的账号,密码是token,需要生成。

Github生成Token

后续操作(其中第二步编译建议使用 make -j[N]的形式加快编译速度,例如我是六核cpu,就写 ./Setup.sh && ./GenerateProjectFiles.sh && make -j12)

cd ~/UnrealEngine_4.26
./Setup.sh && ./GenerateProjectFiles.sh && make
cd ~/UnrealEngine_4.26/Engine/Binaries/Linux && ./UE4Editor

这几步大概需要编译1小时左右,最后会出现Unreal Engine。

二、Build Carla

加速编译

 sudo apt-get install aria2

克隆carla到计算机

git clone https://github.com/carla-simulator/carla

获取carla资源

cd ~/carla
./Update.sh

设置环境变量

gedit ~/.bashrc
export UE4_ROOT=~/UnrealEngine_4.26 

启动客户端(半个小时左右,这里如果报错说

The TLS connection was non-properly terminated.。

recipe for target ‘setup’ failed

是git网站不稳定的原因,多执行几遍就行。)

make PythonAPI

也可以选择安装特定的PythonAPI

make PythonAPI ARGS="--python-version=2.7, 3.6, 3.7, 3.8"

编译服务器(半个小时左右)

make launch

启动成功之后,点击Unreal Engine 里的“启动”图标,然后新开两个终端,分别输入以下代码:

        # 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 

然后如果出现车辆,天气,那么安装成功。

安装过程中如果遇到问题欢迎留言。

以上是关于Ubuntu18.04安装Carla 记录的主要内容,如果未能解决你的问题,请参考以下文章

自动驾驶7-1 CARLA 安装指南

Ubuntu18.04安装Carla0.9.12

Carla 安装详细教程 —— Ubuntu 20.04 安装 Carla

Ubuntu18.04配置carla0.9.11踩坑与解决方法总结,同时解决安装carla-ros-bridge遇到的问题,并复现OpenCDA成功与ros关联

Ubuntu18.04源码编译Carla0.9.13保姆级教程

自动驾驶模拟软件Carla---环境搭建和编译