高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)

目录

1 高速行驶车辆模型预测控制

1.1 面临的挑战与解决方案

1.1.1 高速车辆稳定性问题

1.1.2 解决方案

1.2 变步长离散化等效模型

1.2.1 阶段一:短步长离散化

1.2.2 阶段二:长步长离散化

1.3 基于横摆稳定约束的轨迹跟踪 MPC设计

1.3.1 横摆稳定包络线约束

1.3.2道路环境约束

1.3.3 执行机构饱和约束

1.3.4 构造模型预测控制器

2 Carsim / SIMULINK 联合仿真平台搭建

2.1 Carsim 配置

2.2 SIMULINK 实现

3 MATLAB 重点代码段解析

3.1 通过参考轨迹,更新车辆状态和边界

3.1.1 搜索全局路径上最近的点

3.1.2 用Bezier曲线插值

3.2 构建 MPC 矩阵

3.2.1 短步长等效模型

3.2.2 长步长等效模型

3.3 CVXGEN求解器设置

4 仿真结果分析

4.1 工况 1:干燥的沥青路面

4.2 工况 2:潮湿的沥青路面

4.3 工况 3:冰雪覆盖的路面

4.4 不同求解器性能分析


1 高速行驶车辆模型预测控制

当无人驾驶车辆高速行驶时,一旦进入失控或侧倾等失稳状态,很难通过制动减速来规避风险。面对这种情况,即使车载的稳定性控制系统能发挥作用,也经常无法恢复车辆的稳定行驶。但是如果能够充分利用无人驾驶车辆在信息处理和环境感知方面的能力,利用车辆动力学模型来预测其在未来一段时间内的行驶状态,进而事先生成满足横摆、侧滑和侧倾等非线性动力学约束的最优运动轨迹,并控制车辆在其操作性能之内跟踪所规划出的轨迹,则可以有效地减少或者避免交通事故。因此,研究基于模型预测控制的无人驾驶稳定性控制对实现其在复杂道路环境下的高速行驶有重要作用。

1.1 面临的挑战与解决方案

1.1.1 高速车辆稳定性问题

高速无人驾驶车辆的操纵稳定性分析存在两个方面的挑战。首先,需要根据无人驾驶车辆的动力学模型,寻找合理的控制边界,制定有效的操纵稳定性判据,实现对其操纵稳定性的在线评价;其次,这些操纵稳定性判据应该可以体现在性能评价函数中,并额能够通过评价函数的最优化,准确地反映无人驾驶车辆在横摆和侧滑等非线性动力学约束下的操纵稳定性。

模型预测控制算法在无人驾驶车辆的跟踪控制领域取得了显著的成果,然而它在高速情况下的稳定性控制方面还面临很多挑战,主要来自于车辆动力学模型复杂度和计算实时性之间的矛盾。一方面跟踪控制需要采用较高精度的车辆模型来保证预测的有效性;另一方面,必须对车辆高度非线性的模型及动力学安全约束进行等效简化,以降低优化求解的难度,提高跟踪控制的实时性。此外,相比于常规速度,高速条件下的无人驾驶车辆需要更长的预测距离来进行危险规避,如果一味的增大预测时域 Np,则会加剧算法求解的难度,不利于实时性,所以只能尝试通过增大采样间隔 T ,即更长的预测时域来增大预测距离,这种思路就是长步长离散化模型。

1.1.2 解决方案

从高速无人驾驶车辆进行路径跟踪控制的需求出发,首先介绍模型变步长的离散化方法、在实现更长的预测时域的同时,降低MPC优化求解的计算量,提高实时性;然后推导基于包络线的横摆稳定性判据,设计满足横摆稳定性约束的高速无人驾驶车辆路径跟踪控制器。

1.2 变步长离散化等效模型

将整个预测时域分为两个阶段,第一阶段使用短步长 ts 进行离散,从而保证离散后模型的精度;第二阶段使用长步长 tl 进行离散,在合理的模型精度和计算量下实现较长的预测时域。设整个预测时域为 Np,并在第 Ns 步分成短步长离散和长步长离散两个部分。

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第1张图片 车辆横摆动力学模型

