matlab求系统根轨迹代码_根轨迹法、PID参数整定和matlab指令计算
收获
(1)理解根轨迹的概念及其在控制系统设计中的作用;
(2)手绘根轨迹草图,以及如何使用极端及绘制根轨迹;
(3)熟悉在反馈控制系统中应用广泛的关键部件:PID控制器;
(4)理解根轨迹在参数设计和系统灵敏度分析中的作用;
(5)能够利用根轨迹设计控制器,使系统满足预期的性能指标设计要求。
一. 基本概念
- 根轨迹
当一个参数变化时,闭环特征根在s平面上的变化轨迹称为系统的根轨迹。当系统有两个或两个以上参数变化时,可以用根轨迹法设计控制器,通过调整控制器参数来使闭环反馈控制系统达到预期的性能指标。
根轨迹是当系统的某个参数从0变化到+
2. 根灵敏度
根灵敏度,用来衡量某个根最系统参数的微小变化的敏感性。
3. 表述形式
将闭环传递函数写成
二. 基本知识回顾
- 手绘根轨迹的步骤和原则
(1)绘制根轨迹的准备工作
当K从0到
(2)确定实轴上的根轨迹段
实轴上的根轨迹段总是位于奇数个开环零点和极点的左侧。根轨迹分支的条数等于开环极点的个数。并且如果存在共轭复根,根轨迹的分支必然是关于实轴对称的。
(3)根轨迹沿渐近线趋向于无穷远处的开环零点,渐近线与实轴的交点为
(4)如果根轨迹与根轨迹通过虚轴,使用劳斯稳定判据来确定根轨迹与虚轴的交点
(5)确定实轴上的分离点(如果有)
根据相角条件,在分离点处,各条根轨迹分支的切线将均分360度。
(6)应用相角条件,确定根轨迹离开开环复极点的出射角和进入开环复零点的入射角。根轨迹离开开环复极点的出射角等于相角差的主值。该相角差等于各开环零点到该极点的向量的相角之和,减去其他开环极点到该极点的向量的相角之和,主值用
(7)根轨迹的完整绘制
2. 根轨迹用于多个参数的设计
如果能将系统的特征方程改写为
为了考察参数
即可以首先以
3. 灵敏度与根轨迹
参数变化引起的影响可以用系统性能对参数变化的灵敏度来表示,曾经给出了最先由伯德(Bode)提出的对数灵敏度的定义,即
三. PID控制器
1.基本含义
PID的传递函数为
其中,
在原点有一个极点,在s平面有两个可以任意配置位置的零点。
PID控制器在工业生产过程中的应用非常广泛,其原因可以部分归结为PID控制器能够在相当广泛的工作条件下保持良好的工作性能;还可以部分归结为PID功能简单,便于使用。
2. PID参数整定
(1)试错法。
需要不断仿真或实际测试系统的阶跃响应,然后根据观察结果以及工程经验,来确定PID参数的合适取值。
(2)齐格勒-尼克尔斯参数整定方法
这种整定方法有多种变种,这里提示两类齐格勒-尼克尔斯参数整定方法,它们分别以系统开环阶跃响应和闭环阶跃响应为基础。
方法1 闭环齐格勒-尼克尔斯参数整定方法
首先令
临界稳定状态。在掌握了比例增益
使用
终极增益,而此时的输出为持续振荡,将其周期记为
终极周期,一旦确定了
方法2 开环齐格勒-尼克尔斯参数整定方法
这种方法在过程控制系统中的应用格外广泛,所依据的观测信息是响应曲线。这种方法的前提是受控对象(过程)近似为带有传输延迟的一阶系统。如果实际系统的响应曲线并非如此,就不能使用本方法,而需要选用其他PID整定方法。
依托于响应曲线中的传输时延
注:这两种方法并不是总能使系统达到预期的闭环性能。
四. matlab分析根轨迹
需要使用的函数是rlocus、rlocfind 和 residue,其中函数 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指令计算相关推荐
- matlab求系统根轨迹代码_要想正确画出根轨迹,先搞清楚这8大法则再说!
话说宝刀君这几年给学弟学妹们辅导自控时,学弟学妹们面对根轨迹,经常是一脸懵逼. 常常是拿到题后,零极点都标出来了,法则也写出来了,但就是根轨迹画不出来. 有时好不容易画出来了,返回去和法则一对照,忍不 ...
- matlab求系统根轨迹代码_广州数控GSK RH06六轴焊接机器人的轨迹规划
技术参数 运动范围 任务点位置 问题:如实现上图中的 运动轨迹(以基坐标系为参照),请给出相关的轨迹规划算法及其实现方式(结合运动学及动力学方程进行相关的轨迹点选取及工程实现),其中各个点的坐标为A= ...
- matlab求系统根轨迹和系统增益,控制系统的根轨迹分析
一.根轨迹分析方法的概念 所谓根轨迹是指,当开环系统某一参数从零变到无穷大时,闭环系统特征方程的根在s平面上的轨迹.一般来说,这一参数选作开环系统的增益K,而在无零极点对消时,闭环系统特征方程的根就是 ...
- matlab怎么找出奇数个数_用MATLAB绘制系统根轨迹和性能分析
用MATLAB绘制系统根轨迹和性能分析 一.练习目的 熟悉MATLAB用于控制系统中的一些基本编程语句和格式. 利用MATLAB语句绘制系统的根轨迹. 掌握用根轨迹分析系统性能的图解方法. 掌握系统参 ...
- matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹
<实验五 利用MATLAB绘制系统根轨迹>由会员分享,可在线阅读,更多相关<实验五 利用MATLAB绘制系统根轨迹(6页珍藏版)>请在人人文库网上搜索. 1.实验五 利用MAT ...
- 自动控制原理PID参数整定的Matlab实现
以一道题为例介绍调节PID控制器系数的方法,有:试凑法(Trial-and-Error Method).齐格勒-尼科尔斯校正规则(Ziegler and Nichols First Method. ...
- MATLAB虚拟动画显示球杆,球杆系统实验教程_球杆系统根轨迹代码matlab,球杆系统的状态反馈实验总结-软件测试工具类资源...
基于球杆的控制系统分析与设计实验教程分析和系统的测定 前言 臼动控制珄论是自动控制及相关专业的必修专业基础课,自动控制理论实验是学习和掌 握控制系统分析和设计方法最有效的途径之 机电控制系统分析设计是 ...
- matlab系统函数伯德图,利用matlab画出根轨迹图|伯德图bode
求G(s)=K/s(s+1)(s+3)的根轨迹图形 若开环传递函数不是多项式乘积形式,则不需用conv函数,conv函数可用于多项式乘法以及卷积. num=[1,];%分子上的各项系数 %K=[1:1 ...
- 用matlab如何画根轨迹图,MATLAB绘制根轨迹ppt课件
<MATLAB绘制根轨迹ppt课件>由会员分享,可在线阅读,更多相关<MATLAB绘制根轨迹ppt课件(11页珍藏版)>请在人人文库网上搜索. 1.MATLAB绘制根轨迹,由传 ...
最新文章
- 崔巍 计算机考研怎么样,中国科学院大学研究生导师教师师资介绍简介-崔巍
- 多线程使用SO_REUSEPORT来实现多个socket监听同一个端口
- 使用gogit 设置 http 以及 ssh 协议
- STL中map的使用要点
- 新研究表明 深层神经网络的功能存在局限性
- python dataframe的某一列变为list_Python数据分析系列文章之Pandas(上)
- 计算机工作日志如何调取,怎样查找电脑日志?
- Max Core Frequency 异常显示为-1.80GHz -- Intel-Extreme-Tuning-Utility-Intel-XTU (英特尔 XTU)
- 985,211,双一流,34所,C9,国防七子,五虎四小龙,五院四系,东南西北中傻傻分不清
- 几何光学学习笔记(20)- 5.3视场光阑
- Appium +iOS 自动化测试全网最全教程(实践、总结 、踩坑)
- python xlsxwriter不覆盖写入_python学习-xlsxwriter模块
- 2018年又传喜报!热烈祝贺王家林大师大数据经典著作《Spark SQL大数据实例开发教程》 畅销书籍 出版上市!
- Linux date 命令使用
- jQuery MiniUI 快速入门:Hollo, world!(二)
- 【2016-2017】陪伴是最长情的告白
- mhdd中文说明完整版
- java 链表逆序 递归,java用递归和非递归实现链表逆序
- chrome浏览器版本98,本地设置cookie失败的解决方案
- Java POI Word 转 PDF
热门文章
- 奇怪吸引子---LuChen
- Objective-C基础教程学习笔记(九)内存管理
- java 网络传输中发送byte[]和接收到的不一致_为什么JAVA对象需要实现序列化?
- python怎么做q检验_统计学_Cochran’s Q Test(python代码实现)
- java table修改指定行_(变强、变秃)Java从零开始之JQuery购物车功能实操
- java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换
- 对话系统(三)- 优化方法
- matlab中if语句多个_科学计算 | MATLAB程序设计基础
- c语言坐标三角形判断,【C语言】判断三角形类型(示例代码)
- sklearn线性回归