1、 线性二次型最优控制
一、最优控制概述
最优控制,又称无穷维最优化或动态最优化,是现代控制理论的最基本,最核心的部分。它所研究的中心问题是:如何根据受控系统的动态特性,去选择控制规律,才能使得系统按照一定的技术要求进行运转,并使得描述系统性能或品质的某个“指标”在一定的意义下达到最优值。最优控制问题有四个关键点:受控对象为动态系统;初始与终端条件(时间和状态);性能指标以及容许控制。
一个典型的最优控制问题描述如下:被控系统的状态方程和初始条件给定,同时给定目标函数。然后寻找一个可行的控制方法使系统从输出状态过渡到目标状态,并达到最优的性能指标。系统
2、最优性能指标和品质在特定条件下的最优值是以泛函极值的形式来表示。因此求解最优控制问题归结为求具有约束条件的泛函极值问题,属于变分学范畴。变分法、最大值原理(最小值原理)和动态规划是最优控制理论的基本内容和常用方法。庞特里亚金极大值原理、贝尔曼动态规划以及卡尔曼线性二次型最优控制是在约束条件下获得最优解的三个强有力的工具,应用于大部分最优控制问题。尤其是线性二次型最优控制,因为其在数学上和工程上实现简单,故其有很大的工程实用价值。
二、线性二次型最优控制
2.1 线性二次型问题概述
线性二次型最优控制问题,也叫LQ问题。它是指线性系统具有二次型性能指标的最优控制问题。线性二次型问题所得到的
3、最优控制规律是状态变量的反馈形式,便于计算和工程实现。它能兼顾系统性能指标的多方面因素。例如快速性、能量消耗、终端准确性、灵敏度和稳定性等。线性二次型最优控制目标是使性能指标J取得极小值, 其实质是用不大的控制来保持比较小的误差,从而达到所用能量和误差综合最优的目的。
2.2 线性二次型问题的提法
给定线性时变系统的状态方程和输出方程如下:
(2.1)
是维状态变量,是维控制变量,是维输出变量,是时变矩阵,是时变矩阵。假设,不受约束。若表示预期输出变量,它是维向量,则有 称为误差向量。现在的问题是,选择最优控制使下列二次型性能
4、指标
(2.2)
为最小,这就是线性二次型最优控制问题。(其中是半正定对称常数矩阵,是半正定对称时变矩阵,是正定对称时变矩阵,终端时间是固定的,终端状态自由。
2.3 二次型性能指标及其涵义
(1)终端代价(限制终端误差):
(2)过程代价(限制控制过程误差):
(3)控制代价(限制控制U(t)的幅值及平滑性):
三、基于MATLAB的线性二次型最优控制举例
无限时间跟踪问题的最优控制及MATLAB仿真
1)内容描述
性能指标为:
2)结果及分析:
(1)结果:
依题意可得矩阵,,,首先检查一下系统的可观性和可控性。运行程序可得:
n
5、 = 2
system is controlled
system is no observable
系统可控但是不可观。
知道了系统可控之后我们就可以放心的作下一步工作了,即解Riccati方程。运行
A=[0 1;0 0];B=[0;1];
C=[1 0];D=0;
Q=[1 0;0 1]R=1;
[K,P,E]=lqr(A,B,Q,R)
得到K =
1.0 1.7321
把矩阵Q改为同样的可以得到
K =
10.0000 4.5826
仿真图形如下
图3.1
图3.2
结果分析:
A.图3.1表示的是保持
6、R不变,改变Q值。上图的Q值较小,其响应时间更慢。所以可以看出——权值越大对系统的控制作用就越强。
B. 图3.2表示的是保持Q值不变,改变R值。上图的R值较大。可以得出结论:R较大时,系统响应比较慢,而且超调量大,这是因为R对控制律U的作用是限制作用,当它越大时,输出受限制也就多,输出响应就比较慢。
小结
本文介绍了线性二次型最优控制的基本原理,并给定了一个具体的控制系统,利用MATLAB软件对其最优控制进行了求解,并对所求解的系统进行了仿真。通过仿真实验,设计所得到的线性二次型最优控制效果比较好,达到了设计的目的。
A=[0 1;0 0];B=[0;1];
7、 C=[1 0];D=0;
Q=[1 0;0 1];R=1;
K=[1.0000 1.7321];
sys=ss(A-B*K,eye(2),eye(2),eye(2));
t=0:0.01:8;
x=initial(sys,[1;0],t);
x1=[1 0 ]*x';
x2=[0 1 ]*x';
subplot(2,1,1);plot(t,x1)
grid
xlabel('t(sec)');ylabel('x1')
subplot(2,1,2);plot(t,x2)
grid
xlabel('t(sec)');ylabel('x2')
>>