第5章自动驾驶汽车控制 5.1 汽车运动控制理论 5.1.1经典控制理论 1. PID控制基本内容 对于实际的工程问题,应用最多的控制方法是比例积分微分(Proportion Integration Differentiation,PID)控制,即PID控制。基于PID控制理论设计的PID控制器已有接近60年的历史,因其结构简单、工作可靠、稳定性好、参数调整便利而成为工业控制的主要工具。当不能精确掌握被控对象的数学模型和控制参数时,其他控制理论的使用受到很大局限,需要依靠经验和现场调试来确定控制器结构和控制参数,此时PID控制器是一个有效的解决方案。PID控制包含以下三个过程。 1) 比例控制 比例控制是PID控制中最简单的控制方式,比例控制的输出与输入的误差值成比例关系,但仅有比例控制时,系统的输出一般存在稳态误差。 2) 积分控制 积分控制的输出与输入误差值的积分成正比关系。对于一个控制系统,如果系统在进入稳态后仍然存在一定的稳态误差,就称其为有差系统。为了消除这部分稳态误差,必须在控制器中引入“积分项”。对误差求关于时间的积分可知,随着时间的增加,积分项的值会随之增大。因此,即使误差很小,随着时间的增加积分项也会越来越大。积分控制使控制器的输出增大的同时,使稳态误差进一步减小,直到误差完全消除。 因此,比例控制和积分控制相结合,可以使系统快速进入稳态,并且无稳态误差,一般称为PI控制。 3) 微分控制 微分控制的输入与输出误差值的微分(即误差变化率)成正比关系。控制系统在消除误差的过程中可能会出现频繁振荡甚至失稳现象,其原因是因为系统中存在较大惯性或滞后的环节,使得消除误差的环节的变化总是滞后于误差的变化。解决该问题的方法是使消除误差的环节的变化“超前”,也就是在误差接近零时,消除误差的环节已经是零。因此,在控制器中只适用比例控制往往是不够的,因为比例项的作用是放大误差的幅值,而这种情况下需要增加的是微分控制,因为它能够预测系统误差的变化趋势。 所以,具有比例控制和微分控制的控制器,能够提前使消除误差的控制环节为零,甚至变成负值,从而避免出现被控量严重超调的情况。对具有较大惯性和滞后特点的控制对象,比例控制和微分控制能改善系统在动态调节过程中的系统特性。 综上所述,PID控制就是根据系统的误差,通过比例、积分、微分三个过程计算出控制量,然后输入到被控对象。一般的PID控制器的结构如图5.1所示。 ■ 图5.1一般的PID控制器的结构 如图5.1所示,在时域中控制器输出量和输入量之间的关系可以表示为: u(t)=Kpe(t)+Tdde(t)dt+1Ti∫e(t)dt(5.1) 其中,e(t)为误差,即控制器的输入,u(t)为控制器的输出,Kp为比例系数,Td为积分时间常数,Ti为微分时间常数。式(5.1)可经过拉普拉斯变换为: U(s)=Kp+Kds+KisE(s)(5.2) 其中,U(s)、E(s)分别为u(t)、e(t)的拉普拉斯变换,Kd=KpTd、KiKpTi分别为控制器的积分时间常数和微分时间常数。 2. PID参数的调整 在对PID参数进行调整时,最理想的方法是通过理论方法计算PID参数,但在实际的应用中,往往是通过试凑法来确定PID参数。例如,当增大比例系数时,一般会加快系统的响应速度,在系统存在稳态误差时,该方法有利于快速减小稳态误差。但是,比例系数过大,容易使系统出现较大的超调量,且产生振荡,导致系统稳定性变差; 当增大积分时间时,有利于减小系统超调量,并减少振荡,增加系统的稳定性,但同时会使系统稳态误差的消除时间增加; 当增大微分时间时,会加快系统响应速度,减小系统超调量,增加系统稳定性,但会使系统对扰动的抵抗能力减弱。 使用试凑法时,可参照以上三个参数对系统控制过程的影响趋势,来对参数进行调整,一般调整顺序为比例、积分、微分,详细过程如下。 (1) 调整比例部分,如将比例参数增大,并观察控制系统响应,直至得到一组响应快、超调量小的曲线。如果此时系统不存在稳态误差或者稳态误差已被消除到允许的范围内,则只调节比例系数即可。 (2) 如果在调节比例系数的时候,系统的稳态误差不满足要求,则必须引入积分环节。在调整时先将积分时间设定到某一较大值,再将调节好的比例系数适当缩小(一般缩小为原值的0.8),然后通过减小积分时间,使系统在具有良好动态性能的同时,消除稳态误差。在此过程中,可以根据系统响应曲线,多次改变比例系数或积分时间系数,直至得到满意的控制效果为止。 (3) 在调整过程中,如果对系统的控制过程进行多次调整仍然不能得到满意的控制效果,那么可以考虑引入微分环节。一般情况下,需要先把微分时间系数设置为0,在上述操作的基础上,缓慢增加微分时间,并且相应地改变比例系数以及积分时间系数,反复试凑,直至得到预期的控制效果。 5.1.2现代控制理论 1. 线性二次型最优控制 1) 基本内容 线性二次型最优控制也称线性二次型调节器(Linear Quadratic Regulator,LQR),是应用线性二次型最优控制原理设计的控制器。它的作用是当系统状态因为某种原因导致偏离了平衡点时,在不消耗多余能量的情况下,使系统状态仍然保持在平衡点附近。线性二次型最优控制的控制对象是具有线性或可线性化特点的,并且性能指标是状态变量和控制变量的二次型函数的积分。典型的LQR调节器结构如图5.2所示。 ■ 图5.2典型的LQR调节器结构 2) 无限时间状态的LQR调节器的设计过程 设线性系统的状态空间描述为: x·(t)=Ax(t)+Bu(t) y=Cx(t)(5.3) 最优控制的关键是如何求得一组反馈控制序列u,在时间段[t0,∞)内,该控制序列作为控制系统的输入,可以将控制系统由非平衡状态调节到零点(平衡状态)附近,同时能够使性能指标函数的值最小。性能指标函数表示为J,则 J=12∫+∞-∞(xTQx+uTRu)dt(5.4) 式中,u不受限制,Q是半正定对称加权常数矩阵,R是正定对称加权常数矩阵。 一般来说,Q越大,系统达到稳态的时间越短,当然还要实际系统的允许,最优控制律为 u*=-R-1BTPx(5.5) 式中,P为正定对称常数矩阵,并且满足下列Riccati方程: PA+ATP-PBR-1BT+Q=0(5.6) 利用Matlab求解工具lqr(A,B,Q,R)函数,可以求出最优反馈系数矩阵K,并通过改变Q、R矩阵,可以算出不同的K矩阵以及系统性能指标。 2. 模糊控制 1) 基本内容 模糊控制器(Fuzzy Controller,FC)也称为模糊逻辑控制器(Fuzzy Logic Controller,FLC)。模糊控制器使用的模糊控制规则,是由模糊集合论中的模糊条件语句来构成的。因此,模糊控制器属于语言型控制器,故常被称为模糊语言控制器(Fuzzy Language Controller,FLC)。 模糊控制系统的核心是模糊控制器。模糊控制系统性能的优劣取决于模糊控制器的结构、模糊规则、合成推理算法和模糊决策方法等因素。模糊控制器的一般结构如图5.3所示,包括系统输入、模糊化、数据库、规则库、模糊推理、清晰化以及系统输出等七部分构成。 ■ 图5.3模糊控制器的一般结构 2) 模糊控制器各主要环节的功能 模糊化环节的作用是将系统中的所有精确量(包括系统的外界参考输入、系统输出和系统状态等)转换为模糊量,使其变成符合模糊控制器要求的输入量,然后进行尺度变换,把其变换到各自的论域范围内,再进行模糊化处理,使原来精确的输入量变为模糊量,并用相应的模糊集合来表示。注意,有时需要将模糊化部分视为模糊控制器的外部部分。 数据库和规则库环节包含控制系统具体应用过程中的知识和控制要求,通常由专家数据库和模糊控制规则库组成。其中,专家数据库包括了变量的隶属函数、尺度变换因子和模糊空间的分级数等; 模糊规则库包括用模糊变量表示的一系列控制规则,能够反映出控制专家的经验和知识。 模糊推理环节是模糊控制器的重要组成部分,能够模拟人基于模糊概念的推理过程,其推理过程是基于模糊逻辑中的蕴含关系和推理规则的。 清晰化环节的作用是将模糊推理过程所得的控制量(模糊量)转换为用于控制的清晰量,其包含两个过程: 第一,将模糊控制量经清晰化处理,先变换为表示在其论域范围内的清晰量; 第二,将第一步得到的清晰量经过尺度变换,转换成实际的控制量。 3. 自适应控制 1) 基本内容 自适应控制系统需要不断地测量系统本身的状态、性能、参数,并对系统当前数据和期望数据进行比较,再做出改变控制器结构、参数或控制方法等的最优决策。系统不断地测量输入和扰动,与参考输入对比,根据需要不断地调节自适应机构,既要保证系统输出满足要求,还要保证系统的稳定。 2) 自适应控制系统的设计过程 设可控系统的受控对象数学模型为: x·p=Apxp+Bpup yp=Cxp(5.7) 其中,xp为状态向量,up为控制向量,yp为输出向量,Ap、Bp、C分别是有相同维数的系数矩阵。 选定参考模型时,通常都使其具有与被控对象相同的结构形式,而它的参数就可以根据系统设计要求来确定。参考模型可表示为: x·m=Amxm+Bmrm ym=Cxm(5.8) 其中,xm为参考模型的状态向量,ym为参考模型的输出向量,rm为参考模型的输入向量,Am、Bm分别是有相同维数的表示期望性能的系数矩阵。 系统的广义输出误差方程为: ε=ym-yp(5.9) 其中,ym为模型的输出量,yp为可调系统的输出量。 系统的广义状态误差方程为: e=xm-xp(5.10) 由式式(5.8)、式(5.10)可得广义误差运动方程为: e·(t)=Ame+(Am-Ap)xp+Bmrm-Bpup(5.11) 按照自适应控制器的工作原理,可调系统和参考模型间的广义误差表示了自适应控制系统的运动状态。因此,自适应控制需要使等效误差的解ε和e尽可能小。 4. 模型预测控制 1) 基本内容 模型预测控制(Model Predictive Control,MPC)是一种特殊的控制方法。在每一个采样周期,通过求解一个有限时域开环最优控制问题来获得其当前的控制序列。系统的当前状态视为最优控制问题的初始状态,求得的最优控制序列中,只执行第一个控制动作。这是其与使用优先求解控制律的控制方法的最大区别。模型预测控制原理如图5.4所示,k轴为当前状态,左侧为过去状态,右侧为将来状态。也就是说,模型预测控制实际上是一种与时间相关的、利用系统当前状态和当前的控制量,来实现对系统未来状态的控制。而系统未来的状态是不定的,因此在控制过程中要不断地根据系统状态对未来的控制量做出调整。而且相较于经典的PID控制,它具有优化和预测的能力。也就是说,模型预测控制是一种致力于将更长时间跨度甚至于无穷时间的最优化控制问题,分解为若干更短时间跨度或者有限时间跨度的最优化控制问题,并且在一定程度上仍然追求最优解。本质上模型预测控制是要求解一个开环最优控制问题,它的思想与具体的模型无关,但是实现的过程则与模型有关。 ■ 图5.4模型预测控制原理 2) 模型预测控制的三个组成部分 第一部分,预测模型。预测模型应该能够结合系统的现在的控制输入以及过程的历史信息,来预测控制系统未来的输出值,因此,需要一个描述系统动态行为的模型作为预测模型。在预测控制中的各种不同算法中,常采用不同类型的预测模型,如最基本的模型算法控制(Model Algorithm Contro,MAC),采用的是系统的单位脉冲响应曲线。而动态矩阵控制(Dynamic Matrix Control,DMC)采用的是系统的阶跃响应曲线。这两个模型之间可以互相转换,且都属于非参数模型,在实际的控制过程中比较容易通过实验测得,不必进行复杂的数据处理。尽管精度不是很高,但数据冗余量大,使其抗干扰能力较强。预测模型应具有表现控制系统将来动态行为的功能,就像在系统仿真时一样,可以任意地给出系统未来的控制策略。通过观察控制系统在不同控制策略下输出的变化情况,来比较控制策略的优劣。 第二部分,反馈校正。利用预测模型进行预估系统的输出值,仅仅是一种理想情况。在实际过程中,可能会因为存在模型失配和干扰等不确定因素,使得基于模型的预测结果不能与实际情况相切合。因此,需要在预测过程中,增加对系统输出值的测量,并与模型预估值进行比较,从而得出模型的预测误差,然后利用预测误差对模型的预测值做修正。因为模型增加了反馈校正,所以预测控制具有较强的抗扰动能力和克服系统不确定性的能力。预测控制不仅是基于模型的,还增加了反馈控制,因此预测控制属于闭环优化控制。 第三,滚动优化。预测控制需要通过某一性能指标的最优求解来确定未来的控制动作。这一性能指标与控制系统未来的行为有关,由未来的控制策略决定。但是,预测控制的优化与一般的离散最优控制算法不同,其不是采用一个固定的全局最优目标,而是利用滚动式的有限时域内的优化策略。也就是说,优化过程不是单次离线完成的,而是多次在线进行的。在任意的采样时刻,优化性能指标只应用在自该时刻起到未来的有限时间区间,当进行到下一个采样时刻时,该优化区间会同时向前。因此,预测控制不是去优化一个全局的性能指标,而是在每一个时刻都有一个局部优化性能指标。 5. 神经网络控制 神经网络控制是指应用神经网络技术,对控制系统中难以精确建模的复杂非线性对象进行神经网络模型辨识,可以作为控制器、可以对参数进行优化设计、可以进行推理、可以进行故障诊断,或者同时兼有以上多种功能。 通常神经网络直接用作误差闭环系统的反馈控制器,神经网络控制器首先利用其已有的控制样本进行离线训练,而后以系统误差的均方差为评价函数进行在线学习。神经网络控制器如图5.5所示。 ■ 图5.5神经网络控制器 随着被控系统越来越复杂,人们对控制系统的要求也越来越高,特别是要求控制系统能适应不确定性、时变的对象与环境。传统的基于精确模型的控制方法难以适应要求,现在关于控制的概念也已更加广泛,它包括一些决策、规划以及学习功能。神经网络由于具有上述优点而越来越受到人们的重视。 神经网络控制就是利用神经网络这种工具从机理上对人脑进行简单结构模拟的新型控制和辨识方法。神经网络在控制系统中可充当对象的模型,还可充当控制器。常见的神经网络控制结构有: (1) 参数估计自适应控制系统; (2) 内模控制系统; (3) 预测控制系统; (4) 模型参考自适应系统; (5) 变结构控制系统。 6. 滑模控制 滑模控制(Sliding Mode Control,SMC)也叫滑模变结构控制,其本质是一种特殊的非线性控制方法,但其非线性表现为控制序列的不连续性。这种控制方法与其他控制方法的区别在于系统结构不是固定不变的,而是能够在动态过程中,根据当前的系统状态(例如偏差以及偏差的各阶导数等)有目的地变化,使系统能够按照预定的滑动模态的轨迹运动。滑动模态需要提前设计且与控制对象参数和外界扰动无关,使得滑模控制具备响应迅速、参数变化平稳、外界扰动影响小、无须系统在线辨识、控制动作实现方式简单等优点。 滑模控制主要表现为控制的不连续性,也就是系统结构随时间变化的特性。该控制特性能够使系统在一定条件下沿着预设的状态轨迹做小幅度、高频率的运动,即滑动模态或者“滑模”运动。滑动模态是可以预设的,而且与系统的参数及外界扰动无关。因此,滑模控制的系统具有较好的鲁棒性。 如图5.6所示,从切换面穿过的点A为通常点,从切换面向两边散发在切换面上的运动点B是起始点,从两边向切换面逼近的且在切换面上的点C为终止点,在滑模观测器的研究中,针对的很多都是终止点,然而对于通常点和起始点基本没有用到。如果在切换面上的某一区域内,全部的点都是终止点,那么当运动点接近该区域时,就会被局限在该区域内。因此,一般称在切换面s=0上的全部运动点都为终止点的那些区域为“滑模”区,也称为“滑动模态区”。系统在滑动模态区内所做的运动称为“滑模运动”。 ■ 图5.6切换面上三种点的特性 当运动点逼近切换面s(x)=0时,有以下关系: lims→0+s′≤0≤lims→0-s′(5.12) 由此可以知道系统的一个条件李亚普诺夫函数: v(x1,…,xn)=[s(x1,…,xn)]2(5.13) 同时,系统也稳定于条件s=0。 在滑模变结构控制中,设控制系统状态函数为 x·=f(x,u,t)x∈Rn,u∈Rm,t∈R(5.14) 需要确定切换函数 s(x),s∈Rm(5.15) 求解控制函数 u=u+(x)s(x)>0 u-(x)s(x)<0(5.16) 其中,u+(x)≠u-(x),满足滑模变结构控制的特点。 综上所述,滑模变结构控制有以下性质: (1) 在切换面s(x)=0以外的运动点均将于规定的时间内到达切换面; (2) 达到滑模控制系统的动态品质要求; (3) 确保了滑模控制运动的稳定性。 7. 鲁棒控制 鲁棒控制(Robust Control)方面的研究始于20世纪50年代。在过去的20年中,鲁棒控制一直是控制领域的研究热点。鲁棒性是指控制系统在一定的参数摄动下,维持某些特性的能力。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。鲁棒性也称为系统的健壮性,它是系统在异常扰动情况下保持稳定的关键。例如,自动驾驶汽车的软件平台在输入错误、磁盘故障、网络过载或有意攻击情况下,能不死机、不崩溃,就是该平台的鲁棒性。 鲁棒控制适用于稳定性和可靠性作为首要目标的应用,系统的动态特性已知,而且不确定因素的变化情况可以预估。在控制过程中,某些控制系统可以使用鲁棒控制,尤其是对那些不确定因素变化范围大且稳定裕度小的系统。通常,系统的分析方法和控制器的设计大多是基于数学模型而建立的,而且各类方法已经趋于成熟和完善。然而,系统总是存在这样或那样的不确定性。在系统建模时,有时只考虑了工作点附近的情况,造成了数学模型的人为简化; 另外,执行部件与控制元件存在制造容差,系统运行过程也存在老化、磨损以及环境和运行条件恶化等现象,使得大多数系统存在结构或者参数的不确定性。这样,用精确数学模型设计出来的控制器常常不满足工程要求。 近年来,人们展开了对不确定系统鲁棒控制问题的研究,并取得了一系列研究成果。其中,H∞鲁棒控制理论和μ分析理论则是当前控制工程中最突出的研究成果,多年来一直是鲁棒控制研究领域的热门之一。 5.2 汽车模型 汽车动力学模型与运动学模型的建立是出于汽车运动的规划与控制考虑的。自动驾驶场景下,汽车大多按照规划轨迹行驶,控制模块的作用就是控制汽车尽可能精准地按照规划轨迹行驶。这就要求规划轨迹尽可能贴近实际情况。也就是说,轨迹规划过程中应尽可能考虑汽车运动学及动力学约束,使得运动控制的性能更好。搭建汽车模型主要是为了更好地规划和控制,因此,在分析模型时尽量以应用时所需的输入、输出对对象进行建模分析。 5.2.1汽车动力学 对于自动驾驶汽车的运动控制来说,需要研究用于汽车侧向运动分析的动力学模型。考虑二自由度汽车的“自行车”模型,如图5.7所示。两个自由度分别用汽车侧向位置y和汽车方向角ψ表示。汽车的侧向位置可沿汽车横向轴y到汽车旋转中心点O测量得到。汽车方向角ψ由汽车纵向轴x与系统X轴的夹角测得。汽车在质心处的纵向速度用Vx表示。 ■ 图5.7二自由度的汽车“自行车”模型 忽略路面坡度,沿y轴应用牛顿第二定律可得 may=Fyf+Fyr(5.17) 式中,ay=d2ydt2inertial为在y轴方向汽车质心处的惯性加速度; Fyf和Fyr分别表示前、后轮的轮胎侧向力。 两个因素影响ay: 沿y轴的运动加速度y¨和向心加速度Vxψ¨。因此 ay=y¨+Vxψ·(5.18) 将式(5.18)代入式(5.17),可得汽车侧向平移运动的方程为 m(y¨+Vxψ·)=Fyf+Fyr(5.19) 绕z轴的转矩平衡可得到横摆动力学方程 Izψ¨=lfFyf+lrFyr(5.20) 式中,lf和lr分别为汽车质心到前轴和后轴的距离。 接下来需要建立作用于汽车上的轮胎(Tire)模型,用来表示侧向力Fyf和Fyr。当侧偏角较小时,假设轮胎的侧向力与侧偏角成正比。轮胎的侧偏角定义为轮 ■ 图5.8轮胎侧偏角 胎平面方向和轮胎速度方向之间的角度,如图5.8所示。其中,前轮侧偏角为 αf=δ-θVf(5.21) 式中,θVf为汽车速度矢量和汽车纵轴(Longitudinal Axis of Vehicle)之间的夹角; δ为前轮转向角。 后轮侧偏角可近似表示为 αr=-θVf(5.22) 汽车的前轮侧向力可表示为 Fyf=2Caf(δ-θVf)(5.23) 式中,Caf为比例系数,称为前轮的侧偏刚度; δ为前轮转向角; θVf为前轮速度角; 系数2表示实际情况中有两个前轮。 同样地,后轮的侧向力可表示为 Fyr=2Car(-θVr)(5.24) 式中,Car为后轮的侧偏刚度; θVr为后轮速度角。 利用下面的关系式可计算θVf和θVr tan(θVf)=Vy+lfψ·Vx(5.25) tan(θVr)=Vy-lrψ·Vx(5.26) 采用小角度的近似写法Vy=y·,有 θVf=y·+lfψ·Vx(5.27) θVr=y·-lrψ·Vx(5.28) 将式(5.21)、式(5.22)、式(5.27)、式(5.28)代入式(5.19)和式(5.20)可得状态方程模型 ddty y· ψ ψ·= 0100 02Cαf+2CαrmVx0-Vx-2Cαf-2CαrlrmVx 0001 0-2lfCαf-2lrCαrIzVx0-2Cαf+2l2rCαrIzVx+0 2Cαfm 0 2lfCαfIz(5.29) 考虑汽车在半径为常数R的车道上以恒定Vx行驶,此外,假设半径R足够大,满足式(5.27)的小角度假设,定义车身转过期望角度所需转角速度为 ψ·des=VxR(5.30) 所需横向加速度为 aydes=V2xR=Vxψ·des(5.31) 则横向加速度误差为 e¨1=(y¨+Vxψ·)-V2xR=y¨+Vx(ψ·-ψ·des)(5.32) 横向误差为 e2=ψ-ψdes(5.33) 横向速度误差为 e·1=y¨+Vx(ψ·-ψ·des)(5.34) 将式(5.33)和式(5.34)代入式(5.19)和式(5.20),可得 me¨1=e·1-2VxCαf-2VxCαr+e22Cαf+2Cαr+e·2-2CαflfVx+2CαrlrVx+ ψ·des-2CαflfVx+2CαrlrVx+2Cαfδ(5.35) Ize¨2=2Cαflfδ+e·1-2CαflfVx+2CαrlrVx+e22Cαflf-2Cαflr+ e·2-2Cαfl2fVx+2Cαrl2rVx- Izψ¨des+ψ¨des-2Cαfl2fVx-2Cαrl2rVx(5.36) 由此可得在跟踪误差变量的状态方程模型为 ddte1 e·1 e2 e·2= 0100 02Cαf+2CαrmVx0-Vx-2Cαf-2CαrlrmVx 0001 0-2lfCαf-2lrCαrIzVx0-2Cαf+2l2rCαrIzVxe1 e·1 e2 e·2+ 0 2Cαfm 0 2lfCαfIzδ+0 -2Cαflf-2CαrlrmVx-Vx 0 2Cαfl2f+2Cαrl22rIzVxψ·des(5.37) 由此转向控制问题的跟踪目标可转化为动力学稳定性问题。注意,当车速Vx不再为常数时,上述侧向动力学模型为纵向车速Vx的函数。 5.2.2汽车运动学 汽车运动模型是指用数学方式描述汽车运动而不考虑影响汽车运动的力。运动方程是基于控制对象的几何关系而建立的。建立汽车的运动学模型需要以下假设作为前提: (1) 不考虑汽车在Z轴方向的运动,只考虑XY水平面的运动; (2) 左右侧车轮转角一致,这样可将左右侧轮胎合并为一个轮胎; (3) 汽车行驶速度变化缓慢,忽略前后轴载荷的转移; (4) 车身及悬架系统是刚性的。 汽车可以简化为两轮模型,如图5.9所示。在该模型中,汽车前轮由位于A点的一个车轮代替。同理,后轮由位于B点的一个后轮代替。前、后轮转角分别用δf和δr表示。此模型建立的前提是前、后轮均能够转向。如果只有前轮可以转向时,则将后轮转向角δr设置为0。汽车质心位于点C。从质心C到点A和点B的距离分别用lf和lr表示,汽车的轴距表示为L=lf+lr。 ■ 图5.9汽车运动学模型 假设汽车进行平面运动,此时需要用三个变量描述汽车的运动: X、Y和ψ。点(X,Y)为汽车质心点的坐标,ψ用来描述汽车的行驶方向。汽车质心点的速度用V表示,汽车速度方向与汽车纵轴的夹角用β表示,β称为汽车的侧偏角。 在运动学模型中,点A处和点B处的速度方向分别为前轮和后轮的方向,同时,前轮速度方向与汽车纵轴形成的夹角用δf表示,同样地,后轮速度方向的夹角与汽车纵轴间形成的夹角用δr表示,并忽略前后轮的侧偏角。忽略侧偏角的假设对低速行驶的汽车是合理的(如当速度小于5m/s时),因为在低速时,轮胎产生很小的侧向力。为了能够在任意半径R的环形道路上行驶,两轮的侧向力之和为mV/R。它随车速V变化,在低速情况侧向力小,此时,将车轮的速度方向视为车轮的方向的假设是成立的。 另外,汽车的瞬时旋转中心用点O表示,旋转中心O由垂直两滚动轮方向的直线AO、BO的交点确定。 汽车行驶轨迹的半径R,等于连接质心C和旋转中心O的线段CO的长度。质心处的车速方向垂直于线段OC。质心处速度方向与汽车纵轴形成的夹角为汽车的侧偏角β。汽车的横摆角用ψ表示,因此,汽车方向角为γ=ψ+β。 在△OCA上用正弦定理,有 sin(δf-β)lf=sinπ2-δfR(5.38) 在△OCB上用正弦定理,有 sin(β-δr)lr=sinπ2-δrR(5.39) 由式(5.38)得 -sin(β)cos(δf)lf=cos(δf)R(5.40) 由式(5.39)得 cos(δr)sin(β)-cos(β)sin(δr)lf=cos(δr)R(5.41) 在式(5.40)两侧同时乘以lfcos(δf)可得 tan(δf)cos(β)-sin(β)=lfR(5.42) 在式(5.41)两侧同时乘以lrcos(δr)可得 sin(β)-tan(δr)cos(β)=lrR(5.43) 将式(5.42)和式(5.43)相加得 {tan(δf)-tan(δr)}cos(β)=lf+lrR(5.44) 如果汽车轨迹半径缓慢变化,那么汽车行驶方向的变化率(即ψ·)将等于汽车的角速度。由于汽车的角速度为V/R,因此有 ψ·=VR(5.45) 将式(5.44)和式(5.45)可整理为 ψ·=Vcos(β)lf+lr(tan(δf)-tan(δr))(5.46) 因此,运动的总方程为 X·=Vcos(ψ+β)(5.47) Y·=Vsin(ψ+β)(5.48) ψ·=Vcos(β)lf+lr(tan(δf)-tan(δr))(5.49) 在这一模型中有三个输入量,为δf、δr和V。速度V为外部变量,可以假设它为时间的函数或是从纵向汽车模型中获得。 侧偏角β可由式(5.42)推导得到 β=arctanlftanδr+lrtanδflf+lr(5.50) 这里在两轮模型需注意,左、右前轮由一个前轮代替,通常假设左、右轮转向角近似相等,但严格说来并非如此。这是因为每个车轮行驶路径的半径不同。图5.10所示为一个前轮转向汽车的运动情况。 ■ 图5.10一个前轮转向汽车的运动情况 用lw表示汽车的轨迹宽度,δo和δi分别表示外侧和内侧的转向角,设轴距L=lf+lr小于半径R。若侧偏角β很小, 那么式(5.45)可近似为 ψV≈1R=δL 或者 δ=LR(5.51) 由于内侧和外侧车轮的行驶半径不同,因此有 δo=LR+lw2(5.52) δi=LR-lw2(5.53) 前轮的平均转向角为 δ=δo+δi2≈LR(5.54) δo和δi之间的差值为 δi-δo=LR2lw=δ2lwL(5.55) 因此,两前轮转向角的差值与平均转向角的二次方成正比。可从转向梯形拉杆(Trapezoidal Geometry)的布置获得这类差分转向。 5.3 汽车运动控制 5.3.1概述 运动控制是自动驾驶汽车研究领域中的核心问题之一,指根据当前周围环境和车体位置、姿态、车速等信息按照一定的逻辑做出决策,并分别向油门、制动及转向等执行系统发出控制指令。运动控制作为自动驾驶汽车实现自主行驶的关键环节,其研究内容主要包括横向控制、纵向控制以及横纵向协同控制。横向控制主要研究自动驾驶汽车的路径跟踪能力,即如何控制汽车沿规划的路径行驶,并保证汽车的行驶安全性、平稳性与乘坐舒适性; 纵向控制主要研究自动驾驶汽车的速度跟踪能力,控制汽车按照预定的速度巡航或与前方动态目标保持一定的距离; 但独立的横向或纵向控制不能满足自动驾驶汽车的实际需求,因此,复杂场景下的横纵向协同控制研究,对于自动驾驶汽车来说至关重要。 一般地,横向控制系统的实现主要依靠预瞄跟随控制、前馈控制和反馈控制。 5.3.2预瞄跟随控制 预瞄跟随控制原理是根据驾驶员操纵特征(驾驶员模型)提出的。驾驶员模型是导航技术的重要组成部分,基于偏差调节的期望路径跟随控制系统可视为一个简易的驾驶员模型。驾驶员基于外界环境、道路信息以及当前汽车的运动状态进行汽车操纵,预测汽车当前实际位置与道路中心线之间的侧向位移偏差和航向偏差的大小,从而转动方向盘使预测偏差为零,该预测偏差叫作预瞄侧向位移偏差或预瞄航向偏差。驾驶员依据预瞄偏差的大小转动对应的方向盘角度,从而完成对期望行驶路径的跟踪。综上,控制系统依据汽车行驶参数、道路曲率、预瞄偏差和汽车的动力学模型得出所需方向盘转角或前轮转角, ■ 图5.11预瞄跟随控制 结构示意图 从而实现对期望目标路径的跟踪。预瞄跟随控制器由“预瞄环节”与“跟随环节”构成,其结构如图5.11所示。 系统传递函数为 y/f(s)=P(s)·F(s)(5.56) 式中,P(s)为预瞄环节传递函数; F(s)为跟随环节传递函数。 在低频域条件下,理想状态下的预瞄跟随控制系统应该满足: P(s)·F(s)≈1(5.57) 5.3.3前馈控制 前馈控制系统是根据扰动或给定值的变化按补偿原理来工作的控制系统。其特点是当扰动产生后,被控变量还未变化以前,根据扰动作用的大小进行控制,以补偿扰动作用对被控变量的影响。前馈控制是在苏联学者所倡导的不变性原理的基础上发展而成的,在工程上,前馈控制系统逐渐得到了广泛的应用。 自动驾驶汽车的一般状态方程为 x·=Ax+Bu(5.58) 其中,u为前轮转角δ,考虑到道路曲率φ·des的存在,式(5.58)应改写为 x·=Ax+Bδ+Bφ·des(5.59) 当汽车在曲线道路上行驶时,需要引入和道路曲率相关的前馈控制控制器以帮助消除跟踪误差。 5.3.4反馈控制 反馈控制是指将系统的输出信息返送到输入端,与输入信息进行比较,并利用二者的偏差进行控制的过程。反馈控制其实是用过去的情况来指导现在和将来。在控制系统中,如果返回的信息的作用是抵消输入信息,称为负反馈,负反馈可以使系统趋于稳定; 若其作用是增强输入信息,则称为正反馈,正反馈可以使信号得到加强。 对于自动驾驶汽车运动控制来说,常使用负反馈控制器来消除系统存在的误差,汽车的状态方程仍为式(5.58)表示。为了满足控制系统的控制要求,并使控制系统构成全状态反馈控制系统,需要设计反馈控制律: u=-Kx(5.60) 5.3.5横向控制 自动驾驶汽车作为一个高度非线性的非完整运动约束系统,其模型和所处外界环境存在不确定性及测量不精确性,导致对汽车进行运动控制具有一定的难度。横向控制主要控制航向,通过改变方向盘扭矩或角度的大小等,使汽车按照想要的航向行驶。依据人类驾驶的经验,驾驶员在驾驶途中会习惯性地提前观察前方道路,并预估前方道路情况,提前获得预瞄点与汽车所处位置的距离。如果汽车前方道路右转弯,驾驶员会依据道路曲率和行驶车速将方向盘向右转一定角度,为使汽车平顺转弯,驾驶员需要不断观察汽车实际运行位置与道路中心线间的横向位移偏差和航向角偏差,并调整方向盘转角来减小这些偏差,便于准确、快速地跟踪期望路径。但该过程容易受到周围环境的影响,且随车速的变化而变得更加复杂,郭孔辉院士提出的预瞄跟随原理形象地描述了上述驾驶员操纵行为。后来在此基础上产生了驾驶员“稳态预测动态校正假说”“预瞄最优曲率模型”“最优预瞄加速度模型”。而在自动驾驶汽车的研究中,预瞄跟随理论同样适用。 建立自动驾驶汽车横向控制系统,首先需要搭建道路汽车动力学控制模型,根据最优预瞄驾驶员原理与模型设计侧向加速度最优跟踪PD控制器,从而得到汽车横向控制系统。其次,以汽车纵向速度及道路曲率为控制器输入,预瞄距离为控制器输出,构建预瞄距离自动选择的最优控制器,从而实现汽车横向运动的自适应预瞄最优控制,如图5.12所示。 ■ 图5.12横向控制流程图 5.3.6纵向控制 纵向控制主要为速度控制,通过控制刹车、油门等实现对车速的控制。对于自动挡汽车来说,控制对象其实就是刹车和油门。纵向控制作为智能驾驶汽车运动控制的重要组成部分,也是智能驾驶研究领域的核心难题之一。自动驾驶汽车纵向控制的控制原理是基于油门踏板与制动踏板的控制与协调切换,从而控制汽车加速、减速,实现对自动驾驶汽车纵向期望速度跟踪与控制。 自动驾驶汽车纵向控制系统分为两种模式: 直接式和分层式。直接设计控制器对控制参数进行调控的称作直接控制法; 分成两个或多个控制器的称为分层结构控制法。直接式针对单个控制对象,不考虑控制对象与其他汽车的相对位置; 分层式考虑汽车在行驶队列的转向、加速与制动等行为,以其他汽车作为参考进行控制。本节运用直接式对纵向控制系统进行设计。 1) 纵向控制的两种模式 直接式运动控制是通过纵向控制器直接控制期望制动压力和节气门开度,从而实现对跟随速度和跟随减速度直接控制,具有快速响应等特点。具体结构如图5.13所示。 ■ 图5.13直接式运动控制结构 由于自动驾驶汽车纵向动力学模型为复杂多变量非线性系统,且存在较大的参数不确定性及测量不精确性,因此通过单个控制器实现多性能控制较为困难。为了降低纵向控制系统的设计难度,许多研究者基于分层控制结构,根据控制目标的不同,将自动驾驶汽车纵向控制系统分为上位控制器和下位控制器进行单独设计。分层式运动控制结构如图5.14所示,上位控制器控制策略设计的目的是产生期望车速或者期望加速度; 下位控制器接受上位控制器产生的期望状态值,并按照其控制算法产生期望的制动压力值与期望油门开度值,从而实现汽车纵向车间距离或速度跟踪控制的功能。 ■ 图5.14分层式运动控制结构 2) 直接式运动控制实现过程 结合直接式运动控制流程,为了实现汽车纵向控制,通常需要考虑“位移速度闭环PID控制器”和“速度加速度闭环PID控制器”,并且需要对油门控制器、制动控制器以及两者的切换策略进行设计。然后,通过PI控制器参数调节来优化控制器的性能,同时优化油门、制动切换控制逻辑,协调油门与制动动作来实现对期望目标车速的跟踪。纵向控制结构如图5.15所示。 ■ 图5.15纵向控制结构 在实际调参过程中先调节P参数,再调节D参数,可能会更快达到想要的效果。 汽车在行驶过程中,同时踩下油门踏板与制动踏板的会损坏汽车动力系统和传动系统。因此切换逻辑要保证以下两点。 (1) 在油门踏板踩下的时候需要释放制动踏板,在制动踏板踩下的时候需要释放油门踏板,避免油门踏板和制动踏板同时工作; (2) 避免油门、制动踏板频繁切换。 由此设计油门踏板与制动踏板协调切换控制逻辑,根据期望车速与当前实际车速的误差来协调控制加速、制动的切换。 5.3.7横纵向协同控制 独立的横向控制系统或者纵向控制系统并不能体现汽车实际运行时的特性,且不能满足各种道路工况需求。为实现横纵向控制器在实际情况下的控制效果,需要将横向控制与纵向控协同起来并优化控制参数,构建自动驾驶汽车综合控制系统。该综合控制系统用于实现自动驾驶汽车的横纵向耦合运动控制。横纵向协同控制架构包括决策层、控制层与模型层,如图5.16所示。各层的作用如下。 ■ 图5.16横纵向协同控制架构图 (1) 决策层: 根据视觉感知系统感知的汽车外界道路环境信息与汽车行驶状态信息,对汽车的行驶路径进行规划形成期望运动轨迹,并根据期望运动轨迹选择期望速度。 (2) 控制层: 基于决策层得到的期望路径与期望车速输入,经过控制系统的分析与运算得到理论的前轮转角输出、油门控制输出以及制动器控制输出信号,作用于自动驾驶汽车,保证自动驾驶汽车跟踪期望速度沿着期望轨迹行驶。 (3) 模型层: 对于横纵向运动综合控制系统,运用数学知识建立整车横纵向数学模型。 由协同控制构架可以看到,自动驾驶汽车的纵向速度既是横向控制器的状态量输入又是纵向控制器的状态量输入,横向控制系统的前轮转角与车速有关,纵向控制系统的模糊控制器速度偏差输入与加速度偏差输入与车速有关,汽车的纵向车速成为连接横向控制系统与纵向控制系统的关键点。 5.4 本章小结 本章按照理论依据、控制对象、控制方法的顺序描述了自动驾驶汽车控制。首先介绍了汽车控制领域常用的控制理论,包括经典控制理论和现代控制理论,并且将每种控制理论的基本概念、数学推导和具体应用进行了详细的描述,给出了自动驾驶汽车控制的理论依据。进而推导出了自动驾驶汽车的动力学模型和运动学模型,得到了控制对象的数学模型。最后结合对自动驾驶汽车的要求及其特点,给出了运动控制的具体控制方法。 参考文献 [1]M·米奇克.汽车动力学[M].陈萌三,译.北京: 人民交通出版社,2009. [2]雷敏.智能车横、纵向运动综合控制方法研究[D]. 贵阳: 贵州大学,2016. [3]李贻斌,阮久宏,李彩虹,等. 智能汽车的纵向运动控制[J]. 机械工程学报,2006,42(11): 94102. [4]郭景华,李克强,罗禹贡. 智能汽车运动控制研究综述[J]. 汽车安全与节能学报,2016,7(2): 151159. [5]林澄奇. 智能机械汽车研究综述[J]. 装备制造技术,2018,279(3): 8788,94. [6]陈慧岩,陈舒平,龚建伟. 智能汽车横向控制方法研究综述[J]. 兵工学报,2017,38(6): 12031214. [7]冀杰,李以农,郑玲,等. 汽车自动驾驶系统纵向和横向运动综合控制[J]. 中国公路学报,2010,23(5): 123130. [8]罗峰,曾侠. 基于多点预瞄的自动驾驶汽车轨迹跟踪算法[J]. 机电一体化,2018,24(6): 1823,41. [9]赵盼. 城市环境下无人驾驶汽车运动控制方法的研究[D]. 合肥: 中国科学技术大学,2012. [10]郭景华,李琳辉,胡平,等. 基于模糊逻辑的无人驾驶车纵向多滑模控制[J]. 中国公路学报,2013,26(1): 170176. [11]孙银健. 基于模型预测控制的无人驾驶汽车轨迹跟踪控制算法研究[D].北京: 北京理工大学, 2015. [12]王家恩,陈无畏,王檀彬,等. 基于期望横摆角速度的视觉导航智能汽车横向控制[J]. 机械工程学报,2012,48(4): 108115. [13]李铁强. 灾害条件下高速公路行车安全评估理论与方法研究[D].西安: 长安大学,2012. [14]郭景华,李克强,罗禹贡. 智能汽车运动控制研究综述[J]. 汽车安全与节能学报,2016,7(2): 151159. [15]罗玉峰,钟陈志鹏,陈齐平,等. 智能驾驶汽车纵向运动控制研究综述[J]. 汽车实用技术,2018,277(22): 3640. [16]王聪. 基于预瞄的汽车路径跟踪控制研究[D]. 哈尔滨: 哈尔滨工业大学,2014. [17]姜岩,龚建伟,熊光明,等. 基于运动微分约束的无人汽车纵横向协同规划算法的研究[J]. 自动化学报,2013,39(12): 2012—2020. [18]吕峰. 无人驾驶智能车控制系统的设计研究[D]. 西安: 西北工业大学,2014.