教程:如何找到最好的控制器

控制系统设计者始终在为应用程序寻求最佳的控制方法。参见例子、方程式和图表。

通过彼得•加 2022年9月6日
提供:Peter Galan,退休软件工程师

学习目标

  • 各种控制方法可以作为控制系统设计的一部分。
  • 学习最优控制、模糊控制、人工神经网络和经典的比例积分导数(PID)控制的控制系统基础知识。
  • 理解高级运动控制与图形、方程和例子的比较。

先进控制的见解,运动控制的人工智能

  • 每个控制系统设计者经常被问到什么控制方法是最好的。最好的工程答案是,这取决于应用程序。Peter Galan是一位退休的控制工程师,他用方程式、图表和例子巧妙地解释了高级过程控制应用的四种控制技术。
  • 他涵盖了最优控制,模糊控制和人工神经网络(或基于ann的控制),以及经典的比例-积分-导数(PID)控制。虽然深入的教程讨论可以应用于多个控制示例,但Galan着眼于基于伺服的运动控制。这是第十迦兰控制工程控制系统主题教程。

每个控制系统用户/设计师都可能被问到同一个问题:什么是最好的控制方法?控制方法的问题在今天尤其重要,因为与几十年前相比,我们有了更多的选择。很久以前,“黄金”(实际上是唯一的)解决方案是比例-积分-导数(PID)控制器。虽然PID控制没有什么问题,但实际的限制使得其他控制方法在许多应用中更可取。目前还有哪些“其他”控制方法可用?

本文考察了最优控制模糊控制而且人工神经网络(或基于ann的控制),除了经典PID控制.经典PID控制器的局限性可以在典型的控制系统(工厂)分析中看到。可以使用几个例子,但下面的例子集中在a位置伺服机构,广泛应用于工业机器人、自动驾驶汽车等许多不仅仅是工业领域的应用。

位置伺服系统识别

如果被控系统是基于恒励磁直流电动机的伺服机构(例如,使用永磁体),则可以用简化的传递函数来描述,角位移除以s域电压为:

地点:

  • K表示电机转矩常数
  • T表示电机的机械参数:J/B,在那里J总惯量包括载荷和吗B表示电机阻尼
  • “透明国际”表示积分常数(由电机转数和传动比决定)。

上面的传递函数表示一个一阶系统结合了一个积分器。理论上,还涉及到另一个一阶低通滤波器,具有相当于电机绕组电感和电阻之比的时间常数;这个时间常数明显小于主导常数,T,为常数,所以不需要考虑。

如果你是电机用户,而不是电机设计师,通过在开环中对其响应的实验测量来找到(主要的)时间常数可能更简单。为此,应用一个特定的驱动变量(电压,V)到伺服系统,例如,对应的最大伺服速度的50%。伺服必须完全加载,因为它将在常规工作条件下。扫描伺服位置响应,在到达最大位置前关闭。将测量值绘制成如图所示的图图1

图1:控制系统设计图显示了开环伺服系统的响应特性。提供:Peter Galan,退休软件工程师

图1:控制系统设计图显示了开环伺服系统的响应特性。提供:Peter Galan,退休软件工程师

根据上述特征,通过知道输入值(阶跃函数,V,对应最大伺服速度的50%,例如),确定T而且“透明国际”一个典型伺服系统的一阶“非稳态”(与一阶滞后相结合的积分器)传递函数的常数。

一种伺服系统综合控制系统

伺服电机和伺服驱动运动控制系统可以使用下面描述的各种闭环控制,包括方程、示例、图表、表格和图表。

如何应用PID控制器

PID补偿是一种最常见的闭环控制形式。为什么它如此受欢迎?在大多数应用中,受控过程可以用一阶或二阶传递函数来建模。PID控制器可以取消,或至少显著补偿,传递函数的两个极点。

PID控制器的传递函数,,在年代-domain可以表示为:

现在让我们有一个受控系统,它可以用一阶静态传递函数来近似

控制系统的开环传递函数,,等于

为什么用PD代替PID?首先,注意从完整的PID控制器,积分部分是缺失的。为什么?因为积分器已经存在于控制伺服系统中。

在优化调优的控制系统中比率必须匹配τ的值1时间常数,因此开环传递函数将减小为:

理想调优PD控制系统的闭环传递函数,,将等于:

这对应于一个具有时间常数的单极传递函数,,相当于在τ2是积分项时间常数,ΚP控制器和的比例常数是多少Κ是被控系统的增益。然而,如果使用如图1所示的响应特性来找到时间常数,则增益(即常数Κ)值变为1.0。那么闭环传递函数时间常数,,等于.这是非常好的,因为你可以实现从闭环控制系统更快的时间响应ΚP足够大。在实践中,“足够大”可以提供5到10倍快的响应。较高的值ΚP会导致反应不稳定。记住,在刚刚近似的系统参数中,实际值肯定不同。

为什么控制器需要限制器的例子然而,这样的优化调优P (I) D控制器有它的缺点。观察电机的输出(执行)变量P (I) D控制器看到,在控制过程的第一步,它达到了几乎无限高的值。它们迅速下降,但在相对较长的时间内,它们仍然远远高于这种控制系统(伺服机制)所能承受的范围。想象一下,一个以标称24V输入运行的伺服电机,在第一步中将获得数千伏的电压,然后是数百伏!没有一个控制器可以驱动这么高的电压,但即使有一个可以,电机也无法承受这么高的电压。需要什么?在控制器上添加限位器可确保执行变量永远不会超过被控系统(在这种情况下是直流电机)可接受的最大值。伺服机构的最终PID控制安排如图2所示。

图2:位置伺服系统的比例积分微分(PID)控制系统设计示意图。提供:Peter Galan,退休软件工程师

图2:位置伺服系统的比例积分微分(PID)控制系统设计示意图。提供:Peter Galan,退休软件工程师

在文章的最后,比较PID控制器的性能与其他类型的控制器。具有无限执行变量的最优调优PD控制器(即理想控制器)具有黄色所示的输出特征形状(图8);它的实用版本(执行变量限制为可接受的最大值)以红色显示。

应用时间最优(砰砰)控制

几十年来,最优控制一直是广泛研究的主题。关于最优控制的一些基本思想是值得回顾的。

定义了时间最优控制,并举例说明:想象一个带有直流电动机的普通电动伺服机构。目前的任务是控制伺服系统,使其在最短的时间内达到一个新的参考点。一个最优整定PID控制器如果必须应用一个现实的驱动变量,就不能实现这一目标。直观的反应是给直流电动机施加最大可接受的电压,并让电机全速前进。

然后,在一定的时间,改变电压极性,因此电机将开始以最大可能的速率去加速。之后,在电机转速为零的瞬间,关闭电压。如果在正确的时间改变电压极性,那么,在电机停止运行的那一刻,伺服将恰好处于所需的位置。这就是最优控制。在这种情况下,由于时间是这种最优控制的一个判据,所以该控制称为时间最优控制。

求转换曲线的形状

图3在状态空间中解释了上述时间最优控制过程,在这种情况下,状态空间是二维空间(区域);一个维度是输出变量,另一个维度是它的(时间)导数。当应用新的参考值时,输出变量沿横轴移动,表示调节误差(犯错),即参考值与实际输出值之差。与此同时,t0为直流电机的最大电压。伺服离开初始位置,P0,开始加速。当时t1时,控制器改变电压极性,电机转速很快开始下降。当时t2,当电机转速变为零,并到达所需位置时,P2时,执行变量,电压,被关闭。虽然这看起来很简单,但了解转换曲线的形状并不是那么简单。

图3:控制系统设计图显示了状态空间中的时间最优控制。提供:Peter Galan,退休软件工程师

图3:控制系统设计图显示了状态空间中的时间最优控制。提供:Peter Galan,退休软件工程师

如果被控系统是一个具有简化传递函数的伺服机构,则角位移除以s域电压:

那么一个完整的、时间最优的控制系统可以有如图4所示的框图。

图4:控制系统设计图显示了伺服机构的时间最优控制系统。提供:Peter Galan,退休软件工程师

图4:控制系统设计图显示了伺服机构的时间最优控制系统。提供:Peter Galan,退休软件工程师

bang-bang控制器名称的起源这种控制方案与PID控制完全不同。这是一个非线性控制,因为第二个非线性,N2,表示提供±的继电器U值的驱动变量,这样的控制称为砰砰控制。关于第一个非线性,N1,表示开关曲线,调节误差的“平方根”函数,E,提供了相当合理的结果。在实践中,总是很难找到一个精确的开关曲线,因此,控制器可能永远在其最大和最小之间切换驱动电压。为了避免这种情况,增加继电器的死区。

在本文的末尾,我们将看到与其他类型的控制器相比,这种时间最优控制器的表现如何。它的输出变量函数显示为亮蓝色(图8)。

如何应用模糊控制

模糊控制是另一种非线性控制方法,它可以很好地解决难以分析的被控系统,或那些在设计时动态行为未知的系统。

模糊控制可以与“次优”时间最优控制相比较,它可以提供比最优结果更差的结果,尽管它们仍然可以非常好。了解更多模糊控制和时间最优控制

