控制工程学院课程实验报告:
现代控制理论课程实验报告
实验题目:状态反馈控制系统的设计与实现
班级自动化(工控)姓名曾晓波学号2009021178 日期2013-1-6
一、实验目的及内容
实验目的:
(1 )掌握极点配置定理及状态反馈控制系统的设计方法;
(2 )比较输出反馈与状态反馈的优缺点;
(3 )训练Matlab程序设计能力。
实验内容:
(1 )针对一个二阶系统,分别设计输出反馈和状态反馈控制器;(2 )分别测出两种情况下系统的阶跃响应;
(3 )对实验结果进行对比分析。
二、实验设备
装有MATLAB的PC机一台
三、实验原理
一个控制系统的性能是否满足要求,要通过解的特征来评价,也就是说当传递函数是有理函数时,它的全部信息几乎都集中表现为它的极点、零点及传递函数。
因此若被控系统完全能控,则可以通过状态反馈任意配置极点,使被控系统达到期望的时域性能指标。
闭环系统性能与闭环极点(特征值)密切相关,在状态空间的分析和综合中,除了利用输出反馈以外,主要利用状态反馈来配置极点,它能提供更多的校正信息。
(一) 利用状态反馈任意配置闭环极点的充要条件是:受控系统可控。
设SIMO (Single Input-Multi Output )受控系统的动态方程为
状态向量x 通过状态反馈矩阵k ,负反馈至系统参考输入v ,于是有
这样便构成了状态反馈系统,其结构图如图1-1所示
图1-1 SIMO 状态反馈系统结构图
状态反馈系统动态方程为
闭环系统特征多项式为
()()f I A bk λλ=-+ (1-2) 设闭环系统的期望极点为1λ,2λ,…,n λ,则系统的期望特征多项式x b v u 1s C A k
-y x &
为
)())(()(21*n f λλλλλλλ---=Λ (1-3) 欲使闭环系统的极点取期望值,只需令式(1-2)和式(1-3)相等,即
)()(*
λλf f = (1-4) 利用式(1-4)左右两边对应λ的同次项系数相等,可以求出状态反馈矩阵 []n k k k Λ21=k
(二) 对线性定常连续系统∑(A ,B ,C ),若取系统的输出变量来构成反馈,则所得到的闭环控制系统称为输出反馈控制系统。
输出反馈控制系统的结构图如图所示。
开环系统状态空间模型和输出反馈律分别为
H 为r *m 维的实矩阵,称为输出反馈矩阵。
则可得如下输出反馈闭环控制系统的状态空间模型: 输出反馈闭环系统可简记为H(A-BHC,B,C),其传递函数阵为:
GH(s)=C(sI-A+BHC)-1B
B ⎰A
C H
y - x u v
+ + + x ' 开环系统 A B C H '=+⎧⎨=⎩=-+x x u y x
u y v ()A BHC B C '=-+⎧⎨=⎩
x x v y x
四、实验步骤
实验通过MATLAB软件实现。
1.双击MATLAB图标或单击开始菜单,依次指向“程序”、“MATLAB”,单击MATLAB,进入MATLAB命令窗口。
单击MATLAB工具条上的Simulink图标,运行后出现Simulink模块库浏览器,并单击其工具条左边的图标,弹出新建模型窗口。
2.在模块库浏览器窗口中的Simulink下的输入源模块(Sources)、数学运算模块(Math)、连续系统模块(Continuous)、接收模块(Sinks)库中,分别选择阶跃信号(Step)、求和(Sum)、常量增益(Gain)、积分环节(Integrator)、示波器(Scope)模块,建立如图1-2 所示的实验被控系统为Ⅰ型二阶闭环系统结构图。
图1-2 MATLAB系统结构图
3.用鼠标左键双击阶跃信号和各比例环节的模型,设置好参数;选择Simulation菜单中parameters选项,设置好仿真参数;选择Simulation菜单中的start选项,开始仿真;观察并记录下系统的输出。
4.通过状态反馈,将控制系统的闭环极点设置为p1=-1+j、p2=-1-j,重复3步骤。
此时K =[-8 -3]
5.通过输出反馈,将控制系统的闭环极点设置为p1=-1+j、
p2=-1-j,重复3步骤。
此时H =[ -0.3000 -0.3000]
6.由得出的结果,画出结构图,仿真出阶跃响应图。
附录
程序:
1)主函数
%%本程序用于求解形如Y(s)/U(s)=num/den闭环传递函数%%
%% 极点配置问题,包括状态反馈阵<K>和输出反馈阵<H> %%
%%如:Y(s)/U(s) = 10/ s^2 + 5s + 20
clc %清屏
num = [10]; %闭环传递函数分子多项式
den = [1 5 20]; %闭环传递函数分母多项式
P=[-1+j -1-j]; %希望配置的闭环极点
[A,B,C,D]=tf2ss(num,den) ; %求状态空间表达式
[str K]=pdctrb(A,B,P) %求状态反馈阵<K>
[str H]=pdobsv(A,C,P) %求输出反馈阵<H>
2)功能函数
%%程序功能:系统可控性判断以及求解状态反馈阵
%%输入量:系数矩阵A
%% 输入矩阵B
%% 配置极点P
%%输出量:可控性判断结果
%% 状态反馈矩阵K
%%-------------------------------------%%
function [str K] = pdctrb(A,B,P) %定义函数pdctrb
S = ctrb(A,B); %求可控性判别矩阵S
R = rank(S); %求可控性判别矩阵S的秩
L = length(A); %求系数矩阵A的维数
if R == L %判断rank(S)是否等于A的维数str = '系统是状态完全可控的!'; %输出可控性判断结果
K =acker(A,B,P); %求状态反馈矩阵K
else
str = '系统是状态不完全可控的!';
end
3)功能函数
%%程序功能:系统可观性判断以及求解输出反馈阵
%%输入量:系数矩阵A
%% 输出矩阵B
%% 配置极点P
%%输出量:可观性判断结果
%% 输出反馈矩阵H
%%-------------------------------------%%
function [str H] = pdobsv(A,C,P) %定义函数pdobsv
V = obsv(A,C); %求可观性判别矩阵V
R = rank(V); %求可观性判别矩阵V的秩
L = size(A,1); %求系数矩阵A的维数
if R == L %判断rank(V)是否等于A的维数str = '系统是状态完全可观的!'; %输出可观性判断结果
K = acker(A',C',P);
H = K'; %求输出反馈矩阵H
else
str = '系统是状态不完全可观的!';
end
五、实验结果
a)Ⅰ型二阶闭环系统结构图:
图1-3 MA TLAB系统结构图
系统阶跃响应图为:
图1-4 MATLAB系统阶跃响应图
b)加入状态反馈后,闭环系统的结构图为:
图1-5 加入状态反馈闭环系统的结构图加入状态反馈后,闭环系统的阶跃响应图为
图1-6 加入状态反馈闭环系统的阶跃响应图
c)加入输出反馈后,闭环系统的结构图为:
图1-7 加入输出反馈闭环系统的结构图
加入输出反馈后,闭环系统的阶跃响应图为
图1-8 加入输出反馈闭环系统的阶跃响应图
六、结果分析
利用状态反馈或输出反馈使闭环系统的极点位于所希望的极点位置。
用状态反馈实现闭环极点配置的充要条件是被控系统可控。
状态反馈不改变系统的零点,只改变系统极点。
引入状态反馈后,系统可控性不变,但可观测性不能保证。
用输出反馈实现闭环极点配置的充要条件是被控系统可观测。
输出反馈不改变系统的零点。
引入输出反馈后,系统可观测性不变,但可控性不能保证。
1.静态反馈不增加系统动态特性。
2.状态和输出反馈均可保持闭环系统的能控性。
3.输出反馈保持闭环系统的能观性,但状态反馈不能。
4.利用系统的信息多,所能达到的性能好。
状态反馈和输出反馈是控制系统设计中两种主要的反馈策略,其意
义分别为将观测到的状态和输出取作反馈量以构成反馈律,实现对系统的闭环控制,以达到期望的对系统的性能指标要求。
由于由状态变量所得到的关于系统动静态的信息比输出量提供的信息更丰富、更全面。
因此,若用状态来构成反馈控制律,与用输出反馈构成的反馈控制律相比,则设计反馈律有更大的可选择的范围,而闭环系统能达到更佳的性能。
另一方面,从状态空间模型输出方程可以看出,输出反馈可视为状态反馈的一个特例。
输出反馈只能相当于一部分状态反馈。
因此,在不增加补偿器的条件下,输出反馈的效果显然不如状态反馈系统好。
但输出反馈在技术实现上的方便性则是其突出优点
因此,采用状态反馈应能达到更高的性能指标。
七、教师评语。