人工智能技术在智能驾驶控制中的应用

2022-08-03 02:41潘振华潘卫国
北京联合大学学报 2022年3期
关键词:控制器深度车辆

潘 峰,潘振华,熊 亮,潘卫国

(1.北京联合大学 机器人学院,北京 100101;2.北京理工大学 自动化学院,北京 100081)

0 引言

智能车辆的控制可解耦为横向和纵向控制,传统的控制方法一般从数学解析模型入手,将控制问题转化为优化问题,并使用数学算法进行求解。然而,较高精度的动力学和运动学模型都具有复杂的结构和大量的参数,往往求解困难,实时性较差。近年来,越来越多的基于人工智能的方法被引入智能汽车决策和控制中,开辟了一条和传统汽车工程完全不同的研究思路。

人工智能通常是指通过计算机技术来呈现人类智能,涵盖了计算机、仿生学、心理学及统计学等多门学科。李德毅院士提出了一种基于人工智能技术的自学习型控制决策核心的概念,并命名为“驾驶脑”[2]。Waymo公司为了进一步实现人工智能技术在智能驾驶中的成熟应用,于2019年收购了Latent Logic公司,这是一家专门研究使用模仿学习算法进行智能驾驶的高科技企业。同时,国内的智能驾驶研究及其商业化也在如火如荼地开展,除了新涌现的诸多造车新势力,还有以百度、华为为首的众多IT企业也通过与传统车企合作,开展智能驾驶的应用研究。2014年,百度公司启动“百度自动驾驶汽车”研发计划,随后不久就推出了Apollo智能驾驶系统,并于2016年在美国加州取得了自动驾驶牌照,随后又推出了百度大脑,进一步推动了人工智能技术在智能车辆领域中的应用。

智能车辆可视为一种轮式机器人,当处于复杂环境中时,如真实场景下的交通流中,传统的基于先验模型的控制器往往无法预见所有的复杂状况,而人工智能则具有自学习能力,智能控制器会在探索环境的过程中不断训练,从而逐步学习并优化其模型。传统的控制方法也可以结合人工智能技术,如模型预测控制(Model Predictive Control,MPC)的代价函数可以通过机器学习来获得,从而获得更好的稳定性和鲁棒性[3]。深度学习是人工智能领域具有革命性的技术,在智能驾驶感知层获得了众多成熟的应用,而且深度学习与强化学习相结合,还产生了深度强化学习(Deep Reinforcement Learning, DRL)。DRL具有深度学习的感知能力,还具有强化学习的决策能力,不但可以对输入的诸如图像(或雷达点云)这样的高维数据进行特征提取,还可以通过强化训练得到控制策略。人工智能方法的大量引入,使得智能驾驶系统在控制层面得到了更多的解决思路。

1 传统智能驾驶控制技术现状

1.1 智能驾驶系统架构

智能驾驶车辆系统的架构包括分层架构和端到端架构两种。大部分智能驾驶系统采用分层架构,如划分为感知、决策、控制和执行机构4个层次,如图1所示。端到端架构则通过深度学习等人工智能方法,直接将图像等传感器数据映射为控制器输出,如图2所示。

图1 通用无人驾驶系统框图Fig. 1 Universal Driverless System Framework

图2 端到端驾驶系统框图Fig. 2 End to End Driving System Framework

1.2 传统智能驾驶控制方法

大部分智能驾驶系统采用分层架构,控制层处于决策层和执行器之间,作为一个关键环节,起到了承上启下的作用。大多数研究都将控制层解耦为纵向控制和横向控制两种。纵向控制主要针对车辆纵向行驶时的速度和距离进行控制,既要满足车辆运动学和动力学约束,还要保证车辆的纵向安全车距,其输出大多为车辆加速度,并转化为具体的油门和制动指令。横向控制主要控制车辆的转向,引导车辆沿规划的路径行驶。横向控制器可视为一个路径跟踪控制器,其目标就是最小化车辆和规划路径之间的横向偏差和方向偏差,同时也要兼顾车辆的平滑运动以维持稳定性和舒适性[4]。

1.2.1传统的纵向控制方法

纵向控制系统主要控制的对象是速度和加速度,执行机构为油门和制动系统。智能驾驶车辆的纵向控制系统本质上是一个自适应巡航系统(Adaptive Cruise Control,ACC),其作用是保持安全车距和合理的车速。

