陈明尚,刘 迅
(华北电力大学能源动力与机械工程学院,北京 102206)
近些年来,网球运动越来越受到人们的欢迎,每年都有大量的人们参与到网球的运动当中。但是在网球运动中,难免会存在大量网球散落在地上的窘境,人工捡球费时费力,极大地影响人们的热情。为解决人工捡球的问题,市面上开始涌现出大量的网球拾取器,但目前主流的网球拾取器仍然是以人力为驱动的传统网球拾取器。该类产品的特点是依靠人的手臂向下压的动作来拾取网球,且在拾取的过程中需要人们多次重复手臂的提拉动作,相比传统的捡球方式虽然少了弯腰的动作,但是并不能减少大量的时间,效率不高。
因此,开发一款便捷便宜的智能式网球拾取器显得尤为重要。本文主要从拾取装置和识别方法两方面对各类智能式网球拾取器进行详细综述,总结了各类智能网球拾取器的优缺点,为今后网球拾取机器人的发展提供了一定的参考。
智能式网球拾取器是依靠计算机视觉等识别网球,判断网球位置,同时通过电机驱动机器人行走,利用拾取装置收集网球,从而实现自动捡球的功能。智能式网球拾取器的总体方案包括行走方式、路线规划、自动避障、拾取装置和识别算法等方面。行走方式方面,因网球场一般都比较宽敞,且地面平整,所以采用轮式行走方式较为合理。路线规划方面,目前主要是采用最短距离原则,即每次拾取距离机器人最近的目标,此种方法实现较为简单,但不够智能。除此之外,还可采用一些智能算法,如蚁群算法等,当机器人获取到多个网球的位置信息后,采用蚁群算法对捡球路径进行规划,提高了搜索速度,可以快速找到全局最优路径。自动避障方面,一般是采用超声波距离传感器和人体红外传感器等,对路径上的障碍物或人员进行躲避。在拾取装置和智能识别算法方面,近些年来,研究学者也展开了大量的研究,下面将重点从这两方面介绍网球拾取器近些年来取得的一些成果。
如何实现准确高效地捡拾网球,一直都是各国研究者们研究的重点。目前研究的主要方式有3 种:第1 种为通过多机构的配合,实现多自由度的机械臂拾取。第2 种为借鉴发球机的原理,将叶轮反转,达到将网球吸入的目的。第3 种是利用电机驱动拨板旋转,将网球卷入收集装置中。
1.1.1 基于多自由度的机械臂拾取
一般空间中的机械手有6 个自由度,自由度越多,能够完成的任务就越复杂。林广茂等[1]人设计了三自由度的机械臂,如图1 所示。其中,舵机4 控制机械臂的旋转方向。舵机2、3 控制机械臂的高度和长度,舵机1 控制机械手爪。在机械臂的控制方面采用了极坐标控制的方法,该方法要求机械臂必须准确移动到网球所在位置的上方,否则将不能准确地拾取网球。三自由度的机械臂虽结构简单,但是不够灵活,对机器人移动的精度要求高,拾取效率低。
图1 机械臂示意图
为进一步提高机械手的抓取效率,刘玲等[2]人设计了一款双机械臂的抓取机构。机械手包括左右2 个夹钳,依靠2 个舵机共同控制2 个机械手实现抓取网球的动作。因网球为圆形,传统机械手夹持容易滑落且作用范围窄、工作效率低,使用双机械臂可以扩大抓取范围,提高抓取精度。
1.1.2 基于叶轮旋转的吸入式拾取
王凯[3]借鉴发球机的原理设计了一款基于叶轮旋转的吸入式拾取装置。网球发球机的主要原理就是2 个轮子快速旋转带动网球飞速打出。根据发球机的原理,将轮子反转就可以达到吸球的目的。吸球装置整体的设计结构如图2 所示。
图2 吸球器设计示意图
因为吸球器需要将吸取的网球送到一定的高度,因此在选择电机的类型时,要考虑到吸球器的坡度、网球的质量和吸球轮的大小等方面因素,需要通过一定的计算得到吸球器电机的最低负载转速和扭力力矩大小,以此来选择合适的电机[3]。这种方法虽然能够做到连续快速吸球,但是由于电机长时间高速旋转,温度会逐渐上升,可能会导致过热烧穿,不能长时间工作。
1.1.3 基于电机驱动拨板旋转拾取
在电机驱动拨板旋转拾取方面,Elamvazuthi 等[4]人设计的捡球机器人采用卷筒挡板式的捡球机构,如图3 所示。机器人在前进过程中由电机驱动的叶轮带动挡板转动,将网球卷入并提升至最高位置后落入收集装置。这种捡球方式相对高效,不过由于挡板与网球之间为刚性接触,因此在捡球过程中存在冲击。
图3 捡球机器人结构示意图
牛丽波[5]基于此方案设计了更为完善的系统。该捡球计数系统主要由捡球叶轮、舵机和计数红外传感器构成。当机器人接近球体时,叶轮旋转将球体卷入储球盒中。在储球盒入口处安装有一个计数红外传感器,在球体进入瞬间,红外传感器被触发,传感器将信号传送给单片机,经过单片机的处理后,在液晶屏上显示出球体数量信息,达到捡球并计数的功能。
以上拾取网球的方法都各有优劣。利用机械臂捡球时捡球效率低,一次只能捡一个球,且需要设计的活动结构较多,需要多个舵机协同配合,实现难度高。但是机械臂拾取更加灵活,能适应在各种空间工作;利用叶轮高速旋转的吸入式拾取装置对电机的功率要求较高,耗能大,但是拾取准确高效。利用电机驱动拨板旋转拾取,这种装置结构简单,便于控制,实现难度小,一次可以收集叶片范围内的所有网球,缺点就是有可能会出现“卡球”问题。综合各方面因素,在拾取装置方面采用电机驱动拨板旋转拾取的方案会更加合适。
随着机器视觉的快速发展,智能识别的技术逐渐应用到各个领域。对于球类的检测识别,目前的研究主要分为机器学习法和图像处理方法。机器学习的方法过于复杂,因为球类的特征一般只有颜色和形状2 种,训练需要的时间较多,因此在网球识别中并不推荐。图像识别测距主要是利用计算机视觉或图像传感器对图像进行处理,识别目标,判断目标离机器人的距离。目前主要的方法有基于OpenCV 开发的网球识别算法和利用视觉传感器来识别网球2 种方法。
1.2.1 基于OpenCV 的图像识别
因为网球的场景单一,不存在过多干扰,使用OpenCV 进行图像识别有较好的效果。林广茂等[1]人基于OpenCV 开发了图像识别网球的功能。主要原理:在获取到图像后,先对图像进行预处理;在预处理完成后,首先对图像进行开、闭运算,提取目标特征。其次,根据距离的远近设置不同的半径阈值,来初步筛选目标。再次,估算目标与圆的似然比,进一步地筛选目标。最后,根据轮廓内各像素点绿色通道的累加值,判断和网球颜色的相似性,判断目标是否为网球。识别目标的最小包围圆的圆心坐标,即为网球的球心位置,借助平面几何变换算法,把像素点与现实的坐标建立出映射关系,计算出球体的平面坐标。
王凯[3]基于OpenCV 设计了另外一种网球识别算法:由于RGB 图像容易受到亮度的影响,故在获取到RGB图像后,首先将RGB 图像转换为HIS 图像。其次对网球颜色的HIS 3 个色域阈值分类,将每一帧图像中在阈值范围内的像素标记起来,将能够组成色域块的像素添加到一个链表中,再次统计每块色域块中面积、形状等信息,最后判断是否为网球。
1.2.2 基于视觉传感器的识别
隋裕召等[6]人采用Pixy 视觉传感器来做图像识别。他们采用了六角椎体模型HSV 来确定目标颜色特征。根据网球的颜色,利用相应的API 函数,即可得到网球的宽度、高度和中心点坐标等信息。
而郭天宇等[7]人采用COMS 图像传感器进行图像的读取和处理。因为彩色图像能够更好地反应空间信息,因此在进行图像分析时,首先,将RGB 图像转换为HIS 图像。其次,对图像进行像素分块、数位化等预处理。再次,对处理好的图像进行阈值划分,根据划分的阈值来识别判断是否为网球。最后,将判断好的数据传回处理器,由处理器确定下一步的操作[7]。
以上2 种方法各有优劣。利用OpenCV 进行图像识别可以更加快速精确地定位目标网球,提高捡球效率。但是采用OpenCV 来进行图像识别,往往还需要上位机来运行OpenCV 程序,将运行后得到的数据通过串口传给下位机的控制系统,进而控制机器人的移动。如此会增加开发难度,同时也会增加整体结构的复杂程度,提高机器人的成本,不利于大规模市场化的发展。采用市场上已有的视觉传感器来识别网球,识别精度不高,可能会受到环境的干扰,但能满足基本需求,且价格相对较低,整体实现难度也较前者容易。
从目前捡球机器人的发展来看,市面上主流的拾取器还是基于人工操作,需要人工干预的,智能化的捡球机器人很少。但是目前在捡球机器人方面也有了很多研究,捡球机器人也正在朝着商品化、智能化方面发展。从目前来看,在拾取装置方面采用电机驱动拨板旋转拾取的方法更加简便可靠,拾取效率较高且实现难度不大;在网球的识别算法方面,采用视觉传感器进行网球识别最为简便,可以大大降低开发难度和机器人的成本。但是随着人们对机器人的智能化要求越来越高,基于OpenCV 的图像识别技术更有可能成为未来的发展趋势。文中详细探究了网球智能拾取器在拾取装置方面和识别方法方面的研究现状,分析了每种方案的优缺点,对今后智能捡球机器人的研发有一定借鉴意义。