现代控制理论实验指导书.docx
- 文档编号:7422205
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:20
- 大小:152.45KB
现代控制理论实验指导书.docx
《现代控制理论实验指导书.docx》由会员分享,可在线阅读,更多相关《现代控制理论实验指导书.docx(20页珍藏版)》请在冰豆网上搜索。
现代控制理论实验指导书
现代控制理论实验指导书
西安文理学院
物理与机电工程学院
前言
这是一本为工科高年级学生编写的实验指导书,作为控制系统领域各门控制课程的配套实验教材。
一、现代控制理论实验的任务
“现代控制理论”是全日制本科自动化专业的重要专业课程,它的实践性教学环节,对学生理解和掌握现代控制理论起着至关重要的直接影响作用。
现代控制理论实验的主要任务是使学生通过实验进一步理解和掌握现代控制理论的基本概念、基本原理和控制系统的分析与设计方法。
它是现代控制理论课程教学的一部分,其主要目标如下:
(1)深刻理解现代控制理论的基本理论;
(2)初步掌握控制系统的分析与设计方法;
(3)学习和掌握现代计算机技术及其辅助工具的运用,提高计算机的应用能力与水平;
(4)提高实际应用能力和动手操作能力,培养严肃认真、一丝不苟的科学态度。
二、实验的要求
现代控制理论实验是一个专业性较强的实践环节,要求有专门的实验场所和实验设备;并且要求参加实验者必须具备必要的相关理论基础知识,对所做实验的前提条件及制约因素有足够的认识和理解;同时要求参加实验者具有较强的观察思考能力、研究分析能力和创新能力。
三、现代控制理论实验的实现方法
现代控制理论课程的实验方法比较灵活,实验方案和思路也比较多。
众多厂家和高校都研制开发出了各种实验箱以及相应的实验平台,但大多数受到实验场所、实验设备等教学条件的制约。
按照加强理论、巩固基础、培养学生的观察思考能力和创新能力的指导思想,本实验指导书主要通过“计算机软件仿真”的实现方法去完成实验,使学生加深对所学理论的理解和认识。
四、对参加实验学生要求
(1)认真阅读实验指导书,复习与实验有关的理论知识,明确每次实验的目的,了解实验所涉及的相关软件的操作,熟悉实验的内容和方法。
(2)爱护实验设备,遵守实验室的规章制度,服从实验指导教师和实验室管理教师的安排和管理。
五、对实验报告的要求
(1)标明实验名称、实验内容、实验目的,以及实验时间、实验地点、同组实验人员等。
(2)注明实验所用的设备、软件及实验的步骤和方法。
(3)认真分析所得的实验结果,得出明确的实验结论。
并注明该结论所依据的原理和理论。
(4)字迹工整,书写规范,并使用统一的实验报告纸。
实验一系统的传递函数阵和状态空间表达式的转换
1.0实验设备
PC计算机1台(要求P4-1.8G以上),MATLAB6.X软件1套。
1.1实验目的
①学习多变量系统状态空间表达式的建立方法、了解统状态空间表达式与传递函数相互转换的方法;
②通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。
1.2实验原理说明
设系统的模型如式(1.1)示。
(1.1)
其中:
A为n×n维系数矩阵;
B为n×m维输入矩阵;
C为p×n维输出矩阵;
D为传递阵,一般情况下为0,只有n和m维数相同时,D=1。
系统的传递函数阵和状态空间表达式之间的关系如式(1.2)示。
(1.2)
式(1.2)中,
表示传递函数阵的分子阵,其维数是p×m;
表示传递函数阵的按s降幂排列的分母。
(即:
则:
函数的用法如下例所示:
例如:
若给定系统的传函为
MATLAB程序如下:
>>num=[0612610];den=[12311];
>>printsys(num,den)
执行结果为
num/den=
6s^3+12s^2+6s+10
----------------------------)
s^4+2s^3+3s^2+s+1
1.3实验步骤
1根据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(1.2),采用MATLAB的file.m编程。
注意:
ss2tf和tf2ss是互为逆转换的指令。
2在MATLAB界面下调试程序,并检查是否运行正确。
3举例说明程序的运行过程
[例1-1]已知SISO系统的状态空间表达式为(1.3)式所示,求系统的传递函数。
,
(1.3)
程序:
%首先给A、B、C阵赋值;
A=[010;001;-4-3-2];
B=[1;3;-6];
C=[100];
D=0;
%状态空间表达式转换成传递函数阵的格式为:
[num,den]=ss2tf(a,b,c,d,u)
[num,den]=ss2tf(A,B,C,D,1)
程序运行结果:
num=
01.00005.00003.0000
den=
1.00002.00003.00004.0000
从程序运行结果得到:
系统的传递函数为:
……………………(1.4)
[例1-2]从系统的传递函数(1.4)式求状态空间表达式。
程序:
num=[0153];%在给num赋值时,在系数前补0,使num和den赋值的个数相同;
den=[1234];
[A,B,C,D]=tf2ss(num,den)
程序运行结果:
A=
-2-3-4
100
010
B=
1
0
0
C=
153
D=
0
由于一个系统的状态空间表达式并不唯一,[例1-2]程序运行结果虽然不等于式(1.3)中的A、B、C阵,但该结果与式(1.3)是等效的。
现在对上述结果进行验证。
[例1-3]对[例1-2]的上述结果进行验证编程
%将[例1-2]上述结果赋值给A、B、C、D阵;
A=[-2-3-4;100;010];
B=[1;0;0];
C=[153];
D=0;
[num,den]=ss2tf(A,B,C,D,1)
程序运行结果与[例1-1]完全相同。
1.4实验要求
①在运行以上[例]程序的基础上,应用MATLAB对(1.5)式所示的系统仿照[例1.2]编程,求系统的A、B、C、D阵;然后再仿照[例1-3]进行验证。
(1.5)
提示:
num=[0012;0153];
②要求调试自编程序,并写出实验报告。
1.5实验思考题
1.系统的传递函数阵和系统的状态空间表达式之间的关系是什么?
2.同一系统的状态空间表达式是否唯一?
实验二多变量系统的能控性和能观测性分析
2.0实验设备
PC计算机1台(要求P4-1.8G以上),MATLAB6.X软件1套。
2.1实验目的
①学习多变量系统状态能控性定义及判别方法;
②学习多变量系统状态能观性定义及判别方法;
③通过用MATLAB编程、上机调试,掌握多变量系统能控能观测性的判别方法。
2.2函数功能简介
利用Matlab控制系统工具箱中提供的函数分析系统的能控性和能观测性
1.ctrb函数
功能:
根据动态系统
生成能控性判别矩阵
调用格式:
2.obsv函数
功能:
根据动态系统
生成能观测性判别矩阵。
调用格式:
3.gram函数
功能:
根据动态系统
生成判别能控性、能观测性的格拉姆矩阵。
调用格式:
%生成判别能控性的格拉姆矩阵。
%生成判别能观测性的格拉姆矩阵,其中,
分别为A,C的转置。
4.dgram函数
功能:
生成判别离散系统能控或能观测性的格拉姆矩阵。
调用格式:
参见函数gram
5.ctrbf函数
功能:
将不能控系统
按能控性进行分解。
调用格式:
其中:
,
,
T为变换阵,K为包含状态能控个数信息的行向量,执行sum(K)语句即可得到能控状态数。
能控子系统为
,不能控子系统为
。
6.
函数
功能:
将不能观测系统
按能观测性进行分解。
调用格式:
[Abar,Bbar,Cbar,T,K]=obsvf(A,B,C)
其中:
T为变换阵,K为包含状态能观个数信息的行向量,执行sum(K)语句即可得到能观测状态数。
能观测子系统为
,不能观测子系统为
。
注意:
本次试验主要掌握ctrb函数obsv函数。
2.3实验原理说明
①设系统的状态空间表达式
(2.1)
系统的能控分析是多变量系统设计的基础,包括能控性的定义和能控性的判别。
系统状态能控性的定义的核心是:
对于线性连续定常系统(2.1),若存在一个分段连续的输入函数
,在有限的时间
~
内,能把任一给定的初态
转移至预期的终端
,则称此状态是能控的。
若系统所有的状态都是能控的,则称该系统是状态完全能控的。
②系统输出能控性是指输入函数
加入到系统,在有限的时间
~
内,能把任一给定的初态
转移至预期的终态输出
。
能控性判别分为状态能控性判别和输出能控性判别。
状态能控性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能控性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能控性分为一般判别是应用最广泛的一种判别法。
输出能控性判别式为:
(2.2)
状态能控性判别式为:
(2.3)
系统的能观分析是多变量系统设计的基础,包括能观性的定义和能观性的判别。
系统状态能观性的定义:
对于线性连续定常系统(2.1),如果对t0时刻存在ta,t0 ,根据[t0,ta]上的y(t)的测量值,能够唯一地确定S系统在t0时刻的任意初始状态x0,则称系统S在t0时刻是状态完全能观测的,或简称系统在[t0,ta]区间上能观测。 状态能观性分为一般判别和直接判别法,后者是针对系统的系数阵A是对角标准形或约当标准形的系统,状态能观性判别时不用计算,应用公式直接判断,是一种直接简易法;前者状态能观性分为一般判别是应用最广泛的一种判别法。 状态能控性判别式为: (2.4) 2.4实验步骤 (1)先调试[例2.1]、[例2.2]系统能控性、能观性程序,然后根据所给系统的系数阵A和输入阵B,依据2.3能控性、能观性判别式,对所给系统采用MATLB的file.m编程; (2)在MATLAB界面下调试程序,并检查是否运行正确。 (3)按实验要求,判断所给的具有两个输入的二节系统的能控性及能观测性。 2.5用MATLAB进行系统能控性和能观测性分析举例 [例2-1]已知系统状态方程为 判别系统的能控性。 解: MATLABProgram2_1为应用秩判据求解本题的程序。 程序如下: %MATLABProgram2_1 A=[-2,2,-1;0,-2,0;1,-4,0]; B=[0,0;0,1;1,0]; Qc=ctrb(A,B); n=rank(Qc); L=length(A); ifn==L str='系统是状态完全能控' else str='系统是状态不完全能控' end MATLABProgram2_1运行结果为 str= 系统是状态完全能控 [例2-2]控制系统的状态空间表达式为 试分析系统的输出能控性 解MATLABProgram2_2为应用秩判据求解本题的程序。 %MATLABProgram2_2 A=[-3,1,0;0,-3,0;0,0,-1];B=[1,-1;0,0;2,0]; C=[1,0,1;-1,1,0];D=zeros(2,2); C0=ctrb(A,B); m=size(C,1); Qy=[C*C0,D]; Qm=rank(Qy); ifm==Qm str='系统输出是完全能控的' else str='系统输出是不完全能控的' end MATLABProgram3_2运行结果为 str= 系统输出是完全能控的 [例2-3]控制系统的状态空间表达式为 判别系统的能观测性。 解MATLABProgram2_3为应用秩判据求解本题的程序。 %MATLABProgram2_3 A=[4,1,0,0;0,4,0,0;0,0,4,1;0,0,0,4]; C=[1,1,2,1;1,2,2,0]; Q0=obsv(A,C); R=rank(Q0); L=size(A); ifr==L str='系统是状态完全能观测' else str='系统是状态不完全能观测' end MATLABProgram2_3运行结果为 str= 系统是状态不完全能观测 2.6实验要求 ①在运行以上[例]程序的基础上,编程判别下面系统的能控性和能观测性。 已知线性系统的状态空间表达式为: ,试判别系统的能控性和能观测性。 ②要求调试自编程序,并写出实验报告。 2.7实验思考题 1.SISO系统与MIMO系统的能控性、能观测性判别准则有何异同之处。 2.在什么情况下一个系统既是能控的又是能观测的。 实验三多变量系统的稳定性分析 3.0实验设备 PC计算机1台(要求P4-1.8G以上),MATLAB6.X软件1套。 3.1实验目的 ①学习多变量系统状态能控性及稳定性分析的定义及判别方法; ②学习多变量系统状态能观性及稳定性分析的定义及判别方法; ③通过用MATLAB编程、上机调试,掌握多变量系统能控性及稳定性判别方法。 3.2实验原理说明 ①设系统的状态空间表达式 (3.1) 由状态方程求出系统的传递函数为: (3.2) 其中 ——矩阵A的特征多项式。 特征值就是系统矩阵A的特征值,即特征方程 的根。 若该系统具有能控性和能观性,则(3.2)式的分子和分母不存在公因子相消,即有 (3.3) 式(3.3)表明,该系统的传递函数极点与系统的特征值完全相同。 若该系统不具有能控性和能观性,则(3.2)式的分子和分母有相同的公因子相消,即有 (3.4) 式(3.4)表明,该系统的传递函数极点只是系统特征值的一部分。 在这种情况下,如果系统具有外部稳定性,就不一定具有内部稳定性。 因为当式(3.2)的分子和分母多项式含有正根的公因子项时,与正特征值相对应的状态变量不稳定;而在传递函数中,由于零、极点对消后没有出现该正极点,故系统却具有外部稳定性。 但是若线性定常系统具有能控性和能观性,则其内部稳定性和外部稳定性是等价的。 只要系统的A的特征根实部为负,系统就是状态稳定的。 式(1.2)[ ]又可写成: (3.5) 当状态方程是系统的最小实现时, ,系统的状态渐近稳定与系统的BIBO(有界输入有界输出)稳定等价; 当 时,若系统状态渐近稳定则系统一定是的BIBO稳定的。 3.3实验步骤 ①先调试[例3-1]系统能控性、能观性程序,然后根据所给系统的系数阵A和输入阵B,依据2.3能控性、能观性判别式,对所给系统采用MATLB的file.m编程;在MATLAB界面下调试程序,并检查是否运行正确。 调试[例3-1]系统稳定性分析程序,验证稳定性判据的正确性。 按实验要求,判断所给系统的稳定性。 [例3-1]: 已知系数阵A、B、和C阵分别如下,分析系统的状态稳定性。 , , (3.6) ④根据题义编程: A=[010;001;-4-3-2]; B=[1;3;-6]; C=[100]; D=0; [z,p,k]=ss2zp(A,B,C,D,1) 程序运行结果: z= -4.3028 -0.6972 p= -1.6506 -0.1747+1.5469i -0.1747-1.5469i k=1 由于系统的零、极点均具有负的实部,则系统是BIBO稳定的;又因为状态方程是系统的最小实现,系统的状态渐近稳定与系统的BIBO稳定等价,所以系统是状态渐近稳定的。 [例3-2]已知系统的状态矩阵为 . ①求系统特征值,判断稳定性。 ②对系统进行李雅普诺夫稳定性分析。 [例3-2]的实验步骤: 1.用函数eig()求系统的特征值,并判稳定性。 在CommandWindow下键入以下命令: >>A=[-1-2;1-4]; >>eig(A) 运行结果为: ans= -2 -3 系统特征根都为负值,可知系统稳定。 2.对系统进行李雅普诺夫稳定性分析 选定正定矩阵Q,求解P。 参考程序如下: A=[-1-2;1-4];%定义系统状态矩阵A Q=[10;01];%定义正定矩阵Q为二阶单位阵 P=lyap(A',Q)%求解稳定性判别矩阵P detp=det(P)%求 detp1=det(P(1,1))%求P的一阶主子式 运行结果为: P= 0.3833-0.1167 -0.11670.1833 detp= 0.0567 detp1= 0.3833 P的各阶主子式的值都大于0,P为正定对称阵,根据李雅普诺夫稳定性定理可知: 系统稳定,和利用特征值求解的结果一致。 3.4实验要求 ①在运行以上[例3-2]程序的基础上,编程判别下面系统的稳定性。 已知系统状态方程为: , 当Q=I时,P=? 如选Q为半正定矩阵,Q=? 对应P=? 判断系统稳定性。 ②要求调试自编程序,并写出实验报告。 3.5实验思考题 1.什么是李雅普诺夫稳定性? 如何判断系统是否大范围渐进稳定? 2.如何构造李雅普诺夫函数? 实验四系统设计: 状态观测器的设计 4.0实验设备 PC计算机1台(要求P4-1.8G以上)、MATLAB6.X软件1套、 4.1实验目的 (1)掌握用状态反馈配置极点的方法 (2)掌握状态观测器的设计方法 (3)了解状态反馈与状态观测器的物理意义。 4.2实验原理说明 设系统的模型如式(4.1)示。 (4.1) 系统状态观测器包括全阶观测器和降阶观测器。 设计全阶状态观测器的条件是系统状态完全能观。 全阶状态观测器的方程为: (4.2) 4.3实验步骤 ①在MATLAB界面下调试[例4-1]程序,并检查是否运行正确。 ②已知三阶系数阵A、B和C阵分别如式(4.4)示,设计全阶状态观测器,要求状态观测器的极点为[-1-2-3]。 [例4-1]: , , (4.3) 首先验证系统是状态完全能观的,设状态观测器的增益阵为Kz=[k1k2]T 根据题义编程: A=[01;-2-1]; B=[0;1]; C=[10]; D=0; [num,den]=ss2tf(A,B,C,D,1);%求出原系统特征多相式 denf=[169];%希望的极点的特征多相式 k1=den(: 2)-denf(: 2)%计算k1=d1-a1 k2=den(: 3)-denf(: 3)%计算k2=d2-a2 程序运行结果: k1=-5k2=-7 所以,状态观测器的增益阵为Kz=[k1k2]T=[-5–7]T。 则状态观测器的方程为 4.4实验要求 , , (4.4) 设计全阶状态观测器,要求状态观测器的极点为[-1-2-3]。 ①对系统式(4.4)所示系统,采用[例4-1]的思路,用MATLAB编程求状态观测器的增益阵Kz=[k1k2k3]T; 要求调试自编程序,并写出实验报告。 4.5实验思考题 设计全阶状态观测器的条件是什么,为什么要加这样的限制条件?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 控制 理论 实验 指导书