第七节 控制系统工具箱2
- 格式:ppt
- 大小:666.50 KB
- 文档页数:38
控制系统的设计工具与方法:探讨控制系统的设计工具与方法的应用和实践引言控制系统的设计是现代工程领域的一个重要课题。
控制系统的设计涉及到从理论到实践的多个环节,需要掌握一系列设计工具和方法。
本文将探讨控制系统的设计工具与方法的应用和实践,并介绍其中常用的工具和方法。
I. 控制系统设计的基础知识在深入讨论控制系统的设计工具与方法之前,我们需要先了解一些基础知识。
控制系统是指能够实现对系统行为进行调节和控制的一系列设备和技术。
控制系统的设计目标是通过控制器对系统进行调节和控制,以实现期望的系统响应。
II. 控制系统的设计工具与方法控制系统的设计工具与方法是帮助工程师在控制系统设计过程中进行分析和决策的工具和方法。
下面将介绍其中常用的工具和方法。
A. 传递函数法传递函数法是一种常用的分析和设计控制系统的方法。
该方法将系统抽象为一个输入和输出之间的传递函数,通过对传递函数的分析和处理,可以得到系统的性能指标和控制器的设计要求。
B. 状态空间法状态空间法是一种描述和分析系统动态行为的方法。
该方法通过对系统状态进行建模,可以得到系统的状态方程和输出方程,并且可以对系统进行控制器的设计和性能分析。
C. PID控制器PID控制器是一种常用的控制器设计方法。
PID控制器可以根据系统的误差、误差变化率和误差积分值对系统进行调节和控制,是一种简单且有效的控制器设计方法。
D. 频域分析法频域分析法是一种通过对系统传递函数进行频谱分析的方法。
通过对系统的频率响应进行分析,可以得到系统的增益、相位和稳定性等指标,对系统进行性能分析和控制器设计。
E. 控制器调节方法控制器调节方法包括经典的Ziegler-Nichols调节方法、成熟的根轨迹设计法等。
这些方法既可以通过分析系统特性得到控制器参数,也可以通过实验和调试得到合适的参数。
III. 控制系统设计工具与方法的应用和实践控制系统设计工具与方法在实际工程中得到了广泛的应用和实践。
控制系统工具箱系统建模函数名称功能函数名称功能append 追加系统动态特性feedback 反馈系统连接augstate 变量状态作为输出ord2 产生二阶系统的a、b、c、d blkbuild 从方框图中构造状态空间系pade 时延的pade近似cloop 系统的闭环parallel 并行系统连接connect 方框图建模reg 从增益矩阵中形成连续控conv 两个多项式的卷积rmodel 产生随机连续模型destim 从增益矩阵中形成离散状态series 串行系统连接dreg 从增益矩阵中形成离散控制ssdelete 从模型中删除输入、输出或drmodel 产生随机离散模型ssselect 从大系统中选择子系统estim 从增益矩阵中形成连续状态模型变换c2d 变连续系统为离散系统ss2tf 变状态空间表示为传递函c2dm 利用指定方法变连续为离散ss2zp 变状态空间表示为零极点c2dt 带一延时变连续为离散系统tf2ss 变传递函数表示为状态空d2c 变离散为连续系统tf2zp 变传递函数表示为零极点d2cm 利用指定方法变离散为连续zp2tf 变零极点表示为传递函数poly 变根值表示为多项式表示zp2ss 变零极点表示为状态空间residue 部分分式展开模型简化balreal 平衡实现mineral 最小实现和零极点对消dbalreal 离散平衡实现modred 模型降阶dmodred 离散模型降阶模型实现canon 正则形式obsvf 可观阶梯形ctrbf 可控阶梯形ss2ss 采取相似变换模型特性covar 相对于白噪声的连续协方差eig 特征值和特征向量ctrb 可控性矩阵esort 按实部排序连续特征值damp 阻尼系数和固有频率gram 可控性和可观性dcgain 连续稳态(直流)增益obsv 可观性矩阵dcovar 相对于白噪声的离散协方差printsys 按格式显示系统ddamp 离散阻尼系数和固有频率roots 多项式之根ddcgain 离散稳态(直流)增益tzero 传递零点dgram 离散可控性和可观性tzero2 利用随机扰动法传递零点dsort 按幅值排序离散特征值时域响应dimpulse 离散时间单位冲击响应initial 连续时间零输入响应dinitial 离散时间零输入响应lsim 任意输入下的连续时间仿真dlsim 任意输入下的离散时间仿真ltitr 低级时间响应函数dstep 离散时间阶跃响应step 阶跃响应filter 单输入单输出z变换仿真stepfun 阶跃函数impulse 冲击响应频域响应bode bode(波特)图(频域响应)ltifr 低级频率响应函数dbode 离散bode图margin 增益和相位裕度dnichols 离散nichols图nichols nichols图dnyquist 离散nyquist图ngrid 画nichols图的栅格线dsigma 离散奇异值频域图nyquist nyquist图fbode 连续系统的快速bode图sigma 奇异值频域图freqs 拉普拉斯变换频率响应freqz z变换频率响应根轨迹pzmap 零极点图sgrid 在ωn,z网格上画连续根轨迹rlocfind 交互式地确定根轨迹增益zgrid 在ωn,z网格上画离散根轨迹rlocus 画根轨迹增益选择acker 单输入单输出极点配置lqe2 利用schur法设计线性二次估计器dlqe 离散线性二次估计器设计lqew 一般线性二次估计器设计dlqew 离散线性二次估计器设计lqr 线性二次调节器设计dlqr 离散线性二次调节器设计lqrd 基于连续函数的离散调节器设计dlqry 输出加权离散调节器设计lqry 输出加权的调节器设计lqe 线性二次估计器设计lqr2 利用schur法设计线性二次调节器lqed 基于连续代价函数的离散估计器place 极点配置方程求解are 代数riccati方程求解lyap 连续Lyapunov方程求解dlyap 离散Lyapunov方程求解lyap2 利用对角化求解Lyapunov方程。
Control System Toolbox设计和分析控制系统产品概览1:56Control System Toolbox™为系统地分析、设计和调节线性控制系统提供行业标准算法和工具。
您可以将您的系统指定为传递函数、状态空间、零极点增益或频率响应模型。
通过交互式工具和命令行函数(如阶跃响应图和波特图),您可以实现时域和频域中系统行为的可视化效果。
可以使用自动 PID 控制器调节、波特回路整形、根轨迹方法、LQR/LQG 设计及其他交互式和自动化方法来调节补偿器参数。
您可以通过校验上升时间、超调量、稳定时间、增益和相位裕度及其他要求来验证您的设计。
Control System ToolboxDesign and analyze control systemsProduct Overview1:56Control System Toolbox™ provides industry-standard algorithms and tools for systematically analyzing, designing, and tuning linear control systems. You can specify your system as a transfer function, state-space, pole-zero-gain, or frequency-response model. Interactive tools and command-line functions, such as step response plot and Bode plot, let you visualize system behavior in time domain and frequency domain. You can tune compensator parameters using automatic PID controller tuning, Bode loop shaping, root locus method, LQR/LQG design, and other interactive and automated techniques. You can validate your design by verifying rise time, overshoot, settling time, gain and phase margins, and other requirements.简介Control System Toolbox™ 为系统地分析、设计和调节线性控制系统提供行业标准算法和工具。
使用MATLAB控制系统工具箱辅助“自动控制原理”课程教学◊乐山师范学院物理与电子信息工程学院陈利群rrrrr 本文介绍了使用MATLAB的控制系统工具箱处理以传递函 2跟轨迹分析法中M A T L A B的作用数为主要特征的经典控制中的问题。
在教学中合理运用工具 对系统采用多种分析方法,让学生能够形象地体会抽象的控 制理论。
M A T L A B的控制系统工具箱对线性时不变(L T I)系统提供 可建模、分析和设计的一个完整的解决方案。
简而言之,有三 方面的功能。
其一,系统建模。
通过控制系统工具箱提供的函 数,可以方便地建立离散系统和连续系统的状态空间,传递函 数、零极点增益和频率响应模型,并可实现任意两种模型间的 转换,而且可以通过组合连接两种或多种系统,从而实现一个 复杂的系统模型。
其二,系统分析。
控制工具箱支持_〇、S I S O系统分析。
频率响应支持B o d e图、Nichols图、N y q u i s t图处 理。
其三,系统设计。
支持系统的可观、可控标准型实现;系 统最小实现;均衡实现;降阶实现以及输入延时的P a d e估计。
可以进行系统的极点配置,状态观察器的设计以及L Q和L Q G最 优控制。
软件功能丰富又强大,不但为工程设计者提供了完美 的工作平台,也为高校教师“自动控制原理”课程形象化教学 提供了实用的手段和方法。
1时域分析法中M A T L A B的作用经典控制论中的时域分析法可以很直观地得到响应的时域性能指标-Hl«值时间V超调量<7%、调节时间t及稳态误差e…。
例如,已知单位负反馈系统前向通道的传递函数为晰=4。
试分析其单位阶跃响应曲线与误差响应曲线。
其对应的闭环传函*$7^。
编程如下:num=80Den=[ 1 2 80]G=tf(num,den)Step(G)图i系统的阶跃响应软件在单位阶跃响应曲线的运行结果中(图1),自动标示 出相关时域指标参数一上升时间、峰值时间、调节时间及超调量。
八.控制系统工具箱系统常用的数学模型有:传递函数模型,状态方程模型,零极点增益模型,部分分式模型;(1) 传递函数描述系统在MATLAB 中可以方便地由分子和分母系数构成的两个向量唯一地确定出来,这两个向量分别用num 和den 表示。
num=[b1,b2,…,bm,bm+1]den=[a1,a2,…,an,an+1]调用格式:G=tf(num,den)注意:它们都是按s 的降幂进行排列的。
num=[12,24,0,20];den=[2 4 6 2 2];G=tf(num,den)num=4*conv([1,2],conv([1,6,6],[1,6,6]));den=conv([1,0],conv([1,1],conv([1,1],conv([1,1],[1,3,2,5]))));G=tf(num,den)(1)G.variable='p'Transfer function:4 p^5 + 56 p^4 + 288 p^3 + 672 p^2 + 720 p + 288-----------------------------------------------------p^7 + 6 p^6 + 14 p^5 + 21 p^4 + 24 p^3 + 17 p^2 + 5 pG.td=0.5Transfer function:4 p^5 + 56 p^4 + 288 p^3 + 672 p^2 + 720 p + 288exp(-0.5*p) * -----------------------------------------------------p^7 + 6 p^6 + 14 p^5 + 21 p^4 + 24 p^3 + 17 p^2 + 5 p(2)G=tf(num,den,'inputdelay',0.5)Transfer function:4 s^5 + 56 s^4 + 288 s^3 + 672 s^2 + 720 s + 288exp(-0.5*s) * -----------------------------------------------------s^7 + 6 s^6 + 14 s^5 + 21 s^4 + 24 s^3 + 17 s^2 + 5 s(3)set(G,'variable','s','Td',0.7)get(G)num: {[0 0 4 56 288 672 720 288]}den: {[1 6 14 21 24 17 5 0]}ioDelay: 0Variable: 's'Ts: 0InputDelay: 0.7OutputDelay: 0InputName: {''}22642202412)(23423++++++=s s s s s s s G )523()1()66)(2(4)(23322+++++++=s s s s s s s s s GOutputName: {''}InputGroup: [1x1 struct]OutputGroup: [1x1 struct]Name: ''Notes: {}UserData: [](2)零极点增益模型调用格式 G=zpk(z,p,k);结果是零极点形式的;函数tf2zp()可以用来求传递函数的零极点和增益:[z,p,k] = tf2zp(num,den)例 求零极点增益模型num=[1 11 30];den=[1 9 45 87 50];[z, p,k]=tf2zp(num,den);G=zpk(z,p,k)(3)部分分式展开 实际就是对residue 的应用 例 将tf 转化为部分分式的形式num=[2 0 9 1];den=[1 1 4 4 ];[r p k]=residue(num,den);[num den]=residue(r,p,k)num =2.0000 -0.0000 9.0000 1.0000den =1.0000 1.0000 4.0000 4.0000(4)状态空间描述B 的列数为输入的个数,C 的行数为输出的个数;D 的维数为C 的行*B 的列数 G=ss (A,B,C,D ); 例 可以看出: >> A=[1 6 9 10;3 12 6 8;4 7 9 11;5 12 13 14]; >> B=[4 6; 2 4; 2 2;1 0];>> C=[0 0 2 1;8 0 2 2]; >> D=zeros(2); >> G=ss(A,B,C,D)a =x1 x2 x3 x4x1 1 6 9 10x2 3 12 6 8x3 4 7 9 11x4 5 12 13 1450874593011)(23423++++++=s s s s s s s s G 44192)(233+++++=s s s s s s G DuCx y Bu Ax x+=+= x y u x x ⎥⎦⎤⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=22081200012242641413125119748612310961b =u1 u2x1 4 6x2 2 4x3 2 2x4 1 0c =x1 x2 x3 x4y1 0 0 2 1y2 8 0 2 2d =u1 u2y1 0 0y2 0 0Continuous-time model.>> G=tf(G) 得到四个传递函数;分别为11;12;21;21(5)模型之间的相互转换模型转换的函数包括:residue :传递函数模型与部分分式模型互换ss2tf : 状态空间模型转换为传递函数模型ss2zp : 状态空间模型转换为零极点增益模型tf2ss : 传递函数模型转换为状态空间模型tf2zp : 传递函数模型转换为零极点增益模型zp2ss : 零极点增益模型转换为状态空间模型zp2tf : 零极点增益模型转换为传递函数模型也就是tf ss zpk 之间可以相互转化;举例说明:1. 状态空间模型:(单输入,单输出) A=[0 1;1 -2];B=[0;1];C=[1 3];D=1; G=ss(A,B,C ,D); [num,den]=ss2tf(A,B,C,D,[1])[Z P K]=ss2zp(A,B,C,D,[1]);2. 单入三出的模型的传递函数如下:(这里的分子和分母是矩阵)61162)(61165)(61162)()()(23231232123111++++=+++--=+++-==s s s ss s G s s s s s G s s s s u s y s Gnum=[0 0 -2;0 -1 -5 ;1 2 0];den=[ 1 6 11 6];[A B C D]=tf2ss(num,den);[]u x y u x x +=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-=31102110>> g=tf(num,den)??? Error using ==> tf.tf at 239The values of the "num" and "den" properties must be rowvectors or cell arrays of row vectors, where each vectoris nonempty and containing numeric data. Type "ltipropstf" for more information.也就是tf 只能对行向量进行转化;可以直接G=ss(A,B,C,D);G=tf(G)生成多个传递函数3. 系统的零极点增益模型 )5)(2)(1()3(6)(++++=s s s s s G z=[-3];p=[-1 -2 -5];k=[6];g=zpk(z,p,k);[num,den]=zp2tf(z,p,k);[a,b,c,d]=zp2ss(z,p,k)4.模型的结构A 串联 G=G1*G2;B.并联G=G1+G1C.反馈G=feedback(G1,G2,SIGN);5.控制系统工具箱(控制系统的分析稳定性分析,时域分析,频域分析,根轨迹分析) LTI 对象有如下三种:ss 对象;tf 对象;zpk 对象;(1) 稳定性判据;判稳及找出是否为最小相角系统 例 a=[1 2 -1 2;2 6 3 0;4 7 -8 -5;7 2 1 6]; b=[-1;0 ;0;1]; c=[-2 5 6 1]; d=[7]; [z p k]=ss2zp(a,b,c,d); Ii=find(real(p)>0) %找出右半平面的极点下标,以列向量给出pzmap(p,z); %汇出系统的零极点图2.num=[3 16 41 28 ]; den=[1 14 110 528 1494 2117 112]; [z p k]=tf2zp(num,den);pzmap(p,z)(2) 时域分析求取系统单位阶跃响应:step()求取系统的脉冲响应:impulse() 本身就可以处理多输入,多输出的问题 求系统的稳态值 :dcgain(sys)Pole(G) zero(G) 以列向量形式返回极点和零点例101113220)(234++++=s s s s s G o 系统的开环传递函数,求单位反馈下的阶跃响应曲线。