自动驾驶技术(0)——自动驾驶的大脑—控制工程篇

原文:《中国人工智能系列白皮书-智能驾驶 2017》

目录

智能汽车控制架构设计

自动驾驶控制核心技术组成

车辆纵向控制

车辆横向控制

自动驾驶控制方法

智能汽车控制架构设计

智能驾驶汽车通过搭载先进的车载传感器、控制器和数据处理器、执行机构等装置,借助车联网和 V2X 等现代移动通信与网络技术实现交通参与物彼此间信息的互换与共享,从而具备在复杂行驶环境下的传感感知、决策规划、控制执行等功能,以实现安全、高效、舒适和节能的自动或智能行驶。智能驾驶汽车代表了汽车技术和产业化的重要发展方向,也是未来汽车技术创新的主流趋势。

智能驾驶系统基于环境感知技术对车辆周围环境进行感知,并根据感知所获得的信息,通过车载中心电脑自主地控制车辆的转向和速度,使车辆能够安全、可靠地行驶,并到达预定目的地。无人驾驶是汽车智能化追求的终极目标,是信息通信等先进技术在汽车上的深度应用,体现了更便捷、更简单的人车交互方式,是对人的更大程度的「解放」。它将在减少交通事故、提高运输效率、完成特殊作业、国防军事应用等领域发挥至关重要的作用。

智能驾驶的关键技术是环境感知技术和车辆控制技术,其中环境感知技术是无人驾驶汽车行驶的基础,车辆控制技术是无人驾驶汽车行驶的核心,包括轨迹规划和控制执行两个环节,这两项技术相辅相成共同构成智能驾驶汽车的关键技术,其系统组成如图 4-1 所示。

智能驾驶的整个流程归结起来有三个部分:

  • 首先,是通过雷达、像机、车载网联系统等对外界的环境进行感知识别;

  • 然后,在传感感知融合信息基础上,通过智能算法学习外界场景信息,规划车辆运行轨迹,实现车辆拟人化控制融入交通流中;

  • 其次,跟踪决策规划的轨迹目标,控制车辆的油门、刹车和转向等驾驶动作,调节车辆行驶速度、位置和方向等状态,以保证汽车的安全性、操纵性和稳定性。

    如果能够默契地进行,那么整个智能驾驶流程就算完成了。因此研究自动驾驶的控制技术变得具有十分重要的意义。

因此,智能驾驶的系统将驾驶认知形式化,利用驾驶认知的图表达语言,设计通用的智能驾驶软件架构。在这一架构中,智能决策模块并不直接与传感器信息发生耦合,而是基于多传感器的感知信息、驾驶地图和车联网通信等先验信息综合形成的驾驶态势完成自主决策。智能驾驶试验平台软件的架构如图 4-2 所示,平台软件运行流程:

  • 多传感器信息处理模块,由驾驶认知的图表达语言统一输出构成驾驶态势实时信息;

  • 驾驶地图的信息,则根据车辆实时位置及朝向,映射到驾驶态势中,与驾驶态势实时信息融合,形成全面反映当前驾驶态势的公共数据池;

  • 车联网通信信息,利于 V2X 系统使得车与车、车与基站之间能够通信互联,获得周边交通流实时路况、路口标识、交通灯标示信息以及来自外部云服务器的超视距路况信息;

  • 决策控制模块,以这行驶环境信息数据池为基础,综合考虑交通规则、驾驶经验、全局路径等先验知识,完成决策。

    此外,融合了实时信息与先验知识的行驶环境信息数据池,也能够帮助传感器信息处理模块确定感兴趣区域、帮助定位模块提高定位准确性、帮助驾驶地图模块及时更新先验信息,提升智能驾驶的性能。

    智能汽车的软件架构将决策控制与传感器的感知信息解耦,增加或减少一路或几路传感器、改变传感器型号或安装位置,不再对决策控制直接造成影响。整个软件架构只需做很少的改动,甚至完全不需要调整,就可以在不同试验平台上方便的进行移植。

自动驾驶控制核心技术组成

