基于arx模型的MPC预测控制器simulink仿真

简介: 基于arx模型的MPC预测控制器simulink仿真

1.算法仿真效果
matlab2022a仿真结果如下:

6a923b59a94b6ab930d5ad4d690e6bc9_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

2.算法涉及理论知识概要
arx模型是一种重要的时间序列分析模型,能够用来描述实际应用中的许多问题,在经济、电力系统、车辆驾驶、医疗、信号处理等领域都有着广泛的应用。因此,基于arx模型的相关理论和方法受到了大量关注,这些方法的基本思路常常被归结为:把arx模型看作一个线性回归模型,并利用获得的观测数据实现对该模型参数的准确估计,从而建立准确的arx模型,用来拟合实际的系统。值得注意的是,实际应用中,环境干扰或观测条件等因素可能会导致 arx模型的部分输出观测数据丢失或者观测数据明显异常的情况(以下将这些丢失的输出数据和异常数据统称为丢失数据)。由于arx模型可以等价为一个线性回归模型,因此arx模型部分观测数据的丢失等价于线性回归模型输入矢量信号的丢失,从而导致无法有效实现模型参数的估计。

MPC是一种多变量控制策略,其中涉及了:
过程内环动态模型;控制量的历史数值;在预测区间上的一个最优值方程J。最优控制量可由以上各量求出。
MPC最大的特点在于,相对于LQR控制而言,MPC可以考虑空间状态变量的各种约束,而LQR,PID等控制只能够考虑输入输出变量的各种约束。MPC可应用于线性和非线性系统。

   模型预测算法是在欧美等国家兴起的应用于工业领域的一种优化控制算法。目前经过多年的发展,在工业领域、智能控制领域等都有应用。随着算法的理论的完善,其已经成为工业领域内经常使用的一种经典算法。虽然在各个领域算法的应用存在差异。

   但他们都遵循预测模型、滚动优化、和反馈校正的基本原理。并且,近年来在汽车工业尤其是在车辆智驾驶技术上,模型预测算法的应用越来越受欢迎。很多科研机构利用了模型预测的原理进行了智能车辆的轨迹跟踪控制研究,下面将详细阐述模型预测算法的原理。

(1)预测模型
预测模型是模型预测控制的基础,它能够通过控制系统中被控平台提供的当前系统状态信息,再加上未来的控制输入变量,预测到未来的被控平台的状态。

  预测模型的形式没有确定的形式要求,可以是状态空间方程、传递函数也可以是阶跃响应模型、脉冲响应模型模糊模型等。根据被控对象和需要预测的状态选择合适的预测模型。

对于车辆方向而言,模型预测控制选择状态空间模型比较合适。

(2)滚动优化
预测控制中的优化与通常的离散最优控制算法不同,不是采用一个不变的全局最优目标,而是采用滚动式的有限时域优化策略。

   在每一采样时刻,根据该时刻的优化性能指标,求解该时刻起有限时段的最优控制率。计算得到的控制作用序列也只有当前值是实际执行的,在下一个采样时刻又重新求取最优控制率。

   也就是说,优化过程不是一次离线完成的,而是反复在线进行(即在每一采样时刻,优化性能指标只涉及从该时刻起到未来有限的时间,而到下一个采样时刻,这一优化时段会同时向前推移)。

   通过滚动优化策略,始终在实际的基础上建立新的优化目标,兼顾了对未来有限时域内的理想优化和实际不确定性的影响。这要比建立在理想条件下的传统最优控制更加实际和有效。

(3) 反馈校正
预测控制求解的是一个开环优化问题。在预测控制中,采用预测模型进行过程输出值的预估只是一种理想的方式,对于实际过程,由于存在非线性、时变、模型失配和干扰等不确定因素,使基于模型的预测不可能准确地与实际相符。

  因此,在预测控制中,通过输出的测量值与模型的预估值进行比较,得出模型的预测误差,再利用模型预测误差来校正模型的预测值,从而得到更为准确的将来输出的预测值。正是这种由模型加反馈校正的过程,使预测控制具有很强的抗干扰和克服系统不确定的能力。不断根据系统的实际输出对预测输出做出修正,使滚动优化不但基于模型,而且利用反馈信息,构闭环优化控制。

其内部结构框图如下所示:

a0b017a3d129e2c2658ac706230140ff_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

3.MATLAB核心程序
aa7af61a36eba20c7924c1a0cd7cdf26_watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=.png

