李芳LI Fang;李霞LI Xia
(①北京经济管理职业学院,北京 100102;②北京城市学院,北京 100102)
随着水果种植规模化集约化、人工成本的上涨和社会人口老龄化,智能采摘机器人的应用将会在农业中得到大量推广,它可在室内外多种复杂环境下,高效、精准地完成果实目标检测、位置确定、成熟度判断和快速摘取功能,不仅能够节省人力成本,还能够提高生产效率。
目前市场上有多款水果采摘类机器人产品,主要为“荔枝采摘机器人”、“苹果采摘机器人”等,能够完成无损采摘,快速精准摘取,双目立体视觉定位,适应复杂环境等,但采摘产品比较单一,应用缺乏普遍性。基于嵌入式技术的智能采摘机器人,通过直流电机、颜色传感器、TX2中心处理器以及YOLO算法等能够识别随机位置的果实,综合判断确定果实的成熟度、利用机械臂对果实进行快速高效的精准采摘。同时能够实现整体对采摘机器人多方向,少路径,节时间的运动控制,实现平稳移动智能避障,降低功耗成本,提升采摘效率和工作稳定性。
整个机器人系统分上层和下层两层设计,上层系统可以向下层系统传输数据,对下层系统的功能进行控制。上层系统主要负责数字图像信息的采集与机器人步进控制,包括树莓派为主体的数据采集处理模块和51开发板与各种测距传感器、无线透传构成的机械臂模块。下层系统RM-A板为主体,连接无线透传、测距传感器、继电器、电调、全向轮等实现步进控制,负责控制机器人按照指定的姿态进行移动,控制推杆电机的升降。(图1)
图1 系统整体设计图
上层系统:分为数字图像信息的采集与处理、果实采摘(机械臂)的控制两个部分,分别使用树莓派和51板实现。
①数字图像信息的采集与处理部分:由树莓派连接显示器、USB摄像头、无线透传模块组成。树莓派通过USB接口连接摄像头,用于爪子、果实位置的检测;树莓派连接显示器,用于显示经过树莓派处理后的图像位置信息,便于监测智能采摘机器人的工作状态。无线透传模块用于向RM-A开发板传输当前果实的位置信息数据,由下层系统处理后确定机器人应当行进的方向;树莓派通过串口连接果实采摘控制模块,提供果实和爪子的位置信息传递,由该模块确定采摘过程。
②果实采摘(机械臂)的控制部分:由51板连接爪子舵机、云台舵机、超声波测距传感器、红外测距传感器和无线透传模块组成。爪子用于抓取果实,云台用于收集果实。51开发板通过串口接收树莓派的数据,利用D-H参数法计算出云台和爪子的移动数据,并由PWM控制舵机,实现云台和爪子的移动。超声波测距传感器、前红外传感器和下红外传感器对爪子与果实的相对位置进行准确定位,控制握爪时机,对树莓派得出的位置信息进行补充。无线透传模块向下层系统传递果实与爪子的距离信息,从而控制智能采果机器人的移动距离。
下层系统:使用一个RM-A 32开发板作为处理单元,实现步进控制与系统通信。
①在系统间的通信上,RM-A开发板通过串口连接两个无线透传模块,用于接收上层系统传递的数据。
②在步进控制的实现上,RM-A开发板通过UART协议连接一个测距传感器,通过距离控制实现避障,配合IMU姿态闭环,实现步进控制算法。RM-A开发板通过CAN总线连接底盘,底盘包含四个电调,分别连接4个电机和全向轮,步进控制算法通过CAN总线传输电机运转速率,使得机器人能够平稳地移动。
RM-A开发板通过IO口连接继电器,开发板可以向继电器提供5V电压,从而控制推杆电机的升降。整个下层系统采用电压为24V的RM电池进行供电。
目标检测模块主要是由USB摄像头、显示器和无线透传模块组成。通过软硬件协同部署,用摄像头采集果实图片,经过颜色传感器采集图片颜色,并通过TX2中心处理器综合判断的方式确定果实的成熟程度,并判断是否执行采摘动作。在快速识别果实位置的过程中,优化并应用YOLO算法,检测速度相对较快,背景误检数量少了一半,能够迅速识别果实位置并为精准摘取做准备。
TX2中心处理器主要负责对整个系统数据进行处理和判断,它采用NVIDIA推出的Jetson TX2。Jetson TX2具有多个多媒体流引擎,可通过卸载传感器采集和分发来为其Pascal GPU提供数据。这些多媒体引擎包括六个专用MIPI CSI-2摄像头端口,每个通道的带宽高达2.5 Gb/s,双图像服务处理器(ISP)的处理速度为1.4gigapixels/s,以及支持H.265的4K视频编解码器每秒60帧。
在智能采果机器人中使用了超声波测距、雷达测距、红外测距三种测距模块,这里重点介绍超声波测距和雷达测距。
2.2.1 超声波测距模块
超声波测距使用HC-SR04模块,该模块性能稳定,测量距离精准,盲区小。用于机器人机械臂测距。
本模块使用方法简单,一个控制口发一个10μs以上的高电平,就可以在接收口等待高电平输出。有高电平输出就开启定时器计时,当接口输出变为低电平时读定时器的值,得到此次测距的时间,即可得出距离。多次测量求平均值,即可测量出机械臂的移动值。
2.2.2 激光雷达测距模块
采用TFmini小型激光雷达功能模块实现机器人底座移动合理避障,该模块成本低、体积小和功耗低,对于室外强光、不同温度、不同反射率等不同环境下的适应性较强。另外采用了串口连接,信息传输速度快。(图2)
图2 激光雷达测距模块连接图
该模块在室内工作时:探测目标为90%反射率,有效探测距离为12m;探测目标10%反射率,有效探测距离5m;在室外工作时:普通日照(照度70klux以下),有效探测距离7m;夏天烈日下(照度100klux)或者室外黑色背景板,有探测距离为3m。注:所有距离参数均为与探测物正对情况下。
图3 激光雷达模块测量的有效距离
舵机控制模块主要用来控制机械臂的旋转,用来采摘果实和收集果实。通过51板输出PWM控制舵机工作。
控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
智能采果机器人采集的数据集主要是用来实现果实目标检测、成熟度的判断和采摘。包括果实目标检测中:摄像头采集的原始图像数据、YOLO算法中的训练集和测试集、树莓派处理后的果实位置信息以及动态的机械臂爪子位置信息;采摘过程中:舵机和机械臂的移动数据、果实与机械臂爪子的距离数据;成熟度判断中的颜色数据信息、果实成熟度数据等等。
首先通过摄像头采集原始图片数据,进行颜色识别后经过颜色传感器采集对应颜色,得到果实成熟度数据由TX2实现综合判断后待采果实。然后利用YOLO算法得到果实目标检测后的位置信息数据,再分别传送给机械臂控制部分和机器人移动控制部分。机械臂部分由51开发板接受果实位置信息,由超声波和红外传感器完善位置数据,再用算法计算出舵机和机械臂爪子移动数据,最后动态向下传递果实与机械臂爪子的距离数据,具体数据处理过程如图4所示。
图4 数据处理流程
YOLO算法处理图像简单直接,基本由以下几个步骤完成:①将输入图像调整为448×448;②在图像上运行单个卷积网络;③由模型的置信度对所得到的检测进行阈值处理。YOLO预测流程简单,速度很快。在Titan X GPU上基础版可以达到45帧/s,快速版可以达到150帧/s。因此,YOLO可以实现实时检测。
在智能采果机器人的设计中,主要考虑了4个技术难点,具体技术难点及解决方法如下:
在果实采摘过程中,如何判断果实成熟度是一个广泛存在的技术难点,影响到采摘质量、生产效率和产品的落地使用价值。因此采用摄像头与颜色传感器共同识别方法判断果实成熟度。通过摄像头的拍摄图片对果实的颜色进行识别,之后再经过颜色传感器来采集对应的颜色,并通TX2中心处理器实现综合判断的方式,以实现果实的成熟程度的确定。
在智能采摘过程中,果实位置检测是一个基础性的核心技术问题,然而在复杂多样环中提高检测目标的准确率和提取准确的位置信息具有难度。在核心算法上采用优化的YOLO算法,检测速度更快,能够实现处理流媒体视频。背景误检数量少了一半。能更快速度识别果实位置,做到精准摘取。通过无线透传模块传输果实位置信息,超声波测距传感器、红外传感器对机械臂爪子与果实的相对位置进行准确定位,控制握爪时机,对树莓派得出的位置信息进行补充。
整个采摘的完成,包括步进运动控制和采摘动作控制,同时要实现两个运动在采摘过程的协同控制,而两个维度的运动协同控制是采摘成果的关键保障,否则将难以高效完成采摘。采用分层设计,上层系统实现数据采集和机械臂控制,并将数据传输到下层系统,下层系统实现步进控制。利用软硬协同设计思想,由传感器、高效目标检测算法经树莓派处理获取并确定爪子和代采果实位置的数据,并利用无线透传传输数据到上层系统中的机械臂控制部分(51开发板)和下层系统(RM-A开发板)。
实际采摘环境可能是相当复杂的,温度、反射率、室外光强等等对于机械控制数据的采集计算有很大影响。对此,将HC-SR04模块用于测距,此模块性能稳定,测度距离精准,模块高精度,盲区小。同时利用TFmini小型激光雷达模组,在保证成本、小体积、低功耗基础上,提高对不同温度、光强、反射率环境下端适用性。
智能采摘机器人双重判断果实成熟度方法、使用YOLO目标检测算法以及基于嵌入式技术以实现步进抓取协调控制。整个系统采用分层的方式设计,上层模块向下层模块传输数据,对下层模块的功能进行控制。它可在室内外多种复杂环境下,高效、精准地完成果实目标检测、位置确定、成熟度判断和快速摘取功能,为我国农业的自动化发展增值赋能。