购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.1 建模的概念

模型 (model)是物理系统、生物系统或信息系统的数学表示。模型使得我们可以对一个系统进行推理,并对系统的行为进行预测。在本书中,我们感兴趣的主要是描述系统输入/输出行为的动态系统的模型,并且主要使用“状态空间”进行处理。在使用模型时一定要记住,模型只是它们所表示的系统的一个 近似 (approximation)。在使用模型进行分析和设计时,必须小心谨慎,确保始终满足模型的限制条件。

粗略地讲,动态系统是指系统行为的作用和效果不会立即发生的系统。例如,当踩节气门时,汽车的速度不会立即改变;当加热器打开时,房间的温度也不会立即升高。同样,服用阿司匹林之后,头疼也不会马上消失,而需要时间发挥药效。在商业系统中,增加开发项目的资金投入尽管长期来讲有可能使收入增加(如果是一个好项目的话),但在短期内不会使收入增加。所有这些动态系统的例子,它们的行为都是随着时间变化的。

3.1.1 力学的阐释

动态研究起源于对行星运动进行描述的尝试。动态研究的基础是第谷·布拉赫(Tycho Brahe)对行星的详细观测以及开普勒(Kepler)的研究成果。开普勒发现行星的运动轨迹可以很好地用椭圆来描述。牛顿经过研究后发现行星的椭圆形运动可以用他的万有引力定律来解释。在这一研究过程中,他还发明了微积分和微分方程。

牛顿力学的一个巨大成功在于,依据其理论,所有行星的运动可以根据当前位置及速度(与过去无关)来进行预测,且预测结果与观测相一致。动态系统的所谓 状态 (state),就是为了预测未来的运动而选定的一组变量,它可以完整地描述系统的运动。对于一个行星系统,状态很简单,就是行星的位置和速度。我们将所有可能的状态的集合称为 状态空间 (state space)。

动态系统的一种常用数学模型是常微分方程组(ODE)。在力学中,这种微分方程的一个最简单的例子就是有阻尼的弹簧-质量系统的微分方程:

该系统如图3.1所示。变量 q ∈ℝ代表质量 m 相对其自由位置的位移。我们使用符号 表示 q 对时间的导数(即质量 m 的速度),用 表示二阶导数(即加速度)。假定弹簧满足胡克定律,即弹簧力正比于位移。将摩擦元件(阻尼)看成一个非线性函数 ,它可以模拟库伦摩擦以及黏滞效应。位移 q 和速度 表示系统的瞬时状态。由于该系统具有 状态向量 (state vector) [1] 表示的两个状态变量 q ,因此称之为 二阶系统 (second-order system)。

位置和速度的演化既可以用时域图描述,也可以用相图描述,图3.2同时给出了两种方法。图3.2a是 时域图 (time plot),它将单个状态变量的值显示为时间的函数。图3.2b是 相图 (phase portrait),它显示了状态是如何在状态空间中移动的。在相图中,有些点上还绘制有箭头,用以表示该点状态 x 的速度 。相图以向量场或流的形式对微分方程进行了非常直观的表示。虽然二阶系统可以表示成这种方式,但很难使用这种可视化的方法来表示更高阶的微分方程。

图3.1 有阻尼的弹簧-质量系统。 q 表示质量 m 的位置, q =0对应于弹簧自由状态的位置。质量 m 受到两个作用力,一个是弹簧系数为 k 的线性弹簧的作用力,另一个是正比于速度 的阻尼力

微分方程(3.1)称为 自治的 (autonomous)系统,因为这里没施加外部的影响。这样的模型用在天体力学中是自然的事情,因为要影响行星的运动十分困难。在许多应用中,对外部干扰或受控力对系统的影响进行建模是十分有用的。实现这一点的一个方法就是用式(3.2)来替换式(3.1):

式中, u 代表外部输入的影响。式(3.2)称为 强迫的 (forced)或 受控的微分方程 (controlled differential equation)。这意味着状态变化的速率会受输入 u 的影响。输入的加入使得模型的适用范围更广,可以处理一些新的问题。例如,我们可以分析外部干扰对系统的轨迹有什么样的影响。或者,在输入变量可以以某种受控的方式进行调节的情况下,我们可以分析是否有可能通过选择恰当的输入,从而激励系统从状态空间的某个点移动到另外一个点。

图3.2 状态模型的说明。状态模型以状态函数的形式给出状态的变化率。图a是状态变量演化的时域图。图b展示了状态相对彼此的演化关系,图中的箭头表示状态的速度

