基于彩色码的清洁机器人定位技术

2017-11-29 08:26呼洪强秦泽浩
石家庄学院学报 2017年6期
关键词:罗盘中心点彩色

呼洪强,秦泽浩

(1.石家庄学院 计算机科学与工程学院,河北 石家庄 050035;2.吉林大学 计算机科学与技术学院,吉林 长春 130012)

基于彩色码的清洁机器人定位技术

呼洪强1,秦泽浩2

(1.石家庄学院 计算机科学与工程学院,河北 石家庄 050035;2.吉林大学 计算机科学与技术学院,吉林 长春 130012)

家用清洁机器人需要精确的导航,而室内颜色、形状的特征提取很难.为此,提出可在室内不同区域贴放多个水平彩色码的技术,用摄像头拍摄易识别彩色码,根据拍摄到的彩色码,计算出清洁机器人在该彩色码的相对位置,通过学习,记住清扫区域的导航方案,配合电子罗盘,顺序清扫,直至清扫全部区域,从而实现对复杂的大面积区域的全部清扫,做到依序、不重复、不漏扫,是一种高效、实用、低成本的清扫导航技术.

清洁机器人;易识别彩色码;电子罗盘

0 引言

清洁机器人已逐渐走入家庭,为家庭清扫带来便捷.衡量清洁机器人清扫质量有两个重要指标,分别是导航定位策略和清扫效率.现有清洁机器人的导航定位主要依靠碰撞、红外、超生波等传感器实现障碍,定位导航功能弱,使得清洁效率低.如何有效提高清洁机器人的导航定位精确度和清洁效率,是清洁机器人急待解决的核心问题.

1 相关研究

清洁机器人导航定位目前大多采用红外定位、超生波定位、无线电波定位、RFID定位、电子罗盘定位、Zigbee定位和基于视觉的图形图像识别定位导航等[1].红外定位成本低廉,方向性好,能在短距离(8 m左右)的可视空间内实现较好定位,对于大空间需要布置更多红外探测点,从而导致成本高、探测点空间占用大.超生波定位精度低、方向性差,在超声波可视距离(0.5 m左右)内定位,对大空间的定位粗糙.无线定位可以穿透物体,但容易受周围环境(如家用电器)的干扰,精度不稳定.RFID分为有源和无源两种,无源方案能够测出接触点的位置,但距离太近,有源方案能够测试到更远距离,但没有方向性.基于视觉的图形图像定位因为具有距离远和有方向性的特点,成为清洁机器人导航定位的常用技术.考虑清洁机器人产品成本、定位精确度等因素,原有的图形图像识别算法复杂,需要较高性能的芯片,且算法精度差,特别是在没有特征的图像区域内,定位精度更难保证.为此,笔者采用摄像头拍摄某一易识别彩色码,根据拍摄到的彩色码图片,进行基于特征图像识别技术,结合电子罗盘、左右两轮测速传感器[2],实现了以低成本核心芯片的清洁机器人精确导航定位.

2 色彩码设计方案

易识别彩色码是图像识别算法的关键.良好的图案设计能够减少计算量,使得系统快速精确地识别出色彩码,为清洁机器人后续行动方向提供决策信息.

易识别彩色码的图标分为标志和信息两部分,如图1所示,A,E是标志部分,B,C,D是信息部分.A-E 5部分高度、宽度相同,水平放置,当清洁机器人拍摄到前方水平处的图片后,迅速读取出像素矩阵数据.A-E具体为:A:红色;B:黄色、洋红或青色三种颜色之一;C:黄色、洋红或青色三种颜色之一;D:黄色、洋红或青色三种颜色之一;E:绿色或蓝色.

图1 色彩码编码

其中各颜色的 RGB 值分别为红色(255:0:0),绿色(0:255:0),蓝色(0:0:255),黄色(255:255:0),洋红色(255:0:255),青色(0:255:255),这 6 种颜色区分度大,识别该种颜色算法简单. 标志部分和信息部分分开,有利于迅速、唯一地找出色彩码部分.首先在图片中找出红色的开头位置,然后再找绿色或蓝色的结尾位置,最后计算B,C,D中心位置,这3个中心点的颜色是黄色、洋红或青色3种颜色之一就可以确认色彩码的身份ID.

红色开头绿色结束是普通彩色码,红色开头蓝色结束是结束区彩色码.B,C,D代表27个不同清扫区域.

这种基于色彩码的图像识别导航算法[3]简单、高效,使得成本低、运算较慢的芯片能够轻松胜任机器人视觉定位的要求.

3 系统架构

清洁机器人系统功能见图2.清洁机器人系统采用以STM32F407为核心的嵌入式系统,视觉系统采用摄像头OV2640拍摄前面水平方向的图像,外扩SRAM IS62WV51216芯片缓存拍摄到图像,另外还包括电子罗盘、两侧轮的测速传感器等外围模块.为了节约核心计算时间,通过不间断采集前面方向的图片,找出特征彩色码,分析清洁机器人自己在彩色码前方具体位置,机器人根据自己所在的相对位置结合电子罗盘方向信息,驱动两轮依次清扫.图3为清洁机器人视觉图像识别处理流程.

图2 清洁机器人系统功能图

4 色彩码特征识别算法

OV2640的图像数据格式,一般用两种输出方式:RGB565和JPEG.笔者采用RGB565格式数据输出,一个像素用16位表示,格式是RGB565,然后缓存在外扩SRAM IS62WV51216芯片内,依次通过以下步骤进行特征识别:

图3 色彩码识别流程

