APP下载

基于遗传算法的智能PID 系统设计和分析

2020-06-16殷建国吕宝林张继红

设备管理与维修 2020年10期
关键词:阶跃适应度遗传算法

殷建国,吕宝林,张继红

(合肥通用机械研究院有限公司,安徽合肥 230031)

0 引言

机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。对此,提出使用一种机器学习的方法对传统的PID 控制进行改进,从而实现智能控制的目的。

1 基于遗传算法的自整定参数PID 仿真

1.1 遗传编码设计

作者在此使用的是实数编码,不需要预先定义解的精度。此外,采用实数编码时计算适应度时不需要在解码和编码之间来回切换。

1.2 遗传策略与适应度函数

因为BP 神经网络神经元之间的权值具有相关性,因此选用轮盘赌策略作为遗传策略,设适应度函数为:

1.3 遗传算子

交叉遗传算子采用可变的交叉概率,即在算法的初期使用大的交叉概率来加剧种群的变化,有利于加快寻找优良种群所处的区域。随着进化的进行,逐渐减小交叉概率,从而解决由于交叉概率取值过大使得适应度较高的个体很快被破坏掉和取值过小使搜索速度缓慢的矛盾。变异算子在遗传操作中是一种很重要的算子,这里采用自适应变异,即可以根据个体的适应值大小来增加算法的局部搜索能力。

在对整个系统进行理论分析后,使用的MATLAB 软件对设计基于遗传算法的自适应控制系统进行软件仿真分析,MATLAB 软件是一种较为适合做一些算法、设计的软件。使用MATLAB 软件中的simulink 模块,利用其相对简单和直观的图形界面来完整对设计的系统和算法进行仿真分析。

图中,输入信号选用阶跃信号,因为系统的动态性能以系统阶跃响应为基础衡量。因为阶跃响应对系统的要求较高,即从0 变到1,变化的幅度较大。运用阶跃响应对系统进行测试能得到较为理想的结果。在MATLAB 的控制命令行中编写相对应的遗传算法的代码,设定相对应的仿真时间和仿真时间,仿真结果如图1 所示。

图1 响应结果和最优个体适应值

图1 为仿真的PID 控制系统的响应结果图和最优个体的适应值曲线,可以看到,在第十代的时候适应度函数的值基本趋向于平稳的状态,表明系统此时基本保持了稳定,最佳的PID 参数已经得出。

图2 为整个控制系统输入输出的响应误差曲线,在曲线中可以看到随着仿真时间的增加,仿真响应误差值愈来愈小,几乎趋向于0,表示系统基本保持平稳,但是在图中可以看到有一些起伏,可能由于低适应度的个体被选上导致了节约误差的短时间增加,但总体趋势仍然是持续下降的。

2 与其他先进PID 控制的对比

选取近年运用较为广泛的PID 控制系统进行对比分析,选取模糊PID 进行对比,通过分析PID 控制和模糊控制的特点。设计出模糊自适应PID 控制器,如图3 所示。通过对PID 控制器的研究,可以得出当建立起控制对象的精确数学模型时,只要正确设定参数KP、KI、KD,即比例系数、积分系数、微分系数时,PID 即可发挥作用,但是对于非线性、时变性等不确定性因素,常规PID 控制效果不理想。因为常规PID 控制器的参数KP、KI、KD在不同的工况下应该有所不同,才能取得好的控制效果,这就要求PID 控制器具有参数自适应功能。利用模糊控制规则在线地对PID 参数进行自动修正,就形成了模糊自适应策略。模糊自适应PID 控制器以误差e(实际测量值与设定值之差)和误差变化率ec 作为输入,当误差和误差的变化率输出进模糊推理器之后,根据误差规则(本文选用MADAMI 规则),结合误差和误差变化率得出相对应比例、积分、微分3 个值。从而实现根据不同的系统、不同的工况自主的调整KP、KI、KD等3 个参数的大小,完成自适应的功能,提高控制的精度。

图2 阶跃响应误差曲线

图3 模糊自适应PID 控制器

设计完成相对应的模糊PID 控制系统,设计相同的控制实现,选取相同的控制实现系统,进行基于遗传算法的PID 控制和模糊PID 控制进行对比试验,对比试验的结果见表1。

对比模糊PID 和遗传算法PID 两个先进控制系统可以看出,基于遗传算法的PID 在位置控制的表现要强于模糊PID 控制,可以看到在7 组对比实验中,实际与设定位置的误差,基于遗传的PID 控制算法的控制误差基本都小于模糊控制PID 算法,可以从该对比实验中看到遗传算法PID 的优势所在。

表1 基于遗传算法的PID 控制和模糊PID 控制试验对比结果

3 总结与分析

首先,实验在同一台设备上进行,传递函数、实验室状况均相同,两者的主要对比差异在参数上,本实验具有很高的对比性,通过控制参数的不同得出可信的对比结论。

通过对比的实验可以看出,未使用基于遗传算法的传统PID 时,实验的PID 参数调节遵循着先设定P 参数,其他两参数设定为零的状态,调节后再调整I 和D 的参数。可以看到,每个位置要想控制较为稳定至少需要调节5 次以上,途中实验结果中很多数据并没有直接给出来。可以看出传统的PID 参数调节费时费力,且部分时候效果并不好,基本上每次PID 调节参数的时间都在2 min 左右(由于每次调节后需要对液压缸进行复位,因此浪费了较多时间)。

而使用基于遗传算法的PID 控制系统,首先计算出系统的传递函数,再使用电脑进行仿真,将仿真得出数据带入实验中,可以大幅降低PID 参数的调节时间,大大的减少调参师的工作强度。从结果上看,使用遗传算法对系统进行仿真后,带入的PID 参数调试的结果基本满足需要,大部分都处于最佳状态,少部分可能需要修正,但算法基本满足功能需要。

猜你喜欢

阶跃适应度遗传算法
改进的自适应复制、交叉和突变遗传算法
基于遗传算法的智能交通灯控制研究
探讨单位阶跃信号的教学
一种基于改进适应度的多机器人协作策略
LCSR法响应时间原位测量装置的设计与实现
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于空调导风板成型工艺的Kriging模型适应度研究
基于改进的遗传算法的模糊聚类算法
基于改进多岛遗传算法的动力总成悬置系统优化设计
晶体管驱动的阶跃二极管大幅度窄脉冲源