NAO机器人对目标红球识别与视野中心追踪策略
2017-07-21杨杰
杨杰
摘 要 通过对NAO机器人的视觉系统的介绍,利用NAO机器人的视觉系统实现对红球目标的识别以及目标追踪策略的判断和选择。详细介绍了机器人对目标红球的识别和处理过程,并对机器人单目测距追踪策略和视野中心法追踪策略以及两种方法的对比,得出结论是视野中心法在实际应用中更适合。
关键词 NAO机器人 目标识别 定位
中图分类号:TP249 文献标识码:A
随着机器人技术的发展,机器人进入类人机器人的发展阶段,机器人越来越像人,也越来越能够像人一样进行一些动作,执行一些工作。其中由法国Aldebaran Robotics公司开发设计的NAO机器人是一款著名的类人机器人,其外形与人类相似,并且NAO机器人具有等同一岁到两岁婴儿的智力水平,能够执行相对复杂的指令和任务。因此,NAO机器人在机器人比赛中的应用也越来越多,从而机器人的视觉识别特别是对特定颜色物体的识别和定位就成为一个在比赛中亟待解决的关键性问题。
1 NAO机器人的视觉系统介绍
机器人对外部世界的最初的感知是通过触觉、声音和视觉认知。在视觉认知上,NAO机器人拥有两个高清摄像头。其中一个摄像头位于机器人前额,拍摄其前方远处的水平画面,感知误差比较大。另一个位于嘴部,用于扫描周围环境,用于识别近处的物体。NAO机器人利用这两个摄像头可以跟踪、学习并识别不同的图像。NAO机器人的这两个摄像头均可以提供高达640*480像素和每秒30帧的视频图像。
通过视觉软件,可以再现NAO机器人看到的图片及视频流。机器人通过ALVideoDevice模块访问摄像头的数据,NAO可以将视频输入模块(VideoInputModuleVIM)获取的视频流应用到其他的视觉系统模块进行处理,这些视频流可以由从NAO机器人的摄像头获得,也可以由电脑上的模拟器获得,甚至从某个视频记录的视频文件中得到。通过VIM,不僅能够直接还原视频的原始数据,也能够访问经过处理的颜色空间数据。本文通过NAO机器人的视觉系统采集一副图像进行红球颜色识别并定位。
2 NAO机器人对颜色球的识别
通过NAO机器人的下部摄像头,采集视觉信息,当红球颜色与背景颜色相差较大时,设定相应的色彩阈值(245€?0,10€?0,10€?0),过滤背景中的其他内容,只识别出目标球的颜色。
通过NAO机器人的视频系统,采集一幅640*480像素大小的图像,将其分割为16*20像素的方形像素块。从而利用二维数组存储每个方形像素块内的像素点。扫描像素块内的每个像素点,当像素点的RGB三个分量的值满足设定的色彩阈值时,就认为该像素点是一个红色的像素点,保存为(255,255,255);不满足色彩阈值时保存为(0,0,0)。结果预处理后,采用高斯平滑,得到一张只有黑白两个颜色的二值图,此时乒乓球即以白色显示,其他干扰的背景均为黑色。实际效果如图1所示:
利用得到的二值图数据,利用遍历各行各列像素点的数值,计算出红球的球心像素坐标即为球心坐标。
3 NAO机器人对颜色球的定位测距
机器人对目标的跟踪测距的方法一般有:双目测距和单目测距。
双目测距的主要原理是利用位于不同位置,但有重复的视角的两个摄像头同时进行拍摄。对得到的两张图片进行校正和变换,识别出位于两张图片中的目标,分别得到对应的参数。然后根据几何关系推导出目标和机器人的距离。
双目测距的测量精确度较高,但计算过程复杂,对图像的校正和变换处理要求高。对于NAO机器人来说,双目测距还存在一个问题,即上下两个摄像头的重合区域较小,会导致可用测距范围小,并且机器人两个摄像头之间无法频繁的进行切换。
单目测距的原理比较简单,根据如图所示的相似三角形的比例关系就可以计算出机器人与目标之间的距离Z。
单目测距的优点是方法简单,容易的得到机器人与目标球之间的距离。但是如果在机器人移动头部对准目标球的过程中,机器人前一个指令没有完成,这时机器人会继续执行前一条指令直到该条指令执行完毕,然后才能发现红球的位置发生的变动,这样需要重新进行红球识别和测量。这样红球距离机器人的距离就会越来越大。因此本文提出了一种视觉中心法的追踪策略。也就是说,通过对机器人头部的控制,使得目标红球一直处于机器人的视觉中心。
在现实生活中,当一个人发现一个目标后,一般会将头部(视线)转向目标,继续后续动作。如果目标位置发生变化,头部或眼睛也会跟着红球移动,以便一直注视红球的移动情况。基于这个启发本文介绍一种新的定位方法,使得被跟踪的物体一直保持在视野中心。
在NAO机器人摄像头参数中,机器人水平视野范围是€?7.8o,垂直视野范围是€?6.8o。通过前面的测量,已经得到了目标红球的坐标(x,y)和红球的半径r。在进行图像采集时,目标图像大小为640*480像素,图像中心或者视野中心坐标定位为(320,240),通过简单的三角关系即可求出目标红球和图像中心点之间的水平偏角 以及垂直偏角 。机器人视野如图所示。
如果机器人摄像头与机器人视野中心点的距离为l,由三角关系可得到如下公式:
由于目标红球的坐标(x,y)已知,由公式(1)可以求出目标红球在机器人视野的水平偏角 。
同理,通过公式可以求出目标红球在机器人视野的垂直偏角 。
将水平偏角 和垂直偏角 分别输入到NAOqi API的WalkTo(x,y, )函数和控制NAO头部角度的HeadPitch关节值中,就可以使机器人和机器人头部始终朝着目标红球的方向移动,并且保持机器人头部一直正对目标红球,使得目标红球保持在机器人视野正中心。
机器人单目测距追踪可以直接得到机器人与目标红球之间的距离,但这种得到距离的方式的静态的。随着时间的流逝,机器人与目标红球之间的距离会越来越大。而如果采用动态的追踪,使红球目标一直保持在视野中心,虽然无法直接测量出目标距离,而且计算量相对较大,但是实际效果比较优秀,经过大量实验,机器人总会保持在离目标红球前方2-5cm处,而且使其头部一直正对目标红球。
4结论
随着智能机器人在生活、比赛和教学中的应用的增多,希望智能机器人能够更加贴近人类的生活,能够更加多的为人类服务,因此对智能机器人的要求也越来越高。通过NAO机器人的视觉系统,介绍了机器视野中心法,使得机器人能够对特定目标实现快速的识别和跟踪,并且保持机器人视野中心一直对准目标物。从而为机器人后续的相关动作和判断提供了基础。
参考文献
[1] 徐美青.类人机器人的研究与应用[D].山东科技大学,2015.
[2] 孟宪龙.RoboCup中NAO红球识别追踪及自定位研究[D].安徽大学,2014.
[3] 柏雪峰,杨斌.基于NAO机器人目标识别与定位算法.成都信息工程学院学报[J],2014, 29(6).
[4] 张俊强,张华.基于图像处理的移动机器人对目标的识别和定位.计算机测量与控制,2006, 14(5).