温室草莓采摘机器人设计与试验*

2023-02-04 11:51姬丽雯刘永华高菊玲吴丹
中国农机化学报 2023年1期
关键词:标定草莓机械

姬丽雯,刘永华,高菊玲,吴丹

(1. 江苏农林职业技术学院机电工程学院,江苏镇江,212400;2. 江苏省现代农业装备工程中心,江苏镇江,212400)

0 引言

设施农业是典型的劳动密集型产业,其中果实的采摘是占用劳动力最多、自动化实现难度最大的环节,即使在设施农业领域具有高度自动化的发达国家仍然依赖大量的人工采摘[1-2]。因此,采摘自动化是设施农业发展过程中亟需解决的技术难题。早在20世纪80年代初,日本、美国、荷兰等设施农业自动化程度较高的国家就已经开始了采摘机器人的研究。随着导航技术、视觉识别技术的发展,采摘对象从单一番茄拓展到目前的番茄、草莓、黄瓜、菌菇等多种设施作物。

中国开展采摘机器人的研究时间较晚,但投入了大量精力并取得了一定成果。魏博等设计了一种欠驱动式柑橘采摘末端执行器,通过三个双连杆并联式手指充分抓握和偏转融合控制,实现柑橘的稳定采摘。通过指根旋转电机驱动旋转齿轮使手指旋转至合适角度,并能完美贴合抓取果实。该末端执行器具有适应性强、抓取稳定等优点,但只在手指内部贴有软硅橡胶的设计无法避免果实采摘时的破损,将影响果实的品质[3]。马廷辉设计了4自由度采摘机械手,采用逆运动分析将目标位置转换为机器人各关节转角,实现了草莓的稳定采摘,但是自由度的数量限制了机器人的灵活度。于丰华等[4]将机器人的机械臂扩展到6自由度,机械臂搭载了附有薄膜压力传感器的柔性手爪,基于R-FCN卷积神经网络视觉识别技术,设计了以番茄为采摘对象的移动机器人,但是机器人必须通过巡线相机识别温室内定位胶带来完成巡检和采摘,移动的灵活性受到限制。

本文设计了一款农业采摘机器人,以温室草莓为研究对象,采用同时定位和地图构建SLAM(Simultaneous Localization and Mapping)技术实现机器人的自主路径规划,双目深度相机实现对成熟草莓的识别和定位,搭载柔性仿生夹爪的6自由度机械臂实现目标草莓的抓取和放置。

1 采摘机器人系统功能设计

设施作物培育模式主要有地面土培和基质高架培育,其中基质高架培育技术因为可以有效避免土传病害和连作障碍,已经被广泛地应用在温室草莓种植中[5]。草莓栽培环境如图1所示。本文的农业采摘机器人是以温室基质高架草莓为采摘对象进行研究和试验。

图1 草莓栽培环境

农业采摘机器人的硬件部分包括小车底盘、3D相机、协作机器人、激光雷达、超声波探头、计算机、显示器、无线路由器和仿生机械爪等,其系统结构如图2所示。

图2 采摘机器人硬件系统结构

车底盘用于承载整个采摘机器人,6个轮式电机动力前进驱动,6个舵机转向驱动。控制器选择STM32F103ZET6型号的单片机,通过脉冲宽度调制信号(PWM)控制电机转动速度和舵机转向角度,小车可以实现原地0°~360°转弯,灵活性很高。小车搭配激光雷达,可以实现采摘环境建图和机器人自主定位。小车使用12个分布式超声波探头可以在行驶过程中自动规避障碍物。

协作机器人本体为6自由度的机械臂,最大可以负重3 kg,臂展为832 mm。机械臂的末端执行器为三指仿生柔性夹爪,并配置有压力检测装置,可以根据实际草莓成熟情况调节夹爪压力,尽量在保证采摘效率的前提下选择合适的压力值,降低草莓的采摘损害。夹爪的上面配置有双目深度相机,可以实时检测出目标果实与机械臂的相对位置。

农业采摘机器人总共使用了三台计算机用于软件开发。1#计算机与3D双目深度相机关联,用于开发图像识别系统,2#计算机将激光雷达和小车底盘关联起来开发小车导航系统,3#计算机作为用户端远程操控使用。三台计算机和机械臂计算机共同组成分布式机器人操作系统ROS(Robot Operating System)。ROS是一个分布式的节点框架,使用“发布—订阅式”的通信框架构建分布式计算系[6-7]。根据系统的配置方式,任何节点需要随时与其他节点进行通信,这就要保证ROS系统中的计算机处于同一网络中,分布式计算系如图3所示。

图3 ROS分布式计算系

2 采摘机器人软件设计

机器人的软件包括采摘信息系统设计和导航信息系统设计。两个系统都由三层架构组成,分别为物理感知层、处理层和信息执行层。物理感知层的作用是采集并传输环境数据至处理层。处理层接收到数据后经计算机的智能算法分析得到控制指令,作用于信息执行层的执行机构,控制小车运动到目标位置,机械臂完成采摘动作。机器人的软件系统框图如图4所示。

