基于遗传算法的PID参数整定研究(一)

2024-01-21 20:40

本文主要是介绍基于遗传算法的PID参数整定研究(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基于遗传算法的PID参数整定研究

综合PID参数整定的发展来看,根据研究方法划分有基于频域的PID参数整定方法和基于时域的PID参数整定方法;根据发展阶段划分有常规PID参数整定方法和智能PID参数整定方法;根据被控对象个数划分有单变量PID参数整定方法和多变量PID参数整定方法;根据控制量的组合形式划分有线性PID参数整定方法和非线性PID参数整定方法等。目前主要有基于模式识别的参数整定方法(基于规则)和基于模型反馈的参数整定方法(基于模型)在实际工程中应用较为广泛。
同时,近年来PID控制技术也处于不断的发展与变化中,主要出现过以下几种控制思想:
(1)自适应控制思想和常规PID控制器相结合的自适应PID控制或自校正PID控制。它既能自动整定控制器参数、能够适应被控过程参数的变化,也具有常规PID控制器结构简单、鲁棒性好、可靠性高等优点。
(2)智能控制与常规PID控制相结合形成的智能PID控制。它具有不依赖系统精确数学模型的特点,对系统的参数变化具有较好的鲁棒性。
(3)模糊控制和PID控制器两者的结合具有模型控制灵活而适应性强的优点,又具有PID控制精度高的特点。适用于工业控制过程中大滞后、时变、非线性的复杂系统,它可以不要求掌握受控对象的精确数学模型,而根据人工控制规则组织控制决策表,然后由该表决定控制量的大小。
(4)神经网络和PID控制器相结合的神经网络PID控制。神经网络具有自学习能力和大规模并行处理能力,在认知处理上比较擅长。
(5)预测PID控制。预测控制算法采用非参数模型,不通过复杂的系统辨识来建立过程的数学模型,而是通过检测到的过程响应根据某一优化性能指标来设计控制系统,确定一个控制量的时间序列,是未来一段时间内的被调量与经过柔化后的期望轨迹之间的误差最小。
然而实际工业生产过程往往具有非线性、不确定性,难以建立精确的数学模型,应用常规的PID控制器难以达到理想的控制效果;在实际生产过程中,由于受到参数整定方法烦杂的困扰,常规PID控制器参数往往整定不良、性能欠佳,对运行环境的适应性较差。针对上述问题,长期以来,人们一直在寻求PID控制器参数的自整定技术,以适应复杂的工况和高指标的控制要求。微机处理技术的发展和数字智能控制器的实际应用,以及近年来各种先进算法的不断涌现,为控制复杂系统开辟了新途径。
因此,针对上述问题需要对PID参数进行了解并设计如何进行高效的整定。为了不使得研究显得很突兀,我们将对常规的人工参数整定方法进行介绍与验证,在此基础上提出基于遗传算法的PID参数整定。

1.1PID控制的参数介绍

比例调节P

比例调节作用:是按比例反应系统的偏差,系统一旦出现了偏差,比例调节立即产生调节作用用以减少偏差。比例作用大,可以加快调节,减少误差,但是过大的比例,使系统的稳定性下降,甚至造成系统的不稳定。如图1所示。
增大比例系数P会加快系统响应,同时在有静差的情况下有利于减小静差。
在这里插入图片描述
(a)比例调节的响应曲线图—响应速度
在这里插入图片描述
(b)比例调节的响应曲线图—消除静差
图1 比例调节的响应曲线图

*但是仅仅只有比例调节无法完全消除静差,模型假设水箱不仅是装水的容器,还需要持续稳定的给用户供水,那么数学模型为dx=u-c,在这里c为用户所需的水量,为常数。其中u=kP·e。当dx=0时即系统稳定,液位离我们想要的高度总是差那么一点,这也就是所谓的稳态误差,或者叫静差。e=c/ kP。因此需要继续添加积分环节进行作用。**
积分调节I

积分调节作用:是使系统消除稳态误差,提高无差度。因为有误差,积分调节就进行,直至无差,积分调节停止,积分调节输出一常值。积分作用的强弱取决与积分时间常数Ti,Ti越小,积分作用就越强。反之Ti大,则积分作用弱,加入积分调节可使系统稳定性下降,动态响应变慢。积分作用常与另两种调节规律结合,组成PI调节器或PID调节器。

*模型假设在上述水箱模型中积分环节的意义就相当于你增加了一个水龙头,这个水龙头的开关规则是水位比预定高度低就一直往大了拧,比预定高度高就往小了拧。如果漏水速度不变,那么总有一天这个水龙头出水的速度恰好跟漏水的速度相等了,系统就和第一小节的那个一样了。那时静差就没有了。这就是所谓的积分环节可以消除系统静差。*

增大积分时间Ti有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长
在这里插入图片描述
图2 积分调节的响应曲线图

微分调节D

微分调节作用:微分作用反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,因此能产生超前的控制作用,在偏差还没有形成之前,已被微分调节作用消除。因此,可以改善系统的动态性能。在微分时间选择合适情况下,可以减少超调,减少调节时间。微分作用对噪声干扰有放大作用因此过强的加微分调节,对系统抗干扰不利。此外,微分反应的是变化率,而当输入没有变化时,微分作用输出为零。微分作用不能单独使用,需要与另外两种调节规律相结合,组成PD或PID控制器。

*模型假设在上述水箱模型中实际情况中用户的用水量往往是变化的,因此修改模型为:*

在这里插入图片描述
微分环节使得de的变化更为缓慢了,因此微分环节有如下作用:
微分环节主要作用是在响应过程中抑制偏差向任何方向的变化
微分常数不能过大,否则会使响应过程提前制动,延长调节时间。

然而,针对微分环节会提高系统抗扰动能力,降低系统抗噪声能力,更多指的是大多数细微测量噪声造成的e很小,但瞬时的de较大,微分环节相对于PI环节更容易受到这些细微噪声的影响。

1.2总结与讨论

综上:
增大比例系数P会加快系统响应,同时在有静差的情况下有利于减小静差。
增大积分时间Ti有利于减小超调,减小振荡,使系统的稳定性增加,但是系统静差消除时间变长。
增大微分时间TD会提高系统抗扰动能力,降低系统抗噪声能力。

1.3PID控制器的优缺点

对于PID简单的控制器,其优点主要体现在:
(1)原理简单实现方便,是一种能够满足大多数实际需要的基本控制器。
(2)控制器适用于多种截然不同的对象,算法在结构上具有较强的鲁棒性。确切的说,在很多情况下对被控对象的机构或参数摄动不敏感。
但从另一方面来讲,控制算法的普遍适应性也反映了PID控制器在控制品质上的局限性。具体分析,其局限性主要来自以下几个方面:
(1)算法结构的简单性决定了PID控制比较适用于SISO最小相位系统,在处理大时滞、开环不稳定过程等难控对象时,需要通过多个PID控制器或与其他控制器的组合,均能得到较好的控制效果。
(2)结构的简单性同时决定了PID控制只能确定闭环系统的少数主要零极点,闭环节特性从根本上是篆于动态特性的低阶近似假定的。
(3)出于同样原因,决定常规PID控制器无法同时满足跟踪设定值和抑制扰动的不同性能要求。在当今所使用的工业控制器中,多数PID控制或改变了形式的PID控制策略已经通过使用微处理器而转变为数字的形式。

这篇关于基于遗传算法的PID参数整定研究(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/630767

相关文章

解读docker运行时-itd参数是什么意思

《解读docker运行时-itd参数是什么意思》在Docker中,-itd参数组合用于在后台运行一个交互式容器,同时保持标准输入和分配伪终端,这种方式适合需要在后台运行容器并保持交互能力的场景... 目录docker运行时-itd参数是什么意思1. -i(或 --interactive)2. -t(或 --

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Java通过反射获取方法参数名的方式小结

《Java通过反射获取方法参数名的方式小结》这篇文章主要为大家详细介绍了Java如何通过反射获取方法参数名的方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、前言2、解决方式方式2.1: 添加编译参数配置 -parameters方式2.2: 使用Spring的内部工具类 -

Python调用另一个py文件并传递参数常见的方法及其应用场景

《Python调用另一个py文件并传递参数常见的方法及其应用场景》:本文主要介绍在Python中调用另一个py文件并传递参数的几种常见方法,包括使用import语句、exec函数、subproce... 目录前言1. 使用import语句1.1 基本用法1.2 导入特定函数1.3 处理文件路径2. 使用ex

MySQL中时区参数time_zone解读

《MySQL中时区参数time_zone解读》MySQL时区参数time_zone用于控制系统函数和字段的DEFAULTCURRENT_TIMESTAMP属性,修改时区可能会影响timestamp类型... 目录前言1.时区参数影响2.如何设置3.字段类型选择总结前言mysql 时区参数 time_zon

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

详解Spring Boot接收参数的19种方式

《详解SpringBoot接收参数的19种方式》SpringBoot提供了多种注解来接收不同类型的参数,本文给大家介绍SpringBoot接收参数的19种方式,感兴趣的朋友跟随小编一起看看吧... 目录SpringBoot接受参数相关@PathVariable注解@RequestHeader注解@Reque

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的