Lesson 1:无人驾驶概览

从 Apollo 起步-Lesson 1:无人驾驶概览

无人驾驶概览

Udacity无人驾驶项目负责人David Silver 表示: “在全球无人驾驶技术人才奇缺的宏观现实下,如果你对无人驾驶汽车感兴趣,或者有志于从事无人驾驶开发的工作,现在就是最好的时机

你将学到什么

Apollo 无人驾驶开源平台的主要部分

  • high-definition maps 高精度地图

无人驾驶车的核心模块——高精度地图,几乎支持着软件栈的所有其他模块,包括定位、感知、预测和规划

  • localization 定位

在定位课程中,将讨论汽车如何确定它所处的位置。这比预想得更难!汽车利用激光和雷达数据,将这些传感器感知内容与高分辨率地图进行对比,这种对比使汽车能够以个位数厘米级精度进行自定位

  • perception 感知

在感知课程中,将了解无人驾驶车如何感知这个世界。深度学习是一个重要且强有力的感知工具,卷积神经网络构成深度学习分支,对感知任务至关重要。如分类、检测和分割,这些方法适用于几种不同无人驾驶车传感器的数据来源,包括摄像头、雷达和激光雷达

  • prediction 预测

我们将概述几种不同的方式,用于预测其他车辆或行人可能如何移动。一种方法称为递归神经网络。可对其他物体随时间的运动进行跟踪,并使用该时间序列数据预测未来

  • planning 规划

规划课程将涵盖如何将预测与路线相结合以生成车辆轨迹,规划是构建无人驾驶车最困难的部分之一

  • control 控制

控制课程展示了如何使用转向、油门和制动来执行规划轨迹。我们将阐释几种不同类型的控制器,类型从简单到愈加复杂,而性能却从弱到强

希望:在完成这门课时,你将了解无人驾驶车的基本工作原理。我希望你开始这段学习之旅时,像我第一次开始学习无人驾驶车时那样激动

Apollo核心模块

在课程开始之前, 你可以先阅读Github中以下模块的Readme, 来对无人驾驶技术的架构有一个总体的了解~

为什么我们需要无人驾驶车?

最重要的原因是安全


compare human and self driving.png

无人车等级划分

汽车工程师已建立并确定了 6 个等级的无人驾驶车


自动驾驶的分级比较.jpg
  • 0 级为基本等级,驾驶员是系统的唯一决策者
  • 1 级为驾驶员辅助,车辆为驾驶员提供转向或加速支持如巡航控制
  • 2 级为部分自动化,车辆自动控制几项功能如自动巡航控制和车道保持
  • 3 级为有条件的自动化,车辆自主驾驶
  • 4 级为高度自动化,车辆控制、驾驶方面不期望驾驶员的介入
  • 5 级为最高级别,完全自动化,应与人类驾驶员的水平一样高或比其更高
SAE autonomy levels.png

How self-driving cars work

无人驾驶车包括五个核心部件


how a self-driving car works.png
  • 计算机视觉 就是我们通过摄像头图像弄清楚我们周围的世界是怎样的
  • 传感器融合 是我们合并来自其他传感器的数据, 如激光和雷达,从而更加深入地了解我们周围的环境
  • 只要我们对周围的世界有了深刻的理解,就可以使用 定位 来精确地确定我们在那个世界所处的位置
  • 弄清楚where we are in the world and what the world looks like,就可以使用 路径规划 来绘制路线
  • 控制 就是我们为了让汽车沿着我们在路径规划期间建立的轨道,如何转动方向盘并打开油门 然后踩刹车

Apollo 技术框架由四个层面组成

参考车辆平台、参考硬件平台、开源软件平台和云服务平台

参考车辆与硬件平台

如果我们想要打造一辆无人驾驶车。首先要开发一款可通过电子控制的基础车辆,而不仅仅是通过实体方向盘、油门踏板和刹车踏板来控制,这种类型的车辆具有特殊的名称:线控驾驶车辆

