初识自动驾驶系统

近几年自动驾驶技术越来越火,前沿的人工智能、机器学习、大数据等技术也被应用到自动驾驶领域中,各大主机厂、自动驾驶解决方案提供商在不断加入和努力,行业在将自动驾驶技术由学术探索向商业化落地的方向持续推进。因此可以预见,未来自动驾驶方向将会吸引更多的企业和人才加入。本篇文章对于自动驾驶及相关技术进行初步介绍,适用于入门或科普。

自动驾驶(auto pilot)是指车辆能够依据自身设备对周围环境进行感知、理解,根据用户需求自动规划行驶路线,自行进行运动控制,且能达到安全、舒适、高效的乘车体验。自动驾驶是一门交叉学科,包括计算机技术、通信技术、信号处理技术、传感器技术等。若用一句话来概括自动驾驶技术,即“通过多种车载传感器(包括但不限于摄像头、激光雷达、毫米波雷达、GNSS、惯性传感器等)来确定自车状态和自车周围环境信息,并根据获得的环境信息(车辆位置、道路信息、交通信息、天气信息等)自主作出规划分析和决策,从而自主地控制车辆运动,安全到达目的地,最终实现自动驾驶”。

1.1 自动驾驶的意义

(1)提高道路交通安全

据统计,引发交通事故的主要原因有四个:1驾驶员分心,注意力不集中;2超速;3酒驾;4鲁莽行驶。但自动驾驶可以很好地解决这些问题:没有驾驶员,速度是规划好的安全速度,更不会有“斗气车”的情况发生。

(2)缓解城市交通拥堵

交通拥堵是大城市的通病,自动驾驶可以很好地解决这个问题,因为它能够提前规划路线,结合智能交通云端调度,可以使交通运行更有效率。此外,堵车或车辆较多的情况下,很多司机会选择加塞,这样会让交通更加拥堵,自动驾驶通过车辆之间的通信和配合,可以按照一定规则,有顺序的通过拥堵路段。

(3)提升出行效率

对于有人驾驶的出行服务,可能会遇到司机拒载,或是打不到车的情况,自动驾驶不会出现拒载现象,而且可以通过提前预定车辆、设置目的地,避免打不到车的情况发生,也提高了出行效率。

1.2 自动驾驶分级

对于自动驾驶的分级,常见的有两类,一类是由NHTSA(美国国家高速公路安全管理局)制定的L0-L4分级,另一类是由SAE(国际汽车工程师协会)制定的L0-L5分级。两类的对比如下表:

初识自动驾驶系统

对于SAE标准(目前比较常用)来说,L0级为完全人为驾驶;L1级称为辅助驾驶,增加了预警提示类的ADAS功能,主要是预警提示,并不会主动干预驾驶行为;L2级称为半自动或部分自动驾驶,该级别的系统已经具备了干预辅助类的ADAS功能,包括自适应巡航控制(ACC,Adaptive Cruise Control)、紧急制动刹车(AEB,Autonomous Emergency BraKing)、车道保持辅助(LKA,Lane keeping Assist)等,能进行简单的自动控制操作;L3级别被称为自动驾驶,相比于L2及以下仍需人类监控驾驶环境并需要驾驶员直接进行车辆控制,该级别下的系统已经具备了综合干预辅助类功能,包括自动加速、自动刹车、自动转向灯,车辆系统已经能够依靠自身传感器感知周围环境,但是监控任务仍需人类主导,在紧急情况下仍需驾驶员进行干预;L4是高度自动驾驶,是指在特定区域或限定环境下(封闭园区、半封闭高速公路等),可以实现车辆完全感知环境,并在紧急情况下车辆自主干预,无需人类驾驶员进行任何干预操作,L4级别中,车辆可以没有方向盘、油门、刹车踏板,L4与L3的区别在于紧急情况下是否需要人类驾驶员的干预;L5级即全自动驾驶,是自动驾驶的“共产主义”,在该级别下,不限场景和环境,车辆可以自主行驶,不需要任何人为干预。

我国于2020年也发布了《汽车驾驶自动化分级》,将驾驶自动化将按6级划分:

初识自动驾驶系统

目前大多数自动驾驶公司处于L2-L4级别的阶段(在可以预见的几年里,应该会一直处于这个阶段),自动驾驶车辆需要在特定区域行驶,车辆需要配备安全员,在紧急情况下,安全员随时准备接管车辆。目前宣称已实现L4级别的多少含有水分,相关的技术、成本、市场、法律法规等,仍有很多问题亟待解决,特定场景下车辆行驶顺畅,不能代表在其他区域、天气也能正常行驶。自动驾驶技术存在一种“长尾效应”,即最后5%需要解决的技术问题可能需要花费95%的精力去做。而这5%的问题往往决定了这项技术或应用能否落地。

1.3 自动驾驶的难点

上文提到自动驾驶目前所处的阶段主要是L2-L4,之所以停留在这个阶段,是因为自动驾驶遇到的一些难题还未有较好的解决方案。