智能驾驶汽车的车辆控制技术旨在环境感知技术的基础之上,根据决策规划出目标轨迹,通过纵向和横向控制系统的配合使汽车能够按照跟踪目标轨迹准确稳定行驶,同时使汽车在行驶过程中能够实现车速调节、车距保持、换道、超车等基本操作。

自动驾驶控制的核心技术是车辆的纵向控制和横向控制技术:

- 纵向控制,即车辆的驱动与制动控制;

- 横向控制,即方向盘角度的调整以及轮胎力的控制。

实现了纵向和横向自动控制,就可以按给定目标和约束自动控制车运行。所以,从车本身来说,自动驾驶就是综合纵向和横向控制。

但要真正实现点到点的自动驾驶运行,车辆控制系统必须获取道路和周边交通情况的详细动态信息和具有高度智能的控制性能。完善的交通信息系统和高性能、高可靠性的车上传感器及智能控制系统是实现自动驾驶的重要前提。由于点到点自动驾驶的难度,人们提出首先实现自动驾驶路段的概念,即在路况简明的高速公路段开辟可自动驾驶路段,进入这种路段可以启动白动驾驶,出这个路段时再转人手操纵。由于道路条件和车上控制系统性能的限制,目前考虑的自动驾驶结构几乎都是手动自动可转换的。

自动驾驶控制技术需要在智能驾驶汽车上配置各种对应的系统才能实现其复杂的功能,目前包络车道保持系统 LKA、自适应巡航控制系统 ACC、自动泊车系统、紧急制动和卫星导航系统等:

  • 车道保持系统 LKA:使汽车遵循道路标志和声音警告并在车辆开始偏移车道时调整方向,保证汽车沿着目标车道线行驶。

  • 自适应巡航控制系统 ACC:使汽车和前而的车辆始终保持一个安全的距离,确保无人驾驶汽车的安全性。

  • 自动泊车系统 AP:使无人驾驶汽车能够顺利地实现在停车位的倒入和离开。

  • 紧急制动系统 AEB:使汽车在遇到紧急情时能够充分有效制动,同时使无人驾驶汽车处于人类的监视和控制范围之内。

车辆纵向控制

车辆纵向控制是在行车速度方向上的控制,即车速以及本车与前后车或障碍物距离的自动控制。巡航控制和紧急制动控制都是典型的自动驾驶纵向控制案例。这类控制问题可归结为对电机驱动、发动机、传动和制动系统的控制。各种电机-发动机-传动模型、汽车运行模型和刹车过程模型与不同的控制器算法结合,构成了各种各样的纵向控制模式,典型结构如图 4-3 所示。

此外,针对轮胎作用力的滑移率控制是纵向稳定控制中的关键部分。滑移率控制系统通过控制车轮滑移率调节车辆的纵向动力学特性来防止车辆发生过度驱动滑移或者制动抱死,从而提高车辆的稳定性和操纵性能。制动防抱死系统(Aantilock Brake System)简称 ABS,在汽车制动时,自动控制制动器制动力的大小,使车轮不被抱死,处于边滚边滑(滑移率在 20% 左右)的状态,以保证地面能够给车轮提供最大的制动作用力值。一些智能滑移率控制策略利用充足的环境感知信息设计了随道路环境变化的车轮最有滑移率调节器,从而提升轮胎力作用效果。

智能控制策略,如模糊控制、神经网络控制、滚动时域优化控制等,在纵向控制中也得到广泛研究和应用,并取得了较好的效果,被认为是最有效的方法。而传统控制的方法,如 PID 控制和前馈开环控制,一般是建立发动机和汽车运动过程的近似线形模型,在此基础上设计控制器,这种方法实现的控制,由于对模型依赖性大及模型误差较大,所以精度差、适应性差。从目前的论文和研究的项目看,寻求简单而准确的电机-发动机-传动、刹车过程和汽车运动模型,以及对随机扰动有鲁棒性和对汽车本身性能变化有适应性的控制器仍是研究的主要内容。

