文章目录
前言
从最最最基础的角度,以白痴的视角为预测控制入门者讲述预测控制的基本原理。文章思路来源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自带的优化求解器求得,下一篇以具体实例详细求解。