Apollo 无人驾驶车有几个不同的传感器。

  • 控制器区域网络(或 CAN),是车辆的内部通信网络,计算机系统通过 CAN 卡连接汽车内部网络,发送加速、制动和转向信号。
  • 全球定位系统(或 GPS),通过绕地卫星接收信号,这些信号可帮助我们确定所处位置。
  • 惯性测量装置(或 IMU),测量车辆的运动和位置,是通过跟踪位置、速度、加速度和其他因素。
  • 激光雷达 (LiDAR) 由一组脉冲激光器组成Apollo 使用的激光雷达可 360 度扫描车辆周围,这些激光束的反射形成了软件可用于了解环境的点云
  • 摄像头捕获图像数据,我们可以使用计算机视觉来提取这些图像的内容并了解周围的环境。例如 因为摄像头可以感知颜色,我们用它们来检测和了解交通灯
  • 雷达也用于检测障碍物,雷达分辨率低,难以分辨雷达检测到了哪种障碍物,但雷达的优势在于经济实惠,适用于各种天气和照明条件,雷达特别擅长测量其他车辆的速度。

下图说明如何将主要硬件组件安装到车辆上,包括摄像头、雷达、激光雷达、GPS-IMU 和 IPC


applo hardware.png

开源软件栈

软件层分为三个子层:实时操作系统(real-time operating system(ROTS))运行时框架(Runtime Framework)应用程序模块层(a layer of application modules)

实时操作系统(或 RTOS)可确保在给定时间内完成特定任务。“实时”是指无人驾驶车的操作系统能够及时进行计算、分析并执行相应的操作。实时性能是确保系统稳定性和驾驶安全性的重要要求。

Apollo RTOS 是 Ubuntu Linux 操作系统与 Apollo 内核相互结合的成果。Ubuntu 是业内顶级 Linux 发行版之一,也是最流行的云操作系统,然而 原始 Ubuntu 系统并非实时操作系统,通过加入 Apollo 设计的内核 我们可以使其成为一个 RTOS。

运行时框架 是 Apollo 的操作环境它是 ROS(机器人操作系统)的定制版,ROS 实际上是一个在 Apollo RTOS 上运行的软件框架。ROS 在机器人行业有着悠久的历史,目前有 3,000 多个基础库支持应用程序的快速开发,ROS 根据功能将自治系统划分为多个模块,每个模块负责接收、处理和发布自己的消息。由于这些模块相互独立 只能通过运行时框架进行通信,因此调整任何单一模块都很容易。ROS 是应用最广泛的机器人框架,因此它所包含的模块涉及许多最新的研究突破,所有这些功能使 ROS 成为理想的 Apollo 开发与集成框架。

为使 ROS 适应无人驾驶车,Apollo 团队改进了共享内存的功能和性能、去中心化和数据兼容性

  • 共享内存降低了需要访问不同模块时的数据复制需求。

对于一对多传输方案,共享内存支持“一次写入 多次读取”模式。例如 如果你只收到一次点云 你可以同时运行障碍物检测、定位和 GUI 工具。这可以加快通信速度

  • 去中心化 解决了单点故障问题

现成的 ROS 由许多节点组成,每个节点都有对应的功能。例如 一个节点可能负责收集摄像头图像,另一个节点可能负责规划轨迹,而第三个节点可能负责将控制命令发送到 CAN 总线上的车辆,但是所有这些节点都需要由单个 ROS 主节点来控制。如果这个主节点发生故障,整个系统都会失效。

为了避免这个问题,Apollo 将所有节点放在一个公共域中,域中的每个节点都有关于域中其他节点的信息,通过这种去中心化方案,公共域取代了原来的 ROS 主节点,因此消除了单点故障风险。

  • 对于无人驾驶车来说 由于项目本身的规模很大,数据兼容性 至关重要

不同的 ROS 节点通过,名为 ROS 消息的接口语言相互通信。ROS 消息需要使用通用接口语言,使每个节点都可以解读来自其他节点的消息数据。如果消息文件的格式,与节点所期望的格式稍有不同,通信会失败,这可能会导致严重的兼容性问题。例如 当一个接口升级时,数据不兼容通常会导致系统故障。此外 必须一次又一次地转换之前所记录的测试数据, 以适应新的消息格式。