两组脑梗塞患者在进入医院后,探讨疾病护理方案期间,对照组:选择常规护理方案完成;观察组:选择常规护理+早期护理干预方案完成;对于对照组,在患者病症表现平稳后,依据其基本表现,展开对应康复护理干预;对于观察组:

传统的纵向控制器只是简单的速度控制,大多采用PID或改进的PI控制方法。如斯坦福大学在2005年参加DARPA的参赛车辆——Stanley,使用的就是简单PI控制[5]。传统的PID方法虽然可以达到较高的速度控制精度,但是往往存在超调和执行延迟等问题,而且PID方法需要根据不同的工况和驾驶风格对参数进行调校,常常在某些工况下表现良好,而在另一些工况下却出现性能下降的现象。

为了增强ACC系统对复杂环境的适应性,现有的ACC系统大多采用分工况控制。分工况控制是根据不同的车辆跟随场景进行细分,在不同的场景下设计相应的控制算法。如距离控制模式和速度控制模式,其工况的切换逻辑是基于车间距与相对速度的变化进行设计的,最早由美国密歇根大学的Fancher等人提出,并被广泛采用[6]。Moon等采集了数百名驾驶者的跟车数据并对其进行分析,根据加速度的取值将跟随工况划分为急减速、普通和舒适3个工况,并基于碰撞时间和警报指标将ACC工作区域分为安全、危险、高速警报和低速警报[7]。裴晓飞等将车辆纵向运动状态划分为8种工况和6种控制模式,系统根据实际路况切换控制模式[8]。张德兆等将控制模式进一步细分,提出了接近前车和超车两种额外的控制模式,以及基于零期望加速度切换策略[9]。

1.2.2传统的横向控制方法

横向控制的本质是一个循迹控制。研究者们对驾驶员的驾驶行为进行分析,并通过建立驾驶员横向控制模型来实现对道路的跟随控制。从20世纪80年代早期到21世纪初期,最有影响力的研究是由MacAdam[10]和郭孔辉院士等[11]提出的最优预瞄控制理论。传统的横向控制器设计主要可分为基于经典控制理论的方法和基于几何的方法两类。

1)基于经典控制理论的方法

基于经典控制理论的方法又可以分为基于车辆模型和基于误差反馈两大类。

基于车辆模型的方法本质上是利用车辆动力学和运动学方程,并在各种约束条件下使用优化方法求解横向控制的最优解。在此类方法中,MPC[12]是运用较为广泛的。除此之外,Huang 等还提出了基于模糊控制的停车路径跟踪方法[13]。线性二次型调节器(Linear Quadratic Regulator,LQR)也是经常被使用的方法,Levinson等参加DARPA比赛就使用了LQR方法,该方法利用底层反馈信息求解最佳转向角,从而实现对车辆的横向控制。孙正平等提出了Ribbon模型,解决了预瞄距离和车辆速度相对于方向控制耦合度高的问题。王家恩等使用车辆状态信息及车路相对位置来生成期望的摆角速度[14]。百度在Apollo项目中的路径跟踪控制方法则综合使用了LQR和MPC两种方法[15]。

基于误差反馈的方法大多基于PID框架,此类方法的创新点大多集中于如何进行参数的整定和自适应上。赵盼等提出了一种自适应PID方法,实现车辆的横向控制[16]。Chatzikomis等基于横向误差和方向误差进行PD控制,其控制器的比例系数能够根据车速进行动态调整,从而协调侧向和纵向控制的耦合关系[17]。Talukdar等使用神经网络来优化PID的增益,使其在不同的速度下能够自适应[18]。高振海等通过简化的车辆动力学模型,对模型参数进行辨识,实现对PID控制器的参数整定[19]。陈焕明等引入遗传算法,实现PID控制器的参数优化[20]。丁海涛等使用预瞄—跟随模型,根据加速度反馈实现车辆的横纵向控制[21]。

2)基于几何的方法

基于几何方法的控制器是智能驾驶横向控制领域较为流行的方法,该类控制器通过车辆和预设路径之间的几何关系来计算理想的控制量。在这类控制器中,Pure Pursuit和Stanley是应用较早、使用最广泛的两种方法。

