self-drive car_学习笔记--第1课:自动驾驶概述

背景:自动驾驶相关知识如同一张白纸

20201110

01 无人驾驶行业概述

1、
无人驾驶(self-drive car):在人极少的干预条件下,可以感知环境,实现驾驶的行为。

2、
无人驾驶汽车是可载人的移动智能机器人,通过丰富的感知系统和智能的行为系统实现高效率高可靠性的驾驶能力。

3、
无人驾驶:完全不依赖于人的行为
自动驾驶:某些情况下可以加入人的参与和监督
(一般情况,两者都是一样的)

4、
未来出行的趋势:共享出行、新能源汽车、无人驾驶

5、
无人驾驶能解决什么问题:
–交通效率的提升;
–车辆利用率提升,不需要停车位
–交通事故减低

6、
2019年自动驾驶L3、L4级别的研发人员供不应求,人才岗位集中在自动驾驶算法类和系统类职位上;
百度Apollo自动驾驶项目开源;
2016年,技术开始成熟,资本力量涌入。

02无人驾驶技术路径

1、
L0~L5级,美国工程师协会定义的

2、
L0,简单点理解,就是人来驾驶
L1,巡航定速(adaptive cruise control,ACC),巡航装置可以纵向控制车辆,加速减速;
L2,车道保持辅助(Lane keeping)系统可以纵向控制也可以横向控制汽车,但车市辅助的,人才是主导;
L2.5,可以提供简单路况下的变道能力,如目前的Tesla;
L2和L3之间有一个鸿沟,权责问题(出了事故,谁的责任);
L3,在L2的基础上提供变道能力,在某一时间段内车是责任主体。如最新款奥迪A8
L4,相当于全无人驾驶,就是大部分时间由车来做主导。如waymo,Baidu;
L5,驾驶能力上,几乎和人类没有关系,l5的车辆没有方向盘以及脚踏板以及其他接管设备。

当前,市场上L4人才需求最高

3、
汽车使用激光雷达来自动导航,成本高,符合车规级很少,所以,一般使用相机视觉;
奥迪A8的level3级别的自动驾驶启动条件,多车道,60km/h以下,天气良好;

目前最高级别的自动驾驶是L4级别的,属于Google阵营的waymo公司;

此外,nuro的物流小车也有达到level4级别。

4、L4级别无人驾驶实现思路:
1)V2X:vehicle to everything(车路协同)
–V2V(车辆,如旁边车A)
–V2I(公共设施,如交通灯等)
–V2P(行人,如马路上的人)

2)边沿计算
–RSU(路侧单元):比如红绿灯的摄像头确定的斑马线的行人位置信息,传送给无人车;
–OBU(车载单元):无人车上,接收RSU发送过来的信息模块

3)5G通信能力
–LTE-V协议,专门针对车间通讯的协议,可兼容4G-5G信号;4G带宽比较小,延迟相对高,数据量大时候,会导致传输阻塞。

4)路侧智能:强大的感知能力(百度ACE计划,目的是建设这个)

5)主车智能(深度学习填补了最后一个软件难题)

6)感知能力:高度复杂冗余的传感器

7)决策能力:大数据下的智能决策

8)高精地图:丰富的地图数据信息

9)定位:精准的位置获取能力

5、无人车权责问题处理,RSS(resposibility sensitive safety)模型(责任敏感安全模型)
RSS模型的目的是,为自动驾驶车辆与人类的责任概念提供具体可衡量的参数,并通过对所记录在案的交通数据涉及行为和环境进行分析统计,为自动驾驶汽车界定一个可计量的“安全状态”。如果有了这个规则,软件能偶做出最安全的决策。

6、
无人车的相机感知,都是使用到深度学习的。

7、
无人机难点在于自身的控制,因为一旦起飞了,树这些都是静态的,如何在气流中控制自身稳定是一个难点;而无人车的难点在于,动态和外界交互。

03 无人驾驶技术概述

1、L4自动驾驶系统架构:
self-drive car_学习笔记--第1课:自动驾驶概述_第1张图片
2、自动驾驶硬件概述
self-drive car_学习笔记--第1课:自动驾驶概述_第2张图片
1)感知传感器:
–摄像头:广泛应用在物体识别和物体追踪场景,比如车道线检测,交通灯识别等等,一般无人车都安装了环视多枚摄像头
–激光雷达:用于障碍物位置识别、绘制地图、辅助定位等,其准去率非常高,很多方案都将激光雷达作为主传感器使用