3.1.2 电气工程的阐释

动态的另一种观点产生于电气工程,在这个学科中,电子放大器的设计导致人们将重心放在对输入/输出行为的研究上。将输入转换成输出的系统被看成是一个器件,如图3.3所示。从概念上讲,输入/输出模型可以看成是一张巨大的关于输入信号和输出信号关系的表。给定某段时间里的输入信号 u t ),模型就应该能够产生相应的输出 y t )。

图3.3 动态系统输入/输出观点的图解

输入/输出模型框架在许多工程领域中得到了应用,之所以如此,是因为它使得我们可以将系统分解成通过输入和输出相连的单个部件。这样一来,我们就可以把如收音机、电视机一样复杂的系统,分解成如接收器、解调器、放大器以及喇叭等容易处理的小块。这里的每个小块都有一组输入和输出,通过适当的设计,这些部件可以相互连接,构成整个系统。

输入/输出观点对于 线性时不变系统 (linear time-invariant system)这种特殊系统特别有用。线性时不变系统的概念在本章稍后有更具体的阐释,不过粗略地讲,系统是线性的就是指:两个输入叠加(相加)在一起,所获得的输出等于单独施加每个输入时所得的两个输出之和。一个系统是时不变的是指:对于给定的输入,输出的响应跟何时施加输入没有关系。

许多电气工程系统都可以用线性时不变系统来建模,因此人们开发了许多分析线性时不变系统的工具。其中一个是 阶跃响应 (step response),它用来描述阶跃输入(从零值迅速变化到一个常值的输入)与输出之间的关系。在本书的后面我们会看到,阶跃响应在描述动态系统的特性时十分有用,它常用来定义期望的动态。图3.4a是阶跃响应。

描述线性时不变系统的另一种方法是用系统的正弦输入信号响应来表示。这称作 频率响应 (frequency response),由此形成了一个应用广泛、十分强大的理论,其中有很多的概念和许多可靠而又有用的结论。这些结论是以复变函数理论和拉普拉斯变换为基础的。频率响应背后的基本思想在于,我们可以用系统对正弦输入的稳态响应来对系统的特性进行完全的定义。粗略地讲,其操作方法是这样的,我们将任何一个信号分解成正弦信号的线性组合(例如采用傅里叶级数变换),然后根据线性特性,通过组合各个频率独自的响应来计算总的输出。图3.4b是频率响应。

输入/输出的观点自然地引出了用实验来确定系统动态的方法,这种方法通过记录系统对特定输入(譬如一个阶跃输入或在一定频率范围内的一组正弦输入信号)的响应来描述系统。

图3.4 线性系统的输入/输出响应。图a的阶跃响应显示了在 t =5 s时,输入从0变化到1所对应的系统输出。图b的频率响应则显示了在不同频率的正弦输入下,系统的幅值增益及相位变化

3.1.3 控制的观点

当控制理论作为一门学科在20世纪40年代出现的时候,动态分析的方法受到电气工程(输入/输出)观点的严重影响。控制理论发展的第二波始于20世纪50年代后期,发轫于力学,借用了力学中状态空间的观点。航天飞行就是一个典型的例子,其中对宇宙飞船的轨道进行精确控制是十分重要的。这两种观点逐渐融合,形成了今天我们看到的输入/输出系统的状态空间表示方法。在20世纪70年代,自动化理论的进步影响了这一发展,它更加强调引入逻辑和顺序控制的必要性。

状态空间模型的发展涉及了将力学模型进行修改,以包含外部执行器、传感器,并使用更一般形式的方程。在控制中,式(3.2)给定的模型被替换为:

式中, x 是状态向量, u 是控制信号向量, y 是被测量向量。d x /d t 项代表向量 x 对时间的导数; f h 是映射(可能是非线性的),它们将自己的变量映射成适当维数的向量。在力学系统中,状态由系统的位置和速度构成,因此对于有阻尼的弹簧-质量系统, 。需要注意的是,在用公式表示控制系统时,尽管我们采用一阶微分方程组来对动态进行建模,但是我们将会看到,通过适当地定义状态以及映射 f h ,它也可以描述高阶微分方程组的动态。

输入和输出的概念丰富了经典问题的内涵,引出了许多新的概念。例如,现在可以很自然地问:对于可能的状态 x ,是否可以通过选择恰当的 u 来达到(可达性)?被测信号 y 是否包含足够的信息来重构状态(可测性)?这些问题的答案将在第7章和第8章进行详细介绍。

