计算机移动应用技术研究——以扫地机器人为例
2019-09-10李飞
摘要:随着人工智能技术的飞速发展,扫地机器人通过全自动清扫功能一定程度上代替人工劳作,在家庭生活中得到了越来越广泛的应用。当然,其中也存在一些不足。文章将在扫地机器人原理、结构、算法和不足等方面进行研究,力求为扫地机器人进一步推广和应用提供一些帮助。
关键词:算法;路径规划
一、引言
从消费者的角度看,扫地机器人质量的标准主要有两个:一是清扫的覆盖范围,是否能够做到100%覆盖;二是清扫的能力,是否能够把各种家庭垃圾清扫干净。扫地机器人路径规划算法能够决定清扫范围,同时也能影响清扫的效率,这也是体现机器人智能化程度的关键因素。此外,还要设计一套高效的清扫系统,能够针对各种常见的家庭垃圾如毛发、灰层、颗粒物等进行彻底回收。文章将对以上问题展开思考和论述。
二、扫地机器人工作原理、构造及技术
1.工作原理
扫地机器人是微型计算机智能化在家居中的一种应用,通过在计算机芯片中预定好的路径规划算法在家中行走,同时利用设计的清扫系统对家庭环境中的垃圾进行清扫,实现自动清扫的目的。扫地机器人的工作系统主要包括路径规划系统和清扫系统。路径规划系统决定了机器人行走的路径,清扫系统决定了清扫垃圾的能力,两大系统是决定扫地机器人清扫能力的主要因素。
2.构造
扫地机器人主要由以下几部分构成:
1)机身:目前市场上的主流扫地机器人多采用扁平的机身设计,根据家庭环境特点,对机身的高度提出了更高的要求。由于可以进入到家具如沙发底部,其高度将往更加轻薄的方向发展。
2)可充电电池:电池以镍氢电池为主,满电一次可工作3到5小时,可以实现自动寻址充电,电池寿命可使用3年。
3)充电座:为扫地机器人提供充电的接口。
4)旋转扫帚与集尘盒:通过旋转的扫帚把垃圾清扫到集尘盒,集尘盒需要定期清理。
5)前进轮与转向轮:一般配置两个前进轮和一个转向轮,负责扫地机器人的前进和转向移动。
6)遥控器:为方便操控,一般配置无线遥控器。
7)其他:包括传感器、拖布、水箱等。
3、涉及的相关技术
扫地机器人涉及的相关技术主要有:传感技术、智能控制技术、路径规划技术、清扫技术、电源技术等。
传感技术可以采用超声波测传感以及红外测距传感,扫地机器人在行进中利用传感技术可以确定前方障碍物,以此采取躲避的算法。智能控制技术相当于计算机的CPU,一套好的控制技术能更好的提高扫地机器人的工作效率。清扫技术采用旋转扫帚、拖布、集尘盒、水箱等设计,达到清扫效果。电源技术已经较为成熟,能够提供机器人工作的持久电量,并且能够实现自动寻址充电。
三、扫地机器人路径规划及算法研究
路径规划是扫地机器人的核心,路径规划是机器人根据预定的算法,根据自身的传感器对外界感知后规划出一条有效的运行线路。路径规划的优劣是决定机器人扫地效率的重要因素,路径规划需要机器人进行定位和环境地图构建。一般情况下,路径规划需要解决以下几个基本问题:
一是使得机器人从当前位置准确移动到目的位置;
二是按照预定的算法碰到障碍物后绕开障碍物,并且合理优化下一条行进线路;
三是行径的线路能够尽可能的覆盖所有清扫区域。
路径规划一般分为点到点和完全遍历两种。点对点路径规划是从起点到终点的一条运动轨迹,这条运动轨迹是经过合理优化的(路径或者时间或者代价最小),机器人通过这条轨迹可以避开障碍物顺利达到终点。完全遍历路劲规划是在一个二维空间中,通过一定的算法,机器人能够遍历所有的区域,并且,遍历的路径也是经过合理优化的。
扫地机器人的路径规划是属于完全遍历路径规划,通常,这种遍历需要满足两个条件,一是遍历性,二是不重复性。遍历性是指机器人的运动路径能够完全覆盖房间的清扫区域,不重复性是指机器人在完成一次遍历的过程中,其运动路径不走重复的路线,以达到清扫高效的目的。在完成一次遍历后,机器人可能会通过重复的路线进入到下一个遍历区。
在机器人路径规划中,常用到一些算法,下面将简单介绍。
1、ABC算法(又称人工蜂群算法)
Artificial Bees Colony(ABC)算法又称为人工蜂群算法,最早为了解决函数优化问题由Basturk等人提出。ABC算法的思想是模拟蜜蜂采蜜过程,把蜜蜂分为三种:分别是采蜜蜂、侦查蜂和观察蜂。整個算法的目标是找到最大花蜜量的地方(称为蜜源)。在该算法中,采蜜蜂的职责是根据之前的蜜源信息寻找新的蜜源,同时,把位置信息与观察蜂分享。观察蜂的职责是在蜂巢中等待采蜜蜂提供蜜源信息,然后寻找新的蜜源。侦查蜂的职责是在蜂巢附件位置随机的寻找蜜源,从而发现一个新的有价值的蜜源。
ABC算法的流程可以大致概括为:
(1)对蜜蜂种群进行初始化xi,i=1,2,…,SN;
(2)对种群中各类蜜蜂的适应值进行设定和规划;
(3)进行第一次循环:cycle=1;
(4)重复以上程序;
(5)侦查蜂根据第二步产生新的解,然后计算出一个适应值;
(6)侦查蜂根据贪心策略选择蜜源;
(7)根据(3)式计算选择蜜源xi的概率pi;
(8)观察蜂根据概率pi选择蜜源xi,根据(2)式在该蜜源附近产生新的蜜源vi,并计算新蜜源vi的适应值;
(9)观察蜂根据贪心算法选择蜜源;
(10)判断是否有放弃的蜜源,如果有随机产生一个并代替它;
(12)循环次数+1
(13)循环直到最大值cycle=MCN;
4、算法可能的改进方式
(1)新蜜源的搜索领域(2)式的改进(如:其他拓扑邻域)
(2)观察蜂选择雇佣蜂的概率(3)式的改进(如:动态的)
在该算法应用到扫地机器人路径规划中,蜜蜂的采蜜行为对应路径优化问题,蜜源位置对应路径的可行解,蜜源的大小收益度对应可行解的质量(路径代价),寻找及采蜜的速度对应路径优化的求解速度,最大收益度对应最小的路径代价。
2、粒子群算法
粒子群算法,英文为particleswarm optimization,简称PSO,它是Kennedy和Eberhart提出,用于对Hepper的模拟鸟群算法进行修正的算法。该算法假设鸟为粒子,粒子能够飞向解空间,在最佳位置降落,得到粒子最优解。
算法模拟场景为:一群鸟在一个未知区域寻找食物,假设食物只有一处,并且初始状态下鸟并不知食物所在。但是鸟知道自己离食物有多远,这种情况下,搜寻食物的最佳策略是什么呢?就是从离食物最近的鸟的周围区域开始搜索。
假设鸟为“粒子”,搜索空间维度为D,并且,粒子通过fitness-function参数确定适应值用于判断当前位置优劣;每个粒子有参数用于记忆所搜寻过的最佳位置;每个粒子有一个速度参数,用于决定飞行的距离和方向,并且该速度可以根据自身和同伴的飞行经验进行调整。
据此,有一下算式:
C1、C2为学习因子或者为加速系数,一般为正的常数2。r1、r2取值在0到1之间,是用于记录区间中均匀分布的伪随机数,Vmax表示粒子的最大速度。
扫地机器人路径规划算法还有多种,因篇幅限制仅对以上两种做简单介绍。
四、扫地机器人在应用中的不足
不管从算法还是结构设计方面,目前的扫地机器人都有可改进的地方,使得其工作效率更高,清扫的更为干净。具体的表现有:1、旋转拖把的设计还不够理想,机器人所过之处并不能一次把所有的垃圾扫入垃圾盒,特別是一些颗粒垃圾。如何设计更为合理的旋转模式和清理模式能够解决此问题,是需要思考和改进的地方。2、拖布的设计还不能清理干净地板的灰层,特别是沾的牢固的粉尘。是否可以考虑类似路面扫地车,先用旋转刷子清理,再用拖布擦拭,使得清理效果更佳。3、路径算法需要进一步优化。机器人在路径规划中,还不能做到完全覆盖,需要多次调整位置和重新启动来弥补。
参考文献:
[1]胡衡. 基于单目视觉的SLAM方法研究[D]. 新疆大学 2015
[2]杨恒. 基于局部特征提取匹配的视觉SLAM闭环检测方法研究[D]. 南华大学 2015
[3]https://blog.csdn.net/zuochao_2013/article/details/53431767?ref=myread
本文系以下项目的研究成果:
1.2017 年度广西职业教育教学改革研究项目课题《计算机专业<毕业设计>网络课程建设实践与研究》,项目编号:GXGZJG2017B152。
2.2017 年度广西现代远程教育研究中心开放课题《广西开放大学高职移动应用开发专业人才培养方案研究》,项目编号:2017GXOUYB08。
作者简介:李飞,男,1983.10,学历(学位):本科、硕士学位,专业职称:工程师,研究方向:软件工程、远程教育、成人教育。