自动驾驶仿真平台Carla从入门到放弃
一、Carla的基本概念
人工智能、5G和V2X技术的不断发展使得自动驾驶成为可能。近几年,自动驾驶发展迅速,在科技新闻上经常可以看到自动驾驶的身影,而从事自动驾驶相关软、硬件研究的高效研究所和公司也越来越多,既有传统的汽车巨头,也有新兴的电动车巨鳄,既有互联网巨头,也有初创企业,自动驾驶可谓是风口是上的风口。
自动驾驶的落地需要使用大量的数据训练模型,同时也需要完成大量的不同驾驶环境的验证。然而大量的训练数据和环境验证全部都使用实车进行测试是不现实的,因为涉及到成本问题,周期问题,更重要的是很多场景在现实环境中并不能复现,比如前方的车辆突然失控。因此科学家和从业人员希望能够通过计算机实现环境的仿真。这篇博客将介绍一个应用于自动驾驶环境仿真的软件Carla,Carla是英特尔实验室和巴塞罗那的计算机视觉中心联合开发的开源项目。此外,从业人员和学习者没有条件使用真实的环境极性学习,仿真环境也给他们提供了一个深入学习自动驾驶领域的机会。
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
参考文献:
- https://pythonlibrary.net/2020/04/05/carla-autonomous-driving-simulator-intro/
- https://pythonlibrary.net/2020/04/12/carla-autonomous-driving-simulator-core-concepts/
- https://pythonlibrary.net/2020/04/18/carla-autonomous-driving-simulator-vehicle-detection/
- https://pythonlibrary.net/2020/05/09/carla-autonomous-driving-simulator-traffic-manager/
- http://carla.org/
自动驾驶仿真平台Carla从入门到放弃相关推荐
- 自动驾驶仿真平台概述
自动驾驶仿真平台概述 文章目录 自动驾驶仿真平台概述 1. 前言 2. 51 Sim-One平台 3. Virtual Test Drive 3.1 静态场景文件 **3.1.1 tdo文件** ** ...
- 51VR披露自动驾驶仿真平台细节,更大的布局在5G、智慧交通...
自动驾驶仿真技术正在掀起一波浪潮. L3及其以上级别自动驾驶车辆的开发,在车辆系统复杂程度.使用环境复杂程度方面均急剧增加.算法测试.传感器测试.安全性测试已不能通过汽车领域的车辆动力学等仿真方法来解 ...
- 51VR披露自动驾驶仿真平台细节,更大的布局在5G、智慧交通
自动驾驶仿真技术正在掀起一波浪潮. L3及其以上级别自动驾驶车辆的开发,在车辆系统复杂程度.使用环境复杂程度方面均急剧增加.算法测试.传感器测试.安全性测试已不能通过汽车领域的车辆动力学等仿真方法来解 ...
- 介绍一款开源的自动驾驶仿真模拟器-Carla
大家好,我是李慢慢. 不管你是一个自动驾驶的算法工程师,还是仿真工程师,不管你是业界大佬还是小白,我都建议你了解甚至使用一下这个软件. 目录: 0.前言 1.Carla简介 2.Carla的官方资源 ...
- 腾讯发布自动驾驶仿真平台TAD Sim 2.0
来源:智车科技 6月24日,2020腾讯智慧出行新品发布会上,腾讯新一代自动驾驶虚拟仿真平台TAD Sim 2.0正式亮相.腾讯自动驾驶总经理苏奎峰谈到,"TAD Sim经历了两年多的市场应 ...
- 回顾:鲍世强,讲述51VR自动驾驶仿真平台从0-1的开发与构建
L3及其以上级别自动驾驶车辆的开发,在系统复杂程度.使用环境复杂程度方面均急剧增加.传统开发ADAS算法的仿真工具已无法完美解决当前更高级别的自动驾驶开发问题.仿真平台便成为自动驾驶企业的刚性需求. ...
- 腾讯 | 自动驾驶仿真平台TAD Sim 2.0「AI工程论」
关注:决策智能与机器学习,深耕AI脱水干货 作者 | 易车 来源 | 自动驾驶测试验证技术创新论坛 报道 | GRCC 随着自动驾驶领域硬件.算法等方面的快速发展,虚拟仿真技术在自动驾驶研发和测试 ...
- 全球自动驾驶仿真平台盘点
9月初,苹果的自动驾驶汽车在美国加州的公路上进行路测时发生了它的首次碰撞事故.不同于年初Uber无人车造成的重大车祸,这次所幸没人受伤,但这也再次引起了人们对自动驾驶汽车安全性的关注. 其实,自动驾驶 ...
- 树莓派udev不能自动挂载_英伟达:抢占‘树莓派市场,发布基于云的自动驾驶仿真平台...
英伟达在自动驾驶应用布局谨慎而全面,由通用的模块渐渐为L2专门定制出专属模块,同时基于云的仿真平台也在拓展了虚拟测试的边界. 北京时间3月19日凌晨5点,英伟达GTC 2019大会(GPU技术大会)在 ...
最新文章
- 百练2811:熄灯问题
- 雅虎欲出售核心业务 忠诚用户何去何从
- 测试电视是不是4k的软件,怎么判断4K电视真假?教你快速检测的方法!
- Hibernate执行Update操作之后查询跟新的语句出错
- Ubuntu下MySQL root密码忘记的解决方法
- git中的Stash Changes和UnStash Changes用法
- centos 解决不在 sudoers 文件中。此事将被报告的问题
- ecshop首页调用团购信息产品购买人数
- 服务器冗余电源维修图纸,冗余热备份电源的电路图设计
- goap git上的v sploreg/goap
- 零基础学习CAD机械软件:02课CAD软件的启动和退出
- 【Suffix Array】后缀数组详解
- js、html实现断点播放视频,视频资源在localStorage中
- php 分表帝国,帝国cms附表如何分表
- 环境类sci期刊排名一区_计算机类期刊推荐:EI期刊求毕业,SCI大佬止步
- 学习OpenCV3:Cmake+MinGW编译OpenCV
- ES6中字符串和数组新增的方法
- 哈夫曼树的创建和哈夫曼树编码及解码
- [NOI 2008]假面舞会(综合图论)
- 标品怎样开直通车?标品开直通车的步骤是什么?标品怎样开直通车能获得高转化?