您现在的位置:机电论文网>> 机器人>> 正文内容

CMAC网络应用机器人手眼系统位置控制相关研析

作者: 来源: 发布时间:2011/2/25 10:13:33  点击数:1018

  在人们关注研究机器人手眼系统位置控制问题中发现存在这样一个问题,即如何以较高的精度和较快的速度实现机器人手眼系统位置控制,以使机器人能快速实现对目标物体的准确定位和自动抓取问题,也就是机器人手眼系统中非线性视觉映射关系模型的建模问题。精确的数学模型是机器人视觉系统传统的建模方法,但由于这类问题是高度的非线性问题,参数多且其间的相关性强,所以这种方法理论上虽然精确,但是建模困难、计算量大,实时性差且没有容错能力和自学习能力,而神经网络作为一种智能信息处理的新技术,具有极强的非线性映射能力。因此采用神经网络的建模方法与传统的方法相比具有极大的优越性。

  通过一些特定实验表明,采用BP网络建立模型存在网络规模大、训练时间长、容易陷入局部最小解、定位精度较低等缺点。本文采用CMAC神经网络建立了机器人视觉系统的映射模型, 取得了十分令人满意的效果。

  1、CMAC神经网络简介

  小脑模型关节控制器神经网络(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个一维 子网络的输出的叠加。

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

  经归纳,输入变量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网络采用叠加处理法,不但可以大大减少占用 的存储单元数,而且还可以避免地址压缩带来的冲撞现象,大大提高网络的映射精度和学习速度。

  2、实验及仿真结果

  实验是在山东大学现代物流实验中心进行的。该机器人手眼系统由用于抓取物体的SK6机械手和用于视觉定位的Panasonic WV-CP410/G彩色摄像头组成。摄像头采集的图像是二维的,而机械手运动到某一位置需要六自由度坐标。因此必须把二维图像坐标转换成机器人运动空间的六维坐标,才能控制机器人运动到指定的空间位置,这就是机器人手眼系统位置控制问题。本文采用CMAC神经网络实现了这一坐标变换,并对其结果与BP网 络进行了比较。

  本实验共采集到793个输入样本,选取CMAC网络的量化精度Q为1000,泛化参数C为80,学习步长η为0.30。图2(a)和(b)分别为对 CMAC网络训练25次和对BP网络训练5000次的误差平方和曲面图。可以看出,CMAC网络在训练次数少于BP网络的情况下,其误差平方和远远小于 BP网络,且误差分布比较均匀。图3(a)和(b)分别为CMAC网络和BP网络的误差平方和随学习次数的增加而变化的曲线图。由图可知CMAC网络的学 习速度较BP网络有较大提高。


更多
字体:【】-【】-【】【关闭此页

上一篇:推销员旅行问题求解'   下一篇:CMAC网络应用机器人手眼系统位置控'


特别声明:机电之家(http://www.jdzj.com )所共享的机电类资料,机电论文、机电类文章、机电企业类管理制度、机电类软件都来自网上收集,其版权归作者本人所有,如果有任何侵犯您权益的地方,请联系我们,我们将马上进行处理。购买的论文都出自原创,保证作者的原创的版权的转让,任何纠纷由法律解决。