1)通过依次查询像素矩阵[4]每个像素寻找红色、绿色或蓝色像素,考虑到室内环境光线的区别,设定一定的颜色阈值变量,R,G,B 3个颜色变量的阈值分别是rt,gt,bt,在阈值范围内得出相同颜色,使得颜色比对准确、容错性好. 采样颜色在范围[255~(255-rt):0~gt:0~bt]为红色,在范围[0~rt:255~(255-gt):0~bt]为绿色,依此类推,蓝色范围[0~rt:0~gt:255~(255-bt)],黄色范围[255~(255-rt):255~(255-gt):0~bt],洋红色范围[255~(255-rt):0~gt:255~(255-bt)],青色范围[0~rt:255~(255-gt):255~(255-bt)];

2)计算红色、绿色或蓝色相同颜色像素中中间位置的坐标,得出红色像素中心点到绿色或蓝色像素中心点在二维矩阵中的距离,通过下面公式计算B,C,D部分中心点的坐标,并取出这些坐标的颜色值.

B 中心点的 x坐标=x_RED+abs(x_RED-x_BLUE)/4;

C 中心点的 x坐标=x_RED+abs(x_RED-x_BLUE)/4*2;

D 中心点的 x坐标=x_RED+abs(x_RED-x_BLUE)/4*3;

B 中心点的 y坐标=(y_RED+y_BLUE)/2;

C 中心点的 y坐标=(y_RED+y_BLUE)/2;

D 中心点的 y坐标=(y_RED+y_BLUE)/2;

3)计算出B、C、D中心点的坐标,从二维矩阵中取出像素点,判断像素是否在上面各个点的取值范围内,若不在范围内,就可判定色彩码判断出错,3个点都在范围内,就可确定查找色彩码正确.以C中心点为整个色彩码的中心坐标.

5 清洁机器人定位与导航算法

1)在室内要根据区域集中程度,分为几个区域,放置色彩码标志,色彩码前面应该有足够的空间,以便于清洁机器人能较为清晰地拍摄到.

2)在初次使用扫地机器人时,要让清洁机器人学习清洁路径,待机器人的电子罗盘定位成功,用户用遥控器引导清洁机器人依次成功拍摄到所有的色彩码,这样的训练便于清洁机器人学习记忆,从而提高清洁机器人的工作效率.

3)色彩码包含的信息包括3种类型的信息,首先是普通色彩码还是结束色彩码,普通色彩码是红色开头,绿色结束,结束色彩码是红色开头,蓝色结束.这个信息决定清洁机器人下一个区域在什么位置,相邻区域是逆时针相邻,清洁完最后一个区域,清洁机器人应该逆时针沿墙壁回归出发点,结束清扫.

4)清洁机器人距色彩码远近距离不同,拍摄到的色彩码大小不同,因此根据此得出距离色彩码的距离,配合超声波传感器、电子罗盘、测速传感器,依次清洁,在清扫过程中根据一定的时间间隔不断拍摄前面图像,寻找色彩码,计算色彩码位置和大小[5],根据位置决定清扫的顺序,完成该区域内的清扫,根据学习记忆到的各个区域的方向及位置关系,寻找下个区域,直到完成所有区域的清扫.

6 实验结果

以彩色码为导航定位的清扫方案,通过实验测试色彩码识别精度和距离定位精度,实验结果见表1、表2.

表1 色彩码识别精度

表2 色彩码距离计算精度

由表1、表2的实验数据看,色彩码识别精度和距离计算精度均较高.由此可见,使用色彩码的导航定位方案,在基于学习记忆型的机器人导航中,有效地提高了导航精确度,缩短了打扫时间,具有较好的应用价值.

[1]HORNUNGA,BENNEWITZM,STRASDATH.Efficient Vision-based Navigation[J].Autonomous Robots,2010,29(2):137-149.

[2]王志刚,孙培峰,罗志增.基于视觉的足球机器人快速识别技术[J].机电工程,2003,20(6):53-55.

[3]MARQUESCF,LIMAPU.ALocalization Method fora Soccer Robot UsingaVision-based Omni-directional Sensor[C]//RoboCup 2000:Robot Soccer World Cup IV.Springer-Verlag,2001:96-107.

[4]沈春生,王耀南.移动机器人目标分割及测距方法研究[J].计算机工程与应用,2011,47(23):181-183.

[5]张博,汪剑鸣,冷宇,等.室内移动机器人新型视觉导航系统设计[J].工业控制计算机,2010,23(2):31-33.

Cleaning Robot Localization Technology Based on Color Code

HU Hong-qiang1,QIN Ze-hao2
(1.School of Computer Scienceamp;Engineering,Shijiazhuang University,Shijiazhuang,Hebei 050035,China;2.School of Computer Scienceamp;Technology,Jilin University,Changchun,Jilin 130012,China)

Household cleaning robot requires precise navigation,while the interior color and shape feature extraction is very difficult.Therefore,this paper proposes that multiple level color code can be posted in different indoor areas;andaccording to the color code capturedbycamera shooting recognition,the relative position of cleaning machine in the color codeis calculated.Through learning,the robot remembersthe cleaning navigation scheme of areas and electronic compass,and cleans in order all the areas without repetition or missing.Such is an efficient,practical,clean,low-cost navigation technology.

clean robot;easy identification color code;electronic compass

TP24

A

1673-1972(2017)06-0045-04

2017-09-12

呼洪强(1975-),男,河北大名人,讲师,主要从事机器人技术研究.

(责任编辑 王颖莉)

猜你喜欢
罗盘中心点彩色
彩色的梦
彩色的线
Scratch 3.9更新了什么?
如何设置造型中心点?
有那样一抹彩色
彩色的风
不宜上课
汉字艺术结构解析(二)中心点处笔画应紧奏
寻找视觉中心点
印尼《罗盘报》之中国国家形象