转自 我的博客
笔记参考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控制器的话可以较好的解决两种问题,综合相互间的影响来设计参数。
MPC控制
此外MPC控制还可以方便的支持各种约束条件,具备一定的预测能力(有点像前馈feedforward控制)。
二、MPC的特点
综合上述,总结一下MPC的特点:
支持MIMO系统,便于构建输入输出间的相互影响参数支持方便添加约束条件具有预测能力、需要较好的处理器和较大的内存,因为需要大量的在线优化,存储大量的变量
三、MPC参数选择
选择一个好的参数不仅影响MPC控制的性能,而且还会影响到MPC每一个timestep内进行在线优化的计算复杂度。这里将会给出关于控制器采样周期、预测及控制范围(prediction and control)、约束及权重。
采样周期的选择
采样周期过大,则系统反应过慢导致难以及时进行修正控制,而采样周期过小,则会导致系统产生大量的在线优化计算,给系统带来较大的开销。因而建议采样周期设计采用开环响应时间(10~90%上升时间)的十分之一或二十分之一:
预测范围(prediction horizon)的选择
预测范围指的是一次优化后预测未来输出的时间步的个数。建议范围:在开环响应时间内采样20-30个样本的范围
控制范围(control horizon)的选择
如下图 [k, k+m]范围为控制范围,之后的红色部分称为 held constant,其中控制范围是要通过优化器来进行优化的参数动作。
过小的控制范围,可能无法做到较好的控制,而较大的控制范围,比如与预测范围相等,则会导致只有前一部分的控制范围才会有较好的效果,而后一部分的控制范围则收效甚微,而且将带来大量的计算开销。
建议控制范围应该在预测范围的1020%之间,最小值为23个timestep时间步
约束
对于约束,一般分为Hard约束和Soft约束,Hard约束是不可违背必须遵守的,在控制系统中,输入输出都可能会有约束限制,但是在设计时不建议将输入输出都给予Hard约束,因为这两部的约束有可能是有重叠的,导致优化器会产生不可行解。
建议输出采用较小容忍度的Soft约束,而输入的话建议输入和输入参数变化率二者之间不要同时为Hard约束,可以一个Hard一个Soft。
四、Linear MPC (Adaptive MPC 与 Gain-Scheduled MPC)
Linear MPC适用于:
对于非线性系统而言,需要在不同的operating point处进行线性化处理如下图。
Adaptive MPC
在 Adaptive MPC中,当operating condition发生变化的时候,需要进行一次近似线性化计算,在每个时间步中,使用其近似线性模型来更新内部的平台模型(plant model,比如飞控模型,自行车模型等)。
在 Adaptive MPC中,在不同的operating point条件下,其优化问题的结构保持不变,即状态数量,约束数量不会随着operating condition而改变。
Gain-Scheduled MPC
在 Gain-Scheduled MPC中,在不同的operating point条件下,其优化问题的结构会发生变化,需要为每一个operating point构建一个MPC控制器,且相互之间独立,其状态数量约束数量也可能不同。
在 Gain-Scheduled MPC模式下,需要设计调度算法来切换不同的MPC模型。
二者选型
[Adaptive MPC] 当能够构建平台(如飞行器,自动车等)的runtime线性模型,且在不同的operating point下优化问题的结构不变。
[Gain-Scheduled MPC] 当能够构建平台(如飞行器,自动车等)的runtime线性模型,且在不同的operating point下优化问题的结构发生变化。
五、Non-Linear MPC (Adaptive MPC 与 Gain-Scheduled MPC)
Non-Linear MPC适用于(相对强大,能够提供更准确的预测能力,与决策支持,但是非线性优化的计算开销较大)