第一本无人驾驶技术书
2022-10-19 14:29:49 0 举报
AI智能生成
第一本无人驾驶技术书
作者其他创作
大纲/内容
一、无人车正在开始的未来
1.0现代信息技术发展史
第一阶段:1960 - 1980
处理器
eg:Intel
第二阶段:1980 - 2000
软件系统
eg:Microsoft Windows
第三阶段:2000 -2010
搜索引擎
eg:Google
第四阶段:2010 -2015
社交网络
eg:Facebook
第五阶段:2015 - 2020
互联网+
eg:Uber
第六阶段:2020 -
机器人
eg:无人驾驶技术
1.1正在走来的无人驾驶
无人驾驶会给汽车行业带来重大变革
优势
1.增强高速公路安全
2.缓解交通拥堵
3.疏解停车难问题
4.减少空气污染
1.2自动驾驶的分级
NHTSA(美国国家公路交通安全管理局)
L0
无自动化
L1
单一功能级的自动化
驾驶员仍对行车安全负责
自适应巡航
应急刹车辅助
车道保持
L2
部分自动化
司机和汽车分享控制权
跟车功能
autopliot
L3
有条件自动化
在有限的情况下实现自动控制
预设路段自动驾驶
L4
完全自动化(无人驾驶)
无需司机或乘客干预
SAE(美国机动工程师协会)
L4
高度自动化
特定道路自动驾驶
L5
完全自动化
对行车环境不加限制
1.3无人驾驶系统简介
算法端
传感
GPS/IMU(传感系统)
自我定位
GPS
定位准确、更新频率低
IMU
定位不准确、更新频率高
LIDAR(激光雷达)
绘制地图
定位
避障
摄像头
物体识别
物体追踪
雷达和声呐
判断距离
感知
定位
GPS+IMU
原理
1.IMU 5ms更新一次,但误差累计精度降低
2.每100ms 得到GPS数据更新,矫正IMU积累的误差
劣势
1.精度在1米之内
2.GPS信号天然多路径问题引入噪声干扰
3.GPS必须在非封闭环境下工作
摄像头
原理
1.对立体图像三角剖分,获得视差图,计算每个点深度信息
2.匹配连续立体图像帧之间的显著特征,建立相关性
3.通过捕捉到的显著特征和地图上已知的点计算车辆当前位置
劣势
对照明条件非常敏感
激光雷达和粒子滤波
原理
1.激光雷达产生点云对环境进行“形状化描述”,但不足以区分各自不同的点
2.通过粒子滤波将已知地图与观测到的具体形状进行比较,减少位置不确定性
劣势
受空气中悬浮颗粒(雨滴、灰尘)影响
物体识别与跟踪
激光雷达
提供深度的精确信息
卷积神经网络(CNN)
原理
1.卷积层使用不同的滤波器从输入图像中提取不同的特征,并且每个过滤器在完成训练阶段后都将抽取出一套“可供学习”的参数
2.激活层决定是否启动目标神经元
3.汇聚层压缩特征映射图所占用的空间以减少参数的数目,并由此降低所 需的计算量
4.一旦某物体被CNN识别出来,下一步将自动预测它的运行轨迹或进行 物体追踪,如图所示
决策
行为预测
原理
1.使用随机模型产生这些车辆的可达位置集合
2.采用概率分布的方法预测每一个可达位置集的相关概率
路径规划
原理
1.完全确定模型,搜索所有可能的路径并利用代价函数的方式确定最佳路径,但对计算性能有着非常高
2.为了避免计算复杂性并提供实时的路径规划,使用概率性模型成为了主要的优化方向
避障
原理
1.基于交通情况预测的前瞻层级
预测拥堵、车速等
估计碰撞发生时间与最短预测距离
2.实时反应层
使用雷达数据再次进行本地路径重规划
一旦雷达侦测到路径前方出现障碍物,则立即执行避障操作。
用户端
机器人操作系统
原理
机器人操作系统(ROS)
硬件抽象描述
底层驱动程序管理
消息管理与传递
程序发行包管理
提供一系列工具和库用于开发、获取和运行机器人应用
节点(Node)
是ROS中的基本单位
其粒度范围很广,小到一个传感器大到一个完整的机器人都可以是一个节点
eg:避障
原理:
节点与节点之间通过消息互相通信
按照主题分类
包装成远程服务调用的形式
劣势
可靠性:ROS使用单主节点结构,并且没有监控机制以恢复失效的节点
解决方案
ZooKeeper
1.结构包括一个关键主节点及一个备用主节点
2.如果关键主节点失效,则备用主节点将被自动启用以确保系统能够无缝地继续运行
3.监控并自动重启失效节点,以确保整个R0S系统在任何时刻都是双备份模式
性能:当节点之间使用广播消息的方式通信时,将产生多次信息复制导致性能下降
解决方案
1.采用共享内存的方法完成节点通信
2.改成目的地更明确的多路径传输机制则
安全:ROS中没有授权和加密机制,因此安全性受到很大的威胁
解决方案
Linux containers ( LXC )
1.限制每一个节点可供使用的资源数
2.采用沙盒的方式以确保节点的运行独立
3.为通信消息进行了加密操作
硬件平台
由两个计算盒组成,每一个装备
INTEL Xeon E5 处理器
4到8个Nvidia Tesla K80 GPU加速器
劣势
功耗问题、散热问题、造价问题
解决方案
在ARM面向移动市场的SoC实现了一个简化的无人驾驶系统
1.定位算法↑
2.深度学习↑
3.路径规划和控制↑
4.不损失任何位置信息的情况下达到每小时5迈的行驶速度
云端
Spark构建了分布式计算平台
使用OpenCL构建异构计算平台
使用Alluxio作为内存存储平台
1.仿真
无人驾驶开发出新算法时,需要先通过仿真对此算法进行全面测试
通过 在ROS节点回放真实采集的道路交通情况,模拟真实的驾驶场景,完成对算法的测试
Spark管理着分布式的多个计算节点,在每一个计算节点中,都可以部署一个场景下的ROS回访模拟
2.高精度地图生成
原理
原始数据处理
点云生成
点云对齐
2D反射地图生成
高精地图标注
地图生成
Spark极大提高精度了高地图产生的性能
二、光学雷达在无人驾驶技术中的应用
2.1无人驾驶技术简介
1.传感器信息采集
2.感知阶段
定位
物体识别
3.计划与控制阶段
1.根据位置信息及识别出的图像信息
2.实时调节车辆的行车计划
3.把行车计划转化成控制信号去操控车辆
全局路径规划
A-Star类似的算法
本地路径规划
DWA等算法
2.2光学雷达基础知识
2.2.1工作原理
原理
1.向目标物体发射一束激光,然后根据接收一反射的时间间隔确定目标物体的实际距离
2.据距离及激光发射的角度,通过简单的几何变化推导出物体的位置信息
LiDAR系统
激光发射器
发射出波长为600~1000nm的激光射线
扫描与光学部件
收集反射点距离与该点发生的时间和水平角度
感光部件
检测返回光的强度
检测信息
空间坐标信息(x, y,z)
光强度信息<i>
光强度与物体的光反射度 (reflectivity )直接相关
对检测到的物体有初步判断
2.2.2什么是点云
原理
1. LiDAR以 一定的角速度匀速转动 → 不断地发出激光并收集反射点的信息 → 得到全方位的环境信息
2.过程中也会同时记录下该点发生的时间和水平角度
3.每个激光发射器都有其编号和固定的垂直角度
2.3 LiDAR在无人驾驶技术中的应用领域
2.3.1高清地图的绘制
日常用到的导航地图
由众多的点云拼接而成
用于无人车的精准定位
1.在绘制高清地图的路线上多次反复行驶并收集点云数据
2.人工标注过滤一些点云图中的错误信息
2.3.2基于点云的定位
定位的重要性
GPS → 各种高大建筑物的阻拦 → GPS多路径反射的问题更明显 → 几十厘米甚至几米的误差
原理
局部估计
当前时刻点云和上一时刻点云的匹配,借助几何上的推导,估计出无人车在当前位置的可能性
全局估计
当前时刻的点云和上面提到过的高清地图做匹配,可以得到当前车相对地图上某一位置的可能性
2.3.3障碍物检测
困难
1.判断物体的远近
单一摄像头抓取的2D图像无法得到准确的距离信息
多摄像头生成深度图的方法又需要很大的计算量
2.光学摄像头受光照条件的影响巨大,识别准确度很不稳定
解决方法
LiDAR生成的点云
对反射障碍物的远近、高低,甚至是表面形状有较准确的估计,提高障碍物检测的准确度
在算法的复杂度上低于基于摄像头的视觉算法,因此更能满足无人车的实时性需求
2.4 LiDAR技术面临的挑战
2.4.1技术挑战:空气中的悬浮物
LiDAR的精度也会受到天气的影响
空气中悬浮物会对光速产生影响
大雾及雨天都会影响LiDAR的精度
随着实验雨量的増大,两种LiDAR的最远探测距离都线性下降
2.4.2计算性能的挑战:计算量大
16线的LiDAR每秒钟要处理的点也达到了30万个
LiDAR给出的原始数据只是反射物体的距离信息,需要对所有的产生的点进行几何变换,将其转化为位置坐标
涉及了 4次浮点运算和3次三角函数运算
后期的处理中还有大量坐标系转换等更多复杂的运算
2.4.3成本的挑战:造价昂贵
Velodyne VLP-16 LiDAR官 网税前售价为7999美元
Velodyne HDL-64E LiDAR预售价也在10万美元以上
2.5展望未来
纯视觉与 GPS/IMU的定位
价格低,却还不成熟
LiDAR
价格高居不下
三、GPS及惯性传感器在无人驾驶中的应用
3.1无人驾驶定位技术
GPS
大城市中多路径反射的问题会更加明显
很容易就有几米的误差
GPS的更新频率低
快速行驶时很难给出精准的实时定位
惯性传感器(IMU )
可实时得出车辆的位移与转动信息
惯性传感器自身也有偏差与噪声等问题影响结果
LiDAR点云与高精地图匹配
视觉里程计算法
3.2 GPS简介
3.2.1三边测量法定位
GPS接收装置以量测无线电信号的传输时间来量测距离
1.由每颗卫星的所在位置,测量每颗卫星至接收器间距离
算出接收器所在位置之三维空间坐标值
2.利用接收装置接收到3 个卫星信号
定出使用者所在之位置
3.2.2距离测量与精准时间戳
距离测量
理论:光速 x 信号传播时间 = 距离
困难:测量的传播时间但凡有一点误差,都会造成距离上巨大的误差
精准时间戳
每颗卫星上都安装了原子钟
达到纳米级的精度
使卫星定位系统使用同步时钟
困难:原子钟的价格在几万美元,每一个GPS接收器安装原子钟是不现实的
解决办法:每一颗卫星上仍然使用昂贵的原子钟,但接收机使用的是经常需要调校的普通石英钟
接收机接收来自四颗或更多卫星的信号并计算自身的误差,因此接收机就可以将自身的时钟调整到统一时间值
3.2.3 差分 GPS
困难:卫星距离测量存在着卫星钟误差与播延迟导致的误差等问题
解决办法:差分技术
1.已知精准的地点安置参考接收机基准站
2.安装在基准站上的GPS接收机观测4颗卫星后便可进行三维定位
3.计算出基准站的测量坐标
4.将测量坐标与已知坐标进行对比可以计算出误差
5.基准站再把误差值发送给方圆100千米内的差分GPS接收器去纠正它们的测量数据
3.2.4多路径问题
困难
1.GPS信号的反射与折射造成的信号传播时间的误差,从而导致定位的错误
2.特别是在城市环境中,空气中有许多悬浮介质对GPS信号反射与折射
3.信号会在高楼大厦的外墙发生反射与折射,造成距离测量的混乱
4.更新频率低
解决办法:借助其他的传感器来辅助定位,增强定位的精度
3.3惯性传感器简介
3.3.0惯性传感器
MEMS惯性传感器
低精度惯性传感器
智能手机
售价低、误差大
中级惯性传感器
汽车电子稳定系统
GPS辅助导航系统
高精度的惯性传感器
通信卫星无线
导弹导引头
光学瞄准系统
无人车
中低级的惯性传感器
优点
更新频率高
提供实时位置信息
缺点
误差会随着时间的推进而增加
解决办法:在很短的时间内依赖惯性传感器进行定位
3.3.1加速度计
MEMS加速度计
原理:靠MEMS中可移动部分的惯性
3.3.2角速度计
MEMS角速度计
原理:利用角动量守恒原理
3.3.3惯性传感器的问题
困难:惯性传感器测量的数据有一定误差
偏移误差
比例误差
解决方法:校准
1.找出偏移误差和比例误差
2.使用校准参数对惯性传感器原数据进行修正
新困难:惯性传感器的误差会随着温度变化而变化,所以即使我们校准得再好,随着时间的推进,位移的误差还是会不断积累
新解决办法:GPS和惯性传感器的融合
3.4GPS和惯性传感器的融合
3.4.0GPS和惯性传感器的融合
困难
GPS的更新频率低,并不能满足实时计算的要求
而惯性传感器的定位误差会随着运行时间增长,但是由于惯性传感器是高频传感器,在短时间内可以提供稳定的实时位置更新
解决方法
找到一个方法能融合这两种传感器的优点,各取所长
3.4.1卡尔曼滤波器简介
预测阶段
基于上个时间点的位置信息去预测当前的位置信息
更新阶段
通过当前对物体位置的观测去纠正位置预测,从而更新物体的位置
eg
在漆黑的客厅里面通过电视机加步数去判断卧室的位置
3.4.2多传感器融合
IMU相当于步数
GPS相当于电视机
1.得到新的GPS数据之前,我们只能通过积分惯性传感器的数据预测当前位置
2.惯性传感器的定位误差会随着运行时间增长,所以当接收到新的GPS数据时,由于GPS的数据比较精准,我们可以使用GPS数据对当前的位置预测进行更新
通过不断地执行这 两个步骤,我们可以取两者所长
3.5结论
精准定位
相对精准但是低频更新的GPS
高频更新但是精度随着时间流逝而越发不稳定的惯性传感器
上述两种传感器基于卡尔曼滤波器数学模型的融合
LiDAR点云与高精地图匹配
视觉里程计算法
四、基于计算机视觉的无人驾驶感知系统
4.1无人驾驶的感知
视觉
超声波雷达
反应速度↑
分辨率↑
毫米波雷达
适应较恶劣的天气能力↑
抗悬浮物干扰性↑
容易受其他通信设备和雷达之间的电磁波千扰
LiDAR
测量精度↑
速度↑
制造成本↑
精度易受空气中悬浮物的干扰
摄像头
视觉数据分析↑
与计算机结合↑
成本↓
4.2 KITTI数据集
是由KIT和TTIC在2012年开始的一个合作项目
建立一个具有挑战性的,来自真实世界的测试集
用激光雷达提供的数据作为ground truth,建立了面向多个测试任务的数据集
1.Stereo/Optical Flow数据集
2.视觉里程测量数据集
3.三维物体检测数据集
手工标注
轿车
厢车
卡车
行人
自行车者
电车
4.物体追踪数据集
手工标注
行人
轿车
5.路面和车道检测数据集
手工标注
未标明车道
标明双向单车道
标明双向多车道
特点
由无人车上常见的多种传感器收集,用LiDAR提供高精度的三维空间数据,有较好的 ground truth
更接近实际情况,而不是用计算机图形学技术生成的
覆盖了计算机视觉在无人车驾驶上应用的多个方面
4.3计算机视觉能帮助无人车解决的问题
物体的识别与跟踪
通过深度学习的方法(Optical Flow等运动预测的算法),无人车可以识别在行驶 途中遇到的物体
行人
空旷的行驶空间
地上的标志
红绿灯
旁边的车辆
...................
车辆本身的定位
通过基于拓扑与地标的算法,或者是基于几何的视觉里程计算法,无人车可以实时确定本身的位置,以满足自主导航的需求
4.4Optical Flow和立体视觉
是物体的识别与跟踪、车辆本身的定位的底层技术
i是像素的指标
yi是像素i可能的偏移矢量
pgt是一个平滑过的目标分布,用来给一两个像素的预估误差反馈一个非0的概率, gt表示 ground truth
pi(yi,w)是神经网络输出的给定w时:yi的概率
4.5物体的识别与追踪
无人车视觉感知系统的重要功能
像素层面
颜色
偏移
距离信息
物体层面
空间位置
运动轨迹
卷积神经网络
优势
物体识别的准确率和速度↑
劣势
有噪声
解决办法
tracking-by-detection
4.6视觉里程计算法
基于拓扑与地标的算法
1.把所有的地标组成一个拓扑图
2.当无人车监测到某个地标时,便可以大致推断出自己所在的位置
劣势
需要预先建立精准的拓扑图
eg:每个路口的标志物做成地标
基于几何的视觉里程计算法
单目
劣势
无法推算出观察到的物体大小
解决办法
使用者必须假设或者推算出一个初步的大小
通过与其他的传感器结合(比如陀螺仪)进行准确的定位
双目
1.通过左右图 trianguladon计算出特征点的深度
2.从深度信息中推算出物体的大小
优势
实时推算出自己的位置
进行自主导航
劣势
算法本身对光线相当敏感
光线较弱时,图像会有很多噪点
反光路面算法也很容易失效
解决办法
根据车轮及雷达返回的信息进行定位
五、卷积神经网络在无人驾驶中的应用
5.1 CNN简介
定义
是一种适合使用在连续值输入信号上的深度神经网络,比如声音、图像和视频
特点
一个高层的神经元只接受某些低层神经元的输入
同一层中不同神经元的输入权重共享
是计算机视觉领域使用DNN时的不二选择
5.2无人驾驶双目3D感知
无人车感知中,对周围环境的3D建模是重中之重
激光雷达能提供高精度的3D 点云
但密集的3D信息就需要摄像头的帮助
算法
MC-CNN
FlowNet
5.2.1MC-CNN
优势:计算匹配程度
劣势:平滑约束和优化
解决办法:FlowNet
5.2.2FlowNet
采取了 encoder-decoder的框架
优势:速度很快
5.3无人驾驶物体检测
5.3.1RPN
物体所在区域为候选
RPN 功能就是最高效地产生这样一个候选列表
CNN为基础
5.3.2Fast R-CNN
优势:大大节约了计算时间
劣势:物体尺度变化很大的场景(比如无人驾驶) 中还有提升的空间
解决办法:MS-CNN
5.3.3MS-CNN
优势:识别的准确度有很大提高,尤其在物体尺度变化的情况下
劣势:速度较Fast R-CNN较慢
5.3.4SSD
优势:能够实时运行,算法更加准确
结论
3D感知网络
MC-CNN
FlowNet
物体检测网络
FasterR-CNN
MSCNN
SSD
六、增强学习在无人驾驶中的应用
6.1增强学习简介
目的
通过和环境交互学习到如何在相应的观测中采取最优行为
增强学习和传统机器学习的区别
增强学习算法
选取的行为会直接影响环境,进而影响该算法之后从环境中得到的观测
传统机器学习
把收集训练数据和模型学习作为两个独立的过程
优势:即使在某些模块失效的情况下也能做出稳妥的行为
6.2增强学习算法
6.2.0增强学习算法
REINFORCE 算法
Deep Q-Leaming 算法
6.2.1REINFORCE
是最简单的增强学习算法
基本思想
通过在环境里执行当前的策略基本思想直到一个回合结束(比如游戏结束),根据得到的奖励可以计算出当前策略的梯度
应用
学习视觉的注意力机制
学习序列模型的预测策略
优势
在模型相对简单、环境的随机性不强的环境下,REINFORCE算法可以达到很好的效果
劣势
有比较大的误差
无法知道行为的好坏
只有在环境存在回合概念时才能够使用
解决办法
Deep Q-leaming算法
6.2.2Deep Q-Leaming
基于Q函数的增强学习算法
优势
对于复杂的、每步行为之间存在较强相关性的环境有很好的学习效果
6.3使用增强学习帮助决策
将增强学习和搜索结合的算法
劣势
在环境非确定,并且转移函数未知的情况下,如何将增强学习和搜索结合是增强学习领域中没有解决的问题
6.4无人驾驶的决策介绍
6.4.0无人驾驶人工智能
感知
通过摄像头 和其他传感器的输入解析出周围环境的信息
有哪些障碍物
障碍物的速度和距离
道路的宽度和曲率
控制
当我们有了一个目标,如何通过调整汽车的机械参数达到这个目标
右转30度
决策
给定感知模块解析出的环境信息如何控制汽车的行为达到驾驶的目标
加速
减速
左转
右转
换道
超车
困难
很难对所有的突发系统面面倶到
6.4.1无人驾驶模拟器
作用
决策模拟器负责对环境中常见的场景进行模拟
车道情况
路面情况
障碍物分布
行为
天气
将真实场景中采集到的数据进行回放
功能
验证功能
需要比较容易地衡量算法的性能
确保运行
对角色打分
增强学习
利用其在突发情况中获得的奖励学习如何应对这些突发情况
6.4.2增强学习在无人驾驶中的应用和展望
改进方向
增强学习的自适应能力
只用非常少量的样本学习到正确的行为是增强学习能够实用的重要条件
模型的可解释性
实际使 用中出了问题很难找到问题的原因,也比较难排查
推理和想象的能力
人们不用自己真正尝试,也知道危险的行为会带来毁灭性的后果
七、无人驾驶的规划与控制
7.1规划与控制简介
无人车全可靠运行
车载硬件
传感器集成
感知
预测
控制规划
无人车路由寻径
实现无人车软件系统内部的导航功能
行为决策
无人车的“副驾驶”
动作规划
在一个较小的时空区域内,具体解决无人车从d点到S点如何行驶 的问题
反馈控制
对车辆自身控制,以及和外界物理环境交互的建模
7.2路由寻径
7.2.0路由寻径
与谷歌或者百度的地图导航的不同
输出结果并不 是为实际的驾驶员所使用,而是给下游的行为决策和动作规划等模块作为输入
7.2.1无人车Routing的有向带权图抽象
与普通导航的不同
考虑的不仅仅局限于路径的长短和拥塞情况等,还需要考虑到无人车执行某些特定行驶动作的难易程度
eg:尽量避免在短距离内进行换道
无人车的规划控制算法出于安全考虑,需要的换道空间可能比正常的驾驶员驾驶所需要的换道空间更大
7.2.2典型无人车路由寻径算法
1.Dijkstra算法在无人车路由寻径中的应用
Dijkstra算法是一种常见的图论中的最短路径算法
2.A*算法在路径规划上的应用
另一种常见算法A*算是一种启发式的搜索算法
A*作为一种最优优先算法(Best First),可以看作是Dijkstra算法的一种扩展算法
7.2.3路由寻径cost设置和强弱路由寻径
实际的无人车路由寻径计算问题中,往往更重要的不是算法的选择,而是路权(cost) 的设置策略
路由寻径模块产生路由计算的请求
无人车开始行驶时
由用户来设置起点到终点,从而触发路由寻径请求
请求是由下游模块发起的
强Routing
弱Routing
7.3行为决策
7.3.0行为决策
在整个无人车规划控制软件系统中扮演着“副驾驶”的角色
汇集了所有重要的车辆周边信息
当前位置
速度
朝向
所处车道
一定距离以内所有重要的感知相关的障碍物信息
决策信息
所有的路由寻径结果
无人车的当前自身状态
无人车的历史信息
无人车周边的障碍物信息
无人车周边的交通标识信息
当地的交通规则
7.3.1有限状态马尔可夫决策过程
一个马尔可夫决策过程,由五元组定义
S代表了无人车所处的有限的状态空间
A代表了无人车的行为决策空间
Pa是一个条件概率,代表了无人车在状态s和动作a下,到达下一个状态的概率
Ra是一个激励函数(Reward ),代表了无人车在动作a下,从状态s到状态所得到的激励
r是激励的衰减因子
当前的激励总是比未来的激励重要
利用MDP解决无人车行为决策的最关键部分在于激励函数R的设计
设计Reward函数时,需要考虑
到达目的地
安全性和避免碰撞
乘坐的舒适性和下游执行的平滑性
7.3.2基于场景划分和规则的行为决策设计
基于规则的无人车行为决策层的设计
核心思想
利用分治的原则将无人车周边的场景进行划分
重要概念
1.综合决策
整体最高层的决策
2.个体决策
是所有信息汇聚的地方
3.场景划分构建和系统设计
个体决策的产生依赖于场景的构建
7.4动作规划
7.4.0动作规划
将行为决策的宏观指令解释成一条带 有时间信息的轨迹曲线,给底层的反馈控制进行实际对车的操作
无人车的动作规划
普通机器人动作规划的一种特殊场景
问题
轨迹规划
解决在二维平面上,根据行为决策和地图信息定义的Cost 函数下优化轨迹的问题
速度规划
解决用什么样的 速度行驶这条轨迹的问题
7.4.1轨迹规划
1.车辆模型、道路定义,以及候选轨迹生成
车辆模型
姿态
轨迹
道路模型
道路中心线
轨迹生成
2.基于轨迹点的有向图构建和搜索
Cost
函数设计
道路层面
障碍物层面
控制和舒适度层面
7.4.2速度规划
当轨迹规划给定了一条或者若干条选出的轨迹曲线后,动作规划模块需要解决的后续问题是在此轨迹的基础上加入速度相关的信息
目标
给定的轨迹曲线上,在满足反馈控制的操作限制及符合行为决策的输出结果这两个前提下,将轨迹点赋予速度及加速度信息
7.5反馈控制
7.5.1自行车模型
7.5.2PID反馈控制
八、基于ROS的无人驾驶系统
8.1无人驾驶:多种技术的集成
无人驾驶系统传感器
长距雷达
激光雷达
短距雷达
摄像头
超声波
GPS
陀螺仪
.............
无人驾驶系统软硬件模块
软件模块
路径规划
避障
导航
交通信号监测
硬件模块
计算模块
控制模块
传感器模块
有效地调配软硬件资源
问题
1.软硬件模块数据增加,运行期间难免有些模块会出现异常退出,或者导致系统崩溃,如何为系统提供自修复能力?
2.由于模块之间有很强的联系,如何管理模块间的有效通信?
3.每个功能模块间如何进行资 源隔离,如何分配计算与内存资源,当资源不足时如何确认更高的优先级执行?
解决办法
要一个成熟、稳定、 高性能的操作系统来管理各个模块
机器人操作系统ROS
8.2机器人操作系统(ROS)简介
8.2.0机器人操作系统(ROS)简介
ROS是Willow Garage公司2010年发布的开源机器人操作系统
特点
点对点设计
不依赖编程语言
开源
.......
机器人开源库
quaternion的坐标转换
3D点云处理驱动
规划方面的Movelt
OpenRAVE规划库
控制方面的OROCOS 实时运动控制库
视觉图像处理方面的OpenCV和PCL开源库
定位算法SLAM
8.2.1 ROS中的基本组成
概念
节点
用来实现运算功能的进程
节点管理器
用来管理节点
参数服务器
主要目的是节点运行时用来存取参数
消息
节点之间的通信内容称为消息
主题
节点之间的消息传输围绕一个特定的主题
服务
是一种利用同步通信的方式请求/回复交互的分布式系统
任务
主要用来实现服务器端(Server )和客户端(Client)之间的信息交换
8.2.2 ROS 1.0 Vs. ROS 2.0
ROS 1.0
主要部件
ROS Master
命名服务
ROS Node
执行模块
ROS Service
服务节点
ROS 2.0
为了让ROS能够符合工业级的运行标准
无人车驾驶系统
选择ROS1.0
ROS 2.0还是一个开发中的框架
DDS本身的耗费
DDS接口的复杂性
8.3系统可靠性
8.3.0困难
系统运行时ROS的MASTER出错退出,导致系统崩溃
其中一个ROS的节点出错, 导致系统部分功能缺失
8.3.1去中心化
ROS的重要节点需要热备份,宕机可以随时切换
8.3.2实时监控和报警
对于运行的节点实时监控其运行数据,并在必要时报警
8.3.3节点宕机状态恢复
宕机时,需要通过重启的机制恢复节点
状态的备份格外重要
节点的宕机检测也是非常重要
8.4系统通信性能提升
数据包都需要经过多层软件栈处理,造成不必要的延时
使用共享内存的方法
内存资源的浪费,对通信系统的吞吐量造成很大压力
使用组播multicast机制
数据的序列化与反序列化的过程中,通信的延时很大
使用了轻量级的序列化程序
8.5系统资源管理与安全性
攻击场景
其中一个R0S的节点被劫持,然后 不断地进行内存分配,导致其系统内存消耗殆尽,造成系统OOM开始
关闭不同的R0S 节点进程,使整个无人驾驶系溃
关闭不同的R0S 节点进程,使整个无人驾驶系溃
0S的topic或者service被劫持,导致R0S 节点之间传递的信息被伪造,从而导致无人驾驶系统的异常行为
解决办法
使用 Linux Container ( LXC )管理每一个ROS节点进程
九、无人驾驶的硬件平台
9.1无人驾驶:复杂系统
无人驾驶系统传感器
长距雷达
激光雷达
短距雷达
车载摄像头
超声波
GPS
陀螺仪
9.2传感器平台
9.2.0传感器平台
车载传感器
超声波雷达
激光雷达
毫米波雷达
车载摄像头
红外探头
................
主流
雷达
车载摄像头
多传感器相互融合
完备的无人驾驶系统
9.2.1激光雷达
工作原理
利用可见和近红外光波发射、反射和接收来探测物体
两个核心作用
3D建模进行环境感知
SLAM加强定位
激光雷达的分类与产品
按标准分类
单线/多线
单线
获取2D数据,但无法识别目标的高度信息
扫地机器人
多线
识别2.5D甚至是3D数据,精度上会比单线雷达高很多
4线、 8线、16线、32线和64线
线数↑,数据点↑,数据量↑
距离
困境
是最精准的自主感知手段,由于现在价格高昂,无法部署在量产车上
9.2.2毫米波雷达
原理
毫米波雷达通过发射无线电信号(电磁波)并接收反射信号来测定汽车车身周围的物理环境信息
相对距离
相对速度
角度
运动方向
...................
优势
不受天气状况限制
具有全天候、全天时的工作特性
且探测距离远(30〜100m)
探测精度高
劣势(与激光雷达相比)
精度低
可视范围的角度也偏小
需要多个雷达组合使用
行人的反射波较弱几乎对雷达免疫
雷达对金属表面非常敏感
如果是一个弯曲的金属表面,它会被雷达误认为是一个大型表面
雷达在大桥和隧道里的效果同样不佳
应用
车载距离探测
自适应巡航
碰撞预瞥
盲区探测
.....................
毫米波雷达分类
频段
24GHz(主流)
中短距
60GHz
77GHz(主流)
中长距
准确度可提高2〜4倍
测速和测距精确度提高3~5倍
检测行人和自行车,且设备体积更小
便于在车辆上安装和部署
测范围更广
可适配行驶速度更快的车辆
探测精度下降
79GHz
实现ADAS的各项功能
1长+4中短
自动跟车型ACC
需要3个
奔驰的S级车型
7个毫米波雷达(1长+6短)
毫米波雷达国内外制造现况
国内
高端汽车装配的毫米波雷达传感器全部依赖进口
国内 77GHz毫米波雷达的开发受到很大限制
雷达数据处理芯片
恩智浦(NXP) MR2001多通道77 GHz雷 达收发器芯片组
MR2011RX
MR2001TX
MR2001VC
意行半导体24GHz射 频前端的MMIC套片产品
SG24T1
SG24R1
SG24TR1
9.2.3车载摄像头
原理
采集图像进行处理
将图片转换为二维数据
进行模式识别
通过图像匹配进行识别
车辆
行人
车道线
交通标志等
依据物体的运动模式或使用双目定位
估算目标物体与本车的相 对距离和相对速度
优势
摄像头是最接近人眼获取周围环境信息的工作模式,可以通过较小的数据量获得最全面的信息
摄像头技术比较成熟,成本较低
劣势
受光线、天气影响大
物体识别基于机器学习资料库,需要的训练样本大,训练周期长,也难以识别非标准障碍物
广角摄像头的边缘畸变,得到的距离准确度较低
分类
单目
安装在前挡风玻璃上部
探测车辆前方环境、识别道路、车 辆、行人等
后视
安装在车尾
用于探测车辆后方环境
技术难点在于如何适应不同的恶劣环境
立体(双目)
难点
双目标定及双目定位
硬件成本和计算量级的加倍
优势
无须先识别,可直接进行测量
直接利用视差 计算距离精度更高
无须维护样本数据库
环视
一般至少包括四个摄像头
前
后
左
右
难点在于畸变还原与对接
要求
1.温度要求:车载摄像头温度范围在-40度~80度
2.防磁抗振:汽车启动时会产生极高的电磁脉冲,车载摄像头必须具备极高的防磁 抗振的可靠性
3.较长的寿命:车载摄像头的寿命至少要在8~10年以上才能满足要求。
9.2.4GPS/IMU
GPS
优势
精度高
误差无积累
劣势
多路径反射的问题会很显著,导致获得的GPS定位信息很容易产生几米的误差
GPS的更新频率低(10Hz),在 车辆快速行驶时很难给出精准的实时定位
惯性传感器(IMU )
优势
自主性
时性
劣势
偏差积累
噪音
GPS/IMU组合的优势
1.系统精度的提高
2.系统抗干扰能力的增强
3.导航信息的补全
9.2.5 V2X通信传感
V2X通信传感
简单说
超级传感器
比其他车载传感器都高得多的感知能力和可靠性
是无人驾驶必要技术和智慧交通的重要一环
是利用无线通信技术实现车与车之间、车与道路之间、车与行人之间的信息互通
详细说
V2X是一种网状网络
网络中的节点(汽车、智能交通灯等)可以发射
捕获并转发信号
用V2X车联网,车辆可以获取周围环境的未知参数及附近车辆的运行状态
速度
位置
驾驶方向
刹车
.............
车载端主动安全算法将处理所获取的信息
按照优先级对信息进行分类
对可能发生的危险情景进行预警
紧急情况下可以利用车辆执行端对车辆进行控制从而规避风险
V2X通信优势
覆盖面更广
300~500米的通信范围相比十几米的雷达探测范围要远得多
有效避免盲区
由于所有物体都接入互联网,每个物体都会有单独的信号显示
对于隐私信息的安全保护性更好
于这套系统将采用5.9Hz频段进行专项通信,相比传统通信技术更能确保安全性和私密性
V2X通信的国内外发展进展
国外V2X进展
中国V2X的发展进展
车路协同
9.2.6传感器小结
9.3计算平台
9.3.1计算平台实现
某四级无人驾驶公司
计算盒
一颗英特尔 至强E5处理器(12核)
4到8颗NVIDIA K80 GPU加速器
计算盒
同上
9.3.2现有的计算解决方案
基于GPU的计算解决方案
GPU在浮点运算、并行计算等部分的计算方面能够提供数十倍至上百倍的CPU性能
对于CPU耗费的时间大幅缩 短
占用的数据中心的基础设施更少
能够支持比单纯使用CPU时HM00倍的应用吞吐量
基于DSP的解决方案
DSP( Digital Singnal Processor )以数字信号处理大量数据
运算能力很强
速度很快
体积很小
用软件编程具有高度的灵活性
基于FPGA的解决方案
GPU在算法加速上强有力的竞争者
硬件配置最灵活
低能耗
高 性能
可编程
适合感知计算
相比GPU价格便宜
基于ASIC的解决方案
芯片在深度学习训练方面优于传统GPU的能耗和性能优势
其他芯片解决方案
谷歌TPU芯片
能够降低运算精度,在相同时间内处理更复杂、更强大的机器学习模型并将其更快投入使用
TPU更适合做训练后的分析决策
仅适用于谷歌,而且还是用于辅助CPU和 GPU
后起之秀概率芯片
通过牺牲微小的计算精度换取能耗明显降低,概率芯片在历来追求精准的芯片领域独 树一帜
发挥概率算法简单并行的特点
极大地提高系统性能
算法逻辑异常简单
不需要复杂的数据结构
不需要数值代数计算
计算精度可以通过模拟不同数目的随机行走自如控制
不同的随机行走相互独立,可以大规模并行模拟
模拟过程中,不需要全局信息,只需要网络的局部信息
中国的芯片方案
寒武纪:中国的智能芯片
中星微
9.3.3计算平台体系结构设计探索
计算单元与计算负载的匹配
移动处理器上的无人驾驶
计算平台的设计
讨论与结论
优点
模块化:如果需要更多的功能可添加更多的ROS节点
安全性:ROS节点提供一个良好的隔离机制,防止节点相互影响
高度动态化:动态系统层可根据需要完成调度以实现大吞吐量、低延迟或低能耗
高性能:异构的体系结构可以保证每个专用计算单元为适配的子任务提供最高性能
节能性:专用的计算单位为每个子任务提供了最高效的运算方式
9.4控制平台
9.4.0控制平台
控制平台是无人车的核心部件,控制着车辆的各种控制系统
汽车防抱死制动系统(ABS )
车驱动防滑转系统(ASR )
汽车电子稳定程序(ESP )
电子感应制动控制系统(SBC )
电子制动力分配(EBD )
辅助制动系统(BAS )
安全气囊(SRS )
汽车雷达防碰撞系统
电控自动变速器(EAT )
无级变速器(CVT )
巡航控制系统(CCS )
电子控制悬架(ECS )
电控动力转向系统(EPS )
构成
电子控制单元 (ECU)
实现控制算法
通信总线
实现ECU及机械部件间的通信功能
9.4.1电子控制单元
俗称“车载电脑”
是汽车专用微机控制器,也叫汽车专用电脑
原理
发动机工作时,ECU采集各传感器的信号进行运算,并将运算结果转变为控制信号,控制被控对象的工作
固有程序在发动机工作时,不断地与采集来的各传感器的信号进行比较和计算
再利用比较和计算后的结果完成对发动机的点火、 怠速、废气再循环等多项参数的控制
它还有故障自诊断和保护功能
存储器也会不停地记录行驶中的数据,成为ECU的学习程序,为适应驾驶习惯提供最佳的控制状态
自适应程序
多种ECU
抱死制动系统
四轮驱动系统
电控自动变速器
主动悬架系统
安全气囊系统
多向可调电控座椅
.................
各系列高阶车款皆已包含超过一百个ECU
ECU用途
汽车专用微机控制器
也叫汽车专用单片机
微处理器(CPU)
存储器(ROM、RAM)
ROM中存储的是一套固定的程序
以精确计算和大量实验取得的数据为基础
输入/输出接口(I/O)
模数转换器 (A/D )
整形、驱动等大规模集成电路
详细流程
当发动机起动时,电控单元进入工作状态
某些程序从ROM中取出进入 CPU
程序专用于控制点火时刻、控制汽油喷射、控制怠速等
执行程序中所需的发动机信息来自各个传感器
这些传感器信号一经采集首先进入输入回路接受处理
模拟信号
经过A/D转换器转换成数字信号
大多数传感器信息将先暂存在RAM 内,然后根据程序处理顺序从RAM送至CPU
将存储器ROM中的参考数据引 入CPU,与传感器输入数据进行比较
PU在完成对这些数据的比较运算后,做出决定并发出指令信号
经I/O接口进行放大,必要的信号还经D/A转换器变成模拟信号
经输出回路控制执行器动作
控制器区域网(CAN, Controllers Area Network)总线
汽车内部的数百个ECU可以组建一个区域网
效地解决线路信息传递所带来的复杂化问题
远程控制原理
手机发出的指令先到达伺服器
被转发到车载通信模块
车载通信模块接收到指令后, 再通过CAN总线将指令传达到各个ECU
弥补CAN协议在某些方面的不足
LIN 协议
带宽更小
承载的数据量更少
同时成本也更低
MOST、FlexRay、乙太网等
拥有更大的带宽与更强的稳定性
EUC的主要生产厂商
博世(BOSCH )
德尔福(DELPHI )
马瑞利(MARELLI )
日立(Hitachi )
大陆(Continental )
日本电装(DENSO )
..........................
CPU
CPU是ECU中的核心部分
具有运算与控制的功能
运算
采集各传感器的信号进行运算
将运算的结果转变为控制信号
控制被控对象的工作
控制
对存储器(ROM、RAM)、输入/输出接口(I/O)和其他外部电路的控制
9.4.2通信总线
按照协议特性分为A、B、C、 D四类
A类总线面向传感器或执行器管理的低速网络
B类总线面向独立控制模块间信息共享的中速网络
C类总线面向闭环实时控制的多路传输高速网络
D类总线面向多媒体设备、高速数据流传输的高性能网络
局部互联协议LIN
LIN是面向汽车低端分布式应用的低成本、低速串行通信总线
目标
为现有汽车网络提供辅助功能,在不需要CAN总线的带宽和多功能的场合使用,降低成本
相对于CAN的成本节省
采用单线传输
硅片中硬件或软件的低成本实现
无须在从属节点中使用石英或陶瓷谐振器
LIN包含一个宿主节点(Master)和一个或多个从属节点(Slave )
控制器局域网CAN
当前的汽车总线网络市场上,占据主导地位的是CAN总线
优势
它的短帧数据结构、非破坏性总线性仲裁技术及灵活的 通信方式适应了汽车的实时性和可靠性要求
分类
高速
最高速度为IMbit/s ( C类总线)
低速
低速CAN为250Kbit/s (B类总线)
高速容错网络协议RexRay
FlexRay总线数据收发采取时间触发和事件触发的方式
优势
具有高速、可靠及安全的特点
周期通信方法
TDMA( Time Division Multiple Access )
静态部分
FTDMA( Flexible Time Division Multiple Access)
动态部分
9.5结论
无人驾驶的灵魂
算法
无人驾驶的肉体
硬件平台
传感器平台
计算平台
控制平台
十、无人驾驶系统安全
10.1针对无人驾驶的安全威胁
针对无人车攻击的方法
传感器
不需要进入无人驾驶系统内部,这种外部攻击法技术门槛相当低,既简单又直接
操作系统
黑客可以造成系统崩溃导致停车,也可以窃取车辆敏感信息
控制系统
黑客可以直接操控机械部件,劫持无人车去伤人,是极其危险的
车联网通信系统
车联网连接不同的无人车,以及中央云平台系统,劫持车联网 通信系统也可以造成无人车间的沟通混乱
.....................
10.2无人驾驶传感器的安全
干扰
GPS和IMU
干扰
惯性传感器IMU
对磁场很敏感
使用强磁场干扰IMU, 就有可能影响IMU的测量
GPS
在无人车附近设置大功率假GPS信号,可 以覆盖原来的真GPS信号,从而误导无人车的定位
解决办法
使用轮测距技术辅助无人车定位
如果黑客破坏了轮子,这个定位辅助技术也会受影响
激光雷达
干扰
激光雷达是通过测量激光反射时间来测量深度的
在无人车周围放置强反光物,比如镜子,那么激光雷达的 测量就会被干扰,返回错误信息
如果黑客使用激光照射激光雷达,激光雷达 的测量也会受干扰,会分不清哪些是自身发出的信号,哪些是外部激光的信号
无人车会不断地下载更新的高精地图,如果黑客把下载的地图掉包,也会造成定位失效
计算机视觉
黑客可以轻易地在路上放置假的红绿灯及假的行人,迫使无人车停车并对其进行攻击
解决办法
使用多传感器融合的技术,使用多个传感器互相纠正
10.3无人驾驶操作系统的安全
攻击方法与解决办法
第一,其中一个ROS的节点被劫持,然后不断地进行分配内存,导致其系统内存消耗殆尽,
造成系统OOM开始关闭不同的ROS节点进程,使整个无人驾驶系统崩溃
造成系统OOM开始关闭不同的ROS节点进程,使整个无人驾驶系统崩溃
使用Linux容器技术(LXC)管理每一个R0S 节点的进程
第二, ROS的topic或者service被劫持,导致ROS节点之间传递的信息被伪造,从而导致无 人驾驶系统的异常行为
改进ROS通信系统的机制
10.4无人驾驶控制系统的安全
攻击方法
OBD-II入侵
电动车充电器入侵
车载CD机入侵
蓝牙入侵
TPMS入侵
解决方法
通用
对ECU接收的信息进行加密验证,以保证信 息是由可信的MCU,而不是由黑客发出的
使用对称密码加密,然后密钥在生产过程中被写入ECU中
最新
TLS安全协议沿用非对称密码的算法对通信双方进行验证
Kerberos是一个通用的基于对称密码的算法验证平台
TESLA安全协议(注意:这个TESLA安全协议与TESLA汽车没有关系)提出了 使用对称
密码机制模拟非对称密码的做法,从而达到既安全又能降低计算量的目的
密码机制模拟非对称密码的做法,从而达到既安全又能降低计算量的目的
LASAN安全协议使用两步验证的机制让通信双方实时交换密钥,然后使用对称密 码的算法对信息进行验证
10.5车联网通信系统的安全性
确保V2X通信安全的系统要满足以下两个基本条件
确认消息来自合法的发 送设备,这需要通过验证安全证书来保证
确认消息传输过程中没有被修改,这需要接受信息后计算信息的完整性
实现V2X安全
硬件
软件
安全证书
10.6安全模型校验方法
保证无人驾驶系统的安全性
需要从纵向对系统的每个层面进行校验
代码
电子控制单元(ElectronicControl Unit)
控制算法
车内网
外网
自动车整体与物理环境结合的所谓网宇实体系统
多部车辆互相通信的车联网
越往上层系统的复杂度越大,校验也越困难
对上层系统的分析会基于下层的分析结果做抽象化处理
现阶段对于无人车安全问题的校验尚未成熟
十一、基于Spark与ROS的分布式无人驾驶模拟平台
11.1无人驾驶模拟技术
11.1.0无人驾驶模拟技术
系统开发人员需要的模拟器
能够直观正确地反映出输出参数的意义
对各个模块进行单一的集成测试
将各个模块按照需求分别组合后进行集成测试
模拟器技术
基于合成数据
对环境、感知及车辆进行模拟,这种模拟器主要用于控制与规划算法的初步开发上
基于真实数据的回放
以测试无人驾驶不同部件的功能及性能
11.1.1模拟器的组成元素
车的动态模型
用来加载测试无人车驾驶系统,并模拟无人车自身的行为的
外部环境
静态场景
静态的交通标志
停止线
交通指示牌
..................
动态场景
车周围的动态交通流模型
车辆
行人
交通灯
11.1.2模拟器的应用
模拟器在模拟测试中需要做的就是将复杂的外部环境拆解成最简单的元素,然后重新排列组合,生成各种测试用例
11.1.3模拟器面临的问题
核心问题
在于“真”上
人工模拟的场景和真实场景多少会有差异,真实场景中仍然会存在许多人想象不到的突发事件
解决办法
将模拟器搭载到分布式系统上就成为了无人驾驶模拟测试的最佳选择
11.2基于ROS的无人驾驶模拟器
11.2.1 Rosbag
Rosbag生成的数据格式是Bag,这是一个拥有两层逻辑结构的文件格式
上层的Bag类对上抽象提供了用户操作文件的方法
对下封装了对ClumkedFile的操作方法
11.2.2模拟测试数据集
KITTI数据集
http://www.cvlibs.net/datasets/kitti/
这个项目的主要目的是建立一 个具有挑战性的、来自真实世界的测试集
基于单机的模拟远不能支撑如此大量的数据处理,所以我们必须为基于真实数 据回放的模拟器设计一个高效的分布式计算平台
11.2.3计算量的挑战
巨大的数据处理量对计算平台造成了很大的压力
KITTI数据集整6小时的原 数据包括了超过1000000张140万像素的彩图
张彩图分析时间大概是0.3秒
单机上就需要超过100小时
11.3基于Spark的分布式的模拟平台
11.3.0基于Spark的分布式的模拟平台
Spark是UC Berkeley AMP Lab开源的通用并行计算框架
Spark能更好地适用于需要迭代的 map-reduce 算法
pipe的设计方案问题
Spark本身支持文本数据读取, 但并不支持多媒体数据读取,我们需要设计一个高效的二进制文件的读取方法
Rosbag的play功能如何从内存中读取缓存的数据,record功能如何将数据缓存至内存中
11.3.1二进制文件流式管道处理
11.3.2Rosbag缓存数据读取
11.3.3性能评估
随着计算资源的增加,计算时间也在线性降低,系统表现出很强的可扩展性,可以承受很大的数据量与计算量
图像识别测试集中,使用单机处理的图像数据耗时为3个小时,而使用8个Spark Worker后, 耗时仅仅为25分钟
11.4结论
无人车在真实道路上的测试依然必不可少,但是模拟器已经为无人驾驶系统测试了海量的基础情景,
可以以最低的成本来最大限度地保障真车测试时的安全性
可以以最低的成本来最大限度地保障真车测试时的安全性
十二、无人驾驶中的高精度地图
12.0高精度地图
高精度地图
作为无人驾驶发展成熟标志的重要支撑
在横向/纵向精确定位
基于车道模型的碰撞避让
障碍物检测和避让
智能调速
转向和引导
.......................
12.1电子地图分类
12.1.1传统电子地图
用于导航、查询地理信息的地图
谷歌地图
百度地图
苹果地图
传统电子地图是对路网的一种抽象
人类生来就有很强的视觉识别及逻辑分析能力
识别路面及路面标示线
确定自己在路面的大致位置
寻找并辨认路标
..........................
基于人类驾驶员的这些能力,传统的电子地图可以被极大精简
一条弯曲的道路可以被精简到用只有几个点的线段来表示,只要大致的轮廓符合现实
路网的结构,人类驾驶员即可结合当前的驾驶信息定位自己的当前位置
路网的结构,人类驾驶员即可结合当前的驾驶信息定位自己的当前位置
12.1.2高精度电子地图
高精度电子地图的主要服务对象是无人车,或者说是机器驾驶员
区别
机器驾驶员缺乏人类与生倶来的视觉识别、逻辑分析的能力
人可以很轻松、准确地利用图像、GPS定位自己,鉴别障碍物、人、交通信号灯等
对当前的机器人来说都是非常困难的任务
优势
扩展车辆的静态环境感知能力
为车辆提供其他传感器提供不了的全局视野
传感器监测范围外的道路
交通和设施信息
重要作用
精确定位
基于车道模型的碰撞避让
障碍物检测和避让
智能调速
转向
引导
高精度电子地图包含大量的行车辅助信息
辅助信息
道路数据
道路车道线的
位置
类型
宽度
坡度
曲率
............
对路网精确的三维表征(厘米级精度)
路面的几何结构
道路标示线的位置
周边道路环境的点云模型
行车道路周围相关的固定对象信息
交通标志
交通信号灯等信息
车道限高
下水道口
障碍物
基础设施信息
高架物体
防护栏
树
道路边缘类型
路边地标
语义信息
交通信号灯的位置及类型
道路标示线的类型
识别哪些路面是可以行驶的
......................
12.2高精度地图的特点
12.2.0高精度地图的特点
表征路面特征的精准性
需要至少10倍以上的精度(厘米级)
更高的实时性
通过和云端的通信,就可以把路网更新信息告诉其他的无人车,使得其他无人车变得更加聪明和安全
12.2.1数据特征类型
同传统地图相似的分层的数据结构
有关路面的语义信息
道路标识线的位置及特征信息
相应的车道特征
标明道路标示牌、交通信号等相对于二维网格的位置
提前预备无人车,告诉无人车在某些特定的位置检测相应的交通标示牌或交通信号灯,提高无人车的检测速度
在无人车没有成功检测出交通标示牌或信号灯的情况下,确保行车的安全
12.2.2数据量估计
如此高的精度下,如何有效地管理数据是高精度地图的一个大挑战
为了尽量让地图在内存里面,我们要尽量去掉不需要的数据
过滤数据的基础 上,我们可以使用无损的压缩算法
LASzip
12.3高精度地图的生产
12.3.0高精度地图的生产
高精地 图的生产涉及多种传感器,由于产生的数据量很大,通常我们会使用数据采集车收集数据
通过线下处理把各种数据融合产生高精地图
12.3.1高精度地图需要的传感器种类
高精度地图的制作
陀螺仪(IMU )
轮测距器(Wheel Odometer)
GPS
LiDAR
12.3.2高精度地图计算模型
高精地图制作流程
陀螺仪(IMU )及轮测距器(Wheel Odometer)可以高频率地给出当前无人车的位置预测
使用传感器融合计技术(比如使用Kalman Filter) 结合GPS与LiDAR的数据算出当前无人车的准确位置
根据当前的准确位置与激光 雷达的扫描数据,我们可以把新的数据加入地图中
J = Q(z-h(m,x))
Q代表优化方程
z代表激光雷达扫描出的点
h方程预测最新扫描点的位置与反光度
m扫描到的点在地图中的位置
x代表无人车当前的位置
12.4无人驾驶场景中的应用
12.4.1定位
无人车定位主要是通过粒子滤波进行的
12.4.2导航与控制
路径规划
限定
地图已知
一般还是2D或2.5D的地图,而不是在 3D 图地上六个自由度运动规划(那是室内全自主无人机飞行)
路径规划默认的是无人车按照规划的路径每一步执行后的pose我们是默认准确的
算法
A*算法
如果有最好的路径我要找到一条最好的路径
RRT (Rapidly-exploring random tree )
从起点开始不知道最优路径是什么,所以从起点开始随机抽样(怎么随机也有讲究)来扩建可能路径集
基于抽样(sampling based )的路径规划
A*-RRT
第一位永远是安全性的前提下,更注重效率还是更注重绝对的优化等
12.5高精度地图的现状与结论
特点
高精度电子地图的信息量与质量直接决定了无人驾驶系统的安全性、可靠性,以及效率
区别
传统电子地图主要服务人类驾驶员,而高精度电子地图主要服务无人驾驶系统
与传统电子地图不同,高精地图更精准(厘米级),GPS的准确度只有5~10米
高精地图更新更快,并且包含了更多的信息(语义信息)
制作
需要使用多种传感器互相纠正
初始地图制作好后,还需要对 地图进行过滤以降低数据量去达到更好的实时性
现状
国外
日本最大的地图测绘公司Zenrin已宣布与NVIDIA合作,研究如何 简化利用人工智能绘制地图的流程
国内
百度使用约250辆测绘车收集道路信息用以制作准确度在5〜10 米的传统导肮地图及高精度地图
十三、无人驾驶的未来
13.1无人驾驶的商业前景
13.1.1新的运输模式:TaaS 2.0
定义
TaaS1.0定义为有人驾驶
TaaS2.0定义为无人驾驶
汽车完全无人驾驶将极大地降低拼车成本
辆车从目前的1.50美元一英里降至20美分一英里
任务调度都可以 在云端完成
传统车厂的目标客户就将由个人消费者转变 为TaaS运营商
如华为和中国移动的关系一样
13.1.2无人驾驶的商业发展方向
因为安装了摄像头、雷达、激光雷达和人工智能系统,无人车的最初成本会很高,普通消费者难以接受
公共交通
快递用车和工业应用
老年人和残疾人
13.2无人车面临的障碍
13.2.1恶劣天气
问题
大雨
大雪
大气雾霾
13.2.2行车安全
问题
被黑客攻击
系统被破坏
解决办法
设计者需要高度重视车辆安全,避免不必要的风险
13.2.3隐私保护
问题
人们位置
GPS定位数据
网上购物(包括信用卡号码)
..................
解决办法
提高网络安全标准,保证所有制造商能采取有效保护措施,尤其要提高无线网络下的数据加密保护
需要提高设计安全性以减少攻击点、增加第三方测试、加强内部监督系统、设计分离架构以限制任何成功入
侵成的损害,以及不断更新升级安全软件以加强隐私保护的实时性
侵成的损害,以及不断更新升级安全软件以加强隐私保护的实时性
13.2.4基础设施不完善
问题
高速公路
普通公路
车道标示
桥梁
...............
13.2.5频谱不足
频谱不足也是无人驾驶推广的主要障碍,确定专用的频率范围是支持无人车发展的关键
有了具体的频段,无人车才能在任何天气或交通状况下行使
13.2.6 5G通信尚未成熟
13.2.7事故追责
自动驾驶汽车行业必须在清除技术障碍的同时,开始着手解决法律责任的问题
13.2.8行车立法
政策制定者应考虑制定法律,将针对无人车的恶意行为定罪,通过对恶意行动立法,惩罚破坏无人车的行为
13.3无人驾驶产业
13.3.1产业现状
1.Uber
2.谷歌
3.宝马
4.奥迪
5.百度
6.长安汽车
7.特斯拉
8.沃尔沃
9.尼桑
10.福特
11.通用汽车
12.丰田汽车
13.3.2产业发展
两种趋势
预计至2025年,科技型公司将在智能汽车领域分得40% 的市场,而传统车企将坚持60%的市场
科技型公司
接跨越到高自动化无人驾驶,作为行业新进入者并无历史“包袱”,可以实现跨越式发展
在数据融合、 高精地图等方面具有技术优势,这些既有的优势将助力高速发展
传统整车厂
保有全产业链优势
产品安全可靠性更高
消费者对传统品牌认可度较高
科技企业与传统车企的合作越来越多,他们之间的联姻,包括合作与投资,也许会是激烈竞争
13.4全球化下的无人驾驶
13.4.1无人驾驶在中国
中国对无人驾驶的接受 程度非常高,因此大规模商业化之后,无人驾驶的推广也将更加迅速
在中国 大部分无人车的监管规范的制定都在国家一级,其自上而下的做法也能简化监管规则和程序
13.4.2无人驾驶在欧洲
欧洲国家发展无人驾驶乏力的原因之一是没有很多实力雄厚的本土技术公司
欧盟还应确保其数据保护规定不会对车辆和行人的移动和位置信息带来过分限制,从
而抑制无人驾驶所需的高精度地图的绘制
而抑制无人驾驶所需的高精度地图的绘制
13.4.3无人车在日韩
相比中美,日韩政府和车企一直对无人车持谨慎态度
13.4.4无人驾驶在美国
无人驾驶在美国的主要挑战在于解决监管碎片化的问题
13.5无人驾驶发展对策
13.5.1制定国家政策
ADAS
13.5.2改善高速公路基础设施
基础设施不完善是无人驾驶发展的重大技术障碍,因此改善高速公路应该是发展自动 驾驶汽车的重点
13.5.3允许道路测试和精准道路绘图
现有各国的法规都要求车辆行驶时司机必须在车内,而且双手置于方向盘上,这明显给全自动无人车的推广带来了限制
也需减少公路地图发展方面的限制
13.5.4制定技术标准
制定技术标准对自动驾驶汽车至关重要
更多地变成一个国家贸易保护的壁垒,成为产业竞争的制高点
13.6可预见的未来
13.6.1无人驾驶的黎明:现在一2020年
算法
客户端系统
云平台
13.6.2混合模式的时代:2020—2040年
传统的人为操控汽车及无人车将共存
13.6.3无人驾驶时代:始于2040年
预计所有的汽车将完全转变为无人驾驶模式
0 条评论
下一页