姓名:张艺伦 学号:17011210282
转载自:https://www.zhihu.com/question/24506695/answer/141427297,有删节
【嵌牛导读】:本文简单介绍了无人驾驶以及现阶段自动驾驶发展情况,之后进一步介绍了 自动驾驶涉及到的一些通用技术何其存在的问题。
【嵌牛鼻子】:自动驾驶,通用技术。
【嵌牛提问】:自动驾驶主要涉及了哪些技术?它们存在哪些问题?
【嵌牛正文】:
一般而言,无人驾驶系统一般有三大模块
1.环境感知模块
无人驾驶汽车是通过传感器来感知环境信息。比如摄像头、激光雷达、毫米波雷达以及工业相机是用于获取环境信息;而GPS等用于获取车身状态的信息。当然还需要通过算法提取出有用的信息。
2.行为决策模块
行为决策是指无人驾驶汽车根据路网信息、获取的交通环境信息和自身行驶状态,产生遵守交通规则的驾驶决策的过程。
用人话说就是规划出一条精密的行驶轨迹,然后无人驾驶车就可以跟着这条轨迹走。
3.运动控制模块
运动控制模块是根据规划的行驶轨迹和速度以及当前的位置、姿态和速度,产生对油门、刹车、方向盘和变速杆的控制命令。
无人驾驶技术实现上有两大派系
无人驾驶的实现路径大概有两大派系,一派是以谷歌为主的互联网公司,一派以特斯拉为首的汽车制造商。
谷歌的蓝图是无人车完全取代人来驾驶,把无人车看成机器人,所以没有方向盘、油门和刹车。
谷歌无人车顶上是约8万美元的64线激光雷达(Lidar)。它在高速旋转时发射激光测量与周边物体的距离,再根据距离数据描绘出精细的 3D 地形图,并跟高分辨率地图数据相结合建模,帮计算机做决策。
由此可知,这条技术路线的关键是对周围环境的模拟和3D地图数据,而谷歌在这方面有深厚的积累。
而特斯拉的计划是从机器辅助驾驶进化到完全自动驾驶。所以技术上逐步实现自动刹车、定速巡航、自适应巡航等,最终完全自动驾驶。
特斯拉 Model S主要是靠摄像头结合计算机视觉,特斯拉辅助驾驶使用的硬件包括前置摄像头、前置雷达(相对廉价的毫米波雷达)、12个超声波传感器。
那么自动驾驶汽车涉及哪些技术呢,下面是一些通用的技术:
训练一个自动驾驶的决策模型
行为决策是指根据路网信息、获取的交通环境信息和自身行驶状态,产生遵守交通规则的驾驶决策的过程。这个解决方案可以是现在很火的深度学习,来实现模仿性学习(Behavioral Cloning)。
识别并跟踪障碍物
这个问题的解决方案是传感器融合算法,利用多个传感器所获取的关于环境全面的信息,通过融合算法来实现障碍物识别与跟踪,常用的算法包括卡尔曼滤波法等。
根据周边信息,在地图上定位车俩
在地图上定位汽车,这一块实现的差异很大。由于民用GPS误差过大,不能直接用于无人驾驶。
有一类定位是通过激光雷达使周围物体和自车的距离的精度达到厘米级,配合三维地图数据可以将车辆定位至几厘米~ 十几厘米的程度
还有一类通过还计算机视觉的方案来定位。
从相机中识别行人
从相机中识别行人是一个计算机视觉问题,需要利用摄像机识别出物体(在这里是人),这里有单目,也有双目的方案,可以调用OpenCV的一些包来实现。
车道识别
车道识别也是计算机视觉问题,有成熟的道路检测算法( lane finding)。
车辆的自适应巡航控制
车辆的自适应巡航控制(ACC)是在定速巡航控制的基础上,通过距离传感器实时测量本车与前车的距离和相对速度,计算出合适的油门或刹车的控制量,并进行自动调节,这一块有不少成熟的方案。
让汽车在预定轨迹上运动
让汽车在预定轨迹上运动是一个机器控制和规划问题,一个难点在于躲避突发障碍之后动态路线规划。