《伺服驱动与控制建模与Matlab仿真分析.ppt》由会员分享,可在线阅读,更多相关《伺服驱动与控制建模与Matlab仿真分析.ppt(51页珍藏版)》请在三一办公上搜索。
1、第六章 运动控制系统建模与Matlab仿真分析,主要内容,一、运动控制系统建模二、Matlab功能简介三、基于Matlab的控制系统分析与设计方法,一、运动控制系统建模,1.1 模型分类1.2 建模基本方法 机理模型 统计模型(1)频率响应(2)系统辨识,(1)物理模型:采用实物作为模型,可以按比例搭建;(2)数学模型:以数学公式作为仿真对象;(3)混合模型:既有物理模型也有数学模型。,1.1 模型分类,1.2.1 机理模型法(1)定义:采用由一般到特殊的推理演绎方法,对已知结构、参数的物理系统,运用相应的定律或定理,经过合理分析简化而建立起来的描述系统各物理量动、静态变化性能的数学模型。主要
2、通过理论分析推导建立数学模型,常用到的理论知识包括:物质不灭定律、能量守恒定律、牛顿第二定律、基尔霍夫定律等。提取主要因素、忽略次要因素。抓住对系统模型具有决定性影响的物理量及相互关系,舍弃次要。注意系统的线性化。通过合理简化将非线性因素近似为线性系统。,1.2 建模基本方法,(2)机理建模实例 一阶倒立摆,一阶倒立摆结构原理图,1)摆杆绕其重心的转动方程为,2)摆杆重心的水平运动可能描述为,3)摆杆中心在垂直方向上的运动可描述为,4)小车水平方向运动可描述为,运动学与动力学分析建模:,精确模型:,若只考虑在工作点附近 附近,双37高炮,(2)机理建模实例 高炮炮塔随动系统,微分方程(建模),
3、拉氏变换(代数),稳定性分析,系统性能分析,PID控制器,闭环传函,(2)机理建模实例 高炮炮塔随动系统,系统框图,开环传函,1.2.2 统计模型法定义:采用由特殊到一般的逻辑、归纳方法,根据一定数量在系统运行过程中实测、观察的物理量数据,运用统计规律、系统辨识等理论合理估计出反映系统各物理量相互制约关系的数学模型。由于其主要依据来自实测数据,又称为实验测定法。常用于黑箱或灰箱问题,根据测得的系统输入、输出数据来建立实际系统的数学描述。,1.2 建模基本方法,激励信号的选择:白噪声白噪声是指在较宽的频率范围内,各相同带宽频带所含的噪声能量相等的噪声。伪随机信号近似的白噪声正弦扫频信号多频正弦信
4、号组合chirp信号,统计模型法 频率特性法,(1)由已知数据绘制该系统开环频率响应bode图,(2)用20dB/dec及其倍数的折线逼近幅频特性,得到两个转折频率,相应的惯性环节时间常数为,(3)由低频幅频特性可知,频率特性法建模实例,(4)由高频段相频特性知,该系统存在纯滞后环节,系统的开环传递函数应为以下形式,(5)确定纯滞后时间,再查图中,(6)最终求得该系统的开环传递函数模型G(s)为,频率特性法建模实例,系统辨识方法是现代控制理论中常用的方法,可根据系统的输入输出响应估计系统的动态模型。响应信号包括:频率响应、阶跃响应、伪随机响应、白噪声响应等。下图为系统辨识原理框图。,统计模型法
5、 系统辨识法,系统辨识的方法有许多种,这里主要讲述两种:Levy法和ARX法。,(1)Levy法对连续系统的模型进行辨识,Levy法源于Levy提出的对复数曲线进行拟合的一种方法 Complex-curve fitting J,IRE transactions on AC,1959.,假设对象的传递函数为:,为待定系数,通过实验可以获取对象的频率响应特性,其中i为采样点,,为采样点处的幅值与相位,问题:如何确定待定系数?,从幅频特性的角度考虑所假定的对象传递函数,则有:,(1)Levy法对连续系统的模型进行辨识,定义如下优化目标函数,以求最优的,通过求解上述多元一次方程组,就可以得到最优的待定
6、系数,(1)Levy法对连续系统的模型进行辨识,Matlab中,提供了相应的工具,可以辨识连续系统的数学模型。,num,den=invfreqs(H,w,r,m),H为通过实验数据获取的系统的频率响应数据,其格式为P-jQw为实验中所对应的频率点,为角频率r为期望的对象模型分子的阶次,需要通过先验知识确定m为期望的对象模型分母的阶次,需要通过先验知识确定num为辨识出的对象模型的分子多项式系数den为辨识出的对象模型的分母多项式系数,(2)Levy法对连续系统的模型进行辨识,例:假设实际对象模型:,根据对象模型计算出频域响应数据,(1)Levy法对连续系统的模型进行辨识,调用B,A=invfr
7、eqs(H,w,3,4);G1=tf(B,A),可得:,通过对比可知,其精度不高!,(1)Levy法对连续系统的模型进行辨识,(2)ARX法对离散系统的模型进行辨识,一般离散系统的传递函数可写为:,它对应的差分方程为:,ARX模型辨识法就是通过辨识上述差分方程的系数而获取对象模型的。,上述差分方程的形式又被称作ARX(自回归遍历)模型。,假设已知一组对象的输入输出数据,根据ARX模型可得:,目标:找出一组,,使得,最小,(2)ARX法对离散系统的模型进行辨识,定义如下的优化指标,上述系数的获取是通过使残差平方和最小而获得的,又被称作最小二乘法。,(2)ARX法对离散系统的模型进行辨识,Matl
8、ab中,提供了相应的工具,可以辨识离散系统的数学模型。,T=arx(y,u,m,n,d),y为对象的输出向量u为对象的输入向量m为期望的对象模型分子的阶次,需要通过先验知识确定n为期望的对象模型分母的阶次,需要通过先验知识确定d为期望的对象的纯滞后时间,需要通过先验知识确定T.A为辨识出的对象模型的分子多项式系数T.B为辨识出的对象模型的分母多项式系数,(2)ARX法对离散系统的模型进行辨识,例:实际对象模型,根据对象模型得到的响应数据,(2)ARX法对离散系统的模型进行辨识,调用T=arx(y,u,4,4,1);G=tf(T),可得:,通过对比可知,其精度较高,(2)ARX法对离散系统的模型
9、进行辨识,二、Matlab功能简介,m函数 图形绘制功能 Simulink简介 S函数 Real-Time-Workshop&dSPACE m文件与Simulink程序的混合编程 Matlab工具箱 面向对象编程与GUI,二、Matlab功能简介m函数,矩阵运算程序流程控制分支结构If语句Switch语句循环结构For 循环While循环Break和Continue数据的输入与输出 save,load,*.mat,二、Matlab功能简介-图形绘制功能,二维图形plot(x,y,)三维图形plot3(),mesh(x,y,z),surf(x,y,z)基本设置函数axis,text,ylabel
10、,title,legend,参考书目:Matlab原理与工程应用,二、Matlab功能简介-Simulink,参考书目:Simulink-Dynamic System Simulation for MATLAB,二、Matlab功能简介-S函数,实例:ADRC的S函数实现ADRC:参考书目:Writing S-Functions,by the Mathworks,二、Matlab功能简介-RTW&dSPACE,利用上述系统,可以完成从系统建模、分析、离线仿真直到在线实验的全过程,可使开发人员全神贯注于控制方案的构思而不必再在琐碎的杂务上花费相当多的时间,从而可以大大缩短开发周期。目前已经成为进
11、行快速控制原型验证和半实物仿真的首选实时平台。,Real-Time-Workshop&dSPACE,Matlab的Real-Time-Workshop(RTW)可以用来从Simulink方框图编译生成 C 代码dSPACE是由德国dSPACE公司开发的一套基于Matlab/Simulink的控制系统开发及半实物仿真的软硬件工作平台,实现了和Matlab/Simulink/RTW的完全无缝连接。优点:实时性强,可靠性高,扩充性好。dSPACE硬件系统中的处理器具有高速的计算能力,配备了丰富的I/O支持,可以根据需要进行组合;软件环境的功能强大,使用方便,包括实现代码自动生成/下载和试验/调试的整
12、套工具。,m文件与Simulink程序的混合编程,sim(ISU4_8,0,Period,simset(MaxStep,Period/1000);load(dataISU4.mat,yisu);set_param(ISU4_8/Transfer Fcn,Numerator,num1,Denominator,den1);,二、Matlab功能简介-Matlab工具箱,Control System ToolboxSystem Identification ToolboxMulti-Parametric Toolbox,二、Matlab功能简介-面向对象编程与GUI,参考书目:A Guide to
13、MATLAB:Object-Oriented ProgrammingGraphics and GUIs with MATLAB,矩阵A所有特征根具有负的实部,有界,系统的极点全部在左半平面,判断准则,间接方法 Routh判据 Hurwitz判据 Lyapunov判据,matlab工具 eig(G)pzmap(G),稳定性分析,三、基于Matlab的控制系统分析,构造矩阵,Matlab工具:Tc=ctrb(A,B)r=rank(Tc),如果矩阵Tc满秩,则系统完全可控,其秩为系统可控状态的个数。,可控可观性分析,构造矩阵,Matlab工具:To=obsv(A,C)r=rank(To),如果矩阵T
14、o满秩,则系统完全可观,其秩为系统可观状态的个数。,三、基于Matlab的控制系统分析,y,t=step(G)自动选择时间向量对阶跃响应进行分析y,t=step(G,tf)设置系统的终止时间,对阶跃响应进行分析y=step(G,t)用户自己设置时间向量,对阶跃响应进行分析step(G1,-g,G2,-.b,G3,:r)在同一图像窗口绘制多个系统的响应曲线,可设置它们的线型与颜色,线性系统阶跃响应分析,三、基于Matlab的控制系统分析,例1:已知系统传函,G=zpk(-1,-2,-3,-3.5,-5,-4,-1-j,-1+j,8,ioDelay,2),step(G)step(G,10)step
15、(G,:r,10),三、基于Matlab的控制系统分析,通过窗口图形对曲线进行编辑、数据分析,三、基于Matlab的控制系统分析,y,x=impulse(sys)自动选择时间向量对脉冲响应进行分析y,x=impulse(sys,tf)设置系统的终止时间,对脉冲响应进行分析y=impulse(sys,t)用户自己设置时间向量,对脉冲响应进行分析step(sys1,-g,sys2,-.b,sys3,:r)在同一图像窗口绘制多个系统的响应曲线,可设置它们的线型与颜色,线性系统脉冲响应分析,三、基于Matlab的控制系统分析,例:已知系统传函,三、基于Matlab的控制系统分析,lism(sys,iu
16、,t,x0)y,x=lism(sys,iu,t,x0)sys:系统数学描述iu:输入向量t:时间向量X0:初始状态,线性系统任意输入响应分析,三、基于Matlab的控制系统分析,三、基于Matlab的控制系统分析,(1)零极点图绘制 pzmap(sys)极点用表示,零点用o表示 H=tf(2,5,1,1,2,3);pzmap(H),根轨迹分析,三、基于Matlab的控制系统分析,(2)r=rlocus(sys,k)r,k=rlocus(sys),根轨迹分析,三、基于Matlab的控制系统分析,(1)bode(num,den)mag,phase,w=bode(num,den)mag,phase=
17、bode(num,den,w),频率特性响应分析,bode(1.5,1 3 2 1),三、基于Matlab的控制系统分析,margin()函数,根据频率响应数据计算幅值和相角裕度margin(sys)margin(mag,phase,w)gm,pm,wcg,wcp=margin(mag,phase,w)mag:幅值;phase:相角;w:角频率gm:幅值裕度;pm:相角裕度;wcg:相角交界频率;wcp:截止频率;,频率特性响应分析,三、基于Matlab的控制系统分析,G=tf(10,conv(1,0,conv(5,1,10,1);bode(G,0.01,100);margin(G);gm,pm,wcg,wcp=margin(G),三、基于Matlab的控制系统分析,