Apollo无人驾驶入门课程笔记(一)

时间:2020.10.24
目的:工作中确定了以后从事的无人驾驶方向的研究,但以前与自动驾驶接触不多,故通过百度Apollo课程进行基本理论知识的学习,以此作为学习的记录。

一、百度Apollo课程

目前国内关于自动驾驶的课程不多,百度Apollo作为其中的代表,课程比较系统的介绍了关于自动驾驶方面的基础知识,适合初入自动驾驶的人员进行学习,故选择其作为入门课程。
1、课程主要内容
该课程主要介绍了无人驾驶的基本原理以及基于Apollo平台进行的实践,其主要内容包括:高精度地图(HDmaps)、定位(Localization)、感知(Perception)、预测(Prediction)、规划(Planing)、控制(Control)。

高精度地图几乎支持着软件中的其他所有模块,这是其他软件模块的基础。对于定位(确定无人车在地图中的位置),通过高精度地图与无人车传感器感知的内容进行对比,可以帮助无人驾驶车辆定位到个位数厘米级别。Apollo无人驾驶入门课程笔记(一)_第1张图片
对于感知(感知周围环境),主要介绍了无人车通过传感器感知环境参数,然后使用深度神经网络(尤其是卷积神经网络)等工具对其进行检测、分类等操作;对于预测(预测其他车辆和行人的运行),主要介绍了几种包括递归神经网络的方法;对于规划,它是无人驾驶中最难的一部分,主要介绍了预测进行结合来生成车辆的运行轨迹;对于控制,主要描述如何使用方向盘、油门和制动来执行规划轨迹。

2、什么是无人驾驶

2.1、无人驾驶与传统人工驾驶的区别:

(1)相对于人类来说,无人车辆不会酒驾不会疲劳可有效降低发生车祸的风险;
(2)人类需要从0开始学习如何驾驶,而无人驾驶车辆一开始就是一个有经验的老司机,并且还在不断地学习;
(3)人类停车需要人在目的地附近自己寻找车位停靠,而无人车可以自动搜索停车位

人工驾驶 无人驾驶
很高的车祸率 更可靠的驾驶
需要从小学习 可以随时学习
停车困难 无停车问题

2.2 无人驾驶的等级划分

目前,汽车工程师已经确定了6个等级的无人驾驶车:

等级 特点
0(人工驾驶) 驾驶员是系统的唯一决策者 ,控制系统所有装置
1(部分自主驾驶) 无人车为驾驶员辅助,提供转向或加速支持(巡航控制)
2(有条件的自动驾驶) 车辆控制几个功能,如自动巡航控制、车道保持
3(车辆自主驾驶) 车辆自主驾驶,驾驶员必要时接管
4(高度自动化) 车辆控制驾驶各个方面并不希望驾驶员介入,可能没有方向盘或油门等装置,有可能被限制在某个区域运行
5(完全自动化) 车辆无限制的在所有区域运行,并具有比驾驶员更高的驾驶水平

无人驾驶车一般有强大的专用计算机和传感器组成,借助计算机强大的计算能力以及人工智能和传感器的应用,无人驾驶车可以实现独立于人类驾驶员的任何驾驶操作。

3、无人驾驶的运作方式
无人驾驶车辆的五个核心部件:计算机视觉、传感器融合、定位、路径规划、控制。
计算机视觉:使用计算机图像弄清楚周围的世界是什么样的。
传感器融合:合并来自其他传感器(激光、雷达等)更加深入了解周围的环境。
定位:确定无人车在这个环境中的位置。
路径规划:根据定位规划行动轨迹,到达想去的目的地。
控制:让汽车沿着规划好的路径行驶。

**总结:**无人驾驶车辆的运作方式:首先通过摄像机来初步了解周围环境;然后通过与其他传感器感知的数据融合,对周围的环境做进一步的确定,并确定无人车在这个环境中的具体位置,之后根据无人车接收到的任务要求(如从某个点到另一个点)规划行动轨迹,最后系统控制汽车沿着规划好的路径行驶,达到目的地。

4、Apollo团队与架构
Apollo是属于百度旗下的一个研究无人驾驶车辆的团队,是一个提供硬件规格、车载软件和云服务的开源平台,任何人都可以基于此平台开发属于自己的无人驾驶系统。

Apollo无人车平台的主要组成
硬件架构:
1、控制器区域网络(或CAN):车辆内部的通信网络,计算机系统通过CAN卡连接汽车内部网络,并发送转向、加速、制动等信号
2、全球定位系统(GPS):通过绕地卫星接收信号,确定车辆位置。
3、惯性测量装置(IMU):测量车辆的位置和运动
4、激光雷达(LiDAR):由一组脉冲激光器组成,可360°扫描周围环境,反射回来形成点云。
5、摄像机:捕捉周围环境的图像,使用计算机来进行提取图像内容了解周围环境

软件架构:
1、实时操作系统(RTOS):确保在规定时间内完成指派的任,由ubuntu和apollo内核组成。
2、运行时框架:Apollo的操作环境,是一个ROS系统的定制版,对ROS的信号传输方式进行了优化,消除了原来ROS单点故障发生导致系统崩溃的风险。
3、应用程序模块层:包括地图、定位、感知、规划、控制、端到端驾驶以及人机接口等模块(本课程主要内容)

云服务
Aplollo云服务是在云端运行的一套应用程序,Apollo云不仅可以用于存储数据还包含很多应用程序,如:高清地图(HD Map)、仿真(Simulation)、数据平台(Data Plaform)、安全(Security)、空中软件升级(OTA)、DuerOS(智能语音系统)。

总结:以上为百度Apoloo课程主要介绍以及无人驾驶车辆的一些基本概念。

你可能感兴趣的:(自动驾驶,自动驾驶,机器学习)