0x01 Carla简介
CARLA 是一个用于自动驾驶研究的开源模拟器。CARLA 从头开始开发,以支持自动驾驶系统的开发、培训和验证。除了开源代码和协议外,CARLA 还提供开放的数字资产(城市布局、建筑、车辆),这些资产是为此目的而创建的,可以自由使用。仿真平台支持对传感器套件和环境条件的灵活规范。目前最新的版本是0.9.13版本,具体细节可以参考一下目前发布于bilibili的视频。
https://www.bilibili.com/video/BV1PJ411W7pf?spm_id_from=333.337.search-card.all.click&vd_source=4778043b67930a145afa638b83f65423
值得一提的是,最早我采用的模拟器是LGSVL,因为其和Apollo6.0版本可以进行联合虚拟仿真,且目前网络资料较多,但是很不幸的是LGSVL停止了更新,最后的版本截止到了2020版,并且官网在2022年6月之后将不能保证一直开放。而Kevin师傅他们实验室目前所使用的虚拟仿真系统是基于Carla搭建的,在搭配罗技的方向盘,简直就是“侠盗猎车”炫酷感。除此之外,Carla支持ROS接口,这就意味着通过ROS的包,或许可以做更多属于未来的事情。
0x02 突出特点
- 通过服务器多客户端架构实现可扩展性:同一或不同节点中的多个客户端可以控制不同的参与者。
- 灵活的 API:CARLA 公开了一个强大的 API,允许用户控制与模拟相关的所有方面,包括交通生成、行人行为、天气、传感器等等。
- 自动驾驶传感器套件:用户可以配置多种传感器套件,包括激光雷达、多摄像头、深度传感器和 GPS 等。
- 规划和控制的快速模拟:此模式禁用渲染以提供不需要图形的交通模拟和道路行为的快速执行。
- 地图生成:用户可以通过RoadRunner等工具轻松地按照OpenDrive标准创建自己的地图。
- 交通场景模拟:我们的引擎ScenarioRunner允许用户根据模块化行为定义和执行不同的交通场景。
- ROS 集成:CARLA通过我们的ROS 桥提供与ROS的集成
- 自动驾驶基线:我们提供自动驾驶基线作为 CARLA 中的可运行代理,包括AutoWare代理和条件模仿学习代理。
相关的一些会谈可以参考Carla官网:http://carla.org/
0x03 系统配置要求
- Ubuntu 18.04(18之前的系统已经逐步淘汰了,安装个GNUradio都需要18以上的版本了),Ubuntu 20.04也可以部署Carla, 不过我本人不建议使用该版本。
- Nvidia Drvier 提前安装好,并且电脑配置一个至少3G的GPU.
- 网络连接良好
- 硬盘里至少预存100G空间
事实上目前我所用的ARM架构的电脑是不能部署Carla的,为此我想了很多的办法,第一个办法是基于搭载英伟达的服务器去进行部署,众所周知,这类虚拟仿真软件都是非常依赖强大的图形处理能力,看了下价格,,果断放弃。比我每月590RMB的服务器还要贵,第二种办法就是把我已经退休一年的雷神911air重新搬上历史的舞台,使得我在暑期的这一个月有的玩Carla。那在解决了这些问题之后,我就开始在我的退休电脑上来安装Carla了。我觉得叫他卡拉更舒服,哈哈哈哈~
0x04 部署Carla
第一件事情是去部署安装 NVIDIA GPU 驱动,安装如下(Ubuntu18):
1 2 3 4
| sudo apt-get update sudo apt-add-repository multiverse sudo apt-get update sudo apt-get install nvidia-driver-455
|
如果有使用Apollo的话,也需要安装GPU驱动,最好安装。。
输入 nvidia-smi
来校验 NVIDIA GPU 驱动是否在正常运行(可能需要在安装后重启系统以使驱动生效)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| king@king> nvidia-smi Mon Jan 25 15:51:08 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 460.27.04 Driver Version: 460.27.04 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 GeForce RTX 3090 On | 00000000:65:00.0 On | N/A | | 32% 29C P8 18W / 350W | 682MiB / 24234MiB | 7% Default | | | | N/A | +-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 1286 G /usr/lib/xorg/Xorg 40MiB | | 0 N/A N/A 1517 G /usr/bin/gnome-shell 120MiB | | 0 N/A N/A 1899 G /usr/lib/xorg/Xorg 342MiB | | 0 N/A N/A 2037 G /usr/bin/gnome-shell 69MiB | | 0 N/A N/A 4148 G ...gAAAAAAAAA --shared-files 105MiB | +-----------------------------------------------------------------------------+
|
安装完成之后,就可以正式开始安装了。
下载官方包,官方 Github
链接 https://github.com/carla-simulator/carla/blob/master/Docs/download.md 选择 0.9.13 版本。如下图:

下载之后解压carla文件夹。
1
| tar -xzvf CARLA_0.9.13.tar.gz
|

等待之后,解压完毕。然后我们将下载的 AdditionalMaps 放到
carla的import目录下,
1 2
| cd CARLA_0.9.13/ ./ImportAssets.sh
|
然后开始配置python环境,关闭防火墙,并添加python的一些库依赖,最绝望的莫过于,网络拒绝链接,

1
| cd CARLA ./ImportAssets.sh
|
即可运行虚拟仿真,此刻感觉显卡已经被拉满。
除此之外,还有另外一种安装方式,相比较于前面的更加靠谱,但是下载速度较慢可以参考。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| 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 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 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 Python依赖 创建carla python虚拟环境 conda create -n carla python=3.7 conda activate carla 需要提前部署安装conda pip install --user -Iv setuptools==47.3.1 && pip install --user distro && pip install --user wheel auditwheel pip install --user pygame numpy 下载carla wget https://carla-releases.s3.eu-west-3.amazonaws.com/Linux/Dev/CARLA_Latest.tar.gz mkdir CARLA tar -zxvf CARLA_Latest.tar.gz -C CARLA cd CARLA ./ImportAssets.sh 启动carla服务器 cd ../../.. # 回到根目录 ./CarlaUE4.sh 这样服务端就得到了正确的启动
|
此时会弹出页面(上帝视角画面):
补充一下ubuntu部署安装:下载Anaconda
1
| wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Linux-x86_64.sh
|
安装Anaconda
1
| bash Anaconda3-2021.11-Linux-x86_64.sh
|
回车查看许可证,然后q退出许可证,继续回车。
0x05 侠盗猎车🚗嘟嘟嘟…

这把开的车是救火先锋,嘟嘟嘟嘟嘟!

CARla的键盘控制命令如下,一个很类似于ROS键盘控制的控制命令,据说还可以与逻辑的方向盘搭配,实现在线侠盗飞车。

0x06 参考资料
【1】史上最全Carla教程;
【2】Carla官方文档;
【3】ubuntu 系统安装Carla的docker环境;
【4】Carla环境搭建总结;
【5】Carla教程;