凌 轩,刘江涛,梁超越,王旭东
(仲恺农业工程学院机电工程学院,广东 广州 510225)
近年来,我国草莓栽培面积以及产量迅速扩大,草莓成熟后必须及时采摘,尤其是盛果期(约30 d),草莓的产量多,种植面积广,人工采摘草莓,劳动强度和作业量非常大。草莓有其独特的生长方式,多为二歧聚伞花序,按次序先后开花结果,造成果实的不定期成熟,需要人工不定时地进行判断和收获,草莓采摘的及时性要求给果农的采摘带来了诸多挑战,由此开发一种能够代替人工作业的草每收获机器人势在必行。
20 世纪 80 年代起,世界各国开始了果蔬采摘自动化的研究。美国佛罗里达大学、日本冈山大学和我国的上海交通大学和中国农业大学相继开展了草莓采摘机器人的研究工作[1-3],并取得了众多成果,但目前仍存在以下几点问题,如采摘运动机构复杂、定位采摘算法运算量大、适应性不高、成本较高等。
本文针对地垄栽培模式下草莓的生长特点,提出采用三轴同步滑台机构作为运动定位机构,用面向对象语言开发了总控制中心,编写了串口与PLC和单片机通讯协议,提高了系统的柔性,可配置性及交互性。可对一定范围内成熟草莓进行自动定位和无损伤采摘,一定程度上减轻了劳动强度,提高了自动化作业水平。
我国的大部分农田采用垄作栽培的草莓种植模式,两垄间相隔一道宽度,草莓植株种植在垄顶,果实贴在垄坡,并且在垂直垄坡方向上没有重叠;采摘作业过程中除了少许的叶子遮挡外基本没有别的障碍物。根据这种农艺条件,在标准种植区域使用合适宽度的四轮驱动最为合适。
本文设计的智能自动草莓采摘机器人如图1 所示,主要由底座模块、XYZ 同步滑台模块、PLC 控制器模块和柔性采摘机械手模块组成。底座安装4个轮子方便移动,3 个滑台构成X,Y,Z 轴,可以实现机械手位置在各个方向上的移动,机械手由3 个舵机进行控制,实现对草莓果实的抓取并通过扭转实现采摘。
图1 自动草莓采摘机器人结构框图Fig.1 The structure of automatic strawberry picking robot
末端执行器安装在 Z 轴同步滑台上,以适当力度夹持并扭转果柄,完成采摘动作。由于草莓果实表皮十分娇嫩,夹持果实本体容易造成果皮损伤,影响果实品质,进而影响后续加工、储藏。采摘机器人末端执行器采用了柔性网状材料打印成型,以保护娇嫩果实。
在采摘过程中,末端执行器贴垄坡沿 X 方向运动,当到达目标草莓域正下方时,停止 X 方向的运动,然后沿垄坡向上Y 方向运动,接着机械臂带动末端执行器向Z 方向运动,将草莓抓取扭转收获。因此,在 X 方向对准目标草莓域后,只需获得末端执行器到草莓采摘点之间的Y 方向上的距离和草莓域宽度,即可实现对目标草莓的采摘[4,5]。
草莓目标识别及其采摘点位置计算分为3 个步骤,即图像预处理、目标草莓识别和采摘点位置计算等。摄像机首先摄取水平地面上收获区域内草莓的图像,经图像分割后提取收获区域内所有成熟草莓的重心位置,计算草莓个数,并按重心坐标值对草莓排序,驱动机械手进行采摘。
图像处理包括读入图像、色差变换、二值化去噪音、区域标记、重心提取等[6-10]。首先把采集到的图像通过HIS 颜色模型识别出成熟草莓红色区域,选取合适的阈值对图像进行二值化图像分割,本文阈值取65。然后再采用与原图通过膨胀与腐蚀去除噪音获得草莓的完整区域,并进行区域标记和通过计算获取重心位置。
图2 中a 为采集到原始图像,图b 为经过阈值分割并滤波去噪音后提取出的草莓位置信息。从图中可以看出,采用的图像分割算法能够适应草莓颜色非均一性和图像光的复杂性,能很好地去除树叶等复杂背景,而且能较好地保存未被遮挡的草莓区域,满足所需分割效果。
图2 草莓图像识别过程Fig.2 The process of strawberry image recognition
本文草莓采摘机器人控制系统通过一个Windows 窗体应用程序作为总控制中心,与PLC 和单片机通讯,从而实现草莓的采摘,如图3 所示。
图3 草莓采摘机控制框图Fig.3 The control block diagram of strawberry picker
控制系统设计为2 个模块,由手动采摘调试模块和自动识别采摘模块组成。分别由信息采集层、运动执行层,算法控制层组成。信息采集层由采集摄像头、安装在同步滑台模组两端的光电行程开关、机械手定位开关等设备组成,可实时显示采集图像及检测画面;运动执行层由精密同步带运动定位机构及驱动步进电机、末端执行器以及相应的驱动电路模块(24 V 独立直流电源供电)组成,负责实时响应上位机发来的控制信号,驱动采摘机器人完成所需动作;算法控制层由上位机控制,主要负责调试模块和采摘模块算法的执行处理。
采摘机控制软件上位机采用面向对象语言编写,用C#编程语言完成用户界面及功能函数的编程,用串口开发工具完成用户软件、计算机和传感器之间数据的交换,使控制系统能够按照用户的要求工作。左边界面为视觉监控及检测实时显示模块,右边界面为功能模组可完成手动测试及自动采摘等,底部信息模块可实时显示执行情况和采摘效果,如图4 所示。
图4 自动草莓采摘机上位机控制界面Fig.4 The control interface of automatic strawberry picking machine
为了测试设计的草莓采摘机的各部件能否正常工作,设计了手动测试模块。包括相机的测试、机械手的转动抓取、三轴滑台的XYZ 轴的移动上升下降等,均可通过程序按钮控件测试,同时可手动控制模拟采摘过程,PLC 和末端执行器通过串口同计算机通讯。当计算机发出指令时,可驱动执行机构完成所需的动作。
图5 为Y 轴同步滑台步进电机PLC 程序,X006 和X005 为滑台限位开关,当滑块运行到限位开关时,自动停止或返回。
图5 草莓采摘机单轴驱动PLC程序Fig.5 The PLC program of single axis driving for picking machine
本文设计的自动识别采摘过程算法如下:首先草莓采摘机器人向前运动到合适的位置距离,使用摄像机采集图像,分辨成熟草莓位置,存在则进行下一步骤,否则继续前行重复。若发现成熟草莓,确定位置和数量,形成自动采摘方案,上位机驱动末端执行器手爪张开,驱动PLC 控制执行机构运行到计算的草莓重心位置,抓取并扭转果实完成采摘及收集,重复进行,直到全部采摘成功。再判断行程是否结束,结束就停止不动,否则继续前行,重复上述流程。
在实验室搭建测试平台,试验中用仿真草莓模型替代真实草莓,用泡沫板作垄,分别有成熟草莓,青红草莓及不成熟草莓等测试模型。
为了验证本文设计的草莓摘果机性能是否满足要求,设计并制作了自动草莓收获采摘机器人样机如图6 所示,底座为由铝合金型材固连而成,用于支撑连接机器人各机械部件;运动机构采用三轴同步带滑台机构,XYZ轴移动范围分别为500 mm×500 mm×300 mm;驱动系统采用三菱fx3n PLC作控制器,可同时高速驱动3个步进电机运动;视觉模块采用500万像素工业摄像机,镜头焦距为12 mm;控制台采用微型电脑,通过串口连接PLC、舵机控制板、各类传感器实现相互间通讯,根据设定的算法实现识别采摘等动作。
在实验室搭建测试平台,过道两侧随机安排40颗草莓(包含成熟草莓35 颗),测试试验如图7所示。
图6 自动草莓采摘机器人样机Fig.6 automatic strawberry picking robot
以采摘耗时和采摘成功率为评价指标,共进行3 组试验,每组试验进行 10 次,每次记录采摘成功粒数与应采摘总粒数的比值及采摘果实所需的时间。如果出现夹持不住果实或采摘生草莓的情况则该次果实采摘失败。
采摘测试中,成功采摘草莓26 颗,由于遮挡等原因果实误判2 次,试验过程如图8 所示。测试结果表明,在试验环境下对草莓的平均判别速度为1 s,果实误判率7%,采摘成功率约为90%。
图8 自动草莓采摘机器人采摘测试界面Fig.8 The test interface of automatic strawberry picking robot
1)设计了针对地垄栽培模式下的草莓智能采摘机器人软、硬件系统,制造了机器人样机。该采摘机器人基于三菱PLC 控制系统,采用三轴精确同步滑台机构,具有移动精度高、结构简单、控制算法合理等特点。
2)草莓采摘末端执行器采用柔性材料设计,通过机器视觉技术实现果实的精准识别与定位,为草莓采摘提供位置信息并快速精确定位抓取同时包住目标草莓,通过扭转,实现果实和叶柄分离,避免对果实表皮造成损伤。
3)构建了开放式的机器人控制系统,基于面向对象编程技C#编写了窗体应用程序作为总控制中心,通过串口与PLC 和单片机通讯,提高了系统的柔性,可配置性及交互性。
4)采摘机器人性能试验结果表明,在试验环境下对草莓的平均判别速度为1 s,果实误判率7%,采摘成功率为90%,达到设计要求。