–毫米波雷达:阴雨天、雾霾天气能够辅助感知获取物体位置和速度,观测距离远但误检较多
–超声波:近处高敏度传感器,常用于作为安全冗余设备检测车辆的碰撞安全问题

2)定位系统传感器:
–IMU:实时测量自身的位姿,200Hz或者更高。包含了三个单轴的加速度计和三个单轴的陀螺仪;加速度计检测物体在载体坐标系统独立三轴的加速度信号,而陀螺仪检测载体相对导航坐标系的角速度信号

–GNSS:指的是日常说的GPS,无人车一般使用RTK(载波相位差技术)进行定位,频率较低,10Hz左右。

3)车载计算单元:
–高效连接计算单元内部计算设备,连接外部传感器的信息输入和存储
–冗余涉及,防止单点故障
–需要整车考虑车的车规,电磁干扰和振动方面的涉及以及ISO-26262标准要求

ISO-26262:一个硬件达到了ASIL D级别的要求,那么它的故障率为10FIT,即10亿小时出现一次故障,汽车行业在安全方面可以做到极限(迭代速度慢)

4)车辆线控系统:
–自动驾驶线控系统:汽车的控制是一些简单命令自动完成的,而不是由物理操作完成的。(这一部分相当于人的手和脚,方向盘、油门、刹车)

–传统汽车的这些控制由液压系统和真空助力泵协助完成,自动驾驶汽车的线控需要用电控化的零部件来完成,如电子液压制动。
–大陆(Tier 1)制动的解决方案,双制动安全策略,MK C1集成液压和制动的模块,利用紧凑且轻质量的涉及节约制动单元,通过电信号发出的制动信号使制动距离更短。
self-drive car_学习笔记--第1课:自动驾驶概述_第3张图片
3、自动驾驶软件概述
self-drive car_学习笔记--第1课:自动驾驶概述_第4张图片
1)RTOS:实时操作系统,如Windows、mac、Linux
HMI:可视化驾驶舱内显示

2)传感器感知–确定自身位置–路径规划–控制
self-drive car_学习笔记--第1课:自动驾驶概述_第5张图片
3)操作系统OS
–RTOS:实时操作系统
–QNX:类Unix系统,具有强实时性,符合车规级的实时操作系统
–RT Linux: Linux内核补丁,通过软件实时进行监控。(当前2.x版本道4.x版本都有RT补丁)

4)Framework:
–ROS:B->M(自动驾驶的软件框架主流采用ROS)
–其他的有,YARP、Microsoft Robotic、Moos、Cybertron
(ROS虽然是主流,但是其分布式的架构,存在不能点对点通信的问题,其他里面的有些是针对此而补足的。但是,不可否认,ROS还是最优秀的)

5)高精地图 HD Map(High Dimensional)

–不同于导航地图,最大特点就是高纬度和高精度
–道路网的的准确三维表征,如交叉路口布局和路标位置
–地图语义信息,如道路的速度限制、左转车道开始位置

–导航地图只能达到米级精度,高精地图需要能够达到厘米级的精度
–高精地图坐标系:WGS84、墨卡托坐标系
–高精地图提供了其他Level4模块的数据支持

–提供了很多准确的静态物体的信息
–定位可以用于计算相对位置
–帮助传感器缩小检测范围,缩小感兴趣(设备最优的工作范围)区域ROI(可以提高传感器的工作效率)

–计算道路导航信息
–帮助车辆识别道路的确切中心线

评:当前的Level4级别的,都是基于高精地图来做的开发

6)定位 Localiztion
–无人车最重要的一步就是知道自己在哪
–INS:Inertial Navigation System 惯性导航系统
–IMU 获取自身状态(加速度和角速度)后通过状态矩阵递推下一时刻

–如果没有矫正信息的话,这种状态递推会随着时间不断累计误差,导致最终位置发散

