收获

(1)理解根轨迹的概念及其在控制系统设计中的作用;

(2)手绘根轨迹草图,以及如何使用极端及绘制根轨迹;

(3)熟悉在反馈控制系统中应用广泛的关键部件:PID控制器;

(4)理解根轨迹在参数设计和系统灵敏度分析中的作用;

(5)能够利用根轨迹设计控制器,使系统满足预期的性能指标设计要求。

一. 基本概念

  1. 根轨迹

当一个参数变化时,闭环特征根在s平面上的变化轨迹称为系统的根轨迹。当系统有两个或两个以上参数变化时,可以用根轨迹法设计控制器,通过调整控制器参数来使闭环反馈控制系统达到预期的性能指标。

根轨迹是当系统的某个参数从0变化到+

时,闭环特征方程的根在s平面上的变化轨迹。

2. 根灵敏度

根灵敏度,用来衡量某个根最系统参数的微小变化的敏感性。

3. 表述形式

将闭环传递函数写成

的形式。满足的幅值条件
和相角条件

二. 基本知识回顾

  1. 手绘根轨迹的步骤和原则

(1)绘制根轨迹的准备工作

当K从0到

增加时,特征方程
的根轨迹起始于P(s)的极点,终止于P(s)的零点;

(2)确定实轴上的根轨迹段

实轴上的根轨迹段总是位于奇数个开环零点和极点的左侧。根轨迹分支的条数等于开环极点的个数。并且如果存在共轭复根,根轨迹的分支必然是关于实轴对称的。

(3)根轨迹沿渐近线趋向于无穷远处的开环零点,渐近线与实轴的交点为

,渐近线与实轴的交角为

(4)如果根轨迹与根轨迹通过虚轴,使用劳斯稳定判据来确定根轨迹与虚轴的交点

(5)确定实轴上的分离点(如果有)

根据相角条件,在分离点处,各条根轨迹分支的切线将均分360度。

(6)应用相角条件,确定根轨迹离开开环复极点的出射角和进入开环复零点的入射角。根轨迹离开开环复极点的出射角等于相角差的主值。该相角差等于各开环零点到该极点的向量的相角之和,减去其他开环极点到该极点的向量的相角之和,主值用

调整得到。

(7)根轨迹的完整绘制

2. 根轨迹用于多个参数的设计

如果能将系统的特征方程改写为

所示的标准形式,就能够利用前面的步骤来绘制根轨迹,仅为分析和设计控制系统。对于一个同时包含两个未知参数
的三阶特征方程为
.

为了考察参数

从0到
时对系统的影响,应该将特征方程改写为
,据此,可以首先研究
从0到
时对系统的影响
,进一步改写根轨迹方程为

即可以首先以

为可变参数的根轨迹,并确定合适的
值;然后再绘制
为可变参数的根轨迹,并最终确定
的取值。

3. 灵敏度与根轨迹

参数变化引起的影响可以用系统性能对参数变化的灵敏度来表示,曾经给出了最先由伯德(Bode)提出的对数灵敏度的定义,即

三. PID控制器

1.基本含义

PID的传递函数为

,该控制器传递函数的三个组成项分别是比例项、积分项、微分项。再将PID控制器的传递函数形式进行转换

其中,

,因此PID控制器实际上是对应着这样一类的传递函数:

在原点有一个极点,在s平面有两个可以任意配置位置的零点

PID控制器在工业生产过程中的应用非常广泛,其原因可以部分归结为PID控制器能够在相当广泛的工作条件下保持良好的工作性能;还可以部分归结为PID功能简单,便于使用。

2. PID参数整定

(1)试错法。

需要不断仿真或实际测试系统的阶跃响应,然后根据观察结果以及工程经验,来确定PID参数的合适取值。

(2)齐格勒-尼克尔斯参数整定方法

这种整定方法有多种变种,这里提示两类齐格勒-尼克尔斯参数整定方法,它们分别以系统开环阶跃响应和闭环阶跃响应为基础。

方法1 闭环齐格勒-尼克尔斯参数整定方法

首先令

,然后缓慢增大比例增益
的取值,直到闭环系统的输出出现振荡,即系统达到

临界稳定状态。在掌握了比例增益

的这个取值之后,再来减小
的取值,以使系统输出达到所谓的25%幅值衰减状态。也就是使闭环系统输出的幅值能够在一个振荡周期内减小到最大幅值的约25%(在临界稳定状态的一半附近的值)。接下来的步骤就是增大
的取值,以使闭环系统产生预期的阶跃响应。
三个参数对系统阶跃响应性能的影响效果

使用

在系统的闭环阶跃响应进入临界稳定,将此时的
的取值记为
,称为

终极增益,而此时的输出为持续振荡,将其周期记为

,即

终极周期,一旦确定了

,就可以利用下表来计算参数。
利用终极增益和终极周期的PID参数整定方法