1.2.1 阶段一:短步长离散化

对于阶段一,即 k = 0,1, ... Ns,将横向动力学模型以 ts 为短步长,使用零阶保持器进行离散化。

短步长离散化

在步长较短的情况下,采用零阶保持器 进行离散化可以较为准确地拟合原曲线。但高速情况下需要感知到更远距离的路径,而预测时域总数一般是固定的,比如 Np = 15,此时必须增大采样间隔 T,从而在有限的预测时域内感知到更长的距离,所以长步长离散化是有必要的。

1.2.2 阶段二:长步长离散化

对于阶段二,即 k = Ns + 1, Ns + 2 , ... , Np,采样间隔改为长步长,此时零阶保持器则不再适用,因为零阶保持器 ZOH 会限定这部分的控制量在较长的预测周期 tl 内保持不变,如下图中的红色阶梯线所示。

零阶保持器和一阶保持器对比

可以看出,这种零阶的采样保持模式会使离散序列与原曲线产生较大的偏差,即可能存在失真的现象。针对这种情况,我们尝试采用一阶保持器 FOH,即假设控制量在一个长预测周期 tl 内的变化按照一定斜率增减,而不再是阶梯式的采样保持,从而更好地拟合原曲线,虽然 FOH 的结果仍然无法与原曲线完全重合,但仍在控制精度可接受的范围内。

长步长离散化动力学模型

1.3 基于横摆稳定约束的轨迹跟踪 MPC设计

MPC 控制器设计因素包括代价函数的设计以及约束的设计,并转换为二次规划的标准型即可求解。其中约束部分包含:横摆角速度和横向速度的相平面包络线约束、道路环境约束、执行机构饱和约束以及高速情况下的变步长离散等效模型约束。

1.3.1 横摆稳定包络线约束

基于横摆角速度-侧向速度的相平面能够很好地体现车辆的横摆特性以及对轮胎侧偏角的限制,适用于基于前轮主动转向的稳定性控制。下面选择横摆角速度和横向速度作为主要研究参数,通过分析车辆稳态行驶时的最大横摆角速度和轮胎最大侧偏力,推导基于包络线的横摆稳定性判据。

为了保证线性化轮胎模型的有效性,需要限制轮胎侧偏角的取值范围。由于当车辆发生横摆失稳时,后轴侧滑造成的危害比较大,即甩尾现象,因此通常对后轮侧偏角进行约束。首先回顾车辆横摆动力学模型:

在稳定横向控制中,对公式(2.22)做出简化,即令 Vy_dot = 0;φ_dot_dot=0

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第2张图片

根据后轮的最大侧偏力约束,可以得到横摆角变化率的控制阈值:

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第3张图片 横摆角变化率的控制阈值

 根据公式(2.24),可以将后轮侧偏角的约束 αr_lim 转化为对车辆横向速度 Vy 的约束:

车辆横向速度的约束

基于约束公式(7.7)和(7.8),在横摆角、侧向速度的相平面内,基于包络线的横摆稳定性判据可以写成如下形式:

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第4张图片

包络线的绘制:公式(7.7)可以看出横摆角速度的上下界为直线,与侧向速度取值无关。通过公式(7.8)可以看出,侧向速度的上下限取值与横摆角速度呈正相关:在边界 αr_lim 上,φ_dot 越大,响应的 Vy 取值也越大,但始终是一条带斜率的直线。

1.3.2道路环境约束

道路环境对高速车辆的约束主要表现为车辆轨迹必须保持在给定的可行区域内,并满足无碰撞的要求。高速车辆避障的功能可以通过在生成可行区域时考虑障碍物的影响来实现。将道路环境对车辆的轨迹约束表示为一系列横向偏差阈值的组合。

1.3.3 执行机构饱和约束

执行机构的约束即控制量前轮偏角和控制增量的约束,代表底层驱动能力,同时也影响乘坐舒适性。具体体现为前轮偏角的幅值约束和其在一个控制周期 ts 内的最大变化量。

                                        | δf | ≤ δf,max                                                                 (7.12)

                                        | Δδf | ≤ Δδf,max                                                             (7.13)

1.3.4 构造模型预测控制器

