Advertisement

无人驾驶之车辆控制 (2)MPC模型预测控制算法

阅读量:

目录

  • 引言

  • 原理概要

  • 数学推导

    • 模型建立
    • 目标函数
  • 仿真结果

  • 总结

引言

在这里插入图片描述

该控制算法的功能在于确保被控系统能够在满足快速响应、稳定性和精确性等规定性能需求的前提下完成特定任务。其本质是将驾驶员的操作(如方向盘转向动作、油门踏板操作及刹车操作)转化为一系列具有固定控制周期的离散信号并传递至底盘执行机构处理。下文中介绍的MPC算法是一种基于系统特性数学模型的方法,在时间维度上规划一系列控制量序列以实现车辆对目标轨迹较为精确地跟踪并兼顾舒适性和安全性。

原理概要

MPC的全称为Model Predictive Control(Model Predictive Control),简而言之,则是基于现有的数学模型对未来系统的状态进行预测,并选择何种操作序列以使实际运行的状态与预期一致。其基本思路在于:首先根据当前系统的状态和外部输入的变化情况建立数学模型;其次,在预定的时间范围内通过不断优化计算确定一系列可能的操作序列;最后,在每一步操作中执行当前最优的操作序列。为了更好地理解这一概念,请允许我举两个简单的例子。

在这里插入图片描述

假设我们已知图中这颗篮球出手瞬间其初速矢量的大小v和方向θ投篮点与篮筐间的水平距离l及其垂直高度差h基于高中阶段所掌握的物理原理及数学工具(模型)可以精确推导出篮球在空中任一时刻的位置坐标进而完成对篮球入筐状态的预测换而言之,运动控制系统(MPC)可以根据当前系统状态与目标参数间的差异关系,动态调整系统的控制变量以实现精准投篮操作

为了获得更加精确的预测控制量,在实际应用中通常需要建立一个更为精细的物理模型。例如,在这个投篮案例中,则需要对空气阻力以及各地重力加速度等因素进行细致地分析,并考虑其对篮球投射轨迹的影响。尽管更为详尽且精确的模型能够提供更为准确的预测和更为优化的控制效果,在实际应用中通常会采用较为简化的模型来近似处理问题,并且这种简化既能满足应用需求又能有效降低算法复杂度和计算负担。

上面的例子成功地详细阐述了MPC的核心思想。接下来的那个例子则能帮助我们更好地理解这些关键点。其实在进行象棋决策的过程中,我们的思维模式与模型预测控制的工作原理有着高度相似之处。

  1. 我们脑海里积累了许多下棋经验。(模型)
  2. 不同的棋子都有各自的活动规则,例如炮必须隔山打,马脚受阻则无法行动,而且所有的棋子都不能走出棋盘。(约束)
  3. 我们的最终目标是实现胜利。(设置目标函数)
  4. 最好是在现有约束条件下,基于既有经验模型的基础上,设计出一系列能够在最少步数内击败对手的同时,损失最少子力的策略。(最优化求解)
  5. 我们需要尽可能地预测对手接下来5步甚至10步、20步的走法,并制定相应的策略。通常情况下,只能预测5步的人永远无法击败能够看10步的人,但随着预测范围的扩大,对计算能力的要求会呈指数级增长。(预测范围与控制效果)。
在这里插入图片描述

在现有研究中发现,MPC与当前流行的AI神经网络之间最大的区别在于,前者是由纯粹物理或化学等领域的基础数学公式模型驱动,而后者则是数据驱动的基础线性关系与激活函数叠加形成的复杂网络系统.尽管如此,两者的本质都是解决各类优化问题的方法:你拥有误差函数与梯度下降算法,而我拥有目标函数与二次规划策略.若想进一步优化效果更为理想,MPC需要建立更加贴近实际应用且完善的数学模型;而深度神经网络则需要更多的训练数据.由此可见,两者在对高效矩阵运算能力的要求上均达到了极高的水准,正是得益于AI技术蓬勃发展的良好态势,才使得MPC算法得以在无人驾驶车辆等复杂系统中实现落地应用.

显然, 应用 MPC 的主要困难在于为受控对象建立精确的数学模型。由于现实中许多场景无法通过严格的数学语言精确描述, 即使努力构建了一个模型, 也往往会导致较低的准确性。此外, 即使你掌握了 MPC 技术, 如果缺乏对该行业深入的专业知识基础, 就很难形成高精度的有效模型。例如, 在无人驾驶技术中, 你需要了解车辆的动力学特性及其轮胎特性; 而在化工生产领域, 则要求对整个生产流程以及基础化学反应机制有全面掌握

而DNN则更像是另一位通用型强力工具。许多从业者如今不必深入挖掘事物背后复杂的运作机理或算法细节,在专家指导下搭建基础模型即可满足基本应用需求。数据被投入模型中进行训练后即可运行并完成任务,在大量数据和强劲硬件的支持下帮助开发精度不低的网络模型来(真正从事AI基础理论研究的研究员依然非常杰出)。其发展与繁荣恰恰削弱了部分工程师对程序控制的能力

