第六章运动控制系统建模与Matlab仿真分析主要内容一、运动控制系统建模二、Matlab功能简介三、基于Matlab的控制系统分析与设计方法一、运动控制系统建模1.1模型分类1.2建模基本方法机理模型统计模型(1)频率响应(2)系统辨识(1)物理模型:采用实物作为模型,可以按比例搭建;(2)数学模型:以数学公式作为仿真对象;(3)混合模型:既有物理模型也有数学模型。1.1模型分类1.2.1机理模型法(1)定义:采用由一般到特殊的推理演绎方法,对已知结构、参数的物理系统,运用相应的定律或定理,经过合理分析简化而建立起来的描述系统各物理量动、静态变化性能的数学模型。主要通过理论分析推导建立数学模型,常用到的理论知识包括:物质不灭定律、能量守恒定律、牛顿第二定律、基尔霍夫定律等。提取主要因素、忽略次要因素。抓住对系统模型具有决定性影响的物理量及相互关系,舍弃次要。注意系统的线性化。通过合理简化将非线性因素近似为线性系统。1.2建模基本方法(2)机理建模实例——一阶倒立摆一阶倒立摆结构原理图1)摆杆绕其重心的转动方程为2)摆杆重心的水平运动可能描述为3)摆杆中心在垂直方向上的运动可描述为4)小车水平方向运动可描述为sincosyxJFlFl22(sin)xdFmxldt22(cos)ydFmgmldt202xdxFFmdt运动学与动力学分析建模:2222222220222022220()()sinsincos()()coscossincos()lgsincos()()JmlFlmJmlmlgxJmlmmmlmlFmlmmmmlJmlmm精确模型:2222000200()()()lg()JmlFmlgxJmmmmlmmmmlFJmmmml若只考虑在工作点附近附近000010101cossin02双37高炮(2)机理建模实例——高炮炮塔随动系统微分方程(建模)拉氏变换(代数)稳定性分析系统性能分析PID控制器22+mmmddJfCidtdtdEKdtaadiULiREdt2+mmmJsfsCisEKaaULsiRiE0()1()pIDUsGsKKKsess()12())mamammCGsUsLJsLfsKC(0101()()()1()()()fiVGsGsHsVGsGsHs闭环传函aR忽略()ifesVV(2)机理建模实例——高炮炮塔随动系统直流电机驱动器控制器自整角机给定炮塔扰动减速机θU系统框图开环传函1.2.2统计模型法定义:采用由特殊到一般的逻辑、归纳方法,根据一定数量在系统运行过程中实测、观察的物理量数据,运用统计规律、系统辨识等理论合理估计出反映系统各物理量相互制约关系的数学模型。由于其主要依据来自实测数据,又称为实验测定法。常用于黑箱或灰箱问题,根据测得的系统输入、输出数据来建立实际系统的数学描述。1.2建模基本方法激励信号的选择:白噪声—白噪声是指在较宽的频率范围内,各相同带宽频带所含的噪声能量相等的噪声。伪随机信号—近似的白噪声正弦扫频信号多频正弦信号组合chirp信号1()sin2Nkkkkxtaft统计模型法——频率特性法(1)由已知数据绘制该系统开环频率响应bode图(2)用±20dB/dec及其倍数的折线逼近幅频特性,得到两个转折频率121/,2.85/radsrads相应的惯性环节时间常数为12121110.35TsTs(3)由低频幅频特性可知0()0,1LK频率特性法建模实例(4)由高频段相频特性知,该系统存在纯滞后环节,系统的开环传递函数应为以下形式122()(1)(1)(1)(0.351)ssKeeGsTsTsss(5)确定纯滞后时间111/,()86rads时11180()arctan1arctan0.3586112.85/,()169rads时再查图中22180()arctan2.85arctan(0.352.85)2.85169120.352s(6)最终求得该系统的开环传递函数模型G(s)为0.35122()(1)(1)(1)(0.351)ssKeeGsTsTsss频率特性法建模实例系统辨识方法是现代控制理论中常用的方法,可根据系统的输入输出响应估计系统的动态模型。响应信号包括:频率响应、阶跃响应、伪随机响应、白噪声响应等。下图为系统辨识原理框图。统计模型法——系统辨识法系统辨识的方法有许多种,这里主要讲述两种:Levy法和ARX法。(1)Levy法对连续系统的模型进行辨识Levy法源于Levy提出的对复数曲线进行拟合的一种方法Complex-curvefitting[J],IREtransactionsonAC,1959.011()1rrmmssGsss假设对象的传递函数为:,mr为待定系数通过实验可以获取对象的频率响应特性ˆ()iiGjPjQ其中i为采样点,,QP为采样点处的幅值与相位0112112()()1()rrmmjjBjBGjjjAjA问题:如何确定待定系数?从幅频特性的角度考虑所假定的对象传递函数,则有:[/2][1/2]2211222100(1),(1)rriiiiiiiiBB[/2][/2]2211222100(1),(1)mmiiiiiiiiAA(1)Levy法对连续系统的模型进行辨识定义如下优化目标函数,以求最优的,mr21ˆmin()[()()]NJDjGjGj0,0,;0,1,;iiJJirimXB通过求解上述多元一次方程组,就可以得到最优的待定系数,mr(1)Levy法对连续系统的模型进行辨识Matlab中,提供了相应的工具,可以辨识连续系统的数学模型。[num,den]=invfreqs(H,w,r,m)H为通过实验数据获取的系统的频率响应数据,其格式为P-jQw为实验中所对应的频率点,为角频率r为期望的对象模型分子的阶次,需要通过先验知识确定m为期望的对象模型分母的阶次,需要通过先验知识确定num为辨识出的对象模型的分子多项式系数den为辨识出的对象模型的分母多项式系数(2)Levy法对连续系统的模型进行辨识例:假设实际对象模型:3243272424()10355024sssGsssss根据对象模型计算出频域响应数据(1)Levy法对连续系统的模型进行辨识调用[B,A]=invfreqs(H,w,3,4);G1=tf(B,A),可得:324324.0757.98131.411()7.07410.4425.7331.25sssGsssss通过对比可知,其精度不高!!(1)Levy法对连续系统的模型进行辨识(2)ARX法对离散系统的模型进行辨识一般离散系统的传递函数可写为:它对应的差分方程为:ARX模型辨识法就是通过辨识上述差分方程的系数而获取对象模型的。111211()()()1mdmnzbbzbzytGzzutazaz112()(1)()()(1)(1)nmytaytaytnbutdbutdbytdm上述差分方程的形式又被称作ARX(自回归遍历)模型。假设已知一组对象的输入输出数据根据ARX模型可得:[(1),(2),()],[(1),(2),()]uuuumyyyym111111(1)(0)(1)(1)()(1)(2)(1)(2)(2)(1)(2)()()()()()()nmnmnmyayaynbudbymdyayaynbudbymdyMayMayMnbumdbyMmdM(,)yyu11[,,,,,]nmaabb目标:找出一组,使得最小(2)ARX法对离散系统的模型进行辨识定义如下的优化指标2min()MiJi1[]TTy0,0,;0,1,;iiJJinimab上述系数的获取是通过使残差平方和最小而获得的,又被称作最小二乘法。(2)ARX法对离散系统的模型进行辨识Matlab中,提供了相应的工具,可以辨识离散系统的数学模型。T=arx([y,u],[m,n,d])y为对象的输出向量u为对象的输入向量m为期望的对象模型分子的阶次,需要通过先验知识确定n为期望的对象模型分母的阶次,需要通过先验知识确定d为期望的对象的纯滞后时间,需要通过先验知识确定T.A为辨识出的对象模型的分子多项式系数T.B为辨识出的对象模型的分母多项式系数(2)ARX法对离散系统的模型进行辨识例:实际对象模型324320.31240.57430.38790.0889()3.2333.98692.22090.4723zzsGzzzzz根据对象模型得到的响应数据(2)ARX法对离散系统的模型进行辨识调用T=arx([y,u],[4,4,1]);G=tf(T),可得:1234112340.31260.58120.39580.091791()13.2554.0422.2680.486zzzzGzzzzz通过对比可知,其精度较高(2)ARX法对离散系统的模型进行辨识二、Matlab功能简介m函数图形绘制功能Simulink简介S函数Real-Time-Workshop&dSPACEm文件与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,title,legend,…参考书目:Matlab原理与工程应用二、Matlab功能简介-Simulink参考书目:Simulink-DynamicSystemSimulationforMATLAB二、Matlab功能简介-S函数实例:ADRC的S函数实现ADRC:参考书目:《WritingS-Functions》,bytheMathworks二、Matlab功能简介-RTW&dSPACEMathWorks公司Simulink:用来进行基于方框图的离线仿真MathWorks公司Real-Time-Workshop:用来从方框图生成C代码dSPACE公司Real-TimeInterface(RTI):用来产生与硬件系统相关的代码,使代码可以在单处理器/多处理器目标系统中运行dSPACE系列软件工具:用来对闭环试验进行交互操作(自动/手动)利用上述系统,可以完成从系统建模、分析、离线仿真直到在线实验的全过程,可使开发人员全神贯注于控制方案的构思而不必再在琐碎的杂务上花费相当多的时间,从而可以大大缩短开发周期。目前已经成为进行快速控制原型验证和半实物仿真的首选实时平台。Real-Time-Workshop&dSPACEMatlab的Real-Time-Workshop(RTW)可以用来从Simulink方框图编译生成C代码dSPACE是由德国dSPACE公司开发的一套基于Matlab/Simulink的控制系统开发及半实物仿真的软硬件工作平台,实现了和