基于BP神经网络的障碍物模式识别 下载本文

龙源期刊网 http://www.qikan.com.cn

基于BP神经网络的障碍物模式识别

作者:张秋豪 孟宪辉 郭洪澈 孙柏青 来源:《电脑知识与技术》2011年第35期

摘 要:应用BP神经网络理论进行障碍物的模式识别,针对全向移动机器人的特点,构造出一种基于BP算法的神经网络分类器;应用超声波传感器采集的障碍物距离信息作为输入,期望的分类模式作为输出,并通过训练样本库中的数据,对BP神经网络分类器中的参数进行训练;通过matlab软件对训练的过程进行仿真,这种应用BP神经网络对障碍物模式的分类,在训练过程中能够得到很小的分类误差,并且用测试样本对生成的分类器进行测试,得到了正确的结果。从而说明这种BP神经网络分类器能够很好的对移动机器人周围障碍物的模式进行分类。

关键词:避障;模式识别;全向移动机器人;超声波传感器;BP神经网络;样本库;分类误差;仿真

中图分类号:TP242.6 文献标识码:A

Obstacles based on BP neural network pattern recognition

ZHANG Qiuhao,MENG Xianhui,GUO Hongche,SUN Baiqing (Shenyang University of Technology,Shengyang 110870)

Abstract:Adopted theory of BP neural network to realize pattern identification of obstacle.

Constructed a kind of neural network classifier based on BP algorithm, according to the characteristics of omni-directional mobile robot.Taked the distance of obstacle acquired by ultrasound sensor as input,classificaion pattern expected as output, then, trained the parameter of BP neural network classifier through training the data in sample library. Simulated the process of training with Matlab software. During training, this pattern classification could gain less error and gain correct resullt by adopting testing sample to test classifier. Showed that this kind of BP neural network classifier can execute effectively pattern classification to obstacles around mobile robot.

Key words:obstacle avoidance;pattern classification;omni-directional mobile robot;ultrasonic sensors;BP neural network;Sample library;Classification error;computer simulink 移动机器人的智能避障算法已经有许多学者进行了深入的研究,机器人在导航过程中,对障碍物的模式识别是感知当前环境的一种重要方法,适合移动机器人本身特点的障碍物模式识别是好的避障算法的基础。其中应用人工神经网络对障碍物进行模式的分类和识别也有很多[1-2]。在运用模式识别的若干种神经网络模型中,BP模型应用最为广泛。其非线性映射能力

龙源期刊网 http://www.qikan.com.cn

是保证其成功实现各种简单或复杂分类的主要原因,而并行结构则加速了运算。更重要的是,它将信息分布式存储于连接权系数中,使网络具有很高的容错性和鲁棒性,有效地解决了模式分类和识别中普遍存在的噪声干扰和输入模式的部分损失问题 [3] 。 1 BP神经网络分类器的结构和机理 1.1 BP神经网络结构

BP神经网络,也称误差后向传播神经网络【4】,它是由非线性变换单元组成的多层前馈网络。一般由输入层、输出层和隐含层三部分组成。隐含层可以为一层或多层。根据Kolmogorov定理(1957)[5],一个三层的BP网络足可以完成任意的m维到q维的映射,即一般只需一个隐含层就够了。同时从简洁实用的角度考虑,也提倡选用一个隐含层,隐含层含有n个神经元。输入层和隐含层之间以及隐含层和输出层之间通过权值来表示连接强度。这就是三层BP神经网络结构(如图3-1)。

输入层输入向量X=[x1,x2,…,xi,…xm]T,隐含层输出向量为Y=[ y1,y2,…,yj,…yn]T,输出层输出向量为Z=[ z1,z2,…,zk,…zq]T,期望输出向量为T=[ t1,t2,…,tk,…tq]T。输入层到隐含层之间的权值矩阵用A表示,A=[ a1,a2,…,aj,…an],其中列向量aj为隐含层第j个神经元对应的权值向量,隐含层到输出层之间的权值矩阵用B表示,B=[ b1,b2,…,bk,…bq],其中列向量bk为输出层第k个神经元对应的权值向量。

1.2 BP算法

BP算法的思想是,学习过程即信号的正向传播与误差的反向传播两个过程组成。 由信号的正向传播,这里定义f(*)为神经元激励函数,对于隐含层有 yj =f(netj) j=1,2,…,n (1) netj= aijxi j=1,2,…,n (2) 对于输出层有

zk =f(netk) k=1,2,…,q (3) netk= bjkyj k=1,2,…,q (4)

龙源期刊网 http://www.qikan.com.cn

再来看误差的反向传播和权值的修正,BP算法采用非线性规划中的最速下降法,按误差函数的负梯度方向修改权值系数。

定义误差函数E,取期望输出和实际输出之差的平方和为误差函数,则: E=12 (T-Z)2=12 (tk-zk)2 k=1,…,q (5) 进一步展开至输入层

E=12 {tk-f[ bjkf( aijyi)]}2 其中k=1,…,n j=1,…,n i=1,…,m (6)

由上式可以看出,网络输入误差是各层权值aij、bjk的函数,因此调整权值可以改变误差E。调整权值的原则是使误差不断的减小,应使权值的调整量与误差的负梯度成正比,即: △aij= i=1,2,…,m j=1,2,…,n (7) △bij= j=1,2,…,n k=1,2,…,q (8)

式中负号表示梯度下降,η∈(0,1)为学习率。

各层权值调整过程是循环进行的。权值不断调整的过程,就是网络的学习训练过程。通过不断的调整权值和新的数据不断加入,可以使误差逐渐的减小。

2 构建BP神经网络分类器结构

模式识别的分类问题归根结底是一个模式特征空间的划分问题,或者说是一种映射问题。而BP网络的输入输出关系可以看成是一种高度非线性的映射关系,其信息处理能力也是来自于一种简单的非线性函数的多次复合。根据BP网络结构定理及有关性质,大家知道,对于任何在闭区间内的一个连续函数都可以用一个隐含层的BP网络来逼近,也就是说一个三层的BP网络可以完成任意的n维到q维的映射。BP网络分类器就是在这个基础上达成对样本分类的,也就是说我们可以应用BP网络分类器完成从环境信息到环境分类的映射。

本课题应用的移动机器人(如图2)采用的是全方位移动机构(如图2-a为俯视图 ),车轮为全向轮(如图2-b),当车轮旋转时,轮心相对于地面的速度 是轮毂速度 与辊子滚动速度 的合成, 与 垂直。这种结构的车轮在驱动力的作用下可以前进或后退,当受到横向的外力时又可以自由的横向移动,因此经过适当的组合后就可以实现机器人的全方向移动和原地转向运动,以及这两种运动的合成[6]。