系统结构已知(无未知参数)的预测控制建模与仿真

文章介绍了预测控制的基本概念,通过系统状态方程预测未来状态,以找到最优控制输入。建模步骤包括从状态方程推导未来状态、代入性能函数并求极值。优化问题使用MATLAB求解器解决,适合系统参数已知的情况。
摘要由CSDN通过智能技术生成


前言

从最最最基础的角度,以白痴的视角为预测控制入门者讲述预测控制的基本原理。文章思路来源b站up主。DR_CAN的个人空间_哔哩哔哩_bilibili


一、预测控制是什么?

       通过建立系统模型,来预测系统在未来时间段内的状态,从而找到最优的控制输入。大概实施步骤如下:

第一步:就是从已知的系统状态方程下手,推导出未来系统的状态与当前的状态、输入和未来的输入之间的关系;

第二步,将这个关系带入到性能函数中,替换掉未来系统的状态,此时代价函数只含有当前状态、输入以及未来输入,还有一些常值;

第三步,由于当前状态是已知的,是初始条件,故只需要将当前输入和未来输入看作变量,调整其大小使性能函数达到极值即可。

二、建模步骤

       第一步:已知系统状态方程,其中x(k+1)、 x(k)和u(k)均为向量,优化的性能函数为J,包括三个部分误差加权和、输入加权和以及终端误差。令系统在k时刻的状态为x(k|k)=xk,则根据状态方程推导出,在k时刻预测的系统k+1时的状态x(k+1|k)=Axk+Bu(k|k),

 以此类推得到在k时刻预测的系统在k+N时的状态x(k+N|k),并将x(...|k)这些写成向量Xk,将Xk中的u(...|k)写成Uk,于是得到xk(当前状态)、Uk(当前和未来输入)与Xk(未来和当前状态)的关系。

 以此类推得到在k时刻预测的系统在k+N时的状态x(k+N|k),并将x(...|k)这些写成向量Xk,将Xk中的u(...|k)写成Uk,于是得到xk(当前状态)、Uk(当前和未来输入)与Xk(未来和当前状态)的关系。

        第二步:将性能函数展开,将刚才得到的三者之间的关系式代入展开结果,将运算结果写成矩阵形式,得到新的性能函数J,参数为G、E、H。

        第三步:优化问题求解,找到Uk,使J最小。

总结

       上述为预测控制建模过程,且只针对系统参数已知的系统。优化问题求解采用matlab自带的优化求解器求得,下一篇以具体实例详细求解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值