在这里插入图片描述

除了前面提到的数学模型外,在无人驾驶技术领域中还有一种称为MPC的方法需要被应用到无人驾驶车辆的控制中去。这种方法要求设计一个目标/损失函数用于表征车辆跟踪情况并评估其舒适性和有效性;然后,在不发生安全事故且不违反车辆物理约束的情况下;计算得到使目标函数值达到最大或最小的一组解;通过在有限且受约束的解决方案空间中寻求最佳方案实现这一目标

数学推导

结合论文[1]为例展开一下MPC在无人驾驶领域的应用方式以及公式推导。

模型建立

在这里插入图片描述

根据上述示意图建立简单的运动学模型:(1)

在这里插入图片描述

或者表达成一种更简洁的形式:(2)

在这里插入图片描述
符号 物理量
x 横坐标
y 纵坐标
\theta 航向角
\omega 横摆角速度
v 车速
X 状态量(x y \omega)
U 控制量(\omega v)

通过建立车辆参考方程来得到车辆的线性误差模型:(3)

在这里插入图片描述

将(2)式在(X_r,U_r)附近做泰勒展开(忽略高阶项)可得:(4)

在这里插入图片描述

(3)(4)两式相减可得:(5)

在这里插入图片描述

其上:

在这里插入图片描述
在这里插入图片描述

对(5)式使用向前差分法得系统在离散时域下的线性模型:(6)

在这里插入图片描述
在这里插入图片描述

其中,T表示采样周期,k为采样间隔。

目标函数

经过前述步骤后, 我们构建了一个尚具可行性的模型. MPC的核心流程则是在一段限定的时间段内(即预测时域)对系统未来的输入变量进行预判, 以期使系统状态趋近于预期的目标状态. 每个运行周期中, MPC控制器将通过求解优化问题来确定一系列最优控制变量组合. 这套策略的第一组输出将被实际应用于系统中, 直至下一个周期重新启动整个流程. 因此, 随着预测范围逐步扩大, MPC能够持续基于最新的车辆状态信息进行优化操作, 从而确保理想的控制系统性能. 因此本节的重点应聚焦于根据用户需求设计合适的性能指标函数, 以便控制器能够执行这一系列滚动优化操作.

在这里插入图片描述

上式中的QR分别代表状态矩阵以及控制量矩阵的权重参数矩阵。

在长度为N的预测时域区间内,在系统动态过程中实现以下两项优化目标:其一是在预测时域中实际状态与期望状态之间的误差最小化;其二是通过优化控制量来实现行驶过程中的舒适性保障。其中,在第一项中我们关注的是提升无人车辆对运动轨迹的跟踪精度;在第二项则通过优化控制量来实现上述目标。

在这里插入图片描述

应此,目标函数(7)可改写为:(9)

在这里插入图片描述
在这里插入图片描述

相应地,在N的预测时域内,式 (6)改写为:(10)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后将目标函数(9)转换成方便进行优化求解的二次规划形式:(11)

在这里插入图片描述
在这里插入图片描述

其中H通常表示一个半正定或正定的海森矩阵,在二次规划求解的目标函数中包含二次型。向量f则表示线性项部分。变量d作为一个独立项,在确定最优控制量序列u^*的过程中不起任何作用。

在这里插入图片描述

有如下约束:

在这里插入图片描述

其上下限主要取决于车辆实际转向特性和安全限速等因素。将被专门另作介绍。无需过多赘述。

仿真结果

利用matlab做了个简单的仿真验证:

在这里插入图片描述

可以看到代表车辆的圆点较快地跟踪上了图中y=5的直线。

总结

模型预测控制聚焦于接下来一段有限时域内的状态变化趋势,其中预测时域的选择对于系统的性能表现至关重要.从战略高度审视,一位优秀的领导者应当具备远见卓识,方能避免仅追求战术胜利而忽视长期发展这一潜在风险.需要注意的是,局部最优解并非全局最优解,这提醒我们在实际应用中需综合考虑整体系统特性.MPC方法不仅限于传统的数学建模框架,还可以结合具有丰富描述能力的人工神经网络等先进手段进行优化设计.理论上若存在理想化的精确建模方案,则MPC技术必将展现出其独特优势

[1] W.F. Lages, J. Augusto, and V. Alves. ONLINE REAL-TIME REACHING OF A MOBILE ROBOT USING LINEARIZED MODEL PREDICTIVE CONTROL IN 2006
[2] 龚建伟、姜岩、徐威. 基于模型预测控制的无人驾驶系统研究 [M]. 北京理工大学出版社, 2014年4月.

全部评论 (0)

还没有任何评论哟~