为了解决这个问题,Apollo 团队使用另一种名为 protobuf 的接口语言,来替代原生 ROS 消息。Protobuf 是一种结构化数据序列化方法. 这对开发用于通过电线彼此通信,或用于存储数据的程序非常有用。你可以将新字段添加到消息格式中 而不会破坏后向兼容性,新的二进制文件可以在解析过程中接受旧的消息格式。向 ROS 添加 protobuf 格式有助于 Apollo 的长期发展。

  • 应用程序模块

Apollo 的软件平台具有各种模块,这些模块包括 MAP 引擎、定位、感知、规划、控制、端到端驾驶以及人机接口(或 HMI)。每个模块都有自己的算法库,模块之间的关系非常复杂。后续将在整个课程中对这些模块及其关联方式进行研究

云服务

Apollo 云服务包含高精度地图(HD Maps)、仿真环境(Simulation)、数据平台(Data Platform)、安全(Security)、软件升级(OTA)以及被称为 DuerOS 的智能语音系统

在这里 我们将重点介绍仿真和数据平台。

  • 仿真环境平台是 Apollo 开放软件栈的重要工具

该平台允许每个人出于自身需要 来构建仿真环境。该平台还聚合了大量驾驶数据,使开发人员能够检验和验证无人驾驶软件系统。仿真环境使 Apollo 车辆不仅可以查看环境,还可以了解道路情况和场景。

仿真环境平台具有许多功能。首先,仿真环境平台允许开发人员配置不同的驾驶场景,比如障碍物,路线和交通灯状态。执行模式为开发人员提供了一个在多个场景中运转的完整设置。在执行模式中 ,开发人员可以在 Apollo 环境中上传和验证模块。当前的自动评分系统,从几个指标对场景进行评估。其中包括:碰撞检测、交通灯识别、速度限制、障碍物检测和路线逻辑。最后,三维可视化描述了实时路况。在显示无人驾驶车状态的同时,使模块输出可视化。

  • 数据对无人驾驶车来说很重要。无人驾驶数据可能来自模拟场景或道路测试,Apollo 为这些类别提供了各种各样的数据。

仿真场景数据有两个不同的来源:记录场景和虚拟场景。我们可以使用记录的场景,来重放我们在实际道路测试中已经观察到的传感器数据,我们可以借助虚拟场景 使用虚拟编辑器创建新的驾驶场景,这有助于快速检验与验证算法。为了训练像深度学习网络那样的机器学习模型,我们需要带标签的注释数据,其中包括交通信号灯数据,带边界框的障碍物数据,以及语义分割数据。

此外 Apollo 已向公众发布了 ApolloScape 数据集。ApolloScape 涵盖了各种复杂路况,ApolloScape 在单个图像中列入并注释了,多达 162 辆车或 80 名行人。同时 开放数据集使用语义分割对图像进行逐像素标记,这使得 ApolloScape 成为世界上最为复杂又最精确的无人驾驶数据集。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容

  • 2017年无人驾驶还处于积极研发和普及期,民用的测试和技术探索也主要在小型汽车方面,各大巨头都将2020年作为一个...
    方弟阅读 7,060评论 1 16
  • 作者:温利武 班级:1402019 学号:14020199041 【嵌牛导读】:本文梳理总结了前面11篇涉及...
    wlw_1fdf阅读 1,086评论 2 6
  • 作者:刘少山,李文超,唐洁责编:何永灿,欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至heyc@csdn...
    十人言末阅读 1,276评论 0 4
  • 道法自然,经典诵读需要自然发声,字正腔圆,将自己的身心调到松,静,自然的状态,不造作,不高亢,不拖声,不闷哼。[愉...
    念兹常思阅读 238评论 0 0
  • 鸡既鸣矣, 朝既盈矣。 匪鸡则鸣, 苍蝇之声。 东方明矣, 朝既昌矣。 匪东方则明, 月出之光。 虫飞薨薨, 甘与...
    易道yidao阅读 357评论 0 0