线性二次型最优控制的MATLAB实现
一理论依据
应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但对于多输入多输出系统与阶次较高的系统,往往得不到满意的结果,这时就需要有在状态空间模型下建立的最优控制策略。
最优控制是现代控制理论的核心。最优控制理论的实现,离不开一系列的最优化方法,主要包括两个方面就是如何将最优化问题表示为数学模型,如何根据数学模型尽快求出其最优解。线性二次型最优控制设计是基于状态空间技术来设计一个优化的动态控制器,其目标函数是状态和控制输入的二次型函数。二次型问题就是在线性系统约束条件下选择控制输入使二次型目标函数达到最小。由于线性二次型最优控制问题的性能指标具有鲜明的物理意义,其最优解具有统一的解析表达式,且可导致一个简单的线性状态反馈控制律,易于构成闭环最优反馈控制,便于工程实现,因而在实际工程问题中得到了广泛的应用。
二MATLAB程序 >> clear
>> syms x1 x2 x3; >> x=[x1;x2;x3];
>> A=[0 1 0;0 0 1;0 -2 -3]; >> B=[0;0;1]; >> R=1;
>> Q=[1000 0 0;0 1 0;0 0 1]; >> N=0;
>> [K,P,E]=lqr(A,B,Q,R) >> u=-inv(R)*B'*P*x
K =
31.6228 19.0661 3.9377 P =
666.1690 219.3906 31.6228 219.3906 108.5284 19.0661 31.6228 19.0661 3.9377 u =
-(5366634056803559*x2)/281474976710656
(4433500461210591*x3)/1125899906842624 - 10*10^(1/2)*x1 三Simulink仿真图及其响应曲线
利用simulink仿真,画出系统反馈前后的仿真图、输出图像和性能指标图。分析分析反馈前后关系曲线。
-
图1 反馈前系统的仿真图
图2 反馈前输出图像
图3 反馈前性能指标图