目前应用的系统如巡航控制、防碰撞控制,都是自主系统,即由车载传感器获取控制所需信息,而往往缺乏对 V2X 车联网信息的利用。在智能交通环境下,单车可以通过 V2X 通讯信息系统获得更多周边交通流信息以用于控制。在纵向控制方面,可利用本车及周边车辆位置、当前及前方道路情况、前车操纵状态等信息实现预测控制,达到提高速度减小车间距的同时保证安全,即达到安全、高效和节能的目的。

车辆横向控制

车辆横向控制指垂直于运动方向上的控制,对于汽车也就是转向控制。目标是控制汽车自动保持期望的行车路线,并在不同的车速、载荷、风阻、路况下有很好的乘坐舒适性和稳定性。

车辆横向控制主要有两种基本设计方法:

  • 一种是基于驾驶员模拟的方法;

  • 另一种是给予汽车横向运动力学模型的控制方法。

基于驾驶员模拟的方法:

  • 一种策略是使用较简单的运动力学模型和驾驶员操纵规则设计控制器;

  • 另一策略是用驾驶员操纵过程的数据训练控制器获取控制算法。

    基于运动力学模型的方法要建立较精确的汽车横向运动模型,典型模型是所谓单轨模型,或称为自行车模型,也就是认为汽车左右两侧特性相同。

    横向控制系统基本结构如图 4-4。控制目标一般是车中心与路中心线间的偏移量,同时受舒适性等指标约束。

    针对低附着路面的极限工况中车辆横摆稳定控制是车辆横向控制中的关键部分。传统操纵稳定性控制思路,如电子稳定性控制系统(ESP)[46][47] 和前轮主动转向系统(AFS)[48][49] 等,控制分布的轮胎作用力和前轮转向,通过利用轮胎附着力和降低轮胎利用率来提高车辆稳定性。大多数文献沿袭冗余驱动的控制分配框架,通过改变内外侧轮胎驱/制动力差异的方法,增加单侧驱/制动转矩,并相应减小另一侧驱/制动转矩的方式为整车产生一个附加的横摆转矩来改善车辆转向动态特性,以保证车辆的横摆稳定性和行驶安全性。

电子控制技术和电气化的发展给汽车底盘技术的突破带来了革命性的契机,也使得汽车的整体集成控制成为可能。同时在智能网联的交通环境下,单车可以通过自身环境传感、定位导航和 V2X 通讯信息系统获得更多周边交通流信息以用于横向控制,以利于提前感知道路危险(图 4-5),提高智能驾驶的安全性。

