李雄,曾世亨,谌文,何志鹏,李小敏
(仲恺农业工程学院机电工程学院,广州 510550)
随着水果消费的大幅增加,果园种植面积逐年扩大。尽管果树栽培技术不断提高、水果产量大幅,然而仍然存在大量水果因生长机理或不能及时采摘造成大量落果现象。大量落果以球形和圆形位置。一方面,病变落果如果不及时处理,植株容易染上虫害和病害,导致果实质量的良莠不齐。另一方面,落果拾取不及时,会严重影响果园产出和落果回收的经济价值[1]。目前落果的拾取主要依靠人力,存在劳动强度大、工作环境差、自动化和智能化水平低等现状,亟需开展果园落果相关研究[2]。因此,开发设计一款自动落果拾取机器人对于果园的智能化管理具有重要意义。
目前,落果拾取研究层面取得一定的进展。姜焰鸣等人[3]发明一种提供了人力推动装配齿牙的滚筒将荔枝和杂物扎进齿牙后再脱离存放的荔枝落果拾果机。史高昆等人[4],针对大规模种植园依托气囊式吸果机和滚筒式扫果机,利用风机产生气压差将地面杂物和落枣吸起设计了一种气吸式红枣收获机。冯冰等人[5]利用圆盘毛刷将落地水果和杂物扫到传送带,研发了一种具有果实捡拾机构的林果收获机。现有落果主要以圆形球形为主,鲜有针对圆形落果设计方法。当前的落果拾取方案,一方面依托大型农机将落果和杂物混杂在一起,容易破损落果果皮,使其发生变质;另一方面,当前方法大多还要依靠人工现场操作,自动化和智能化水平较低。
针对现有落果拾取的研究现状,基于对球形落果利于在机器装置内滚动不易堆积使机器卡住的特点,本团队设计一种利用霍夫圆检测图像处理技术判别出球形落果的位置和使用自动控制技术去靠近落果、利用自制的滚筒式收集装置使落果脱离杂物后拾起、并分级存放落果的智能拾果机器人。该研究为智能化果园管理提供技术支持。
图1为硬件系统的总体设计框图,树莓派主板通过对USB摄像头云台的舵机控制来获取视频信号,然后视频信号经WIFI模块用USB数据线传输给树莓派。树莓派的linux操作系统分析和处理视频信号,判断出落果的位置和形状,进而将要拾起的落果的位置指令传递给PWR.A53.A电源板。电源板控制四轮电机[6]驱动使机器人靠近落果,控制拾取装置的直流力矩电机驱动来拾起落果。落果通过分级存放装置按大小分类存放。视频信号可通过WIFI模块上传到手持终端或PC端,实现实时视频传输。也可通过手持终端或PC端的配套软件APP的视屏界面来控制摄像头云台舵机的转动、四轮电机驱动和直流力矩电机驱动,使机器人靠近并拾起落果。
图1 硬件系统的总体设计框图
霍夫变换检测圆利用Canny算法找寻一幅图像中灰度强度变化最强的梯度方向[7]。该设计基于OpenCV中的霍夫梯度算法的实现圆形落果检测。霍夫梯度算法具体实现原理如下,基于图像中每个像素点的梯度可以由Sobel算子来获得,分别求得沿水平(x)和垂直(y)方向的梯度G x和G y,再利用公式来求得每一个像素点的梯度幅值。Canny算法边缘检测后,得到边界二值图,效果如图2、图3所示。
图2 待检测的灰度图
图3 边缘检测后的边界二值图
为确定圆心,遍历边界二值图中的非0点,沿着梯度方向和反方向画线段。线段的起点和长度由参数允许的半径区间决定。
在边界二值图中任意沿着梯度方向和反方向画的线段可以用公式(1)表达。
公式(1)中,a1,a x,…,a n是线段特征参数。如果将公式(1)中的特征参数与变量x、y调换,则公式(1)等价于
公式(2)说明,边界二值图中同一线段上的点通过公式变换,在平面坐标系中映射为一点(x,y),该点由特征参数a1,a x,…,a n确定。因此,通过判断平面坐标系中各参数点的积累值,可以实现对边界二值图中沿着梯度方向和反方向画的线段的描述。
已知圆的方程为(x-a)2+(y-b)2=r2,令(x i,y i)(i=1,2,3,…,n)为边界二值图中满足圆周特性的点的集合,那么边界二值图中的点(x i,y i)在空间坐标系中的方程为:
公式(3)在空间坐标系中表示一个三维锥面。对于边界二值图中圆周上任意一点(x i,y i)可对应于空间坐标系中的一个三维锥面;对于边界二值图中满足圆周特性的全部点对应于空间坐标系的一组圆锥面簇[8],如图4所示。
图4 霍夫变换原理
为求出边界二值图中圆的圆心坐标(a,b)及半径r,可以建立一个三维累加器数组A(a,b,r),根据公式(3),分别计算边界二值图中圆周上每一个非0点的(a,b,r),并对其累加。通过比较各累加点A n(a,b,r)的累加值,选出最大值Amax(a,b,r),则该数组中的(a,b)就是边界二值图中所求圆周的圆心坐标,r为半径。
USB摄像头使用CMOS图像传感器对每一帧图像进行采集操作,同时将视频信号借助WIFI模块传输给手持终端或PC端。WiFi模块收集到的视频信号通过USB串口传输给树莓派。在树莓派硬件平台上引入Linux操作系统和采用第三方库OpenCV。预处理线程首先只提取YUV数据帧中的Y分量,生成图像的灰度图像[9]。采用OpenCV中的的霍夫梯度算法实现函数来检测圆,读取向量节点的数量来判断图像中是否存在圆形物体,假如数量是0,则调整摄像头云台的舵机角度再重新执行程序,若数量不是0,表示图像中存在圆形物体。若二值图中某圆的圆周长在预设的某种落果的圆周范围内,则保留该向量节点,否则删除该向量节点,得到筛选后保留下落果的二值图。若向量节点最终为0,则调整摄像头云台的舵机角度再重新执行程序。落果识别程序流程图如图5所示。
图5 落果识别程序流程图
读取筛选完圆向量节点数值,假如数值为1,则表明摄像头图像范围内只存在一个落果,接着树莓派利用落果位置信息控制车轮转向、靠近落果并将其拾起。假如数值大于1,则表明摄像头图像范围内存在多个落果。然后通过OpenCV提供了moments()函数来计算图像中圆的中心矩,将moments()函数返回数值作为该落果在二值图中的质心,根据质心算出二值图中各个落果的质心到达最近的背景点的欧氏距离[10],以欧氏距离最短的落果作为拾取对象。树莓派再利用落果位置信息控制车轮转向、靠近落果并将其拾起。
如图6所示,拾取装置通过直流力矩电机的运转来带动滚筒拾起落果,直流力矩电机[11]具有在低速和堵转下能产生大力矩而不损坏电机的优点,能够采挖半埋在地面的有一定高度的石头,保证行进路线的通畅。分级存放装置采用对辊式尺寸分级结构[12],分级间隙的改变靠对辊之间的空间位置变化来改变,达到先小后大掉落落果并存放的目的。
图6 智能拾果机器人模型与拾果装置的简化模型
拾果装置的简化模型如图6所示,在理想条件下,R3、R4是同心圆,8等分的叶片L1、L2延长线过圆心O,滚轮能够推起的最大水果球圆半径为rmax=,最小水果球圆半径为rmin=R4-R2。可事先确定所要拾球形落果的最大球圆半径和最小球圆半径来安装拾取装置的叶片位置,能极大的使落叶和树枝等杂物不会连同落果一起被收集到。
针对当前落果拾取主要依靠人力、劳动强度大、智能化化水平较低等现状,研发了一种基于图像处理的果园圆形落果拾取机器人。首先,依托树莓派处理系统构建了控制硬件和图像获取平台。其次,基于霍夫梯度图像检测构建了球形落果圆形信息获取方法。最后,基于叶轮结构设计了拾果机械装置。该设计实现了落果的自动化拾取,具有很强的实用性,为果园的智能化管理提供了必要技术支撑。