MPC控制笔记(一)

笔记参考1:Understanding Model Predictive Control(Youtube 带自动生成字幕)
笔记参考2:Understanding Model Predictive Control(B站 生肉)

一、什么是MPC模型预测控制

MPC(Model Predict Control)是一种反馈控制(feedback control)算法, 使用模型来预测过程的未来输出。

举例:
[场景] 车道保持
[已知模型] 车辆模型,比如速度控制, 转向控制对应的偏航量
[预测] 根据已知模型和所选的控制策略(action),进行轨迹预测
[优化] 通过优化控制策略,来尽可能的拟合预测的轨迹。

如下图所示为一个MIMO系统u1,u2输入与y1,y2输出相互影响。如果使用PID控制的话,每一个子系统单独设计一个PID控制器,两个相互影响的子系统没有任何的交联,使得系统难以设计,如果像图二一样设计一个较大的系统,则参数较多难以实现,而使用MPC控制器的话可以较好的解决两种问题,综合相互间的影响来设计参数。
MIMO

MIMO BIG
MPC控制
MIMO MPC

此外MPC控制还可以方便的支持各种约束条件,具备一定的预测能力(有点像前馈feedforward控制)。

二、MPC的特点

综合上述,总结一下MPC的特点:

  • 支持MIMO系统,便于构建输入输出间的相互影响参数
  • 支持方便添加约束条件
  • 具有预测能力、
  • 需要较好的处理器和较大的内存,因为需要大量的在线优化,存储大量的变量

Onlineopt

三、MPC参数选择

选择一个好的参数不仅影响MPC控制的性能,而且还会影响到MPC每一个timestep内进行在线优化的计算复杂度。这里将会给出关于控制器采样周期、预测及控制范围(prediction and control)、约束及权重。

采样周期的选择

采样周期过大,则系统反应过慢导致难以及时进行修正控制,而采样周期过小,则会导致系统产生大量的在线优化计算,给系统带来较大的开销。因而建议采样周期设计采用开环响应时间(10~90%上升时间)的十分之一或二十分之一
timestep

预测范围(prediction horizon)的选择

预测范围指的是一次优化后预测未来输出的时间步的个数。建议范围:在开环响应时间内采样20-30个样本的范围
predhorizon

控制范围(control horizon)的选择

如下图 [k, k+m]范围为控制范围,之后的红色部分称为 held constant,其中控制范围是要通过优化器来进行优化的参数动作。
ctrlhorizon

过小的控制范围,可能无法做到较好的控制,而较大的控制范围,比如与预测范围相等,则会导致只有前一部分的控制范围才会有较好的效果,而后一部分的控制范围则收效甚微,而且将带来大量的计算开销。
consrtgr

建议控制范围应该在预测范围的10~20%之间,最小值为2~3个timestep时间步
sujest

约束

对于约束,一般分为Hard约束和Soft约束,Hard约束是不可违背必须遵守的,在控制系统中,输入输出都可能会有约束限制,但是在设计时不建议将输入输出都给予Hard约束,因为这两部的约束有可能是有重叠的,导致优化器会产生不可行解。
建议输出采用较小容忍度的Soft约束,而输入的话建议输入和输入参数变化率二者之间不要同时为Hard约束,可以一个Hard一个Soft。
costraint

四、Linear MPC (Adaptive MPC 与 Gain-Scheduled MPC)

Linear MPC适用于:

对于非线性系统而言,需要在不同的operating point处进行线性化处理如下图。
op

Adaptive MPC

在 Adaptive MPC中,当operating condition发生变化的时候,需要进行一次近似线性化计算,在每个时间步中,使用其近似线性模型来更新内部的平台模型(plant model,比如飞控模型,自行车模型等)。
在 Adaptive MPC中,在不同的operating point条件下,其优化问题的结构保持不变,即状态数量,约束数量不会随着operating condition而改变。
adaptivempc

Gain-Scheduled MPC

在 Gain-Scheduled MPC中,在不同的operating point条件下,其优化问题的结构会发生变化,需要为每一个operating point构建一个MPC控制器,且相互之间独立,其状态数量约束数量也可能不同。
在 Gain-Scheduled MPC模式下,需要设计调度算法来切换不同的MPC模型。
GMPC

二者选型

[Adaptive MPC] 当能够构建平台(如飞行器,自动车等)的runtime线性模型,且在不同的operating point下优化问题的结构不变。

[Gain-Scheduled MPC] 当能够构建平台(如飞行器,自动车等)的runtime线性模型,且在不同的operating point下优化问题的结构发生变化。

五、Non-Linear MPC (Adaptive MPC 与 Gain-Scheduled MPC)

Non-Linear MPC适用于(相对强大,能够提供更准确的预测能力,与决策支持,但是非线性优化的计算开销较大)

本文标题:MPC控制笔记(一)

文章作者:zhkmxx930

发布时间:2019年01月18日 - 11:01

最后更新:2019年01月25日 - 11:01

原始链接:https://zhkmxx9302013.github.io/post/10696.html

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

一分钱也是爱,mua~