| | 网站首页 | 技术文章 | 专业论文 | PLC可编程 | 单片机 | 变频器 | 传感器 | 嵌入式系统 | 电源技术 | 运动与伺服 | | 校园招聘 | 留言板 | |
|
![]() |
|
| 您现在的位置: 自动化学习网 >> 技术文章 >> 传感器 >> 文章正文 |
|
|||||
| CMAC神经网络模糊控制器设计 | |||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-5-11 ![]() |
|||||
|
摘 要: 详细介绍了CMAC神经网络结构、中间层作用函数地址的计算方法、输出层权值的学习算法,并利用CMAC神经网络对水下机器人深度模糊控制器进行了学习。仿真结果表明,训练得到的CMAC神经控制器控制效果良好,中间层作用函数地址的计算方法正确。 关键词: CMAC神经网络 模糊控制 水下机器人 小脑模型关节控制器神经网络(Cerebella Model Articulation Controller Neural Network,即CMAC NN)由J.S.Albus 于1975年首先提出并由W.T.Miller等人成功运用于机械手的实时动态轨迹跟踪控制。与多层前项神经网络这样的全局逼近神经网络[1]相比, CMAC神经网络在任意时刻的学习都是少数的输出层权值的调节过程,并且是一个线性优化过程,因此具有学习速度快的特点,非常适合于在线实时控制。对于大多数的控制问题,完全可以达到与多层前向神经网络相同的控制效果。目前,CMAC神经网络被越来越多地应用于机器人控制、模式识别、信号处理以及自适应控制等领域。 1 CMAC的结构及工作原理 CMAC是类似于感知器的基于网格基的联想记忆神经网络。它由输入层、中间层和输出层组成。在输入层与中间层和中间层与输出层之间分别有由设计者预先确定的输入层非线性映射和输出层权值的自适应线性映射。在输入层对n维输入空间进行划分形成一个n维网格基,任意一个输入都降落到此n维网格基的一个超立方体单元内。中间层由若干个基函数构成,对任意一个输入只有少数几个基函数的输出为非零值,我们称非零输出的基函数为作用基函数,作用基函数的个数为泛化参数ρ(generalization parameter)它规定了网络内部影响网络输出的区域大小。中间层基函数的个数用P表示,泛化参数应满足ρ<<P。在中间层的基函数与输出层的网络输出之间通过若干个连接权进行连接,它是一个全连接,在网络训练阶段,可以通过梯度下降算法对权值进行调整。CMAC神经网络的设计主要包括输入空间的划分、输入层非线性映射的实现、输出层权值学习算法,下面给予详细介绍。 1.1 CMAC 输入空间的划分 设计CMAC神经网络的第一步是对输入空间的划分方法进行定义。设输入向量为
对该区间进行如下分割:
其中λi,j 称为xi的第j个内节点。 同样也可以定义xi的外节点:
通常,所有左边的外节点均置于
对于任意输入x它在每一个输入坐标轴的子区间号为 内节点的选区办法可以是在区间[ 1.2 CMAC输入层非线性映射的实现 设计CMAC输入层非线性映射的目的是保证对任意一个输入,在中间层只有ρ个基函数的输出值为非零值,并且在输入沿某一输入坐标轴平行移动一个超立方体单元后,只有一个非零输出的基函数与原来的不同。而在输入沿某一坐标轴平行移动ρ个超立方体单元后,已无任何一个非零输出的基函数与原来相同,这样就保证了当输入相近时,输出也比较相近,当输入的距离较远时,相应的输出互不相关。并且,输出层权值的调整也是局部的,在每一次学习过程中只有ρ个权值发生调整,对两个相近的输入,只有少量的权值发生变化,而不影响大多数权值,这样大大加快了网络学习速度,减少了学习干扰。当泛化参数ρ增大时,学习变得缺少局部特性,网络的建模能力通常也会下降。 由于对任意一个输入向量x,只有ρ个中间层的基函数的输出非零,问题归结为找到这ρ个基函数在中间层p维基函数向量a(t)中的地址。下面分别给出在输入为一维、二维和多维情况下的作用基函数的地址的计算方法。 1.2.1 一维输入的计算方法 当n=1时,共有ρ个作用基函数输出非零,其中第j个作用基函数地址ad(j)的计算方法如下:
其中 Ceil函数定义如下:
1.2.2 二维输入的计算方法 当n=2时,ad(j)的计算方法如下:
1.2.3 多维输入的计算方法 当n>2时,第j个作用基函数地址ad(j)的计算方法如下:
1.3 CMAC 基函数的输出 本文采用二进制CMAC神经网络,作用基函数的输出为1/ρ,这样CMAC网络作用基函数的输出和为 1.4 CMAC 输出层权值学习算法 本文采用带有输出死区的NLMS学习算法:
2 水下机器人CMAC神经网络控制器设计 采用CMAC神经网络对水下机器人深度模糊控制器进行学习,从而得到水下机器人CMAC神经网络控制器。 2.1 水下机器人深度模糊控制器 本文对某水下机器人深度通道设计了一PD型模糊控制器,以系统输出误差e及误差变化率e作为模糊控制器的输入, 模糊控制器的输出曲面见图1,模糊控制器作用下的系统输出见图2. 2.2 水下机器人CMAC神经网络深度控制器 本文利用CMAC神经网络对水下机器人CMAC模糊深度控制器进行学习,以模糊控制规则的前件和后件隶属函数的中心对应的e、e和μ的取值作为训练样本对,组成49个训练样本对。CMAC神经网络的设计参数如下:少年宫化参数p=5,输入空间为均匀划分,划分数为20*20,覆盖偏移向量 |
|||||
| 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 基于PIC的无线数据传输发射机… 基于PSD3XX与ADMC401接口设计… 基于ST72单片机的快速充电系… 基于单片机的MicroDrive接口… 基于单片机的喷墨打印机控制… 利用ASSP实现成本节约,加速… 如何仿真单片机的外围设备 非接触式e5551读写器的开发 基于80C166单片机PEC服务的P… 基于8位微控制器控制硬盘进行… |
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 文章索引 | 网站地图 | |
| 声明:本网站资源均来源于网络,如涉及版权问题,请通知我们,我们将尽快删除! QQ:279619038 备案序号:吉ICP备06005743号 自动化学习网版权所有 站长:guxing |
|