难题一:路况复杂且多变

结合我国的实际情况,在乡镇环境中很多道路没有清晰的车道线和道路标志,此外行人、自行车和各类汽车常常是共用一条道路,在城市环境中人员较多,行人走动有很大不确定性难以预测。再加上晴雨、下雪天,不同季节环境的变化等,都对自动驾驶技术提出了很多挑战。对于这些复杂场景,训练有素、头脑清醒、肢体协调的人类驾驶员大多可以根据自己的知识和经验从容应对,但对于多学科、多技术交叉的自动驾驶来说,往往需要多项技术的共同进步才能较好的解决其中一个问题。

难题二:法律法规多样性

不同国家的交通规则通常也不一样,如英国的驾驶习惯是靠左,中国是靠右行驶。交通标志更是各式各样,表示的含义也大为不同。

初识自动驾驶系统

难题三:“高期望”

人们对于机器往往会有较高的期望,比如全球每年因为交通事故的死亡人数高达一百多万,但对于自动驾驶行业,每出一起安全事故,都会受到人们的广泛关注。究其原因,主要是批量生产的机器如果存在问题,往往会使得该问题在同批次的其他机器也会复现,导致事故大规模发生。因此人们对自动驾驶的安全性期望非常高,但由于外界环境的复杂和车辆自身的设备以及稳定性等方面原因,实现可靠的安全保障还有一段路要走。

难题四:成本

自动驾驶落地产业主要是面向普通消费者,因此成本问题必须考虑。目前汽车的成本并不算高,消费者几万元就能买一辆汽车。但自动驾驶投入的研发、设备以及后期运维,都会使得搭载自动驾驶系统的汽车成本大幅度增加,例如自动驾驶系统中常用的激光雷达,满足L4级别的激光雷达普遍售价在10万美元以上,仅仅是一个硬件设备的费用就已超过了普通整车的价格。因此如何降低自动驾驶汽车的成本也是必须要解决的一个难题。

此外,还有安全维护、责任归属、量产规模等问题,都是使自动驾驶级别限制在L2-L4的原因。但这些难题也恰恰说明了自动驾驶领域还有很多可以做的事情,还有很大的市场空间可以开拓。

1.4 自动驾驶基本框架

自动驾驶的核心可以分为三个模块:感知(Perception)、规划(Planning)和控制(Control),这三个部分与环境以及车辆硬件,构成了自动驾驶的基本框架。

初识自动驾驶系统

自动驾驶系统实际上是一个分层的结构,感知、规划和控制模块各自发挥不同的作用并相互影响。

(1)感知是指自动驾驶车辆从周围环境中收集信息并从中提取、转化相关数据的能力。感知又可以分为两个模块:环境感知和定位。其中,环境感知(Environment  Perception)指系统对周围环境的识别理解能力,如对障碍物的识别与分类、车道线和交通标志的识别与提取、行人车辆的识别与预测等;定位(Location)是对感知结果的后处理,通过定位功能从而帮助车辆确定其所处位置信息。感知是与传感器接触最为紧密的模块,需要通过各种传感器获取感知原始信息,常用的传感器有激光雷达、摄像头、毫米波雷达、超声波雷达、RTK、惯导等,根据算法和应用场景的不同,对传感器的选择和侧重有相应的差别。

初识自动驾驶系统

(2)规划是指自动驾驶车辆为了从当前位姿到达指定位姿而做出的一系列计划。规划可以分为3个部分,首先是导航规划,即规划出一条跨度很大的线路,一般是出发地到目的地的路线,也可以叫做导航线路。然后需要根据行驶过程中的当前情况做出决策,决定加速、减速、停车等动作。最后需要根据做出的决策规划出一条短期的线路。这和人开车是一样的道理,你首先导航好具体的线路,然后根据当前的路况来开车,直到到达目的地。

初识自动驾驶系统

(3)控制是指自动驾驶车辆精准执行规划好的路线、动作的能力,及时给予车辆执行单元合适的油门、方向、刹车信号等,以保证自动驾驶车辆能够按预期行驶。也就是规划模块生成好具体路径之后,交给控制模块,控制模块需要按照规划好的线路去执行,目前有2种实现,一种是PID控制(PID controller - Wikipedia),PID是控制学中很常见的方式,比如电机的控制,简单的来说,就是根据当前的误差(汽车预期的位置和实际的位置之差)来进行调节,如果偏左了,就把方向盘往右打一点,如果偏右了就把方向盘往左打一点。PID模型比较简单,由于PID模型对反馈速度的要求很高,而汽车传动的模型相对没那么快,比如刹车,汽车不是立即就刹停了,所以就要求能够用模型来描述刹车的过程,这里采用了MPC控制(Model predictive control),即基于模型的控制方法。好处是可以通过模型来描述汽车的运动轨迹,坏处是运算量太大,不一定能够算出固定解。

参考:

自动驾驶中的决策规划算法概述

自动驾驶规划控制