介绍:系统建模 设计控制体统的第一步是通过自然规律或者实验数据建立适当的数学模型。我们会引进状态空间和传递函数来代表系统。然后我们回顾一些基本的机械或者电力系统模型,并且会在MATLAB中展示怎么近一步分析。
目录
按确定性规律随时间演化的系统,称为动态系统。对于很多物理模型来说,这种规律可以表示为一组一价微分方程:
在上面的方程中, 任意一时刻的状态 在Eq.(1)中的关系是很普遍的可以用来描述很多系统,但是,它很难分析。通常有两种简化方法。第一,如果函数f不随时间变化,i.e. 第二通常的假设是关于系统的线性度的。实际上,几乎每一个物理系统都是非线性的。换句话说,f是关于状态和输入的很复杂的函数。这些非线性产生于很多不同的方面,最常见的一种是,系统的一个元素达到了系统运转中的物理极限,就是说系统‘饱和’。不过,在一个足够小的工作范围内,大多数系统的动态近似线性,即 直到电脑出现,只有分析线性定常系统是可行的。因此,大部分控制理论是基于上面的两个假设。幸运的是,正如我们将看到的,这些结果已被证明是非常有效的,许多重大的工程挑战已经使用LTI技术解决。事实上,反馈控制系统的真正的优势是他们可以工作,在不可避免的不确定性建模的情况下。
对于线性定常系统,状态空间模型的标准如下:
x为状态向量, 输出方程式(3)是必不可少的,因为有些状态变量不容易直接观察或者不感兴趣。通过控制器,输出矩阵C用于指定状态变量。D是零矩阵时,也常常没有直接的前馈控制。 状态空间表示法,也被称为时域表示,可以轻松地处理多输入多输出(MIMO)系统,具有非零初始条件的系统和非线性系统(通过公式(1))。因此,状态空间表示是广泛应用于现代控制理论。
LTI系统有极其重要的属性,如果系统的输入是正弦的,然后输出将正弦在相同的频率,但一般具有不同的幅度和相位。这些的幅度和相位差作为频率的函数被称为系统的频率响应。 使用拉普拉斯变换,它可以把一个系统的时域到频域表示输出/输入表示,称为传递函数。在这样做时,它也将微分方程化为代数方程往往是更容易分析。 一个时域函数的拉普拉斯变换,
其中参数 是一个复杂的频率变量。在实践中,你可以直接评估的拉普拉斯变换是非常罕见的。通常都是通过查表发现你感兴趣的函数变换:拉普拉斯变换表 Laplace Transform Table 一个函数的n阶导数的拉普拉斯变换是特别重要的:
频域方法通常用来分析线性时不变的单输入单输出(SISO)系统,例如由一个常系数微分方程如下:
这个方程的拉普拉斯变换如下:
传递函数的分子和分母可变换成所谓的零极点增益形式:
传递函数的零点是 请注意,我们还可以直接从状态空间确定的传递函数表示如下:
牛顿定律是分析机械系统的基础。牛顿第二定律,公式(11),表明作用在物体上的力的总和等于质量乘以加速度。牛顿第三定律,指出如果两体连接,然后他们的经验同样大小的力作用在相反的方向。
应用该方程时,最好是建立一个受力分析图(FBD)显示所有施加的力。
这个系统的受力分析图如下所示。弹力与质量块的位移x成正比,粘性阻尼力与质量的速度 现在我们进行总结和运用牛顿第二定律力量,方程(11)。在这种情况下,没有力作用在Y 轴方向;然而,在X方向我们可得:
这个方程,称为控制方程,完全刻画系统的动态状态。后来,我们将看到如何使用它计算系统的响应,在任何外部输入 确定的质量-弹簧-阻尼器系统的状态空间表示,我们必须降低二阶方程为一组两个一阶微分方程。为此,我们选择的位置和速度作为状态变量。
注意,这些状态变量分别对应于在弹簧的势能和质量块的动能。经常选择状态变量时,它有助于考虑系统中德独立的储能元件。 在这种情况下,状态方程如下:
如果我们在控制质量块的位置感兴趣,然后输出方程如下:
现在我们将告诉你如何通过m-file在MATLAB中输入状态空间方程。让我们为每个变量分配数值。 创建一个新文件,输入以下命令。 假设初始条件为零时拉式变换为:
传递函数为
现在我们将告诉你如何通过m-file在MATLAB中输入传递函数。输入如下命令在你定义过系统参数的m文件中。 请注意,我们所使用的符号变量s来定义我们的传递函数模型。大多数情况下,我们建议使用此方法;然而,在某些情况下,例如在旧版本的MATLAB 或者要连接Simulink时,你可能需要直接使用的分子和分母多项式的系数定义的传递函数模型。在这些情况下,使用下面的命令:
像牛顿定律在机械系统,基尔霍夫电路法是电力系统分析的基本工具。基尔霍夫电流定律(KCL)状态的电流进入和退出一个电路节点的总和必须等于。基尔霍夫电压定律(KVL)指出,电压差在电路中的任何闭环的总和是零。应用KVL时,源电压通常为阳性和负载电压作为负。
现在我们考虑一个简单的三个电子元件的串联组合:一个电阻,电感,和一个电容器,被称为一个RLC电路。 由于该电路是一个单环,每个节点只具有一个输入和输出;因此,由KCL知整个电路中的电流相同。现在应用KVL,我们得到以下方程。
我们注意到,方程为RLC电路对质量-弹簧-阻尼器系统类似的形式。特别是,他们都是二阶系统,电荷(积分电流)对应的位移,感应系数对应质量,电阻对应粘性阻尼,电容对应弹簧刚度。在理解的动力系统时,这些类比和像他们这样的类比会成为非常有用的概念。 建立状态空间时,通过选择电荷和电流作为状态变量。
状态方程为:
选择电流作为输出:
传递函数可以求得通过做拉式变化:
RLC的状态空间和传递函数模型可以写入matlab,使用与讨论了的质量-弹簧-阻尼器系统的相同方法。
在本节中,我们已经看到了如何使用基本的物理原理建立模型系统;然而,这往往是不可能的因为系统的参数是不确定的,或基本过程是根本不知道。在这些情况下,我们必须依靠实验测量和统计技术来开发一个系统模型,这一过程称为系统辨识。 系统识别可以使用时域或频域数据进行系统辨识,Introduction: System Identification详见系统辨识介绍页。 也可以查阅MATLAB的 System Identification Toolbox 获得更多的信息。
在MATLAB的大部分操作对于对传递函数模型,状态空间模型,或零极点增益形式都可以很好的运行。此外,如果有需要的话,三种形式的转换是很简单的。如果你需要学习如何从一种表示形式转换为其他,详见系统转换介绍页Introduction: System Conversions。
|
|