模糊pid 步骤_(三)专家PID控制理论基础

2b35bee93b550e7c2b047c8223a6699b.png

-1.续昨日

昨天晚上临睡前突然想到自己把一个对

控制很重要的感悟给漏掉了,在开始今天的内容前,先把这个补上。昨天的文章中出现了以下两个图:

59a5201debd8f2455cb76904ca9071e0.png
图1:PID控制原理

4a159934d8326386c9f4574683ba1e57.png
图2:理想的开环控制

对比以上两个图,我们就会发现,

控制实际上就是通过调节
三个参数,让
尽可能的去逼近未知的

神经网络中经常提到一个东西,叫“万能逼近”,大概意思是说,只要神经网络的层数足够深,神经元的个数足够多,就可以对任意一个函数无限逼近。而对于一个有限层的神经网络,其层数越深,模型越复杂,表达复杂函数的能力也就越强。(深度越大,容量越大)。这个如果不理解的话,可以想泰勒级数展开,只要足够多项,总能完全表示任意一个函数。项数的多少就反映了模型的容量,容量越大,能表示的函数越复杂。(先不考虑过拟合)

这样的方法,最多只能无误差的表示
的系统,也就是说,它的模型容量其实并不大,如果是更复杂的系统,就只能做在低阶层次做一个近似了。(类似于泰勒展开取了前三项)所以为了增大容量,有丰富的改进方法,比如串接
(并联相当于参数相加,对增大容量是没有意义的),或者让
都变为时变量,自适应调参,由或者改变环节,如引入二次积分,二阶微分等等。

而我们今天所讲的专家

实际上就是一种分段的控制(目前看到的几种简单的应用是这样的),即根据
的不同情况选择不同的策略。

0.前言

在写之前,我想先吐槽一下网上的博客,基本上都是同一个例子,同一种专家

规则,连个参考文献也不写。。。本文主体也同样会介绍那个例子,该例子出自刘金琨编著的《智能控制》,另外本文还参考了昆明理工大学的MOOC《智能控制导论》。

还有一个重要的说明:专家

决不只有那一种形式,那只是一个范例。要真是那么简单的话,专家
也不配作为智能控制很重要的一个分支了。(虽然在书的篇幅上看,确实没啥排面)

1.专家系统

实际生活中,存在许多无法用数学模型或计算解决的问题,专家一般根据自己丰富的知识和经验进行推理从而解决问题。而专家系统正是模仿这一特点设计的。

1.1.专家系统的定义

专家系统是一个智能计算机程序,含有大量专家水平的知识和经验,能模拟人类专家的思维过程,求解困难问题。

1.2.专家系统的结构

根据1.1中的要求,专家系统的一般结构如下:

983073651cb600e34bec968aa8e0fdca.png
图3:专家系统的基本组成

接下来,我们逐一介绍各个部分。

1.2.1.人机接口

人机接口共有两个,第一个负责是专家-系统的接口,第二个是用户-系统接口。

专家-系统接口的功能是让专家和知识库进行沟通,即专家对知识库中的知识进行内容的修改,增删,从专家处获取知识。

而用户-系统接口则是给用户提供调用专家系统查询的途径,即输入问题返回结果的窗口。

1.2.2.知识库

知识库存储数据和规则,同时还有多种功能主要有知识查询、检索、增删、修改和扩充等。知识库通过人机接口与领域专家沟通,从而获取知识。

其中规则指的是对专家经验数学化,计算机化的表达。常用的表达方式有产生式规则,框架,语义网络,过程。其中产生式规则是专家系统最流行的表示方法,其具体方式如下:

其中

为条件,证据;
为结论,假设;
是规则的强度,反映前提发生时规则对结论的影响程度。

1.2.3.推理机

推理机负责根据数据和规则进行推理,并得出最后结论,再通过用户-系统接口将结论输出给用户。所用的推理方式为正向推理(条件推结论),反向推理(结论推条件),或者双向推理。

1.3.设计专家系统的步骤

与1.2中三个模块相对应,分别是

1.知识库的设计,确定知识表达方式;设计知识库管理系统

2.推理机的设计,选择推理算法

3. 人机接口设计

1.4.专家系统开发工具

1.语言:

等。

2.专家系统骨架:

等。

3.通用性专家系统工具和开发环境:

等。

1.5.总结专家系统

这一块可能讲的多少有些偏题(还有后面的专家控制),但只是想给大家一个更大范围的认识,常见的那种专家

只是专家
算法的一部分,专家
控制只是专家控制的一部分,专家控制也只是专家系统的一种应用,知识不要太局限。