方法2 开环齐格勒-尼克尔斯参数整定方法

这种方法在过程控制系统中的应用格外广泛,所依据的观测信息是响应曲线。这种方法的前提是受控对象(过程)近似为带有传输延迟的一阶系统。如果实际系统的响应曲线并非如此,就不能使用本方法,而需要选用其他PID整定方法。

依托于响应曲线中的传输时延

和响应速率
时延和响应速率设计的开环PID整定方法

注:这两种方法并不是总能使系统达到预期的闭环性能。


四. matlab分析根轨迹

需要使用的函数是rlocusrlocfindresidue,其中函数 rlocus、rlocfind 用于绘制和分析根轨迹,函数residue则用于求有理函数的部分分式展开式。

考虑一个闭环传递函数,它的闭环传递函数是

其特征方程为

其特征方程可以化简为

调用函数rlocus绘制根轨迹,必须要将特征方程写成这种形式,其中K为可变参数,变化范围为

1. rlocus的输入实际上是一种特定形式的开环传递函数


%                            K (s+1) %   The root locus for 1 + ------------ = 0  .%                          s(s+2)(s+3) %p=[1 1]; q=[1 5 6 0]; sys=tf(p,q);rlocus(sys);

从图中可以看出,开环传递函数的三个极点和一个零点。

当K增大时,有两条根轨迹分支从实轴上分离出来。这意味着,当K大于某个值后,闭环特征方程将有两个复根。如果想确定与特定的复根对应的增益K的取值,可以调用函数rlocfind。注只有在运行了函数rlocus并得到了根轨迹之后,才能调用函数rlocfind。


%                            K (s+1) %   The root locus for 1 + ------------ = 0, where the %                          s(s+2)(s+3) %%   rlocfind function is used to select a point on the locus.%p=[1 1]; q=[1 5 6 0]; sys=tf(p,q);rlocus(sys);rlocfind(sys)

运行之后,会在根轨迹上产生“+”标记,将标记移动到根轨迹上感兴趣的位置,就可以在命令行中显示所选闭环根的位置坐标以及对应的参数K的取值。

在根轨迹上选中点,可以得到的结果

2. 函数residue求解部分分式展开式

假设通过根轨选择了K=20.5775,代入到闭环传递函数中,可以得到