在使用位置伺服机构控制的特殊情况下,可以使用以下使用模糊控制器的控制方案(图5):

图5:伺服机构的模糊控制系统设计示意图。提供:Peter Galan,退休软件工程师

图5:伺服机构的模糊控制系统设计示意图。提供:Peter Galan,退休软件工程师

模糊化、去模糊化解释:模糊控制可以看作是模糊逻辑的扩展或改进。在第一阶段,模糊逻辑将“清晰”的输入变量转换为“模糊”集(在一个称为模糊化的过程中)。在第二阶段,对模糊集进行处理。在最后阶段,它将(在一个称为去模糊化的过程中)处理后的模糊集转换回清晰的输出变量。

对于输入变量的模糊化,选择,例如,lambda形状_/_的5个“隶属度”函数集。为了使控制过程更好(更“精炼”),示例中使用了7个成员函数。它们涵盖了调节误差的全部范围,犯错,及其导数,der,状态变量,可以获得-1000和+1000之间的值。它们可以被称为:

  • 高阴性(HN)
  • Medium-negative (MN)
  • 小(LN)
  • 小(年代)
  • 低的相关性(LP)
  • Medium-positive (MP)
  • 大的(LP)。

七个类似的级别用于输出(执行)变量模糊化:

  • Full-negative (FN)
  • Medium-negative (MN)
  • 小(LN)
  • 零(Z)
  • 低的相关性(LP)
  • Medium-positive (MP)
  • Full-positive (FP)。

模糊集的处理是模糊控制中最关键的环节。它由模糊控制知识库“治理”。图6显示了这样一个合适的知识库。

图6:在控制系统设计中,有一个模糊控制知识库是很有帮助的。提供:Peter Galan,退休软件工程师

图6:在控制系统设计中,有一个模糊控制知识库是很有帮助的。提供:Peter Galan,退休软件工程师

注意犯错而且der输入变量被量化。它们的分布函数不是等距分布的;的犯错会员函数被“推”向中心(S),而der成员函数更倾向于最高值。为什么这样的安排更好呢?检查知识库中的输出变量分布可以提供答案。看看零(Z)级。它们的排列非常紧密地跟随误差的平方根函数的输出,犯错,这是用于时间最优控制的开关曲线的最佳仿真。

接下来,了解这种模糊控制器与其他类型的控制器相比表现如何。输出变量的形状显示为橙色(图8)。

应用ann控制

人工神经网络在控制系统中的应用有无数种可能。他们中的许多人使用基于ann的控制系统(植物)模型,或者他们模拟他们的逆动力学,这与经典的PID控制器相结合,有助于创建自适应和其他更复杂的控制系统。

尝试一种不同的方法,通过训练这样一个人工神经网络来模拟一个位置伺服系统的开关曲线。通过学习,最佳(最快)伺服机构的运动可以通过使用时间最优控制来实现。开关曲线最简单的近似(最关键的方面)是使用调节误差的平方根函数。甚至模糊控制器也被“调优”以模拟这样的平方根函数。

然而,实际的切换曲线仍然可能与它的近似值不同,例如通过一个sqrt()函数。有没有办法找到位置伺服机构的实际开关曲线?答案是肯定的。可以找到位置伺服机构的实际开关曲线,“训练”人工神经网络记住它并根据需要生成它。更进一步,可以训练人工神经网络来接管整个砰砰控制器(参见图4)。

切换曲线是[犯错der]对值,伺服电机驱动器交换的极性标称(最大)电压,可以应用到电机。通过伺服机构开环运行(即无反馈),测量并记录其位置,找到这些值,呃,它的速度,der.首先,准备一系列预期der(伺服机构转速)值从最低到最高。现在应用最大正驱动变量(电压+ U),并让它运行,直到伺服机构达到第一个预期der这个级数的值。重要:记录伺服位置在同一时刻P1,并同时将所述执行变量转换为所述- u价值。当伺服速度(der)降至零,关闭电压并记录当前位置为P2.该过程提供了第一对[犯错der]坐标(其中err = P2- - - - - -P1)表示第一切换曲线点。当然,伺服机制必须完全负载运行,就像它打算使用的那样。

[的序列犯错der]坐标表示切换曲线点。为获得最佳效果,取约50个坐标(对)均匀分布在der轴。然后训练一个合适的人工神经网络来使用这些开关点将驱动变量转换为伺服机构。即使是最简单的人工神经网络,也有一个隐藏层和大约12个节点。你可以找到更多关于在控制应用程序中使用ann的信息

