现代控制理论郑宏伟.docx
《现代控制理论郑宏伟.docx》由会员分享,可在线阅读,更多相关《现代控制理论郑宏伟.docx(18页珍藏版)》请在冰豆网上搜索。
![现代控制理论郑宏伟.docx](https://file1.bdocx.com/fileroot1/2023-2/3/03d1ba53-66b8-4ce8-a823-ab1cb7553e6e/03d1ba53-66b8-4ce8-a823-ab1cb7553e6e1.gif)
现代控制理论郑宏伟
评分:
现代控制理论实验
院系:
计算机与电子信息学院
班级:
电气07-2
姓名:
郑宏伟
学号:
07034020234
指导老师:
禹柳飞
第一个实验日期:
5月13日
第二个实验日期:
6月3日
茂名学院电信学院自动化实验室
实验一线性控制系统状态空间法分析
第一部分线性控制系统状态空间模型的建立及转换
一、实验目的
1掌握线性控制系统状态空间模型的建立方法。
2掌握MATLAB中的各种模型转换函数。
二、实验项目
1已知系统的传递函数求取其状态空间模型。
2MATLAB中各种模型转换函数的应用。
3连续时间系统的离散化。
三、实验设备与仪器
1、计算机
2、MATLAB软件
四、实验原理及内容
(一)系统数学模型的建立
1、传递函数模型—tf
功能:
生成传递函数,或者将零极点模型或状态空间模型转换成传递函数模型。
格式:
G=tf(num,den)
其中,(num,den)分别为系统的分子和分母多项式系数向量。
返回的变量G为传递函数对象。
【例】:
(自己举例并编程演示)
>>num=[172424];den=[110355024];G=tf(num,den)
Transferfunction:
s^3+7s^2+24s+24
---------------------------------
s^4+10s^3+35s^2+50s+24
2、状态方程模型—ss
功能:
生成状态方程,或者将零极点模型或传递函数模型转换成状态方程模型。
格式:
G=ss(A,B,C,D)
其中,A,B,C,D分别为状态方程的系统矩阵、输入矩阵、输出矩阵和前馈矩阵。
【例】:
(自己举例并编程演示)
num=[172424];den=[110355024];%分子、分母多项式
>>G=tf(num,den);%获得系统的传递函数模型
>>sys=ss(G)
语句执行结果为
a=
x1x2x3x4
x1-10-2.188-0.3906-0.09375
x216000
x30800
x40020
b=
u1
x11
x20
x30
x40
c=
x1x2x3x4
y110.43750.18750.09375
d=
u1
y10
Continuous-timemodel.
3、零极点模型—zpk
功能:
生成零极点模型,或将状态方程模型或传递函数模型转换成零极点模型。
格式:
G=zpk(z,p,K)
其中,z,p,K分别表示系统的零点、极点和增益。
【例】:
(自己举例并编程演示)
G=tf([-10200],[172028195])
sys=zpk(G);
G=tf([-10200],[172028195])
Transferfunction:
-10s^2+20s
----------------------------------------
s^5+7s^4+20s^3+28s^2+19s+5
>>sys=zpk(G)
Zero/pole/gain:
-10s(s-2)
----------------------
(s+1)^3(s^2+4s+5)
//////////////////////////////////
(二)连续时间系统离散化
函数名称:
c2d
格式:
G=c2d(G1,Ts),其中Ts为采样周期。
功能:
连续时间系统离散化。
要求:
先进行理论求解,再与仿真结果相比较。
【例】试写出连续时间系统
采样周期为T的离散化状态方程。
1、理论求解
解:
先求
所以:
2.MATLAB仿真
>>A=[01;0-2];
>>B=[0;1];
>>T=0.1;
>>[G1H1]=c2d(A,B,T)
G1=
1.00000.0906
00.8187
H1=
0.0047
0.0906
这里T=0.1;综上所述说明用MATLAB仿真与理论计算相同,MATLAB仿真是正确的。
(三)状态空间表达式的线性变换
函数名称:
ss2ss
功能:
完成状态空间表达式的线性变换。
格式:
G=ss2ss(G1,inv(P))其中inv(p)为变换阵p的逆阵。
例:
>>a=[010;001;230];
>>b=[0;0;1];
>>c=[100];
>>p=[101;-112;1-24];
>>G1=ss(a,b,c,0);
>>G=ss2ss(G1,inv(p))
a=
x1x2x3
x1-110
x21.665e-016-10
x3002
b=
u1
x1-0.1111
x2-0.3333
x30.1111
c=
x1x2x3
y1101
d=
u1
y10
Continuous-timemodel.
>>
五、思考题
1MATLAB中的函数其实都是一些子程序,那么其ss2tf()函数是如何编写的?
A=;B=;C=;D=;
Sys=ss(A,B,C,D);
G=tf(Sys)
2在MATLAB中对连续系统进行离散化有何现实意义?
用数字计算机求解连续系统方程或对连续的被控对象进行计算机控制时,由于数字计算机运算和处理均用数字量,这样就必须将连续系统方程离散化。
在MATLAB中对连续系统进行离散化,能够使得计算机能求解连续系统方程或对连续的被控对象进行控制。
第二部分线性控制系统能控性、能观性和稳定性分析
一、实验目的
1掌握线性控制系统能控性和能观测性的判别方法,了解不可控系统或不可观测系统的结构分解方法。
2掌握控制系统在李亚普诺夫意义下的稳定性的分析方法。
二、实验项目
1运用MATLAB分析给定系统的能控性和能观测性。
2系统的结构分解。
3运用MATLAB分析分析给定系统的稳定性。
三、实验设备与仪器
1、计算机
2、MATLAB软件
四、实验原理及内容
(一)系统可控性和可观测性判别
1、可控性判别
(1)可控性判别矩阵co=ctrb(a,b)或co=ctrb(G)
(2)如果rank(co)=n,则系统状态完全可控。
2、可观测性判别
(1)可观测性判别矩阵ob=ctrb(a,c)或ob=ctrb(G)
(2)如果rank(ob)=n,则系统状态完全可观测。
(二)稳定性分析
设系统的状态方程为:
试确定系统在平衡状态处的稳定性。
五、实验报告要求
将调试前的原程序及调试后的结果要一起写到实验报告上。
举例如下:
>>A=[10-1;-1-20;301];
>>B=[10;21;02];
>>C=[100;0-10];
>>Q1=ctrb(A,B)
Q1=
101-2-2-4
21-5-296
02326-4
>>Q2=obsv(A,C)
Q2=
100
0-10
10-1
120
-20-2
-1-4-1
>>R1=rank(Q1)
R1=
3
>>R2=rank(Q2)
R2=3
从计算结果可以看出,系统能控性矩阵和能观测性矩阵的秩都是3,为满秩,因此该系统是能控的,也是能观测的。
实验二状态反馈控制系统的设计
第一部分基于MATLAB和极点配置法状态反馈控制系统的设计
一、实验目的
1掌握极点配置法的基本思想。
2利用MATLAB中的函数设计状态反馈控制系统。
二、实验项目
运用MATLAB和极点配置法设计状态反馈控制系统。
三、实验设备与仪器
1、计算机
2、MATLAB软件
四、实验原理及内容
1、SISO系统极点配置—acker
格式:
k=acker(a,b,p)
说明:
acker函数可计算反馈增益矩阵K。
其中K为行向量,p为由期望极点构成的行向量。
【例】:
已知系统动态方程为
试用MATLAB编程设计反馈增益矩阵K,使闭环极点配置在-2,-1+j,-1-j。
解:
首先判断系统的能控性,输入以下语句
A=[010;001;0-2-3];
>>B=[0;0;1];
>>R=rank(ctrb(A,B))
R=
3
这说明系统能控性矩阵满秩,系统能控,可以应用状态反馈,任意配置极点。
A=[010;001;0-2-3];
>>B=[0;0;1];
>>C=[1000];
>>P=[-2-1+j-1-j];
>>K=place(A,B,P)
K=
4.00004.00001.0000
(答案:
k=[441])
2、MIMO系统极点配置—place
格式:
k=place(A,B,p)
五、实验报告要求
要从理论上分析极点配置的过程,并将调试前的原程序及调试后的结果要一起写到实验报告上。
六、思考题
1极点配置法的基本思想和设计思路是什么?
状态反馈系统的稳定性和瞬态性能主要是由系统极点决定的。
如果引入状态反馈将系统的极点配置在s左半平面的希望位置上,则可以得到满意的系统特性,一个系统引入状态反馈可以任意配置极点的条件是原系统能控。
2如何验证设计出的系统是否达到了设计要求?
看配置的极点是否在s左半平面的希望位置上
第二部分极点配置全状态反馈控制系统的设计
一、实验目的
1学习并掌握用极点配置法来设计全状态反馈控制系统。
2用软件仿真方法研究参数对系统性能的影响。
二、实验仪器与设备
计算机一台、MATLAB软件。
三、实验内容
1设计典型二阶系统的极点配置全状态反馈控制系统,并进行软件仿真研究。
2设计典型三阶系统的极点配置全状态反馈控制系统,并进行软件仿真研究。
四、实验步骤
1典型二阶系统
(1)对一已知二阶系统(图5-1)用极点配置方法设计全反馈系数。
(2)参照图5-2,图5-3,软件仿真其阶跃响应。
(3)改变系统电路,使系统恢复到图5-1所示情况,软件仿真其阶跃响应。
(4)对实验结果进行比较、分析,并完成实验报告。
2典型三阶系统
(1)对一已知三阶系统(图5-4)用极点配置方法设计全反馈系数。
(2)参照图5-7,图5-8,软件仿真其阶跃响应。
(3)改变系统电路,使系统恢复到图5-6所示情况,软件仿真其阶跃响应。
五、实验原理
1典型二阶系统全状态反馈的极点配置设计方法
(1)被控对象状态方程与能控性
若被控系统(A、B、C)完全能控,则通过状态反馈可以任意配置极点,取图5-1所示系统为实验系统。
由图可见系统的开环传递函数为
,取图中
为状态变量,将系统开环传递函数表示为被控对象状态方程S(A、B、C),可以得:
故有:
可见状态完全能控。
(2)理想极点配置
期望的性能指标为:
超调量
,峰值时间
秒。
由经典控制理论可知:
,选择阻尼比
。
,
选择
于是可以得到系统的理想极点为:
。
系统的理想特征方程为:
。
(3)状态反馈系数的确定
加入全状态反馈后的系统特征方程为:
配置理想极点,则有:
于是可以计算出:
按极点配置设计的具有全状态反馈的系统结构如图5-2所示。
系统的模拟电路图如图5-3所示,图中的参数
分别为
,接线时请注意反馈电路的连接。
2典型三阶系统全状态反馈的极点配置设计方法
(1)典型三阶系统如图5-4所示。
其开环传递函数为
闭环传递函数为
该闭环系统的模拟电路如图5-6所示。
图5-5典型三阶闭环实验系统的阶跃响应曲线
可以用劳斯判据判断该闭环系统是不稳定的。
闭环系统的阶跃响应曲线如图5-5所示。
选取图5-4中的
为状态变量,系统开环传递函数可以表示为被控对象状态方程S(A、B、C):
其中
因为
,所以系统状态完全能控。
(2)理想极点和理想闭环特征方程
考虑到系统稳定性等要求,选择理想极点为:
,
,
由此可得到理想的闭环特征方程为:
(3)全状态反馈系数设计
取
为状态变量,带全状态的典型三阶系统结构如图5-7所示。
求取加全状态反馈后的闭环特征方程,由图5-7可以得到:
令其与理想的闭环特征方程一致,可以求出全状态反馈系数为:
(4)全状态反馈的典型系统的模拟电路如图5-8所示,
的阻值分别为
。
六、思考题与实验报告要求
1思考题
(1)状态反馈控制器在模拟实验电路中是如何实现的?
(2)状态反馈控制为什么会优于输出反馈控制?
状态反馈系统方程为:
X=Ax+B(V-Kx)=(A-BK)x+BV
y=(C-DK)x+DV式(5-3)
输出反馈系统方程为:
X=Ax+B(V-Hy)=[A-BH(I+DH)C]x+[B-BH(I+DH)D]V
y=(I+DH)Cx+(I+DH)DV式(5-5)
比较式(5-3)和式(5-5)可知,式(5-5)系数矩阵中的HC相当于状态反馈系统中的K矩阵。
由于m<=n等原因,K矩阵可以选择的自由度比较大,而H矩阵可以选择的自由度相对K矩阵来说要小些,尤其是HC对改善系统性能的效果同K矩阵相比要小得多,因此,输出反馈改善系统性能的能力要差些。