从系列:状态空间
布赖恩·道格拉斯
让我们来介绍状态空间方程,首选现代控制的模型表示。此视频是在MIMO控制系列的第一,并提供围绕着如何思考的状态变量,为什么这种表示是如此强大一些直觉。
有状态空间和状态变量的扎实的基础知识会帮助你学习建立在状态空间模型,如卡尔曼滤波,LQR控制,鲁棒控制的控制技术和预测控制模型。
在这个视频中,我将介绍状态空间方程,现代控制选择的模型表示。然而,在我们开始之前,一个快速的警告:我们不会深入状态空间的数学。在这个视频之后你可能无法写出任意系统的方程。但我认为你们会对这些方程有一个很好的直观理解,这可以成为你们学习更多的基础。至少,它可能会解决一些挥之不去的问题。记住这一点,我们开始吧。我是Brian,欢迎来到MATLAB技术讲座。
我想动态系统一个有趣的事情是,他们可以通过常微分方程来表示。这是因为他们有这个属性,系统如何在任何给定时间的变化是其当前状态的函数。
如果我们通过推导了弹簧质量系统拉链真正的快,你可以看到我们有一个微分方程结束。这里,变量p是位置,并且相对于所述第二导数的时间是加速度。方式的系统正在改变加速-是当前状态的功能,位置。如果这个动力系统与一些能初始化,将继续在自己的移动,因为状态的衍生物和国家本身之间的这种关系。想想通过拉伸弹簧和放手初始化这个系统。加速度变化速度,改变位置,然后改变加速,并且它会来回摆动,您无需添加任何外部输入。由于在这个系统中没有阻尼,能量是守恒的,这加速速度位置循环将永远继续下去。
对于任意的动力系统,如果我们看一下能量通过分析它的状态和它们的衍生物之间的关系如何变化,我们可以做出这样的事情了系统的稳定性要求。正在消散随着时间的能量?然后,系统稳定,速度更快的能量消耗,更稳定的它是。如果能量无限增长随着时间的推移,即使只是它的一部分,那么该系统作为一个整体是不稳定的。
稳定性是一个系统的简单地从该状态和它们的衍生物彼此连接的方式的固有特性。该系统的动作,但是,也可以通过外部能量的影响的方式被添加或随时间去除。这样的动态系统的衍生物均为当前状态的功能以及任何外部输入。
和状态空间是简单地高阶微分方程的重新包装成一组一阶微分方程,专注于这种关系。这种重新包装可以使系统更容易分析,因为我们可以看看互联系统以及如何系统由外部输入,甚至多个外部输入,这是非常强大的影响的基本行为。
还有很多控制技术是建立在状态空间模型上的,比如卡尔曼滤波、LQR控制、鲁棒控制和模型预测控制等等。当将系统模拟为状态空间模型时,也有数值求解的好处,因为您首先构建导数向量,然后对整个向量进行积分以得到状态。所以,总而言之,他们非常棒,值得学习。
让我们花点时间来看看详细的状态空间方程,并设法使他们的意义不大。为此,我们将着重在连续表格上的线性时不变系统。有两个方程。第一个是状态方程,我们已经开发了周围一点点的直觉,而第二个公式是输出方程,我会在短短位。
状态空间是建立在状态向量x。这是所有的状态变量的向量。状态矢量的变化,或状态矢量的导数,如何是当前状态加的外部输入的线性组合的线性组合。
In this way, we’re not trying to look at the entire dynamics of the system end to end like we would with a high-order differential equation or a transfer function, but rather focus on the dynamics of each state variable and how those variables relate to each other.
如何做的第一状态改变为所有国家和所有的输入的功能?如何在第二个状态变化为所有状态和输入的函数?等等。而且因为我们永远只能看着每个状态的一阶导数,我们用一组一阶微分方程的结束。
我们现在留下的是线性方程组,我们可以打包成矩阵形式的系统。如果线性代数是好什么,它肯定求解线性方程组的系统。
正是这种重新包装成矩阵形式,让我们获得了大量的数学工具,我们以前是没有的。
状态方程的矩阵形式有两个矩阵,A和b A矩阵描述内部状态是如何相互联系的,也就是系统的基本动力学;而B矩阵描述了输入是如何进入系统的——它们影响了哪些状态?
现在让我们看一下输出方程。Y是系统的,或者说你想知道的部分输出的载体。要认识到的重要一点是,产出不一定是状态变量。C矩阵描述了状态如何组合以获得输出,并且d矩阵被用于允许系统完全和前馈到输出端的输入,以旁路。
D矩阵的一个很简单的例子就是一个简单乘数的状态空间表示,增益块。输出等于输入乘以增益,这样A B C矩阵都是0因为没有导数和状态而D矩阵是增益的值。
当我们开始反馈输出,以制定我们的系统闭环控制输出方程的重要性将变得明显。但现在,这是不够了解公式的结构和反馈控制的下一个视频,我们将进入更深入的输出和状态方程之间的关系。
你可能已经注意到,状态变量是整个过程的关键。它们出现在三个地方,是我认为最难以概念化的部分。因此,理解它们是什么非常重要。状态变量是最低的一组完全描述系统的变量。完全描述意味着我们有足够的信息关于系统变化的部分,或可变的部分,我们可以预测系统的未来行为。
如果我们回到弹簧质量系统和苏斯什么状态变量是由没有关于系统的信息开始这样会更有意义。如果我画的春天和大众这样的,问你预测在什么地方,系统将会在一秒钟内,你需要什么样的信息?
Well, you’ll want the system constants like the spring constant and mass, and we’d want to know what the external force is that’s acting on the mass, so the inputs, but this only tells you part of the story because you don’t know what you might call the initial conditions for the variable parts of the system. If the mass is currently moving and how hard is the spring currently pulling on the mass. If we knew those two starting conditions, along with the system constants and inputs, then we’d be able to predict where the mass would be after one second.
因此,让我们考虑的第一个问题:是大众目前移动?我们会从大众的速度知道这一点,速度是可变的,因为质量会来回振荡,假设有在这个系统中的一些能量。我们需要为了预测未来的位置,所以我们可以说,这是一个状态变量速度;这是有必要的。
现在,让我们把初始弹簧力。力也是可变的,但让我们想想我们是如何得出会它。这是弹簧常数倍弹簧被拉伸的距离。因此,如果我们有一个距离,或质量相对于弹簧的拉伸长度的位置,那么我们就能够得到弹簧力。因此,我们要充分描述了该系统变量的最低数量是两个:位置和速度。而且,由于有两个,这是一个二阶系统。
因此,一个自然的问题现在可能是:为什么不更多的国家?为什么不是三个?
为了回答这个问题,让我们考虑加速度。它是一个变量,因为它随着位置和速度变化。然而,我们不需要知道加速度来完全描述系统;加速度是作用在质量上的力的结果,在这种情况下,力是质量位置的副产物。因此,我们通过位置获得加速度,在状态变量列表中添加加速度就是额外的信息。
一些初看起来似乎奇怪的是,如果我们增加一个阻尼器进入这个系统,我们不会增加该系统的订单,因为我们不需要任何额外的状态变量来解释这种额外的元素。从阻尼力是由质量,其中,再次,我们已经在我们的状态变量列表的速度决定。因此,这两个系统中具有相同数目的状态变量:二。
验证你一个方法必须描述一个系统所需的状态右侧的数字是计算电能存储装置,你的系统了。我不会,因为我觉得里克·希尔博士做了解释它在自己的YouTube视频,我在下面的描述中已经挂了伟大的工作进入太多细节在这里。但总的思路是这样的:以各种方式动态系统存储的能量。在我们的弹簧质量系统,有两种储能元件:春天,哪些商店势能和质量,这店动能。
该动力系统移动和改变自身仅仅是因为系统转让中存在的能量通过热量,最终失去了对环境的存储元件,并最终消散之间来回穿梭。在任何时候,如果我们知道有多少能量被储存在每一个元素,那么我们就知道它的状态,并有必要充分了解系统的状态信息。各州并不代表能量。他们只是需要确定的能量。
对于弹簧质量系统,我们知道从质量的速度质量的能量,我们知道在春天的能量从位置,或者从弹簧多远拉伸。如果我们知道那些能量是如何在系统,或者把它的另一种方式,每个国家如何吸收和失去基础上,目前国家能源内连接的系统,那么我们完全理解系统本身。
这本质上是什么状态空间做我们。综观状态变量-如何能量被存储和根据能量是如何状态之间转移组合它们,并从外部源中的任何额外的能量增加。
与希尔教授介绍了一些特殊的注意事项,这就是为什么在你的系统储能元件的数量等于状态的数量。因此,我们的弹簧 - 质量 - 阻尼器是二阶系统依然,因为阻尼器不会存储能量;它只是向外发散。
于是我们知道,规律是两个,但是为什么不能两种不同的状态?为什么位置和速度?那么,他们没有要。这就是事情可能会变得有些混乱。状态变量,位置和速度,可以被看作是状态空间内的坐标系。走在第五位的单位和三个速度单位。这点在状态空间是系统的当前状态,并且状态矢量描述该位置。
但是,我们可以与任何两个线性无关变量的状态空间描述这个位置。一些任意状态1和状态2,我们会拥有相同的系统状态,相同的总能量,只是使用不同的坐标。
我们总是用状态空间表示来重新定义状态变量。这就是我们正在做的,例如,当我们对角化矩阵使它变成所谓的模态形式。这两个模型代表了完全相同的系统,我们只是为状态向量选择了不同的坐标系,不同的基底。状态向量x由位置和速度组成,状态向量z由两个模态组成这些特定的状态是它们自己的函数。也就是说,状态1不依赖于状态2的当前值,反之亦然。如果我们可以用模态形式直接写出状态空间的表示,那么我们就可以。对于状态变量来说,位置和速度没有什么特别之处除了它们是对我们有直观意义的量。
然而,由于状态不再定义为位置和速度,如果我们想保持系统的输出为位置和速度,那么C矩阵也需要改变。这样,我们就可以看到输出方程的好处。我们不必按照定义的那样输出状态,而是能够将它们线性地组合成我们感兴趣的变量。
好吧,这就是我要离开这个视频了。我希望这有助于你想想在一个稍微不同的方式状态空间方程。而不是他们的思维为一组重新打包模式进入任意一阶微分方程矩阵,我们可以想想他们为每个状态变量分别写出动态。而动态是绑能量是如何存储和系统内传输。通过这样做,我们得到的是能够理解这些内部状态如何变化和相互关系,怎么能走动的利益,我们得到使用功能强大的工具,线性代数,分析和求解方程。
MATLAB和Simu万博1manbetxlink是巨大的环境与状态空间系统的工作。您可以使用多种内置工具转换为状态空间从一个传递函数,操纵矩阵,模拟它们,设计和分析控制系统。我将使用MATLAB来证明与状态空间方程,这个系列的其他控制技术。如果你不熟悉MATLAB使用状态空间,或者如果你正在寻找一个快速复习,我挂在那些值得一看的描述几部影片。在本系列的下一部影片,我将使用状态空间经过简单的反馈控制系统的设计。
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。
本网站使用Cookies来改善您的用户体验,个性化的内容和广告,并分析网站流量。通过继续使用本网站,您同意我们使用Cookie。请参阅我们的隐私政策要了解更多关于cookie和如何更改设置。