控制观点的最新进展是干扰及模型的不确定性作为重要的元素出现于理论之中。将干扰建模为阶跃信号或正弦信号之类已知信号的方法,虽然简单,但却有个缺点,就是这类信号不能被精确预测。一个更为现实的方法是将干扰建模为随机信号。这个观点在预测与控制之间建立了自然的联系。在对具有不确定性的系统进行建模时,输入输出表示与状态空间表示的双重观点是特别有用的,因为状态模型便于描述标称情况下的模型,不确定性则以采用输入/输出模型来描述(通常是频率响应描述)较为容易。在本书中,不确定性是一个会经常遇到的主题,在第13章将对其进行专门的研究。

控制系统设计的一个有趣的经验是,反馈系统通常可以基于相对较为简单的模型进行分析和设计。其根源在于反馈系统固有的鲁棒性。然而,在其他的应用场合,可能就需要更为复杂和更为精确的模型。以前馈控制策略为例,它就需要用一个模型以某种方式先算出系统响应的输入。另一个领域是系统验证,人们希望通过系统验证来证实系统实际响应的细节与设计相一致。由于模型的应用场合是如此的不同,因此人们往往使用具有不同复杂度和可信度等级的模型。

*3.1.4 多学科建模

建模是许多学科的基本内容,但各个学科的传统和方法可能各不相同,前面对机械工程和电气工程的讨论可以说明这一点。系统工程中的难点在于,经常需要处理来自不同领域的各种不同的系统,这包括化学系统、电气系统、力学系统以及信息系统。

为了对这种多学科的系统进行建模,需要先将系统划分成较小的子系统。将每个子系统表示成关于质量、能量和动量的平衡方程,或者表示成子系统中关于信息处理的某种恰当描述。通过对各个子系统变量的行为进行描述,可以掌握子系统接口处的行为。这些接口起着限制各个子系统变量(例如质量、能量或动量的通量等)彼此相等的作用。通过将子系统的描述以及接口的描述组合起来,就得到了完整的模型。

采用这种方法,有可能建立起对应物理元件、化学元件以及信息元件的子系统库。其步骤类似于系统由子系统来构建,子系统本身又由较小的部件来构建的工程方法。在积累经验以后,可以将元件和接口标准化,并集中到模型库中。实际上,这个过程往往需要进行多次迭代(反复),才能获得一个可以在许多应用中重复利用的模型库。

状态模型或常微分方程组不适于在基于元件的这种建模方法中使用,因为状态在元件连接时可能会消失。这意味着,在一个元件连接到其他元件时,其内部描述可能会发生变化。让我们以电路中的两个电容为例来说明这个问题。每个电容都有一个对应其端电压的状态变量,但是若将这两个电容并联起来,则其中一个状态变量将消失。两个转动惯量会发生类似的情况,在单独建模时,每个转动惯量都要采用一个旋转角和一个角速度来建模,而当将二者通过刚性轴连起来的时候,则有两个状态变量将消失。

这个困难可以通过用 微分代数方程 (differential algebraic equations)替换微分方程来解决。微分代数方程具有以下的形式:

式中, z ∈ℝ n 。以下是一种简单情况,对于微分方程:

有: z =( x y ), 。其关键特性在于,导数 没有显式给出,向量 z 的各分量之间可以是纯代数关系。使用微分代数方程的建模也称 基于方程的建模 (equation-based modeling)、 非因果建模 (acausal modeling)或 行为建模 (behavioral modeling)。

式(3.4)的模型具有并联电容以及刚性连接转动惯量这两个例子的特征。例如,当两个电容连在一起时,我们只需要简单地补充一个表述两个电容器的端电压相等的代数方程即可。

Modelica是一种支持基于元件建模的建模语言。它将微分代数方程组作为基本描述结构,利用面向对象的编程技术来使模型结构化。Modelica被用于许多领域的技术系统的动态建模,包括机械、电气、热力、水力、热流体及控制子系统等。Modelica意在为人们提供一种标准格式,以使不同领域中的模型可以在各种工具间及用户间进行互换。已经出现了大量免费的及商业的Modelica元件库,正被工业、研发以及学术界越来越多的人所使用。想获得更多关于Modelica的信息,请访问http://www.modelica.org或参考文献[239,95]。

*3.1.5 有限状态机与混合系统

混合系统,也称 信息物理系统 (cyberphysical system),是一种将连续动态与离散逻辑相结合的系统。系统的离散部分代表驻留在计算机中的逻辑变量,例如系统的模态(开、关、降级等)。