1985年,Wallace等首先提出了纯跟踪的基本原理,并将其应用在无人驾驶车辆的横向控制中,该方法利用车辆与道路中线的横向偏差来计算前轮的转角。Amidi等在该方法的基础上提出了正式的纯跟踪理论,并讨论了这种方法的应用。随后,Coulter详细描述了纯跟踪的应用细节,并将其应用到室内外机器人的横向控制中[22]。Rankin等将PID方法和纯跟踪方法相结合设计了一个控制器,并通过仿真和真实道路测试,证明了该方法的有效性[23]。Morales等利用纯跟踪方法对人、墙壁及走廊等进行跟踪,并应用于室内导航环境[24]。段建民等使用纯跟踪方法控制无人驾驶车辆,以实现对GPS轨迹的准确跟踪[25]。名古屋大学的Autoware项目中也使用了纯跟踪方法。

Stanley方法是基于几何模型的另一种广泛应用的方法,该方法使用了在2006年DARPA比赛中获得冠军的车辆名称命名。该方法综合考虑了方向误差和横向偏差,并基于车辆前轴的中心和预设轨迹上的最近点来计算误差。Snider等使用Stanley方法取得了很好的实验效果,然而该方法要求预设轨迹足够平滑,且该方法的鲁棒性相对于纯跟踪方法差一些。

2 基于AI的智能驾驶控制方法

2.1 学习型控制器

与具有固定参数的控制器不同,随着时间的推移,学习型控制器利用训练信息不断学习其模型。基于每批收集的训练数据,真实系统模型的近似值变得更加准确。研究者在很多工作中已经引入了简单的函数逼近器,用于训练学习型控制器,例如高斯过程建模[26]或支持向量回归等[27]。

人工智能中的机器学习技术也常用于学习动力学模型,从而改进迭代学习控制和模型预测控制中的先验系统模型。迭代学习控制主要应用于以重复模式工作的系统中,如智能控制的路径跟踪,并成功应用于越野地形导航,以及自动泊车和转向动力学建模等。模型预测控制一般通过解决优化问题来计算控制动作,能够处理具有状态和输入约束的复杂非线性系统。Lefèvre等将机器学习与MPC相结合学习驾驶模型[28],Brunner等则使用MPC结合人工智能来提高路径跟踪精度。这些方法使人们能够更好地预测车辆的干扰和行为,从而将最佳舒适度和安全性约束应用于控制输入。

学习型控制器的主要优点是,它们将传统的基于模型的控制理论与学习算法完美地结合在一起。这使得设计者仍然可以使用已建立的方法进行控制器设计和稳定性分析,以及在系统识别和预测中应用强大的学习组件。

2.2 端到端的智能驾驶控制

与传统的智能驾驶系统的分层架构不同,端到端的智能驾驶控制将原始图像等传感器数据直接映射到底层,取消了感知层和决策规划层。图2中的控制模型大多由深度神经网络构成,其模型的训练大致可以分为两大类:一类为模仿学习,主要基于监督式学习训练;另一类则基于强化学习的方法训练,大多使用深度神经网络,而且研究趋势逐渐由单一的图像传感器映射向多传感器数据融合的方向发展。Sallab使用深度强化学习DQN和DDAC方法并基于TORCS模拟器,实现了车道保持任务[29]。Bojarski使用深度学习技术来实现端到端的无人驾驶,即直接将感知层的图像映射到执行机构的动作[30]。Eraqi等使用C_LSTM方法结合机器视觉,训练无人驾驶横向控制模型[31]。Chi等使用真实的图像数据并通过深度神经网络,训练车辆的横向控制模型[32]。Lee等使用监督式学习和强化学习的方法训练模型,完成了车辆跟驰和换道任务[33]。Xiao等使用深度RGB数据并整合多种传感器信息作为神经网络的输入,基于CARLA模拟器,解决智能驾驶的控制任务[34]。Haris等也使用RGB图像和Lidar数据融合的方法,实现了端到端的智能驾驶控制,并基于CARLA模拟器进行了仿真[35]。

2.3 强化学习

深度学习的出现大大推动了监督式学习在智能驾驶感知领域中的应用,使得监督式学习被广泛应用于行人识别及交通标志识别等感知问题。除了目标识别,深度学习也被大量使用在驾驶场景理解、驾驶场景语义分割及车辆定位等方面。同时,基于模仿学习的端到端智能驾驶控制主要也是基于监督式学习方法。