–RTK:载波相位差分系统,如GNSS(GPS)
–RTK多了一个静态基站(自身位置已知,与卫星的精确位置关系也是已知的,当实时卫星发送信号给基站,会得到一个测量值,测量值与精确值有一个偏差值),无人车也接受了卫星信号,也得到一个测量值,如果基站和无人车的距离不是很远时候,可以使用基站的偏差值,对卫星与无人车之间的干扰信号进行差分抹平,从而获取更准确的位置
self-drive car_学习笔记--第1课:自动驾驶概述_第6张图片
–RTK通过较低的更新频率提供相对准确的位置信息,INS则以较高的频率提供准确性较差的姿态信息。通过Kalman Filter 整合两类数据获取各自优势,合并提供出高准确性的实时信息

–几何定位:激光雷达、摄像头、高精地图
–利用激光雷达或者图像信息,可以通过物体匹配对汽车进行定位。将检测的数据与预先存在的高精地图之间匹配,通过比较获取无人车在高精地图上的全球位置和行驶方向
–迭代最近点(ICP)\直方滤波(Histogram Filter)

迭代最近点思想就是,利用激光雷达、摄像头点云信息、跟高精地图上的点云信息进行比对,选择最接近的值,进而确定无人车当前比较准确的位置。

7)感知 Perception
四大基础任务:
–找到物体在环境中的位置
–明确对象是什么,比如,人、红绿灯(通过相机等)
–随时间的持续观察移动物体并保持一致(确定物体的运动趋势)
–图像中每个像素与语义类别进行匹配,如道路、天空,要做到边界清晰
self-drive car_学习笔记--第1课:自动驾驶概述_第7张图片
感知的四大任务可以总结为:检测、分类、跟踪、分割

a、图像、点云、雷达反射值:
–学习方式:监督学习、半监督学习、强化学习
–R-CNN系列、YOLO、SSD(这几个都是深度学习的经典算法)
self-drive car_学习笔记--第1课:自动驾驶概述_第8张图片
b、计算传感器数据融合问题:前融合、后融合
self-drive car_学习笔记--第1课:自动驾驶概述_第9张图片
前融合,指的是将多传感器的基础数据进行融合
后融合,指的是,将任务分割后,选择对应的传感器的数据作为标准值,比如障碍物探测选择lidar,障碍物类型分类则选择camera

8)预测 Prediction
–实时性和准确性
–基于状态进行预测:Kalman Filter、Particle Filter(这里状态预测可以这么理解,已知当前车子的速度,方向等等信息,通过两种滤波进行简单计算出下一个位置,得到的简单的预测)

–基于车道序列进行预测
–通过机器学习模型化简为分类问题
–行人预测:无人车需要非常重视安全问题,其中人的安全最为重要,而行人的意图变化却是最难预测的,也是约束最少的。

9)决策规划 Planning
–导航路线规划和精细轨迹表述
–数学问题转换:将物理世界的地图转化为数学的图表达

–最优路径搜索:由于其他软件模块已经将不确定性进行了最大程度的消除,而最终决策规划模块又是对稳定性要求极高的模块,因此可以通过数学上的最优路径求解出确定解,但是遍历最优解是非常耗时间的
–需要考虑车辆的体感和安全性

评:需要在时效性和有效性做出平衡,因为花很长时间来找最优解,对于行驶中车辆来说,是非常危险的。
体感及时让乘客更舒适,比如经常急刹,容易导致呕吐,肯定没有人愿意坐的。

数学图表示:
self-drive car_学习笔记--第1课:自动驾驶概述_第10张图片

10)控制 Control
–输入信息:目标轨迹、车辆状态、输出方向盘、油门
–实现对无人车的控制,我们需要知道踩刹车和减速的关系,踩油门和加速的关系等等,当无人车拿到一些控制学参数后,通过电脑对无人车进行控制
–控制是对整个驾驶最后的保障,因此,需要在任何情况下对准确性、稳定性和时效性要求都非常高,需要通过对车辆模型精细化描述,并进行严格的数学表达

–传统的控制算法PID可以满足车辆控制的要求,但是要考虑道体感和一些极限情况,控制算法优化也是目前无人车一个持续探讨的问题,如LQR、MPC等

本节小结:
无人驾驶,目的是解决四个问题:
我在哪?我周围有什么?他们到哪里去?我该怎么走?
self-drive car_学习笔记--第1课:自动驾驶概述_第11张图片
匹配如下:
self-drive car_学习笔记--第1课:自动驾驶概述_第12张图片
######################
B站大学课程学习笔记
注意,文中截图,版权归原作者所有~

不积硅步,无以至千里
好记性不如烂笔头

你可能感兴趣的:(self-drive,car)