离散动态通常用 有限状态机 (finitestatemachine)表示,它是由一组数目有限的离散状态 α ∈ℚ组成的。可以将 α 看成是系统的“模态”。有限状态机的动态是用状态间的切换来定义的。一个方便的表示方法是将其表示成一个 卫士转换系统 (guarded transition system):

g i α β )⇒ α′ = r i α ), i =1,…, N

式中,函数 g i 是逻辑函数(取真或假),它取决于系统当前的模态 α 及输入 β ,这里 β 可能代表一个环境事件(如按钮按下、器件故障等)。如果 卫士 (guard) g i 取值为真,那么系统将从当前状态 α 转换到一个新的状态 α′ α′ 由规则(转换映射) r i 决定。卫士转换系统可以有许多不同的规则,具体取决于系统的状态及外部的输入。

也可以将具有连续状态的系统与具有离散状态的系统结合起来,创建出 混合系统 (hybrid system)。例如,如果一个系统具有连续状态 x 和离散状态 α ,那么整个系统的动态可以写成:

式中,具有状态 x 的连续动态由一个常微分方程控制,该方程又可以依赖于系统模态 α (用 f α 的下标来指明)。离散转换系统也受连续状态的影响,因此卫士 g i 和规则 r i 也就依赖于连续状态。

混合系统还有许多其他可能的表示形式,例如 复位逻辑 (reset logic)——当离散状态发生变化时,允许连续变量发生非连续的变化。有多种软件可用于混合系统的计算机建模,包括StatFlow(MATLAB工具箱的一部分)、Modelica以及Ptolemy等 [205]

3.1.6 模型的不确定性

使用反馈主要是为了减少不确定性,因此不确定性的描述就很重要。在进行测量时有一个很好的习惯,就是既要指定标称值,又要估计不确定性。将同样的方法用于建模也是有益的,但不幸的是,通常很难定量地描述模型的不确定性。

对于输入/输出关系可以用函数表示的静态系统,不确定性可以用图3.5a所示的不确定带来表示。在低信号水平下,存在由传感器分辨率、摩擦和量化等因素带来的不确定性。例如,排队系统或单元的一些模型是基于平均值的,它们在小数量的场合会表现出明显的变动。在大信号的场合,则存在饱和问题甚至会出现系统故障。随着应用场合的变化,在模型保持合理精度的情况下,信号范围的差别十分巨大,但却很难找到一个模型能够在数值差别大于10 4 倍的信号范围内保持准确。

动态模型的不确定性则更难描述。可以试着给模型的参数赋以一定的不确定性来捕获系统的不确定性,但这往往是不够的。一些被忽略的现象(例如小的时延)可能引起误差。在控制工程中,最终的评判基于模型的控制系统的表现到底有多好,而时延可能会有重要影响。另外还有频率方面的影响。一些缓慢发生的现象(例如老化)会引起系统的改变或漂移。高频效应(在高频下电阻器将不再是纯电阻;梁尽管有刚度,但当经受高频激励时,就会展现出额外的动态行为)也会改变系统。图3.5b所示的 不确定性柠檬图 (uncertainty lemon)是对系统不确定性进行定义的一种方法。该图指出,模型仅在一定的幅值和频率范围内有效。

图3.5 模型不确定性的描述。图a给出了一个静态系统的不确定性,其中实线表示标称的输入/输出关系,虚线表示可能的不确定性范围。图b所示的不确定性柠檬图 [101] 是表示动态系统不确定性的一种方法,它强调仅当幅值和频率落在柠檬形的阴影区域内时,模型才是有效的。图c用一个标称模型 M 和一个不确定性模型Δ来表示模型,这里Δ模仿了参数不确定性的表示方法来表示模型的不确定性。

第13章将介绍一些正式的工具,它们将利用图3.5c这样的图形来描述不确定性。这些工具将用到传递函数的概念,即对输入/输出系统的频率响应进行描述的思想。目前只想简单地提醒大家,要时刻小心模型的局限性,不要超出模型的适用范围使用模型。例如,可以先描述不确定性柠檬图,然后再进行检查,以确保信号在不确定性柠檬图的范围之内。在早期模拟计算时代,系统是用运算放大器来仿真的,因此习惯上当某些信号超限时会发出警报。在数字仿真中也有类似的功能。 xsmZqj/Cj3fNg5bGzzZUvSVI3j++w93Dr3HeMeSF2hFzyljBPsSAbVBRWJQu4DEu

点击中间区域
呼出菜单
上一章
目录
下一章
×