位置:51电子网 » 技术资料 » 传感与控制

CMAC网络在机器人手眼系统位置控制中的应用

发布时间:2007/4/23 0:00:00 访问次数:514

CMAC网络在机器人手眼系统位置控制中的应用 [日期:2004-12-8] 来源:电子技术应用 作者:山东大学控制学院 曾 慧 [字体:控制器神经网络(Cerebellar Model Articulation Controller Neural Network,即CMAC神经网络)是Albus根据小脑的生物模型提出的一种人工神经网络。它学习速度快,具有局域泛化能力,能够克服BP网络容易陷入局部最小点的问题,且硬件易于实现。目前,CMAC神经网络被广泛应用于机器人控制、非线性函数映射、模式识别以及自适应控制等领域。

1.1 CMAC的基本结构和原理

CMAC神经网络的模型结构原理图如图1所示。它本质上可看作是一种用于表示复杂非线性函数的查表结构。

图1中,S为n维输入矢量空间;A为联想记忆空间;Y是输出响应矢量。输入空间S中的每一矢量S(…,Si,…,Sj,…)被量化后送人存锗区A,每个输入变量Si激活存储区A中C个连续存储单元。网络输出yi为这C个对应单元中值(即权wi)的累加结果,对某一输入样本,总可通过调整权值达到期望输出值。由图1可以看出,每一输入样本对应于存储区A中的C个单元,当各样本分散存储在A中时,在S中比较靠近的那些样本就会在A中出现交叠现象,其输出值也比较相近,即这C个单元遵循"输入相邻,输出相近"的原则,这种现象被称为CMAC神经网络的局部泛化特性,C为泛化参数:C越大,对样本的映射关系影响越大,泛化能力越好。

CMAC网络的学习采用误差纠正算法,计算量少敛速度快。其权值修正公式及输出可表示如下:

式中,η为学习步长,yd为期望输出,mi为输入变量S激活存储单元的首地址。修正方法可以采用每个样本修正一次的增量学习方法,也可以采用所有样本都输入一轮后再修正的批量学习方法。

1.2 多维CMAC网络的计算方法

由上述CMAC模型的算法可知,应用传统的多维CMAC概念映射算法会因输入维数的增大而使存储空间剧烈增大,从而使网络计算量增大,收敛速度变慢。这里采用一种新的多维CMAC网络的处理方法--叠加处理法。即把输入空间为n维的多维CMAC网络看作是由n个一维CMAC网络叠加而成,其输出为n个一维子网络的输出的叠加。\par

当输入空间的维数n=1时,对于每一个输入变量,都激活C个连续存储单元,即有C个对应单元的权值输出非零。它的激励情况如表l所示。

表1 激活单元地址分布
sia1a2a3a4a5a6a7a8a9a1001111000000101111000002001111000030001111000400001111005000001111060000001111

经归纳,输入变量Si激活存储单元的首地址mi的计算方法如下:

mi=Si(C-Δ)+1 (4)

其中,Si为输入量的量化值;C为泛化参数;△为相邻输入激活存储单元的重叠单元数大小。若输入矢量有q个量化级,则存储区A需要q(C-△)+C个存储单元。.

当输入空间的维数n>1时;设输入空间为n维矢量Si=(Si1,Si2,…,Sin),对于每个分量Sij,都可以看作图1所示结构模型的一维输入量。由式(3)可得其对应的输出为:

其中,mj为Sij所激活存储单元的首地址。整个CMAC网络可看作由n个如图1所示的子网络组成,S对应的输出yi可看作n个子网络输出yij(j=1,2,…,n)的叠加。

若每个输入分量有q个量化级,每个子网络中两相邻样本有△个单元重叠,采用上述叠加方法共需存储单元n×[q(C-△)+C]。而对于传统的多维概念映射算法来说,n维输入空间中可能的输入状态为qn个。对于一些实际系统,qn往往远远大于n×[q(C-△)+C]。例如8维输入,量化级为200个等级,泛化参数C取为40,相邻输入激活存储单元的重叠单元数大小△为35,则用叠加处理法需要11200个存储单元,而用传统的概念映射算法需要2008个存储单元。对于传统的概念映射算法所带来的要求存储空间过大的问题,最常用的方法是把A当作一个虚拟存储区,通过散射编码映射到一个小得多的物理空间单元Ap中,从而减少存储空间。但是这种地址压缩技术随机性很强,会带来冲撞问题且不可避免。然而,对多维CMAC网络采用叠加处理法,不但可以大大减少占用的存储单元数,而且还可以避免地址压缩带来的冲撞现

CMAC网络在机器人手眼系统位置控制中的应用 [日期:2004-12-8] 来源:电子技术应用 作者:山东大学控制学院 曾 慧 [字体:控制器神经网络(Cerebellar Model Articulation Controller Neural Network,即CMAC神经网络)是Albus根据小脑的生物模型提出的一种人工神经网络。它学习速度快,具有局域泛化能力,能够克服BP网络容易陷入局部最小点的问题,且硬件易于实现。目前,CMAC神经网络被广泛应用于机器人控制、非线性函数映射、模式识别以及自适应控制等领域。

1.1 CMAC的基本结构和原理

CMAC神经网络的模型结构原理图如图1所示。它本质上可看作是一种用于表示复杂非线性函数的查表结构。

图1中,S为n维输入矢量空间;A为联想记忆空间;Y是输出响应矢量。输入空间S中的每一矢量S(…,Si,…,Sj,…)被量化后送人存锗区A,每个输入变量Si激活存储区A中C个连续存储单元。网络输出yi为这C个对应单元中值(即权wi)的累加结果,对某一输入样本,总可通过调整权值达到期望输出值。由图1可以看出,每一输入样本对应于存储区A中的C个单元,当各样本分散存储在A中时,在S中比较靠近的那些样本就会在A中出现交叠现象,其输出值也比较相近,即这C个单元遵循"输入相邻,输出相近"的原则,这种现象被称为CMAC神经网络的局部泛化特性,C为泛化参数:C越大,对样本的映射关系影响越大,泛化能力越好。

CMAC网络的学习采用误差纠正算法,计算量少敛速度快。其权值修正公式及输出可表示如下:

式中,η为学习步长,yd为期望输出,mi为输入变量S激活存储单元的首地址。修正方法可以采用每个样本修正一次的增量学习方法,也可以采用所有样本都输入一轮后再修正的批量学习方法。

1.2 多维CMAC网络的计算方法

由上述CMAC模型的算法可知,应用传统的多维CMAC概念映射算法会因输入维数的增大而使存储空间剧烈增大,从而使网络计算量增大,收敛速度变慢。这里采用一种新的多维CMAC网络的处理方法--叠加处理法。即把输入空间为n维的多维CMAC网络看作是由n个一维CMAC网络叠加而成,其输出为n个一维子网络的输出的叠加。\par

当输入空间的维数n=1时,对于每一个输入变量,都激活C个连续存储单元,即有C个对应单元的权值输出非零。它的激励情况如表l所示。

表1 激活单元地址分布
sia1a2a3a4a5a6a7a8a9a1001111000000101111000002001111000030001111000400001111005000001111060000001111

经归纳,输入变量Si激活存储单元的首地址mi的计算方法如下:

mi=Si(C-Δ)+1 (4)

其中,Si为输入量的量化值;C为泛化参数;△为相邻输入激活存储单元的重叠单元数大小。若输入矢量有q个量化级,则存储区A需要q(C-△)+C个存储单元。.

当输入空间的维数n>1时;设输入空间为n维矢量Si=(Si1,Si2,…,Sin),对于每个分量Sij,都可以看作图1所示结构模型的一维输入量。由式(3)可得其对应的输出为:

其中,mj为Sij所激活存储单元的首地址。整个CMAC网络可看作由n个如图1所示的子网络组成,S对应的输出yi可看作n个子网络输出yij(j=1,2,…,n)的叠加。

若每个输入分量有q个量化级,每个子网络中两相邻样本有△个单元重叠,采用上述叠加方法共需存储单元n×[q(C-△)+C]。而对于传统的多维概念映射算法来说,n维输入空间中可能的输入状态为qn个。对于一些实际系统,qn往往远远大于n×[q(C-△)+C]。例如8维输入,量化级为200个等级,泛化参数C取为40,相邻输入激活存储单元的重叠单元数大小△为35,则用叠加处理法需要11200个存储单元,而用传统的概念映射算法需要2008个存储单元。对于传统的概念映射算法所带来的要求存储空间过大的问题,最常用的方法是把A当作一个虚拟存储区,通过散射编码映射到一个小得多的物理空间单元Ap中,从而减少存储空间。但是这种地址压缩技术随机性很强,会带来冲撞问题且不可避免。然而,对多维CMAC网络采用叠加处理法,不但可以大大减少占用的存储单元数,而且还可以避免地址压缩带来的冲撞现

相关IC型号

热门点击

 

推荐技术资料

滑雪绕桩机器人
   本例是一款非常有趣,同时又有一定调试难度的玩法。EDE2116AB... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!