控制是驱动车辆前进的策略。控制的目标是使用可行的控制量最小化与目标轨迹的偏差,最大化乘客舒适度等。如上图所示,与控制模块输入关联的模块包括规划模块、定位模块和车辆信息等。定位模块提供车辆的位置信息,规划模块提供目标轨迹信息,以及车辆信息包括档位、速度、加速度等。控制输出为转向、加速和制动。控制模块主要分为水平控制和垂直控制,根据耦合形式的不同可分为独立式和集成式。1控制方式1.1解耦控制所谓解耦控制就是将水平和垂直控制方式独立分开。1.2耦合控制耦合控制考虑了水平和垂直控制中存在的耦合问题。一个典型的例子就是汽车不能高速转弯,因为当纵向速度过大时,需要限制横向角速度,否则向心力不能满足向心加速度。横向和纵向一体化的典型代表方法是线性时变模型预测控制,它在模型预测控制的基础上增加横向和纵向联合约束。如最大向心加速度约束等。1.3横向控制如上图所示,横向控制可分为几何方法、基于运动学模型的方法和基于动力学模型的方法。1.3.1前馈控制所谓前馈控制就是根据跟踪点信息预先对控制量进行适当的补偿。一个典型的例子是利用跟踪序列点中的曲率信息来补偿旋转角度。1.3.2链式系统链式系统对非线性系统进行多层线性化,将系统逐层分解,从而使系统减速,类似于滤波器系统[3]。系统在frenet坐标下的模型:反向积分预算后,可以得到控制率:1.3.3基于李雅普诺夫稳定性方法的李雅普诺夫设计可以用于运动学和动力学模型。其基本思想是先建立运动学或动力学模型,基于该模型提出跟踪方法,然后建立李雅普诺夫函数,通过李雅普诺夫稳定性证明闭环系统的渐近稳定性[4]。运动学模型如上图所示,小车当前点为P,跟踪目标点为Pr。为当前位置与目标点的位姿差,分别为参考速度和角速度。设计李亚普诺夫函数:跟踪率设计:最后通过限制设计参数,证明跟踪率渐近稳定,即当→∞,→0时。动力学模型首先建立动力学模型:其中:令误差为:设计成本函数:设计控制率:最终证明渐近稳定。1.3.4PurePursuitPureTracking是一种几何路径跟随控制器。控制器使用车辆运动和参考路径的几何形状来跟踪参考路径的控制器。这种控制方法以车辆后轴的中心为参考点。根据上图可推导出前轮转角指令:其中R为转弯半径,L为车辆轴距,e为车辆当前姿态与目标航路点的横向误差,为前向-视距和.根据上图所示的实验数据,随着look-ahead距离的增加,trackingjitter越来越小。较短的前瞻距离提供更精确的跟踪,而较长的前瞻距离提供更平滑的跟踪。PurePursuit的另一个特点是过大的前瞻距离会导致在转弯跟踪过程中“偷工减料”。PurePursuit努力在稳定性和跟踪性能之间做出权衡。1.3.5史丹利区别于后轴为参考点,史丹利控制器以前轴为参考点的纯追逐、纯跟踪方式。它考虑了航向误差和横向误差。Stanley控制器不仅考虑了航向误差,还考虑了横向误差。根据上图,可以推送到前轮转角指令:根据上图所示的实验数据,随着k的增加,trackingperformance也会提高。当速度增加时,Stanley不如PurePursuit稳定。1.3.6基于车辆运动学模型的LQR方法忽略了车辆的动态特性,因此当车速过快或曲率过大时,该算法不能满足车辆的稳定性控制要求。对于基于车辆动力学模型的控制方法,首要任务是对车辆动力学进行建模。由于精密二自由度动力学模型是非线性的,为了便于实时跟踪控制计算,通常需要在精密二自由度动力学模型的基础上进行一些简化的近似。获得线性二自由度动力学模型。车辆二自由度动力学模型:LQR:线性二次调节器(或LQR)是一种基于模型的控制器,它使用车辆的状态来最小化误差。LQR理论是现代控制理论中最早、最成熟的状态空间设计方法。LQR可以获得状态线性反馈的最优控制律,容易形成闭环最优控制。LQR优化设计是指所设计的状态反馈控制器K应最小化二次目标函数J,而K由权重矩阵Q和R唯一确定,因此Q和R的选取尤为重要。下式为LQR代价函数:根据车辆动力学模型和LQR代价函数,可推导出代数Riccati方程:最后通过迭代Riccati方程计算反馈矩阵,进而进行最优控制根据反馈矩阵得到金额。1.3.7MPCMPC(ModelPredictionControl)是一种专用于较长时间跨度,甚至无限时间的优化控制问题,分解为若干个较短时间跨度或有限时间跨度的最优控制问题,并且在一定程度上,仍在追求最优解。MPC由以下三个要素组成:预测模型:预测模型能够很好地预测短时间内系统状态的变化;onlinerollingoptimization:由于预测模型得到的结果与实际还是有偏差,所以采用rollingoptimization来寻找每个时的局部最优解,通常设计一个目标(损失)函数并将其转化为二次规划寻找最优解的问题;反馈校正:根据下一个时间点的新状态重新预测和优化。预测模型:预测模型可以从LQR中的车辆动力学模型导出。滚动优化:MPC代价函数:根据预测模型、车辆横向约束、代价函数,通过优化求解得到相应的控制指令。1.3.8水平控制算法比较1.4垂直如上图所示,垂直控制一般采用串级pid控制方式。2详细设计控制器的设计如上图所示,其中Controller是基类,LonController、LonController和MPCController继承自基类。LonController派生出LQRController、LyapunovController和StanleyController等子类。
