人工智能技术在智能驾驶控制中的应用
1 引言
智能驾驶汽车是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,是各国重点发展的智能交通系统中一个重要组成部分,也是世界车辆工程智能化领域研究的热点和汽车工业增长的新动力。智能驾驶汽车的控制技术是整个自动驾驶系统中的关键环节,也是国内外广大学者重点研究的领域。在智能驾驶系统的分层结构中,控制层的功能是将来自决策系统的产生的路径规划转化为各执行机构动作,并控制各执行机构完成相应的动作,以此实现对路径的准确跟踪和速度的合理控制。传统的智能驾驶横/ 纵向控制的方法大多需要精确的数学解析模型,并对受控系统进行精确的数值求解,然而精度较高的模型一般也比较复杂,参数较多。复杂的模型也造成了较高的计算代价,使得求解困难,往往难以保证实时性。近年来,随着人工智能的迅速发展,研究人员开始基于人工智能的方法开发智能汽车决策和控制算法,开辟了一条不同于汽车工程专家的研究思路。
人工智能通常是只通过计算机技术来呈现人类智能,涵盖了计算机、仿生学、心理学、统计学等多门学科。目前,越来越多的基于人工智能的方法被应用到智能驾驶系统中来。李德毅院士认为基于自学习的“驾驶脑”是中国智能车实现对国外弯道超车的关键所在。2019 年,专业研发自动驾驶的公司Waymo 收购了专门研究模仿学习在自动驾驶中应用的Latent Logic 公司,这意味着Waymo 将在机器学习在智能驾驶中的应用领域展开更加深入的研究和开发。目前,国内的各大IT 也纷纷开展与传统汽车厂家的合作,共通开发智能汽车。百度公司自2014 年启动“百度自动驾驶汽车”研发计划以来,已经推出了Apollo自动驾驶系统, 并于2016 年取得了加州的自动驾驶牌照。百度还将自动驾驶汽车结合百度大脑,通过人工智能技术进一步推动智能驾驶汽车的进步。
传统控制器利用由固定参数组成的先验模型。当机器人用于复杂环境,如真实环境中的智能驾驶时,传统控制器无法预见系统必须应对的所有可能情况,而引入人工智能技术后,学习型控制器会利用训练信息来逐步学习并完善其模型。同时人工智能还可以和传统控制方法想结合,如学习模型预测控制(model predictive control,MPC)的代价函数,使人们更好地预测车辆的干扰和行为。由于智能驾驶控制问题具有高维度,状态和动作空间连续,非线性等特点。在自动驾驶中,人工智能领域中的深度学习的引入赋予了智能车辆较强的感知能力,但是缺乏一定的决策控制能力;然而深度学习和强化学习的结合起来的深度强化学习(deep reinforcement learning, DRL)则可以形成优势互补,为复杂系统的决策控制问题提供了解决思路。DRL 将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输入的图像(或雷达数据)进行控制,是一种更接近人类思维方式的人工智能方法。人工智能方
法的引入使得智能驾驶控制问题得到了更多的解决方案。
2 传统智能驾驶控制技术现状
2.1 智能驾驶系统架构
智能驾驶车辆系统架构可分为分层架构和端到端架构两种。大部分智能驾驶系统采用分层架构,即整个系统划分为感知层,决策层(含运动规划),控制层和车辆线控层四个层次,如图 1 所示。端到端架构则通过深度学习等人工智能方法,直接将图像等传感器数据映射为控制器输出,如图2 所示。
2.2 传统智能驾驶控制方法
大部分智能驾驶系统采用分层架构,其中控制系统作为智能车辆的底层,也是最重要的一个环节,一直是智能驾驶技术研究的重点领域之一。智能驾驶的控制技术主要包括横向控制和纵向控制。横向控制指的是车辆通过执行合适的转向运动引导车辆沿一个全局的几何路径行驶。路径跟踪控制器的目标就是最小化车辆和路径之间的横向距离,最小化车辆方向和路径方向的偏差,约束转向输入来平滑运动以维持稳定性。纵向控制则是根据道路形状,在满足车辆动力学和运动学约束以及安全车距的前提下,计算出期望的速度和加速度,并控制油门和制动系统加以实现。
2.2.1 传统纵向控制方法
纵向控制系统主要控制的对象是速度和加速度,执行机构为油门和制动系统。智能驾驶车辆的纵向控制系统本质上就是一个自适应巡航系统(adaptive cruise control,ACC),其作用是保持安全车距和合理的车速。
传统的纵向控制器只是简单的速度控制,方法大多采用PID 或改进的PI 控制。如斯坦福大学在2005 年参加DARPA 的参赛车辆——Stanley 就是使用的简单PI 控制。传统的PID 方法虽然可以达到较高的速度控制精度,但是往往都存在超调、执行延迟等问题,而且PID 方法需要根据不同的工况和驾驶风格对参数进行调校,往往存在某些工况下表现良好,在另一些工况下却性能下降的现象。
为了增强ACC 系统对复杂环境的适应性,现有的ACC 系统大多采用分工况控制。分工况控制是根据不同的车辆跟随场景进行细分,在不同的场景下设计相应的控制算法。如分为距离控制模式和速度控制模式,工况的切换逻辑是基于车间距与相对速度的变化设计,最早由美国密歇根大学的Fancher 等人提出,并被广泛采用。韩国首尔国立大学Moon 等人采集了数百名驾驶者的跟车数据并对其进行分析,根据加速度的取值将跟随工况划分为急减速、普通和舒适三个工况,并基于碰撞时间和警报指标将ACC 工作区域分为安全、危险、高速警报和低速警报。北京理工大学裴晓飞等将车辆纵向运动状态划分为八种工况和六种控制模式,由系统根据实际路况切换控制模式。清华大学的张德兆等人将控制模式进一步细分,提出了接近前车和超车两种额外的控制模式,以及基于零期望加速度切换策略。
2.2.2 传统的横向控制方法
横向控制又称为路径跟踪控制,其目标就是最小化车辆和路径之间的横向偏差,最小化车辆方向和路径方向的角度偏差,保证车辆跟踪精度的同时,提高转向运动的平滑和稳定。学者们对驾驶员的驾驶行为进行分析,并建立驾驶员横向控制的建模来完成实现对道路的跟随控制。从80 年代早期到本世纪初期,最有影响力的研究是MacAdam和郭孔辉院士 等提出的最优预瞄控制理论。
传统的横向控制器设计主要可分为基于经典控制理论方法和基于几何的方法两类。其中基于经典控制理论的方法又可以分为基于车辆模型和基于误差反馈的两大类。
基于车辆模型的方法本质上是利用车辆动力学和运动学方程并在各种约束条件下使用优化方法求解横向控制的最优解。在此类方法中,MPC 是运用较为广
泛的。除此之外,Huang S J 等人还提出了基于模糊控制的停车路径跟踪方法。线性二次型调节器(linearquadratic regulator,LQR)也是此类中经常被使用的方法。Levinson 等参加DARPA 比赛的车辆就使用了LQR 方法,该方法利用底层反馈信息求解最佳转向角实现车辆的横向控制。孙正平等提出了Ribbon 模型,解决了预瞄距离、车辆速度相对于方向控制耦合度高的问题。王家恩等使用车辆状态信息以及车路相对位置来生成期望的摆角速度。百度的Apollo 项目中的路径跟踪控制方法则综合使用了LQR 和MPC 两种方法。
基于误差反馈的方法大多基于PID 框架。此类方法的创新点大多集中于如何进行参数的整定和自适应上。赵盼等提出了一种自适应PID 方法实现车辆的横向控制。Chatzikomis 等使用基于横向误差和方向误差进行PD 控制,其控制器的比例系数能够根据车速进行动态调整以协调侧向和纵向控制的耦合关系。Saurav T 等使用了神经网络来优化PID 的增益,使其在不同的速度下能够自适应。高振海等通过简化的车辆动力学模型,对模型参数进行辨识,实现对PID 控制器的参数整定。陈焕明等引入了遗传算法实现PID 控制器的参数优化。丁海涛等使用了预瞄——跟随模型,根据加速度反馈实现车辆的横纵向
控制。
基于几何方法的控制器是目前智能驾驶横向控制领域较为流行的方法。该类控制器通过车辆和预设路径之间的几何关系来计算理想的控制量。在这类控制器中,PurePursuit 和 Stanley 方法是应用较早,使用最广泛的两种。
Wallace R 等于1985 年首先提出了纯跟踪的基本原理并将其应用在无人驾驶车辆的横向控制中,该方法利用车辆与道路中线的横向偏差来计算前轮的转角。Amidi O等在Wallace 的方法的基础上提出了正式的纯跟踪理论并讨论了这种方法的应用。随后Coulter R C 详细描述了纯跟踪的应用细节并将其应用到室内外的机器人的横向控制中。RanKin A L 等将PID 方法和纯跟踪方法结合设计了一个控制器,并通过仿真和真实道路测试证明了该方法的有效性。Morales J 等利用纯跟踪方法对人、墙壁、走廊等进行跟踪,并应用于室内导航环境。段建明等使用了纯跟踪方法控制无人驾驶车辆以实现对GPS 轨迹的准确跟踪。名古屋大学的Autoware 项目中也使用了纯跟踪方法。
Stanley 方法是基于几何模型的另一种广泛应用的方法。该方法使用了2006 年DARPA 的斯坦福大学的冠军车辆命名。该方法综合考虑了方向误差和横向偏差,并基于车辆前轴的中心和预设轨迹上的最近点来计算误差。Snider 等使用了Stanley 方法取得了很好的实验效果,然而该方法要求预设轨迹足够平滑,且该方法的鲁棒性相对于纯跟踪差一些。
3 基于AI 的智能驾驶控制方法
3.1 学习型控制器
与具有固定参数的控制器不同,学习控制器利用训练信息随着时间的推移学习其模型。随着每批收集的训练数据,真实系统模型的近似值变得更加准确。
在先前很多工作中已经引入了简单的函数逼近器用于训练学习型控制器,例如高斯过程建模或支持向量回归等。人工智能中的机器学习技术也通常用于学习动力学模型,从而改进迭代学习控制和模型预测控制中的先验系统模型。
迭代学习控制是一种控制以重复模式工作的系统的方法,如智能控制的路径跟踪,并成功应用于越野地形导航,自动泊车和转向动力学建模等。
模型预测控制一般通过解决优化问题来计算控制动作,能够处理具有状态和输入约束的复杂非线性系统。Lefvre等人使用机器学习与MPC 结合使用来学习驾驶模型,而Drews 等人则在使用机器学习技术学习极限驾驶下的赛车的驾驶动力学,Brunner 等人则使用MPC 结合人工智能用于提高路径跟踪精度。这些方法使人们能够更好地预测车辆的干扰和行为,从而将最佳舒适度和安全性约束应用于控制输入。
学习控制器的主要优点是,它们将传统的基于模型的控制理论与学习算法完美地结合在一起。这使得仍然可以使用已建立的方法进行控制器设计和稳定性分析,以及在系统识别和预测级别应用强大的学习组件。
3.2 端到端的智能驾驶控制
和传统的智能驾驶系统的分层架构不同,端到端的智能驾驶控制通过将原始图像等传感器输入直接映射到底层的控制命令,取消了感知层和决策规划层,如图 2 所示。图中的控制模型大多由深度神经网络构成,根据其训练方法不同,大致可以分为基于监督式学习的模仿学习方法和基于强化学习的方法,这一类方法大多使用深度神经网络,而且研究趋势逐渐由单一的图像传感器的映射向多传感器数据融合的方向发展。Sallab 使用了深度强化学习DQN和DDAC 方法基于TORCS 模拟器实现了车道保持任务。Bojarski 使用深度学习技术来实现端到端的无人驾驶,即直接将感知层的图像映射到执行机构的动。Zhou, Y.和Tuzel 则使用了深度学习技术实现了从3D 点云到控制命令的端到端控制[58]。Eraqi H M 等使用了C_LSTM 方法结合机器视觉训练无人驾驶横向控制模型。Chi L 等使用了真实的图像数据并通过深度神经网络训练车辆的横向控制模型。BJ Lee 等使用了监督式学习和强化学习的方法训练模型完成了车辆跟驰和换道任务。Yi Xiao 等人使用深度RGB 数据并整合了多种传感器信息作为神经网络输入,基于CARLA 模拟器解决智能驾驶的控制任务。Haris 等人也使用RGB 图像和Lidar 数据融合的方法实现了端到端的智能驾驶控制,并基于CARLA 模拟器进行了仿真。
3.3 强化学习
机器学习作为人工智能的一个重要分支,可分为监督式学习、非监督式学习和强化学习三大类。近年来深度学习的引入大大推动了监督式学习在智能驾驶感知领域的应用,使得监督式学习被广泛应用于行人识别,交通标志识别等感知问题。除了目标识别,深度学习也大量使用在驾驶场景理解,驾驶场景语义分割,车辆定位等方面。同时基于模仿学习的端到端智能驾驶控制主要也是基于监督式学习方法。
机器学习的另一个主要类型是强化学习。和监督式学习主要应用于无人驾驶的感知层不同,强化学习更多使用在决策和控制层。国际上最早将深度强化学习
应用在车辆控制领域为Lange 等人与2012 年使用深度拟合Q 学习的方法在微型赛车模拟器下进行训练并取得了良好的效果,其控制水平甚至超出了人类玩家。然而该方法仍停留在模拟器仿真阶段,其实时性难以达到实际应用的要求,而且只能应用于离散的低维动作空间。2016年,Sallab AE 等人使用深度强化学习方法在开源赛车模拟器(TORCS)上实现了车道保持控制,并对比了离散空间的DQN 方法和连续动作空间的DDAC 方法,证明了DDAC 方法能够得到很好的控制效果和平滑的运行轨迹。由于引入了深度学习方法,Sallab 提出了端到端深度强化学习的思想。归功于深度神经网络强大的特征提取能力,再结合强化学习的方法对智能体加以训练,可以直接将原始的图像映射为执行器的输出,而且在鲁棒性上超过了简单的监督式学习型的端到端控制。深度强化学习也逐渐代替了传统的强化学习方法。2017 年,Hynmin Chae等人使用DQN 算法训练智能体学习处理行人横穿马路的场景,实现了车辆的自主制动控制。Zong XiaoPeng等人使用DDPG 算法对智能体的加速度和转向控制进行训练以实现自主避障,并在TORCS 环境中进行了测试。Shalevshwartz 等人使用强化学习结合LSTM 算法在游戏环境中解决自动驾驶的纵向控制以及汇入环岛的控制问题。吉林大学的杨顺使用深度学习结合DDPG 算法提出了基于视觉场景理解的深度强化学习控制方法。随着强化学习在自动驾驶中的应用研究逐渐升温,为了提高强化学习的训练效率,微软与2018 年提出了分布式云端深度强化学习的框架,大大缩减了训练的时间。参考人类学习的过程,卡内基梅隆大学的Xiaodan Liang 等人将模仿学习和强化学习相结合,提出了可控模仿强化学习(CIRL)的方法,并在CARLA 模拟器中取得了良好的控制效果。这种方法先通过模仿学习对控制网络的权重进行初始化,然后通过DDPG 方法进行强化训练。这样不但可以解决DDPG 的参数脆性问题,而且比单独的模仿学习能够更好适应复杂环境。北京联合大学的韩向敏使用DDPG 算法实现了自动驾驶的纵向自动控制,而且使智能车辆可以在自学习过程中完成自适应巡航并不断改进,结果达到了人类驾驶员的控制水平。北京联合大学的智能驾驶团队对驾驶数据进行分析得到人类驾驶员的特征并设计强化学习的奖励函数实现无人驾驶的纵向控制,使得智能体在纵向控制方面更加符合人类驾驶习惯。
3.4 多智能体强化学习
多智能体强化学习(MARL) 是专注于实现具有多个智能体的自主、自学习系统的领域,是强化学习算法在多智能体系统上的延伸,已经成为人工智能学习研究的一大热点,在智能驾驶控制中具有丰富的研究成果。Chu 等人通过将交通网格动态划分为更小的区域,并在每个区域部署一个本地代理来减少行动空间。他们将多智能体强化学习应用于用于中大型交通灯控制。Li等人利用深度
Q-learning (DQL) 来控制交通灯,并提出部署深层堆叠自编码器(SAE) 神经网络来减少表格Q 学习方法带来的巨大状态空间。Zhou 等人提出了一种基于边缘的分散强化学习方法,用于车内交通灯控制。DRLE 利用车联网的普遍性,加速交通数据的收集和解释,以更好地控制交通灯和缓解拥堵。文献采用多目标强化学习框架解决车辆超车问题,根据每个目标的重要性构造一个融合函数,最终得出一个整体的一致的行动决策。Jing Wu等人提出了一种基于多智能体的深度强化学习(DRL) 方法,允许智能体对非结构化输入数据做出动态决策,旨在解决车联网中边缘节点的资源分配问题( 如通信资源、计算资源、频谱资源等的分配)。Tong Wang 等人提出了一种新的基于协作群的多智能体强化学习框架-ATSC (CGBMATSC),基于协作车辆的基础设施系统(CVIS) 实现对大规模路网的有效控制。C. Choe 等人 提出一种基于协同强化学习(RL) 的智能信道接入算法,该算法中车辆以完全分布式的协调信道接入。Kui K 等人提出了一种基于分布式多智能体强化学习的高速公路交通流时空控制方法。Monireh Abdoos 等人利用博弈和强化学习开发用于多个交叉口的交通信号控制器,提出了一种双模式智能体系结构,通过独立和协作的过程有效地控制交通拥塞问题。Mohamed A.Khamis 等人开发了一个多智能体多目标强化学习(RL) 交通信号控制框架,在空间和时间维度上连续模拟驾驶员的加减速行为。类似地,Balaji P G 等人提出一种基于分布式多智能体强化学习的交通信号控制方法,用于优化城市主干道网络的绿色配时,以减少车辆的总行驶时间和延误。Jiachen Yang 等人 提出了基于software defined Internet of things(SD-IoT)采集的数据,在全球范围内对交通灯和车辆进行控制,来提高城市交通控制的性能,该方法具有较好的竞争性能和稳定性。针对随机到达和不完全观察环境而对智能体产生噪声的自动公交车队控制问题,Sung-Jung Wang 等人提出了一种结合高级策略梯度算法的多智能体强化学习方法。
4 AI 方法在智能驾驶控制中的挑战
智能驾驶实验具有极大的危险性,所以当前的基于人工智能方法训练的模型大多使用视频游戏模拟引擎进行训练和仿真,如TORCS、GAT5 和CARLA 等。然而真实环境和虚拟环境之间存在较大的差异,往往只能采用数据集验证或离线数据回放等方式来验证模型的稳定性和鲁棒性,而基于模拟器的训练往往因为存在建模误差而导致将训练好的模型迁移到真实环境中的时候可靠性不佳。生成对抗网络的出现提供了解决这一问题的一个思路。美国弗吉尼亚理工大学电气与计算机工程系的Aidin Ferdowsi 和Walid Saad 教授, 以及瑞典爱立信研究院和美国罗格斯大学的两位教授, 针对自动驾驶汽车系统中的" 安全性" 问
题, 提出了一种新型对抗深度强化学习框架, 以解决智能驾驶汽车的安全性问题。
深度强化学习作为智能驾驶控制中较为常见的一种人工智能方法也存在较多的挑战。
首先虽然强化学习在智能驾驶控制领域多智能体强化学习也是强化学习目前发展的一个方向。在真实的交通环境中,交通的参与者并非只有一个,驾驶者的决策和控制往往是多个交通参与者互相博弈的结果。强化学习是基于马尔科夫决策过程的理论,然而,很多强化学习算法只是对马尔科夫过程的近似。在自动驾驶应用中,状态的转换并不一定只依赖于智能体采取的动作,也包括环境中其它参与者采取的动作。多智能体强化学习正是为了解决这一问题,如minimax-Q learning,Nash-Qlearning等方法。不可否认的是,在多智能体环境中的训练比单智能体更加复杂。
深度强化学习方法的另一挑战就是强化学习中奖励函数设计的问题。奖励函数的作用就是引导智能体不断优化其策略以获得期待的未来累积的奖励最大化。大部分强化学习的范例中的奖励函数通常是由系统设计人员手动编码。对于某些强化学习问题,通常可以找到一些明显的奖励函数,比如游戏中的得分,财务问题中的利润等等。但是对于某些实际应用中的强化学习问题,其奖励函数不但是未知的,而且需要权衡很多不同方面的需求。如果奖励函数设置不合理,则智能体就有可能收敛到错误的方向或者学到的是次优的策略。在智能驾驶应用中,奖励函数的设定不但要考虑到安全性和舒适性,还需要考虑如何让智能体更加符合人类驾驶员的驾驶习惯。然而,人类驾驶的控制行为比较复杂,在驾驶过程中需要权衡多方面的需求和约束,所以难以手动指定一个合理的奖励函数来引导智能体训练。而一个不合理的奖励函数会造成训练好的模型收敛到局部最小值甚至会出现糟糕的表现。北京联合大学的智能驾驶团队对驾驶数据进行分析得到人类驾驶员的特征并设计强化学习的奖励函数实现无人驾驶的纵向控制,使得智能体在纵向控制方面更加符合人类驾驶习惯。模仿学习和反向强化学习对于真实奖励函数的获取以及如何让智能体的表现更加接近人类表现提供了一个有效的解决方案并成为无人驾驶中的另一个研究热点。
5 结论
智能驾驶技术是世界车辆工程领域研究的热点和汽车工业增长的新动力,也是目前各国重点发展的智能交通系统中一个重要的组成部分。智能驾驶车辆的控制系统作为车辆行为层的关键环节对于车辆行驶的安全性和舒适性至关重要。传统的控制方法大多基于精确的数学模型或者基于规则设计。真实交通环境中复杂多变的交通场景使得难以设计精确的数学模型,而规则的数目也会随着交通场景复杂程度呈指数增长。大量基于人工智能方法的出现使得设计以数据驱动或与环境交互进行自主学习的控制系统成为可能,经过充分训练的学习型控制器也能够更好的应对复杂工况。我们对人工智能方法在只能驾驶控制领域的应用进行了充分调研和实验,并在本团队研发的“京龙”和“联合彩虹”无人驾驶智能车和仿真系统上进行了测试和比赛,取得了较好的效果和成绩。人工智能技术目前已经成为智能驾驶控制中的热门研究领域并展示了光明的应用前景。然而,各种人工智能方法在自动驾驶中的应用仍然面临诸多的挑战,也是未来这一领域进一步的研究方向,包括在真实交通环境中的部署和测试问题,在多个交通参与者环境下的多智能体强化学习问题以及针对人类驾驶员特性的奖励函数的塑造问题。
-
汽车测试网V课堂
-
微信公众号
-
汽车测试网手机站
编辑推荐
最新资讯
-
荷兰Zepp氢燃料电池卡车-Europa
2024-12-22 10:13
-
NCACFE -车队油耗经济性报告(2024版)
2024-12-22 10:11
-
R54法规对商用车轮胎的要求(上)
2024-12-22 10:10
-
蔚来ET9数字架构解析
2024-12-22 09:53
-
4G/5G网络新时代的高效紧急呼叫系统NG-eCal
2024-12-20 22:33