综合资讯 在线阅读 原文阅读 在线商城 下载专区 DATASHEET 技术论坛 商务频道

嵌入式系统  单片机  D S P  EDA/PLD  接口电路  存储技术  显示光电  电源技术
传感/控制  模拟技术  通信网络  无线通信  电测仪表  消费电子  汽车电子

所在的位置:首页技术文章传感/控制正文
 
CMAC神经网络模糊控制器设计
发布日期:2006-01-07 作者:陆军 张秀梅 李殿璞 华克强 来源:电子技术应用

 摘 要: 详细介绍了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神经网络的第一步是对输入空间的划分方法进行定义。设输入向量为s1.gif (1212 字节)且xi∈Ri,Ri为一有限区间,定义为:

s2.gif (1636 字节)

对该区间进行如下分割:

s3.gif (1721 字节)

其中λi,j 称为xi的第j个内节点。

同样也可以定义xi的外节点:

s4.gif (2175 字节)

    通常,所有左边的外节点均置于,所有右边的外节点均置于。若两节点在同一位置,则称该节点为重节点。所有这些节点将整个区间RI分为ri+1个子区间Rr,j(0≤j≤ri):

s5.gif (2010 字节)

    对于任意输入x它在每一个输入坐标轴的子区间号为 s6.gif (3388 字节)

    内节点的选区办法可以是在区间[]等间隔划分或是根据实际问题的需要非均匀划分,即在期望输出变化快的区域多划分,在期望输出变化慢的区域少划分。对输入空间的划分不仅影响网络的内存消耗,还影响网络的建模能力和学习收敛速度。

   1.2 CMAC输入层非线性映射的实现

    设计CMAC输入层非线性映射的目的是保证对任意一个输入,在中间层只有ρ个基函数的输出值为非零值,并且在输入沿某一输入坐标轴平行移动一个超立方体单元后,只有一个非零输出的基函数与原来的不同。而在输入沿某一坐标轴平行移动ρ个超立方体单元后,已无任何一个非零输出的基函数与原来相同,这样就保证了当输入相近时,输出也比较相近,当输入的距离较远时,相应的输出互不相关。并且,输出层权值的调整也是局部的,在每一次学习过程中只有ρ个权值发生调整,对两个相近的输入,只有少量的权值发生变化,而不影响大多数权值,这样大大加快了网络学习速度,减少了学习干扰。当泛化参数ρ增大时,学习变得缺少局部特性,网络的建模能力通常也会下降。

    由于对任意一个输入向量x,只有ρ个中间层的基函数的输出非零,问题归结为找到这ρ个基函数在中间层p维基函数向量a(t)中的地址。下面分别给出在输入为一维、二维和多维情况下的作用基函数的地址的计算方法。

    1.2.1 一维输入的计算方法

    当n=1时,共有ρ个作用基函数输出非零,其中第j个作用基函数地址ad(j)的计算方法如下:

s7.gif (3095 字节)

    其中是第k个覆盖偏移向量的第一个分量=1,=2=ρ。

   Ceil函数定义如下:

s8.gif (2469 字节) 为自然数

   1.2.2 二维输入的计算方法

    当n=2时,ad(j)的计算方法如下:

s9.gif (10638 字节) 

       1.2.3 多维输入的计算方法

    当n>2时,第j个作用基函数地址ad(j)的计算方法如下:

s10.gif (7382 字节) 

        1.3 CMAC 基函数的输出

    本文采用二进制CMAC神经网络,作用基函数的输出为1/ρ,这样CMAC网络作用基函数的输出和为 s11.gif (1683 字节)

    1.4 CMAC 输出层权值学习算法

    本文采用带有输出死区的NLMS学习算法:

s12.gif (3419 字节)

   b1.gif (6869 字节) 这里,δ为学习速率,当δ∈(0,2)时,学习收敛输出误差Εy=y-y(t)。

    2 水下机器人CMAC神经网络控制器设计

    采用CMAC神经网络对水下机器人深度模糊控制器进行学习,从而得到水下机器人CMAC神经网络控制器。

    2.1 水下机器人深度模糊控制器

    本文对某水下机器人深度通道设计了一PD型模糊控制器,以系统输出误差e及误差变化率e作为模糊控制器的输入,s13.gif (2218 字节),模糊控制器的输出是z轴方向上的推力,u∈[-270N,270N]。模糊控制器的输入t1.gif (11777 字节)和输出语言变量的模糊子集均为NL(负大)、NM(负中)、NS(负小)、ZE(零)、PS(正小)、PM(正中)、PL(正大)。模糊隶属函数采用等腰三角形,且隶属函数的重合度为2,采用Mandani推理方法。模糊控制规则表如表1所示。

    模糊控制器的输出曲面见图1,模糊控制器作用下的系统输出见图2.

   2.2 水下机器人CMAC神经网络深度控制器

    本文利用CMAC神经网络对水下机器人CMAC模糊深度控制器进行学习,以模糊控制规则的前件和后件隶属函数的中心对应的e、e和μ的取值作为训练样本对,组成49个训练样本对。CMAC神经网络的设计参数如下:少年宫化参数p=5,输入空间为均匀划分,划分数为20*20,覆盖偏移向量,输出死区ζ=5。训练得到的CMAC神经网络深度控制器输出曲面见图3,该控制器作用下的系统输出见图4


 (全文结束)

信息发布:   转引自: 【 】 【打印】 【关闭
 相 关 文 章
燃气锅炉的PLC自动控制系统 (10-30)
基于新的优化修正函数的模糊控制器设计 (10-31)
基于MATLAB模糊逻辑工具箱的模糊控制系统仿真 (01-07)
基于FPGA模糊控制芯片的设计 (10-22)
基于串级系统的一种新型模糊控制方法 (10-18)
一种融合型智能PID控制器的研究与应用 (09-23)
高尔夫燃料电池电动车电源控制系统研究 (09-24)
模糊控制在单片机空调室温调节中的应用 (10-03)
日立单片机模糊控制开发平台及其应用 (01-07)
电冰箱模糊测控开发平台的实现 (01-09)
单片机在退火炉炉温模糊控制中的应用 (01-17)
MATLAB环境下的模糊推理程序化方法 (01-17)
制冷空调系统的模糊控制实现 (01-17)
应用LMX2370设计双锁相环频率合成器 (01-17)
基于PLC的炉温多级模糊控制的优化与实现 (01-16)
智能型自调匀整装置的研究与开发 (01-16)
中央空调房间温度模糊控制器的设计 (01-16)
单路口交通多相位模糊控制器的设计与仿真 (01-16)
一种通用工业控制器的标准结构 (01-17)
关于我们 ┋ 友情链接


深圳市福田区海滨广场恒福花园恒华阁11F
电话:0755-88305872 传真:0755-88305880
Copyright©2005-2007 无忧电子开发网版权所有

粤ICP备05064233号