从系列:状态空间
布赖恩·道格拉斯
本视频提供了一个直观的理解杆位,也被称为全状态反馈。这是一种反馈每个状态以保证闭环稳定性的控制技术,是LQR和h_∞等其他方法的垫脚石。
我们将讨论控制律的结构,以及为什么移动极点或特征值会改变系统的动力学。我们还将复习MATLAB中的一个示例,并与其他控制技术进行一些有趣的比较。
在这段视频中,我们要谈的方式来开发一个模型反馈控制器的使用状态空间方程表示。而我们要做的是一个叫极点配置方法,或全状态反馈。现在,我的经验是本身没有在工业上广泛使用的极点配置;你可能会发现,你所使用的其他方法,如LQR或者H无穷更频繁。然而,极点配置是值得花一些时间,因为它会使用状态空间方程给你一个更好的了解,一般的方法来反馈控制的,这是一个踏脚石让那些其他方法。所以,我希望你留下来。我是布莱恩,欢迎到MATLAB技术讲座。
首先,我们有一个输入为u输出为y的工厂,我们的目标是开发一个反馈控制系统,将输出驱动到某个期望的值。您可能熟悉的一种方法是将输出与参考信号进行比较,以获得控制错误。然后你开发一个控制器,它使用这个误差项来产生输入信号到工厂,目标是把误差降到零。这是反馈系统的结构,如果你在开发一个PID控制器,你会看到它。
但是对于极点的位置,我们要用不同的方法来解决这个问题。而不是反馈输出y,我们会反馈每个状态变量的值在我们的状态向量,x。我们认为我们知道每个州,尽管它的价值并不一定输出y的一部分。我们会一点,但是现在,假设我们有访问所有这些值。然后我们用状态向量乘以一个由一系列不同增益值组成的矩阵。这个结果从一个缩放的参考信号中减去,然后直接输入到我们的装置中。
现在你会发现,没有在这里标注为“控制器”就像我们在上面框图块。在这种反馈结构,这整个部分是控制器。和极点配置是由我们可以计算适当的增益矩阵,以保证系统的稳定性的方法,以及在参考的缩放术语用于确保稳态误差性能是可接受的。我将在这个视频涵盖这两种。
在过去的视频中,我们介绍了状态方程x =点AX +卜。而我们发现,线性系统的动态在第一部分中,斧被捕获。第二部分是该系统如何响应输入,但如何在系统中的能量被储存,并移动通过斧术语捕获。所以,你可能会认为有关于A矩阵一些特别的东西,当涉及到控制器的设计。且有:任何反馈控制器具有修改的基质,以改变该系统的动态特性。当谈到稳定时,尤其如此。
A矩阵的本征值是系统的极点,和线性系统的极点使然稳定性的位置。这就是关键极点:通过移动极或闭环矩阵的特征值产生所需的闭环系统的稳定性。
我想拓展更多的在电线杆上,特征值和稳定的关系,我们再往前走,因为我认为它会帮助您了解放置到底有极作品前。
对于这个例子,我们先从一个任意的系统开始关注动力学,A矩阵。我们可以把它写成非矩阵的形式这样更容易看出状态导数和状态之间的关系。通常,每个状态都可以作为其他状态的函数而改变。这就是这里的情况;x·1在x2上的变化x·2在x1和x2上的变化。这是完全可以接受的,但它使它很难形象化特征值是如何贡献给整体动态。所以我们能做的就是把一个矩阵转换成一个用一组不同的状态变量来描述系统的矩阵。
该转化使用变换矩阵,它的列是A矩阵的特征向量来实现的。我们与改造后的是由沿对角线和零其他地方的复杂特征值的经修改的A矩阵到底是什么了。这两款车型代表了相同的系统。它们具有相同的特征值,同样的动力;它只是使用一组彼此独立的改变状态变量描述了第二个。
把矩阵写成对角形式,很容易就能得到一阶微分方程其中每个状态的导数只受那个状态的影响,其他的都不受影响。这是很酷的部分,微分方程的解是这样的形式Z = a常数乘以e t,其中是给定状态变量的特征值。
好的,让我们再深入研究一下这个方程。Zn表示给定初始条件c时状态随时间变化的情况,另一种考虑方法是用能量初始化状态,这个方程表示能量随时间变化的情况。通过改变,你可以影响能量是如何消耗的,或者,在一个不稳定的系统中,能量是如何增长的。
让我们通过几个不同的值,所以你可以直观地看到能量是如何变化的,基于特征值在复平面内的位置。
如果是一个负实数,那么这个模式是稳定的,因为解e是一个负数,任何初始能量都会随着时间消散。如果它是正的,那么它是不稳定的,因为能量会随着时间增长。如果有一对虚特征值,那么模态的能量就会振荡,因为e的虚数产生了sin和cos。特征值中任意实数和虚数的组合都会产生振荡和指数能量耗散的组合。
我知道这一切都很快,但希望它有足够的意义现在我们可以陈述我们要解决的问题。如果我们的植物的特征值在复平面上不合适的位置,那么我们可以用极点的位置把它们移到别的地方。当然,如果它们在右半边平面上,这是不可取的,因为它们是不稳定的,但不可取也可能意味着你想要摆脱振荡,或者可能只是加快或减慢能量在特定模式下的耗散。
与我们后面,我们现在可以进入如何极点移动的特征值。还记得控制器的结构,我们画了开头?这导致输入u = R *氪 - K * X。其中r氪是缩放的参考,这也我们会得到一个位。和KX是状态向量,我们正在通过增益矩阵反馈相乘。
这里就是神奇的发生。如果我们堵塞这个控制输入到我们的状态方程,我们正在完成一个循环,我们可以得到下面的状态方程:请注意,A和-Bk状态向量两种行为,所以我们可以结合他们得到改进的矩阵。
这是一个闭环矩阵我们可以通过选择合适的k来移动特征值这对于简单的系统来说是很容易的。让我们尝试一个具有单个输入的二阶系统的例子。我们可以通过设置A - I的行列式为0来找到特征值然后解出。在-2和+1处。其中一个模态会膨胀到无穷大因为正实特征值的存在所以系统是不稳定的。让我们使用极点配置来设计一个反馈控制器,通过将不稳定的极点移动到左半边平面来稳定这个系统。
我们的闭环矩阵是A - BK和增益矩阵,K,是1x2的,因为有一个输出和两个状态。这导致 - K1,1 - K2,2和-1。我们可以解决ACL的特征值像我们以前那样,我们得到这个特征方程就是我们的两个增益值的函数。
假设闭环极点是-1和-2。这样,特征方程就是L²+ 3L + 2 = 0。所以在这一点上,很容易找到合适的K1和K2使这两个方程相等。我们只要让系数相等,然后求解。我们得到K1 = 2和K2 = 1,就是这样。如果我们把这两个增益放在这个系统的状态反馈路径中,它将稳定在特征值为-1和-2的地方。
通过手的例子散步,我想,给你一个很好的理解极点配置;然而,数学参与开始变得势不可挡对于有两个以上的国家系统。我们的想法是一样的;刚刚解决了决定性变得不切实际。但是,我们能做到这一点同样的事情在MATLAB与几乎单一的命令。
我很快就会告诉你如何通过重新创建我们做手工同一系统中使用MATLAB的地方命令。我将定义四个矩阵,然后创建了开环状态空间物体。我可以检查开环矩阵的特征值只是告诉你,没有,事实上,积极的特征值,导致该系统不稳定。
不行,我们把方程组的特征值移到-2和-1。现在,使用极点配置来求解增益矩阵可以通过place命令来完成。我们得到了预期的增益值2和1。
现在,新的闭环矩阵是A - BK,只是仔细检查,这是何等的Acl样子,它确实有特征值在-1和-2。好吧,我将创建闭环系统对象,现在我们可以通过比较两者的阶跃响应。
的开环系统的阶跃响应是可预见的不稳定。闭环系统的阶跃响应看起来好多了。然而,它并不完美。而不是上升到1像我们预期,稳态输出仅为0.5。这是最后地方上的参考比例的用武之地。到目前为止,我们只关注了稳定,并已很少注意稳态性能。但是,即使解决这个是非常简单的。如果对输入的响应是只有一半的你所期望的,我们为什么不只需双击输入?这就是我们要做的。哦,不是一倍,但我们通过稳态值的倒数缩放输入。
在MATLAB中,我们可以通过反求系统的直流增益来实现这一点。你可以看到直流增益是0。5,所以倒数是2。现在,我们可以通过用kb扩展输入并检查阶跃响应来重建我们的闭环系统。不足为奇;它的稳态值是1。
而这差不多就是有基本的极点。我们以这样的方式移动闭环特征值,然后我们缩放参考信号,使稳态输出就是我们想要的反馈每一个状态变量和乘他们通过增益矩阵。
当然,除了我在这12分钟的视频中所讲的之外,还有更多关于杆位的内容,我不想拖得太久,但我也不想在这段视频中不讲一些更有趣的东西,让你们思考。所以,为了节省时间,让我们用闪电轮的方式来讨论这些最后的想法。你准备好了吗?我们走吧!
极点就像是看中根轨迹。随着根轨迹你有一个增益,你可以调整只能移动沿着轨迹线的两极。但随着极点,我们,让我们在复平面上任意移动的两极,不只是沿着单维线的能力的增益矩阵。
双态极点配置控制器与PD控制器非常相似。使用PD,您反馈输出并在控制器内生成导数。通过极点配置,你反馈的导数是一个状态,但结果本质上是一样的:2个增益,一个是状态,另一个是它的导数。
好了,我们可以随意移动的特征值,但我们应该放在哪里呢?这个问题的答案是更长的视频,但这里有一些事情要考虑。如果你有一个高阶系统,考虑保持两极更接近比其他虚轴,这样系统会像一个普通二阶系统。这些被称为主导极点,因为它们是速度较慢,往往主宰了系统的响应。
请记住,如果你尝试移动一堆特征值确实远远留在为了得到一个超快速的响应,你可能会发现你没有在你的驱动器的速度或权力产生必要的反应。这是因为它需要更大的增益,或更多的致动器的努力,从他们的开环的起点进一步移动的特征值。
完整的状态反馈有点用词不当。你在你的数学模型中反馈每一种状态,但是你不能,也不能,反馈真实系统中的每一种状态。仅举一个例子,在某种程度上,所有的机械硬件都是灵活的,这意味着附加的状态,但是您可以选择忽略模型中的这些状态,并假设系统是刚性的,开发您的反馈控制器。重要的是,您将所有关键状态反馈到您的设计中,这样您的控制器仍然可以在真正的硬件上工作。
你需要访问所有的临界状态才能得到反馈。输出y可能包括每个状态,在这种情况下,您已经全部设置好了。但是,如果不是这种情况,您将需要向系统添加更多的传感器来测量缺失的状态,或者使用现有的输出来估计或观察您没有直接测量的状态。为了观察你的系统,它需要是可见的,同样的,为了控制你的系统,它需要是可控的。下个视频我们会讲到这两个概念。
所以这是它现在。我希望这最后的一些想法帮助你了解多一点意味着什么做极点,以及它如何的一部分的整体控制架构。
如果你想要一些额外的信息,也有在说明几个环节是值得一试的是解释一下使用用MATLAB极点。
如果你不想错过下技术讲座视频,别忘了订阅此频道。另外,如果你想看看我的频道,控制系统的讲座,我覆盖更多的控制理论主题那里。感谢收看。我会看到你下一次。
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。