自动驾驶仿真平台Carla从入门到放弃

一、Carla的基本概念

 

人工智能、5G和V2X技术的不断发展使得自动驾驶成为可能。近几年,自动驾驶发展迅速,在科技新闻上经常可以看到自动驾驶的身影,而从事自动驾驶相关软、硬件研究的高效研究所和公司也越来越多,既有传统的汽车巨头,也有新兴的电动车巨鳄,既有互联网巨头,也有初创企业,自动驾驶可谓是风口是上的风口。

自动驾驶的落地需要使用大量的数据训练模型,同时也需要完成大量的不同驾驶环境的验证。然而大量的训练数据和环境验证全部都使用实车进行测试是不现实的,因为涉及到成本问题,周期问题,更重要的是很多场景在现实环境中并不能复现,比如前方的车辆突然失控。因此科学家和从业人员希望能够通过计算机实现环境的仿真。这篇博客将介绍一个应用于自动驾驶环境仿真的软件CarlaCarla是英特尔实验室和巴塞罗那的计算机视觉中心联合开发的开源项目。此外,从业人员和学习者没有条件使用真实的环境极性学习,仿真环境也给他们提供了一个深入学习自动驾驶领域的机会。

1. 架构

对于学习和使用Carla而言,第一件事情就是掌握Carla环境的架构。在Carla的官方文档中https://carla.readthedocs.io/en/latest/用下边这样一张图直观的说明了Carla环境的构架,以及应该如何去使用这个框架。

如下图所示,Carla是一服务器/客户端形式的架构,所谓的服务器就是仿真环境本身(Simulator),为图中左侧部分,Simulator是仿真环境的主体,所有在真实的汽车驾驶环境中具有的东西都在里边有体现,包括:车辆,行人,路桥,信号灯,指示牌,天气,建筑等等,Simulator的目的就是实现一个真实的世界。

而作为世界的参与者,像车辆,行人,信号灯,以及天气光线等等这些在真实的世界中是移动和变化的,要模拟真实的环境,其实就是要模拟这些变化,比如要让一台车超速行驶,比如想让天气是雨天等等,这就是客户端的作用了。除此之外,环境还提供了各种传感器(摄像头,雷达等等),我们可以将传感器配备到车辆上,用于数据收集和自动驾驶的训练以及车辆的控制。Carla环境会将所有必要的用来控制世界参与者的接口都暴露出来了(以Python的形式,也有C++),供客户端来调用,一方面客户端可以读取到环境的数据,另一方面客户端可以像环境中的各种参与者发送控制命令控制他们的行动和变化。

到这里,我们对怎么使用这个环境已经有一个比较清晰的认识了,那就是,将服务器环境(即仿真器)启动,然后就不用理会它了,剩下的所有的代码和算法其实都是使用Python库来作为客户端通过调用API的方式跟仿真器交互。

2. 运行服务器(仿真器)

Carla是开源项目,因此可从它的GitHub仓库中下载最新的仿真器,Carla是基于UnrealEngine实现的,目前Linux和Windows版本。此外,由于Carla需要渲染3D模型,因此Carla需要一定性能的GPU。(我的台式机C24小方糖用的GPU是1050ti,卑微的在读博士打工仔。:sob:

下载CARLA_0.9.11.zip 后将其解压,以Windows环境为例,将包含下边这些文件夹和文件,通过双击CalaUE4.exe就可以启动服务器环境了,官方也提供了一些客户端实现的例子,在PythonAPI文件夹中可以找到。

启动之后会出现如下图所示的3D环境,在环境中只有静态的物体,比如建筑、道路,用户可以通过按住鼠标左键并移动鼠标来切换视角,并使用ASWD来前进后退来观察这个环境,但是并不能跟环境交互。如前边所说,跟仿真环境的交互,需要使用PythonAPI以客户端的形式来进行。

3. 客户端

使用Carla环境的过程其实就是实现各种满足我们目标的客户端的过程。在下载到的Carla包中有一个PythonAPI的文件夹,里边的内容包括:

  • carla文件夹 - 包含carla python库,即Python对Carla接口的封装,由于这个库还没有放到PyPi,因此不能使用pip的方式安装,只能手动安装carla python库到Python环境中
  • examples文件夹 - 包含示例代码,可以运行和阅读文件夹中的代码来学习Carla的使用
  • util文件夹 - 提供了一些方便的脚本,用于配置carla环境

3.1 carla库的安装

carla\dist文件夹中包含了egg格式的文件,名称类似于:carla-0.9.11-py3.7-win-amd64.egg,这个就是carla的python库,我们需要手动安装一下,运行以下命令来实现安装。

3.2 执行示例代码

当库安装完毕以后,我们可以运行其中一个代码来直观的感受下。这是运行PythonAPI\examples中automatic_control.py的效果,automatic_control.py文件实现了自动驾驶的demo。

自动驾驶 carla仿真 Demo


 

参考文献:

  1. https://pythonlibrary.net/2020/04/05/carla-autonomous-driving-simulator-intro/
  2. https://pythonlibrary.net/2020/04/12/carla-autonomous-driving-simulator-core-concepts/
  3. https://pythonlibrary.net/2020/04/18/carla-autonomous-driving-simulator-vehicle-detection/
  4. https://pythonlibrary.net/2020/05/09/carla-autonomous-driving-simulator-traffic-manager/
  5. http://carla.org/

 

  • 3
    点赞
  • 91
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

3D感知巨头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值