编者按:对于自动驾驶车辆而言,如何实现在漂移的同时跟踪轨迹是一个挑战性问题。本文分析了漂移平衡点和漂移半径之间的关系,提出一种基于模型预测控制器(MPC),使用两种运行模式的新型控制器,其中模式1结合优化计算期望漂移半径以及提出模糊专家策略得到期望转向角,并设计代价函数使控制器能够快速跟踪期望平衡点,减小横向跟踪误差;当横向误差绝对值小于最大期望横向误差时,进入模式2进行微小调整从而跟踪稳定的平衡点,引入终端状态约束和横向误差约束,控制横向误差在最大误差范围内。最后,将提出的控制器与现有基于LQR的专家控制器进行比较,证明了本文提出控制器具有漂移稳定性和更好的跟踪性能。
《A novel model predictive controller for the drifting vehicle to track a circular trajectory》
Vehicle System Dynamics, pp. 1–30.(2024)
Cheng Hu, Lei Xie, Zhiming Zhang and Haokun Xiong
摘要:在拉力赛中,一种被称作漂移的高侧滑转向技术被用来最小化单圈时间。然而,对于自动驾驶汽车而言,由于两个目标之间的冲突,在漂移的同时进行跟踪轨迹是一个具有挑战性的控制问题。为解决这个问题,本文提出一种具有双工作模式的新型模型预测控制器(MPC)。在模式1中,设计了结合横向误差的模糊专家策略来计算漂移平衡点,随后线性MPC控制器用于实现横向误差的快速调整。在模式2中,终端约束和误差约束加入到MPC优化问题,保证了MPC控制器的稳定性,使车辆保持在期望误差范围内。最后在CarSim平台上使用1:10比例的赛车对现有的专家控制器和本文提出的控制器进行比较。结果表明,提出的控制器在跟踪性能和漂移稳定性上优于现有的专家控制器。
关键词:自动驾驶赛车,车辆漂移,模型预测控制,路径跟踪
A.简介
近年来,自动驾驶系统在汽车工业中变得越来越重要,其最终目标是完全取代人类驾驶员。尽管传统路径跟踪控制器在车辆侧滑角较小的场景下是有效的,但在高度不稳定区域,它们的控制权限有限。例如在恶劣环境条件下,自动驾驶车辆可能突然失去牵引力并在湿滑道路上打滑。在这种极端条件之下,传统的控制器无法控制车辆而导致过度转向。相比之下,熟练的驾驶员会故意使用漂移运动来执行快速转向,包括将车辆前轮转至与转弯方向相反的方向,并后轮几乎饱和。因此自动驾驶车辆需要表现得像赛车一样,不仅能对意外的滑动情况快速反应,还能扩展操纵限制。
B.相关研究
最早关于漂移的论文集中于分析漂移平衡上,[1-3]中提出的车辆模型分析证明了在转弯平衡点附近存在一个鞍点,这个鞍点被称为漂移平衡点,特点是高侧滑角和反打转向。此外Velenis等人[4]提出了一种计算鞍点的方法,该方法给出了转角曲率、车速和侧滑角三个值。更重要的是,[5]中对于漂移动力学的分析表明与正常驾驶相比,车辆漂移过程的转弯半径明显更小,这表示漂移应用于主动车辆安全方面具有很大的潜力。
维持漂移平衡的控制器设计主要有两大类别:基于平衡点的控制器和不依赖平衡点的控制器。对于第一类控制器,Hindiyeh等人[6]提出了一种具有嵌套回路结构的控制器,漂移控制器有两种操作模式来确保轮胎侧向力保持在线性区域内。前轮胎的深度饱和可能导致车辆过度旋转。此外,在[7,8]中引入了基于期望平衡点的线性二次调节器(LQR)。此外,在[9]中提出了一种考虑不确定干扰的鲁棒滑模控制器。对于第二类控制器,[10]中提出的算法不需要轮胎和漂移平衡的先验知识,其所需的跟踪目标是从当前车辆信息中获得的。此外除了无模型控制,一些强化学习方法也被应用于漂移领域中。[11,12]。
同时实现轨迹跟踪和漂移稳态是一个极具挑战性的控制问题,控制器必须有效运行。Goh等人[13,14]引入了一种能跟踪复杂轨迹的非线性控制器,通过将横向误差与3自由度车辆模型集成来确定所需的状态导数。尽管算法在MARTY平台上成功验证,但非线性模型反演可能导致输入超过可行驱动空间。Joa等人[15]提出了一种分层漂移控制器。在该方法中,期望的偏航率由横向误差和系统状态决定来实现轨迹跟踪。所需的纵向滑移率保持恒定来维持漂移平衡。在[16]中,所需转向角的计算类似于在赛车中使用的专家策略,旨在实现轨迹跟踪。为了保持漂移平衡,设计了一个LQR控制器来稳定后轮旋转速度。尽管如此,转向角和后轮纵向力由控制器的不同组件控制。这使得漂移平衡易受到横向误差的影响。近年来,模型预测控制(MPC)在自动驾驶领域得到广泛应用。MPC不仅可以考虑输入约束,而且可以动态优化成本函数。Dong等人提出了一个可同时优化轨迹跟踪和稳定漂移的MPC控制器[17]。此外,各种线性MPC方法已被用于实现轨迹跟踪。这些方法的关键在于蓄奴找一个合适的漂移平衡点。在[18]中,基于横向误差设计了上层PID控制器来获得期望半径,然后使用固定的侧滑角和半径来确定漂移平衡点。此外,[19]中提出了一种更合理的确定期望半径的策略,其假设车辆未来轨迹符合圆形曲线。现有的计算漂移平衡点的方法使用一个固定的侧滑角,这不同于赛车中的侵略性驾驶,即赛车手不断改变他们的目标。因此需要进一步研究来寻找一个更合适的平衡点。此外,由于漂移动作固有的不稳定性,研究漂移控制器稳定性至关重要。
C.贡献
本文设计了一种具有两种操作模式的新型MPC控制器使得车辆在漂移过程中跟踪圆形轨迹。本文的主要贡献如下:
在模式1中,引入了基于横向误差的模糊专家策略来提高控制器的跟踪性能。假设车辆的未来轨迹为半径固定的圆弧,制定了一个优化问题来最小化横向误差并确定期望半径。随后,基于半径和当前侧滑角之间的模糊关系推导出期望的转向角。最后,利用期望半径和转向角计算平衡点。控制器将跟踪平衡点来实现横向误差的快速调整。
在模式2中,增加了终端约束和横向误差约束来保证控制器的稳定性,并将横向误差约束在期望范围内。将横向误差和航向角误差设置为增强状态。我们并没有将这些增强状态直接加入MPC成本函数中,而是将横向误差约束转换为系统输入约束。此外,我们证明了当车辆状态收敛到期望值时,横向误差表现出周期性行为。因此,增加新的误差约束来限制周期误差的最大值,保证了MPC控制器的可行性。随后集成终端约束来保证控制器稳定性。
控制器已在CarSim平台和1:10比例的赛车上进行了验证。和现有的专家控制器相比,本文提出的控制器的跟踪性能有了显著提高。
本文其余部分组织如下:第II节介绍了单轨模型和非线性轮胎模型。第III节我们深入研究了漂移平衡点和专家策略之间的关系。第IV节概述了提出的MPC控制器,第V和VI节分别讨论了仿真结果和实验结果。最后第VII节给出了本文的结论。
A.车辆模型
四轮模型和单轨模型都能准确描述在适当侧滑角下的漂移运动[20]。然而,四轮模型要考虑到所有四个车轮的非线性轮胎方程,增加了系统的复杂度,这违背了一个控制器的实时性要求。此外,[6,8]中提出的简化单轨模型忽略了纵向动力学,使得控制器无法实现对车辆漂移的精确控制。为了捕捉漂移动力学,我们将车辆抽象为一个没有简化的单轨模型,如图1所示。状态向量由车辆速度,侧滑角和横摆角速度组成,转向角和后轮纵向力构成输入。单轨模型的微分方程如下:
图1. 典型转向情况和漂移情况下的单轨模型
式中,和分别表示为作用在前、后轮上的侧向力。、分别表示车辆质心到前后轮轴的距离。此外,参数和分别对应车辆的质量和偏航惯量。
B.轮胎模型
本文讨论的车辆模型主要强调为后轮驱动。当车辆处于稳定漂移状态时,前后轮胎的特性变得不同。如图2所示,前轮上的力并不饱和,与后轮一直在摩擦极限下运行相反。因为稳态漂移是另一种类型的转向平衡[2,7]。后轮上的饱和力使车辆保持滑移状态,而前轮的侧向力保持车辆的侧向平衡。因此有必要分别描述前后轮胎上的力。
图2. 漂移运动下的前后轮受力
在前轮建模中,使用Pacejka轮胎模型[21]来估计前轮的侧向力,目的是降低车辆动力学的复杂度,将Magic Formula简化如下:
其中和均是需要识别的参数,称为临界滑移角。滑移角的定义如下:
在后轮胎建模中,合理使用摩擦圆来描述纵向力和横向力之间的耦合关系[7,14,17]。当车辆漂移时,整个后轮胎接触贴片处于完全滑动状态。后轮胎的力学性能可以假设为各向同性[14,17]。耦合关系表示为:
由于单轨模型的简化和对稳态漂移的着重,忽略了负载转移,轮胎的法相载荷计算如下:
Voser等人通过分析转向平衡[2],揭示了持续漂移是稳态转向的另一种形式。因此,可以通过假设车辆模型的所有状态导数为零来计算漂移平衡点。方程表示如下:
表示漂移模型的稳态。通过固定5个变量中的2个,即可求解方程(9)。
由于合成速度考虑了侧滑角对漂移半径的影响,因此在[5,13]中使用的公式(10)准确地描述了半径,特别是在稳态漂移中。
A.相位图
表1 车辆参数
平衡点的计算提供了平衡点的值,但它没有提供围绕这些点的状态轨迹的视觉表示。因此,采用相位图来分析漂移状态的稳定性。我们选取CarSim中的车辆参数来分析漂移平衡。具体参数见表1。相位图是通过固定各种初始条件下的车辆速度和转向角来创建的。状态轨迹绘制在平面上。
在图3中,存在三种类型的平衡点:用圆形表示的常规稳态转向点,用三角形表示的左向和右向漂移平衡点,圆圈表示直行行驶场景()或无侧滑的典型转向()。相反,三角形表示高侧滑角和偏航率。此外,可以观察到在转向点附件的状态轨迹向它收敛,而所有的轨迹都偏离漂移平衡点。图像表明除漂移平衡点是一个鞍点,这使得通过开环控制实现稳定具有挑战性。
图3.固定转向角和车辆速度的相位图(a)(b)
B.漂移平衡策略
沿着期望路径进行漂移动作是一项具有挑战性的任务。漂移是一种很容易被干扰的临界状态,这与典型稳态转向不同。此外,用于路径跟踪和漂移动作的目标车辆状态经常发生冲突。例如,为了跟踪期望路径,车辆需要增加偏航率来减少横向误差。然而,增加的偏航率可能导致车辆过度旋转并退出漂移状态。通过观察一系列漂移平衡点的变化方向,我们可以深入了解专业赛车手在漂移执行过程中如何根据横向误差调整转向角度。值得注意的是,本研究中所有漂移动作都是在左向漂移中执行的。
随着漂移半径的改变,必须调整转向角度使车辆保持稳定的漂移状态。我们分析了两组不同数据中平衡点变化的特征。在第一组数据中,随着半径增大,转向角度也增大。在第二组数据中,随着半径增加,转向角度减小。具体来说,第一组数据中的点如图4(a-b)所示,它们通过半径和大范围转向角度计算得到。图4(c-d)描绘了第二组的数据点,在相同的半径范围内计算,但具有不同范围的转向角度。
在第一组中,增加的转向角和减小的后轮纵向力导致转向半径和侧滑角增大。第二组的系统输入方向相反,漂移半径增大,侧滑角减小。漂移平衡点增加或减小漂移半径的变化方向有两个。不同的变化方向会导致不同的车辆侧滑角度。漂移平衡点的变化趋势类似于专业赛车手使用的专家经验。赛车手通过改变转向角度和后轮纵向力来达到期望的漂移半径和侧滑角。因此,本文将这些漂移平衡策略成为专家策略。在下一节中,提出模糊专家策略来选择合适的平衡点。
图4. 左向漂移平衡点
控制器有两种工作模式,如图5所示。当车辆开始漂移时,进入滑移状态,产生很大的横向误差。因此,控制器工作在模式1,以快速调整横向误差。当横向误差逐渐趋近于零,车辆状态几乎接近参考平衡值时,控制器将尝试切换到模式2。一旦模式2的优化问题得到解决,控制器将持续在模式2运行来保证漂移稳定性,并将误差约束在一定范围内。
图5. MPC控制器结构
A.模式1:快速调整横向误差
模式1的主要目标是为MPC控制器选择一个合适的平衡点。选择过程包含两个步骤,第一步是获得一个期望半径,具有半径的预测圆弧与参考轨迹有最小的横向误差。第二部是根据模糊专家系统策略得到期望的转向角。随后,可以根据半径和转向角计算平衡点。线性MPC控制器跟踪漂移平衡点,实现轨迹跟踪。
1.平衡点的计算
当车辆处于稳定漂移状态时,我们可以假设它以固定的速度行驶,未来的轨迹是一个半径固定的圆弧。将速度设置为平衡值,由于车辆的速度不会偏离这个值太远。在时刻的预测位置推导如下:
其中和表示车辆在二维平面上的坐标。表示车辆的航向角。为控制周期。和 为参考速度和半径。另外,表示MPC控制器的预测范围。
预测的圆弧旨在紧密拟合参考轨迹,如图6所示。这意味着两个轨迹之间的横向误差最小。
图6. 优化期望半径过程
期望半径的优化问题表述如下:
虽然期望半径已经确定,但需要一个期望的转向角来计算平衡点。为了选择合适的转向角度,我们提出了基于横向误差的模糊专家策略。这些策略如图7所示。和分别表示参考侧滑角和转向角。为期望转向角。表示车辆的实际侧滑角。是增益参数。
如第3节所述,有两种方法可以增加或减少车辆的漂移半径。图7和图8说明了这些方法。假设期望半径大于目标半径,实际侧滑角小于目标角。在这种情况下,我们采用第一种方法来确定期望的转向角,因为它可以增加侧滑角并使其更接近平衡值。另一方面,如果期望半径大于目标半径和实际侧滑角度大于目标角度时,方向盘应比参考平衡位置更向右转。其余减小漂移半径的两种策略与上述策略一致。可以推断,期望侧滑角与期望转向角呈正相关。进一步,随着横向误差逐渐趋近于零,期望半径和转向角向参考值收敛。
图7. 模糊专家策略
图8. 选择过程
2.MPC控制器
为了构建实时MPC控制器,将非线性车辆模型在期望平衡点处线性化。
方程(1)-(3)的线性化和离散化如下所示:
其中状态变量表示为,状态变量用表示。和为期望平衡值。和对应雅可比矩阵。
将式子(15)以增量形式重组如下:
其中输入增量是的后向有限差分。
为表示方便,模型状态,输入,增广矩阵,以及参考信号写作和。此外,输入增量和增广状态向量分别记作和。
给定一个预测的输入增量序列,通过在预测范围上向前模拟模型来生成相应的增广预测状态序列,预测状态序列可以用更紧凑的符号表示:
其中
矩阵和为:
MPC控制器的目标是将车辆状态稳定到期望的平衡值,成本函数定义如下:
式中为。和为增益矩阵。矩阵和分别定义为和。
代入式(17)后,将成本函数展开为:
其中:
输入约束也可以表示为:
其中:
在不丢失通用性的情况下,原MPC优化问题等价于:
B.模式2:稳定性保证和有界误差
当横向误差的绝对值小于期望值时,控制器没有效率切换平衡点来做一些微小的调整。模式二的目标是将车辆状态稳定到期望值,并将横向误差控制在以内。
1.横向误差约束
我们使用[14]中描述的模型来捕获误差动力学。方程如下:
其中航向角误差记为,为车辆航向角与参考航向角之间的角度偏差。为参考弹道的曲率。
通过将方程(15)中的状态扩充为我们可以得到一个新的线性化模型。与式(15)-(17)的推导类似,线性化模型和预测序列模型如下所示:
其中期望的平衡点表示为:。该模型的一些细节在附录中有描述。在时刻的预测横向误差可以推导如下:
其中矩阵定义为:。
横向误差约束可以重新表述为预测输入增量的约束,如下所示:
其中
由于两个目标的冲突性质,将横向误差直接纳入成本函数可能导致车辆退出漂移状态。将误差限制在期望范围内更为现实和实用。
2.终端状态约束
通过模式1快速调整横向误差后,期望平衡点接近参考平衡值。在模式2中,
控制器跟踪一个固定的平衡点,解决了模式1中目标频繁切换的问题。更进
一步,模式2理论上保证状态会收敛。如果将终端状态约束添加到时刻的MPC优化问题中,则可以在个控制周期内稳定车辆状态。然而,优化问题也需要同时满足约束(27),这可能会违反稳定条件。
为了同时满足终端约束和误差约束,另外增加了一个新的约束。
如果满足时刻的终端约束,则车辆状态收敛于时
刻的期望值,则可推导出时刻的预测横向误差和航向角误差
其中
矩阵的详细推导见附录,证明了的特征值位于单位圆上。这意味着横向误差在时间之后变得周期性。因此,车辆的未来轨迹遵循具有期望半径的圆形路径。此外,圆形参考轨迹与预测轨迹之间的最大横向误差保持不变。
新的约束旨在将周期误差的最大值限制在内。其定义如下:
其中预测范围计算为,表示车辆运动的单圈时间,它还包括一个周期内的横向误差。
将方程(28)代入约束(29),得到如下表达式:
类似于约束(27)的推导,约束(30)可以直接转换为预测输入增量的约束。将其重新表述如下:
在模式2中,具有新约束的MPC优化问题定义为:
定理4.1:若上述优化问题在k时刻可解,则控制器的稳定性将得到保证,且横向误差始终限制在范围内。
证明:在时刻,最优输入序列为,对应的状态轨迹为。
在下一个时间步,构造输入序列。该序列是优化问题的可行解。
首先,输入序列满足约束(36)。推导过程如下:
在时刻,最优输入序列满足约束(36)。得到方程如下:
在时刻,步骤的预测状态推导如下:
其次,输入序列满足约束(37)-(38)。推导过程如下:
时刻的最优横向误差与时刻的预测误差之间的关系为:
在时刻,最优输入序列满足约束(38)。因此,在时刻预测误差序列的最终元素具有如下关系:
输入序列满足约束(37)。
预测横向误差的值在时间之后是周期性的,周期误差的最大值是相同的。预测误差满足以下表达式:
输入序列满足约束(38)。
一旦模态2在时间的优化问题得到解决,则输入序列是时间的优化问题的可行解。对于模态2的优化问题,在时间步长之后总是有解的。问题的可行性保证了横向误差被限制在以内。
在时刻,对应的最优代价为:
在下一时刻,可行解的代价为:
那么,时刻的最优代价的界限为:
给定终端约束,式中第二项和第三项为零,可以得出成本函数是递减的,证明了控制器的稳定性。
C.模式选择器
模式选择器如图9所示。最初,控制器在模式1下运行,以使车辆尽可能快地跟踪轨迹。在这一阶段,控制器只需要解决带有输入约束的优化问题(21)。表示车辆运动一圈期间横向误差的最大绝对值。用公式来近似计算搭接时间。如果误差在时间间隔内不超过,则控制器尝试用附加约束(36)-(38)来解决优化问题。对控制器进入模式2能力的分析如下:当状态接近平衡点时,可以认为局部线性化模型近似等价于非线性模型。当时,模式1可以将车辆状态稳定到参考值,并跟踪轨迹。当横向误差收敛于零时,模式1下优化问题的解同时满足稳定性和误差约束,这也是模式2下优化问题的解。因此,控制器可以进入模式2。一旦问题解决,控制器切换到模式2,跟踪一个固定的平衡点,并将横向误差约束在以内。
图9. 模式选择器
A.仿真设置
对于仿真,我们在Matlab中设计了控制框架,并与CarSim进行了联合仿真。为了证明所提出的控制器的增强性能,我们将其与[16]中的控制器1进行了比较。详细介绍了车辆参数于表1中。此外,所提出的控制器的参数,包括控制周期和增益,如表2所示。需要将后轮纵向力转换为汽车的扭矩输入,这可以在参考[14]中找到。
表2 控制器参数
在时间为0s时,初始设置车辆的速度为10.8 m/s。将参考圆轨迹半径设为21 m,转向角设为- 0.41 rad,通过求解漂移平衡点,得到参考车辆状态和系统输入:,,,,。
B.仿真结果
在图10(a)中,所提控制器的跟踪性能优于控制器1。具体而言,在13.5 s时间,由所提控制器控制的蓝色车辆与所期望的圆形轨迹密切相关,而由控制器1控制的橙色车辆则明显偏离。在图10(c)中,橙色车辆的最大横向偏差为1.59 m。相比之下,蓝色车辆的最大横向偏差为0.71 m。而且,蓝色车辆的横向误差收敛速度明显快于橙色车辆。由于控制器1的轨迹跟踪和漂移是通过前馈控制和LQR分别实现的。一旦横向误差变大,整个稳态的收敛速度就会变慢。相比之下,所提出的控制器可以同时实现漂移和轨迹跟踪。提出了模糊专家策略来选择合适的平衡点。控制器跟踪期望的平衡值,以快速减小偏差。
时间间隔为10.0 s。在0 ~ 20.0 s的时间间隔内,误差大于0.05 m。第三圈时误差小于0.05 m。因此,在时间30.0 s时,控制器试图解决模式2的优化问题。在时间30.3 s时,满足终端约束和误差约束,控制器切换到模式2。在模式2中,这些状态预计最迟在2.5秒内收敛。而蓝色车辆的未来轨迹为固定半径的圆形轨迹。图10和11说明了采用模式2的控制器能够稳定状态并将横向误差限制在内。从整个漂移平衡状态考虑,所提控制器的稳定性优于控制器1。
为了进一步评价模式2的性能,我们在较大的值下进行了仿真实验。在新的仿真中,将允许控制误差设置为0.2 m。如图12所示,控制器在20.4 s时切换到模式2,状态收敛得更早。与的仿真结果相比,控制器进入模式2的调整时间更短。横向误差的均方根(RMS)被用于量化跟踪性能。对比如表3所示。当时,所提控制器的跟踪性能仍优于控制器1。但是,所提控制器的横向误差大于 较小的控制器。仿真结果表明,模式2作为控制器的安全稳定阶段。这一点很重要,因为MPC是一个有限时间范围的优化问题,并且不像LQR那样固有地保证状态收敛。
图10. 两种控制器用于车辆跟踪的性能比较。(a)CarSim仿真中测量的路径(b)13.5s时CarSim中的动画(c)CarSim仿真中的横向误差。
图11. CarSim中的状态和输入。(a)速度(b)侧滑角(c)横摆角速度(d)转向角(e)后轮纵向力
图12. 提出的控制器和控制器1在时的跟踪误差
表3 控制器跟踪误差的RMS
此外,在三组不同的参数组合下进行了仿真,以验证所提出控制器的有效性。参考半径的范围为18m~ 30m。参考平衡值如表4所示。其中,为,为。所提控制器的其他参数如表2所示。跟踪性能对比结果如表5所示。所提控制器的均方根远小于控制器1的均方根,表明所提控制器在不同参数组合下都能保持良好的跟踪性能。
图13. 不同组参数组合下的跟踪性能对比。(a)在CarSim仿真中的测量路径(b)仿真2中的横向误差(c)仿真3中的横向误差(d)仿真4中的横向误差
表4 参考值
表5 两个控制器的跟踪误差均方根
本文主要关注的是圆形轨迹。由于圆形轨迹的周期性误差特性,模式2是专门为该轨迹设计的。幸运的是,由于模糊专家策略,具有模式1的控制器仍然能够跟踪复杂的轨迹。仿真验证在附录中进行。
图14. 1:10比例的小车
A.实验设置
如图14所示,如一个1:10比例的汽车平台已经被开发出来,以尽可能接近真实的车辆进行漂移动作。这辆实验车配备了英特尔T265跟踪摄像头、便携式超级计算机和一个被称为Arduino的低级控制器。摄像头会测量横摆角速度、横向和纵向速度以及车辆的位置。这些测量的状态然后以62 HZ的速率传输到Udoo Bolt V8单板计算机。这台单板计算机由AMD V1605B处理器供电,主频为2.0 GHZ。它运行机器人操作系统,并利用横向和纵向速度来计算车辆的侧滑角和速度。此外,还实现了扩展卡尔曼滤波器,以提高状态测量的准确性。MPC成本函数使用OSQP[22]求解,Udoo Bolt以100 HZ的速率将控制命令传输到Arduino。底层控制器控制伺服电机和后轮驱动电机。与仿真不同的是,1:10比例小车的前轮胎参数需要经验识别。在[2]中进行准稳态运动,生成前轮的实验数据。在该运动中,转向角度缓慢增加(1.0 deg/s),后轮纵向力设置为恒定。整个驾驶过程可以看作是一个稳态转弯的过程。随后,前轮侧向力由式(49)计算。
图15. 实验数据和识别出的侧向力曲线
使用Matlab中的Curve Fitting Toolbox对Magic Formula进行拟合。图15显示了实验数据和拟合曲线。后轮纵向力不能作为驱动1:10比例小车的直接输入。利用[23]中的一种方法,建立了驱动电机占空比与后轮纵向力之间的关系。这种关系可以用下面的公式来表示:
式中为电机的驱动力,假定与电机占空比线性相关。为摩擦力,为阻力。、为增益参数。
目标函数(51)旨在寻找能保持住纵向动力学表达式的最优参数。
其中表示数据集的大小。优化问题中的近似为,其中是两个数据点之间的时间间隔。为了生成实验数据,我们使用固定的转向角和各种占空比来驾驶1:10比例的汽车。图16展示了根据实验数据对速度的预测。参数、和摩擦力的优化值分别为0.05、- 0.05和- 0.58。车辆参数见表1,控制参数见表2。
图16. 对比实验数据的速度预测
B.实验结果
圆形轨迹的参考半径和转向角分别为0.46 m和- 0.65 rad。参考平衡值给出如下,,,,。提出的模式1控制器从一开始就参与驾驶1:10比例的汽车。控制器的目标与仿真相同,需要同时跟踪参考漂移平衡值和圆形轨迹。此外,还对所提出的控制器和控制器1进行了比较。图17(a-d)和19说明了1:10比例汽车跟踪圆形轨迹的完整过程。两个控制器最初都表现出相对较大的横向误差,这归因于汽车从静止状态开始。然而,从图17(e)可以看出,与控制器1相比,提出的控制器实现了更快的横向误差收敛速度。该控制器和控制器1的RMS分别为0.13和0.19。在20秒后,所提出的控制器已经能够跟随轨迹。控制器1完全依靠前馈控制来跟踪轨迹,这使得它很难跟随轨迹直到大约30秒后。此外,从28.7 s到32.8 s,所提控制器的误差保持在预期范围±0.15 m内。提出的控制器在32.8 s的时间进入模式2,如图18所示。在模式2中,车辆处于稳定的圆周运动状态。因此,与控制器1相比,该控制器具有更好的跟踪性能和保持漂移状态的能力。
图17. 两种控制器的跟踪性能比较。(a)0 s到10 s的轨迹(b)10 s到20 s的轨迹(c)20 s到30 s的轨迹(d)30 s到40 s的轨迹(e)横向误差。
图18. 实验中的状态和输入。(a)速度(b)侧滑角(c)横摆角速度(d)转向角(e)后轮纵向力
图19. 使用提出控制器的车辆漂移视频截图
为了同步实现漂移和轨迹跟踪的目标,本文仔细分析了漂移平衡点与漂移半径之间的动态关系。在此分析的基础上,提出了一种新颖的使用两种运行模式的基于MPC的漂移控制算法。在模式1中,设计了结合横向跟踪误差的新型模糊策略来计算期望漂移平衡点。MPC控制器跟踪期望点来快速减小横向跟踪误差。在模式2中,在MPC优化问题中加入了终端状态约束和横向误差约束,证明了该优化问题能够保证漂移稳定性。最后,将所提控制器与基于LQR的专家控制器进行了比较。仿真和实验结果表明提出的控制器具有更好的跟踪性能和漂移稳定性。在未来的工作中,我们计划探索更复杂的跟踪场景。此外,由于单轨模型被简化,漂移平衡对模型参数敏感,因此机器学习方法与传统控制的集成是未来研究的重要方向。
附录1.模式2中的细节
在模式2中,增强状态表示为,系统输入为。新的系统模型表示如下:
期望状态表示为,期望输入。则离散化后的线性化模型为
在时刻,模式1中定义的预测状态需要满足终端约束。
表A1 两个控制器的跟踪误差的均方根RMS
利用方程(A5)-(A6),预测横向误差的预测航向角误差可推导如下:
其中,矩阵为,矩阵为。
我们选择仿真中中使用的期望平衡点来数值证明矩阵的特征值在单位圆上。该点给出如下:
,,,,。参考曲率为0.048。所以矩阵给出如下:
矩阵的特征值为,均在单位圆上。
附录2.复杂轨迹验证
利用仿线生成参考轨迹[13]。在265米的距离上,轨迹的曲率范围为1/40至1/21。我们将提出的控制器与同时优化轨迹跟踪和稳态漂移的MPC控制器[17]进行了比较。在提出的控制器中,和分别设置为18 m和45 m。此外,我们设置了参考侧滑角和转向角,允许专家策略为控制器选择合适的平衡点。[17]中的控制器被称为DTTC。
从表A1和图A1可以看出,所提出的控制器在轨迹跟踪性能方面优于DTTC。如图A2所示,增加DTTC中轨迹跟踪的权重会破坏车辆漂移状态的稳定性。所提出的控制器的优势在于其分层优化方法,将轨迹跟踪和稳态漂移作为两个独立的优化目标来处理。
图A1. 跟踪性能。(a)CarSim仿真中的测量路径(b)CarSim中的动画(c)CarSim仿真中的横向误差。
图A2. CarSim模拟中的状态。(a)速度(b)侧滑角(c)偏航率