使用双目视觉的番茄采摘双臂协作机器人外文翻译资料
2022-08-23 15:14:54
英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料
Dual-arm cooperation and implementing for robotic harvesting tomato using binocular vision
使用双目视觉的番茄采摘双臂协作机器人
Xiao Ling. Yuanshen Zhao. Liang Gong. Chengliang Liu. Tao Wang.
摘要:双臂协作被认为是自动采摘机器人来提高效率的一种可用方法,同时,使用视觉信息来协调手臂的运动是采摘机器人在非结构化环境中工作的一项关键挑战。在本文中,我们为使用双目视觉传感器的番茄采摘机器人开发了一种双臂协作方法,首先,提出了一种结合AdaBoost分类器和颜色分析的番茄检测算法,并在采摘机器人中使用;然后,通过从立体摄像机中获取的点云数据,在仿真环境中实现快速的三维场景重建。番茄检测,目标定位,运动规划和双臂运动实时控制的集成,可以有效实现采摘机器人的双臂协作。为了验证所提出的方法,对温室盆栽番茄进行了田间试验,超过96%的目标西红柿以大约10fps的速度被正确地检测出来。对于采摘机器人的大范围直接定位,机器人末端端点的定位误差小于10mm,使用真空吸盘抓取和大范围切割方法,机器人采摘番茄的成功率达到了87.5%,同时,采摘时间周期(不包括巡航时间)小于30s。这些结果表明,双臂协作方法对于采摘机器人在非结构化环境中进行采摘作业是可行且实用的。
关键词:双目视觉、双臂协作、番茄检测、三维场景重建、采摘周期
1. 简介
为了克服农业中的劳动力短缺问题,机器人被视为能够承担手工和繁琐任务的替代方案。特别是,采摘工作不仅繁琐,而且对技能的要求也很高。这个问题在收割季节尤其严重。因此,与其他农业机器人(如移栽,耕种,喷雾和修剪机器人)相比,采摘机器人系统的研究已成为关注的焦点[1]。采摘机器人需要感知复杂的环境,并利用该信息和目标来执行收割动作[2]。根据Schertz和Brown提出的采摘机器人的概念[3],采摘机器人迎来了快速发展的时代[4-7]。尽管它们的未来具有广阔的前景,但目前采摘机器人的总体性能通常无法与人工操作比较[7,8]。
传统的采摘机器人效率低下是因为使用单个机械手。众所周知,单个机械手无法执行某些复杂的任务或在规定的时间内执行完简单的任务[9],因此,为了实现高效的机器人采摘,一种使用多臂机器人进行采摘的方法发展起来[10-12]。一些论文提出了多种机械手的协作方法[13-16]。但是,视觉信息对多臂机器人协作的影响并未引起关注。
现在视觉信息在采摘机器人中的应用主要集中于单个机械手的手眼协调,从水果运动检测到视觉伺服,单臂采摘机器人的手眼协调研究已受到相关文献关注[17-19]。然而,迄今为止,尚未有关于双臂采摘机器人的手眼协调分析的报道。
为提供一个针对双臂采摘机器人的手眼协作现实研究案例,本文进行了针对视觉信息和其他相关参数(末端执行器设计,双臂结构设计和作物环境)的双臂协作机器人实验分析。
在第2章中介绍了开发的双臂采摘机器人的系统结构,包括硬件结构和软件结构。然后,在第3章中介绍了针对双臂协作采摘机器人开发的算法。实验结果在第3.1节中介绍。最后,第4章给出全文总结。
2. 材料和方法
2.1 硬件系统
开发了一种用于在温室中采摘番茄的双臂机器人。机器人的硬件使用模块化设计方法,由移动平台,一个双臂机器人,末端执行器,立体摄像机和一台主机组成。如图1所示,该机器人部署在Venlo型温室中,移动平台可以在该温室中农作物行间的加热管上移动。移动平台首先根据一定的步长自动移动,如果摄像机视野内没有目标番茄出现,则移动平台将在主机的控制下移动到下一个工作位置。在机器人的顶部安装了分辨率为480(H)times;640(W),采样频率为10 fps的立体相机(Bumblebee2, Point Grey, Vancouver, Canada),用来获取合适的视野。使用一台工业个人计算机(Advantech, Suzhou, China, Intel(R) Core(TM) i5-3610ME CPU, 4.0GB RAM,系统为Ubuntu12.04)作为主机,专门用于实现机器人采摘的双臂协作控制。末端执行器设计为模块化的并且可更换,机器人的左臂和右臂分别安装了两种不同类型的末端执行器,即切割工具和真空吸盘,两种类型的末端执行器能够确保双臂机械手可以协同工作:用真空吸盘抓住目标水果,用切割工具将水果从植物上摘下来。
图1. 双臂采摘机器人整体示意图
双臂机器人系统的原理图如图2所示,它由两个镜像的3自由度笛卡尔型机械手组成,每个机械手的设计都类似于SCARA机械手,SCARA机械手具有一个移动关节和两个旋转关节。与其他具有更高自由度[20-22]或并行机械手方案的采摘机器人相比,采用类似SCARA机械手设计的目的是简化运动规划。机械手每个关节均由直流伺服电机控制,并由数字驱动器(G-Solo Whistle)驱动。控制单元和数字驱动器之间的通信采用EtherCAT总线,选择该总线是因为它具有较高的传输速度和可靠性。
图2. 双臂采摘机器人原理图
2.2 软件框架
所开发的采摘机器人的软件架构如图3所示,通过在独立的模块中设计功能实现,软件框架具有较好的灵活性和自适应性。为了实现双臂协同采摘操作,在软件中设计了三个必需的模块[25],水果检测,运动规划和运动控制被安排在感知,规划和执行三个模块中[26],所有的模块都在状态机中实现[27]。此外,基于ROS的软件框架是开放的,该框架允许添加其他功能,例如可视化。
图3. 基于ROS的番茄采摘机器人软件架构
2.3 双臂协作方法概述
在开源控制框架的基础上,开发了采摘机器人的双臂协作方法,如图4所示,控制框架共包括五个步骤:扫描、番茄检测、3D场景重建、右臂抓握和左臂分离。第一步,随着移动平台在加热管上的移动,立体摄像机扫描西红柿农作物行,RGB图像实时传输到主机;第二步,通过使用结合了AdaBoost分类器和颜色分析的算法从RGB图像中检测成熟的西红柿;第三步,使用从立体摄像机中获取的点云数据在ROS可视化环境中重建3D场景,根据2D图像像素坐标与3D点云坐标之间的关系,获得番茄对象的3D位置,再进行机器人逆运动学分析,获取双臂运动参数,其中包括每个机械手的目标关节角度;第四步是真空杯型末端执行器抓住目标水果;在最后一步中,左臂将水果从植物上分离出来,采摘的西红柿由右臂收集。
图4. 本文中算法的工作流程
2.4 西红柿检测
番茄检测是基于视觉控制的双臂协作机器人采摘的基础,可为机器人操作提供正确的对象。双臂协作控制框架中,番茄检测功能由双目视觉传感器Bumblebee2完成。Bumblebee2立体摄像机由两个CCD传感器(Sony ICX424 CCD,1/3,7.4 micro;m)构成,其左右镜头均可捕获RGB图像。为了提高番茄检测的速度,我们仅处理从右相机中捕获的图像。当机器人将彩色相机用作视觉感知设备时会遇到困难,因此,在开发的采摘机器人系统中采用结合AdaBoost分类器和颜色分析的具有鲁棒性的番茄检测算法,所提出的番茄识别算法的流程图如图5所示,可以将其描述为以下五个步骤:
1.在整幅图像上滑动一个子窗口;
2.在每个子窗口中提取类似Haar的特征;
3.使用AdaBoost分类器检测西红柿;
4.使用I分量图像上的平均像素值(APV)分类器进行颜色分析;
5.合并检测结果。
图5. 使用AdaBoost分类器和APV分类器进行番茄检测原理图
检测方法是为图像中的每个像素分配一个滑动子窗口(方形的补丁),然后确定子窗口内的像素是否被确定为成熟番茄。在这项工作中,根据预期的番茄直径大小,选择40times;40、80times;80和120times;120像素的子窗口来扫描整幅图像。根据选择子窗口的大小,在图像滑动扫描过程中将二十,四十和六十个像素设为对应的滑动增量。
AdaBoost分类器用于确定子窗口中是否包含番茄或背景[10-12],AdaBoost是一种根据弱分类器的线性组合构造强分类器的算法,弱分类器可被认为是对特殊的类似Haar特征的简单阈值运算[28],获得AdaBoost分类器的迭代训练过程称为弱学习,弱学习旨在选择出能够最好地区分正样本和负样本的弱分类器。
对于每个特征,弱学习过程中将确定最佳阈值,以使被错误分类的样本数最少,弱分类器由公式(1)描述:
(1)
其中是弱分类器,是第j个特征的绝对值,t是迭代次数的运行指数,是由公式(2)计算得出的阈值:
(2)
(3)
其中是第t次迭代过程的错误率,错误率是被错误分类的特征权重的总和,是错误分类的第j个特征的权重,是第j个类似Haar的特征的参考值,设置为1或-1,M是样本数,特征权重需要在每个迭代过程中进行更新,即:
(4)
其中是归一化因子,由公式(5)获得
(5)
在训练过程的早期阶段,选择类似Haar特征的错误率在0.1到0.4之间, 实际上,没有任何一个弱分类器可以执行低错误的分类任务,这些弱分类器乘以它们的权重,然后线性组合以构造一个强分类器,最终的强分类器由公式(6)描述。
(6)
其中,和分别表示强分类器和弱分类器函数,T是弱分类器或特征的数量,a是弱分类器的权重,并且在每轮迭代中进行更新,a的更新规则如下:
(7)
使用AdaBoost分类器可能会导致较高的假阴性率。为了解决这个问题,我们设计了一种新的分类器与AdaBoost分类器结合起来以减少假阴性率。这种新分类器通过颜色分析获得,称为平均像素值(APV)分类器。
为了获得APV分类器,将总共1500个样本(包括344个成熟番茄图像和1156个背景图像)转换到YIQ颜色空间。然后确定每个样本图像的I分量图像,为了找到成熟番茄和背景之间的差异,从公式(8)计算I分量图像的APV:
(8)
其中N是样本图像中像素的数量,是第i个像素之差的绝对值,v是每个分量的平均像素值。
I分量样本的平均像素值分布如图6所示。尽管番茄和背景样本的APV重叠,但仍可以观察到I分量图像中背景样本和番茄样本之间的大多数区别像素。图6显示,当将平均像素值的阈值设置为15时,大约95%的背景被去除,并且98%的成熟番茄图像被成功提取,因此,将平均像素阈值设置15来设计APV分类器。
图6. 使用I分量样本阈值的APV分类器
2.5 3D场景重建
采摘机器人检测到成熟的番茄后,需要测量目标番茄的位置。3D场景重建是帮助双臂采集机器人获得空间位置的一种快速方法,3D场景重构基于从立体相机获取的点云数据进行的点云重构,使用Bumblebee2摄像机采集点云的原理如图7所示,空间点在两个并行安装的CCD摄像头中成像,左图像和右图像中P点的图像坐标可以描述为和。
图7. 使用立体摄像机采集点云原理
由于两个CCD摄像机平行安装,因此等于,根据三角剖分原理,,和之间的关系可以用如下公式描述:
(9)
其中B是两个平行CCD镜头之间的基线距离,f是CCD镜头焦距。
通过变换,可以从中获得的3D坐标:
(10)
其中D是左图像和右图像之间的视差,可以计算为
(11)
点云数据是一组表示视差的点,通过将点云数据导入ROS中的三维可视化工具RViz,可以在仿真环境中重建真实的野外场景。为了将机器人的三维模型导入到仿真环境中,采用基于统一机器人描述格式(URDF)的机器人模型,对SolidWorks设计的3D模型可以使用sw2urdf插件进行转换得到该格式,然后可以在该仿真环境中建立目标西红柿的坐标,如图8所示。因此,双臂机器人可以获得目标西红柿在机器人坐标中的相对位置。
图8. 在仿真环境中重建3D场景以定位目标西红柿
可以预见,切割点的位置与番茄中心的位置不同。但是,它可以从目标番茄的三维位置及其半径进行推断。根据温室番茄生长统计,成熟番茄的半径从30mm到60mm不等,采用最大半径值来确定切割点的位置,以保证番茄全部切除。假设目标番茄的3D位置为,则切割点位置如下:
(12)
其中X、Y、Z、Xc、Yc和Zc以米为单位测量。
2.6 双臂机器人运动学
双臂采摘机器人有2个镜面3自由度的手臂,每个机械臂被设计成类似SCARA的机械手,具有一个移动关节和两个转动关节,图9显示了类SCARA机械手的两个转动关节。
图9. 双臂采摘机器人机械手运动学分析
类SCARA机械手的逆运动学用于计算关节角[theta;1theta;2],以定位末
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[237610],资料为PDF文档或Word文档,PDF文档可免费转换为Word