自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC

Posted 架构师易筋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC相关的知识,希望对你有一定的参考价值。













在上一个视频中, 我们研究了斯坦利控制器 用于横向路径跟踪控制。 在本视频中,我们将探索 先进的应用控制策略, 称为模型预测控制或 MPC, 了解如何合并 控制器设计中的动态建模。 特别是在这个视频中, 我们将描述 MPC 架构 以及后退地平线控制的概念, 制定 MPC 优化问题 对于线性和非线性模型, 并将 MPC 应用于联合纵向和横向车辆控制。 让我们潜入。

首先,让我们 快速浏览模型预测控制的关键方面。 MPC 是指控制设计方法 数值求解每个时间步的优化问题。 因为解决一个优化问题 在每个时间步骤都需要时间, MPC 最初应用于慢 工业化学加工等过程。 但是,随着性能的不断提高 今天的计算硬件已经使 MPC 即使在嵌入式硬件上也是一种可行的方法。 越来越多的汽车应用 将 MPC 作为改进的一种方式 性能和扩大操作范围 对于一套不同的嵌入式控制器, 从牵引力控制和稳定性控制, 到减排和怠速控制。

自动驾驶汽车的纵向和横向控制是 另一个非常适合 MPC 的应用。 模型预测控制通常是 可互换地称为后退地平线控制, 因为控制器生成一个执行器信号基于 固定的有限长度范围在 随着时间向前移动接收的每个时间步。 解决方案的主要优势 作为控制器一部分的在线优化如下: MPC 控制器的公式是 直接要求定义 目标函数和相关约束 然后使用完善的求解器进行优化。 状态和控制信号可以被限制在 安全操作界限和控制可以 选择以同时最大化多个目标。 可以使用硬约束和软惩罚, 导致一套丰富的解决方案 用于约束控制问题。

正如许多汽车子系统所具有的 严格的执行器约束和多样化的性能目标, MPC 已成为车辆控制的主要工具。 控制器可以显式应用于 车辆及其子系统的线性或非线性模型, 这意味着我们可以使用相同的方法 即使我们的模型随着时间的推移而改变或改进。 必须权衡这些优势的权衡, 是 MPC 需要 显着更多的计算资源 比静电控制法。 肯定可以创造 优化公式太 计算成本高昂 平稳车辆控制所需的高更新率。 需要仔细实现以避免处理器过载。

在我们开始设计 MPC 控制器之前, 让我们仔细看看 Receding Horizo​​n 的概念。 后退地平线控制解决了 每个时间步的固定大小优化, 识别最佳控制输入 从当前时间申请到 基于地平线的尽头 车辆的目标约束和当前状态。 然而,在实施中出现的一个问题, 是因为优化可能需要一些时间, 启动优化时车辆的状态, 将与状态不同 完成优化后的车辆。 因此,我们必须在 优化时间 将实际应用控制输入。

让我们逐步完成整个过程并澄清所需的符号。 首先,我们定义后退水平长度 t。然后,我们设置初始状态 优化为结束时的预测状态 时间 t 的优化 x。下一个,我们解决优化作为车辆 从 t 时刻的当前状态减去 t 的一到 x 使用 先前优化中确定的控制输入。 虽然我们不会完全到达 由于干扰而在时间 t 预测的状态, 如果时间间隔很短,我们确实希望合理接近。 最后,我们应用来自第一个时间步的控制信号 后退范围优化 并在下一个时间步重复该过程。

我们可以将 Receding Horizo​​n 或 MPC 算法可视化, 使用以下框图进行控制。 我们有两个主要块,一个优化器块, 这是核心 MPC 组件 或后退地平线控制组件, 和动态模型。 该模型接受过去的输入和状态 从时间 t 减 1 开始 优化器的输出是 地平线中每个时间步的当前输入序列 U。 然后模型在下一个时间步输出预测状态, 将它们与参考轨迹进行比较,并且 作为未来或预测的错误传递给优化器。 优化器还收到 更新的约束和要使用的成本函数, 可以在高级或 根据操作模式的变化而变化。 优化器然后解决 它的优化和过程重复。

现在,让我们特别看一下线性 MPC 设计。 我们使用状态空间公式 表示离散形式的运动模型。 未来状态是线性相关的 到当前状态和执行器信号。 注意,A 和 B 是 系数矩阵 和 假定是时不变的。 MPC 试图找到 有限范围内输入的控制策略 U。 如果所有状态都被驱动为零, 我们最小化时的目标函数或成本函数, 可以定义如下: 二次误差 状态的两种偏差 零和非零控制输入。

这类似于优化问题 最优控制理论和权衡 控制性能和输入积极性。 请注意,矩阵 Q 和 R 称为权重 矩阵,可以选择 实现特定类型的响应。 如果我们需要跟踪 参考信号,例如所需的轨迹, 我们修改公式以包括 相对于所需状态的误差增量 x。 这是一个著名的优化公式 并有一个封闭形式的解决方案, 线性二次调节器或 LQR。 封闭形式的解决方案使用全状态反馈, 这意味着所有状态都用于控制响应。 LQR 解定义了一个控制增益矩阵 K, 可以从 A 和 B 矩阵计算 状态空间模型和 成本函数的 Q 和 R 矩阵。 我们在补充材料中包含了以下链接 这是状态-节奏控制理论的迷人结果。

