智能控制 第六章——集成智能控制系统
参考课程:https://www.bilibili.com/video/BV1PE411W7QM/?spm_id_from=333.1387.favlist.content.click&vd_source=8f8a7bd7765d52551c498d7eaed8acd5
一、模糊神经网络系统(FNN)
1、FNN的提出
(1)模糊控制的局限性与改进:
模糊控制利用专家经验建立起来的模糊集、隶属度函数和模糊推理规则等实现了复杂系统的控制,控制器设计是基于人们在操作系统实践中积累的一些经验知识,通过主观的反复实验得到隶属度函数和模糊控制规则
然而,当环境发生变化时,模糊控制器缺乏自我调节和自学习的能力,对此Sugeno提出将规则的自组织问题转化为参数估计问题,但仍无法避免主观性
(2)神经网络控制的局限性与改进:
神经网络由大量连接的神经处理单元组成的,具有高度的非线性映射能力和自学习能力,能够从样本数据中进行学习和泛化,计算速度快
神经网络具有两大主要特征——分布表示和学习能力
然而,神经网络无法处理语言变量,也不可能将专家的先验控制知识注入到神经网络控制系统中去,使得原本不是“黑箱”结构的系统设计问题只能用“黑箱”系统设计理论来进行,另外它还存在局部收敛问题
对此,可以利用神经网络的学习功能来优化模糊控制规则和相应的隶属度函数,将一些专家知识预先分布到神经网络中去
(3)神经网络专家系统的局限性与改进:
专家系统,是一个智能信息处理系统,它处理现实世界中提出的需要由专家来分析和判断的复杂问题,并采用专家推理方法来解决问题
传统的专家系统采用产生式规则和框架式结构,基于符号的知识的显式表示,它的缺点很明显,专家本人无法用这些规则来表达他们的经验,对此可以改进专家系统,利用神经网络专家系统,是符号的隐式表示,它的知识库是分布在大量神经元以及它们之间的连接系数上的,知识获取只是神经网络的简单训练过程
2、FNN的结构
(1)FNN中,神经网络的输入输出节点用来表示模糊控制系统的输入输出信号,隐含节点用来表示隶属度函数和模糊控制规则。
(2)整个神经网络模型通常分成五个层次:
①第一层:输入节点,用来表示语言变量。
②第二层:表示语言变量语言值的隶属度函数(可用单一神经元或一个小的子网络),用于模糊化。
③第三层:规则节点,实现模糊逻辑推理。
④第四层:语言变量语言值的隶属度函数(二、三层节点之间的连接系数定义为规则节点的条件部,三、四层节点之间的连接系数定义为规则节点的结论部),用于精确化。
⑤第五层:输出层,每个输出变量有两个语言节点,分别是表示模糊神经网络推理控制的输出信号节点、用于在训练神经网络时需要的期望输出信号的馈入(反馈输入)。
3、基本功能和函数关系
(1)单个神经元的输入函数和激励函数:
(2)不同层的函数关系:
①第一层:将输入变量值直接传送到下层。
②第二层:用单一节点完成简单的隶属函数,如对一钟形函数。
③第三层:实现模糊逻辑规则的条件部的匹配,规则节点完成模糊“与”运算(玛达尼推理法)。
④第四层:有两种操作模式。
[1]在从下到上的传输模式中,实现的是模糊逻辑推理运算。
[2]在从上到下的传输模式中,此节点实现的是输出变量(期望输出信号的馈入)的模糊化。
⑤第五层:有两种操作模式。
[1]执行从下到上的信号传输方式,实现模糊输出的精确化计算。
[2]执行从上到下的信号传输方式,实现了把实验数据反馈到神经网络中去的目的,提供模糊神经网络训练的样本数据。
(3)基于神经元网络的基本模糊逻辑运算:
①用单个神经元实现钟形隶属度函数:
②用常规的S神经元表示隶属度函数:
(4)神经元网络实现的基本的模糊逻辑运算——“与”、“或”、“非”的方法(把“人话”转为“数学语言”):
①直接法:
设置神经元的激励函数为“与”、“或”、“非”,比如Softmin激活函数
②有序加权平均(OWA)法:
二、模糊神经网络的学习算法
1、使用B-P算法训练模糊神经网络
(1)可以使用B-P算法训练模糊神经网络,首先取误差函数
(2)权值的修正公式为
(3)假设隶属度函数为钟形函数,其中和
为可调参数。
(4)各层的B-P算法:
①第五层:
②第四层:
在从下到上的传播模式中,此层主要完成模糊推理运算,在这一模糊神经网络结构中没有任何参数进行更新,要做的是实现误差的反向传播计算
③第三层:
④第二层:
2、实例——基于模糊神经网络的移动机器人沿墙导航控制
(1)背景:
沿墙导航控制问题是指驱动机器人在一定方向上沿墙运动,或者更一般意义上的沿着物体轮廓运动,并与墙保持一定距离
墙体情况可分为以下几种:
①跟踪一个未知的墙体:当获得的环境信息太少或无法获得,机器人的轨迹可能会特定为“沿着右边的墙体运动直到发现第一个门口”;另外,如果移动机器人的任务是绘制全局模型,它就必须沿墙体行进将地图描述完全
②跟踪一个已知墙体:机器人按照规划好路径跟踪轨迹,为了使算法误差保持在小范围内而跟踪墙体,或者,路经规划中包括已知墙体,需要机器人沿墙行进完成特殊的任务
移动机器人侧壁上方安装有16个声纳,按顺时针排列从0#到15#
移动机器人要避免与墙体碰撞又要保持一定距离,所以为每个声纳设置一个阈值,当声纳检测到的距离值大于或小于这个阈值,就采取相应的动作
(2)神经网络的输入与输出:
(3)设计七层模糊神经网络:
