从系列:控制系统在实践中
布莱恩•道格拉斯
通常,最好的控制系统是最简单的。当你试图控制的系统高度非线性,这可能导致非常复杂的控制器。这个视频继续我们的讨论在控制系统在实践中通过谈论一个简单形式的非线性控制:增益调度。
增益调度是一个线性的方法,调整收益控制器基于系统的当前状态。这样,增益调度控制器能够产生足够的控制整个系统的工作范围分割成更小的范围,线性控制的地区。切换控制器的收益,但是,会有一些意想不到的效果。除了提供一个直观的理解得到调度,这个视频走过一些方法来实现这些控制器和如何选择实现的一些负面影响最小化切换收益。
增益调度是经常在实践中使用,所以值得学习的基础知识与这个视频这个方法。然而,没有什么是比自己坐下来练习它。以下是一些教程和例子将帮助您开始在MATLAB设计增益调度控制器®和仿真软金宝app件®。
让我们继续讨论控制系统在实践中通过谈论非线性控制的一种形式:增益调度。我有这个想法当我大学毕业,我将花很多时间应用先进的非线性控制理论,建立真正的控制器。但我发现,在大多数情况下,你想要用最简单的设计,因为这些通常是便宜的设计和更容易实现,理解和解决。有一些简单的非线性控制器,开关控制器的恒温器是其中之一,但一般非线性控制背后的数学是更复杂的,只能适用于狭窄的分类系统。因此,有时候,最好的办法就是坚持尝试和真正的线性控制器,即使是高度非线性系统。这就是我们要做的与增益调度。我是布莱恩,欢迎来到MATLAB技术说话。
想象你被要求开发一个音调控制器为商用飞机的自动驾驶仪。当自动请求一定的螺旋角,控制器需要比较,命令对当前螺旋角,然后驱动电梯控制表面相应调整音高。你已经得到一个线性传递函数的植物和验证线性系统表现不够,您可以使用这个模型来设计和优化您的控制器。如果你所有你需要做的是设计系统工作时飞机保持在巡航飞行高度和速度,然后你可以设计一个线性控制器将会工作的很好。
但是,有一个。这个模型只代表一个操作的飞机的动力学条件。飞机不飞在一个单一的操作条件。马赫数的变化,动态压力,襟翼位置,重心和质量变化燃料消耗,攻角的变化等等。操作条件总是改变。和每个操作条件都有自己的一组参数,因此不同的线性模型的实例。这是一类非线性系统被称为线性参数变化系统(LPV)。模型本身是线性的,但随时间变化的参数,或者在操作条件。所以你的线性控制器,与一个单一的操作条件,很可能工作在其他操作条件的不同实例模型。
所以我们能做些什么呢?我们可以尝试设计一个复杂的非线性控制器,将工作在整个操作范围,我们可以尝试设计鲁棒线性控制器,将工作——尽管这几乎肯定是一个性能下降,甚至是不可能的,我们可以限制船员只在巡航在非常严格的条件下进行自动驾驶仪,或者我们可以使用一个线性控制器和基于一个时间表改变控制器的收益,我们定义。让我们去选择。
让我们更紧密的简化框图我们的反馈控制系统。对于这个想法练习,我们使用一个PID控制器,但任何gain-based控制架构的工作。PID控制器有三个可调,Kp, Ki, Kd,假设我们已经开发了一组给定马赫数上扬。也许低马赫数0.3左右。
让我们假设我们想出了这些收益。在这一点上我们已经确定,当飞机加速高马赫数,这些收益不再满足我们想要的表现,我们重新调整PID为这个新的操作条件。现在我们有另一组收益。
我们有两套独立的收益和直观地将意义实时测量飞机的速度,并选择一组获得的时候慢慢飞,另一组获得的飞行速度的时候。这是一个非常简单的安排。我们选择的增益调度变量的基础上,在我们的案例中马赫数。
一旦我们选择我们想要的成果,我们需要能够更新控制器与这些新收益。这就是箭头来自顶部的PID控制器的目的是代表。在仿真软件中,金宝app有一些控制器模块允许您定义获得作为外部输入这个原因。我留下了一个链接到更多这方面的信息在下面的描述中,如果你想看看和实践开发自己的调度器。
好了,到目前为止,我们只有一个调度变量,马赫数。但现在让我们看看操作信封或护林员的飞机能飞两个调度变量:马赫数和动压,我们得到的调度图是这样的——一分为二,两个不同的增益集。然而,我们可能会发现,收益不工作在整个范围的动态压力,我们要添加一个新的时间表基于这个变量。现在我们有四个增益集组成的每组的三个增益PID控制器。通过这种方式,我们可以划分操作信封和征服每个条件分别跳增益集之间的马赫数和动压变化。我们可以添加第三个调度变量,重心的位置,使三维地图。和一个第四维度攻角等等。你可以看到变量矩阵的速度增加,这是一个画背的增益调度。你想分割操作信封到处足以让良好的性能,但不会让你有不朽的调优任务。
非常大的增益矩阵的另一个缺点是,你必须将它们存储,然后有效地搜索控制器的值。所以有一些希望保持尽可能小。
边注:这个图表是一个很好的演示的角落。当你有多个条件操作在他们极端,图形化的角落里的信封。通常,这些角情况下的异常值是你的设计,因为你必须考虑到两个或两个以上的极端条件。所以当你调整控制器,你会发现它是相对简单和快速的操作信封,然而,你花费更多的时间和精力让角情况下工作。
现在,我们有了一个解释什么是增益调度,让讨论如何实现它。总的来说,有四个步骤,前两个步骤我认为您可能已经猜到了:
第一步,线性化植物在每个设计操作条件。基本上,我们希望开发一个线性控制器,我们需要确保我们有一个线性的植物。参考我们的安排很简单,只有两个增益集:一个用于高马赫数和一个用于低马赫数。在这种情况下,你会选择两个操作点,一个在每个区域。你会想找一个点的平均植物变化在整个区域,这样当你调整控制器,它有最好的机会仍然生产足够的性能在整个地区。后来,如果你发现有一个地方的性能也不是那么好,你可以切了一组新的地区获得工作。
这里的重要部分是,至少你覆盖关键操作点。这可能是系统的稳态运行点以及地方的结构或稳定模型的变化。了解你的系统将帮助您确定这些关键的点在哪里。
LPV系统类似,你已经有一个线性模型。然后这一步你只需要选择设计点,找到相关的参数。
现在我们有线性模型,第二步是调整为每一个控制器增益。基本上,而不是一个单一的设计问题,我们花费在尽可能多的设计问题有设计操作点。在我们的例子中,我们使用一个PID控制器,所以我们会以同样的方式优化每一个我们调整其他PID控制器。有许多不同的小控制问题的好处是,需求不需要为每个设计点是相同的。你可以选择不同的需求因为可行性问题或者只是因为你想要的行为是不同的。
值得一提的是这里的东西就是用这种方法,我们只能保证性能,在相同情况下稳定,在设计点。我将向您展示一些我们使用单一组收益在整个区域,或者我们插值点之间的收益。无论哪种方式,我们只在少数景点和调优期望的性能将会足够整个包裹。所以你可能考虑这个当设置控制器需求通过增加设计利润或其他技术使控制器更健壮,这样它的最佳机会使用大面积的操作信封。你将在第四步评估性能,所以你应该能够捕捉任何异常值和改变工作的收益或分裂成两个较小的地区。
在这一点上,我们有一些设计的操作点和它们相关的增益集和有趣的部分开始。第三步是实现一个架构交换机之间的增益集基于调度变量。一个死去的简单的方法是实现一个简单的开关。如果调度变量小于某个值,使用增益设置,如果是大于或等于该值,然后使用增益集b,这是一个有吸引力的建筑,因为它是多么简单思考和实施,然而,它会产生一些意想不到的瞬态切换。
了解如何发生,想象以下情况。而不是一个PID控制器,假设我们可以只是一个比例控制器,这样只有一个增益值。我们有两个设计点在我们的时间表,上涨3当马赫数大于或等于0.5,上涨2当马赫数低于0.5。最初,飞机是在零度音高和我们命令自动驾驶仪节10度。飞机飞行在0.6马赫,飞机开始搭帐篷,相应地使用获得的3。随着飞机俯仰,速度开始下降。在0.5马赫,我们会说,周节误差是5度,我们还没有在10度,因此控制器的输出是15以来获得的3。在接下来的时间步,马赫数为0.499,增益开关立即设置为2。错误在这个时间并没有改变多少,所以它仍然是大约5度,因此控制器的输出跳跃到10。这将导致一个快速运动的电梯和飞机将会迅速改变音高,惊人的乘客和他们的饮料。 Not a great design.
为了解决这个问题的一个方法是通过实现稳定的开关。这种类型的开关不立即跳控制器的输出,因为它生成两个增益集之间的平稳过渡,例如,顺利从3增加到2在一些指定的时间段。这将删除,突然瞬态,但它可能有点棘手。这是因为您需要设置过渡时间足够长的时间,这样过渡平滑,但不久,增益不能过渡不够快。
另一种方式,可以说是一个更好的方法去除瞬变是一起的开关。而不是两个不同的增益集,我们可以开发一个曲线,平稳的变化从一个操作点到另一个地方。对于单一调度变量示例这可能意味着获得在低马赫数设置为2,和获得逐步上升的速度增加。这条曲线可以被定义为一个方程,或者只是一系列的点之间插入一个查找表。但自从获得总是变化平稳,然后尽快调度变量的变化,没有突然瞬变。
如果你有两个调度变量,那么你会想出一个在二者之间获得表面每个指定设计的操作点。用这种方法你可以还有你想要尽可能多的调度变量,它只是让表面描述收益更高的秩序。
你可能不知道这是很酷的工具Systune和控制系统在MATLAB和Simulink调谐器。金宝app用这些工具你可以选择你的设计操作点,获得表面定义为一个多项式方程,并自动调整收益的多项式。所以需要很多腿的为你工作。我离开了如何做到这一点的一个例子在下面描述。
不管选择什么架构,第四步是至关重要的:评估控制性能在整个操作信封——这通常是用模型和模拟,因为您需要运行大量的测试条件。是如果是模拟快得多。既然你不能保证性能的设计操作点,选择你的测试条件(你模拟和你不)是非常重要的。你需要确保所有的关键过渡和案例覆盖每一个潜在的角落。
尽管似乎是这种方法的不必要的工作量,增益调度通常用于实际情况详细所以值得学习和练习。
如果你只看这个视频有点了解增益调度的概念,太棒了!但如果你想练习我刚才覆盖或学习如何在MATLAB和Simulink实现这些肯定检查所有的例子和教程我与描述。金宝app
如果你不想错过下一个科技视频说话,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我覆盖更多的控制理论主题。谢谢收看,下次再见。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。