时间: 2024-08-06 23:25:31 | 作者: 大事纪要
控制系统模块设计人员始终追求的就是为应用找到最佳的操控方法。除了经典的PID控制外,本文还探讨了最优控制、模糊控制和人工神经网络控制。
每一个控制管理系统的用户/设计人员,都经常会被问到同一个问题:哪种操控方法最好。现在,比几十年前有了更多的选择,操控方法的问题特别的重要。很久以前,“黄金”解决方案(其实就是唯一的)是比例-积分-微分(PID)控制器。虽然PID控制本身没什么问题,但实际存在的限制使其它操控方法在许多应用中更受欢迎。现在,还有哪些操控方法可供选择?
除了经典的PID控制外,本文还研究了最优控制、模糊控制和人工神经网络(或基于神经网络的控制)。在工厂应用的受控系统分析中,能够正常的看到经典PID控制器的局限性。虽能有很多应用领域,但本文分析聚焦于位置伺服机构,此类装置大范围的应用于工业机器人、无人驾驶车辆和许多其它(不仅是在工业领域)应用。
如果受控系统是基于恒定励磁(例如永磁体)的直流电机的伺服机构,则能够最终靠简化的传递函数来描述,在s域中电压的角位移为:
其中:K代表电机扭矩常数;T代表电机的机械参数:J/B,其中J是包括负载在内的总惯性,B表示电机阻尼;Ti代表积分常数(由电机转速和传动比确定)。
上面的传递函数代表与积分器组合的一阶系统。理论上,还有另一个一阶、低通滤波器,其时间常数等于电机绕组电感和电阻的比值;这一段时间常数明显小于主时间常数T,因此不必考虑它。
如果您是电机用户,而不是电机设计师,那么通过实验测量其在开环中的响应来找到(主)时间常数可能会更简单。为此,向伺服系统施加一定的驱动变量(电压,VIN),例如,相当于最大伺服速度的50%。伺服系统负载必须是正常工作条件下的满载。扫描伺服机构的位置响应,并在其到达最大位置之前将其关闭。可能会产生的测量值如图1所示。
根据上述特性,并通过输入值(例如,对应于最大伺服速度50%的阶跃函数VIN),确定典型伺服系统的一阶非静态(积分器与一阶滞后相结合)传递函数的T和Ti常数。伺服电机和伺服驱动运动控制管理系统,能够正常的使用下述的各种闭环控制,包括方程、案例、图形、表格。
PID补偿是最常见的闭环控制形式之一。为什么它如此受欢迎?在大多数应用中,受控过程能够最终靠一阶或二阶传递函数进行建模。PID控制器可以消除或至少显著补偿传递函数的两个极点。PID控制器在s域中的传递函数(U(s))/(E(s))可以表示如下:
为什么使用PD而不是PID?首先,请注意,在完整的PID控制器中,积分部分是缺失的。为什么?因为积分器已经存在于受控的伺服系统中。在最佳调谐的控制管理系统中,比率KD /KP必须与τ1时间常数相匹配,因此开环传递函数将减小到:(KPK)/(sτ2)。理想调谐PD控制管理系统的闭环传递函数 (Y(s))/(R(s)),等于:
这对应于具有时间常数τ的单极传递函数,相当于τ2 /(KP K),其中τ2是积分时间常数,KP是控制器的比例常数,K是受控系统的增益。然而,如果利用如图1所示的响应特性找到时间常数,则增益(即常数K)值变为1.0。则闭环传递函数时间常数τ等于τ2 /KP。这非常好,因为通过使ΚP足够大,可以从闭环控制管理系统获得更快的时间响应。实际上,“足够大”能够给大家提供5到10倍的响应速度。KP值越高,反应越不稳定。记住,在近似的系统参数中,实际值肯定会不同。
然而,这种最佳调谐的P(I)D控制器有其缺点。观察P(I)D控制器的输出(驱动)变量:一开始它几乎达到极限值,然后迅速下降,但在相当长的一段时间内,仍远高于这种受控系统(伺服机构)所能承受的水平。想象一下,伺服电机的运行电压为24V,最初获得的电压会高达数千伏,随后稳定在数百伏。没有控制器能够驱动如此高的电压,即使能驱动,电机也没办法承受如此高的压力。因此,在控制器中添加限制器,可确保驱动变量不会超过受控系统(在这样的一种情况下为直流电机)可接受的最大值。伺服机构的最终PID控制配置如图2所示。
在本文的最后,会比较PID控制器与其它控制器的性能。具有无限驱动变量的最佳调谐PD控制器(即理想控制器),其输出特性如图8中黄色线所示;实际输出(驱动变量限于最大可接受值)则以红色线
几十年来,最优控制一直是广泛研究的主题。关于最优控制的一些基本观点值得回顾,我们大家可以用一个例子来更好地理解时间最优控制。假设一个带有直流电机的常用电动伺服机构。手头的任务是控制伺服,使其在最短的时间内到达新的参考点。如果必须应用实际驱动变量,优化的PID控制器将没办法实现这一目标。直觉反应是向直流电机施加最大可接受电压,并让电机全速前进。
查找开关曲线展示了在状态空间中的时间最优控制过程,在这种情况下,状态空间是二维空间(区域);一个维度是输出变量,另一个维度则是其(时间的)导数。在应用新参考值时,输出变量沿水平轴移动,因此它代表调节误差(err),即参考值与实际输出值之间的差值。同时在t0时刻,向直流电机施加最大电压。伺服离开其初始位置P0,并开始加速。在时间点t1,控制器改变电压极性,电机速度很快开始下降。在时间点t2,电机速度变为零并且达到期望位置P2,驱动变量电压被关闭。虽然这看上去很简单,但获得开关曲线的形状并不那么简单。
那么一个完整的、时间最优的控制管理系统可以用图4所示的框图表示。该控制方案与PID控制完全不同。这是一种非线性控制,因为第二个非线代表的是继电器:提供驱动变量±U值,所以这种控制被称为开关控制。N1是开关曲线的第一个非线性部分,调节误差E的“sqrt”平方根函数,提供了相当合理的结果。在实践中,总是特别难找到精确的开关曲线,因此,控制器可能一直在其最大值和最小值之间切换驱动电压。为了尽最大可能避免这种情况的发生,需要为继电器增加死区。
在本文的最后,让我们一起看看与别的类型的控制器相比,这种时间最优控制器的性能如何。其输出变量函数以图8中亮蓝色线
模糊控制是另一种非线性操控方法,对于难以分析的受控系统,或在设计时动态行为未知的受控系统,它是非常好的解决方案。模糊控制可以与“次优”时间最优控制相比较(它能够给大家提供比最优结果较差的结果),尽管它们仍旧能是非常好的。在这种具有位置伺服机构控制的特殊情况下,能够使用图5中的控制方案(图5)进行模糊控制。▲图4:控制管理系统设计图展示了伺服机构的时间最优控制系统。
模糊控制可以看作是模糊逻辑的扩展或修改。第一阶段,模糊逻辑(在一个被称为模糊化的过程中)将“清晰”的输入变量转换为“模糊”的集合。第二阶段,它处理这些模糊集。最后,在一个被称为去模糊化的过程中,将处理后的模糊集转换为清晰的输出变量。
处理模糊集是模糊控制最关键的阶段。它由模糊控制知识库“控制”。图6展示了适用的知识库。注意err和der输入变量是如何量化的。它们的分布函数不是等距分布的;err成员函数被更多地“推向”中心(S),而der成员函数则被更多地推向最高值。为什么这种安排更好?检查知识库中的输出变量分布提供了答案。考察零(Z)级。它们的配置为:紧密地跟随误差的平方根函数err的输出,这是可能是对时间最优控制中使用的开关曲线的最佳仿真。接下来,看看与其它控制器相比,模糊控制器的性能如何,其输出变量的形状以图8中橙色线
在控制系统中使用人工神经网络(ANN)有无数种可能性。其中,很多使用基于神经网络的受控系统(工厂)模型,或对其逆动态进行建模,与经典PID控制器相结合,有助于创建自适应和其它更复杂的控制系统。
开关曲线是关于[err,der]对值的序列,伺服电机驱动器对可施加到电机的额定(最大)电压进行极性转换。通过在开环中运行伺服机构(即无反馈),测量并记录其位置(err)和速度(der)来查找相应的值。首先,准备一系列预期的伺服机构速度(der)值,从最低值到最高值。现在,将正的最大驱动变量(电压+U)施加到电机上,并让其运行,直到伺服机构达到该系列中的第一个预期der值。重要提示:记录与P1相同时刻的伺服位置,同时将执行变量转换为-U值。当der降至零时,关闭电压并将当前位置记录为P2。该过程提供了第一个开关曲线点的第一对[err,der]坐标(其中err=P2–P1)。当然,伺服机构必须完全按照预期使用的方式满载运行。[err,der]坐标序列表示开关曲线点。为了获得最佳结果,沿der轴均匀分布大约50个坐标(对)。然后训练一个合适的神经网络,使用这一些开关点将执行变量传送到伺服机构。即使是最简单的具有一个隐藏层和大约12个节点的ANN也能轻松实现这种功能。
图7展示了一个输出值表,可用于训练ANN控制器。在捕获开关曲线点之后,需要离线训练ANN控制器,即不直接在物理控制管理系统实体上进行训练。从捕获的坐标序列的底部(或顶部)开始,对于每个单独的der输入,您需要生成多个err值(从-max到+max),并向[err,der]坐标的每个组合提供(到ANN输出)特定的输出值。开关曲线的所有输出值对应负的最大驱动值;开关曲线右侧的所有输出值对应为正的最大值。误差坐标离开关曲线越远,需要出示的±U值就越少,因为输出曲线保持平坦。
图7:这个简单的人工神经网络训练数据表,有助于 ANN 控制管理系统的设计。
此训练数据表与模糊系统的知识库非常相似。起初,只使用状态空间的上半部分来训练ANN控制器。当伺服必须沿相反方向挪动时,ANN控制器将仅交换输出值。然而,如果伺服系统在两个运动方向上的行为不相同,则必须在整个状态空间内,对ANN控制器进行行为训练。基于神经网络的控制管理系统如何与其它系统竞争?可查看其输出变量的形状,如图8中白色线
使用Python的屏幕截图(图8)展示了模拟伺服机构及其控制器的结果。伺服机构的传递函数近似为1/((1+s100)s200),其中时间常数以样本数表示。阶跃函数(期望的伺服系统位置)是从0到800(其中1000是期望位置和驱动变量的最大值)生成的,在1000个样本之后,它从800下降到400。输入阶跃函数在图8中以绿色线还展示了各个控制管理系统的运作情况。第一个是最佳调谐的PD控制器,它对阶跃函数做出即时反应。它的KP参数设置为5。但这实际上只是一个理想的PD控制。这些实际最佳调谐PD控制器具有有限驱动变量,其行为如红色曲线所示。与其它控制器相比,它其实就是表现最差(最慢)的。然而,如果调整得当,它不会超调,这在某些应用中可能非常重要。
通过sqrt(e)函数来模拟开关曲线的经典时间最优控制器(蓝色线)表现稍差(较慢)。不过,考虑到其实施格外的简单,因此不应对其性能有太多抱怨。在这种特殊情况下,模糊控制器(橙色线)表现不佳。不过,它没有调整到最佳性能(仅进行了初始调整以大致模拟开关曲线),因此其性能有进一步提升的空间。理论上,模糊控制器的性能不应比经典的时间最优控制器差。这个特定案例验证了神经网络在工业控制中的应用。然而,如果系统“在运行中”改变行为/参数,则需要一个更能容忍这种变化的控制器。容差是模糊控制器的亮点。最令人惊讶的发现之一是:50多年前在大学里学习的经典时间最优控制器(基于sqrt函数),仍旧能很好地运行。
- END -▲本文来自于控制工程中文版杂志(CONTROL ENGINEERING China)2023年04月刊《封面故事》栏目:如何为应用找到最佳的控制方法?
平台声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。