王 京,王 霆,席仲雨
(1. 北京电子科技职业学院 汽车工程学院,北京 100176;2. 北京市西城经济科学大学 培训处,北京 100035)
在乒乓球场馆,特别是训练场地,在打球过程中或打完球后,会有大量乒乓球散落在场地上。如果有一种机器人能自动将球捡起并放到指定的位置,可以有效减少人的劳动强度。乒乓球是一种供人欣赏的竞技比赛项目,如果在乒乓球比赛场地有一个捡乒乓球机器人,不仅可以帮运动员捡球,还可以增加竞技比赛的趣味性及可观赏性。
捡乒乓球机器人需要解决的一个核心问题是机器人定位的问题,即如何确定机器人与待捡乒乓球之间的位置关系。视觉是机器人获取周围世界信息最重要的来源。视觉测量分类方法多样,按所用视觉传感器数量可以分为单目视觉、双目视觉等。单目视觉虽然缺少环境的立体信息,但由于其结构简单、易标定,还能避免立体视觉中的视场小、立体匹配难的缺陷,在移动机器人的研究中十分常见,特别是在对已知特征物体的跟踪上得到了广泛应用[1-7]。采用单目视觉系统对乒乓球进行定位,涉及如何在复杂背景环境下将乒乓球信息快速、稳定提取出来的问题,很多学者提出了基于彩色图像的特征提取方法[8-11]。
本文设计了一种捡乒乓球的机器人系统,主要包括单目视觉系统、机器人系统和上位控制系统等三个部分。提出基于彩色图像 RGB颜色分量差值的二值化乒乓球特征快速提取方法,通过增加2个辅助乒乓球靶标,采用单目视觉系统实现了机器人平面空间内的定位及过程控制,保证六自由度机器人能够正确捡起乒乓球。最后,通过实验验证了机器人系统及其算法的有效性。
捡乒乓球机器人系统的基本组成框图如图 1所示,包括单目视觉系统、机器人机械本体系统和上位控制系统三个部分。单目视觉系统主要用来实时采集其视觉范围内的图像信息,并将信息通过无线方式发送给上位控制系统。其中,图像采集模块为一彩色CCD摄像机;无线图像采集模块发送端用来将采集到的图像信息通过无线方式发送给上位控制系统。
机器人机械本体系统用来执行上位控制系统的命令,负责捡起乒乓球并将其送到指定地方。其中,移动平台为一轮式移动平台,携带六自由度机械手,并负责将机械手运送到能够正确抓取乒乓球及放置乒乓球的位置;六自由度机械手为6电机控制的机械手,当移动平台达到指定位置后,机械手执行相应动作,实现抓取及放置乒乓球;电机驱动器是用来驱动移动平台和六自由度机械手的电机;机器人控制器执行无线模块控制器端接收的上位控制系统的控制命令,通过电机驱动器控制机器人运动;无线模块控制器端通过无线方式接收上位控制系统的命令,并传给机器人控制器。
图1 机器人系统基本组成框图
上位控制系统通过无线方式接收单目视觉系统采集的图像信息,对图像信息进行处理,并根据任务要求转换成相应的控制命令,然后通过无线方式将控制命令发送给机器人机械本体系统,由机器人控制器完成给定的任务。其中,无线图像采集模块接收端通过无线方式接收单目视觉系统采集的图像信息,并将其传给上位机;无线控制模块 PC端通过无线方式将上位机的控制命令发送给机器人机械本体系统;上位机为一 PC机,用来执行上位软件,并根据任务要求生成机器人系统需要的控制命令;上位软件主要包括图像采集模块、图像处理模块、标定模块、跟踪控制模块及控制信号输出模块。
机器人的工作流程如图2所示。步骤201:启动系统开始按钮,系统开始工作。步骤 211:上位软件中的采集模块采集单目视觉系统视野中的图像信息,获得当前彩色图像。
步骤 212:上位软件中的图像处理模块基于彩色图像的 RGB信息对图像进行处理,从复杂背景中提取出当前乒乓球及定位靶标的特征信息。
图2 机器人工作流程
步骤 214:系统标定,即当乒乓球处于机器人最佳抓取位置时,通过图像采集模块及图像处理模块获得理想乒乓球及定位靶标的特征信息。
步骤 213:上位软件中的跟踪控制模块根据当前乒乓球和定位靶标的特征信息及理想的乒乓球和定位靶标的特征信息,并根据规定的控制策略,生成机器人的控制命令。
步骤221:判断移动平台是否需要转向。
步骤2151:上位机的控制信号输出模块向移动平台发送转向命令。
步骤216:移动平台根据转向命令,进行转向。
步骤222:判断移动平台是否需要移动。
步骤2152:上位机的控制信号输出模块向移动平台发送移动命令。
步骤217:移动平台根据移动命令,进行移动。
步骤2153:当移动平台的位置和方向调整好后,上位机的控制信号输出模块给六自由度机械手发送乒乓球抓取命令。
步骤 218:六自由度机械手按预先设好的动作进行运动,直到抓取乒乓球并放置到预定位置。
步骤223:判断捡乒乓球任务是否结束。
步骤202:按任务结束按钮,结束任务。
根据捡乒乓球的要求及总体设计方案,系统涉及基于单目视觉的机器人定位及过程控制技术,以及基于彩色图像的乒乓球特征提取技术。
由于六自由度机器人安装在移动平台上,而且乒乓球一般与移动平台在同一个平面上,因此只要确定了移动平台和乒乓球的位置和偏转角关系,便可以通过预先设定的程序控制六自由度机器人正确抓取乒乓球。本文提出,在移动平台上安装2个靶标乒乓球,然后采用单目视觉系统确定待抓取的乒乓球与移动平台之间的位置和偏转角关系。
机器人的定位原理及控制策略如图3所示,A、B为提取出来的安装在移动平台上的两个靶标乒乓球图像的重心,其图像坐标分别为(xA, yA)及(xB, yB);C为提取出来的机器人待抓取的乒乓球图像的重心,其图像坐标为(xC, yC);L为C到A、B连线的标准距离,反映了当六自由度机器人能够正确抓取乒乓球时移动平台与被抓乒乓球之间的位置关系;O为C到A、B连线的垂线与A、B连线的交点,其图像坐标为(xO, yO)。
图3 机器人定位原理图
令αCBA、αCAB分别为 CB与 BA连线及 CA与AB连线的夹角,当六自由度机器人能够正确抓取乒乓球时,移动平台和被抓乒乓球之间的偏转关系如下:
式中,LAB、LAC及LCB分别为三个球心两两之间的相互距离:
由此可见,只要在移动平台上增加2个靶标乒乓球,用单目视觉系统提取出3个乒乓球的球心图像坐标后,就能够实现对机器人系统的定位过程。
根据上述定位结果,便可实现对移动平台的控制,进而实现六自由度机器人对乒乓球的抓取,具体控制策略如下:
当LAB=L时,移动平台移动到位;
当LAB>L时,移动平台需要向前移动;
当LAB<L时,移动平台需要向后移动;
当 αCBA=αCAB时,移动平台转动到位;
当 αCBA<αCAB时,移动平台需要向左转动;
当 αCBA>αCAB时,移动平台需要向右转动。
本系统采用乒乓球作为跟踪靶标,理论上球状的乒乓球在CCD上的成像为一圆形且颜色一般为黄色,根据这些特征,提出了基于彩色图像 RGB颜色分量差值的二值化乒乓球特征快速提取方法。
2.2.1 含黄色特征的彩色图像分析
包含黄色乒乓球的一副彩色图像如图4所示。
图4 实验图片
对RGB各分量的差值分析如图5、图6、图7所示。
图5 RG的差值
图6 RB的差值
图7 GB的差值
从上面的分析结果来看,黄色乒乓球区域的各颜色分量的差值具有明显的凸起,可以应用这个特性把黄色物体从复杂背景中提取出来。
2.2.2 乒乓球提取策略
根据上面的图像分析结果,可获得黄色乒乓球特征提取的二值化公式:
其中,F(u,v)为(u,v)像素处图像二值化后的值,RG、RB、BG分别为(u,v)像素处对应的各颜色分量差值的绝对值,TRG、TRB及TBG分别为对应的阈值。同时有:
采用上述策略对乒乓球进行特征提取的实例如图8所示,由提取效果可见此策略是简单有效的。
图8 乒乓球特征提取结果
用于捡乒乓球的机器人系统如图9所示,主要包括单目视觉系统、移动平台和六自由度机器人、上位机及控制软件。
图9 捡乒乓球的机器人系统
整个实验过程包括以下步骤:
(1)基于单目视觉系统原始彩色图像的采集,采集到原始图像如图10所示。
图10 原始图片
(2)采用上述特征提取策略对乒乓球特征进行提取,提取出的乒乓球特征如图11所示。
图11 特征提取结果
(3)根据机器人定位原理,计算出的移动平台的定位量如图12所示。
图12 定位值计算结果
(4)根据计算出的定位量及控制策略,控制移动平台移动到六自由度机器人能够抓取到乒乓球的位置和旋转角,如图13所示。
图13 移动平台运动到位状态
(5)启动六自由度机器人抓乒乓球程序,将乒乓球捡起,如图14所示。
图14 机器人捡乒乓球过程
(1)捡乒乓球机器人系统中,基于彩色图像RGB颜色分量差值的二值化乒乓球特征快速提取方法可行、有效。
(2)单目视觉系统实现了机器人平面空间内的定位及过程控制,保证六自由度机器人能够正确捡起乒乓球。
(3)实验验证了捡乒乓球机器人系统总体设计方案的正确性、流程的可行性及算法的有效性。