本文来自微信公众号“智驾最前沿”。
自动驾驶系统是一个集环境感知、决策控制和动作执行等功能于一体的综合系统,是充分考虑车辆与交通环境协调规划的系统,也是未来智能交通系统的重要组成部分。本文着重分析自动驾驶决策控制的相关技术,探索未来的发展方向。
自动驾驶系统简介
通常意义上,自动驾驶系统可以分为感知层、决策层、执行层。
感知层
感知层被定义为环境信息和车内信息的采集与处理,涉及道路边界检测、车辆检测、行人检测等多项技术,可认为是一种先进的传感器技术,所采用的传感器包括激光雷达、摄像头、毫米波雷达、超声波雷达、速度和加速度传感器等。由于单一传感器存在感知的局限性,并不能满足各种工况下的精确感知,自动驾驶汽车要实现在各种环境下平稳运行,需要运用多传感器融合技术,该技术也是感知层的关键技术。
决策层
决策层可以理解为依据感知信息来进行决策判断,确定适当工作模型,制定相应控制策略,替代人类驾驶员做出驾驶决策。这部分的功能类似于给自动驾驶汽车下达相应的任务。例如在车道保持、车道偏离预警、车距保持、障碍物警告等系统中,需要预测本车及相遇的其他车辆、车道、行人等在未来一段时间内的状态。先进的决策理论包括模糊推理、强化学习、神经网络和贝叶斯网络技术等。由于人类驾驶过程中所面临的路况与场景多种多样,且不同人对不同情况所做出的驾驶策略应对也有所不同,因此类人的驾驶决策算法的优化需要非常完善高效的人工智能模型以及大量的有效数据。这些数据需要尽可能地覆盖到各种罕见的路况,而这也是驾驶决策发展的最大瓶颈所在。
执行层
执行层是指系统在做出决策后,按照决策结果对车辆进行控制。车辆的各个操控系统都需要能够通过总线与决策系统相连接,并能够按照决策系统发出的总线指令精确地控制加速程度、制动程度、转向幅度、灯光控制等驾驶动作,以实现车辆的自主驾驶。
图1自动驾驶系统简介
决策控制系统介绍
传统意义上自动驾驶系统的决策控制软件系统包含环境预测、行为决策、动作规划、路径规划等功能模块。
环境预测模块
环境预测模块作为决策规划控制模块的直接数据上游之一,其主要作用是对感知层所识别到的物体进行行为预测,并且将预测的结果转化为时间空间维度的轨迹传递给后续模块。通常感知层所输出的物体信息包括位置、速度、方向等物理属性。
利用这些输出的物理属性,可以对物体做出“瞬时预测”。环境预测模块不局限于结合物理规律对物体做出预测,而是可结合物体和周边环境以及积累的历史数据信息,对感知到的物体做出更为“宏观”的行为预测。例如在图2中,通过识别行人在人行道的历史行进动作预测出行人可能会在人行道上穿越路口,而通过车辆的历史行进轨迹可判断其会在路口右转。
图2环境预测示意图
行为决策模块
行为决策模块在整个自动驾驶决策规划控制软件系统中扮演着“副驾驶”的角色。这个层面汇集了所有重要的车辆周边信息,不仅包括了自动驾驶汽车本身的实时位置、速度、方向,还包括车辆周边一定距离以内所有的相关障碍物信息以及预测的轨迹。行为决策层需要解决的问题,就是在知晓这些信息的基础上,决定自动驾驶汽车的行驶策略。
由于需要考虑多种不同类型的信息,行为决策问题往往很难用单一的数学模型来求解,而是要利用一些软件工程的先进理念来设计规则引擎系统。例如在DARPA挑战赛中,Stanford的无人车系统利用一系列cost设计和有限状态机来设计无人车的轨迹和操控指令。现阶段马尔可夫决策过程的模型也开始被越来越多的应用于自动驾驶系统行为层面的决策算法实现当中。简而言之,行为决策层面需要结合环境预测模块的结果,输出宏观的决策指令供后续的规划模块去更具体地执行。
动作规划模块
自动驾驶汽车规划模块包括动作规划和路径规划两部分。动作规划模块主要是对短期甚至是瞬时的动作进行规划,例如转弯、避障、超车等动作;而路径规划模块是对较长时间内车辆行驶路径的规划,例如从出发地到目的地之间的路线设计或选择。
自动驾驶系统的设计思路是建立若干个行驶状态,通过不同的条件触发行驶状态切换。这种设计思路存在切换过程平顺性较差问题。在实际的系统设计过程中主要采用将道路中的真实目标和非真实目标都描述成虚拟质点的方法来强化车辆行驶的平顺性。其中,真实目标主要是指车辆、行人等因素;非真实目标包括限速、红灯、停车点、道路曲率、天气条件等。基于虚拟质点模型方法的优势在于将算法模型统一,有效避免了传统控制算法中因目标或控制模式切换产生的车辆加减速度跳变的问题。
路径规划模块
自动驾驶汽车路径规划模块是指在一定的环境模型基础上,给定自动驾驶汽车起始点和目标点后,按照性能指标规划出一条无碰撞、能安全到达目标点的有效路径。路径规划主要包含两个步骤:建立包含障碍区域与自由区域的环境地图,以及在环境地图中选择合适的路径搜索算法,快速实时地搜索可行驶路径。路径规划结果对车辆行驶起着导航作用,它引导车辆从当前位置行驶到达目标位置。环境地图表示方法主要分为度量地图表示法、拓扑地图表示法等。
发展趋势
人工智能机器学习、深度神经网络以及联网通讯等技术的发展,进一步丰富了自动驾驶汽车发展的技术路径,也促进了自动驾驶技术由单一的样机演示向具备一定落地应用能力并可实现自主定位的典型交通场景的方向发展。
人工智能
人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它意在探索智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。其一大重要的应用领域就是自动驾驶,主要目标是使自动驾驶汽车具备一定的自主学习能力,并能对简单交通环境形成记忆性认知,现阶段人工智能技术在自动驾驶汽车领域的主要应用体现在以下几个方面。
1、实现对环境物体的识别与认知
利用多目视觉、激光雷达、毫米波雷达等传感器件及识别算法,可以实现对实际道路环境中多曲面物体的准确识别。同时融入深度学习技术后,可对各物体三维空间尺寸及特征信息形成迭代分类,从而使自动驾驶汽车具有对多种类环境物体的识别与认知能力。
2、实现对可行驶区域的检测
利用基于先进传感器的地图采集技术可以提取道路的详细标注(标志、标线、信号灯等)和高精度位置(经度、纬度、高度等)等信息,从而实现自动驾驶汽车对道路平面特征的提取,同时基于深度学习可实现对道路可行驶、不可行驶区域的认知识别。
3、实现行驶路径的规划与决策
决策规划处理是人工智能技术在自动驾驶中的另一个重要应用场景。现阶段主流的人工智能方法包括状态机、决策树、贝叶斯网络等。伴随着深度学习与增强学习技术的发展,现已实现了对复杂工况的决策并能进行在线优化学习。由于在实际道路中影响驾驶路径规划的因素非常多,势必会占用较多的计算资源。为提高计算效率,日本研究学者提出了“安全场”的研究思路,即形成典型交通场景作为深度学习神经网络的输入,以提高自动驾驶汽车的决策效率,提升路径规划能力。
图3基于机器学习的非结构化道路检测框架
智能网联
结合通讯技术的发展,运用车与车、车与路、车与人、车与云之间的实时通讯技术,可为人工智能技术在自动驾驶技术应用过程中的数据、计算与算法等三大要素提供进一步支持,还可面向多车型、多场景智能驾驶需求,提供解决群体智能驾驶系统协同驾驶所面临的问题。基于智能网联的车云协同自动驾驶系统的具体架构如下图4所示。
图4基于人工智能的车云协同自动驾驶系统构建方案示意图
该架构方案分为基于AI的自动驾驶智能终端和基于大数据分析的自动驾驶云端系统两部分,共同形成了一种集复杂环境精确感知、通行智慧决策与行车控制优化执行的车云协同一体自动驾驶系统。车云协同技术在不同的行车工况与应用场景中,可实现精准的行车环境感知、智慧通行决策与优化行车动作控制,并实现车端与云端之间的信息数据交互与协同。
基于智能网联的自动驾驶系统车云协同技术主要解决多源异构数据融合不足和前端设备计算力不够的问题,即将车身传感器节点的采样数据(如GPS/INS数据、毫米波雷达数据)和多媒体数据(如摄像头图像)按一定频率传输到云端数据库,同时进行在线处理、离线处理、溯源处理和复杂数据分析。并基于人工智能集成应用算法的智能驾驶控制模型,为车辆决策提供可靠、高效的协同控制方案。
人工智能算法应用技术云平台是自动驾驶云端系统的核心部分,其结合机器学习、数据挖掘等相关技术,对感知融合信息进行分析,为车辆控制规划提供决策依据。并利用虚拟化技术及网络技术整合大规模可扩展的计算、存储、数据、应用等分布式计算资源完成人工智能模型算法的学习训练,实现在云端训练人工智能模型,并通过车云协同技术将其部署到嵌入式平台,使人工智能算法在车端自动驾驶系统上得到深度应用。
目前网联技术在自动驾驶领域的应用主要集中在信息服务和顶层监控,通过智能网联的技术路线实现高度自动驾驶仍需要解决信息安全、传输时延、网络覆盖等棘手问题才能真正落地应用。
智能计算平台
自动驾驶汽车从交通运输工具逐步转变为新型移动智能终端。汽车功能和属性的改变导致其电子电气架构随之改变,进而需要更强的计算、数据存储和通信能力作为基础,车载智能计算平台是满足上述要求的重要解决方案。
车载智能计算平台主要完成的功能是以环境感知数据、导航定位信息、车辆实时数据、云端智能计算平台数据和其他V2X交互数据等作为输入,基于环境感知定位、智能规划决策和车辆运动控制等核心控制算法,输出驱动、传动、转向和制动等执行控制指令,实现车辆的自动控制,并向云端智能计算平台及V2X设备输出数据,还能够通过人机交互界面,实现车辆驾驶信息的人机交互。