线性次型最优控制器的实现.doc
文本预览下载声明
南 京 师 范 大 学
最优化与最优控制
题 目: 最优化与最优控制
学 院: 电气与自动化工程学院
专 业: 控制理论与控制工程
专业方向: 基于ARM的太阳跟踪系统
班 级: 学 号: 131802030
姓 名: 魏骁
指导教师: 孙 骥 职 称: 教授
填写日期: 2014年6月21 日
一、前言
应用经典控制理论设计控制系统,能够解决很多简单、确定系统的实际设计问题。但是对于诸多新型而复杂的控制系统,例如多输入多输出系统与阶次较高的系统,往往得不到满意的结果。这时就需要有在状态空间模型下建立的最优控制策略。最优控制是现代控制理论的核心。所谓最优控制,就是在一定条件下,在完成所要求的控制任务时,使系统的某种性能指标具有最优值。根据系统不同的用途,可提出各种不用的性能指标。最优控制的设计,就是选择最优控制,以使某一种性能指标为最小。
x‘(t)=Ax(t)+Bu(t)
y(t)=Cx(t)+Du(t)
引入一个最优控制的性能指标,即设计一个输入量u,使得
J=
为最小。其中Q和R分别为对状态变量和输入变量的加权矩阵; tf为控制作用的终止时间。矩阵S对控制系统的终值也给出某种约束,这样的控制问题称为线性二次型(Linear Quadratic,简称LQ)最优控制问题。为了求解LQ问题,我们取Hamilton函数
令(t)=P(t)x(t)
而将对(t)的求解转化到对函数矩阵P(t)的求解,特别的,将(t)=P(t)x(t)代入上述式子中可得函数矩阵P(t)因满足的微分方程是
(1)
对它的求解可应用成熟的Euler方法。假定方程()的唯一对称半正定解P(t),则LQ问题的解u(t)由下式给出:=X+U
Y=(1 0 0)X
性能指标为J=,其中Q,R为
Q= R=[0.01]
要设计状态反馈控制器,使J最小
Q矩阵参数选择如下:
=100 ==1
在MATLAB环境中,执行下面的M文件
A=[0 1 0;0 0 1;0 -2 -3];
B=[0;0;1];
C=[1 0 0];
D=[0];
Q=[100 0 0;0 1 0;0 0 1];
R=[0.01];
[k,p,e]=lqr(A,B,Q,R);
disp(卡尔曼增益);
k
%阶跃响应
k1=k(1);
Ac=A-B*k;
Bc=B*k1;
Cc=C;
Dc=D;
figure(1)
step(Ac,Bc,Cc,Dc)
title(‘’);
运行后结果如下
卡尔曼增益
k = 100. 0000 53. 1200 11. 6711
即状态反馈控制器k = [100. 0000 53. 1200 11. 6711] ,系统输出响应的仿真。
显示全部