状态反馈控制器的设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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的基本用法,收益很多。

相关文档
最新文档