当前位置:文档之家› 基于MATLAB的线性二次型最优控制设计

基于MATLAB的线性二次型最优控制设计

基于MATLAB的线性二次型最优控制设计
基于MATLAB的线性二次型最优控制设计

基于M A T L A B的线性二次型最优控制设计

The Standardization Office was revised on the afternoon of December 13, 2020

基于MATLAB 的线性二次型最优控制设计

1. 引 言

最优控制问题就是寻找一个控制系统的最优控制方案或最优控制规律,使系统能最优地达到预期的目标。以状态空间理论为基础的最优控制算法是当前振动控制中采用最为普遍的控制器设计方法。本文所讨论的系统是完全可观测的,所以可以用线性二次型最优控制。

本实验介绍了线性二次型最优控制的基本原理,并给定了一个具体的控制系统,利用MATLAB 软件对其最优控制矩阵进行了求解,通过仿真实验,设计所得到的线性二次型最优控制效果比较好,达到了设计的目的。

2. 最优控制理论介绍

假设线性时不变系统的状态方程模型为

x ‘(t)=Ax(t)+Bu(t)

y(t)=Cx(t)+Du(t) 引入一个最优控制的性能指标,即设计一个输入量u,使得

J = 为最小。其中Q 和R 分别为对状态变量和输入变量的加权矩阵; t f 为控制作用的终止时间。矩阵S 对控制系统的终值也给出某种约束,这样的控制问题称为线性二次型(Linear Quadratic ,简称LQ )最优控制问题。

为了求解LQ 问题,我们取Hamilton 函数

其中一种较为简便的解法为:

令λ(t)=P(t)x(t)

而将对λ(t)的求解转化到对函数矩阵P(t)的求解`,特别的,将λ(t)=P(t)x(t)代入上述式子中可得函数矩阵P(t)因满足的微分方程是

1'()()()()()()()()()()();

().T T P t P t A t A t P t P t B t R t B t P t Q t P tf S -=--+-= (1)

对它的求解可应用成熟的Euler 方法。假定方程(1)的唯一对称半正定解P(t),则LQ 问题的解u(t)由下式给出:

'(,(),(),())0.5(()()()()()())()(()()()());LQ ()(()()()());0(()()()()));()()()()();

T T T H t x t u t t x t Q t x t u t R t u t t A t x t B t u t H t Q t x t A t t H Q t x t A t t u x t A t x t B t u t λλδλλδλδλδ=+++=-=-+=+=+并应用变分原理推导出问题解满足的必要条件:

^1()()()()().

LQ u t)=-Kx(t).

K T u t R t B t P t x t -=-上述问题的一个特例是动态方程为定常的情形,即

相应的控制向量取为(其中,为才是矩阵,而二次性能指标为

3. 问题的阐述与解决

.问题的阐述:

dt t u t x t x J )]()()([222210

++=?∞ 极小[1],并仿真,输出x1、x2、J 的波形。

.问题的求解:

根据系统的状态空间方程,可以看出A=[0 1;0 0], B=[0;1], Q=[1 0;0 1], R=[1]。

控制系统工具箱供了lqr( )函数[4],用来依照给定的加权矩阵设计LQ 最优控制器,该函数的调用格式为 :

[K,P]=lqr(A,B,Q,R)

式中:(A,B )为给定的的对象状态方程模型;(Q,R )分别为加权矩阵Q 和R;返回的向量K 为状态反馈向量,也就是控制器,P 为Riccati 代数方程的解。

在本题中,可用下面的MATLAB 代码求解K 和P:

clear

A=[0 1;0 0];

B=[0;1];

Q=[1 0;0 1];

R=[1];

[K,P] = lqr(A,B,Q,R)

解得: K = [ ]

??

????=7321.10000.10000.17321.1P 因此,最优控制信号为

?(t) = -Kx(t) = - x 1(t) - (t)

.利用仿真给定的控制系统:

将给定的控制系统进行变形,如下:

x1’(t)=x2(t)

x2’(t)=u(t)

u(t)= - x 1(t) - (t)

根据以上方程组,利用SIMULINK 对系统进行仿真[2],其中u(t)用

x1(t),x2(t)负反馈[3]

表示,dt t u t x t x J )]()()([222210++=?∞

.最终可做出仿真系统,如图1所示。

根据状态空间方程,利用SIMULINK 可画出如图1所示的仿真图。

图1仿真图

当K =[ ],即取最优控制时,运行该仿真,求得J= ,并得出了x1(t)、x2(t)、J 的波形,如图2,图3,图4所示。

图2 x1(t)的波形 图3 x2(t)的波形

图4 J的波形

由图2,图3可知,系统的状态向量[5][x1(t) ,x2(t)]T 最终趋于0,而二次性能指标J同时趋于稳定值。至此,线性二次型最优控制系统已经仿真完成。

4.结论

本文介绍了线性二次型最优控制的基本原理,并给定了一个具体的控制系统,利用MATLAB软件对其最优控制矩阵进行了求解,最后用SIMULINK对所求解的系统进行了仿真。通过仿真实验,设计所得到的线性二次型最优控制效果比较好,达到了设计的目的。

相关主题
文本预览
相关文档 最新文档