专家系统的灵魂就在于它所采纳的专家经验,不同的专家经验会造出不同的专家系统,它的框架(包括接口,知识库和推理机的设计方法)其实都是有规可循,有很多成熟的框架可以直接调用。

2.专家控制

专家控制将专家系统和控制理论结合,在未知环境下,仿效专家实现控制。它试图在传统的控制基础上加入一个富有经验的工程师,也就是说,“专家”在观察到系统的状态后,可以自主的选择控制算法,配置相关参数。

与专家系统不同,专家控制更多做的是独立的,实时的,在线的控制,而不仅是一种离线的,辅助性质的工作。因此,专家控制对可靠性和抗干扰性的要求更高。

2.1.专家控制的分类

专家控制器分为直接型和间接型两种。

2.1.1.直接型专家控制

1e08968a97254eec715a9858d2a857a5.png
图4:直接型专家控制

直接型专家控制器就是用虚线框内部分充当控制器,即直接由专家系统来完成整个控制过程。直接型控制器任务和功能都比较简单,知识库也比较简单,一般只有几十条规则。

2.1.2.间接型专家控制

9815316dffc63629909412f84070da19.png
图5:间接型专家控制器

间接型专家控制器一般和常规控制器相结合,能实现不同功能。专家系统负责对控制算法、控制器及参数进行调度和配置。

按高层决策的性质(专家经验的种类),间接型专家控制器分为以下几种:优化型(使用最优化方法)、适应型(自适应控制)、协调型(协调和调度局部和整体的关系,实现全局稳定规划)、组织型(基于总设计师的经验,组织各种常规的控制器)。通常前两种需要在线运行,而后两种可以离线运行,作为辅助系统。

2.2.专家控制的优点

1.模型的容量大大扩充,通过不断增删修改规则,可以满足任意动态的控制要求,尤其适用于强干扰,时变的,非线性系统的控制,鲁棒性,自适应性很好。

2.可以充分利用先验知识。

3.可以接受定性的描述(可能会需要结合模糊数学的知识)。

4.可以通过故障检测获得更丰富的知识,进行自我的改善和提升。

5.长期连续的可靠性。

3.简单的专家

控制实例

接下来我来讲网上和书上最常见的那个栗子。专家

本质在于通过偏差和偏差的增量来判断应采用的PID控制类型,从而更快更平稳地实现收敛,栗子很好的体现了这一点。

3.1.控制规则(规则)

为当前时刻的误差值,
,

1.设定误差上界

,若
,说明误差已经大的不能接受,此时应直接让控制器满负荷输出。控制器输出
,相当于实施开环控制。

2.设定误差下界

,若
说明此时误差在变大,或维持长值。此时控制器输出

(注意此处为增量式写法,和普通形式不同PID算法的离散化)

若此时

,说明此时误差仍然较大,可将
增大,反之可以减小。这样可以比分别使用两套参数减少2个待调参数,当然模型的容量也有一定程度下降。

3.当

时,说明误差正在减小,或者为零,此时维持原输出

4.当

说明误差处于极值状态,此时输出为
。同理,若此时
,说明此时误差仍然较大,可将
增大,反之可以减小。

5.设定控制精度

,若
,则使用
控制,减小静差。此时的输出为

3.2.控制效果

bdc4470e64a1ca124e4ec0987c2e0e89.png
图6:三阶系统控制效果图

我们看到,对一个三阶系统的控制效果还是非常良好的,没有超调和震荡,大概只用了0.05s就进入稳态。

3.3.专家PID总结

3.模块对于网上和书上常见的例子做了介绍,同时展示了良好的控制效果,但这样的专家

方法还有很多,最简单的比如
毕业设计-基于Matlab的专家PID控制在快速系统中的仿真及应用 - 图文 - 百度文库​wenku.baidu.com

其中使用了最常见的

形式,但是准备了五套不同的参数来切换(可能比本文所提的还要简单),或者彻底让本文所提参数独立,不存在比例关系,增大模型容量(当然也增大调参难度)。总之,只要引入的专家经验(找不到专家,自己编的应该。。。。也能凑乎)不同,还会有更加丰富的专家
形式,但效果同时取决于所调参数和专家经验两个方面。

本文没有照搬书上的内容,而是基于自己学习后的感想提炼,如果大家想看刘金琨的《智能控制》中这一部分的内容,可以直接看这篇博客:

专家控制 - 一抹烟霞 - 博客园​www.cnblogs.com
f235db40e97f83a56ef8decd22bb9ca6.png

它把书抄下来了。。。。一字不落哦。。。。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值