基于RPi4B与OpenCV的自动摘果机器人的设计
2022-08-12鄂颖丽郝传柱麻耀华
鄂颖丽,郝传柱,麻耀华
(山东华宇工学院 电气工程学院,山东 德州 253034)
0 引 言
现如今,农业机械的自动化、智能化程度越来越高,这同时影响着农民生产的方式,农业机器人设计与研究成为全球关注的焦点问题。随着中国经济的快速发展以及科技的进步,反季节水果得到了大面积的推广。我国草莓的种植面积已由2001年的2 000 多亩提高到了250 万亩。我国2/3 以上的草莓种植方式为地垄式种植,虽然这种方式能够提高草莓的产量,但是目前摘果方式均为人工端着一个器皿蹲在或深弯腰站在两个地垄之间的沟里,严重影响摘果以及日常在草莓地里梳理多余的花果以及摘掉多余的叶子等作业的工作效率。
本文针对草莓自动摘果机器人功能及结构进行设计与研究,主要研究设计了以OpenCV+Python 技术为核心的草莓图像的识别、采集与定位功能,以及草莓采摘机器人在地垄式草莓大棚的沿迹避障系统和草莓采摘的草莓茎切割技术。能够基本实现对草莓成熟果实的识别、定位与摘取,对于研制出有实际应用价值的草莓自动采摘机器人具有十分重要的意义。
1 国内外研究现状和发展动态
目前,国内主要草莓主要采摘方式为人工采摘方式或借助一些简单的机械,在使用过程中,存在工作效率低、人工行走不方便等特点。现如今各种草莓摘果还是由人工来完成的,没有研发自动化机械装置,主要是在改进一些辅助工具,例如背带或者手推式小车等工具,虽然在装置结构、原理等研究方面都获得了一定的进展,但是这些工具未能达到自动采摘的目的且消耗大量体力。而且这些工具精度低、工作效率低、使用范围无针对性,不适合用于草莓采摘。
国外比利时公司Octinion 虽然有一款草莓采摘机器人,但是由于无土种植机器体积过大,成本在100 万左右,且使用前提是有配套的温室大棚构造,对于传统的平底种植(包括地垄式草莓种植方式)是无法使用的,不适合用于我国主流的草莓种植行业。
本文设计的草莓自动摘果机器人结构较小,总体高度控制在25 cm 以内,使其更适合国内地垄式种植方式,能够实现小型农业机械采摘。
2 机器人控制系统设计
2.1 控制器的选择
RPi4B 凭借其体积小、功能强等优点,逐渐广泛应用于自动化控制中。RPi4B 是一款基于ARM 架构的微型电脑主板,其系统是基于Linux。卡板周围有4 个USB 接口和一个100 以太网接口,可连接网线。同时其拥有视频模拟信号的HDMI 高清视频输出接口。RPi4B 相较于单片机来说,功能更强大,具有独立的CPU、内存和操作系统,可以直接进行编程和运行,更加智能,使用也更加方便。因此,本文所设计的草莓自动摘果机器人使用RPi4B 作为主控。该机器人拥有对成熟草莓的定位、摘取及沿迹避障等功能,需要控制多个运动舵机,采集多个红外和力学传感器数据以及处理采集视频信息。根据系统整体功能需要,采用ARM 与RPi4B相结合的方式构建系统,利用基于PC 上位机的OpenCV,再用RPi4B 编译OpenCV。RPi4B 开发板如图1所示。
图1 RPi4B-2G 开发板
OpenCV 是一种计算机视觉库,可通过处理图像和视频来完成计算机视觉和学习的各种任务,通过显示摄像头输入的信号让机器人识别定位现实中的成熟草莓。
草莓摘果程序是用Python 语言编程的。PyCharm 是Python 的开发软件,帮助用户使用Python 语言进行有效的开发,是提升效率的工具。它采用了一个灵活的窗口管理系统,允许开发者使用多个监视器并识别Python 语言,能够为用户提供一个良好的编译环境。通过此软件可以根据实际情况合理修改草莓摘果程序。PyCharm 编程操作界面如图2所示。
图2 PyCharm 编程操作界面
2.2 机器人控制系统的整体设计
该机器人包括上层控制系统和下层控制系统。
上层控制系统主要包括:OpenCV 的图像处理模块、图像采集模块、视频解码模块、视频编码模块、串行通信模块等。
下层控制系统主要包括:RPi4B 主控模块、电源模块、切割采摘模块、舵机驱动装置、红外传感器模块、串行通信模块等。
上层控制系统和下层控制系统主要通过USB 连接传送数据,完成设备之间实时的数据交换及实现人机交互等功能。
上层控制系统在视频解码模块的工作下,将图像采集模块选定的视频图像数据由模拟信号转化为数字信号,再利用OpenCV 进行数字信号处理、分析,实现草莓果实轮廓的提取和果实三维重心的位置计算等。将数字信息传送到编码器,编码模块将信号转换成模拟信号后显示出处理后的草莓果实的图像,在这个过程中,电源继电器会为机器提供电能。
下层控制系统的RPi4B 主控模块通过串口接收到来自OpenCV 发送的草莓果实三维空间坐标数据,提取有效值后,机器人部件以三维移动的方式移动到待采摘草莓的正前方位置。之后通过RPi4B 主控模块的控制来定位草莓茎,利用切割采摘的方法,切割下草莓果实以上5 cm 左右的草莓茎,将5 cm 的草莓茎切下来后对草莓茎进行抓取,最后将草莓果实送到采集箱中。在下层控制系统工作时,电源模块向该系统提供电能,同时超声波和红外传感器的沿迹避障模块可以使机器人沿设定路径在草莓田埂里移动,以有效防止压伤草莓。
草莓摘果机器人系统结构框架图如图3所示。
图3 草莓摘果机器人系统结构框架图
3 草莓摘果机器人成熟果实识别模块研究
草莓自动识别定位采用机器视觉技术进行视频图像的识别与定位。首先选定规定目标特性,视频图像一般在自然光下采集,由于成熟草莓颜色为深红色与其背景的绿色草莓叶片和白色不成熟草莓颜色差别较大,能够方便机器区分目标与背景图像;其次是利用精确的图像分割技术,达到去除背景并识别定位成熟草莓的目的。草莓摘果目标果实识别定位系统根据色调以及饱和度特征进行分割,力求提高成熟果实识别定位分割的成功率。
3.1 机器视觉中的颜色表示
根据色彩色度学,人们可以精准地辨别出物体颜色不一的不同部位。色度学目前有HSV、RGB、HIS 等颜色模型。目前在图像处理中使用较多的是RGB 颜色空间,但是HSV 颜色空间却比RGB 更接近人们对彩色的感知经验,直观地表达颜色的色调、鲜艳程度和明暗程度,能更方便地在同一画面中进行不同颜色的对比,常用于分割指定颜色的物体。HSV 颜色模型由色调H、饱和度S、明度V三部分组成。色调角度度量的取值范围为0°~360°,红色为0°,绿色为120°;饱和度表示颜色接近光谱色的程度,饱和度高,颜色则深而艳;明度表示颜色明亮的程度。本文研究的草莓自动识别与定位技术采用更容易跟踪某种颜色的物体的HSV 颜色模型,HSV 颜色空间模型如图4所示。
图4 HSV 颜色空间模型
3.2 目标草莓的图像识别与分割
草莓果实的成熟通常分成四个阶段,即绿熟期、白熟期、转色期与红熟期。确定草莓成熟度的重要标准则是草莓果实的着色面积与深度。草莓在成熟过程中,果皮的颜色由浅到深,范围由小到大,摘果上可以以此作为采摘的标准,即在果皮着色程度达75%~85%时采摘为宜。
草莓视频图像是通过CCD 摄像头获取的,运用OpenCV 识别技术,首先根据色域范围设定颜色区间。然后打开视频流,打开摄像头,设定画面宽度和高度。利用高斯滤波使画面模糊,将图片的色域转换为HSV 的样式,以便检测。接下来设置阈值,去除背景,保留设置的红色。通过边缘检测来确定识别物体的位置信息得到相对坐标;然后获取最小外接逆三角形的三个顶点。最后绘制轮廓,获取坐标、长度和角度。
机器视觉最核心的功能是对图像的识别、定位与分割,这将直接决定目标草莓的精准识别和定位,从而影响草莓的采摘。而草莓生长环境改变,具体位置会发生变化,日照的变化以及背阴都会对视频图像的采集产生很大的影响,进而降低系统识别定位的准确率。
4 草莓自动摘果机器人总体结构设计
本文设计的草莓自动摘果机器人涉及单片机技术及控制原理、电机控制与应用、传感器检测技术、机械控制等多个技术领域。本文设计的草莓自动采摘机器人工作过程自动化,操作简单,无须人工干预,在出现无法正常工作或该装置电量过低时等工作异常时的故障报警。
基于RPi4B 和OpenCV 控制的地垄式种植草莓方式的自动摘果机器人设计包括切割采摘装置、红外避障系统和收集运输装置三个部分。摘果机器人采取上下双层的构造,为每个功能模块、控制器及电池的合理放置供给了充足的空间。其中,下层支架完成车体电源与电机的配合控制,上层云台完成草莓识别与切割采摘设备的安放。
能源供应方面使用锂电池,锂电池使用寿命长,高低温适应性强,充放电方便,可以稳定地为采摘车作业提供能量。移动装置中的电机选用370 直流减速电机,电机驱动原理如图5所示。
图5 移动设备电机驱动原理
切割采摘收集装置包括有机械臂、刀片、平行机械爪、果实收集箱。其中,机械臂由U 型舵机支架、L 型舵机支架、云台支架、金属舵盘轴承及6 个ZP15S 舵机组成,该舵机具备体积小、精度高、耐堵防烧的特性。当发生堵转时可以自我保护停止工作。旋转角度270°,由20 ms 周期PWM脉冲信号进行控制,每个舵机具有单独的ID,多个舵机串联使用,布线简单使用PID 算法实现舵机角度定位。为了防止机械手在采摘草莓果实过程中破坏草莓娇嫩的果皮,草莓自动摘果机器人采用先切割草莓茎再进行采摘的方式,尽可能地保障草莓的品质。具体实现方法是在原有的夹取机械爪的端部添加方形刀片,在机械爪抓取草莓茎的同时,刀片也将草莓茎切断,即完成切割采摘的过程,切割采摘装置如图6所示。
图6 切割采摘装置示意图
设计采用集成度高且功能强的RPi4B 为主控制器,同时设计包含红外避障系统及收集运输装置,果篮装满后,利用收集运输装置将草莓运出大棚,不用人工进行搬运,省时省力,提升效率。
机器人自动摘果的第一步是利用移动设备和采摘器进行移动并寻找可识别目标;第二步是利用识别精度高的OpenCV 来实现草莓图像的识别与定位,识别到颜色与饱和度在设定区间范围内的目标后,进行草莓轮廓绘制,获取草莓三维坐标,然后计算草莓果实以上5 cm 左右的草莓茎位置,随后编码模块再将位置信息进行简单信息处理传到控制器使机械爪能够准确寻找草莓茎的位置;最后一步进行采摘切割并收集。这样一个流程,就完成草莓的自动采摘过程。
同时设计包括两种人机交互模式,第一种人机交互模式为自动采摘模式,人工打开电源开关并打开自动采摘开关,草莓自动摘果机器人即开启无须人工干预的自动摘果模式,但是该模式草莓摘果的效率较低。第二种人机交互模式为人工辅助遥控摘果,通过手机显示屏进行远程实时视频图像传输,人工进行识别并下达摘果指令,完成摘果过程。这种人机交互模式可以有效降低人工工作强度,减少采摘员的劳损问题。设计的两种人机交互方案流程如图7所示。
图7 人机交互设计方案流程图
5 结 论
本文针对人工采摘草莓费力且劳动力缺乏等问题,设计了一款能够识别并摘取草莓的地垄式草莓自动摘果机器人,旨在为农民大众提供一个自动化、智能化农业环境,减少人工劳动强度,对我国地垄式草莓种植业的发展与自动化农业机器人的研究具有一定的参考价值。