图4 机器人软件系统框图

在采摘信息系统中,双目深度相机拍摄草莓图片,通过图像采集卡将图片上传至1#计算机,经过计算机处理产生采集控制指令。1#计算机与2#计算机通信,将生成的采摘目标位置告知2#计算机,2#计算机应用导航控制程序生成规划路径,控制单片机产生脉冲宽度调制信号(PWM),驱动小车运行。1#计算机同时与机器人通信,机器人控制器经过逆运动分析,根据目标位置反推得到机械臂各关节的运动数据,机械臂根据关节数据配合机械手完成草莓的采摘。

2.1 机器人导航设计

激光雷达相较于北斗或GPS导航,具有精度高、灵活性高、位置测量速度快等优点,将它作为移动机器人的导航方式,测距误差小于1%。机器人从起点位置开始运动,在运动过程中依据位置估量和传感器数据进行自身定位,同时完成增量式地图的构建。本机器人采用了思岚RPLIDAR-A3红外激光雷达,通过串口与Raspberry Pi 4B相连。激光雷达的主要技术参数如表1所示。

表1 RPLIDAR-A3激光雷达主要技术参数Tab. 1 Main technical parameters of RPLIDAR-A3 laser radar

采摘机器的自动路径规划,采用改进的A*算法。A*算法的基本原理是利用起点、当前节点和目标节点的位置关系建立路径决策优先级函数,公式如式(1)所示。

f(n)=g(n)+h(n)

(1)

式中:f(n)——节点N的路径决策优先级;

g(n)——当前节点N距离起点S的实际代价;

h(n)——节点N距离终点E的预计代价,这也就是A*算法的启发函数,表示对未走过节点的预测。

A*算法在运算过程中,每次从优先队列中选取f(n)值最小(优先级最高)的节点作为下一个待遍历的节点。

图5为模拟的栅格地图中优先级函数的代价图,在地图中路线g(n)表示从起点S到当前节点N的实际代价。h(n)启发函数为终点E到当前节点N的欧式距离,即

(2)

式中: (XE,YE)——终点E的坐标值;

(XN,YN)——当前节点N的坐标值。

传统A*算法的启发函数h(n)是当前节点N到终点E的最短距离,但在实际情况中,节点与终点之间可能会存在障碍。此时选择的启发函数h(n)越小,算法遍历的节点越多,也就导致算法越慢,这也会严重影响机器人的采摘效率。所以对启发函数进行改进,设计沿地图中线45°遍历节点,这也是机器人行走的较大概率方向。改进后启发函数为

(3)

在实际机器人采摘场景中,未必需要机器人一定沿最短路径行走,而是希望能够尽快找到一个可行路径即可。而调节启发函数和实际代价值可以控制算法速度和精确度,因此增加一个系数p,以使路径和速度之间达到一个平衡。改进后的A*算法评价函数为

f(n)=(1-p)g(n)+ph*(n)(0≤p≤1)

(4)

(5)

图5 栅格地图中优先级函数代价图

在试验过程中反复调试,找个合适的系数p,使机器人的行走机构可以在较短时间内完成较优路径的规划。

使用激光雷达进行地图构建与定位,并采用改进的A*算法进行自主导航,试验结果如图6所示。地图中标定机器人当前位置和朝向,箭头的方向为机器人的朝向。当系统发布一个目标位置A1时,机器人即可自主路径规划和导航避障到达目标位置。

图6 机器人自动导航图界面

2.2 机器人视觉识别设计

手眼协调是体现采摘机器人自主作业的关键[8-9]。根据相机和末端执行器的位置关系,常见的手眼系统分别为Eye to Hand型和Eye in Hand型,其中Eye to Hand型是将相机安装在机械臂以外的地方,并保证在采摘的过程中固定不动,Eye in Hand型是将相机安装在机械臂末端,在采摘的过程中相机跟随机械臂运动[10]。本文选择的手眼系统为Eye in Hand型,在末端夹爪上连接小觅MYNTEYE双目深度相机。

首先,将预先拍摄好的图像标注成熟草莓标签,图像标注后,对成熟草莓图像进行数据扩充,扩充图片张数进行数据集构建。将数据集按照4∶1的比例划分训练集和测试集,用于全卷积神经网络R-FCN模型训练,实现成熟草莓的识别。

R-FCN是在Faster R-CNN的基础上,由Dai等人提出的,它将ROI Pooling后面的全连接层都用卷积层所代替,加快了运行速度。R-FCN通过两个阶段实现目标识别检测。首先使用RPN区域网络提取候选框,生成感兴趣区域ROI;然后,使用位置敏感得分图来生成感兴趣区域不同位置的特征,用于解决物体分类,生成的ROI经过回归器进一步调整位置,使ROI的位置精度更高[11]。R-FCN具体由Resnet-101残差网络、RPN候选区域生成网络、ROI池化层、投票层和损失函数(softmax和smoothL1函数)组成,其网络结构示意图见图7所示。