,闭环传递函数有三个极点和两个零点,分别是(

零极点近似相消

极点

,零点

为了验证闭环系统的极点s=-0.8989是否为主导极点,需要分析当输入信号为单位阶跃信号时,闭环系统的响应:

为了求解时域响应y(t),利用函数residue来进行部分分式展开式。

%   The partial fraction expansion of %%                 20.5775(s+1)(s+3) %   Y(s) =  ---------------------------  . %           s^2(s+2)(s+3)+20.5775s(s+1) %K=20.5775;num=K*[1 4 3]; den=[1 5 6+K K 0];[r,p,k]=residue(num,den)

分别对应

即得到的部分分式展开式为:

比较所得的,与复根极点对应的留数相比,实数极点对应的留数的幅值要小得多。由此可以知道,极点s=-0.8989并不能对输出响应y(t)产生主导性的影响。由负极点为

,相应的阻尼比
,固有频率为
,因此系统的调节时间可以近似为
%   The step response for %%                   20.5775(s^2+4s+3)%   T(s)  =     --------------------------  .%               s^3+5s^2+26.5775s+20.5775 %grid onK=20.5775;num=K*[1 4 3]; den=[1 5 6+K K]; sys=tf(num,den);step(sys)

在得到的响应中,右键选择characteristc,可以在图中显示相关的参数。

从图中可以看出调整时间为Ts = 1.6s 。与上述估计的值近似。

由此说明了一个道理:系统的零点会影响瞬态响应。由于零点s=-1和极点s=-0.8989非常的接 近,极点s=-0.8989 对数安泰响应的影响被明显削弱了,影响瞬态响应的主要因素变成了复极点和零点s = -3 。

3. 根灵敏度与根轨迹

根灵敏度可以近似为

%   Root sensitivity to a 5% change in K, where the %   characteristic equation is given by %  %               p(s) = s^3+5s^2+(6+K)s+K = 0%%   and the nominal value of K=20.5775.%K=20.5775; den=[1 5 6+K K]; r1=roots(den);dk=1.0289;Km=K+dk; denm=[1 5 6+Km Km]; r2=roots(denm);dr=r1-r2;S=dr/(dk/K)

实例中考虑了K 的相对变化量为 5%,当 K 从20.5775 增加到 21.6064 时,主导复极点s =-2.0505+j4.3228 相应的变化量为

,则可以得到
,如计算结果显示一致。

matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算相关推荐

  1. matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!

    话说宝刀君这几年给学弟学妹们辅导自控时,学弟学妹们面对根轨迹,经常是一脸懵逼. 常常是拿到题后,零极点都标出来了,法则也写出来了,但就是根轨迹画不出来. 有时好不容易画出来了,返回去和法则一对照,忍不 ...

  2. matlab求系统根轨迹代码_广州数控GSK RH06六轴焊接机器人的轨迹规划

    技术参数 运动范围 任务点位置 问题:如实现上图中的 运动轨迹(以基坐标系为参照),请给出相关的轨迹规划算法及其实现方式(结合运动学及动力学方程进行相关的轨迹点选取及工程实现),其中各个点的坐标为A= ...

  3. matlab求系统根轨迹和系统增益,控制系统的根轨迹分析

    一.根轨迹分析方法的概念 所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹.一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是 ...

  4. matlab怎么找出奇数个数_用MATLAB绘制系统根轨迹和性能分析

    用MATLAB绘制系统根轨迹和性能分析 一.练习目的 熟悉MATLAB用于控制系统中的一些基本编程语句和格式. 利用MATLAB语句绘制系统的根轨迹. 掌握用根轨迹分析系统性能的图解方法. 掌握系统参 ...

  5. matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹

    <实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...

  6. 自动控制原理PID参数整定的Matlab实现

      以一道题为例介绍调节PID控制器系数的方法,有:试凑法(Trial-and-Error Method).齐格勒-尼科尔斯校正规则(Ziegler and Nichols First Method. ...

  7. MATLAB虚拟动画显示球杆,球杆系统实验教程_球杆系统根轨迹代码matlab,球杆系统的状态反馈实验总结-软件测试工具类资源...

    基于球杆的控制系统分析与设计实验教程分析和系统的测定 前言 臼动控制珄论是自动控制及相关专业的必修专业基础课,自动控制理论实验是学习和掌 握控制系统分析和设计方法最有效的途径之 机电控制系统分析设计是 ...

  8. matlab系统函数伯德图,利用matlab画出根轨迹图|伯德图bode

    求G(s)=K/s(s+1)(s+3)的根轨迹图形 若开环传递函数不是多项式乘积形式,则不需用conv函数,conv函数可用于多项式乘法以及卷积. num=[1,];%分子上的各项系数 %K=[1:1 ...

  9. 用matlab如何画根轨迹图,MATLAB绘制根轨迹ppt课件

    <MATLAB绘制根轨迹ppt课件>由会员分享,可在线阅读,更多相关<MATLAB绘制根轨迹ppt课件(11页珍藏版)>请在人人文库网上搜索. 1.MATLAB绘制根轨迹,由传 ...

最新文章

  1. 崔巍 计算机考研怎么样,中国科学院大学研究生导师教师师资介绍简介-崔巍
  2. 多线程使用SO_REUSEPORT来实现多个socket监听同一个端口
  3. 使用gogit 设置 http 以及 ssh 协议
  4. STL中map的使用要点
  5. 新研究表明 深层神经网络的功能存在局限性
  6. python dataframe的某一列变为list_Python数据分析系列文章之Pandas(上)
  7. 计算机工作日志如何调取,怎样查找电脑日志?
  8. Max Core Frequency 异常显示为-1.80GHz -- Intel-Extreme-Tuning-Utility-Intel-XTU (英特尔 XTU)
  9. 985,211,双一流,34所,C9,国防七子,五虎四小龙,五院四系,东南西北中傻傻分不清
  10. 几何光学学习笔记(20)- 5.3视场光阑
  11. Appium +iOS 自动化测试全网最全教程(实践、总结 、踩坑)
  12. python xlsxwriter不覆盖写入_python学习-xlsxwriter模块
  13. 2018年又传喜报!热烈祝贺王家林大师大数据经典著作《Spark SQL大数据实例开发教程》 畅销书籍 出版上市!
  14. Linux date 命令使用
  15. jQuery MiniUI 快速入门:Hollo, world!(二)
  16. 【2016-2017】陪伴是最长情的告白
  17. mhdd中文说明完整版
  18. java 链表逆序 递归,java用递归和非递归实现链表逆序
  19. chrome浏览器版本98,本地设置cookie失败的解决方案
  20. Java POI Word 转 PDF

热门文章

  1. 奇怪吸引子---LuChen
  2. Objective-C基础教程学习笔记(九)内存管理
  3. java 网络传输中发送byte[]和接收到的不一致_为什么JAVA对象需要实现序列化?
  4. python怎么做q检验_统计学_Cochran’s Q Test(python代码实现)
  5. java table修改指定行_(变强、变秃)Java从零开始之JQuery购物车功能实操
  6. java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换
  7. 对话系统(三)- 优化方法
  8. matlab中if语句多个_科学计算 | MATLAB程序设计基础
  9. c语言坐标三角形判断,【C语言】判断三角形类型(示例代码)
  10. sklearn线性回归