机器学习的另一个主要类型是强化学习[36],其应用多集中于智能驾驶的决策层和控制层。2012年,Lange等使用深度拟合Q学习的方法训练微型赛车,在仿真环境下取得了媲美人类玩家的性能表现,这是深度强化学习应用于车辆控制的先例。然而,与众多智能驾驶研究一样,该方法并未在真实车辆平台上得到应用,主要因为其实时性达不到实际应用的要求,而且只能输出很少的离散化动作,不适于连续的动作空间。2016年,Sallab等用深度强化学习方法训练赛车,在开源赛车模拟器(TORCS)环境下实现了车道保持,其提出的 DDAC方法可用于连续动作空间,而且实现了良好的控制效果[29]。Sallab提出的端到端控制思想正是基于深度学习和强化学习的结合,由深度神经网络对高维输入进行特征提取,再使用强化学习方法训练智能体探索环境,最终将原始的高维图像映射为执行器的动作。这种方法的鲁棒性要超过传统基于模仿学习的方法。DQN方法是深度强化学习的典型方法,2017年,Hynmin Chae等就将DQN算法应用于车辆的刹车控制,主要解决避让行人的问题。Zong等在TORCS环境下使用DDPG方法训练智能体的速度控制和转向策略,达到自主避障的目的[37]。Shalev-shwartz等将LSTM方法和强化学习相结合,训练了一个ACC跟车模型,并解决了环岛汇入的控制[38]。杨顺提出了基于视觉场景理解的深度强化学习控制方法,该方法结合了深度学习和DDPG方法[39]。2018年,微软公司提出了分布式云端深度强化学习的框架,旨在提高强化学习的训练效率。Liang等参考人类学习的模式,提出了可控模仿强化学习(CIRL)的方法,并在CARLA模拟器环境中进行了测试,取得了较好的测试结果。这种方法的思想是先使用模仿学习方法,并基于监督式学习的训练方法对网络的权重初始化,再使用DDPG方法优化控制策略。这种方法比单独的模仿学习具有更好的鲁棒性,更加适应复杂的未知环境,而且训练也更加稳定。韩向敏等则使用DDPG算法训练智能车辆的纵向控制模型,该模型具有自学习能力,通过对控制策略的不断优化达到人类的控制水平[40]。潘峰等提出了基于人类驾驶特征的智能驾驶控制方法,该方法通过采集大量数据并分析得到人类驾驶员的驾驶特性,结合反向强化学习的方法,通过优化奖励函数引导智能体训练,最终使其驾驶行为更加符合人类驾驶习惯[41]

2.4 多智能体强化学习

多智能体强化学习(MARL)是专注于实现具有多个智能体的自主和自学习系统的领域,是强化学习算法在多智能体系统上的延伸,已经成为人工智能研究领域的一大热点,在智能驾驶控制中具有丰富的研究成果。Chu等通过将交通网格动态划分为更小的区域,并在每个区域部署一个本地代理来减少行动空间,应用于大中型交通灯控制[42]。Li等利用深度Q-learning (DQL)来控制交通灯,并部署深层堆叠自编码器(SAE)神经网络,从而减少表格型Q学习方法带来的巨大状态空间。Zhou等提出了一种基于边缘的分散强化学习方法,用于车内交通灯控制[43]。DRLE利用车联网的普遍性,加速交通数据的收集和解释,以更好地控制交通灯和缓解拥堵。Ngai等采用多目标强化学习框架解决车辆超车问题,根据每个目标的重要性构造一个融合函数,最终得出一个整体一致的行动决策[44]。Wu等提出了一种基于多智能体的深度强化学习(DRL)方法,允许智能体对非结构化输入数据做出动态决策,旨在解决车联网中边缘节点的资源分配问题(如通信资源、计算资源、频谱资源等的分配)[45]。Wang等提出了一种基于协作群的多智能体强化学习-ATSC (CGB-MATSC)框架,基于协作车辆的基础设施系统(CVIS)实现对大规模路网的有效控制[46]。Choe等提出一种基于协同强化学习(RL)的智能信道接入算法,车辆在该算法中以完全分布式的协调信道接入[47]。Kuši等提出了一种基于分布式多智能体强化学习的高速公路交通流时空控制方法[48]。Abdoos等利用博弈和强化学习,开发用于多个交叉口的交通信号控制器,提出了一种双模式智能体系结构,通过独立和协作的过程,有效地控制交通拥塞问题[49]。Khamis等开发了一个多智能体多目标强化学习(RL)交通信号控制框架,可在空间和时间维度上连续模拟驾驶员的加减速行为[50]。类似地,Balaji等提出一种基于分布式多智能体强化学习的交通信号控制方法,用于优化城市主干道网络的绿色配时,以减少车辆的总行驶时间和延误[51]。Yang等基于Software Defined Internet of Things(SD-IoT)采集数据,对交通灯和车辆进行控制,该方法具有较好的竞争性能和稳定性[52]。针对随机到达和不完全观察环境而对智能体产生噪声的自动公交车队控制问题,Wang等提出了一种结合高级策略梯度算法的多智能体强化学习方法[53]。