在更一般的情况下, 目标函数是 的任何可微非线性函数 后退范围内的状态和输入。 对优化施加的约束可以包括: 运动的非线性动态模型, 状态和输入边界 捕捉诸如最大转向角之类的东西, 和任何其他不等式约束 g 是影响我们系统的等式约束 h。 然而,对于这样的一般优化问题, 不存在封闭形式的解决方案。 因此,我们必须依靠数值优化来寻找解决方案。 甚至运动学自行车模型也属于这一类。 所以,几乎所有的 MPC 控制器 自动驾驶将通过数值求解。

现在让我们看看实现 用于自动驾驶汽车轨迹跟踪的 MPC 控制器。 MPC 将用于前面介绍的相同反馈结构中, 但我们包括从 轮胎迫使油门、断裂、 和转向命令作为循环内的低级控制器。 MPC 块或参考轨迹的输入, 其中包括参考路径和速度, 以及车辆在每个时间步的状态。 MPC 块的输出是 横向和纵向力 需要遵循所需的轨迹。 然后将这些力转化为油门、刹车、 和转向命令,作为低级控制的输出。 最后,驱动信号 在每个时间步应用于车辆, 并且在闭合反馈回路时实现了新的车辆状态。

MPC 优化将设置为 随后执行双车道变换机动。 首先,我们定义跟踪所需轨迹的成本, 其中包括偏离 所需的轨迹和 最小化控制指令幅度。 接下来,我们定义车辆的运动约束, 依赖于横向和纵向模型 在早期的视频中开发。 我们还施加了最大限制 在轮胎力上限制它们 落在线性轮胎区域内 避免极端的反应来控制我们的错误。 这些成本和约束定义了 我们示例中使用的优化, 然后被转换成 由低级控制器发出的实际车辆命令。

也可以加入 低级控制进入 MPC 优化, 这将包括作为约束,引擎地图, 完整的车辆动力学模型, 执行器力和轮胎力模型。 结果是一个很大的优化问题 实时解决可能具有挑战性, 但让我们看看结果。 这个模拟是针对双车道变换场景完成的, 车辆首先加速到稳态速度 每秒 17 米或每小时 60 公里, 然后向左移动四米, 然后立即向右返回四米。 下图显示了结果 MPC控制的模拟机动, 参考轨迹在 蓝色和红色的实际车辆轨迹。 我们可以看到跟踪性能与 MPC控制器非常好, 略微滞后,但没有超调或振荡。 这也许并不奇怪,因为模拟 和 MPC 使用相同的模型和参数。 模型预测控制器的输出, 横向和纵向力, 可以看到平滑变化和表现良好。 此外,车辆横摆率 绘制了双车道变换机动, 揭示车辆整个状态的精确跟踪。

MPC显示了很多承诺 一种用于自动驾驶的控制技术,并且可以 不加修改地用于广泛的 操作条件和各种各样的场景。 这种灵活性和便利性是有代价的 增加的计算要求和依赖 关于鲁棒优化求解器的可用性 总是在可用的时间窗口内返回可行的解决方案。

让我们总结一下我们在本视频中讨论的内容。 我们首先探讨了模型预测控制的定义和 后退地平线和建造 MPC 系统的闭环框图。 然后我们定义 MPC 中使用的成本和约束。 最后,我们将 MPC 应用于 自动驾驶汽车的轨迹跟踪问题。

恭喜,您已完成本模块的学习。 在本模块中,您学习了如何 定义横向路径跟踪问题, 应用了两个几何路径跟踪控制器, 纯粹的追求和 斯坦利控制器到路径跟踪问题, 并为关节定义了一个模型预测控制器, 横向和纵向控制。 在本课程的最后一个模块中, 你会得到你的第一手看看 在 Carlos 模拟器中,您将 设计横向和纵向控制器 在赛道上驾驶车辆。

第 4 课补充阅读:高级转向控制 - MPC

补充阅读:高级转向控制 - MPC
要了解有关用于车辆控制的模型预测控制 (MPC) 的更多信息,请阅读以下内容:

Falcone, P. 等人,“自主车辆系统的预测性主动转向控制”,IEEE (2007)。https://ieeexplore.ieee.org/document/4162483

参考

https://www.coursera.org/learn/intro-self-driving-cars/lecture/WHPvn/lesson-4-advanced-steering-control-mpc

以上是关于自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC的主要内容,如果未能解决你的问题,请参考以下文章

为何自动驾驶需要5G?

为什么自动驾驶需要5G?

自动驾驶技术之——线控制动

卡车自动驾驶?并不够!还要编队行驶!(内附视频)

基于模型参考自适应控制(MRAC)的自动驾驶方向盘(油门)控制方法

自动驾驶技术基本知识介绍