到目前为止已经考虑了所有的潜在约束条件,接下来是设计合理的目标函数,最后将目标函数和约束条件规范为求解器可识别的二次规划标准型。

首先明确求解前轮转角最优控制序列的问题,本质上就是一个凸优化问题,我们设计目标函数的思路就是将需要最小化的惩罚项体现在目标函数里,显然这里需要考虑以下几个惩罚项:

1、横向偏差 ey 的惩罚:抑制了高速无人驾驶车辆相对于参考路径的横向距离偏差,实现了路径跟踪。

2、航向偏差 的惩罚:约束小车的航向,使车身航向跟随道路切线方向。

3、控制增量 δf(k) - δf(k-1) 的约束,即平滑性:控制增量作为惩罚因子,概念不同于约束条件中的 Δδf,这里的惩罚项是考虑了惩罚系数的最优解,在求解过程中会平衡该惩罚项和其他惩罚项之间的权重。而约束条件中的 Δδf 是一个绝对数值,仅仅能保证 Δδf 不超过最大值。

4、松弛因子 Ssh 惩罚项:当高速车辆出现暂时滑移,即轮胎进入非线性区域,会导致横摆角速度或横向速度短暂跃出包络线约束范围,这并不必然导致车辆横摆角失稳,但一定会导致优化问题没有可行解(因为不再满足包络线的约束条件),所以需要增加一项包络线的松弛因子,该惩罚系数过大会导致包络线过于松弛,出现真正失稳失控的危险状况,同时过小也可能导致无最优解,同样会失控,所以需要调试来平衡各惩罚项的权重。

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第5张图片

(d)短步长离散化等效模型

(e)长步长离散化等效模型

(f)包络线滑移约束

(g)道路环境约束

(h)控制量约束

(i)控制增量约束

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第6张图片 MPC 参数

2 Carsim / SIMULINK 联合仿真平台搭建

2.1 Carsim 配置

车辆参数

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第7张图片

工况设置

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第8张图片

道路场景

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第9张图片

输入通道设置

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第10张图片

输出通道设置(38个)

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第11张图片

以及

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第12张图片

 对应全称

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第13张图片

以及

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第14张图片

2.2 SIMULINK 实现

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第15张图片

3 MATLAB 重点代码段解析

3.1 通过参考轨迹,更新车辆状态和边界

3.1.1 搜索全局路径上最近的点

3.1.2 用Bezier曲线插值

3.2 构建 MPC 矩阵

3.2.1 短步长等效模型

3.2.2 长步长等效模型

3.3 CVXGEN求解器设置

4 仿真结果分析

在多种道路条件和车速下进行了对比仿真实验,分别选取了干燥的沥青路面、潮湿的沥青路面和冰雪覆盖的路面三种典型道路。仿真测试道路包含了三个连续大曲率弯道,如下图示。

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第16张图片 联合仿真测试道路

4.1 工况 1:干燥的沥青路面

干燥沥青路面的摩擦系数设为 0.85

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第17张图片

不同车速下的横向跟踪误差对比

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第18张图片高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第19张图片

可以看出,高速无人驾驶的横向跟踪偏差始终保持在 0.5 m 以内。 

不同车速下的前轮偏角对比

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第20张图片高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第21张图片

 可以看出,前轮偏角始终处于执行机构的机械饱和约束范围内。

不同车速下的横向速度和横摆角速度的对比

高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第22张图片高速无人驾驶车辆防滑移MPC控制 学习笔记(未完结)_第23张图片

可以看出,被控车辆的质心横向速度以及横摆角速度始终处于滑移包络线之内,即高速车辆符合操作稳定的状态,而且车速越低,车辆越稳定,与实际规律相符合,从而验证了轨迹跟踪控制器在干燥沥青路面的有效性。

Carsim 跟踪动画

4.2 工况 2:潮湿的沥青路面

潮湿的沥青路面摩擦系数设为 0.6。

4.3 工况 3:冰雪覆盖的路面

摩擦系数设为 0.3。

4.4 不同求解器性能分析

待补充

你可能感兴趣的:(无人驾驶,matlab,自动驾驶,目标跟踪)