基于BP神经网络的扫地机器人寻路算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于BP神经网络的扫地机器人寻路算法
作者:杨忠刘华春
来源:《电脑知识与技术》2017年第10期
摘要:传统的寻路算法通常用在已知地形结构的基础上规划路线,而扫地机器人的工作环境通常是陌生的,传统寻路算法在此失效。该文结合BP神经网络的特性,提出一种基于BP 神经网络的扫地机器人寻路算法,目标是使扫地机器人能够在任何陌生的环境中正确地完成寻路任务,通过分析扫地机器人的清扫模式,建立观察模型和运动模型,利用MatLab实现对应的BP神经网络,并对传统BP网络激励函数进行了优化,最后经过训练和仿真验证了算法的有效性和实用性。
关键词:寻路算法;扫地机器A-;BP神经网络
中图分类号:TPl8
文献标识码:A
文章编号:1009-3044(2017)10-0156-03
随着科技的不断进步,智能家居理念逐步渗透了现代生活中,智能扫地机器人日益流行起来,很多厂家都开始生产智能扫地机器人。过去机器人通常只能完成一些简单的任务,但随着人工智能、传感器技术的发展,机器人的功能得到了很大的升级和改善,加上网络推广,智能扫地机器人已经真正地进入人们的日常生活。智能扫地机器人能在无人监督的情况下通过红外线传感器、超声波传感器、陀螺仪、电子罗盘、室内GPS等传感器设备扫描并学习房间局部户型结构,规划路径完成房间的清洁任务。通常由于所处位置的局限性和现代住房结构复杂等因素,难以获得完整准确的户型结构图,而要求用户事先将户型图输入机器人也不现实,因此清扫路径的规划是整个清扫活动的难点。目前通常采取线性算法进行路径规划,通过传统程序设计模式编程实现。这种方式导致扫地机器人智能程度不高,在遇到一些特殊情况时,导致整个清扫工作中断。
1.问题分析
扫地机器人按清扫路线形式可分为规划式和随机式两类。目前,扫地机器人大部分都采取随机式扫地机,即不规划路线,扫到哪算哪,碰到障碍物自己走开。规划式清扫模式:扫地机器人感知四周的环境,然后规划行走的路径,有效地遍历各个区域,完成各个区域的打扫。规划式清扫模式的行走路径方式有螺旋式行走模式,S形行走模式,五边形行走模式。其中,以螺旋行走模式的清扫效率最高,它最大程度的避免了重复路线。但单一的规划式清洁模式,始终不能完美解决障碍物问题,螺旋行走模式以程序的形式编写进扫地机器人控制中心计算机,
它只能以固定不变的路径完成清扫任务,在途中若遇到形状复杂、面积较大的障碍物,如茶几,甚至人、宠物等随机移动的物体时,路线即被中断。目前多采取在主路径规划算法中嵌套避开障碍物的算法,如绕行障碍物后校正角度返回原路径,或从拓扑学的角度提出新算法如等单元分解法来解决扫地机器人遍历过程中遇到障碍的问题,但这些解决办法通常产生较大的角度误差,缺乏灵活性,增大了重复路径的概率,甚至在一些特殊情况下方法失效。为此,引入神经网络算法结合以上的螺旋式行走模式,提出一种基于BP神经网络的寻路算法,从而达到在陌生的环境中扫地机器人“完全自主”完成清扫任务的目标。
2.BP神经网络(简介原理)
BP网络全称为(Back Propagation Network),它是最早由科学家Rumelhart和McCelland 提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。其特点是在理论上可根据问题规模无限扩大网络规模,通过学习算法存储海量的输入一输出模式映射关系,相较传统的通过线性数学方程描述映射关系的方法,BP网络有着不可比拟的优势。BP网络在学习过程中采用最速下降法,并通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层、隐层和输出层,图1展示了一个简单的三层BP网络。
3.系统模型
根据BP神经网络的基本结构建立输入和输出模型,即运动模型和观测模型。
5.仿真实验
在利用神经网络建立寻路模型的过程中,最重要的一步就是对神经网络进行训练,从而确定网络中各神经元之间的连接权值。在训练之前,需要将样本数据集随机分为训练数据和测试数据两部分。编程对扫地机器人寻路过程进行仿真实验,其中用二维数组对户型结构进行保存,以螺旋式行走模式为基础算法,编程生成2000组数据作为样本,选取其中1200组作为训练样本对网络进行训练,600组作为测试,200组仿真,网络设置1个隐藏层,隐藏层神经元数为20,修正权系数为0.9,初始学习速率为0.3,初始连接权值随机生成,网络输出形式表示为矢量(v,ω),其中,v为线速度,ω为旋转角速度。调用matlab创建BP网络:newff (0 6),(20,2),tansig,logsigEX,traingdx,其中logsigEX为改进后的激励函数。
6.实验结果分析
利用matlab对扫地机器人寻路模型BP神经网络的训练结果如图3所示,从图中可以看出网络在87次训练时趋于稳定,之后的权值调整几乎为零,网络达到收敛,在后继测试中,基于BP神经网络算法的螺旋式寻路算法很好完成了扫地机器人路径寻优任务,有效地解决了障碍物导致的清扫路径重复,提高了清洁效率。
7.结论
分析了目前扫地机器人寻路算法所存在的问题,基于BP神经网络,提出了一种基于BP 神经网络的扫地机器人寻路算法。建立了扫地机器人的运动模型和观测模型,根据模型设计出三层BP神经网络,利用matlab对网络进行训练和仿真实验,仿真实验结果表明基于BP神经网络的扫地机器人寻路算法有效避免了路径重复,解决了前述障碍物问题,算法具有一定实用价值。