3 AI方法在智能驾驶控制中的挑战

智能驾驶实验具有极大的危险性,当前基于人工智能方法训练的模型大多使用视频游戏模拟引擎进行训练和仿真,如TORCS、CarSim和CARLA等。基于模拟仿真环境训练的模型往往因为虚拟世界的建模误差,而在真实实验平台上表现欠佳,生成对抗网络和对抗学习的出现则提供了一个解决思路。Ferdowsi等提出了一种新型对抗深度强化学习的方案,用于解决智能驾驶汽车在真实场景下测试的安全性问题[54]。然而,深度强化学习作为智能驾驶控制中较为常见的一种人工智能方法,也存在较多的挑战。

多智能体强化学习是强化学习目前发展的一个主要方向。在真实的交通场景中,驾驶员的决策往往是多个交通参与者相互博弈的结果。这种场景并不完全符合强化学习的理论基础——马尔科夫性,即在智能驾驶应用中,状态转换不但依赖于智能体自身的策略,也包括环境中其他参与者的策略。多智能体强化学习方法,如minimax-Q learning、Nash-Q learning等,就是用于解决这一问题的。然而,多智能体强化学习的训练算法比单智能体要复杂得多。

深度强化学习方法的另一难点是真实环境下的奖励函数设计。在强化学习的设定中,智能体不断探索环境并优化其策略,以获得累积的奖励最大化。奖励函数对于引导智能体训练并获得理想的策略至关重要,然而,在强化学习的实例中,奖励函数往往由系统设计人员手动编码,并未经过精心设计。虽然某些任务存在明显的奖励函数,如财务利润、游戏得分等,但是现实中的很多任务,其奖励函数都是未知的,真实环境中的奖励往往需要在多个因素之间进行权衡。错误或者不合理的奖励函数可能会造成智能体收敛到错误的方向或者得到并非最优的策略。以智能驾驶为例,不但要考虑安全性、稳定性,还要考虑如何让智能体学习到的行为策略更加符合人类驾驶习惯。北京联合大学的智能驾驶团队通过采集人类驾驶员的驾驶数据,并对其进行分析,再利用反向强化学习方法优化奖励函数,引导智能体在纵向控制方面更加符合人类驾驶习惯,提高跟车行驶的舒适性[41]。对于如何获取真实的奖励函数,模仿学习和反向强化学习都提供了较好的解决思路。研究奖励函数对智能体最终行为特性的影响也是智能驾驶中的一个研究热点[55]。

4 结束语

智能驾驶车辆的控制层是整个分层系统中的一个关键环节,良好的横纵向控制能够保证车辆行驶的安全性和舒适性。智能驾驶车辆的控制方法可分为传统方法和基于人工智能的方法。传统方法多基于精确的数学模型或者基于规则设计,然而在真实世界中,交通场景复杂多变,难以设计精确的数学模型,规则的数目也会随交通场景的复杂程度呈指数增长。人工智能方法的应用使得控制系统可以与环境交互并自主学习和优化,这种学习型控制器在充分探索环境并进行训练后能够更好地应对复杂的交通场景。对比两者,传统方法相对比较成熟,具有较强的数学可解释性,可通过调整数学模型参数来优化控制效果,然而复杂的高精度数学模型的求解仍然比较困难,难以保证实时性。人工智能方法的数学可解释性较差,但是其通过训练优化模型的自学习能力和应对高维特征的处理能力都是传统方法不具备的。在某些应用中,人工智能方法也可以和传统方法进行互补,如优化代价函数的求解及复杂模型的建模等。人工智能技术在智能驾驶领域展示出广阔的应用前景,但仍然面临诸多挑战。这也是该领域在未来进一步的研究方向,包括在多个复杂环境下的多智能体强化学习问题,在真实交通环境中的迁移、部署和测试问题,以及塑造符合人类驾驶员特性的奖励函数问题。

猜你喜欢
控制器深度车辆
三转子式比例控制器设计与内泄漏分析
南京溧水电子3款控制器产品
四增四减 深度推进
深度思考之不等式
德国车辆来波兰加油
简约教学 深度学习
基于NFV的分布式SDN控制器节能机制
车辆
冬天路滑 远离车辆
智能液位控制器在排水系统中的应用