状态反馈控制器与状态观测器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
测控系统课程设计题目:状态反馈控制器与状态观测器——方案B1 2
院(系)机电及自动化学院
专业测控技术与仪器(辅助)
学号
姓名
级别 2 0 0 9
指导老师
2012年6月
摘要
在经典控制系统设计中,对于一个简单的SISO (单输入单输出)闭环系统而言,控制器部分只有简单的增益环节c K ,因此系统仅有唯一的控制参数c K 可供调整。
对于N 维控制系统,控制器需要至少N 个独立变量来调整系统所需根极点的位置,状态反馈控制器则可以将系统的所有状态变量X 都进行反馈,将系统的根极点调整到需要的位置。
而状态反馈控制的实现前提就是要求系统的所有状态变量可测,此时,利用系统某种数学形式的仿真来估计状态值,即系统的状态观测设计,就可以保证系统带全观测的状态反馈控制顺利实现。
本文主要介绍了带全观测器的状态反馈控制器。
关键词:状态反馈,状态观测
Abstract
The classical control system design, for a simple SISO (SISO) closed loop system, a controller part is only the simple gain link, therefore only one control parameter can be adjusted. For the N control system, the controller needs at least N independent variable to adjust the system required root pole position, a state feedback controller can be a system of all state variables in X feedback, the system root poles are adjusted to the needs of the location of. While the state feedback control is the premise requirement system realizes all the state variables can be measured, this time using a mathematical form, system simulation to estimate the state value, namely the system state observer design, can guarantee system with full state feedback control for the smooth realization of observation. This paper mainly introduces the observer-based state feedback controller.
Key words : state feedback, state observer
目录
1. 状态反馈控制器 ................................................................................................... - 4 -
1.1状态反馈的定义 ................................................................................................ - 4 -
1.2状态反馈控制器 ................................................................................................ - 4 -
1.3完全可控性........................................................................................................... - 5 -
1.4状态反馈控制器的极点配置...................................................................... - 6 -
2.状态观测器设计 ...................................................................................................... - 7 -
2.1系统状态观测器定义...................................................................................... - 7 -
2.2完全可观性........................................................................................................... - 9 -
2.3观测器增益的确定 ......................................................................................... - 10 -
3.带全观测器的状态反馈控制 ...................................................................... - 10 -
3.1仿真程序及分析 .............................................................................................. - 10 -
3.2程序运行结果.................................................................................................... - 12 -
4.学习小结....................................................................................................................... - 13 - 参考文献 ........................................................................................................................... - 13 -
1. 状态反馈控制器
1.1状态反馈的定义
经典控制:只能用系统输出作为反馈控制器的输入; 现代控制:由于状态空间模型刻画了系统内部特征,故而还可用系统内部状态作为反馈控制器的输入。
根据用于控制的系统信息:状态反馈、输出反馈
控制系统的动态性能,主要由其状态矩阵的特征值(即闭环极点)决定。
基于状态空间表达式,可以通过形成适当的反馈控制,进而配置系统的极点,使得闭环系统具有期望的动态特性。
状态反馈的定义:将系统的每一个状态变量乘以相应的反馈系数,然后反馈到输入端,与参考输入相加形成控制律,作为受控系统的控制输入。
给定线性定常被控系统:
x =Ax +Bu
y =Cx +Du
选取状态反馈控制律为:u =v -Kx 代入可得,状态反馈系统:
x =(A -BK)x +Bv
y =(C -DK)x +Dv
1.2状态反馈控制器
系统仅有唯一的控制参数c K 可供调整,而对于N 维控制系统,系统开环矩阵具有N 个特
征值或者开环传递函数具有N 个极点,即
det(A -λI )=0 或 det(sI-A )=0 要想将所有这些系统根极点调整到需要的位置,控制器至少需要N 个独立变量,因此仅仅将系统输出信号进行反馈将不能满足控制器设计的要求。
一个自然的想法就是将系统的所有状态变量X 都进行反馈,这就产生了状态反馈控制器。
对于SISO 系统,状态反馈后的系统输入变成
()()()T
d s u t r t K X t =- (1)
s K 称为系统的反馈系数。
这样,闭环系统的状态方程可以写成
()T T d s s d
X AX Br BK X A BK X Br dt
=+-=-+ (2) 闭环系统框图如图1所示。
状态反馈控制系统的状态响应是由()T
s A BK -的特征值决定的。
改变控制增益可以调整
根极点的位置,以获得期望的状态响应。
事实上,如果该系统是完全可观的,增益矩阵的N
个元素就可以完全确定()T
s A BK -的所有特征值得期望位置。
1.3完全可控性
为了设计具有状态观测器的状态反馈控制器,让我们首先熟悉有关系统可控性的定义。
假设一个SISOLTI 系统由式( 3)描述
T d
X AX Bu y C X dt
=+= ( 3)
如果该系统能够构造一个无约束的输入信号u (t ),使得系统能够在有限的时间间隔内(0t ≤t ≤f t )由初始状态运动到任何其它的状态,则可以说系统在0t 时刻是可控的。
如果系统的每个状态都是可控的,则称该系统是完全可控的。
不失一般性,假设X (0t )=0, 0t =0,则
()0
()(0)()t
At
A t X t e X e Bu d τττ-=+⎰ ( 4)
根据完全可控性的定义,有
()
()0(0)()f
f
f t At A t X t e
X e
Bu d τττ-==+⎰
( 5)
或者
(0)()f
t A X e Bu d τττ=-⎰
( 6)
根据Sylvester 积分公式
gain matrix
图1. SISO 系统的状态反馈控制器
1
()N A k k k e
a A τ
τ-==∑ ( 7)
有
1
1
(0)()()f
N N t k
k k k k k X A B a u d A B τττβ--===-=-∑∑⎰
( 8)
或者
012121(0)[]N N X B AB
A B
A B ββββ--⎡⎤
⎢⎥⎢⎥
⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦
( 9)
当如下矩阵非奇异时,系统满足完全可控的条件:
M =[B AB A 2B …A N-1 B ] ( 10) 上面的矩阵又称为系统的可控矩阵。
1.4状态反馈控制器的极点配置
系统性能:稳态性能和动态性能 稳态性能:稳定性、静态误差
动态性能:调节时间、响应速度、超调量
影响系统稳定性、动态性能的因素:极点位置(系统矩阵的特征值),通过反馈控制器的设计,可使得闭环系统的极点位于预先给定的期望位置。
极点配置:通过选择反馈增益矩阵K,将闭环系统的极点恰好配置在根平面上所期望的位置,以获得所希望的动态性能。
设计状态反馈控制器的最简单方法是采用极点配置。
其基本思想是首先确定闭环系统N 个根极点的期望位置,然后设计适当的反馈增益,从而将系统的极点调整到期望的位置。
如果系统是完全可控的,则这一过程完全可以表示成包含N 个未知参数的N 个方程组的求解。
所需要设计的反馈控制增益就是该方程组的解。
如果系统比较简单,则完全可以通过手工计算完成系统的极点配置,但无论是手工计算,还是通过MA TLAB 函数自动计算,其基本步骤都是相同的,如下所示:
(1)检查系统的可控矩阵是否满秩。
(2)确定闭环系统的期望极点,μ1,μ2,…,μN 。
(3)确定希望配置的极点位置后,可以建立期望的特征方程。
1121()()()0N N N N s s s s s μμμαα----=+++=
(4)最后建立闭环系统的特征方程,即(sI -()T
s A BK -)=0,将(3)、(4)步建立的
方程联立,由于其多项式的系数相等,由此可以建立N 个位置参数的N 个方程组,从而可以唯一地确定系统的反馈增益矩阵T
s K 。
MATLAB 中的place 函数可以通过极点配置方法确定状态反馈的增益矩阵。
2.状态观测器设计
问题的提出:
极点的任意配置离不开全状态反馈,而系统的状态变量并不都是易于直接检测得到的,有些甚至根本无法检测。
2.1系统状态观测器定义
设计状态反馈控制器的主要问题是要求系统的所有状态变量都是可测的。
然而对于一个实际系统而言,有些状态的信号值很难测量甚至不可能直接通过传感器进行测量,或者虽然可以进行直接测量,但在经济上却要增加相应的成本。
这样,如果不能得到系统的全状态向量,前面讲述的状态反馈控制就不可能实现。
解决以上问题的方法是利用系统某种数学形式的仿真来估计不能测量的状态值,这种方法称之为系统的状态观测器设计。
下面假定以SISOLTI 系统为研究对象,这意味着系统有唯一的可控变量和唯一的可测量。
同时,假定系统输出y (t )是唯一能够测量的量,它将被引入到状态观测器中来提高状态值的估计过程。
这里采用^
()X t 来表示状态向量X (t )的在t 时刻的估计值。
状态观测器的框图如图 2所示(注意变量x c 表示^
()X t )。
该观测器使用u (t )和y (t )作为输入量,并且输出系统状态关于时间的估计值。
从框图中可以看出
^^^^()()()T
d X t A X Bu L y C X A LC X Bu Ly dt
=++-=-++ ( 11)
这里的L 为未知的增益,它是根据该子系统期望的暂态响应特性确定的,称为状态观测器的增益矩阵。
对于SISO 系统,L 是长度为N 的列向量。
state
observer gain
图2. SISO 系统的状态观测器模型
观测器的设计过程与前面讲述的标准状态反馈控制器类似。
这里的观测器的增益选择应使状态观测器的特征值是稳定的,同时使得观测器的动态变化快于整个闭环系统的动态属性。
观测器的特征值由下式确定:
det(sI -(A -L T
C ))=0 ( 12) 在状态反馈控制系统中加入状态观测器,可得到图3所示的系统框图。
对于该系统,系统输入为
^
()()()T d s
u t r t K X t =- (13)
如果系统模型与状态观测器模型都采用相同的状态空间矩阵A 、B 、CT 进行描述,则对于被研究对象有
T d
X AX Bu y C X dt
=+= ( 14)
将式( 13)的输入代入上面的方程,则得到系统的完整模型
^T
d s d X AX Br BK X dt
=+- ( 15)
对于状态观测器,将式( 13)代入式( 11)可以得到观测器的完整模型
^^^()T T
T d s d X A LC X Br BK X LC X dt
=-+-+ ( 16)
或者
^^()T T
T s d d X A BK LC X Br LC X dt
=--++ ( 17)
定义误差向量:^
E X X =- ( 18) 将式( 17)代入得到误差向量的动态模型()T d
E A LC E dt
- ( 19)
State observe
图3. 具有全状态观测器的状态反馈控制系统框图(SISO 系统)
2.2完全可观性
如果系统的每个状态X (t 0)都可以通过y (t )一段时间的观测值来确定,则该系统被称为是完全可观的。
考虑式( 3)定义的SISOLTI 系统,其时域解为
()0
()(0)()t
T At T A t y t C e X C e Bu d τττ-=+⎰ ( 20)
假设u (τ)=0,为方便计算,上式可以写成
()(0)T At y t C e X = ( 21)
其中T At
C e 已知,y(t)可测。
因此状态向量X(0)可以通过y(t)的观测值间接计算得到。
对于SISO 系统,方程( 21)仅有一个方程,但包含N 个未知参数。
然而,由于该方程独立于时间变量,因此,在多个时刻对y(t)进行测量,可以获得多个类似的方程,将它们联立,就可以唯一确定系统的初始状态X(0)。
下面给方程( 21)两边同时乘以已知的系数矩阵,得到
)()(0)T At T T At T T At C e y C e C e X = ( 22)
变换方程有
()()T
T
T At T At T T A t C e e C e C == ( 23) (0)T
T
A t A t T At e Cy e CC e X = ( 24) 将整个观测时间内的所有方程进行联立,得到
(0)Q WX = ( 25) 其中
()T T
f
f
t t A A T A Q e
Cy d W e CC e d τ
τττττ==⎰
⎰
( 26)
最后求解方程( 25),得到
1(0)X W Q -= ( 27)
如果W 是非奇异的,X(0)可以由y(t)的观测值唯一确定,从而系统是完全可观的。
再次使用Sylvester 的积分公式,得到
201
10
11()[]T T T At T k T k N k T N C C A C e N t C A a a a C A C A α-=-⎡⎤⎢⎥⎢⎥
⎢⎥=-⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
∑ ( 28)
2
1
01
10
1()[]T T N N A t
k T T T k k N e C t A C C A C A C
A C γγγγ--=-⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎣⎦
∑ ( 29)
定义
2
1
[]N T T T T H C A C A C
A C -= ( 30)
2.3观测器增益的确定
确定观测增益矩阵同样采用极点配置的方法。
然而在这里,我们确定的是状态观测器误差方
程的极点位置。
误差极点位置的选择比较随意,但误差动态变化应该比被控系统的动态变化
快一些。
如果系统完全可观,则()T
A LC -的N 个特征值的位置应该唯一确定观测器增益矩
阵的N 个元素。
设计的过程如下: (1) 检查系统可观矩阵是否奇异。
(2) 为误差方程^
E X X =-指定期望的极点位置(μ1,μ2,…,μN )。
这些极点位置与系统的主导极点相比较应该更靠近复平面的左手边。
(3) 根据期望的极点位置创建期望的特征方程。
(4) 最后创建误差方程的特征方程,从而得到含有N 个位置参数的方程组。
3.带全观测器的状态反馈控制
用MA TLAB 的place 函数设计状态反馈控制器与全状态观测器。
3.1仿真程序及分析
%SFSOTEST.M SISO LTI 系统的状态反馈控制器与全状态观测器的设计 clear all, close all, nfig=0; %打开二进制文件保存结果 delete sfsotest.out diary sfsotest.out disp(' ')
disp('* * * SFSOTEST.OUT * * * Diary File for SFSOTEST.M') disp(' ')
%Part I.创建线性系统模型,显示其开环系统是不稳定的Setup base data for the linear A=[0 1;20.6 0]; B=[0 1]'; %建立系统的状态空间模型 C= [1 0]; D= [0];
disp('State Space Matrices for the Plant')
A, B, C, D
%compute eigenvalues of state matrix for open loop plant
disp('Eigenvalues of the "Open Loop Plant"');%计算开环系统状态矩阵特征值ev=eig(A)
%Part II.加入状态反馈控制器以稳定系统,对状态1的输出量进行仿真
%检查系统的可控性
disp('Controllability Matrix for this system'), M=ctrb(A,B)
disp('Rank of Controllability Matrix'), rank(M)
clp=[-1.8+2.4j -1.8-2.4j];%计算状态反馈控制增益
Ks=place(A,B,clp);
disp('Desired closed loop poles for state feedback controller'); clp
disp('State feedback gains needed to give desired poles'); Ks
disp ('Calculated eigenvalues of system with state feedback');
eig (A-B*Ks)
Nv=-1.0/(C*inv(A-B*Ks)*B);%计算Nv
disp('Setpoint gain for zero SS error');Nv
to=0; tf=5;nfig=0;%对被控系统+控制器进行仿真
t=linspace(to,tf,101);
syscl1=ss (A-B*Ks, B*NV, C, D);
[y1,t,x1]=step(syscl1,t);
nfig=nfig+1; figure(nfig)%绘制相关结果曲线
subplot(2,1,1),plot(t,x1(:,1),'r-',t,x1(:,2),'g--'),grid,
title('States for State Feedback Test Case')
xlabel ('Time'), ylabel ('State Variables')
legend ('x1(t)','x2(t)')
%PartIII.加入状态反馈控制器与全状态观测器,仿真状态1的阶跃响应特性%检查系统的完全可观性
disp ('Observability Matrix for this system'), H=obsv (A,C)
disp ('Rank of Observability matrix'), rank (H)
%针对指定的观测器极点计算观测器增益
op=3*clp;%观测器的速度是闭环系统的3倍
L=place (A', C', op); L=L';
disp (‘desired observer poles for state feedback controller'); op
disp ('Estimator gains needed to give desired poles'); L
disp ('Calculated eigenvalues of estimator system'); eig (A-L*C)
A11=A; A12=-B*Ks; B1=B*Nv;
A21=L*C; A22=A-L*C-B*Ks; B2=B*Nv;
zz=0;
AB=[A11 A12;A21 A22]; BB=[B1;B2];
CB=[C zz*C];
%对控制系统进行仿真
syscl2=ss(AB,BB,CB,D);[y2,t,x2]=step(syscl2,t);
%分离系统状态与观测器的估计状态
nn=max(size(A));
xp2=x2(:,1:nn); xe2=x2(:,nn+1:2*nn);
%绘制全观测器情况下的计算结果
subplot(2,1,2),plot(t,xp2(:,1),'r-',t,xp2(:,2),'g--'),grid,
title('States for State Feedback with Full Observer Test Case')
xlabel('Time'),ylabel('State Variables')
legend('x1(t)','x2(t)')
%绘制状态估计得误差
nfig=nfig+1; figure(nfig)
plot(t,xp2(:,1)-xe2(:,1),'r-',t,xp2(:,2)-xe2(:,2),'g--'),grid,
title('Difference Between Plant and Observer States')
xlabel('Time'),ylabel('Error in State Variables')
legend('e1(t)','e2(t)')
diary off %关闭二进制文件
3.2程序运行结果
SFSOTEST.M程序运行结果
图4.无观测器的状态反馈控制器动态性能演示
图5.有观测器的状态反馈控制器性能演示
图6.动态误差的动态曲线
仿真结果分析说明:
图4,图5对状态反馈控制器有无观测器的两种不同情况进行了比较。
这里定义系统输
出为
1()
x t,控制系统具有10%的最大超调量和大约2.6s的稳定时间。
从结果来看,两种情况下的结果是相同的,它们都产生了符合设计要求的暂态响应曲线。
这是因为观测器的收敛
过程与闭环系统比较快得多,因此实际误差
^
E X X
=-很小,如图6所示。
4.学习小结
此次设计初步学习了典型控制理论中状态观测与状态反馈的基本原理,学习控制器的设计方法,在此基础上初步学习解了设计计算机程序,以实现状态观测和反馈控制器设计的自动化,初步了解了状态控制器与观测器的作用以及意义。
在带全观测器的状态反馈控制中,很好地解决了N维控制系统中的极点调整问题以及一写状态无法观测的问题。
参考文献
[1] 赵文峰《控制系统设计与仿真》西安电子科技大学出版社,2002年。