4.5 状态观测器 在4.2 节中介绍控制系统设计的极点配置方法时,曾假设所有的状态变量均可有效地用于反馈。然而在实际情况中,不是所有的状态度变量都可用于反馈。这时需要要估计不可用的状态变量。需特别强调,应避免将一个状态变量微分产生另一个状态变量,因为噪声通常比控制信号变化更迅速,所以信号的微分总是减小了信噪比。有时一个单一的微分过程可使信噪比减小数倍。有几种不用微分来来估计不能观测状态的方法。不能观测状态变量的估计通常称为观测。估计或者观测状态变量的装置(或计算机程序)称为状态观测器,或简称观测器。如果状态观测器能观测到系统的所有状态变量,不管其是否能直接测量,这种状态观测器均称为全维状态观测器。有时,只需观测不可测量的状态变量,而不是可直接测量的状太态变量。例如,由于输出变量是能观测的,并且它们与状态变量线性相关,所以无需观测所有的状态变量,而只观测n-m个状态变量,其中n是状态向量的维数,m是输出向量的维数。 估计小于n个状态变量(n为状态向量的维数)的观测器称为降维状态观测器,或简称为降价观测器。如果降维状态观测器的阶数是最小的,则称该观测器为最小阶状态观测器或最小阶观测器。本节将讨论全维状态观测器和最小阶状态观测器。 4.5.1 引言 状态观测器基于输出的测量和控制变量来估计状态变量。在3.7节讨论的能观测性概念有重要作用。正如下面将看到的,当且仅当满足能观测性条件时,才能设计状态观测器。 在下面关于状态观测器的讨论中,我们用表示被观测的状态向量。在许多实际情况中,将被观测的状态向量用于状态反馈,以产生所期望的控制向量。 考虑如下线性定常系统  (4.27)  (4.28) 假设状态向量x由如下动态方程  (4.29) 中的状态来近似,该式表示状态观测器。注意到状态观测器的输入为y和u,输出为。式(4.29)的右端最后一项包含被观测输出C之间差的修正项。矩阵起到加权矩阵的作用。修正项监控状态变量。当此模型使用的矩阵A和B与实际系统使用的矩阵A和B之间存在差异时,由于动态模型和实际系统之间的差异,该附加的修正项将减小这些影响。图4.5所示为系统和全维状态观测器的方块图。 下面将详细讨论用矩阵A和B以及附加的修正项来表征动态特性的状态观测器,其中的附加修正项包含测量输出和估计输出之间的差。在讨论过程中,假设在此模型中使用的矩阵A和B与实际系统使用的相同。 图4.5 全维状态观测器方块图 4.5.2 全维状态观测器 在此讨论的状态观测顺的阶数和系统的阶数相等。假设系统由式(4.27)和(4.28)定义。观测器方程由式(4.29)定义。 为了得到观测器的误差方程,用式(4.27)减去式(4.29),可得  (4.30) 定义和之差为误差向量,即  则式(4.30)改写为  (4.31) 由式(4.31)可看出,误差向量的动态特性由矩阵A - KeC的特征值决定。如果矩阵A -KeC是稳定矩阵,则对任意初始误差向量e (0),误差向量都将趋近于零。也就是说,不管x (0)和(0)值如何,都将收敛到x (t)。如果所选的矩阵A - KeC的特征值使得误差向量的动态特性渐近稳定且足够快,则任意误差向量都将以足够快的速度趋近于零(原点)。 如果系统是完全能观测的,则可证明可以选择。使得A - KeC具有任意所期望的特征值。也就是说,可以确定观测器的增益矩阵,以产生所期望的矩阵A - KeCo 下面讨论这个问题。 4.5.3 对偶问题 全维状态观测器的设计问题,是确定观测器增益矩阵,使得由式(4.31)定义的误差动态方程以足够快的响应速度渐近稳定(渐近稳定性和误差动态方程的响应速度由矩阵A-KeC的特征值决定)。因此,全维观测的设计就变为确定一个合适的,使得A-KeC具有所期望的特征值。因而,全维状态观测器的设计问题就变成与4.2节讨论的极点配置问题相同, 考虑如下的线性定常系统  在设计全维状态观测器时,我们可以求解其对偶问题。也就是说,求解如下对偶系统  的极点配置问题。假设控制输入为  如果对偶系统是状态完全能控的,则可确定状态反馈增益矩阵K,使得矩阵得到一组期望的特征值。 如果μ1,μ2,…,μn是期望的状态观测器矩阵特征值,则通过取相同的μi作为对偶系统的状态反馈增益矩阵的期望特征值,可得  注意到和的特征值相同,可得  比较特征多项式和观测器系统(参见式(4.31))的特征多项式,可找出和的关系为  因此,采用在对偶系统中由极点配置方法确定矩阵K,原系统的观测器增益矩阵K,可通过关系式确定。 4.5.4 可观测条件 如前所述,对于A - KeC所期望特征值的观测器增益矩阵的确定,其充要条件为:原系统的对偶系统  是状态完全能控的。该对偶系统的状态完全能控的条件是  的秩为n 。这是由式(4.27)和(4.28)定义的原系统的完全能观测性条件。这意味着。由式(4.27)和(4.28)定义的系统的状态观测的充要条件是系统完全能观测。 下面将介绍解决状态观测器设计问题的直接方法(而不是对偶问题的方法),采用对偶问题的方法来确定求观测器增益矩阵的爱克曼公式。 4.5.5 全维状态观测器的设计 考虑由下式定义的线性定常系统  (4.32) 式中,。假设系统是完全能观测的,又设系统结构如图4.5所示。 在设计全维状态观测器时,如果将式(4.32)和(4.33)给出的系统变换为能观测标准形就很方便了。如前所述,可按下列步骤进行:定义一个变换矩阵P,使得  (4.34) 式中R是能观测性矩阵  (4.35) 且对称矩阵W由式(4.6)定义,即  式中,是由式(4.32)给出的如下特征方程的系数  显然,由于假设系统是完全能观测的,所以矩阵WR的逆存在。 现定义一个新的n维状态向量ξ为 x = Pξ (4.36) 则式(4.32)和(4.33)为  (4.37)  (4.38) 式中  (4.39)  (4.40)  (4.41) 式(4.39)到(4.41)的推导见例4.7和4.8。式(4.37)和(4.38)是能观测标准形。因而给定一个状态方程和输出方程,如果系统是完全能观测的,并且通过采用式(4.36)给出的变换,将原系统的状态向量x变换为新的状态向量ξ,则可将给定的状态方程和输出方程变换为能观测标准形。注意,如果矩阵A已经是能观测标准形,则Q = I。 如前所述,选择由  = (4.42) 给出的状态观测器的动态方程。现定义  (4.43) 将式(4.43)代入式(4.42),有  (4.44) 用式(4.37)减去式(4.44),可得  (4.45) 定义  则式(4.45)为  (4.46) 要求误差动态方程是渐近稳定的,且以足够快的速度趋于零。确定矩阵的步骤,是先选择所期望的观测器极点(的特征值),然后确定,使其给出所期望的观测器极点。注意,可得  式中  由于是一个n维向量,则  (4.47) 参考式(4.41),有  和   特征方程为  即  或者  (4.48) 可见,δn,δn-1,…,δ1中的每一个只与特征方程系数中的一个相关联。 假设误差动态方程所期望的特征方程为  (4.49) 注意,期望的特征值μi确定了被观测状态以多快的速度收敛于系统的真实状态。比较式(4.48)和(4.49)的s同幂项的系数,可得  从而可得  于是,由式(4.47)得到  因此  (4.50) 式(4.50)规定了所需的状态观测器增益矩阵。 如前所述,式(4.50)也可通过其对偶问题由式(4.13)得到。也就是说,考虑对偶系统的极点配置问题,并求出对偶系统的状态反馈增益矩阵K。那么,状态观测器的增益矩阵K可由确定(见例4.16)。 一旦选择了所期望的特征值(或所期望的特征方程),只要系统完全能观测,就能设计全维状态观测器。所选择的特征方程的期望特征值,应使得状态观测器的响应速度至少比所考虑的闭环系统快2~5倍。如前所述,全维状态观测器的方程为  (4.51) 注意,迄今为止,我们假设观测器中的矩阵A和B与实际系统中的严格相同。实际上,这做不到。因此,误差动态方程不可能由式(4.46)给出,这意味着误差不可能趋于零。因此,应尽量建立观测器的准确数学模型,以使误差小到令人满意的程度。 4.5.6 求状态观测器增益矩阵的直接代入法 与极点配置的情况类似,如果系统是低阶的,可将矩阵直接代入所期望的特征多项这可能更为简便。例如,若x是一个三维向量,则观测器增益矩阵可写为:  将该矩阵代入期望的特征多项式  通过使上式两端s的同次幂系数相等,可确定、和的值。如果n =1,2或者3,其中n是状态向量x的维数,则该方法很简便(虽然该方法用于n = 4,5,6,…的情况,但涉及到的计算可能非常繁琐)。 确定状态观测器增益矩阵的另一种方法是采用爱克曼公式。下面就介绍这种方法。 4.5.7 爱克曼公式(Ackermann’s Formula) 考虑如下的线性定常系统  (4.52)  (4.53) 在4.2节中,我们已推导了用于式(4.52)定义的系统的极点配置的爱克曼公式,其结果已由式(4.18)给出,现重写为  对于由式(4.52)和(4.53)定义的对偶系统  前述关于极点配置的爱克曼公式可改写为  (4.54) 如前所述,状态观测器的增益矩阵由给出,这里的由式(4.54)确定。从而  (4.55) 式中,是状态观测器的期望特征多项式,即  这里,μ1, μ2, …,μn是期望的特征值。式(4.55)称为确定观测器增益矩阵的爱克曼公式。 4.5.8 最优选择的注释 参考图4.5,应当指出,作为对装置模型修正的观测器增益矩阵,通过反馈信号来考虑装置中的未知因素。如果含有显著的未知因素,那么通过矩阵的反馈信号也应该比较大。然而,如果由于干扰和测量噪声使输出信号受到严重干扰,则输出y是不可靠的。因此,由矩阵引起的的反馈信号应该比较小。在决定矩阵时,应该仔细检查包含在输出y中的干扰和噪声的影响。 应强调的是观测器增益矩阵依赖于所期望的特征方程  在许多情况中,μ1, μ2, …,μn的选取不是唯一的。有许多不同的特征方程可选作所期望的特征方程。对于每个期望的特征方程,可有不同的矩阵。 在设计状态观测器时,最好是在几个不同的期望特征方程的基础上决定观测器增益矩阵。 这几种不同的矩阵必须进行仿真,以评估作为最终系统的性能。当然,应从系统总体性能的观点来选取最好的。在许多实际问题中,最好的矩阵选取,归结为快速响应及对于扰和噪声灵敏性之间的一种折衷。 ------------------------------------------------------------------------------ [例4.2] 考虑如下的线性定常系统  式中  设计一个全维状观测器。设系统结构和图4.5所示的相同。又设观测器的期望特征值为  由于状态观测器的设计实际上归结为确定一个合适的观测器增益矩阵,为此先检验能观测性矩阵,即  的秩为2。因此,该系统是完全能观测的,并且可确定期望的观测器增益矩阵。我们将用3种方法来求解该问题。 方法1:采用式(4.50)来确定观测器的增益矩阵。由于该状态矩阵A已是能观测标准形,因此变换矩阵。由于给定系统的特征方程为  因此  观测器的期望特征方程为  因此  故观测器增益矩阵可由式(4.50)求得如下  方法2:参见式(4.31)  定义  则特征方程为  (4.56) 由于所期望的特征方程为  比较式(4.56)和以上方程,可得  或  方法3:采用由式(4.55)给出的爱克曼公式。  式中  因此  从而  当然,无论采用什么方法,所得的是相同的。 全维状态观测器由式(4.51)给出为  或者  ------------------------------------------------------------------------------ 与极点配置的情况类似,如果系统阶数n ≥ 4,则推荐方法1和3,这是因为在采用方法1和3时,所有矩阵都可由计算机实现;而方法2总是需要手工计算包含未知参数的特征方程。 4.5.9 观测器的引入对闭环系统的影响 在极点配置的设计过程中,假设真实状态x(t)可用于反馈。然而实际上,真实状态x(t)可能无法测量,所以必须设计一个观测器,并且将观测到的状态用于反馈,如图4.6所示。因此,该设计过程分为两个阶段,第一个阶段是确定反馈增益矩阵K,以产生所期望的待征方程;第二个阶段是确定观测器的增益矩阵,以产生所期望的观测器特征方程。 现在不采用真实状态x(t)而采用观测状态研究对闭环控制系统特征方程的影响。 考虑如下线性定常系统  且假定该系统状态完全能控和完全能观测。 对基于观测状态的状态反馈控制  利用该控制,状态方程为  (4.57) 将直实状态x(t)和观测状态的差定义为误差e(t),即  将误差向量代入式(4.57),得  (4.58) 注意,观测器的误差方程由式(4.31)给出,重写为  (4.59) 将式(4.58)和(4.59)合并,可得  (4.60) 式(4.60)描述了观测-状态反馈控制系统的动态特性。该系统的特征方程为  或  注意,观测-状态反馈控制系统的闭环极点包括由极点配置单独设计产生的极点和由观测器单独设计产生的极点。这意味着,极点配置和观测器设计是相互独立的。它们可分别进行设计,并合并为观测-状态反馈控制系统。注意,如果系统的阶次为n,则观测器也是n阶的(如果采用全维状态观测器),并且整个闭环系统的特征方程为2n阶的。 由状态反馈(极点配置)选择所产生的期望闭环极点,应使系统能满足性能要求。观测器极点的选取通常使得观测器响应比系统的响应快得多。一个经验法则是选择观测器的响应至少比系统的响应快2~5倍。因为观测器通常不是硬件结构,而是计算软件,所以它可以加快响应速度,使观测状态迅速收敛到真实状态,观测器的最大响应速度通常只受到控制系统中的噪声和灵敏性的限制。注意,由于在极点配置中,观测器极点位于所期望的闭环极点的左边,所以后者在响应中起主导作用。 4.5.10 控制器-观测器的传递函数 考虑如下线性定常系统  且假设该系统状态完全能观测,但x不能直接测量。又设采用观测-状态反馈控制为  (4.61) 如图4.6所示,则观测器方程为  (4.62) 对式(4.61)取拉普拉斯变换  (4.63) 由式(4.62)定义的观测器方程的拉普拉斯变换为  (4.64) 设初始观测状态为零,即。将式(4.63)代入式(4.64),并对(s)求解,可得  (4.65) 将上述方程代入式(4.63),可得  这里在讨论时,u和y均为纯量。式(4.65)给出了U(s)和-Y(s)之间的传递函数。 图4.7为该系统的方块图。注意,控制器的传递函数为  因此,通常称此传递函数为控制器-观测器传递函数。  ------------------------------------------------------------------------------ [例12.3] 考虑下列系统的调节器系统设计:  (4.67)  (4.68) 式中  假设采用极点配置方法来设计该系统,并使其闭环极点为s =μi (i = 1, 2),其中。在此情况下,可得状态反馈增益矩阵K为  采用该状态反馈增益矩阵K,可得控制输入u为  假设采用观测-状态反馈控制替代真实状态反馈控制,即  式中,观测器增益矩阵的特征值选择为  现求观测器增益矩阵。并画出观测-状态反馈控制系统的方块图。再求该控制-观测器的传递函数U(s)/[-Y(s)],并画出系统的方块图。 对于由式(4.67)定义的系统,其特征多项式为  因此  该观测器的期望特征方程为  因此  为了确定观测器增益矩阵,利用式(4.50),则有  式中  因此  (4.69) 式(4.69)给出了观测器增益矩阵。观测器的方程由式(4.51)定义,即  (4.70) 由于  所以,式(4.70)为  或  具有观测-状态反馈的系统方块图如图4.8所示。 参照式(4.66),控制器-观测器的传递函数为  该系统的方块图如图4.9所示。 设计的观测-状态反馈控制系统的动态特性由下列方程描述。对于系统   对于观测器  作为整体而言,该系统是4阶的,其系统特征方程为  该特征方程也可由图4.9所示的系统的方块图得到。由于闭环传递函数为  则特征方程为  事实上,该系统的特征方程对于状态空间表达式和传递函数表达式是相同的。 ------------------------------------------------------------------------------ 4.5.11 最小阶观测器 迄今为止,我们所讨论的观测器设计都是重构所有的状态变量。实际上,有一些状态 变量可以准确测量。对这些可准确测量的状态变量就不必估计了。 假设状态向量x为n维向量,输出向量y为可量测的m维向量。由于m个输出变量是状态变量的线性组合,所以m个状态变量就不必进行估计,只需估计n-m个状态变量即可,因此,该降维观测器为n-m阶观测器。这样的n-m阶观测器就是最小阶观测器。图4.10所示为具有最小阶观测器系统的方块图。 图4.10 具有最小阶观测器的观测-状态反馈控制系统 如果输出变量的测量中含有严重的噪声,且相对而言较不准确,那么利用全维观测器可以得到更好的系统性能。 为了介绍最小阶观测器的基本概念,又不涉及过于复杂的数学推导,我们将介绍输出为纯量(即m = 1)的情况,并推导最小阶观测器的状态方程。考虑系统  式中,状态向量x可划分为(纯量)和(n-1维向量)两部分。这里,状态变量等于输出y,因而可直接量测,而是状态向量的不可量测部分。于是,经过划分的状态方程和输出方程为  (4.71)  (4.72) 式中,。 由式(4.71),状态可测部分的状态方程为  或  (4.73) 式(4.73)左端各项是可量测的。式(4.73)可看作输出方程。在设计最小阶观测器时,可认为式(4.73)左端是已知量。因此,式(4.73)可将状态的可量测和不可量测部分联系起来。 由式(4.71),对于状态的不能量测部分  (4.74) 注意,Ab axa和Bbu这两项是已知量,式(4.74)为状态的不可量测部分的状态方程。 下面将介绍设计最小阶观测器的一种方法。如果采用全维状态观测器的设计方法,则最小阶观测器的设计步骤可以简化。 现比较全维观测器的状态空间表达式和最小阶观测器的状态空间表达式。 全维观测器的状态方程为  最小阶观测器的状态方程为  全维观测器的输出方程为  最小阶观测器的输出方程为  因此,最小阶观测器的设计步骤如下: 首先,注意到全维观测器由式(4.51)给出,将其重写为  (4.75) 然后,将表4.1所做的替换代入式(4.75),可得  (4.76) 式中,状态观测器增益矩阵是(n-1)×1维矩阵。在式(4.76)中,注意到为估计,需对微分,这是不希望的,因此有必要修改式(4.76)。 表4.1 给出式(4.76)的最小阶状态观测器方程所做的替换 全维状态观测器 最小阶状观测器     A Abb  Bu Ab axa+Bbu  y   C Aab   (n×1矩阵)  [(n-1)×1矩阵]   注意到xa = y,将式(4.76)重写如下,可得  (4.77) 定义  及  (4.78) 则式(4.77)成为  (4.79) 从而式(4.79)和(4.78)一起确定了最小阶观测器。 下面推导观测器的误差方程。利用式(4.73),将式(4.76)改写为  (4.80) 用式(4.80)减去式(4.74),可得  (4.81) 定义  于是,式(4.81)为  (4.82) 这就是最小阶观测器的误差方程。注意,e是(n-1)维向量。 如果矩阵  的秩为n-1(这是用于最小阶观测器的完全能观测性条件),则仿照在全维观测器设计中提出的方法,可选定最小阶观测器的误差状态方程。 由式(4.82)得到的最小阶观测器的期望特征方程为  (4.83) 式中,μ1,μ2,μn -1是最小阶观测器的期望特征值。观测器的增益矩阵确定如下:首先选择最小阶观测的期望特征值(即将特征方程(4.83)的根置于所期望的位置),然后采用在全维观测器设计中提出并经过适当修改的方法。例如,若采用由式(4.50)给出的确定矩阵的公式,则应将其修改为  (4.84) 式中的是(n -1)×1维矩阵,并且  这里,均为(n -1) ×(n -1)维矩阵。注意,是如下特征方程的系数:  同样,如果采用式(4.55)给出的爱克曼公式,则应将其修改为  (4.85) 式中  ------------------------------------------------------------------------------ [例4.4] 考虑系统  式中  假设输出y可准确量测,因此状态变量x1(等于y)不需估计。设计一个最小阶观测器(该最小阶观测器是二阶的)。此外,假设最小阶观测器的期望特征值为  参照式(4.83),该最小阶观测器的特征方程为:  下面采用由式(4.85)给出的爱克曼公式(例4.20介绍用式(4.84)来确定)。  (4.86) 式中  由于  可得  式(4.86)为  参照式(4.78)和(4.79),最小阶观测器的方程为  (4.87) 式中  注意到  最小阶观测器的式(4.87)为  或  图4.11 具有观测器的状态反馈控制系统 式中  或  如果采用观测-状态反馈,则控制输入为  式中的K为状态反馈增益矩阵(矩阵K不是在本例中确定的)。图4.11所示为具有观测-状态反馈系统结构的方块图,图中的观测器为最小阶观测器。 ------------------------------------------------------------------------------ 4.5.12 具有最小阶观测器的观测-状态反馈控制系统 对于具有全维状态观测器的观测-状态反馈控制系统,我们已经指出,其闭环极点包括由极点配置设计单独给出的极点,加上由观测器设计单独给出的极点。因此,极点配置设计和全阶观测器设计是相互独立的。 对于具有最小阶观测器的观测-状态反馈控制系统,可运用同样的结论。该系统的特征方程可推导为  (4.88) 详细情况请参见例4.13。具有最小阶观测器的观测-状态反馈控制系统的闭环极点,包括由极点配置的闭环极点(矩阵A-BK的特征值)和由最小阶观测器的闭环极点(矩阵)两部分组成。因此,极点配置设计和最小阶观测器设计是互相独立的。这就是所谓的极点配置与阶观测器设计的分离性原理。 4.6 利用MATLAB设计状态观测器 本节将介绍用MATLAB设计状态观测器的几个例子。我们将举例说明全维状态观测器和最小阶状态观测器设计的MATLAB方法。 ------------------------------------------------------------------------------ [例4.5] 考虑一个调节器系统的设计。给定线性定常系统为  式中  且闭环极点为s =μi(i=1,2),其中  期望用观测-状态反馈控制,而不用真实的状态反馈控制。观测器增益矩阵的特征值为  试采用MATALB求必需的状态反馈增益矩阵K和观测器增益矩阵。 [解] 对于所考虑的系统,MATLAB Program 4.5可用来确定状态反馈增益矩阵K和观测器增益矩阵。 MATLAB Program 4.5  %------ Pole placement and design of observer ------ %***** Design of a control system using pole-placement %technique and state observer. First solve pole-placement %problem ***** %***** Enter matrices A,B,C,and D ***** A=[0 1;20.6 0]; B=[0;1] C=[1 0]; D=[0]; %***** Check the rank of the controllability matrix M ***** M=[B A*B]; Rank(M) ans= 2 %***** Since the rank of the controllability matrix M is 2, %arbitrary pole placement is possible ***** %***** Enter the desired characteristic polynomial by %defining the following matrix J and computing poly(J) ***** J=[-1.8+2.4*i 0;0 -1.8-2.4*i]; Poly(J) ans= 1.000 3.6000 9.0000 %***** Enter characteristic polynomial Phi ***** Phi=polyvalm(poly(J),A); %***** State feedback gain matrix K can be given by ***** K=[0 1]*inv(M)*Phi K= 3.6000 %***** The following program determines the observer matrix Ke ***** %***** Enter the observability matrix RT and check its rank ***** RT=[C’ A’*C’]; rank(RT) ans= 2 %***** Since the rank of the observability matrix is 2, design of %the observer is possible ***** %**** Enter the desired characteristic polynomial by defining %the following matrix J0 and entering statement poly(JO) ***** JO=[-8 0;0 -8]; Poly(JO) ans= 1 16 64 %***** Enter characteristic polynomial Ph ***** Ph=polyvalm(ply(JO),A); %***** The observer gain matrix Ke is obtained from ***** Ke=Ph*(inv(RT’))*[0;1] Ke= 16.0000 84.60000   求出的状态反馈增益矩阵K为  观测器增益矩阵为  该系统是4阶的,其特征方程为  通过将期望的闭环极点和期望的观测器极点代入上式,可得  这个结果很容易通过MATLAB得到,如MATLAB Program 4.6所示,(MATLAB Program 4.6是MATLABProgram 4.5的继续。矩阵A、B、C、K和已在MATLAB Program 4.5中给定)。 MATLAB Program 4.6  %------- Characteristic polynomial ------- %***** The characteristic polynomial for the designed system %is given by |sI-A+BK||sI-A+KeC| ***** %***** This characteristic polynomial can be obtained by use of %eigenvalues of A-BK and A-KeC as follows ***** X=[eig(A-B*K);eig(A-Ke*C)] X= -1.8000+2.4000i -1.8000-2.4000i -8.0000 -8.0000 poly(X) ans= 1.0000 19.6000 130.6000 374.4000 576.0000   ------------------------------------------------------------------------------ [例4.6] 考虑在例4.4讨论的设计最小阶观测器的同一问题。该系统为  式中  假定状态变量x1(等于y)是可量测的,但未必是能观测的。试确定最小阶观测器的增益矩阵。期望的特征值为  试利用MATLAB方法求解。 [解] 下面介绍该问题的两个MATLAB程序。MATLAB Program 4.7采用变换矩阵P,MATLAB Porgram 4.8采用爱克曼公式。 MATLAB Program 4.7  %-------- Design of minimum-order observer -------- %***** This program uses transformation matrix P ***** %***** Enter matrices A and B ***** A=[0 1 0;0 0 1;-6 -11 -6]; B=[0;0;1]; %***** Enter matrices Aaa,Aab,Aba,Abb,Ba,and Bb. Note %that A=[Aaa Aab;Aba Abb] and B=[Ba;Bb] ***** Aaa=[0];Aab=[1 0];Aba=[0;-6];Abb=[0 1;-11 -6]; Ba=[0];Bb=[0;1]; %***** Determine al and a2 of the characteristic polynomial %for the unobserved portion of the system ***** P=poly(Abb) P= 1 6 11 a1=p(2);a2=p(3); %***** Enter the reduced observbility matrix RT and matrix W ***** RT=[Aab’ Abb’*Aab’]; W=[a1 1;1 0]; %***** Enter the desired characteristic polynomial by defining %the following matrix J and entering stastement poly(J) ***** J=[-2+2*sqrt(3)*i 0;0 -2-2*sqrt(3)*i]; JJ=poly(J) JJ= 1.0000 4.0000 16.0000 %***** Determine aal and aa2 of the desired characteristic %polynomial ***** aa1=JJ(2);aa2=JJ(3); %***** Observer gain matrix Ke for the minimum-order observer %is given by ***** Ke=inv(W*RT’)[aa2-a2;aa1-a1] Ke= -2 17   MATLAB Program 4.8  %----- Design of minimum-order observer ----- %***** This program is based on Ackermann’s formula ***** %***** Enter matrices A and B ***** A=[0 1 0;0 0 1;-6 -11 -6]; B=[0;0;1]; %***** Enter matrices Aaa,Aab,Aba,Abb,Ba,and Bb. Note %that A=[Aaa Aab;Aba Abb] and B=[Ba;Bb] ***** Aaa=[0];Aab=[1 0];Aba=[0;-6];Abb=[0 1;-11 -6]; Ba=[0];Bb=[0;1]; %***** Enter the reduced observability matrix RT ***** RT=[Aab’ Abb’*Aab’]; %***** Enter the desired characteristic polynomial by defining %the following matrix J and entering statement poly(J) ***** J=[-2+2*sqrt(3)*i 0;0 -2-2*sqrt(3)*i]; JJ=poly(J) JJ= 1.0000 4.0000 16.0000 %**** Enter characteristic polynomial Phi ***** Phi=polyvalm(poly(J),Abb); %**** Observer gain matrix Ke for the minimum-order observer %is given by **** Ke=Phi*inv(RT’)*[0;1] Ke= -2 17  ------------------------------------------------------------------------------ 4.7 伺服系统设计 在经典控制理论中,我们通常按前馈传递函数中的积分器数目来划分系统的类型。I型系统在前馈通道中有一个积分器,且此系统对阶跃响应不存在稳态误差。本节将讨论I型伺服系统的极点配置方法,此时,将限制每个系统具有一个纯量控制输入u和一个纯量输出y。 下面首先讨论含积分器的I型伺服系统的设计问题,然后讨论不含积分器时的I型伺服系统的设计问题。 4.7.1 具有积分器的I型伺服系统 考虑由下式定义的线性定常系统  (4.89)  (4.90) 式中,。 如前所述,假设控制输入u和输出y均为纯量。通过选择一组适当的状态变量,可以选择输出量等于一个状态变量(见第3章介绍的求传递函数系统的状态空间表达式的方法,这时输出量y等于x1)。 图4.12画出了具有一个积分器时,I型伺服系统的一般结构。这里,假设y =x1。在分析中,假设参考输入r是阶跃函数。在此系统中,采用下面的状态反馈控制规律为 图4.12 具有一个积分器的系统的I型伺服系统  (4.91) 式中  假设在t = 0时施加参考输入(阶跃函数)。因此t > 0时,该系统的动态特性由式(4.89)和(4.91)描述,即  (4.92) 设计I型伺服系统,使得闭环极点配置在期望的位置。所设计的将是一个渐近稳定系统,y()将趋于常值r(r为阶跃输入),u()将趋于零。 在稳态时,  (4.93) 注意,r(t)是阶跃输入。对t > 0,有r()=r(t)=r(常值)。用式(4.92)减去(4.93),可得  (4.94) 定义  因此,式(4.94)成为  (4.95) 式(4.95)描述了误差动态特征。 I型伺服系统的设计转化为:对于给定的任意初始条件e(0),设计一个渐近稳定的调节器系统,使得e(t)趋于零。如果由式(4.89)确定的系统是状态完全能控的,则对矩阵A-BK,通过指定的所期望的特征值μ1,μ2,…,μn,可由4.2节介绍过的极点配置方法来确定线性反馈增益矩阵K。 x(t)和u(t)的稳态值求法如下:在稳态()时,由式(4.92)可得  由于A-BK的期望特征值均在s的左半平面,所以矩阵A-BK的逆存在。从而,x()可确定为  同样,u()可求得为  ------------------------------------------------------------------------------ [例4.7] 考虑系统传递函数具有一个积分器时的I型伺服系统的设计。假设系统的传递函数为  设计一个I型伺服系统,使得闭环极点为。假设该系统的结构与图4.12所示的相同,参考输入r是阶跃函数。 [解] 定义状态变量x1,x2和x3为 ,, 则该系统的状态空间表达式为  (4.96)  (4.97) 式中  参见图4.12并注意到n = 3,则控制输入u为  (4.98) 式中  此时,就可用极点配置方法确定状态反馈增益矩阵K。 现检验系统的能控性矩性。由于  的秩为3。因此,该系统是状态完全能控的,并且可任意配置极点。 将式(4.98)代入式(4.96),可得  (4.99) 式中的r为阶跃函数。因此,当t趋于无穷时,x(t)趋于定常向量x()。在稳态时,  (4.100) 从式(4.99)减去式(4.100),可得  定义  那么  (4.101) 式(4.101)确定了误差的动态特性。该系统的特征方程为  因此  由于A-BK的期望特征值为  所以期望的特征方程为  因此  为了利用极点配置方法来确定矩阵K,采用式(4.13),将其重写为  (4.102) 由于式(4.96)已是能控标准形的,所以P = I。因此  该系统的阶跃响应容易由计算机仿真求得。由于  由式(4.99),可得设计系统的状态方程为  (4.103) 输出方程为  (4.104) 当r为单位阶跃函数时,求解式(4.103)和(4.104),即可求得y(t)对t的单位阶跃响应曲线。MATLAB Program 4.9可求出单位阶跃响应。所得的单位阶跃响应曲线如图4.13所示。 注意到,因此由式(4.100),可得  MATLAB Program 4.9   %------ Unit-step response ------ %***** Enter the state matrix A,control matrix B, output matrix C, %and direct transmission matrix D ***** A=[0 1 0;0 0 1;-160 -56 -14]; B=[0;0;160]; C=[1 0 0]; D=[0]; %***** Enter step command and plot command ***** t=0:0.01:5; y=step(A,B,C,D,1,t); plot(t,y) grid title(‘Unit-Step Response’) xlabel(‘t Sec’) ylabel(‘Output y’)   图4.13 例4.7设计的系统y(t)对t的单位阶跃响应曲线 由于  所以   显然,。在阶跃响应中没有稳态误差。 注意,由于  所以  即在稳态时,控制输入u为零。 ------------------------------------------------------------------------------ 4.7.2 系统中不含积分器时的I型伺服系统的设计 如果系统中没有积分器(0型系统),则设计I型伺服系统的基本原则是在误差比较器和系统间的前馈通道中插入一个积分器,如图4.14所示(当不含积分器时,图4.14所示方块图是I型伺服系统的基本形式)。 由图中可得  (4.105)  (4.106)  (4.107)  (4.108) 式中,。 假设由式(4.105)定义的系统是状态完全能控的。该系统的传递函数为  为了避免插入的积分器在系统原点处与零点有相约的可能,假设在原点处没有零点。 假设在t = 0时施加参考输入(阶跃函数),则对t > 0,该系统的动态特性可由式(4.105)和(4.108)的组合来描述,即  (4.109) 试设计一个渐近稳定系统,使得、和分别趋于常值。因此,在稳态时,,并且。 注意,在稳态时  (4.110) 其中r(t)为阶跃输入,从而对t > 0,r() = r(t) = r(常值)。从式(4.109)中减去式(4.110),可得  (4.111) 定义  则式(4.111)改写为  (4.112) 式中  (4.113) 由  定义一个新的(n+1)维误差向量e (t),因此式(4.112)成为  (4.114) 式中  且式(4.113)成为  (4.115) 这里  设计I型伺服系统的基本思想是设计一个稳定的(n+1)阶调节器系统,对于给定的任意初始条件e (0),将使新的误差向量e (t)趋于零。 式(4.114)和(4.115)描述了该(n+1)阶调节器系统的动态特征。如果由式(4.114)定义的系统状态完全能控,则通过指定该系统的期望特征方程,采用在4.2节介绍的极点配置方法来确定矩阵。 x(t)、ξ(t)和u(t)的稳态值可确定如下:在稳态()时,由式(4.105)和(4.108)可得  将上述两式可合并为如下向量-矩阵方程为  如果由  (4.116) 定义的矩阵P的秩为n+1,则其逆存在,并且  同样地,由式(4.107)可得  因此  注意,如果由式(4.116)给出的矩阵P的秩为n+1,则由式(4.114)定义的状态完全能控(参见例4.15),该问题的解可采用极点配置方法求得。 状态误差方程可通过将式(4.115)代入式(4.114)得到,即  (4.117) 如果矩阵的期望特征值(即期望闭环极点)确定为,则可确定状态反馈增益矩阵和积分增益常数。在实际设计中,必须考虑几个不同的矩阵(它对应于几组不同的期望特征值),且可进行计算机仿真,以便找出使系统总体性能最好的作为最终选择的矩阵。 在通常情况下,不是所有的状态变量均可直接量测。如果情况确实如此,我们必须采用观测器。图4.15所示为具有状态观测器的I型伺服系统的方块图。 图4.15 具有状态观测器的I型伺服系统 4.8 利用MATLAB设计控制系统举例 考虑倒立摆控制系统,如图4.16所示。在该例中,我们仅讨论摆和小车在图面内的运动。 图4.16 倒立摆控制系统 希望尽可能地保持倒立摆垂直,并控制小车的位置。例如,以步进形式使小车移动。为控制小车的位置,需建造一个I型伺服系统。安装在小车上的倒立摆系统没有积分器。因此,将位置信号y(表示小车的位置)反馈到输入端,并且在前馈通道中插入一个积分器,如图4.17所示(将该系统与4.4节讨论的系统进行比较,后者没有输入作用于小车上)。假设摆的角度和角速度很小,以致于,和。又假设M、m和l的值与4.4节讨论的系统的对应数值相同。也就是说 M = 2千克, m = 0.1千克, l = 0.5米 图4.17 倒立摆系统(当不含积分器时的I型伺服系统) 参照4.4节(式(4.21)和(4.22)),该倒立摆控制系统的主程为:  (4.118)  (4.119) 代入给定的数值,式(4.118)和(4.119)成为  (4.120)  (4.121) 定义状态变量为  因此,参照式(4.120)和(4.121)和图4.7,且考虑作为系统输出的小车位置x,可得该系统的方程为  (4.122)  (4.123)  (4.124)  (4.125) 式中  对于I型伺服系统, 我们得到用式(4.114)给出的状态误差方程为  (4.126) 式中  及由式(4.115)给出的控制输入为  这里  现用极点配置方法确定所需的状态反馈增益矩阵,即采用式(4.13)确定矩阵。 下面首先介绍一种解析方法,然后再介绍MATLAB解法。 在进一步讨论前,必须检验矩阵P的秩,其中  且矩阵P为  (4.127) 易知,该矩阵的秩为5。因此,由式(4.126)定义的系统是状态完全能控的,并可任意配置极点。相应由式(4.126)给出的系统的特征方程为  因此  为了使设计的系统获得适当的响应速度和阻尼(例如,在小车的阶跃响应中,约有4~5秒的调整时间和15%~16%的最大超调量),选择期望的闭环极点为 (i=1,2,3,4,5),其中  这是一组可能的期望闭环极点,也可选其他的。因此,期望的特征方程为  于是  下一步求由式(4.4)给出的变换矩阵P  这里Q和W分别由式(4.5)和(4.6)得出,即   于是  矩阵P的逆为  参见式(4.13),矩阵计算为  因此  且  4.8.1 所设计系统的单位阶跃响应特性 确定了状态反馈增益矩阵K和积分增益常数,小车位置的阶跃响应可通过下列状态方程求得,即  (4.128) 由于  式(4.128)可写为  (4.129) 或  图4.18画出了x1(t)、x2(t)、x3(t)、x4(t)和ξ(t) ( = x5(t) ) 对t的响应曲线。图中,作用在小车上的输入r(t)为单位阶跃函数,即r(t) =1米。注意,x1=θ、x2=、x3 = x和x4=。所有的初始条件均等于零。 x3 (t) ( = x(t) )的阶跃响应正如所希望的那样,调整时间约为4.5秒,最大超调量约为11.8%。在位置曲线(x3(t) 对t的曲线)上,有一点很有趣,即最初的0.6秒左右,小车向后移动,使得摆向前倾斜。然后,小车在正方向加速运动。 x3(t) 对t的响应曲线清晰地显示了x3()趋于r。同样的,x1 () = 0、x2 () = 0、x4 () = 0和 = 1.1。这一结果由以下分析方法证实。在稳态时,由式(4.122)和(4.125)可得  将其合并为  由于已求出矩阵  的秩为5,所以矩阵的逆存在。因此  参照方程(4.127),可得  因此  从而  由于  或  可得  由于,故由式 (4.125) 可得  从而  因此,对r = 1,可得  如图4.18所示。 应强调的是,在任意的设计问题中,如果响应速度和阻尼不十分满意,则必须修改所期望的特征方程,并确定一个新的矩阵。必须反复进行计算机仿真,直到获得满意的结果为止。 4.8.2 用MATLAB确定状态反馈增益矩阵和积分增益 MATLAB Program 4.10可用于设计倒立摆控制系统。注意,在程序中,用符号A1、B1和KK分别表示、和,即  MATLAB Program 4.10   %----- Design of an inverted pendulum control system ------ %***** In this program we use Ackermann’s formula for %pole placement ***** %***** This program determines the state feedback gain matrix %K=[k1 k2 k3 k4] and integral gain constant KI ***** %***** Enter matrices A, B, C, and D ***** A=[0 1 0 0 20.601 0 0 0 0 0 0 1 -0.4905 0 0 0]; B=[0;-1;0;0.5]; C=[0 0 1 0]; D=[0]; %***** Enter matrices A1 and B1 ***** A1=[A zeros(4,1);-C 0]; B1=[B;0]; %***** Define the controllability matrix Q **** Q=[B1 A1*B1 A1^2*B1 A1^3*B1 A1^4*B1] ; %**** Check the rank of matrix Q ***** rank(Q) ans= 5 %**** Since the rank of Q is 5, the system is completely %state controllable. Hence, arbitrary pole placement is %possible ***** %**** Enter the desired characteristic polynomial, which %can be obtained by defining the following matrix J and %entering statement poly(J) ***** J=[-1+sqrt(3)*i 0 0 0 0 0 -1-sqrt(3)*i 0 0 0 0 0 -5 0 0 0 0 0 -5 -5 0 0 0 0 -5]; JJ=poly(J) JJ= 1.0000 17.0000 109.0000 335.0000 550.0000 500.0000 %**** Enter characteristic polynomial Phi ***** Phi=polyvalm(poly(J),A1); %***** State feedback gain matrix K and integral gain constant %KI can be determined from ***** KK=[0 0 0 0 1]*(inv(Q))*Phi KK= -157.6336 -35.3733 -56.0652 -36.7466 50.9684 k1=KK(1), k2=KK(2), k3=KK(3), k4=KK4, KI=-KK(5) k1= -157.6336 k2= -35.3733 k3= -56.0652 k4= -36.7466 KI= -50.9684   4.8.3 所设计系统的单位阶跃响应特性 一旦确定了反馈增益矩阵K和积分增益常数,小车的位置对阶跃的响应就可通过求解式(4.129)求得,现将其重写为  (4.130) 该系统的输出为x3(t),即  (4.131) 将由式(4.130)和(4.131)给出的系统矩阵(状态矩阵)、控制矩阵、输出矩阵及直接传输矩阵分别记为AA、BB、CC和DD。 MATLAB Program 4.11可用于给出所设计系统的阶跃响应曲线。注意,为了求得对单位阶跃的响应,需输入命令  图4.19给出了x1、x2、x3 ( = 输出y )、x4对t和x5( =ξ)对t的响应曲线(在图4.18中,这些响应曲线均表示在同一个图上)。 MATLAB Program 4.11   %------ Step response of the designed system ------ %**** The following program is to obtain step response %of the inverted pendulum system just designed ***** %***** Enter necessary matrices ***** A=[0 1 0 0;20.601 0 0 0;0 0 0 1;-0.4905 0 0 0]; B=[0;-1;0;0.5]; C=[0 0 1 0]; D=[0]; K=[-157.6336 -35.3733 -56.0652 -36.7466]; KI=-50.9684; AA=[A-B*K B*KI;-C 0]; BB=[0;0;0;0;1]; CC=[C 0]; DD=[0]; %**** Next, enter the following command **** t=0:0.02:6; [y,x,t]=step(AA,BB,CC,DD,1,t); plot(t,x) grid title(‘Response Curves x1, x2, x3, x4, x5 versus t’) xlabel(‘t Sec’) ylabel(‘x1, x2, x3, x4, x5’) text(1.3,0.04,’x1’) text(1.5,-0.34,’x2’) text(1.5,0.44,’x3’) text(2.33,0.26,’x4’) text(1.2,1.3,’x5’) %***** The above response curves were presented in Figure 4.18 ***** %***** To obtain response curves x1 versus t, x2 versus t, %x3 versus t, x4 versus t, and x5 versus t, separately, enter %the following command ***** x1=[1 0 0 0 0]*x’; x2=[0 1 0 0 0]*x’; x3=[0 0 1 0 0]*x’; x4=[0 0 0 1 0]*x’; x5=[0 0 0 0 1]*x’; subplot(3,2,1); plot(t,x1) ;grid title(‘x1 versus t’) xlabel(‘t Sec’) ylabel(‘x1’) subplot(3,2,2); plot(t,x2);grid title(‘x2 versus t’) xlabel(‘t Sec’) ylabel(‘x2’) subplot(3,2,3); plot(t,x3);grid title (‘x3 versus t’) xlabel(‘t Sec’) ylabel(‘x3’) subplot(3,2,4); plot(t,x4);grid title(‘x4 versus t’) xlabel(‘t Sec’) ylabel(‘x4’) subplot(3,2,5); plot(t,x5);grid title(‘x5 versus t’) xlabel(‘t Sec’) ylabel(‘x5’)   图4.19 x1、x2、x3 ( = 输出y )、x4和x5( =ξ)对t的曲线 习题 4.1 给定线性定常系统  式中  试将该状态方程化为能控标准形和能观测标准形。 4.2 给定线性定常系统  式中  试将该状态方程化为能观测标准形。 4.3 给定线性定常系统  式中  采用状态反馈控制律,要求该系统的闭环极点为s = -2±j4,s = -10。试确定状态反馈增益矩阵K。 4.4 试用MATLAB求解习题4.3。 4.5 给定线性定常系统  试证明无论选择什么样的矩阵K,该系统均不能通过状态反馈控制来稳定。 4.6 调节器系统被控对象的传递函数为  定义状态变量为  利用状态反馈控制律,要求闭环极点为 (i=1,2,3),其中  试确定必需的状态反馈增益矩阵K。 4.7 试用MATLAB求解习题4.6。 4.8 给定线性定常系统  式中  试设计一个全维状态观测器。该观测器矩阵所期望的特征值为。 4.9 考虑习题4.8定义的系统。假设输出y是可以准确量测的。试设计一个最小阶观测器,该观测器矩阵所期望的特征值为,即最小阶观测器所期望的特征方程为。 4.10 给定线性定常系统  式中  假设该系统的结构与图4.5所示的相同。试设计一个全维状态观测器,该观测器的期望特征值为。 4.11 给定线性定常系统   该观测器增益矩阵的一组期望的特征值为 。试设计一个全维观测器。 4.12 考虑习题4.11给出的同一系统。假设输出y可准确量测。试设计一个最小阶观测器。该最小阶观测器所期望的特征值为。 4.13考虑图4.21所示的I型伺服系统。图中的矩阵A、B和C为  试确定反馈增益常数和,使得闭环极点为。试利用计算机对所设计的系统进行仿真,并求该系统单位阶跃响应的计算机解,绘出y(t)对t的曲线。 4.14 考虑4.4节讨论的倒立摆系统。参见图4.2所示的原理图。假设 M = 2千克,m = 0.5千克,l = 1米 定义状态变量为  输出变量为  试推导该系统的状态空间表达式。 若要求闭环极点为  试确定状态反馈增益矩阵K。 利用已被求出的状态反馈增益矩阵K,用计算机仿真检验该系统的性能。试写出一个MATLAB程序,以求出该系统对任意初始条件的响应。对一组初始条件 米/秒 试求x1(t),x2(t),x3(t)和x4(t)对t的响应曲线。 4.15 考虑4.4节讨论的倒立摆系统。假设M、m和l 的值与4.4节中的相同。对于该系统,状态变量定义为  试求该系统的状态空间表达式。 假设采用状态反馈控制律,试设计一个稳定的控制系统。考虑以下两种情况下所期望的闭环极点 情况1:; 情况2: 试确定在这两种情况下的状态反馈增益矩阵K。再求设计出的系统对初始条件  的响应,并比较这两种系统的响应。 4.16 考虑4.7节讨论的倒立摆系统。设计一个状态反馈增益矩阵K,其中已知和积分增益常数。假设该系统所期望的闭环极点为 。试用MATLAB确定增益矩阵K和积分增益常数。再求当单位阶跃输入作用于小车位置时的阶跃响应曲线。