图7 R-FCN 网络结构示意图

Resnet-101残差网络主要用于图像分类,解决层数过深时神经网络训练效果变差的情况。RPN候选区域生成网络经过卷积核为3×3、边界填充为1、滑动步长为1的卷积后,由一个特征图像滑动窗口,为每个位置生成9种不同类型的锚框,用于评估该区域为目标区域的可能性,最后经过softmax分类器获得候选区域ROI。分别对每一个ROI进行分类和回归,这样就可以得到每个ROI的真实类别和较为精确的回归偏移量。R-FCN检测算法采用了Resnet-101作为特征提取的骨干网络,它的网络结构如表4所示。Resnet-101有5层卷积层和最后的全连接层构成,其中全连接层引进了1×1的卷积核,进行降维,减少参数数量[12-13]。

表4 Resnet-101网络结构Tab. 4 Resnet-101 network structure

RGB深度相机通过摄像采集获得RGB图像与深度图像,其中RGB图像经过R-FCN目标检测算法,计算出草莓所在的二维平面位置,然后通过相机的内置参数,得到RGB图像与深度图像的坐标映射关系,实现两种图像的融合,生成目标草莓的三维点云图。

2.3 机器人手眼标定

由于相机视野中捕获目标物体的坐标系与机器人坐标系不一致,它们各自的坐标没有联系,所以为了使两者坐标系形成关联,以便引导机器人进行采摘,故需要将相机的坐标系变换到机器人坐标系中,即进行标定。

对于眼在手上(eye In hand)即相机固定在机械臂末端,主要标定相机和机械臂末端的转换矩阵。实现方法是将标定板放在机械臂工作空间中的一个固定位置,移动机械臂,从不同角度拍摄n张标定板图片,为了标定的准确性,一般会选择n>6。已知对每张图片有

(6)

变换矩阵由旋转矩阵和平移矩阵组成,我们以机械臂末端坐标系到机械臂基底坐标系变换矩阵为例进行说明,转换矩阵表示如式(7)所示。

(7)

(8)

在软件系统中使用OpenCV手眼标定calibrateHandeye()完成,属性中输入矩阵为

输出矩阵为

手眼标定方式为Tsai。输入矩阵中的

3 试验与结果分析

本文采用课题组开发的农业采摘机器人进行试验研究。试验于2022年4月在江苏省农博园草莓温室中进行。温室长50 m,宽30 m,温室中的甜宝草莓按照基质高架培育技术进行栽培,基质架之间的距离为1.5 m,高度为0.8 m,温室内共12排基质。

将机器人放置于温室中,放置好果蔬篮,让机器人开始采摘。客户上位机运行农业采摘机器人软件平台,该平台可以进行机器人的手眼标定、成熟果实的标识和成熟果实的相机世界坐标和机器人世界坐标的显示,并且可以实时显示机器人六个关节轴的位姿信息,如图8所示。

图8 草莓识别结果图

机器人在室内无光照环境下进行采摘,观察其采摘机器人整体试验数据如表5所示。从表5可以看出,将成功识别的成熟草莓数量除以该区域样本总数(成功识别的成熟草莓数量与未能成功识别的成熟草莓的数量之和)可以得到草莓的识别率为95%。采摘成功的果实数量除了成功识别的果实数量得到一次采摘成功率为88.5%,二次采摘的成功率为94.6%。

表5 机器人采摘效果数据Tab. 5 Robot picking effect data

导出软件平台记录的数据,随机整理出8个草莓的检测坐标以及抓取这些草莓时的机器人手爪坐标和误差参数如表6所示。

表6 草莓采摘数据Tab. 6 Strawberry picking data

综上所述,采摘机器人成熟草莓识别率大概在95%,未识别原因主要由于叶片遮挡或者草莓之间堆叠。系统可以对草莓进行三维定位,且检测到的草莓坐标与机器人手爪坐标的误差在4 mm以下,虽然误差较小,但草莓体积也较小,这就导致了一次采摘的成功率较低,需要进行二次采摘才能达到90%以上的采摘成功率。

4 结论

本文设计一款农业采摘机器人,可以在温室中自由行走并采摘成熟草莓,通过采摘试验得出结论如下。

1) 该机器人采用同时定位和地图构建SLAM技术实现机器人的自主路径规划。

2) 使用基于卷积神经网络R-FCN的目标检测算法可完成对成熟草莓的自动识别和坐标定位,成熟草莓识别率大概在95%。针对叶片遮挡或者草莓堆叠问题,考虑后期为机器人设计吹风装置,提高识别效率。

3) 因为草莓的体积较小,要求目标物体位置定位精度高,以及机器人的运动误差小。后期会从这两个方面进行改进。

猜你喜欢
标定草莓机械
使用朗仁H6 Pro标定北汽绅宝转向角传感器
调试机械臂
简单机械
草莓
基于匀速率26位置法的iIMU-FSAS光纤陀螺仪标定
按摩机械臂
基于Harris-张正友平面标定法的摄像机标定算法
水下相机标定算法研究