```function [sys,x0,str,ts] = mpc_prediction_controller(t,...
z,...
y,...
flag,...
A_state,...
B_state,...
C_state,...
D_state,...
P,...
M,...
Q,...
R)

%以下是S函数标志流程和格式
persistent MPC_pred Lens

switch flag

case 0
     %mpc预测控制器初始化设置
     [Rb,Rc]              = size(B_state);
     Lens                 = size(C_state,1);

     %MPC优化控制器主函数
     MPC_pred             = mpc_pcontroller(A_state,...
                                            B_state,...
                                            C_state,...
                                            D_state,...
                                            P,...
                                            M,...
                                            Q,...
                                            R);

     sizes                = simsizes;
     sizes.NumContStates  = 0;
     sizes.NumDiscStates  = 0;
     sizes.NumOutputs     = Rc;
     sizes.NumInputs      = 2*Lens;
     sizes.DirFeedthrough = 1;
     sizes.NumSampleTimes = 1;
     sys                  = simsizes(sizes);
     str                  = [];
     x0                   = [];
     ts                   = [1 0];

case 2
     sys = [];

case 3 
     din = y(1:Lens);
     Ref = y(Lens+1:2*Lens);
     sys = MPC_pred(din,Ref);

case 9
     sys = []; 
otherwise

end

end
```

相关文章
|
算法
专题九Simulink仿真基础-1
专题九Simulink仿真基础
149 1
|
算法
大林算法控制仿真实验(计控实验六simulink)
大林算法控制仿真实验(计控实验六simulink)
808 0
大林算法控制仿真实验(计控实验六simulink)
基于simulink的电弧炉模型建模与仿真
本课题基于Simulink构建电弧炉模型,进行仿真并输出电压、电流曲线及U-I分布图。使用MATLAB2022a版本完成核心程序与模型设计。电弧炉通过高压电弧加热炉料(废钢、生铁等),温度可达3000°C以上,促进脱碳、脱硫等反应。能量平衡和物质平衡是理解其工作机理的基础,动态模型描述状态随时间变化,如温度、成分分布。高效运行需先进的控制系统,包括电极位置、功率控制等。
基于非线性系统的Lipschitz观测器simulink建模与仿真
**摘要:** 设计Lipschitz观测器对非线性系统进行Simulink仿真,用于估计特殊非线性系统的状态。使用MATLAB2022a进行核心程序和模型开发,观测器旨在处理不确定性,基于Lipschitz条件提供鲁棒性。系统仿真展示效果,观测器通过确保观测误差系统的渐近稳定来估算不可测状态,应用涉及Lyapunov稳定性和非线性控制理论。
|
安全 算法 C++
专题九Simulink仿真基础-2
专题九Simulink仿真基础
153 1
升压斩波电路的simulink建模与仿真
本课题基于MATLAB2022a,利用Simulink对升压斩波电路进行建模与仿真,采用双闭环结构实现电池和电机控制。升压斩波电路通过周期性开关控制功率器件,将输入直流电压提升至更高水平,在电源供应、电机驱动及可再生能源系统中有广泛应用。仿真结果显示了其基本工作原理和性能。
基于6个IGBT的全桥电路simulink建模与仿真
该文主要介绍了基于6个IGBT的全桥电路在MATLAB2022a中的Simulink建模与仿真。文中展示了系统仿真结果的多张图片,并简述了三相全桥逆变器的工作原理,包括电路结构和控制IGBT开关状态的方法。全桥电路应用于变频驱动、逆变器、电动汽车和可再生能源领域,实现高效能量转换和精确控制。通过PWM调制,可适应不同应用需求。
|
7月前
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
89 2
DC-MOTOR直流电机的simulink建模与性能仿真
使用MATLAB2022a和Simulink构建的DC电机模型进行仿真,展示了电机在240V电枢电压和150V励磁绕组输入下的性能。仿真输出包括转速、电枢及励磁电流、电磁转矩随时间的变化。结果以图像形式呈现,揭示了电机在洛伦兹力和电磁感应定律作用下的工作原理,通过电流与磁场的交互转换电能为机械能。直流电机借助换向器维持稳定的电磁转矩,并遵循法拉第电磁感应定律和楞次定律。
|
7月前
|
异构计算
【Simulink】锁相环模块
【Simulink】锁相环模块

热门文章

最新文章