图7显示了一个输出值表,可用于训练神经网络控制器。在捕获开关曲线点之后,离线训练神经网络控制器是有意义的,也就是说,不直接在物理控制系统上训练。从捕获的坐标系列的底部(或顶部)开始,并针对每个个体der输入你需要生成几个(20?)犯错值(从-max到+max)和[的每个组合犯错der]坐标,提供(给ANN输出)一个特定的输出值。开关曲线剩下的所有输出值应对应最大负致动值;开关曲线右侧的所有输出值都应该是正的最大值。当然,在那些特定的[犯错der]坐标,以前作为切换曲线点,应用零值。越远犯错坐标来自切换曲线,越少见±U需要提供值,因为输出面保持平坦:+ U- u

图7:这个简单的人工神经网络(ANN)训练数据表有助于ANN控制系统的设计。提供:Peter Galan,退休软件工程师

图7:这个简单的人工神经网络(ANN)训练数据表有助于ANN控制系统的设计。提供:Peter Galan,退休软件工程师

请注意,这个训练数据表与模糊系统的知识库非常相似(图6)。首先,只使用状态空间的上半部分来训练人工神经网络控制器(图3)。当伺服系统必须向相反方向移动时,人工神经网络控制器只会交换输出值。然而,如果伺服系统在两个运动方向上的行为不一致,人工神经网络控制器必须训练整个状态空间行为。

基于ann的控制系统如何与其他控制系统竞争?看看它的输出变量形状(白色)。

控制系统比较

使用Python的屏幕截图(图8)显示了模拟伺服机制及其控制器的结果。伺服机构的传递函数近似为其中时间常数以样本数量表示(请参考此控制工程文章便于更好的理解).阶跃函数(期望的伺服系统位置)是从0到800(其中1000是期望位置和执行变量的最大值)生成的,然后,在1000个样本之后,它从800下降到400。输入阶跃函数用绿色表示。

图8:控制系统对比图,以帮助确定应用程序的最佳选择。其中包括最优控制、模糊控制、人工神经网络和经典的比例-积分-导数(PID)控制。有关解释,请参阅文章文本。提供:Peter Galan,退休软件工程师

图8:控制系统对比图,以帮助确定应用程序的最佳选择。其中包括最优控制、模糊控制、人工神经网络和经典的比例-积分-导数(PID)控制。有关解释,请参阅文章文本。提供:Peter Galan,退休软件工程师

图8还显示了各个控制系统的运行情况。第一个是优化调优PD控制器,它对阶跃函数立即做出反应。它的ΚP参数设置为5。但这只是一个理想的PD控制。实际的,最优调谐PD控制器与有限的执行变量表现为红色指数曲线所示。与其他控制器相比,它实际上是性能最差(最慢)的。然而,如果调优得当,它就不会超调,这在某些应用程序中是非常重要的。

最好(最快)的控制器是基于ann的控制器(如白色曲线所示)。这并不奇怪;人工神经网络被训练来模拟一个精确的开关曲线,因此它表现为一个完美的、时间最优的控制系统。

经典的时间最优控制器(青色)通过根号(e)函数模拟切换曲线,表现稍差(较慢)。然而,考虑到它的实现非常简单,对它的性能不应该有任何抱怨。

在这种特殊情况下,模糊控制器(橙色)表现不佳。然而,它并没有调优到最佳性能(只是进行了初始调优,以大致模拟切换曲线),因此还有进一步性能改进的空间。理论上,模糊控制器的性能不应该比经典的时间最优控制器差。

最后观察:使用神经网络,模糊控制控制系统

基于这个特殊的例子,确定了神经网络在控制工业应用中的应用。然而,如果系统在“运行中”改变行为/参数,则需要一个对这种变化更宽容的控制器。公差是模糊控制器的亮点。其中最令人惊讶的发现是50多年前在大学学习的经典时间最优控制器(基于sqrt()函数)仍然可以运行良好。

彼得•加是一位退休的控制软件工程师。由内容经理马克·霍斯克编辑,控制工程、《媒体mhoske@cfemedia.com

关键字

控制系统的人工智能

考虑一下这个

反馈回路/工程交互:请通过电子邮件向编辑发送评论、建议或问题。

在线

控制工程下面是Peter Galan的高级过程控制教程库:


作者简介:Peter Galan是一名(已退休)控制系统设计师,在电子、控制系统和软件设计方面拥有丰富的经验。他曾在ZTS, GE, Husky,北电,JDSU,艾默生(加拿大和美国)等多家公司工作,此前在科希塞(前捷克斯洛伐克)的技术大学工作。他拥有布拉格捷克技术大学自动化控制系统博士学位和应用控制论硕士学位。