1、控制系统的数学描述,数字仿真技术,主要内容,1. 控制系统的数学描述,2. 控制系统的建模实例,3. 实现问题,4. 常微分方程的数值解法,5. 数值算法中的病态问题,Outline,1. 控制系统的数学描述,1.1 控制系统数学模型的表示形式,1.2 数学模型的转换,1.3 线性时不变系统的对象数据类型描述,2. 控制系统的建模实例,3. 实现问题,4. 常微分方程的数值解法,5. 数值算法中的病态问题,1.4 控制系统建模的方法,1.1 控制系统数学模型的表示形式,根据系统数学描述方法的不同,可建立不同形式的数学模型,1 微分方程形式,设线性定常系统输入、输出量是单变量,分别为u(t),y
2、(t),模型参数形式为:,输出系统向量 , n+1维,输入系统向量 , m+1维,(2-1),1.1 控制系统数学模型的表示形式,1 微分方程形式,根据牛顿定律,写出其动力学方程,则该系统的微分方程形式:,输出系统向量 A=m f k,输入系统向量 B=1,2 状态方程形式,当控制系统输入、输出为多变量时,可用向量分别表示为 U(t),Y(t),系统的内部状态变量为X(t).,模型参数形式为:,系统系数矩阵A,系统输入矩阵B,系统输出矩阵C,直接传输矩阵D,简记为(A,B,C,D)形式。,(2-2),1.1 控制系统数学模型的表示形式,1.1 控制系统数学模型的表示形式,2 状态方程形式,根据
3、牛顿定律,写出其动力学方程,取系统的状态变量为v,x:则状态方程形式可写作:,3 传递函数形式,在零初始条件下,将(2-1) 方程两边进行拉氏变换,则有,(2-4),模型参数可表示为,传递函数分母系数向量,传递函数分子系数向量,用num=B,den=A分别表示分子,分母参数向量,则可简练的表示为(num,den),称为传递函数二对组模型参数,1.1 控制系统数学模型的表示形式,1.1 控制系统数学模型的表示形式,3 传递函数形式,根据得到的微分方程,对上式进行拉氏变换:,经整理变得到传递函数:,4 零极点增益形式,将(2-4)中的分子,分母分解为因式连乘形式,则有,(2-6),模型参数可表示为
4、,系统零点向量:,系统极点向量:,简记为(Z,P,K)形式,称为零极点增益三对组模型参数。,1.1 控制系统数学模型的表示形式,5 部分分式形式,将传递函数表示为如下形式,(2-7),模型参数可表示为,极点留数向量:,系统极点向量:,余式系数向量:,简记为(R,P,Q),称为极点留数模型参数。,1.1 控制系统数学模型的表示形式,1.2 数学模型的转换,1 微分方程与传递函数形式,两者的模型参数向量完全一样。,2传递函数与零极点增益形式,Matlab函数tf2zp()和zp2tf()用来完成两种形式之间的转换,如 z , p , k=tf2zp(num,den);num,den=zp2tf(z
5、 , p , k),1.2 数学模型的转换,3 状态方程与传递函数或零极点增益形式,ss2tf()和tf2ss用来状态方程与传递函数间转换,如 num,den=ss2tf(A,B,C,D);A,B,C,D=tf2ss(num,den),同一传递函数的状态方程不是唯一的,上述的转换函数只能实现可控标准型状态方程,4 部分分式与传递函数或零极点增益形式,ss2zp()和zp2ss用来状态方程与零极点增益形式间转换,如 z,p,k=ss2tf(A,B,C,D);A,B,C,D=tf2ss(z,p,k),传递函数转化为部分分式形式的关键在于求取极点的留数 可通过residue()函数来完成。,如R ,
6、 P , H=residue(num,den)num,den=residue(R , P , H),1.2 数学模型的转换,1.3 线性时不变系统的对象数据类型描述,新版Matlab语言中,添加了“对象数据类型”,可以用各种系统模型来建立。在工具箱中定义了线性时不变模型对象,即LTI对象。,G=tf(num,den) 可以用多种形式 G=zpk(Z,P,K) 建立LTI对象模型 G=ss(A,B,C,D),也可以通过以下函数获得模型参数向量,num,den=tfdata(G) A,B,C,D=ssdata(G) Z,P,K=zpkdata(G),1.4 控制系统建模的基本方法,1 机理模型法,
7、采用由一般到特殊的推理演绎方法,对已知结构,参数的物理系统运用相应的物理定律或定理,经过合理分析简化而建立起来的描述系统各物理量动、静态变化性能的数学模型。,例:位置伺服闭环控制系统,(1) 同步误差检测器,(2) 放大器,(3) 直流电动机,(4) 测速发电机,(5) 负载输出,1.4 控制系统建模的基本方法,该系统总传递函数GB(s),将各环节连接起来构成系统的总结构图,1.4 控制系统建模的基本方法,2 统计模型法,采用由特殊到一般的逻辑、归纳方法,根据一定数量的在系统运行过程中实测、观察的物理数据,运用统计规律、系统辨识等理论合理估计出反应实际系统各物理量相互制约关系的数学模型。,例:
8、通过实验方法测得某系统的开环频率响应,来建立该系统的开环传递函数模型,1.4 控制系统建模的基本方法,(1) 由已知数据绘制该系统开环频率响应bode图,(2) 用20dB/dec及其倍数的折线逼近幅频特性,得到两个转折频率,相应的惯性环节时间常数为,(3) 由低频幅频特性可知,1.4 控制系统建模的基本方法,(4) 由高频段相频特性知,该系统存在纯滞后环节,为非最小相位系统,系统的开环传递函数应为以下形式,(5) 确定纯滞后时间值,再查图中,(6) 最终求得该系统的开环传递函数模型G(s)为,1.4 控制系统建模的基本方法,3 混合模型法,当对控制的内部结构和特性有部分了解,但又难以完全用机
9、理模型的方法表述出来,这是需要结合一定的实验方法确定另外一部分不甚了解的结构特性,或是通过实际测定来求取模型参数。这种方法是机理模型法和统计模型法的结合,故称为混合模型法。,总之,无论采用何种建模方法,其实质就是设法获取有关系统尽可能多的信息并经过恰当信息处理而得到对系统准确合理的描述。上述三种建模的方法只是信息处理过程不同而已,在实际建模过程中应灵活掌握应用 。,1.4 控制系统建模的基本方法,Outline,1. 控制系统的数学描述,2.1 独轮自行车实物仿真问题,2.2 龙门起重机运动控制问题,2.3 水箱液位控制问题,2. 控制系统的建模实例,3. 实现问题,4. 常微分方程的数值解法
10、,5. 数值算法中的病态问题,2.4 燃煤热水锅炉控制问题,2.1 独轮自行车实物仿真问题,单一刚性铰链,两自由度动力学问题,问题的提出 :独轮自行车,机器人行走过程中的平衡控制,火箭发射中的垂直度控制,卫星飞行中的姿态控制,海上钻井平台的稳定控制,飞机的安全着陆控制。,1)摆杆绕其中心的转动方程为,2)摆杆重心的水平运动可能描述为,3)摆杆中心在垂直方向上的运动可描述为,4)小车水平方向运动可描述为,2.1 独轮自行车实物仿真问题,精确模型:,在平衡点附近线性化:平衡点附近=0,2.1 独轮自行车实物仿真问题,线性化后的模型可写为:,2.1 独轮自行车实物仿真问题,给定直线摆的参数后可得到模
11、型:,对上述微分方程模型通过上一节的变换可以得到一阶直线倒立摆系统的微分方程,传递函数和状态方程三种形式。,2.1 独轮自行车实物仿真问题,F(s),(s),X(s),系统动态结构图可表示为,2.2 龙门起重机运动控制问题,起重机系统的物理抽象模型,起重机广泛的用于现代工厂,安装工地和集装箱货场以及室内外仓库的装卸与运输作业。但是由于吊车采用柔性体代替刚体工作,带来负载摆动的负面影响,故需要研究吊车的防摆控制。,拉格朗日分析力学,小车和重物的位置,小车和重物的速度分量,2.2 龙门起重机运动控制问题,系统拉格朗日方程为:,系统的动能:,2.2 龙门起重机运动控制问题,吊车系统的运动方程:,不考
12、虑绳长的变化,系统退化为两自由度,上述模型变为:,2.2 龙门起重机运动控制问题,考虑实际运行中摆角变化较小,平衡位置=0,因此可将上述模型在平衡位置点进行线性化简化:,2.2 龙门起重机运动控制问题,化简并进行拉氏变换可得:,2.2 龙门起重机运动控制问题,系统动态结构图可表示为,对前微分方程组进行变换得:,2.2 龙门起重机运动控制问题,取 为系统状态变量X, 为系统输出Y,则系统的状态空间描述方程可写为:,2.3 水箱液位控制问题,1. 问题的提出:,工业过程控制领域中,诸如电站锅炉气泡水位控制,化学反应釜液位控制,化工配料系统的液位控制等问题,均可等效为水箱液位控制问题。,2. 建模的
13、机理:,(1) 雷诺系数,(2) 紊流,(3) 层流,当液体的雷诺系数Re2000,流体的流态称为紊流。紊流表征了流体在传递中有能量损失,质点运动紊乱 (有横向分量),当液体的雷诺系数Re2000,流体的流态称为层流。层流表征了流体在传递中能量损失很少,质点运动有序 (沿轴向方向),其中v为液体流速,d为管道口径,r为液体黏度,雷诺系数反应了液体在管道中流动时的物理性能,2.3 水箱液位控制问题,3. 系统建模,以水箱为考察对象可以建立方程:,取拉氏变换得到水箱传递函数:,其中Qin为层流, Qout为紊流,2.3 水箱液位控制问题,4.模型简化,水箱出口处为紊流状态,将其在水箱的平衡点P(q
14、0 ,h0)处线性化,2.3 水箱液位控制问题,水箱液位系统动态结构图:,2.3 水箱液位控制问题,引出两个定义:,液阻的定义:单位流量的变化所对应的液位差变化称为液阻,液容的定义:单位水头(液位)的变化所对应的被存储液体的变化称为液容,对于一个既定的水箱系统,液阻和液容是一个常数,出口处液阻为,我们可将水箱在平衡点附近的非线性系统简化为线性系统,由液阻的定义得,两边取拉氏变换,2.3 水箱液位控制问题,2.4 燃煤热水锅炉控制问题,1.问题的提出,燃煤热水锅炉系统在工业生产与民用集中供热方面具有广泛的应用,2. 建模机理,A)热力学系统将热量从一种物质传递到另一种物质。热传递的途径有三种,传
15、导,对流和辐射。,B)热阻,热容,2.4 燃煤热水锅炉控制问题,3. 系统建模,设系统保温良好,根据热容热阻的定义,拉氏变换得,用户的模型为,存在问题:,a 分布参数问题,b 最佳燃烧控制问题,2.4 燃煤热水锅炉控制问题,Outline,1. 控制系统的数学描述,3.1 单变量系统的可控标准型实现,3.2 控制系统的数字仿真实现,2. 控制系统的建模实例,3. 实现问题,4. 常微分方程的数值解法,5. 数值算法中的病态问题,3 实现问题,前面所建立的系统模型为仿真实验研究提供了必要的前提条件,但它还不能直接用来在计算机上进行仿真分析。我们称之为一次模型。,建模方法,一次模型,二次模型,仿真
16、分析,仿真实现,外部模型,内部模型,传递函数,状态方程,实现的非唯一性问题,3.1 单变量系统的可控标准型实现,设系统的传递函数形式为,对上式设,拉氏反变换有,引入n维状态变量,则可得到一阶微分方程组,同样可将其描述为状态空间表达式,3.1 单变量系统的可控标准型实现,将系统的状态方程用图形的方式表示为,模拟实现图,采用传统的模拟计算机求解,其中的积分环节由运算放大器构成,3.1 单变量系统的可控标准型实现,3.2 控制系统的数字仿真实现,控制系统计算机仿真技术所要求的“实现问题”是指将已知得到的控制系统数学模型通过一定的方法,手段转化为可在数字计算机上运行求解的“仿真模型”,称作“二次化模型
17、”过程。,良好的算法软件,可以使系统仿真研究人员把精力集中于仿真模型的建立和求解方法的确定、仿真结果的分析和控制系统的设计这类重要和关键的问题上来。,美国学者Clever Moler等人于1980年推出交互式MATLAB语言。在此基础上,陆续出现的许多专门用于控制系统分析与CAD的工具箱,对系统仿真技术的发展起很大的推动作用。,Outline,1. 控制系统的数学描述,4.2 数值积分法,4.1 数值求解的基本概念,2. 控制系统的建模实例,3. 实现问题,4. 常微分方程的数值解法,5. 数值算法中的病态问题,4.3 关于数值积分法的几点讨论,4.1 数值求解的基本概念,1. 数值求解的基本
18、概念,设微分方程为,则求解方程中函数y(t)问题的常微分方程初值问题,所谓数值求解就是要在时间区间a, b中取若干离散点,求出微分方程在这些时刻的近似值,常用微分方程数值解的基本方法有以下几种,1.差商法,用差分形式近似代替导数,则微分方程转化为,由此可得微分方程初值问题的数值解序列值为,4.1 数值求解的基本概念,2. 台劳展开法,将函数f(t)在tk附近可展开为台劳多项式,则微分方程可化为,按精度要求,取适当的项数n,即可递推求解。当取n=1时,则与差商法一样。,记,4.1 数值求解的基本概念,3. 数值积分法,将微分方程在小区间tk ,tk+1上积分,于是在区间a,b上,则有,4.1 数
19、值求解的基本概念,4.2 数值积分法,1. 欧拉法,一阶微分方程重写为,在tk,tk+!区间上积分,由导数定义知,取,设h足够小,得,于是可以得到微分方程的数值解为,这种方法的几何意义就是把f(t,y)在区间tk,tk+1内的曲边面积用矩形面积近似代替。计算简单,计算量小,而且可以自启动。当h很小时,造成的误差是允许的。该算法具有一阶精度。,取k=0,1,2,N,从t0开始,逐点递推求解t1时的y1, t2时的y2,直至tn时的yn,称之为欧拉递推公式。,4.2 数值积分法,欧拉法只有一阶精度,要提高精度,可以取二阶近似值甚至高阶近似,但高阶导数的求解又是一个困难。,2. 龙格库塔法,基本思想
20、:用函数值f(t,y)的线性组合来代替f(t,y)的高阶导数项,设y(t)为微分方程的解,将其在tk附近以h为变量展开,因为,由于 等各阶导数不易计算,用下式中ki的线性组合,r为精度阶次,bi为待定系数,由精度确定,4.2 数值积分法,上式中 ki用下式表示,当r=1时,该方法与欧拉递推公式一致。,当r=2时,与台劳公式的二阶展开近似公式相比,可得以下关系,由于待定系数个数超过方程个数,所以一般有以下几种取法:,4.2 数值积分法,4.2 数值积分法,以上几种递推公式均称为二阶龙格库塔公式,是比较典型的几个常用算法。上述3)法也称为预估-校正法,或梯形法,意义如下:,用欧拉法以斜率k1先求取
21、一点 ,称为预估点,再由此点求得另一斜率k2,4.2 数值积分法,从yk点开始,既不按该点斜率k1变化,也不按预估点斜率k2变化,而是去两者平均值,求得校正点yk+!,即,则tk ,tk+1上的数值积分为,其几何意义如右图所示,龙格库塔法的共同规律是先求取斜率k1,在以此斜率求取另一斜率k2,以此类推,最后以满足精度要求为目的,适当选取加权系数,求取调整斜率。,4.2 数值积分法,r=3时,三阶龙格库塔公式,r=4时,四阶龙格库塔公式,仿真中遇到的大多数工程实际问题,四阶龙格库塔法以能满足精度要求,其截断误差o(h5) 与h5同数量级。该法可以自启动。,4.2 数值积分法,4.3 关于数值积分
22、法的几点讨论,1.单步法和多步法,单步法计算 tk+1时刻值 yk+1时,只与 tk时刻 yk有关;多步法要用到 tk以及过去时刻 tk-1, tk-2 tk-r时刻的值yk , yk-1 yk-r。,多步法计算公式简洁,不能自启动。,阿达姆斯法,吉尔法,2.显式和隐式,若求解yk+1算式中包含着fk+1 ,而fk+1的计算又要用到yk+1 ,即yk+1求解的算式中隐含着yk+1本身,则称为隐式。,隐式计算需要迭带法,先用同一阶次显式公式估计出一个初值 ,并求得fk+1,然后再用隐式公式得到校正值 ,若未达到所需精度,则再次迭带求解,直到两次迭带值 和 之间的误差在要求的范围内。,显式公式,f
23、k+1,精度,结果,4.3 关于数值积分法的几点讨论,3.数值稳定性,数值积分法求解微分方程时,有可能是原系统变为不稳定系统。,建立一个试验方程:,以显式欧拉算法为例:,将试验方程代入,要求该方程稳定必有,4.3 关于数值积分法的几点讨论,以隐式欧拉法递推算法为例:,将试验方程代入,整理有差分方程,其特征值为,稳定条件只要h0,4.3 关于数值积分法的几点讨论,4. 数值算法的选用,Matlab工具箱提过了以下常用的数值算法,-Euler法 -2/3阶Runge-Kutta法 -4/5阶Runge-Kutta法 -Adams预报-校正法 -Gear预报-校正法,选用的原则: 1)精度 :截断误
24、差,舍入误差,累计误差 2)计算速度 3)稳定性,4.3 关于数值积分法的几点讨论,Outline,1. 控制系统的数学描述,5.2 控制系统仿真中的“病态”问题,5.3 “病态”系统的仿真方法,2. 控制系统的建模实例,3. 实现问题,4. 常微分方程的数值解法,5. 数值算法中的病态问题,5.1 “病态常微分方程”,5.1 “病态”常微分方程,例:,其中,采用四阶龙格库塔法,h=0.01时,h=0.04时,当h0.05后,曲线发散振荡,数值不稳定,系统矩阵的特征值差异较大,一般线性常微分方程组:,的系数矩阵A的特征值具有如下特征:,则称为“病态”方程。,对于非线性方程,若其雅克比阵的特征值
25、也具有如上的特性,该非线性方程也为病态方程。,5.1 “病态”常微分方程,5.2 控制系统仿真中的“病态”问题,1 病态系统中绝对值最大的特征值对应于系统动态性能解中瞬态分量衰减最快的部分,它反映了系统的动态响应和系统的反应灵敏度。一般与系统中具有最小时间常数Tmin的环节有关,要求计算步长h取得很小。,2 病态系统中绝对值最小的特征值对应于系统动态性能解中瞬态分量衰减最慢的部分,它决定了整个系统的动态过渡过程时间的长短。一般与系统中具有最小时间常数Tmax的环节有关,要求计算步长h取得很大。,3 对于病态问题的仿真需要寻求更加合理的算法,以解决病态系统带来的选取计算步长与计算精度,计算时间之
26、间的矛盾。,5.3 “病态”系统的仿真方法,采用稳定性好,计算精度高的数值算法,并且允许计算步长能根据系统性能动态变化的情况在一定范围内作相应的变化,采用隐式吉尔法,该法已经证明对病态方程求解过程是数值稳定的。,隐式吉尔法从理论上十分适应于病态系统 ,但需要解决好以下问题,(1) 自启动 r阶多步算式无法自启动,需要用单步法求出前r步值,(2) 预估迭代 迭代方法要求收敛性良好,否则在大步长时会造成数 值发散。,(3) 变步长 初始阶段采用小步长,随后可逐步放大步长。,对不同精度要求的系统仿真,要考虑变阶次问题,即为减小每一步计算的截断误差,以提高精度,应选用较高的阶次,而当精度较低时,为减少
27、工作量,则应选取较低的阶次。仿真时应根据估计误差 与给定的误差精度相比较改变步长或阶次来重新计算。,5.3 “病态”系统的仿真方法,小结,1) 控制系统的数学模型是对系统进行计算机仿真的基础 。本章介绍了线性系统微分方程、状态方程、传递函数、零极点增益和部分分式等数学模型的表示方法和相应的模型参数表示方法。,2) 为使所建立的模型方程方便的应用MATLAB语言进行处理,模型参数采用MATLAB语言控制工具箱中相应的格式,即,微分方程、传递函数:(num,den),零极点增益: (Z,P,K),部分分式: (R,P,H),状态方程: (A,B,C,D),小结,3) 数学模型各种形式是为适应不同的
28、分析与设计要求而建立的,它们之间均可以通过一定的方法相互转换。MATLAB语言为此提供了方便可靠的数学模型转换函数ss2tf()、tf2ss()、tf2zp()等。,4) 控制系统建模一般采用机理法,统计法和混合法,又称之为一次模型化。需要根据对系统内部结构、特性或是外部输入、输出数据的了解和掌握程度,确定采用何种建模方法更能准确反映系统中各物理量变化规律的动力学特征。系统建模对最终的数字仿真结果有直接影响,应予以充分重视 。,小结,5) 实现问题就是根据控制系统的传递函数描述求取其相应的状态空间描述;计算机仿真技术的实现问题更具体,就是将一次模型化得到的系统数学模型,再加以二次模型化,得到可
29、在数字计算机上运行求解的仿真模型。,6) 数值积分是计算机求解一阶微分方程的有效手段。欧拉法最简单易行,且是其他各种数值积分算法的基础,但其截断误差大,不能满足一般工程的精度要求;龙格库塔法是控制系统仿真最常用的算法,可以根据对仿真精度的不同的要求,选取相应的阶次,一般情况下采用三阶或四阶龙格库塔法以能满足较高精度的需要。数值积分的单步于多步、显式与隐式等各种方法各有特点,应根据需要灵活使用。,小结,7) 数值稳定性问题是指数值计算过程中,各种误差等积累能否得到很好的抑制,是否不会随着计算时间增加而不断增大,所得的数值结果是否逼近实际结果等。通过试验方程式可以对数值积分方法的稳定性做出判断,大致估计出不同方法对计算步长h的限制范围。对h无限制的方法,称无条件恒稳格式;对h有限制的方法,则称条件稳定格式。,8) 选用数值算法应从精度、计算速度和稳定性三个方面要求来综合考虑。首先保证算法的数值稳定性,其次是满足精度要求,然后再尽可能提高计算速度,减少计算步骤和计算时间。,小结,9) “病态”系统由于其系统特征值之间的实部绝对值相差过大,造成对所用算法数值稳定性要求很高,对步长的选取非常敏感,故求解“病态”系统需要采取稳定性好、精度高,能自动变步长的数值积分法。隐式吉尔法是具有以上特点的常用算法之一。,本章内容结束 谢谢大家,