神经网络课程设计 神经网络用于机器手臂的控制
神经网络用于机器手臂的控制
机械手是一种高度非线性、强耦合、时变的系统,对它的控制基本为两种:基于精确数学模型的传统控制和与模型无关的智能控制。由于机械手系统的复杂性,其精确的数学模型难以建立,使应用传统的控制手段对其进行的控制效果欠佳。常用的智能控制手段如模糊控制、人工神经网络等又有各自的局限性。一般说来,模糊逻辑方法虽然长于表达近似与定性的知识,却通常无学习能力;神经网络具有学习能力,但内部知识的表达方式又是不清楚的,这样神经网络在每次学习时只能从任意初始条件开始,不能利用必要的初始经验或知识,收敛速度慢,易陷入局部极限;而由于缺乏学习能力,模糊逻辑方法只能主观或试凑地选择隶属函数和模糊规则,不能根据积累的经验自动地改善系统的性能。上世纪70年代,J.S.Albus根据神经生理学小脑皮层的结构特点,提出了一种小脑模型关联控制(cerebellar model articulation controller),即CMCA神经网络,是一种类似于Perceptron的相联记忆方法,与模糊逻辑不但是相互补充的,而且也是相互结合的。首先它用连接主义来表达模糊逻辑控制器,引入了学习机制,也带来了两者结合的诸多优点,如存储容量的减小,泛化能力的增加,以及连接主义结构的容错性等。其次,在CMAC的分布表达中,一个值由散布于许多计算单元的活性模式表示,每个计算单元又涉及许多不同值的表达,因此每个计算单元都有一个感受野(receptive field),即它表达的所有值的集合,这相当于每个计算单元都对应一个模糊集合,或者说感受野相当于隶属函数,这正是它们能够有机结合的一个基础。 1.CMAC的优越性
神经网络可分为全局逼近神经网络和局部逼近神经网络,如果网络的一个和多个连接权系数或自适应可调参数,在输入空间的每一点对任何一个输出都有影响,则称该神经网络为全局逼近网络。如BP网络,每一次样本学习都需要重新调整网络的所有权值,收敛速度慢,易陷入局部最小,很难满足控制系统的实时性要求;若对输入空间的某个局部区域,只有少数几个连接权影响网络的输出,则称该网络为局部逼近网络,从而使局部逼近网络具有学习速度快的优点。CMAC、RBF以及某些模糊神经网络是局部逼近网络。CMAC比其他神经网络的优越性体现在:
(1)
CMAC神经网络把信息存储在局部的结构上,在保证函数逼近的前提下,
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
学习速度快。
(2)
CMAC函数逼近器对学习数据出现的次序不敏感,因此,CMAC在时变、非线性系统控制中得到广泛应用。
(3)
CMAC结构简单,易于硬件实现和软件实现。因此,CMAC已被越来越多的学者所关注,并得到广泛的应用。
2.CMAC模型结构
CMAC的模型结构如图1所以,它的工作过程是一系列映射。输入状态空间S的维数由对象决定。一般来说,输入是模拟量,需要进行量化,然后才能送入存储区A,状态空间中的每一点将同时激活A中的c个单元。网络输出F(si)为c个对应单元中的值(即权wi)累加的结果,如对应s1输入单眼有c=4个,则
F(s1)??wi
i?14
Fig1 CMAC结构模型
可把c看作是信号检测单元的感受野大小,其值与泛化能力有关,所以有时称c为范化参数。
如果输入S有m个分量(输入向量时m维的),而每一分量有q个量化等级,则S的可能状态有qm个,它们都要映射到A中,并有其对应的(权)值。在S
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
中比较接近的那些样本在A中会出现交叠,如图1中s2与s3,它们有两个权时交叠的,从而其输出F(s2)和F(s3)也较相近,这可起到泛化的作用,,对S中相距很远的矢量这种泛化是不起作用的。如果用Hamming距离d表示si,sj的差异程度,则在A存储区内交叠的单元数约为c-dij,c-dij<0时没有交叠,c-dij>0的那些交叠区可以看作聚类的领域。这样,输入空间S中相近的向量映射后产生聚类。
对一些实际系统,qm往往很大,例如10维输入,每个量化为100个等级,则输入空间有100个可能的状态,这个需要A中至少有100个权与其对应。由于绝大数学习问题并不要包含所有状态,所以实际上不需要那么多的地址单元。A只是一个虚拟地址,可把A的地址通过散列编码映射到一个小的多的物理地址Ap中,且在Ap中每一个状态也有c个地址与之对应,输出仍满足
F(sj)??wi
i但在Ap中c个单元是随机的,wi可通过学习得到,S到Ap部分是非线性映射,而Ap到输出F是线性映射。 3.工作原理
图2画出了一个较详细的二维输入,一维输出的CMAC模型,下面对每一部作分析。
(1) S到M的映射
Fig2 CMAC的工作原理图
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
输入为二维,S?(s?1,s?2)T,量化感知器M也分为两组M?1,M?2,图2中M的每一小格是一个感知器,感知器的个数是量化的级数,M?1和M?2的量化级数不一定相同,对任意输入?1或?2,在M上可找到其对应的感知器,为泛化需要,在对应量化周围c格感知器同时被激励。如表1所以,c=4,a,b,c,……,l表示感知器编号,s?表示输入一个模拟对应的量化值。任一量化值将引起c个感知器激活为1,每个感知器也可对应于c个输入量s?。例如?e是2—5之间,m?为1的个数与聚类范围c相同,c可由认为选择,表1中c=4,shijic可以很大,例如从10—100。希望S中靠近的值在?中也较近。把表中?为1的值表示为a,b,c……,后,可把表1整理化为表2,其中每一S值与m?=4个感知器对应。可以看出输入空间中相近的s?在输出m?中也接近,且有
dij?si?sj?mi??mi??m?j
表1 感知器的激活情况 表2 与各s?对应的激活感知器
例如对两个接近的量s?=5和s?=4来说,
dij?s?5?s?4?1
????m4?m5??e,f,g?, m4?m5?3
可见 dij?m4?m4?m5?1
??? 一般情况下,输入是多维的,以二维情况为例,设s?1量化为5级,s?2量化
张建文 1030319100 张卜南1030319078
神经网络课程设计 神经网络用于机器手臂的控制
为7级,它们分别用大写和小写字母表示,如表3和表4所示。
表3 表2 与各s?1对应的激活感知器 表4 表2 与各s?2对应的激活感知器
在一般情况下 S?(si1,si2,?,sin)T 则S?M映射为
?si1?mi?1???si2?mi2 S?M?????s?m?in?in(2) M到A的映射
M到A的映射是通过滚动组合得到的。其原则还是输入空间相近的矢量在输出空间也相近,如果输入感知器的兴奋元为c个,不管输入是多少维,A中地址也对应c个。以二维c=4情况为例,映射如表5,用与的关系组合后,得到A的地址表5所示。(下图为表5)
张建文 1030319100 张卜南1030319078
神经网络用于机器手臂控制大全
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)