自动驾驶控制方法

  • 传统控制方法

    传统的汽车控制方法主要有:PID 控制、模糊控制、最优控制、滑模控制(预测模型控制MPC)等,这些算法应用都较为广泛。

    PID 控制

    PID 控制器(比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。通过 Kp、Ki 和 Kd 三个参数的设定。PID 控制器主要适用于基本上线性、且动态特性不随时间变化的系统, 自动驾驶汽车控制系统具有高时延(Time-delay)、非线性Non-linear、参数不确定Parameter Uncertainty、多输入多输出动态系统等特点,而PID控制律不能很好的满足自动驾驶汽车的控制要求。

    PID 是以它的三种纠正算法而命名的。这三种算法都是用加法调整被控制的数值,其输入为误差值(设定值减去测量值后的结果)或是由误差值衍生的信号。

    模糊控制

    模糊逻辑控制策略(Fuzzy Logic Control Strategy)简称模糊控制(Fuzzy Control),其本质是一种计算机数字控制技术,集成了模糊理论、模糊集合论、模糊语言变量和模糊逻辑推理等。与经典控制理论相比,模糊逻辑控制策略最大的特点是不需要准确的数学公式来建立被控对象的精确数学模型,因此可极大简化系统设计和数学建模的复杂性,提高系统建模和仿真控制的效率。

    模糊控制系统在建模过程中,利用人类积累的相关知识和生活经验进行推理,模拟人类大脑处理复杂事件的过程,进而产生相应的控制思想,控制思想经过编译成为控制策略。模糊逻辑控制策略由工程人员的控制思路和实践经验积累编译而成,具有较佳的鲁棒性、适应性以及容错性。其主要由定义模糊变量、模糊变量模糊化、定义规则库、推理决策和逆模糊化五个环节组成。

    最优控制-Optimal Control

    最优控制理论是变分法的推广,着重于研究使控制系统的指标达到最优化的条件和方法。为了解决最优控制问题,必须建立描述受控运动过程的运动方程,给出控制变量的允许取值范围,指定运动过程的初始状态和目标状态,并且规定一个评价运动过程品质优劣的性能指标—-有约束的优化问题。

    通常,性能指标的好坏取决于所选择的控制函数和相应的运动状态。系统的运动状态受到运动方程的约束,而控制函数只能在允许的范围内选取。同时,最优控制的实现离不开最优化技术。

    最优化技术是研究和解决:1. 如何将最优化问题表示为数学模型,2. 如何根据数学模型尽快求出其最优解这两大问题。(建模与求解两大类问题)

    滑模控制

    在系统控制过程中,控制器根据系统当时状态,以跃变方式有目的地不断变换,迫使系统按预定的“滑动模态”的状态轨迹运动。变结构是通过切换函数实现的,特别要指出的是,通常要求切换面上存在滑动模态区,故变结构控制又常被称为滑动模态控制。

智能控制方法

相对于传统的控制方法,智能控制方法主要体现在对控制对象模型的运用和综合信息学习运用上,主要有基于模型的控制、神经网络控制和深度学习方法等,目前这些算法已逐步在汽车控制中广泛应用。

基于模型的控制

基于模型的控制 , 一般称为模型预测控制(Model Predictive Control,MPC),又可称为滚动时域控制(Moving Horizon Control,MHC)和后退时域控制(Receding horizon control,RHC),它是一类以模型预测为基础的计算机优化控制方法,在近些年来被广泛研究和应用的一种控制策略。

其基本原理可概括为:在每个采样时刻,根据当前获得的当前测量信息,在线Online求解一个有限时域的开环优化问题,并将得到的控制序列的第一个元素作用于被控对象,在一个采样时刻,重复上述过程,再用新的测量值刷新优化问题并重新求解。

区别:在线求解开环优化问题获得开环优化序列是模型预测控制与传统控制方法的主要区别。

预测控制算法主要由预测模型、反馈校正、滚动优化、参考轨迹四个部分组成,最好将优化解的第一个元素(或第一部分)作用于系统。

神经网络控制

神经控制是研究和利用人脑的某些结构机理以及人的知识和经验对系统的控制。利用神经网络,可以把控制问题看成模式识别问题,被识别的模是映射成「行为」信号的「变化」信号。神经控制最显著的特点是具有学习能力。它是通过不断修正神经元之间的连接权值,并离散存储在连接网络中来实现的。它对非线性系统和难以建模的系统的控制具有良好效果。

一般情况下,神经网络用于控制系统有两种方法:一种是用其建模,主要利用神经网络能任意近似任何连续函数和其学习算法的优势,存在前馈神经网络和递归神经网络两种类型;另一种是直接作为控制器使用。

深度学习方法—特征提取与模型拟合

深度学习源于神经网络的研究,可理解为深层的神经网络。通过它可以获得深层次的特征表示,免除人工选取特征的繁复冗杂和高维数据的维度灾难问题。 深度学习在特征提取与模型拟合方面显示了其潜力和优势。对于存在高维数据的控制系统,引入深度学习具有一定的意义,近年来, 已有一些研究关注深度学习在控制领域的应用。

目前较为公认的深度学习的基本模型包括基于受限玻尔兹曼机(Restricted Boltzmann machine,RBM)的深度置信网络(Deep belief network,DBN)、基于自动编码器(Autoencoder,AE)的堆叠自动编码器(Stacked autoencoders, SAE)、卷积神经网络(Convolutional neural networks,CNN)[6]、递归神经网络(Recurrent neural networks,RNN)。

无人驾驶系统需要尽量减少人的参与或者没有人的参与,深度学习自动学习状态特征的能力使得深度学习在无人驾驶系统的研究中具有先天的优势。如何充分利用和发挥深度学习在无人驾驶系统中的优势并发展深度学习在内的无人驾驶系统控制是目前的研究方向。