从系列:修剪和线性化
布莱恩•道格拉斯
与线性化的一般理解,你可能会遇到一些障碍在现实的非线性模型线性化。这些困难是可以避免的,如果你有一个更实际的了解线性化是如何完成的,这就是我们将讨论在这个视频。
不连续函数可以线性化吗?如何仿真软件线性化万博1manbetx层次模型?你应该期待什么来确定你的模型可以线性化吗?
看这个视频来找出答案。
从上一节,我们有一个好的理解底层的线性化的概念。在最基本的层面上,我们看到一个函数的一阶偏导数在稳态操作点,使边坡的假设是一个很好的近似非线性函数的只要我们保持接近操作点。在水箱的例子中,我们解决了偏导数,然后用它们来建立一个线性模型。但任意系统这样做是不切实际的,因为分析推导可以无法完成或,至少,一个耗时的活动。在这些情况下,我们可以把在MATLAB和Simulink模型和线性化的工具。万博1manbetx然而,如果我们只是盲目地开始线性化模型在模型与线性化的一般理解我们将可以避免触及一些snags-snags如果我们有一个万博1manbetx更实际的理解线性化是如何完成的。这就是我们将讨论在这个视频。我是布莱恩,欢迎来到MATLAB技术说话。
开始,让我们重温水箱的线性化的例子。操作点是百巴= 4。这导致稳态电压2 a / b的线性近似Hdot这个函数的H和诉现在,让我们在仿真软件中打开水箱的例子,看看我们是否可以生成相同的线性模型。万博1manbetx用默认的a, b,和一个值,我们希望稳态电压0.8 V和线性模型Hdot H = -0.025 + 0.25 V。
我们会在两个部分:首先,我们将削减系统在操作点H酒吧= 4,第二,我们将在稳态条件线性化。
修剪系统,我们需要找到准确输入电压,水的高度在4米,或4英尺,或4秒差距,或任何单位。
我们要减少使用修剪函数内部模型控制设计。万博1manbetx这里,我们选择状态和输入我们想要解决一个特定的值,然后让软件确定自由州和自由输入的值,使其稳定状态。我期望的高度设置为4,让软件计算必要的输入电压。事实上,我们发现它是0.8 V。这很好。
修剪工具的好处是,它能够很好地处理复杂系统与多个州和输入。看到这,看看飞机修剪的例子,我在下面描述。
好的,现在我们有一个修剪系统,我们可以在线性化操作点,我们刚刚创建并得到一个线性模型的状态空间表示。一个矩阵是-0.025和0.25 B矩阵。因为我们的模型的输出也是状态函数,矩阵C是1,因为没有前馈在此系统中,D矩阵是0。这是我们手工计算相同的结果。
完美的。所以软件似乎是削减和线性化模型以同样的方式,我们做手工。
模型没有方法万博1manbetx线性化以完全相同的方式,我想解释为什么一些细节,因为理解你的工具工作在引擎盖下面会很长一段路要找出适当的方式使用它们来得到最好的结果。
用手方法,我们看着整个端到端微分方程,解决了一个矩阵的偏导数。然而,模型不是看整万博1manbetx个系统作为一个整体。相反,它渗流分开每一块,结合产生的个人线性模型得到一个完整的线性化模型。这很好,因为我们可以大,层次模型Simulink-models那将是不切实际的减少一个微分出去而不是只关注每个个体块。万博1manbetx让我们来做这个水箱模型。
线性块显然是很容易使线性化以后,他们已经线性。这是他们每个人的状态空间表示。水箱模型只有一个非线性块:平方根函数。
仿真软件是怎样处理万博1manbetx呢?好吧,让我们思考如何将手工方法线性化。我们的函数求导和斜率在操作条件。在某种意义上,这正是仿真软件是做这一块。万博1manbetx模型内的许多非线性块被分配一个雅可比矩阵;万博1manbetx这是隐藏在物体的元数据。在平方根函数的情况下,雅可比矩阵就是函数的导数。所以仿万博1manbetx真软件使用,来确定线性模型的根块。
一旦所有的块都是线性化,他们结合成一个单一的状态空间表示。这种方法同样的想法用于自动分化有时被用来发现衍生品的软件代码。减少这样的模型也是基于函数类似于你如何减少传输框图,哪里有规定如何处理串行块,平行,反馈,等等。但是在引擎盖下,仿真软件实现通过制定系统万博1manbetx为线性分式变换,这是一个有趣的话题但是超出了这个视频的范围。
好,线性化的模型仿真软件最终每个人一杯啤酒万博1manbetx和结合一模一样我们创建的模型。它的确切的原因是一个非线性的块有一个分析推导出雅可比矩阵,所以没有通过任何形式的近似引入的错误。我认为这是相当了不起的。
好了,这是理想的情况下,有一个预定义的雅可比矩阵。但是看着块单独的好处是,我们可以看到理想情况的变化,当我们在我们的模型中使用其他非线性块。而不是使用内置的平方根模型块,比方说我们写自己的MATLAB万博1manbetx函数块,需要输入的平方根。MATLAB功能块以来没有一个分配给它的雅可比矩阵里面有什么可以任意代码块。
所以在这种情况下会发生什么?万博1manbetx由轻微扰动模型接近雅可比矩阵块输入和任何内部状态和测量输出。这平方根函数操作可视化,通过4.01和3.99想象发送,然后使用结果来计算斜坡。这是一个雅可比矩阵的数值近似。这里的关键是确保扰动步是一个适当的大小来估计当地的斜率。太大,你得到更多的平均面积,太小了,你可能是线性的量子化效应或任何代码中存在的高频信号。
如果你不想依靠雅可比矩阵的数值近似,第三种方法,仿真软件可以处理非线性块。万博1manbetx你可以决定你想要一块非线性线性化,然后分配块线性化。这可以通过右击并选择线性分析,然后指定所选块线性化。例如,我可能会迫使我的平方根函数线性化任意状态空间模型的选择。现在当我线性化,仿真软件不会试图估计雅可比矩阵数值;万博1manbetx它会使用指定的线性化。你可以看到它,事实上,这样做虽然模型我给它表现得一点也不像一个平方根函数。所以你可以使用这种方法来执行完全线性化的情况下你想要的数值扰动可能不会产生你正在寻找的结果。我们会讲到这一点的一个例子。
这是雅可比矩阵线性化的方法,仿真软件的方法:分析,数字万博1manbetx,和分配或分配的块的水平。
我把所有这些方法的原因是,因为它会帮助我们搬过去可微的模型(或模型定义的斜率)和我们讨论线性化不连续系统。如果没有可微的,然后发现这一点的斜率没有多大意义,对吧?嗯,这取决于情况。
让我们看看旋转摩擦,存在于一个旋转马达。当电机不转动,断裂扭矩需要克服粘摩擦扭矩,把它移动。在低速,Stribeck摩擦的非线性行为,然后随着汽车加速,线性粘滞摩擦的本质变成主流。由于摩擦反对运动,这是完全相反的负方向。
现在让我们考虑操作马达0 RPM。例如,您想要构建一个伺服可以以非常低的速度在两个方向上旋转。是否有意义使用线性模型设计控制器在这个操作点吗?
显然,摩擦转矩操作点是不连续的,所以我们需要仔细考虑线性化。
让我们最好的情况,断裂扭矩是小相比,整体操作扭矩。在电机仍有摩擦,但这并不明显。在这种情况下,摩擦的行为可以合理近似为一条直线,或获得等于粘性摩擦。然而,正如我们所知,这不是可微函数在0 RPM即使不连续是非常小的,所以我们不能得到一个线性模型使用雅可比矩阵。如果我们试图在仿真软件线性化这个块约0 RPM,它会抛出一个错误,说明这个块产生非限定的状态空间矩阵。万博1manbetx为了解决,我们可以用我们的知识,在操作点是不连续相比微不足道的整体动力学和分配这个块指定的线性化。
如果我们把最坏的情况,断裂扭矩是巨大的,我们还可以线性化这个系统吗?我们可以指定一个特定的街区可以做线性化;然而,我们可以合理地得出这样的结论:线性模型不能充分捕捉周围的电动机的动态0 RPM所以它不会创建一个意义。事实上,即使在操作点一块是可微的,它可能是高度非线性,任何线性模型,再一次,将无法捕捉相关的动力学在操作区域。即线性模型有效性的地区是小于的区域操作。
早些时候我的意思,我说我们可以在线性化过程中遇到了一些困难,如果我们不完全理解我们线性化系统的性质。仅仅因为一个系统不是可微的,并不意味着你不能适应良好的线性模型。但另一方面,线性模型的可微系统高度非线性可能排除一些非常重要的动力。
我想提到的最后一件事,迅速的区别是通过微分线性化,这是我们谈论在这个视频中,由拟合线性模型和线性化系统。我的意思是,我们还可以使用系统辨识和频率响应方法来找到一个线性模型,而无需解决雅可比矩阵。这是我们的简短描述注入一个已知的信号系统,测量输出,然后想出一个线性模型,也有类似的行为。
我不想让你离开思想只有一个线性化方法,但是我不打算进入这些拟合方法在这个视频。我把这些主题为未来的视频。
如果你不想错过下一个科技视频说话,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我覆盖更多的控制理论主题。谢谢收看。下次再见。