状态反馈控制器的设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上海电力学院实验报告
自动控制原理实验课程
题目:状态反馈控制器的设计
班级:
姓名:
学号:
时间:
一、问题描述
已知一个单位反馈系统的开环传递函数为,试搭建simulink 模型。仿真原系统的阶跃响应。再设计状态反馈控制器,配置系统的闭环极点在,并用simulink模型进行仿真验证。
二、理论方法分析
MATLAB提供了单变量系统极点配置函数acker(),该函数的调用格式为 K=place(A,b,p)
其中,P为期望闭环极点的列向量,K为状态反馈矩阵。Acker ()函数时Ackerman公式编写,若单输入系统可控的,则采用状态反馈控制后,控制量u=r+Kx。
对于多变量系统的状态反馈极点配置,MATLAB也给出了函数place(),其调用格式为
K=place(A,B,P)
状态反馈是将系统的状态变量乘以相应的反馈系数,然后反馈到输入端与参考输入叠加形成控制量,作为受控系统的输入,
实现闭环系统极点的任意配置,而且也是实现解耦和构成线性最优调节器的主要手段。
只要给定的系统是完全能控且能观的,则闭环系统的极点可以通过状态反馈矩阵的确定来任意配置。这个定理是用极点配置方法设计反馈矩阵的前提和依据。在单输入,单输出系统中,反馈矩阵有唯一解,且状态反馈不改变系统的零点。
三、实验设计与实现
1、搭建原系统的sumlink模型并观察其单位阶跃响应
原系统sumlink模型
原系统单位阶跃响应
由原系统单位阶跃响应可知系统不稳定
2、用极点配置法设计状态反馈控制器
○1利用matlab计算系统的状态空间模型的标准型>> a=[10];b=[1 5 6 0];[A B C D]=tf2ss(a,b)
A = -5 -6 0
1 0 0
0 1 0
B = 1
C = 0 0 10
D = 0
○2系统能控性矩阵
>> uc=ctrb(A,B)
uc = 1 -5 19
0 1 -5
0 0 1
>> rank(uc)
ans = 3
所以系统完全能控
○3系统能观型矩阵
>> vo=obsv(A,C)
vo = 0 0 10
0 10 0
10 0 0
>> rank(vo)
ans = 3
所以系统完全能观
所以可以用极点配置法设计状态反馈控制器○4求解系统反馈矩阵
>> p=[-3 -0.5+j -0.5-j];k=acker(A,B,p) k = -1.0000 -1.7500 3.7500
加入反馈后的系统闭环极点为:
>>sysnew=ss(A-B*k,B,C,D);pole(sysnew)
ans = -3.0000
-0.5000 + 1.0000i
-0.5000 - 1.0000i
○5搭建加入反馈控制器后系统的sumlink模型
○6观察新系统的单位阶跃响应
四、实验结果分析
加入反馈控制器后系统的闭环极点在,符合题目要求。所以实验结果为正确。
五、结论与讨论
这次实验做的是用MATLAB函数设计合适的状态变量反馈。首先老师让我们用手算的方法做了一遍,后来又用MATLAB算了一遍,得到了相同的结果,总之实验进行的很成功,这是最后一次实验了,这门实验课让我掌握了MATLAB的基本用法,收益很多。