反馈控制与极点配置
- 格式:pptx
- 大小:3.06 MB
- 文档页数:36
东南大学自动化学院实验报告课程名称:自动控制基础实验名称:控制系统极点的任意配置院(系):自动化学院专业:自动化姓名:吴静学号:08008419实验室:实验组别:同组人员:实验时间:2011年4月29日评定成绩:审阅教师:一、实验目的1. 掌握用状态反馈的设计方法实现控制系统极点的任意配置;2. 用电路模拟的方法,研究参数的变化对系统性二、实验原理内容用全状态反馈实现二阶系统极点的任意配置,并用电路模拟的方法予予以实现; 理论证明,通过状态反馈的系统,其动态性能一定会优于只有输出反馈的系统。
设系统受控系统的动态方程为bu Ax x+= cx y =图6-1为其状态变量图。
图6-1 状态变量图令Kx r u -=,其中]...[21n k k k K =,r 为系统的给定量,x 为1⨯n 系统状态变量,u 为11⨯控制量。
则引入状态反馈后系统的状态方程变为bu x bK A x+-=)( 相应的特征多项式为)](det[bK A SI --,调节状态反馈阵K 的元素]...[21n k k k ,就能实现闭环系统极点的任意配置。
图6-2为引入状态反馈后系统的方框图。
图6-2 引入状态变量后系统的方框图实验时,二阶系统方框图如6-3所示。
图6-3 二阶系统的方框图引入状态反馈后系统的方框图如图6-4所示。
根据状态反馈后的性能指标:20.0≤p δ,s 5.0T p ≤,试确定状态反馈系数K1和K2图6-4 引入状态反馈后的二阶系统方框图三、实验步骤1.引入状态反馈前根据图6-3二阶系统的方框图,设计并组建该系统相应的模拟电路,如图6-9所示。
图6-9 引入状态反馈前的二阶系统模拟电路图在系统输入端加单位阶跃信号,用上位机软件观测c(t)输出点并记录相应的实验曲线,测量其超调量和过渡时间。
2.引入状态反馈后请预先根据前面给出的指标计算出状态反馈系数K1、K2。
根据图6-4引入状态反馈后的二阶系统的方框图,设计并组建该系统相应的模拟电路,如图6-10所示。
现代控制理论实验(一)线性系统的状态反馈及极点配置——09级自动化本科一.实验目的1.了解和掌握状态反馈及极点配置的原理。
2.了解和掌握利用矩阵法及传递函数法计算状态反馈及极点配置的原理与方法。
3.掌握在被控系统中如何进行状态反馈及极点配置,构建一个性能满足指标要求的新系统的方法。
二.实验原理及说明一个控制系统的性能是否满足要求,要通过解的特征来评价,也就是说,当传递函数是有理函数时,它的全部信息几乎都集中表现为它的极点、零点及传递函数。
因此若被控系统完全能控,则可以通过状态反馈任意配置极点,使被控系统达到期望的时域性能指标。
若有被控系统如图3-3-61所示,它是一个Ⅰ型二阶闭环系统。
图3-3-61 被控系统如图3-3-61所示的被控系统的传递函数为:12021S 11)1(1)(a S a S b T TS T TS S T S i i i ++=++=++=φ (3-3-51) 采用零极点表达式为:))(()(210λλφ--=S S b S (3-3-52)进行状态反馈后,如图3-3-62所示,图中“输入增益阵”L 是用来满足静态要求。
图3-3-62 状态反馈后被控系统设状态反馈后零极点表达式为:))(()(21**--=λλφS S b S (3-3-53)1.矩阵法计算状态反馈及极点配置1)被控系统被控系统状态系统变量图见图3-3-63。
图3-3-63 被控系统状态系统变量状态反馈后的被控系统状态系统变量图见图3-3-64。
图3-3-64 状态反馈后的被控系统状态系统变量图图3-3-61的被控系统的状态方程和输出方程为:状态方程:⎪⎪⎪⎩⎪⎪⎪⎨⎧=+-=+-=••1i 1i 2211X Y u T 1X T 1X X T 1X T 1X (3-3-54)⎪⎩⎪⎨⎧=+==•∑CxY u Ax X B C B A 0),,(式中[]01,T 10B 0T 1T 1T 1A ,i i 21=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=⎥⎦⎤⎢⎣⎡=C x x x , 被控系统的特征多项式和传递函数分别为:12010a a b S b )(+++=S S S φB A)C(SI 1--=)(A -SI det a a )(f 0120=++=S S S 可通过如下变换(设P 为能控标准型变换矩阵): —x P X =将∑0C B A ),,(化为能控标准型 ),,(————C B A ∑,即: ⎪⎩⎪⎨⎧=+=•——————x C Y u x A B X 式中 ⎥⎦⎤⎢⎣⎡-==-101a -a 10AP P A — , ⎥⎦⎤⎢⎣⎡==-10B P B 1— , []10b b CP C ==— 2)被控系统针对能控标准型),,(————C B A ∑引入状态反馈:⎥⎦⎤⎢⎣⎡=-=—————式中10k k k xk u ν (3-3-55)可求得对—x 的闭环系统),,—————C B k B A (-∑的状态空间表达式: 仍为能控标准型,即: ⎪⎩⎪⎨⎧=+-=•————————)(x C Y u x B k B A X 式中 ⎥⎦⎤⎢⎣⎡+-+-=-)()(—————1100k a k a 10k B A则闭环系统),,(——————C B k B A -∑的特征多项式和传递函数分别为: )()(—————00112k k a k a k)B (A SI det )(f ++++=⎥⎦⎤⎢⎣⎡--=S S S )k a (k a b S b B )k B A (SI C )(00112011k ———————)(+++++=⎥⎦⎤⎢⎣⎡--=-S S S φ3)被控系统如图3-3-61所示:其中:05.01==T T i则其被控系统的状态方程和输出方程为:[]XY uX X 0110012020=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡--=期望性能指标为:超调量M P ≤20%;峰值时间t P ≤0.5秒。
自动控制原理(课程设计)一、题目用MATLAB创建用户界面,并完成以下功能:(1)由用户输入被控系统的状态空间模型、闭环系统希望的一组极点;(2)显示未综合系统的单位阶跃响应曲线;(3)显示采用一般设计方法得到的状态反馈矩阵参数;(4)显示闭环反馈系统的单位阶跃响应曲线;(5)将该子系统嵌入到寒假作业中程序中。
分别对固定阶次和任意阶次的被控系统进行设计。
分别给出设计实例。
二、运行结果界面:如图由用户输入被控系统的状态空间模型、闭环系统希望的一组极点例如,输入010001034A⎡⎤⎢⎥=⎢⎥⎢⎥--⎣⎦,1B⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,[]2000C=,0D=,闭环系统希望的一组极点:22j-+、22j--、5-如图所示:被控系统的单位阶跃响应曲线闭环系统的单位阶跃响应曲线状态反馈矩阵显示三、讨论该闭环控制系统的状态反馈与极点配置设计系统可用于任意阶次的控制系统。
在此之前,我还做了一个固定阶次的控制系统状态反馈与极点配置的Matlab 控制台程序(见附录二)。
该系统的利用状态反馈进行极点任意配置所采用的方法为一般方法,其步骤如下:①判断受控系统是否完全能控;②由给定的闭环极点要求确定希望的闭环特征多项式的n个系数~i a;③确定原受控系统的特征多项式系数ia;④确定系统状态反馈矩阵~~~~[,,,]12nff fF=的诸元素~~11ii if a a-=--;⑤确定原受控系统化为能控标准形的变换阵的逆1P-,⑥确定受控系统完成闭环极点配置任务的状态反馈阵~1F F P-=。
四、参考文献[1]黄家英.《自动控制原理》.高等教育出版社,2010.5[2]唐向红,郑雪峰.《MATLAB及在电子信息类》.电子工业出版社,2009.6[3]吴大正,高西全.《MATLAB新编教程》.机械工业出版社,2008.4五、附录function varargout = tufeiqiang(varargin)%TUFEIQIANG M-file for tufeiqiang.fig% TUFEIQIANG, by itself, creates a new TUFEIQIANG or raises the existing% singleton*.%% H = TUFEIQIANG returns the handle to a new TUFEIQIANG or the handle to% the existing singleton*.%% TUFEIQIANG('Property','Value',...) creates a new TUFEIQIANG usingthe% given property value pairs. Unrecognized properties are passed via % varargin to tufeiqiang_OpeningFcn. This calling syntax produces a% warning when there is an existing singleton*.%% TUFEIQIANG('CALLBACK') and TUFEIQIANG('CALLBACK',hObject,...) call the% local function named CALLBACK in TUFEIQIANG.M with the given input % arguments.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help tufeiqiang% Last Modified by GUIDE v2.5 20-May-2015 23:49:56% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @tufeiqiang_OpeningFcn, ...'gui_OutputFcn', @tufeiqiang_OutputFcn, ...'gui_LayoutFcn', [], ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before tufeiqiang is made visible.function tufeiqiang_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin unrecognized PropertyName/PropertyValue pairs from the% command line (see VARARGIN)% Choose default command line output for tufeiqianghandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes tufeiqiang wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = tufeiqiang_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;function WZH_Callback(hObject, eventdata, handles)% hObject handle to WZH (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)A=get(handles.edit1,'String');A=char(A);A=str2num(A);B=get(handles.edit2,'String');B=char(B);B=str2num(B);C=get(handles.edit3,'String');C=char(C);C=str2num(C);D=get(handles.edit4,'String');D=char(D);D=str2num(D);sys = ss(A,B,C,D);axes(handles.axes1);set(handles.axes1,'unit','normalized');step(sys);%title('••ו•••••••••••ו••ì•••ú••')set(findobj(gca,'Type','line','Color',[0 0 1]),...'Color','red',...'LineWidth',2)% --- Executes on button press in BFK.function BFK_Callback(hObject, eventdata, handles)% hObject handle to BFK (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)A=get(handles.edit1,'String');A=char(A);A=str2num(A);B=get(handles.edit2,'String');B=char(B);B=str2num(B);C=get(handles.edit3,'String');C=char(C);C=str2num(C);D=get(handles.edit4,'String');D=char(D);D=str2num(D);P=get(handles.edit5,'String');P=char(P);P=str2num(P);K = acker(A,B,P);at = A-B*K;bt = B;ct = C;dt = D;%[num,den]=zp2tf(z,p,k);%[num1,den1]=cloop(num,den);axes(handles.axes1);set(handles.axes1,'unit','normalized');%step(cloop(num,den));%rlocus(A,B,K,0)%step(num1,den1);sys = ss(at,bt,ct,dt);step(sys);title('±••··••••••••••••ו••ì•••ú••')set(findobj(gca,'Type','line','Color',[0 3 3]),...'Color','yellow',...'LineWidth',2)function FKC_Callback(hObject, eventdata, handles)% hObject handle to FKC (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)A=get(handles.edit1,'String');A=char(A);A=str2num(A);B=get(handles.edit2,'String');B=char(B);B=str2num(B);Z=get(handles.edit5,'String');Z=char(Z);Z=str2num(Z);Zif rank(ctrb(A,B)) == rank(A)N = acker(A,B,Z);Nstr=num2str(N)H = findobj('tag','edit6');set(H,'string',str);elsemsgbox('•••••••••••••••••••••••• ');endfunction pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)A=get(handles.edit1,'String');AA=char(A);AA=str2num(A);AB=get(handles.edit2,'String');BB=char(B);BB=str2num(B);BM = ctrb(A,B);if rank(M) == rank(A)msgbox('•••••ê••••••••••••••••••');%[num,den]=zp2tf(z,p,k);%[num1,den1]=cloop(num,den);%step(cloop(num,den));%rlocus(A,B,K,0)%step(num1,den1);elsemsgbox('•••••••••••••••••••••••• '); end。
实验报告线性系统的状态反馈及极点配置一.实验要求了解和掌握状态反馈的原理,观察和分析极点配置后系统的阶跃响应曲线。
二.实验内容及步骤1.观察极点配置前系统极点配置前系统的模拟电路见图3-3-64所示。
图3-3-64 极点配置前系统的模拟电路实验步骤:注:‘S ST’不能用“短路套”短接!(1)将信号发生器(B1)中的阶跃输出0/+5V作为系统的信号输入r(t)。
(2)构造模拟电路:按图3-3-64安置短路套及测孔联线,表如下。
(3)虚拟示波器(B3)的联接:示波器输入端CH1接到A3单元输出端OUT(Uo)。
注:CH1选‘X1’档。
(4)运行、观察、记录:将信号发生器(B1)Y输出,施加于被测系统的输入端rt,按下信号发生器(B1)阶跃信号按钮时(0→+5V阶跃),观察Y从0V阶跃+5V时被测系统的时域特性。
等待一个完整的波形出来后,点击停止,然后移动游标测量其调节时间ts。
实验图像:由图得ts=3.880s 2.观察极点配置后系统 极点的计算:受控系统如图所示,若受控系统完全可控,则通过状态反馈可以任意配置极点。
受控系统设期望性能指标为:超调量M P ≤5%;峰值时间t P ≤0.5秒。
由1095.01t 707.0%5eM n n 2n p 1/p 2=≥⇒≤-==⇒≤=--ωωζωπζζζπ取因此,根据性能指标确定系统希望极点为:⎪⎩⎪⎨⎧--=+-=07.707.707.707.7*2*1j j λλ受控系统的状态方程和输出方程为:⎪⎩⎪⎨⎧=+=-----⋅-xC y b x A x μ式中][01,10,020120,21=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡=----C b A x x x系统的传递函数为:202020a S a S βS β)(2012010++=+++=S S S G受控制系统的可控规范形为:[][]020T C C b T b a a T A T A X T X X C Y U b X A X K K i o K K KK k K K K ===⎥⎦⎤⎢⎣⎡==⎥⎦⎤-⎢⎣⎡-=⎥⎦⎤-⎢⎣⎡-===⎩⎨⎧=+=---10111,1020120010T ββ为变换阵),(式中当引入状态反馈阵K K =[K 0K 1]后,闭环系统()K K K K K C b K b A ,,-的传递函数为:()()()01201120120)20(20)(K S K S K a S K a S S S G o ++++=+++++=ββ而希望的闭环系统特征多项为:1001.14))(()(2*2*1**12*++=--=++=S S S S a S a S S f oλλ 令G K (S)的分母等于F #(S),则得到K K 为:[][]9.58010-==K K K k最后确定原受控系统的状态反馈阵K :由于 1-=T K K k求得和===---111,T C b T b T A T A K k K求得 ⎥⎥⎦⎤⎢⎢⎣⎡-=-1102011T所以状态反馈阵为: [][]9.59.91102019.580-=⎥⎥⎦⎤⎢⎢⎣⎡--=K极点配置系统如图所示:极点配置后系统根据极点配置后系统设计的模拟电路见下图所示。
5.1状态反馈与极点配置一、状态反馈系统的动态方程以单输入-多输出受控对象动态方程为例:(5-1)将对象状态向量通过待设计的参数矩阵即状态反馈行矩阵,负反馈至系统的参考输入,于是存在(5-2)这时便构成了状态反馈系统,见图5-1。
图5-1 状态反馈系统结构图(5-3)(5-4)式中v为纯量,为维向量,为维矩阵,为维向量,为维行矩阵,为维向量,为维矩阵。
为闭环状态阵,为闭环特征多项式。
二、用状态反馈使闭环极点配置在任意位置上的充要条件是:受控对象能控证明若式(5-1)所示对象可控,定可通过变换化为能控标准形,有若在变换后的状态空间内引维状态反馈矩阵:(5-5)其中分别为由状态变量引出的反馈系数,则变换后的状态反馈系统动态方程为:(5-6)(5-7)式中(5-8)该式与仍为能控标准形,故引入状态反馈后,系统能控性不变。
特征方程为:(5-9)显见,任意选择阵的个元素,可使特征方程的个系数满足规定要求,能保证特征值(即闭环极点)任意配置。
将逆变换代入式(5-6),可求出原状态空间内的状态反馈系统状态方程:(5-10)与式(5-3)相比,式(5-10)所示对象应引入状态反馈阵为:(5-11)需指出,当受控对象可控时,若不具有能控标准形形式,并不必象如上证明那样去化为能控标准形,只要直接计算状态反馈系统闭环特征多项式,这时,其系数为的函数,与给定极点的特征多项式系数相比较,便可确定。
能控的多输入-多输出系统,经如上类似分析可知,实现闭环极点任意配置的状态反馈阵K为维。
若受控对象不稳定,只要有能控性,完全可由状态反馈配置极点使系统稳定。
状态变量受控情况下,引入状态反馈表示增加一条反馈通路,它能改变反馈所包围环节的传递特性,即通过改变局部回路的极点来改变闭环极点配置。
不能控状态变量与控制量无关,即使引入状态反馈,对闭环极点位置也不会产生任何影响,这是因为传递函数只与系统能控、能观测部分有关的缘故。
若不能控状态变量是稳定的状态变量,那么系统还是能稳定的,否则,系统不稳定。