第五课 线性系统的根轨迹法
- 格式:doc
- 大小:229.50 KB
- 文档页数:13
自动控制原理根轨迹法自动控制原理是现代工程技术中的重要分支,它涉及到机械、电子、计算机等多个领域。
而根轨迹法则是自动控制原理中的一种重要方法,它可以用来分析和设计控制系统,提高系统的稳定性和性能。
本文将从根轨迹法的基本原理、应用场景和优缺点三个方面进行介绍。
一、基本原理根轨迹法是一种基于极点和零点的控制系统分析方法。
在根轨迹图中,系统的极点和零点被表示为一条曲线,称为根轨迹。
根轨迹图可以用来分析系统的稳定性、响应速度和稳态误差等性能指标。
根轨迹法的基本原理是通过改变系统的参数,使得根轨迹图在复平面上移动,从而实现对系统性能的优化。
二、应用场景根轨迹法可以应用于各种控制系统的设计和分析中。
例如,在电机控制系统中,根轨迹法可以用来分析电机的转速响应和负载扰动对系统的影响。
在飞行控制系统中,根轨迹法可以用来设计飞机的自动驾驶系统,提高飞机的稳定性和飞行性能。
在机器人控制系统中,根轨迹法可以用来设计机器人的运动控制系统,实现机器人的精确控制和运动规划。
三、优缺点根轨迹法的优点是可以直观地表示系统的稳定性和性能指标,便于工程师进行控制系统的设计和分析。
此外,根轨迹法还可以用来分析系统的鲁棒性和鲁棒稳定性,提高系统的抗干扰能力和鲁棒性。
但是,根轨迹法也存在一些缺点,例如对于高阶系统,根轨迹法的计算复杂度较高,需要使用计算机进行计算。
此外,根轨迹法也无法处理非线性系统和时变系统,需要使用其他方法进行分析和设计。
总之,根轨迹法是自动控制原理中的一种重要方法,可以用来分析和设计各种控制系统。
在实际工程中,工程师需要根据具体的应用场景和系统要求,选择合适的控制方法和算法,实现对系统的优化和控制。
线性系统的根轨迹法实验报告实验二线性系统的根轨迹法一,实验目的1,掌握matlab绘制根轨迹的方法。
2,观察k值变化对系统稳定性的影响。
3,掌握系统临界稳定情况下k值得求取。
4,了解增设零点对系统稳定的影响以及改善系统稳定性的方法。
二,实验原理根轨迹的概念:所谓根轨迹就是当开环系统某一参数从零变到无穷大时,闭环系统特征方程式的根在s平面上变化的轨迹。
根轨迹与系统性能:有了根轨迹就可以分析系统的各种性能了,稳定性的判定,当开环增益从零变到无穷大时,根轨迹不会越过虚轴进入s平面的右半平面,此时K的范围为系统稳定的范围,根轨迹与虚轴的交点处的K值,为系统的临界开环增益,开根轨迹进入s平面的右半平面时所对应的K值为系统不稳定的情况。
三,实验内容A、设单位负反馈系统的开环传递函数为G(s)=K/(s*(s+1)(s+5)) (1) 绘制系统的根轨迹,并将手工绘制结果与实验绘制结果比较; (2) 从实验结果上观察系统稳定的K 值范围;(3) 用simulink 环境观察系统临界稳定时的单位阶跃响应分析:绘制根轨迹的matlab文本为clfnum=1;den=conv([1 1 0],[1 5]); rlocus(num,den) %绘制系统根轨迹1,得到如图的根轨迹图:2,用鼠标点击根轨迹与虚轴处的交点可得到临界稳定的开环增益K=30,所以系统稳定的K值范围为0―30。
3,在simulink环境下按下图连接电路:取增益为30的时候在示波器下观察单位节约响应,输出波形为:由图可以看出单位阶跃响应的输出为等幅的震荡输出,所以此时系统为临界稳定状态。
当改变开环增益为50和20时观察示波器,得到输出波形分别为:由图可知当增益K为50时输出为不稳定的震荡输出,此时系统不稳定,当增益K为20时输出的波形震荡越来越缓慢,最后趋于稳定,所以此时的系统是稳定的。
B,设单位反馈控制系统的开环传递函数为G(S)=K(s+3)/s(s+1)(s+2)(1) 仿照上题绘制系统的根轨迹,并判断系统的稳定性; 参照第一题得到matlab命令文本为:clfnum=1;den=conv([1 1 0],[1 2]); rlocus(num,den) %绘制系统根轨迹得到如图的根轨迹图:1,由图可知根轨迹没有进入s平面右半平面,所以系统在K=0到K=?都是稳定的。
信号分析与控制Signal Analysis and Control实验报告MATLAB仿真实验5线性系统的根轨迹导师:团队成员:电脑序号12&172020.12.11一、实验目的1. 熟悉MATLAB用于控制系统中的一些基本编程语句和格式。
2. 利用MATLAB语句绘制系统的根轨迹。
3. 掌握用根轨迹分析系统性能的图解方法。
4. 掌握系统参数变化对特征根位置的影响。
二、基础知识及MATLAB函数根轨迹是指系统的某一参数从零变到无穷大时,特征方程的根在s平面上的变化轨迹。
这个参数一般选为开环系统的增益K。
课本中介绍的手工绘制根轨迹的方法,只能绘制根轨迹草图。
而用MATLAB可以方便地绘制精确的根轨迹图,并可观测参数变化对特征根位置的影响。
假设系统的对象模型可以表示为11210111()()m mm mn nn nb s b s b s bG s KG s Ks a s b s a-+--++++==++++系统的闭环特征方程可以写成1()0KG s+=对每一个K的取值,我们可以得到一组系统的闭环极点。
如果我们改变K的数值,则可以得到一系列这样的极点集合。
若将这些K的取值下得出的极点位置按照各个分支连接起来,则可以得到一些描述系统闭环位置的曲线,这些曲线又称为系统的根轨迹。
绘制系统的根轨迹rlocus()MATLAB中绘制根轨迹的函数调用格式为:rlocus(num,den) 开环增益k的范围自动设定。
rlocus(num,den,k) 开环增益k的范围人工设定。
rlocus(p,z) 依据开环零极点绘制根轨迹。
r=rlocus(num,den) 不作图,返回闭环根矩阵。
[r,k]=rlocus(num,den) 不作图,返回闭环根矩阵r和对应的开环增益向量k。
其中,num,den分别为系统开环传递函数的分子、分母多项式系数,按s的降幂排列。
K为根轨迹增益,可设定增益范围。
例5-1:已知系统的开环传递函数32(1)()429sG s Ks s s*+=+++,绘制系统的根轨迹的matlab 的调用语句如下:num=[1 1]; %定义分子多项式den=[1 4 2 9]; %定义分母多项式rlocus (num,den) %绘制系统的根轨迹grid %画网格标度线xlabel('Real Axis'),ylabel('Imaginary Axis') %给坐标轴加上说明title('Root Locus') %给图形加上标题名则该系统的根轨迹如图5-1(a)所示。
实验报告
实验名称线性系统的根轨迹分析方法课程名称
然后加入开环零点:
图中依次加入的开环零点为: -0.8 -0.6 -0.3 -0.1 0.1 0.3 0.6 0.8 1
上图为未增加零点是的根轨迹图,下图为增加了开环零点的根轨迹图
上图在原系统的基础上加入了开环零点-0.7,下图在增加了开环零点
从之前的实验可以知道,加入开环极点可能会使主导极点发生改变系统造成影响。
所用程序如下:
clc;clear all;
z=[-0.7];p=[-0.2 -0.5 -1];k=[1];sys=zpk(z,p,k);
rlocus(sys);znew=[-1.5 -0.4 0 0.3 ];figure;
新增极点为-0.8 -0.6 -0.3 -0.1 0.1 0.3 0.6 0.8 1
代码如下:
clc;clear all;
zp=[-0.8 -0.6 -0.3 -0.1 0.1 0.3 0.6 0.8 1];
i=1:9
可以得到如下结论:
a)随着增加的开环极点不断往右移动的过程中,系统的根轨迹图总体上也在
往右移动,这会使系统的稳定性变差。
当加入极点在虚轴左边时,系统的根轨迹未进入不稳定区域。
可以认为加入一个极点对系统稳定性影响不大。
b)增加开环极点可能使系统的主导极点改变,从而影响系统的动态性能。
可以发现矫正环节使根轨迹发生变化,达到了要求。
查看工作空间可看出误差:
22
13sin(10+arctan 3)+8.02
,其大于,不满足要求。
4,重复上述过程40.08sin(4arctan ≈+
第页共页。
实验报告图2-1(2)利用MATLAB的rlocfind指令,确定根轨迹的分离点、根轨迹与虚轴的交点。
(要求写出指令,并给出结果。
)MATLAB程序指令:G=tf([1 2],[1 8 26 40 25])sys=feedback(G,1)rlocus(sys)rlocfind(sys)图2-2由图2-2所示,根轨迹的分离点处为-2.62,根轨迹与虚轴的交点处,w=3.59。
(3)利用MATLAB的rlocfind指令,求出系统临界稳定增益,并用指令验证系统的稳定性。
MATLAB程序指令:num=[1 2]den=[1 8 26 40 25]G=tf(num,den)k=0:0.05:200rlocus(G,k)图2-3由程序的运行结果可得,系统的临界稳定增益k= 72.5627验证系统的稳定性,可取临界稳定增益k= 72并通过时域分析验证,MATLAB指令如下:k=72t=0:0.05:10G0=feedback(tf(k*num,den),1)step(G0,t)图2-4由图2-4可见,在k=72时因为极点距虚轴很近,震荡已经很大。
(4)利用SISOTOOL交互界面,获取和记录根轨迹分离点、根轨迹与虚轴的交点处的关键参数,并与前面所得的结果进行校对验证。
(要求写出记录值,并给出说明。
)MATLAB程序指令:G=tf([1 2],[1 8 26 40 25])rltool(G)图2-5通过点击图2-5中的小红方块,可得根轨迹的分离点为-2.57,根轨迹与虚轴的交点处w=3.8。
(5)在SISOTOOL界面上,打开闭环的阶跃响应界面,然后用鼠标使闭环极点(小红方块)从开环极点开始沿根轨迹不断移动,在观察三个闭环极点运动趋向的同时,注意观察系统阶跃响应的变化。
根据观察,(A)写出响应中出现衰减振荡分量时的K的取值范围,(B)写出该响应曲线呈现“欠阻尼”振荡型时的K的取值范围。
MATLAB程序指令:G=tf([1 2],[1 8 26 40 25])rltool(G)图2-6图2-7(A )响应中出现衰减振荡分量时的K 的取值范围071.3k <≤(B )写出该响应曲线呈现“欠阻尼”振荡型时的K 的取值范围071.3k <≤(6) 添加零点或极点对系统性能的影响,以二阶系统为例开环传递函数)6.0(1)(2s s s G +=添加零点,增加系统阻尼数,超调量减小,在sisotool 界面上做仿真,写出未添加零点时系统的超调量,峰值,调节时间,添加零点后系统的超调量,峰值,调节时间,并写出系统添加零点的数值,并进行理论分析。
第五课 线性系统的根轨迹法
教学目的:
1.熟练掌握使用MATLAB 绘制根轨迹图形的方法。
2.进一步加深对根轨迹图的了解。
3.掌握利用所绘制根轨迹图形分析系统性能的方法。
教学内容:
1.用实验的方法求解根轨迹。
在Matlab 控制系统工具箱中提供了rlocus()函数,来绘制根轨迹,rlocus()的调用格式为:
r=rlocus(g,k);
式中的g 为线性系统的数学模型;k 为用户自己选择的增益向量;返回的变量r 为根轨迹上对应向量k 的各个增益点的闭环系统的根。
如果用户不给出k 向量,则该函数会自动选择增益向量,在这种情况下,该函数的调用格式为:
[r,k]=rlocus(g);
式中向量k 为自动生成的增益向量,r 仍为对应各个k 值的闭环系统的特征根。
例1 系统1的开环传递函数为:)
15.0)(12.0()(++=s s s K
s G K
要求:(1)绘制并记录根轨迹;
(2)确定根轨迹的分离点与相应的根轨迹增益; (3)确定临界稳定时的根轨迹增益。
(1)参考程序: K=1; z=[];
p=[0,-5,-2];
[num,den]=zp2tf(z,p,K);
rlocus(num,den)
Matlab运行时出现的根轨迹图形窗口中,可以用鼠标单击所关心的根轨迹上的点,就出现有关这一点的信息,包括相应增益、极点位置、阻尼参数、超调量、自然频率。
例2系统开环传递函数)2()(2
n n
s s K s G ςωω+=中引入一个附加的极点s=-a ,即系统的
开环传递函数变为)
)(2()(2
a s s s Ka s G n n
++=ςωω
给出5.0,/2==ςωs rad n ,a 分别为1,3,5时系统的根轨迹变化曲线。
参考程序: clear clc wn=2; xita=0.5; a=[1,3,5]; for i=1:length(a)
G=tf(a(i)*wn^2,conv([1,2*xita*wn,0],[1,a(i)])); rlocus(G); axis([-8,5,-5,5]) hold on
disp('press any key to continue.') pause%系统暂停,按任意键继续 end
结论:从以上三图可以看出,引入负实极点后,系统的根轨迹左移;随着引入极点远离虚轴,根轨迹左移得越多,系统越容易稳定。
例3 观察上例中引入一个附加零点s=-b ,b=[1,3,5]时,系统的根轨迹的变化情况。
即系统的开环传递函数为)2(/)()(2
n n s s b b s K s G ςωω++=
参考程序: clear clc wn=2; xita=0.5;
b=[1,3,5];
for i=1:3
G=tf(wn^2*[1,b(i)]/b(i),[1,2*xita*wn,0]);
rlocus(G);
disp('press any key to continue.')
pause
hold on
end
结论:当引入的零点处于原系统两个极点之间,即b=1时,则系统的根轨迹全在实轴上;当当引入的零点处于原系统两个极点左侧时,则系统的根轨迹中有一部分形成原形。
无论形成的是圆还是圆弧,都是以零点为圆心,以零点到分离点的距离为半径。
(2) 确定分离点与相应的根轨迹增益
控制系统工具箱中还提供了rlocfind()函数,该函数允许用户求取根轨迹上指定点处的开环增益,并将该增益值下所有的闭环极点显示出来。
[K,r]=rlocfind(num,den)
例4 假设系统的开环传递函数为)
10)(2()(++=
s s s K
s G
当K 从0变化到无穷时,系统的根轨迹可以通过以下的语句来给出。
参考程序: clf
GH=tf(1,conv([1,2,0],[1,10])); rlocus(GH); [K,P]=rlocfind(GH)
选中根轨迹与虚轴的交点,则交点处的增益及对应的闭环特征根就显示出来。
>> Select a point in the graphics window
selected_point =
-0.0000 + 4.1615i
K =
208.1156
P =
-11.7998
-0.1001 + 4.1985i
-0.1001 - 4.1985i
结论:由以上结论可以看出当K=208.1156时,闭环的三个极点分别为:-11.7998,-0.1001 + 4.1985i,-0.1001 - 4.1985i。
-11.7998与其它两个极点相比,距虚轴距离较远,为非主导极点,其它两个极点为主导极点,则该系统可降阶为二阶系统。
因此系统的阶跃响应应为振荡收敛的形式。
结论可用以下指令验证。
GH=tf(K,conv([1,2,0],[1,10]));
sys1=feedback(GH,1)
step(sys1)
请同学们用以上方法再验证根轨迹上以下的几个特殊点的阶跃响应曲线:
a.根轨迹与虚轴的交点。
b.根轨迹上的分离点。
c.右半平面上的点。
(3)根轨迹的实际应用范例
例5设控制系统2如图所示,其中Gc(s)为改善系统性能而加入的校正装置。
若
Gc(s)可从s
K
t 、2s
K
a
、
20
2
+
s
s
K
a三种传递函数中任选一种,分别作出相应的根轨
迹曲线,分析说明应选择哪一种校正装置。
参考程序:
s=tf('s');
Kt=1;
Ka=1;
%建立校正装置Gc1,Gc2,Gc3的数学模型
Gc1=tf(Kt*s);
Gc2=tf(Ka*s^2);
Gc3=tf(Ka*s^2/(s+20));
%建立Go(s)的数学模型
Go=tf(10*(s+20)/(s^3+30*s^2+200*s+1000)); %建立校正后的系统模型
Gopen1=tf(Gc1*Go);
Gopen2=tf(Gc2*Go);
Gopen3=tf(10*Gc2/(s^3+30*s^2+200*s+1000)); Gopen=[Gopen1,Gopen2,Gopen3]
for i=1:3
figure(i)
rlocus(Gopen(i))
end
结论:可见,加入校正装置后改变了系统闭环极点的分布。
由根轨迹图可知,加第一种装置后,适当选择K ,可使系统闭环阻尼为0.707,达到最佳工程阻尼比。
(4)根轨迹设计器的使用
Matlab 控制系统工具箱里有一个根轨迹分析与设计的工具Rltool ,在这个工具中,既可以分析系统根轨迹,也能对系统进行设计。
特别是在被控对象前向通道内以设计零、极点方法来设计控制器时,该工具可以不断观察系统根轨迹响应曲线的变化,看是否满足性能要求。
例6 已知系统开环的传递函数为:)
10(1
)(2+=
s s s G
试用根轨迹设计器对系统进行补偿设计,使系统单位阶跃给定响应一次超调即衰减,并在根轨迹设计器观察根轨迹图与Bode 图,以及系统阶跃给定响应曲线。
参考程序:
n1=[1];
d1=conv(conv([1,0],[1,0]),[1,10]);
sys=tf(n1,d1);
rltool(sys)
运行程序后,系统自动打开根轨迹设计器:
从图中可见,根轨迹位于S平面右半平面,系统不稳定,需要进行补偿校正。
点击[Current Compensator]输入框,打开以下对话窗口:
在窗口中输入C的增益为60,引入一个附加负实数零点(-1.59),系统根轨迹如下图所示。
打开主菜单中的[View][Root Locus][Open-Loop Bode]则窗口中同时出现有根轨迹图和Bode图。
从Bode图可以看出,补偿校正后的系统是一个稳定的系统,其频域性能指标优良。
选中主菜单项[Analysis][Response to Step Command],画出系统单位阶跃响应曲线:
从响应曲线上看,系统的单位阶跃响应的超调量约为30%,并且一次超调后就衰减到稳态值。
实验内容:
系统1的开环传递函数为:)
102.0)(101.0()(++=
s s s K s G K 要求:(1)绘制并记录根轨迹;
(2)确定根轨迹的分离点与相应的根轨迹增益;
(3)确定临界稳定时的根轨迹增益。