线性系统LQR理论推导
LQR(线性二次型调节器,Linear-Quadratic Regulator design)
**注:**MATLAB中LQR函数有 连续和 离散两种,本篇文章只分析 连续时间系统lqr()函数, 离散时间系统LQR()函数将单独写文章进行分析!敬请关注,谢谢~
用 lqr算出来的反馈矩阵K,和用公式k=R-1BTP算出来的反馈矩阵k是一样的,本文有详细分析过程
一、LQR理论推导
已知一线性系统连续模型:
总结:
二、MPC与LQR比较
MPC和LQR两种控制方式有很多的相似之处,但是也有很多不相同的地方
2.1 研究对象不同
LQR的研究对象是现代控制理论中的状态空间方程给出的线性系统,而MPC的研究对象可以是线性系统,也可以是非线性系统。不过现在很多的做法都是将非线性系统线性化,然后进行相关计算,具体要根据自己的工程情况来确定哪种方式比较好。
2.2 既然是优化问题,那就离不开目标函数的设计
LQR的目标的数在上面已经有描述,MPC的目标函数,多数都是多个优化目标乘以不同权重然后求和的方式。虽然方式不同,不过都是对达到控制目标的代价累计。
2.3 工作时域上的不同
LQR的计算针对同一工作时域,在一个控制周期内,LQR只计算一次,并将此次计算出的最优解下发给控制器即可;而MPC是滚动优化的,计算未来一段时间内,每个采样周期都会经过计算,得出一组控制序列,但是只将第一个控制值下发给控制器。