【有奖征文】智能农业茄子采摘机器人(YOLO,Nezha Developer Kit,OpenVINO)
智茄星——基于YOLO的智能茄子采摘机器人摘要本研究设计并实现了一种智能茄子采摘机器人,旨在提高茄子的采摘效率和质量。该系统以Nezha Developer Kit为核心控制板,通过OpenVINO加速YOLOv5目标检测模型,实现茄子的高效识别与定位。
智茄星——基于YOLO的智能 茄子采摘机器人
本研究设计并实现了一种智能茄子采摘机器人,旨在提高茄子的采摘效率和质量。该系统以Nezha Developer Kit为核心控制板,通过OpenVINO加速YOLOv5目标检测模型,实现茄子的高效识别与定位。系统包括机械臂和末端执行器的设计与运动学分析,夹剪一体化末端执行器的实现,确保茄子的精准采摘和低损伤。同时,设计了机器人控制系统的硬、软件架构,实现快速推理和实时控制。并验证了系统的识别准确率和采摘效率,证明了其在智能农业领域的潜在应用价值。
关键词:智能农业,茄子采摘机器人,YOLOv5,Nezha Developer Kit,OpenVINO,运动学分析,末端执行器
Zhiqie Xing
Intelligent Eggplant Picking Robot Based on YOLO
This study designs and implements an intelligent eggplant-picking robot aimed at improving the efficiency and quality of eggplant harvesting. The system uses the Nezha Developer Kit as the core control board and accelerates the YOLOv5 object detection model with OpenVINO to achieve efficient recognition and localization of eggplants. The system includes the design and kinematic analysis of the robotic arm and end-effector, and the implementation of a clamping and cutting integrated end-effector to ensure precise and low-damage eggplant picking. Additionally, the hardware and software architecture of the robot control system is designed to enable fast inference and real-time control. The system's recognition accuracy and picking efficiency were validated, demonstrating its potential application value in smart agriculture.
Key words: Smart Agriculture, Eggplant-Picking Robot, YOLOv5, Nezha Developer Kit, OpenVINO, Kinematic Analysis, End-Effector
1.1 研究背景与意义
自十八大以来,我国积极推进“十四五”农业农村现代化规划,国家和企业对农业科技投入大幅增加,农业科技体制也经历重大变革。随着人工智能技术的飞速发展,AI在农业中的应用越来越广泛,成为推动农业现代化的重要力量。果蔬采摘在农业生产链中时间成本高,且随着我国人口老龄化,农业人力成本增加。茄子的总消费量逐年增加,从2010年的约2676.6万吨增长至2021年的约3745.9万吨,但目前仍主要依靠手工采摘,导致劳动力成本和采摘效率问题突出。因此,开发智能机械臂茄子采摘系统有助于提高采摘效率和质量,减轻农民劳动压力,推动茄子产业的可持续发展,并通过提高产量和质量增加农民收入,促进农村经济发展。
在茄子的生产作业中,收获采摘是最费力、耗时的环节,约占整个作业量的50-70%。为了保证产品质量,必须适时采摘,这也是最辛苦的工作。因此,研究开发智能茄子采摘机器人有助于提高采摘效率和质量,减轻农民劳动压力,体现“随处AI”的优势,推动茄子产业的可持续发展,并通过提高产量和质量增加农民收入,促进农村经济发展。因此,这项研究对于保障我国粮食安全、推动农业现代化和增强农民收入具有重要意义。
1.2 国内外研究现状
1.2.1 采摘机器人研究现状
日本在四自由度采摘机器人方面有丰富经验。大阪府立大学的Tanigaki等人研制了用于樱桃采摘的四自由度铰接式机械臂,采用交流伺服马达和螺杆机构,如图1-1所示。韩国国家农业科学院的Han等人研制了用于收获草莓的四自由度机械臂,在笛卡尔式连杆机构上增加了一个转动轴,旨在提高农业生产效率和质量
图1-1 日本樱桃采摘机械臂
中国的多所高校和研究机构,如中国科学技术大学、中国农业大学、浙江大学等,也在开展四自由度采摘机器人的研究。沈阳农业大学的于丰华等人研发了用于采摘番茄的六自由度机器人,如图1-2所示,适用于日光温室下的采摘作业,利用视觉识别和STM32控制器对机械臂进行控制。
1.2.2 机器人末端执行器研究现状
为了实现采摘机器人末端执行器采摘果实的目标,必须完成两个关键动作:获取和分离。首先,通过抓取、吸入、勾取等方式获取果实,然后通过扭断、剪切等方法将果实与果梗分离。
根据获取果实的方式,可以分为两大流派:非夹持类和夹持类。
(1)非夹持类
①直接切断式:如图1-3所示,该方式直接剪断果梗,使果实落地或落入事先放置的果箱。适用于植株冠层内枝叶稀疏、果实抗冲击能力强的情况。日本开发的甜椒采摘机器人末端执行器、番茄采摘末端执行器和美国柑橘采摘末端执行器均为直接切断式。
图1-3 直接剪切式示意图 图1-4 吸入式剪切式示意图
②吸入切断式:如图1-4所示,末端执行器通过真空吸盘吸持果实,然后切断果梗。适用于果实个体尺寸较大、果梗较硬的情况,但对果实尺寸差异的适应能力较差,动作速度较慢。日本Kondo开发的草莓采摘机器人末端执行器采用了吸入剪断式,但容易吸入未成熟果实。
(2)夹持类
①手指数目:末端执行器的手指数目通常有2指、3指和多指等不同型式。手指数目越少,夹持稳定性越差,但机构和控制复杂性降低。
②夹持位置:大多数末端执行器直接抓住果实进行采摘,但也有些采用抓住果梗的方式。直接抓住果实较可靠,但容易造成果实损伤。
③手指型式:多数末端执行器采用刚性手指结构,有些在手指内侧贴加橡胶层以减小夹持对果实的破坏。少数采用柔性手指结构,能适应果实大小差异,但存在机构复杂和欠驱动的问题。
1.3 采摘机器人存在的问题
尽管国内外学者在蔬果采摘机器人领域做了大量工作,并在实验室或温室中取得了一些初步应用,但大多数采摘机器人尚未商品化,距离实际应用还有较长的路。目前果蔬采摘机器人研究主要存在以下问题:
(1)采摘速度较慢。主要原因是视觉系统的果实识别与定位图像处理时间较长,以及机械臂与末端执行器的结构、工作流程、驱动方式和控制系统存在局限。
(2)对作业对象有损伤。果实表皮与果肉组织柔软,易受损伤。采摘过程中,机械臂与末端执行器可能造成碰伤、抓伤或果实脱落。减少损伤需要机械臂与末端执行器具备灵巧的结构和适合的材质,并确保采摘过程具有良好的柔顺性。
(3)采摘准确率有待提高。导致采摘失败的情况主要有:果实识别、定位不精确,末端执行器不能成功获取果实或获取后果实掉落,采摘空间狭小或果实被枝叶部分遮挡。这要求机械臂与末端执行器必须具有灵巧性。。
1.4 研究内容
针对以上蔬果识别定位及采摘方式存在的问题,依据现有研究中对于用于茄子采摘的识别定位的研究较少的情况。本项目以大棚内人工种植的茄子为研究对象,研究茄子采摘机器人机械臂及末端执行机构的方案,并提出一种基于YOLOv5结合OpenVINO加速推理的茄子识别定位方法。
具体的研究内容主要分为:
(1)机械臂结构与设计
结合已有果树采摘机械臂,并自主完成茄子采摘机器人机械臂的结构设计与运动学分析,包括机械臂的多自由度关节结构设计和运动学模型的建立。通过逆运动学的代数法计算机械臂的角度,提升机械臂的运动控制精度和效率。
(2)末端执行器设计
研究了茄子采摘机器人末端执行器的结构及工作方式,探讨直接分离式和柔性采摘两种末端执行器的优缺点。结合茄子的物理特性和采摘需求,设计了一种夹剪一体化的末端执行器,以实现高效、精准和低损伤的茄子采摘。
(3)茄子识别定位与采摘点预测
采用YOLOv5深度学习模型并通过OpenVINO框架进行加速推理,实现茄子的高效识别与精准定位,提高识别率和处理速度。进一步研究了茄子果实-茎分割点的确定和采摘点的预测,确保茄子的精准采摘。
(4)控制系统硬件设计
设计机器人控制系统的硬件结构,结合Nezha Developer Kit嵌入式平台和STM32微控制器,实现上位机和下位机的高效协同工作。配置步进电机、图像传感器等关键硬件组件,确保系统的稳定性和可靠性。
(5)控制系统软件设计
开发控制系统的软件,包括系统软件的设计和OpenVINO开发环境下的加速实现。设计服务器与设备端和APP端的通信功能,确保数据的实时传输和系统的远程监控。
第二章 茄子采摘机器人末端执行器设计
2.1 末端执行器结构及工作方式
果蔬采摘机器人末端执行器是安装在采摘机械臂前端直接作用于采摘对象的部分,是采摘机器人核心部件之一。末端执行器的功能要求包括:准确采摘、对采摘对象的损伤尽可能少、采摘速度快、复杂环境适应能力强、通用性好。
2.2 末端执行器设计要求
设计末端执行器必须首先研究采摘对象的物理特性,包括果实的几何形状、重量等形态结构特性和果实压缩、表面摩擦等力学特性。
2.2.1 采摘对象物理特性
团队将圆茄类、长茄类和卵(矮)茄类形态的茄子作为实验对象,从市场采购每种水果30个大小形状不同的样品进行测量,横径和纵径测量示意图如图2-1所示。
图2-1 果实形状测量示意图
测量结果如表2-1所示。
表2-1 采摘对象几何形状测量结果
种类 |
横径D(mm) |
果形指数(H/D) |
质量M(g) | ||||
最大值 |
平均值 |
最小值 |
最大值 |
平均值 |
最大值 |
平均值 | |
圆茄类 |
96 |
75.6 |
0.74 |
0.98 |
0.82 |
302 |
235 |
长茄类 |
78 |
65.2 |
1.21 |
1.56 |
1.36 |
397 |
301 |
卵茄类 |
84 |
67.4 |
0.58 |
0.82 |
0.73 |
279 |
214 |
调研和统计分析表明,三种茄子果实个体差异较大,但80%以上的果实处于平均值附近。若手指夹持力过小,果实易滑落;若夹持力过大,果实易受损。摩擦系数是影响夹持力的关键因素。在采摘手指表面添加橡胶材料以增大摩擦系数,并进行了二指平行夹持三种茄子试验,测得摩擦系数和夹持力如表2-2所示。
表2-2 最小夹持力测定结果
茄子种类 |
摩擦系数(μ) |
最小夹持力(N) |
圆茄类 |
0.71 |
4.6 |
长茄类 |
0.68 |
5.9 |
卵茄类 |
0.63 |
4.1 |
对于采摘手指与目标果实处于静态时,只要采摘手指夹持力大于最小夹持力时,果实就不会滑落。
2.2.2 末端执行器设计要求
结合上述实验结果和分析,以及避免采摘过程中引发枝叶晃动或振荡,末端执行器最好采用刀片切割方式实现果实与植株分离。茄子采摘机器人末端执行器的设计要求如下:
(1)所设计的末端执行器需能适应不同形态和大小的茄子,尤其是圆茄、长茄和卵茄三种形态;
(2)夹持装置要灵活,可调节夹持范围以适应不同直径和形态的茄子;
(3)末端执行器需要柔性材料,如橡胶,来增加手指与茄子表面的摩擦系数,保证最小夹持力即可防止果实滑落,同时避免对果实的机械损伤;
(4)茄子果实与果柄分离采用刀片切割式;
目前,蔬果采摘机器人末端执行器尚难做到像人手一样灵活和多功能化,针对茄子果实,团队设计了一个集成剪切和夹持功能的末端执行器,以实现高效且温和的采摘过程。
2.3 末端执行器设计
2.3.1 末端执行器结构
设计的末端执行器结构如下所示,其主要由夹持装置、剪切装置、刀片、8mm摄像头、激光测距末端、连接件和固定件组成。如图2-3所示。
1.夹持装置 2.剪切装置 3.刀片 4.8mm摄像头 5.激光测距模块 6.连接件和固定件
图2-3 末端执行器整体结构
夹持装置是与茄子直接接触的部件,使用TPU(聚氨酯弹性橡胶)制造,不仅能在受力时形变以适应茄子的形状,还能够有效地包裹并保护茄子。夹爪的传动机构采用一对相互啮合的不完全齿轮和摇杆机构,如图2-4所示。
图2-4 双曲柄双摇杆结构
摇杆与柔性夹爪通过螺丝固定,并通过舵机控制夹爪的张开和夹紧动作。舵机所能提供最大扭矩30KG·mm,则所能提供最大加紧力为:
其中,τmax为舵机的最大扭矩,r为夹爪与茄子接触点到旋转轴的距离。
剪切装置用于将茄子从植株上剪切下来。剪切装置与夹持装置配合工作,确保在夹持茄子的同时,能够顺利剪切茄子,不造成损伤。8mm摄像头用于实时监控和识别茄子的位置和状态,提供视觉反馈给控制系统。
激光测距模块用于测量茄子与末端执行器之间的距离,帮助调整末端执行器的位置,确保在适当的距离内进行夹持和剪切操作。连接件和固定件用于将各个组件连接和固定在一起,确保结构的稳固性和可靠性。
2.3.2 末端执行器工作流程
设计的末端执行器采摘流程如图2-5(a)所示。首先识别视野范围内的茄子果实和果柄区域。然后定位茄子的空间位置,控制机械臂使末端执行器夹持茄子重心的横断面,并将果柄置于剪切装置的剪切区域。控制机械臂将茄子向外移动,使果柄远离茄子的主茎,确保剪切区域只存在果柄,如图2-5(b)所示,最后控制剪切装置剪断果柄。
(a)采摘流程
(b) 机械臂移动茄子前后的状态
图2-5 末端执行器采摘方案
2.4 本章小结
本章详细介绍了茄子采摘机器人末端执行器的设计,包括其结构、工作方式及设计要求。末端执行器需实现准确、高效、低损伤、快速和复杂环境适应的功能。设计的末端执行器包括夹持装置、剪切装置、刀片、摄像头和激光测距模块,通过夹持和剪切相结合,实现高效、无损的茄子采摘。
第三章 采摘机械臂设计与运动学分析
3.1 机械臂设计要求与结构
采摘机械臂是采摘机器人重要的执行部件,由连杆及连接关节构成,其前端安装末端执行器。采摘机械臂的主要功能是协助末端执行器完成采摘作业。采摘时,机械臂将末端执行器送至目标茄子位置,完成采摘动作后返回。
3.1.1 机械臂设计要求
机械臂的设计需要遵循工业机械臂设计原则,并考虑作业对象的特点,包括栽培模式、植株形状与尺寸、茄子生长特点、茄子形状、尺寸及重量等。设计要求包括:
(1)最优的采摘作业空间;
(2)良好的避障能力和适当的自由度;
(3)输出力和末端承重力满足要求;
(4)较高的定位精度。
此外,采摘机械臂的设计还要考虑能避开工作空间的奇异位形,具有良好的可操作性。机械臂的结构要保证作业对象处于工作空间内,同时还要能通过调整机械臂的位置。
3.1.2 机械臂结构
机械臂的结构形式、连杆尺寸和自由度数量决定了末端执行器的作业空间、运动精度、避障及负荷能力,并影响控制与驱动系统的复杂程度。目前,采摘机器人机械臂的结构形式主要有直角坐标型、圆柱坐标型、极坐标型和关节型。
(1)结构形式的选择
茄子通常采用大棚种植,每行茄子植株之间有固定的通行距离,转弯操作有一定的空间。成熟的茄子自然下垂,茄子与茄子植株之间有一定的空隙。因此,本项目计划采用关节型机械臂。其避障能力和灵活性较强,能拟合空间任意运动曲线,工作空间如图3-1所示。
图3-1多关节坐标型机器人的工作空间
(2)自由度的确定
在茄子采摘机械臂设计中,通过设计具有基座旋转、臂部旋转、肘部旋转和末端执行器夹持动作的四自由度机械臂,可以灵活地调整末端执行器的位置和方向,以适应茄子生长的多样性和分布。腰关节提供水平旋转能力,肩关节和肘关节确保覆盖较大工作范围,肘关节的旋转自由度使末端执行器更容易操作,减少茄子串损伤,如图3-2所示。
1.固定平台2.水平云台3 .腰关节 4.肩关节 5.机械臂 6.肘关节 7.末端执行器
图3-2 四自由度的关节型机械臂设计
(3)机械臂结构设计
结合上述分析,机械臂结构设计如图3-3所示。机械臂集成了摄像头和激光测距模块。在机器人运动过程中,当视觉系统识别到茄子后,机器人停止运动,并通过逆运动学算法控制机械臂,使茄子的中心保持在摄像头图像的中心。然后,通过TOF激光测距测量茄子与末端执行器之间的水平距离,最后控制机械臂水平移动到茄子正前方,完成采摘动作。
图3-3 机械臂结构设计
设计机械臂时,必须确保其长度足够长以覆盖采摘范围,但同时要注意长度增加会导致力矩增加,容易发生倾倒的危险。为此,每个关节都配备了电机,并在负载较大的关节使用输出扭矩更大的舵机,以增加整机的稳定性和可控性,确保机械臂能顺利完成抓取任务。机械臂尺寸结构设计图如下图3-4所示。
图3-3 机械臂尺寸结构设计图
3.2 机械臂运动学分析
机械臂路径规划和智能控制的建模与分析是机器人研究的核心。机械臂的运动学模型包括正解和逆解。正解通过计算关节的位置和角度确定末端的位置和姿态;逆解则根据末端的位置和姿态反推关节的位置和角度。本小节对自主研发的机械臂结构建立了D-H坐标系,进行了正逆运动学求解,为后续仿真提供理论基础。
3.2.1 机械臂坐标系建立
团队设计的机械臂为四自由度机械手系统,机械臂各轴参数如表3-1所示。
表3-1 机械臂参数表
关节 |
工作范围 |
最大运行速度 |
1 |
270° |
90/s |
2 |
180° |
90/s |
3 |
270° |
90/s |
4 |
270° |
90/s |
为了分析四轴机械臂,定义了以下参数:
(1)ai指的是轴Zi−1与轴Zi之间的距离,就是连杆的长度。这个值是一个非负值。
(2)di表示轴 Xi+1与轴 Zi的交点在Zi轴方向上的坐标值,它的数值可以是正数也
(3)可以是负数。它的绝对值由轴与轴之间的距离所确定,称为连杆偏距。
(4)ai表示轴Zi−1和轴Zi之间的夹角,它的正向由Xi +1轴确定,称为连杆转角。
(5)θi表示轴 Xi和轴 Xi +1之间的夹角,它的正向由Zi轴确定,称为关节角。
为了保持仿真系统中各组件间的运动关系与Solidworks中的装配体一致,使用D-H参数描述机械臂中连杆与关节之间的关系,并绘制出机械臂的模型,如图3-4所示。
图3-4 机械臂连杆坐标系示意图
3.2.2 运动学方程
机械臂运动学分析是对机械臂末端执行器位置、速度和加速度等运动信息进行数学建模和分析的过程,是机械臂控制的重要基础。机械臂由连杆和关节组成,形成一个空间开式的运动链。采用 D-H 参数建立机械臂的坐标系,表征机械臂组成零部件的特性和它们之间的关系。详细内容见表3-2。
表3-2 D-H参数表
i |
αi-1 |
ai-1 |
di |
θi |
1 |
0 |
0 |
-79.05 |
0 |
2 |
-90° |
0 |
0 |
-90° |
3 |
0 |
110 |
0 |
135° |
4 |
0 |
103.5 |
0 |
-45° |
5 |
90° |
163.08 |
-9.1 |
0 |
机械手的运动通过控制电机让各关节运动达到所需的位置和姿态来实现,这是机械臂的正向运动学过程。逆向运动学过程则是将笛卡尔坐标系下的位置和姿态转换为关节坐标系下的角度值。
对于一个机械臂来说,其正向运动学解的过程可以用表示为:
T=T1*T2*T3*T4(3.1)
连杆1、2、3、4的变换矩阵分别表示为T1、T2、T3、T4。
T1=cosθ1-sinθ1 0a1sinθ1cosθ10 00000 10d11(3.2)
T2=cosθ2-sinθ2 0a200 1d2-sinθ20-cosθ200001(3.3)
T3=cosθ3-sinθ3 0a3sinθ3cosθ3000000 1 0d31(3.4)
T4=cosθ4-sinθ4 0a4sinθ4cosθ4000000 10d41(3.5)
利用代数法对机械臂求反解,给定末端位置:
T=nxoxaxpxnyoyaypynz0oz0az0pz1(3.6)
上面的矩阵描述了机械臂末端执行器的姿态和位置信息。
其中n=(nx,ny,nz)T,o=(ox,oy,oz)T和a=(ax,ay,az)T是机械臂末端执行器坐标系的单位向量,表示了机械臂末端的姿态;p=(px,py,pz)T表示了机械臂末端执行器坐标系的原点相对于基坐标系的原点的位置向量。
结合公式(3.3)和(3.8)得
xyz1= 0P4ORG=T1T2T3 3P4ORG(3.7)
设f为θ3的函数,则
xyz1=T1T2f1θ3f2θ3f3θ31(3.8)
设g为θ2、θ3的函数,则
xyz1=T1g1θ2,θ3g2θ2,θ3g3θ2,θ31=c1g1-s1g2s1g1-c1g2g31(3.9)
整合可得:
θ3=-arccosx2+y2+z2-22812.2522770(3.10)
θ2=2arctanf1+f12+f22-z2f2-z(3.11)
θ1=arctanyx(3.12)
求θ4,将θ1、θ2、θ3带入到(3.3)中可得
T4=T1T2T3-*T(3.13)
选取T4的(1,1)项
θ4=-arccosT41,1(3.14)
根据上述内容得知,只需得到末端执行装置的位姿信息便能计算出机械臂各轴的角度。为确定计算结果的准确性,可以先给定各个关节的转角,然后在Matlab中代入正运动学方程中求出末端位姿矩阵。最后再将得到的位姿矩阵数据代入逆运动学方程中求得关节转角,并将其与给定的初始值作比较,选择合适的解。通过计算得知,初始值和反推解的数据对比显示误差很小,如表3-3所示,说明本机械臂的正反解推导公式是正确的。
表3-3 验证结果
|
θ1 |
θ2 |
θ3 |
θ4 |
初始解1 |
0 |
0 |
0 |
0 |
反解1 |
0.0000 |
0.0006 |
-0。0041 |
-0.0035 |
初始解2 |
0 |
π/(0.01828) |
π/(0.3992) |
π/(0.4175) |
反解2 |
0.0000 |
3.2905 |
71.8639 |
75.1544 |
初始解3 |
π/(0.115) |
π/(0.05916) |
π/(0.25883) |
π/(0.19967) |
反解3 |
20.0757 |
10.6569 |
46.5999 |
35.9430 |
3.3 机械臂运动学仿真
Matlab Robotics Toolbox提供了机器人研究所涉及的运动学、动力学和轨迹规划等重要的函数,该工具箱可以对机器人进行图形仿真,能再现系统的运动规律或过程,根据表3-4中的D-H参数构建机械臂运动学模型并进行运动学仿真。
3.3.1 运动学仿真
通过两组仿真实验验证公式的正确性,设机械手机械臂末端初始坐标为A(265,-155,720),末端采摘点坐标为B(785,145,420)。设机械手机械臂末端初始坐标为C(-80,-660,1220),末端采摘点坐标为D(420,-1400,1000)。
表3-4 械臂关节位移量
测试编号 |
起始坐标 |
采摘点坐标 |
1 |
A(265,-155,720) |
B(785,145,420) |
2 |
C(-80,-660,1220) |
D(420,-1400,1000) |
根据运动学方程求得机械臂各关节位移量如表3-4所示。仿真得到理论关节运动位移量测试图如图3-5所示,对比表3-4与仿真位移曲线可知,仿真得到机械臂各关节位移量与表3-4基本一致,验证了所建立的运动学方程正确性。
(a)横向测试A到B点采摘 (b) 纵向测试C到D点采摘
图3-5 Matlab运动学仿真测试图
3.4 本章小结
本章详细介绍了采摘机械臂的设计与运动学分析。明确了机械臂的设计要求和结构,接着分析了机械臂的结构形式和自由度,确定了四自由度机械臂的设计方案;建立了机械臂的D-H坐标系,进行了正逆运动学求解,并通过Matlab进行了运动学仿真。仿真结果验证了运动学模型的正确性,为后续的机械臂控制和优化提供了理论基础和数据支持。
第四章 茄子识别定位与采摘点预测
茄子采摘机器人成功采摘的首要条件是精准识别茄子果实和主梗采摘点的三维位置信息,并根据这些信息规划行驶路径和末端执行器的采摘路径,控制末端执行器完成采摘。识别茄子主梗采摘点的方法有两种:基于传统图像处理的方法和结合深度学习的方法。前者鲁棒性差,难以处理复杂背景;后者精度高、速度快、鲁棒性强,能在复杂背景中准确检测采摘点。
4.1 基于YOLOv5茄子检测识别算法
YOLOv5作为一种先进的目标检测算法,具有实时性强、检测精度高等优点,非常适合应用于茄子采摘机器人中。因此,选择了YOLOv5作为茄子检测识别的算法模型。
4.1.1 目标检测数据集的制备
为了训练YOLOv5模型,团队前往当地大棚基地拍摄了3000张茄子图像作为目标检测数据数据集,图4-1展示了拍摄的茄子图像样本,这些图像中包含了不同光照强度、不同被遮挡程度、不同分辨率的单簇和多簇茄子图像,茄子图像的多样性可以提高目标检测模型的鲁棒性。
图4-1目标检测数据集茄子图像样本
由于数据集较小,因此将数据集中的训练集和测试集按照7:3的比例进行划分。即在这 3000张茄子图像中,有2100张图像作为训练集,其中包括374张单簇茄子图像和1726张多簇茄子图像;900张图像作为测试集,其中包括144张单簇茄子图像和756张多簇茄子图像,数量分布表如表4-1所示。利用LabelImg标定软件对训练集的茄子果实进行了标定,并生成了相应的Pascal VOC数据格式的标签文件,每个标签文件都包含了对应图像的名称和尺寸大小,以及茄子果实及其主梗的左上角和右下角的像素坐标。
表4-1 目标检测数据集
茄子图像 |
训练集图像数量 |
测试集图像数量 |
总计 |
单簇茄子图像 |
374 |
144 |
518 |
多簇茄子图像 |
1726 |
756 |
2482 |
4.1.2 模型训练
(1)训练环境
YOLOv5的训练环境为一台Intel(R) Core(TM) i7-10700 16核CPU处理器的台式电脑,GPU 为 NVIDIA GeForce RTX 2080,操作系统为 64 位 Win10 操作系统,编译软件为 2021.1.1版本的PyCharm,Python版本为 3.8.12,CUDA版本为 11.3.1,CUDNN 版本为 7.4.5。
(2)训练过程
YOLOv5模型训练周期epochs为 200,batch-size为3,线程workers为8,初始学习率为0.01,学习步长为0.1,权重衰减系数为0.0005,动量设置为0.8。为了提高模型的训练速度,选用了YOLOv5x.pt作为预训练权重。YOLOv5目标检测模型的训练过程主要可以分为以下步骤:(1)使用CSPDarknet53骨干特征提取网络来提取茄子图像的特征图;(2)特征图的每个网格预测3个bounding boxes,每个bounding box包含了中心点坐标、高和宽的尺寸,以及置信度等信息,ground-truth内的物体由中心点所在的网格来检测;(3)通过逻辑回归选择与ground-truth交并比(IOU)大于 0.5 并且置信度最大的 bounding box 作为检测框,然后定位出检测框的位置信息;(4)通过计算检测框与ground-truth的损失值来反向更新网络。
YOLOv5的训练过程如图4-2所示。
图4-2 YOLOv5模型训练流程图
茄子果实的检测效果如图4-3所示。
(a)无遮挡 (b)高斯噪声干扰
(c)部分遮挡 (d)椒盐噪声干扰,部分遮挡
图4-3 茄子果实检测效果图
茄子果实与茄柄识别结果如图4-4所示。
图4-3 茄子果实与茄柄识别结果图
4.2 茄子采摘点的确定
由茄子果梗上的分割点的确定原理可知,分割点始终在茄子果梗区域内,具有坐标信息及深度信息。分割点的确定是在列矩阵 C 中完成,茄子果梗的采摘点的确定在与分割点同一列的数据中,即采摘点与分割点在同一竖直直线上。因此不同于传统的采摘点的定位方法,在确定茄子果梗与果实分割点的同时,便可以得到采摘点的位置。并且,根据从深度相机中获得的数据特征,可以直接获得采摘点的三维坐标。
图4-4 采摘点的识别定位
如图4-4所示,对茄子果梗上的采摘点的定位原则是:在深度图像中,每个像素点中都寄存着深度数据,因此根据确定的在果梗区域内的分割点为基准,选择其上方距离其 n 个像素点的点作为采摘点。
4.3 本章小结
本章介绍了茄子采摘机器人识别定位与采摘点预测的关键技术,首先详细描述了基于YOLOv5的茄子检测识别算法,包括目标检测数据集的制备和模型训练过程。接着,阐述了茄子果柄-茎分割点的确定方法,通过分析茄子的空间几何特征和深度信息,确定了茄子果柄-茎的分割点,并进一步选择其上方一定距离的点作为采摘点。最后,通过深度相机获取的三维坐标信息,规划了采摘机器人的行驶路径和末端执行器的采摘路径,为茄子采摘机器人的精准采摘提供了技术支持。
5.1 控制系统总体结构方案
茄子采摘机器人的硬件组成是实现高效自动化采摘的关键。系统主要由行走机构、机械臂、末端执行器、视觉摄像头模块、传感器模块及核心控制单元组成。如图5-1所示。
图5-1 硬件组成
行走机构采用轮式设计,通过红外循迹模块精确控制移动路径,避免对作物的损害。机械臂采用多关节设计,配备高精度电机和传感器,确保精确定位并采摘茄子。末端执行器结合剪切和夹持功能,快速且不损伤果实。视觉摄像头实时分析图像,传感器模块包括空气质量、温湿度和光照传感器,评估环境条件并调整采摘策略。主控系统使用Nezha Developer Kit,整合各模块数据,处理计算任务,并连接服务器实时上报数据。机器人的整体结构图如图5-2所示。
图5-2 机器人整体结构图
5.2 控制系统硬件组成
5.2.1 机器人主控系统
Nezha Developer Kit作为嵌入式控制核心,运行YOLOv5视觉模型,处理视频流,通过串口向STM32下位机发送指令,控制机械臂采摘,并连接服务器传输数据。详细配置见表5-1。
表5-1 Nezha Developer Kit详细硬件配置表
名称 |
参数 |
处理器 |
Intel® N97 处理器 |
图形 |
Intel® UHD Graphics |
内存 |
8GB 双通道 LPDDR5 |
存储 |
64GB eMMC |
USB接口 |
3*USB3.2+2*USB2.0 |
功耗 |
AT (默认) /ATX |
电源 |
12V DC-in, 5A |
5.2.2 机器人下位机选型
在机器人下位机选型中,团队采用了STM32F103VET6,其是一个32位高密性能微控制器单元,有着三个12位模数转换器和4个通用16位计时器,外加两个PWM计时器,两个I2C、三个SPI和两个I2S、一个SDIO、五个USART、一个USB和一个CAN,主频72MHz,两个APB总线,及100个GPIO引脚,具有512kB闪存。
STM32作为下位机负责控制机器人的底盘电机运动、机械臂关节的舵机转动以及接收处理红外循迹模块和激光测距传感器的数据。
5.2.3 机器人移动底盘模块
移动底盘设计需要考虑到机器人稳定性、机动性、以及压力承载能力等因素。驱动系统设计为四轮驱动,选用4个MG370减速电机作为移动底盘的传动装置,带有霍尔编码器,扭矩能到达1.5kg·cm,减速比1:34,驱动装置使用四路驱动模块板,带稳压模块,支持同时驱控四路带编码器的有刷直流电机,支持5~15V电源输入。
在农业机械的设计中有两种比较成熟的行走方式,一种是履带式行走方式,另一种是基于车载的轮式行走方式。由于我们面对的场景为大棚茄子,塑料大棚茄子主要采用小高畦、小高垄、瓦垄畦的种植方式,以及拥有大棚中土地平坦的优点。考虑以上因素团队选择车载的轮式行走方式作为机器人的行走机构。
5.2.4 机器人机械臂驱动方式
数字舵机是由直流电机、减速齿轮组、传感器和控制电路组成的自动控制系统,可以通过控制芯片发送PWM信号,指定输出舵机轴旋转角度。通过采用不同的减速齿轮组可以改变舵机的输出扭矩,可以有效地负载机械臂的主要关节。所以本团队决定采用TIANKONGRC公司生产的50H(20ms周期的方波)控制的270°和180°数字舵机。TD-7120MG舵机实物如图5-4所示。
图5-2 TD-7120MG舵机实物图
5.2.5 机器人视觉系统主要部件及选型
RGB-D 相机可以很容易地给团队提供彩色图像和准确的深度信息,这为许多应用场景带来了便利。然而,工业摄像头的缺点也是显而易见的,包括价格较高、对硬件性能要求高、对环境要求严格以及配置和调试复杂。因此团队采用较便宜且大小只有8mm的工业相机,如图5-4所示。
图5-3 IMX258摄像头
该相机为搭载1/3.06-Inch CMOS IMX258 Sensor 传感器的USB免驱相机,且能实现自动对焦,能满足机器人正常工作需求,具体参数参见表5-2。
表5-2 IMX258相机相关参数
参数名称 |
参数值 |
图像分辨率 |
3840H×2104V , 4K |
视场FOV |
75 Degree |
对焦方式 |
AF/FF/MF |
输出及供电 |
High Speed USB 2.0 |
工作电压 |
USB DC +5V Supply |
5.3 机器人测距模块选取及传感器配置
5.3.1 机器人测距模块选型
机器人选用的激光测距模块为TOF200F测距传感器,如图5-4所示。
图5-4 TOF200F测距传感器
该模块基于ST的VL53L0X设计,通过串口与STM32通信,安装在机械臂末端,用于测量机械臂与茄子之间的距离,确保准确采摘。若茄子不在剪切范围内,机械臂将继续平移至合适位置。
5.3.2 红外循迹模块
机器人选用四路微型高精度红外探头,如图5-5所示,能在1-10mm范围内实现精准灰度感应,确保机器人能全面采摘大棚各区域的茄子。
图5-5 四路红外循迹模块
红外循迹模块与机器人底盘运动为闭环系统,通过红外传感器感知地面反射信号,发送电信号给STM32进行判断,调整电机转速修正机器人偏角。
5.3.3 用于检测机器人工作环境的传感器选型
本作品采用DHT11温湿度传感器、BH1750光照传感器和MG812 CO2传感器,确保茄子生长环境的可靠数据支持。如下图5-6所示,左为DHT11温湿度传感器,中间为BH1750光照传感器,右为MG812传感器。
图5-6 机器人工作环境的传感器选型
5.4 电源管理
考虑到机器人的工作环境为大棚采摘,并要求拥有长时间工作能力。团队采用12V、3000mAh的18650动力锂电池,锂离子电池的能量密度很高,它的容量是同重量的镍氢电池的1.5~2倍,采用了DC-DC直流降压模块,将12V电池输出的电压降到5V,分别给STM32控制板、数字舵机、传感器模块等系统供电,采用TB6612FNG电机驱动模块间接地给直流减速电机提供12V电源。具体系统供电电路如图5-7所示。
图5-7 机器人系统供电电路
5.5 本章小结
本章介绍了茄子采摘机器人控制系统的硬件设计,包括行走机构、机械臂、末端执行器、视觉摄像头模块、传感器模块及核心控制单元。详细描述了主控系统、下位机选型、移动底盘模块、机械臂驱动方式、视觉系统、测距模块及传感器配置。通过上述硬件设计和配置,茄子采摘机器人具备了在大棚环境中高效、稳定运行的能力。
第六章 采摘机器人控制系统软件设计
6.1 系统软件架构设计
6.1.1 软件系统概述
在软件架构中,团队构建了一个多层次的软件系统,旨在支持机器人的高效运行和实时数据处理。整个软件系统可以分为四个主要组件:控制系统软件、视觉处理软件、服务器端软件和手机APP。软件架构可分为三层,如图6-1所示。
图6-1 软件架构图
6.1.2 系统功能分析
软件系统的主要功能包括自动化采摘茄子、远程监控、实时获取大棚环境信息、一码溯源等功能。
(1)自动化采摘茄子。基于YOLOv5目标检测算法和机械臂控制系统,实时识别茄子的位置和成熟度,精确控制机械臂进行采摘操作,提高采摘效率和准确性。
(2)远程监控。通过手机APP,用户可以实时查看机器人工作状态、获取各部件的运行数据,并远程发送指令控制机器人的工作模式和行为。
(3)实时获取大棚环境信息。通过传感器采集温度、湿度、光照强度等环境参数,并将数据传输到服务器进行存储和分析,用户可以通过APP实时监控大棚环境,并在参数超出设定范围时接收预警通知。
(4)一码溯源。基于Android端的果蔬质量安全追溯,整合果蔬产品的种植、生产、加工等环节信息,实现详细直观的质量追溯和用户反馈功能。
6.2 机器人视觉系统设计
Intel的OpenVINO工具包加速深度学习模型的部署和优化,支持高性能计算机视觉应用。平台分为模型优化(Mode Optimizer)和推断引擎(Inference Engine)两部分。模型优化将已训练的神经网络模型转化为IR格式,推断引擎负责模型前向推理,支持异构计算和硬件加速。OpenVINO平台支持多操作系统和深度学习框架,如图6-4所示。
图6-4 OpenVINO框架图
团队基于Nezha Developer Kit,在OpenVINO平台进行视觉推理及性能优化,在实际应用场景下,大大降低了终端设备模型部署的难度,本系统下基于微型PC终端设备将已训练的检测模型部署到微型PC终端设备,通过OpenVINO台进行模型优化加速。
6.2.2 YOLO模型部署
首先,将优化后的YOLOv5模型转换为OpenVINO的中间表示(IR)格式,包括模型的XML文件和BIN文件。文件包含了模型的结构和权重信息,能够在OpenVINO的推理引擎中高效运行,再将这些文件传输到Nezha开发板上。
在Nezha开发板上编写推理脚本,加载优化后的YOLOv5模型,并通过摄像头实时捕获视频流。推理脚本需要调用推理引擎,加载模型的XML和BIN文件,并对每一帧视频进行目标检测。最终能够在低延迟的情况下实现实时的茄子识别和定位。推理结果包括茄子的边界框、置信度和类别信息。
6.3 服务器端开发设计
6.3.1 数据库设计
数据库设计是实现数据存储、管理和分析的关键环节。数据库需要存储多种类型的数据,包括环境监测数据、机器人状态数据和用户操作记录等。环境监测数据包括温度、湿度、光照强度等参数。机器人状态数据则包括电量、运行速度、故障诊断等信息。用户操作记录则包括用户通过手机APP进行的各种操作指令和反馈信息。部分数据库表如下表6-1,6-2,6-3所示。
表6-1 环境数据表
Field |
Type |
Description |
id |
INT |
主键,自动递增 |
temperature |
FLOAT |
温度 |
humidity |
FLOAT |
湿度 |
lightIntensity |
FLOAT |
光照强度 |
表6-2 机器人状态表
Field |
Type |
Description |
id |
INT |
主键,自动递增 |
batteryLevel |
FLOAT |
电量 |
position |
FLOAT |
当前位置 |
faultCode |
INT |
故障代码 |
表6-3 采摘统计表
Field |
Type |
Description |
id |
INT |
主键,自动递增 |
timestamp |
DATETIME |
采摘时间 |
location |
FLOAT |
采摘位置 |
eggplantCount |
INT |
采摘茄子数量 |
6.3.2 通信协议设计
通信协议需要支持机器人与服务器之间的数据传输,包括环境监测数据、机器人状态数据、采摘任务数据和用户操作指令等。采用TCP/IP协议栈,确保数据传输的实时性和可靠性,并支持数据加密和认证机制,防止数据被窃取或篡改。团队采用SSL/TLS协议对数据进行加密,并支持数据的压缩和分片传输,提高传输效率和稳定性。
6.4 移动设备软件设计
通过手机APP实现对采摘机器人的远程控制、数据监控和管理等功能,提升系统的智能化和便捷性。
6.4.1 系统界面设计
系统界面设计包括首页、管理中心、批次管理和个人中心四个主要界面,每个界面均通过不同的功能元素,实现对采摘机器人的高效管理和控制,设计界面如图下6-5所示。
图6-5 APP端设计界面
(1)首页界面。展示用户欢迎信息、环境参数、摄像头监控画面、设备状态和数据报表。
(2)管理中心界面。包含机器人状态监控和环境数据监控两部分。
(3)批次管理界面。展示当前所有批次的茄子信息,包括品种、产量、合格率、任务状态和时间等。
(4)个人中心界面。展示用户的个人信息和登录天数,提供生产信息、使用帮助、关于团队和设置等选项。
6.4.2 一码溯源功能实现
通过扫描二维码,用户可以获取茄子的详细信息,包括种植地点、种植时间、采摘时间、运输方式等,确保茄子的质量安全和可追溯性。系统在茄子的种植、采摘、运输等环节记录和上传信息,确保数据的完整性和安全性。
6.5 本章小结
本章介绍了智能茄子采摘机器人控制系统的软件设计,包括系统软件、机械臂控制、机器视觉、服务器通信和移动设备软件。系统通过多层次架构,实现自动化采摘、远程监控、环境信息获取和一码溯源。机械臂控制采用增量式PID算法,实现高精度控制。机器视觉利用OpenVINO加速YOLO模型,提升识别和定位准确性。服务器通信确保数据传输的实时性和可靠性,数据库支持高效存储和管理。移动设备软件通过APP提供用户友好的界面和功能支持,实现远程控制和管理,并提升茄子的质量安全和可追溯性。
7.1 实验室采摘平台搭建
为了验证机器人系统在实际应用中的表现,团队搭建了一个模拟大棚环境的采摘平台,其中机器人需要从一个固定起点移动到多个预设的茄子位置进行采摘。每次采摘包括移动到茄子位置、执行采摘动作和将茄子放入篮子。采摘环境如下图7-1所示。
图7-1 实验室茄子采摘环境
7.2 系统性能实验结果及分析
7.2.1 移动端APP测试
测试环境准备包含了对系统测试的硬件条件的准备和软件条件的准备。硬件条件准备的具体内容如表7-1所示,软件条件准备的具体内容如表7-2所示。
表7-1 测试硬件准备
测试工具 |
类型 |
说明 |
测试PC |
Nezha Developer Kit |
处理器:Intel® N97 |
内存:8GB LPDDR5 | ||
测试手机 |
VIVO Z3 |
处理器:sdm670 |
内存:4GB 分辨率:2280×1080 像素:1600+200万像素 |
表7-2 测试软件条件准备
测试工具 |
类型 |
说明 |
操作系统 |
Android 13 |
测试的操作系统 |
开发平台 |
Android Studio |
开发平台 |
开发软件 |
SOLite |
当系统数据库 |
结合系统的追溯流程和设计过程设计了对该系统的测试用例,用以测试系统运行的正确性。测试用例的设计如表 7-3所示。
表7-2 测试软件条件准备
用 例 编号 |
测试模块 |
模块说明 |
预期结果 |
1 |
主界面启动 |
显示系统主界面 |
成功显示主界面 |
2 |
远程启停功能 |
启停机器人 |
成功启停机器人 |
3 |
数据监控模块 |
收发服务器数据 |
成功收发数据 |
4 |
一码溯源功能 |
查询茄子生产信息 |
成功查询溯源信息 |
上述四个功能测试结果:
1. 主界面启动
测试结果显示,系统主界面能够成功启动并显示所有预期的内容,包括用户欢迎信息、环境参数、摄像头监控画面、设备状态和数据报表。界面加载速度快,响应时间在1秒以内,用户体验良好。
图7-2 实验室茄子采摘环境
2. 远程启停功能
通过手机APP发送启停指令,机器人能够迅速响应并执行相应操作。启停指令的传输和执行延迟在500毫秒以内,系统稳定性高,未出现任何指令丢失或执行错误的情况。
图7-3 实验室茄子采摘环境
3. 数据监控模块
数据监控模块能够成功收发服务器数据,实时显示大棚环境参数和机器人状态数据。数据更新频率为每秒一次,数据传输稳定,未出现数据丢失或延迟现象。
图7-4 实验室茄子采摘环境
4. 一码溯源功能
通过扫描二维码,用户能够成功查询茄子的生产信息,包括种植地点、种植时间、采摘时间和运输方式等。信息显示完整且准确,查询响应时间在2秒以内,用户反馈良好。
图7-5 实验室茄子采摘环境
移动端APP测试的四个功能均达到了预期效果,系统运行稳定,用户体验良好。
7.2.1 茄子识别与定位实验
试验时,将IMX258摄像头与TOF200F激光测距模块安装在采摘机器人末端执行器的内部,摄像头分辨率设为320×320,视频速度为10帧/s,s取为100mm。
首先进行茄子的识别与定位,让机器人沿着黑色轨迹移动至果树旁,当机器人识别到茄子时会自动停止,并进行茄子的定位,使用上位机可观察到机器人准确的识别出了果实以及其质心的位置,如图7-2所示。
图7-6 识别效果图
接着,对激光测距模块进行实验,实验结果如图7-2所示。
图7-7 测距结果曲线图
当测量距离在275~575mm范围内,测量误差基本在±18mm之内。该精度已满足采摘机器人正常识别茄子并进行夹取动作。
7.2.2 采摘机器人夹取实验
采摘机器人抓取实验主要测试茄子采摘机器人系统能否自动完成目标果实的抓取以及测试系统的稳定可靠性和作业时间。采摘机器人夹取实验流程如图7-3所示。
图7-8 茄子采摘实验流程图
试验在实验室模拟生长环境中进行,采摘对象为150~210mm长条茄子,位置分布在340mm×700mm×800mm的空间中。摄像机的分辨率设为320×320,系统采样频率为100ms。在采摘机器人的工作空间中,对10个不同位置的茄子进行100次试验,试验结果为:采摘机器人成功抓取92次,失败8次,成功率92%,从机器人启动到将采摘到的茄子放入收集箱的平均时间为8.4s。从试验结果看,机器人的机械结构、视觉系统、图像处理算法和控制算法具有较好的可靠性。采摘效果如图7-4所示。
图7-9 茄子采摘效果图
7.3 性能评估
通过对实验数据的分析,进一步评估了机器人系统的整体性能:
(1)稳定性:长时间运行中,系统未出现故障,表现出良好的稳定性。
(2)适应性:在不同光照和温度条件下,系统识别和采摘性能保持稳定,显示出较强的环境适应能力。
(3)响应速度:从识别茄子到完成采摘的整个过程响应迅速,能够满足实际大棚作业需求。
(4)界面交互:用户通过界面可以实时监控机器人状态、环境参数和采摘进度,并进行远程控制和调整。
性能评估结果验证了机器人系统在稳定性、环境适应性和响应速度方面的优越性,为其在实际生产中的应用奠定了基础。但所设计的采摘机械臂及末端执行器灵巧性和避障能力有待提高,并且末端执行器不能够采摘分布于茄子植株深处的果实,这也是项目今后需要着重改进的地方。
7.4 本章小结
本章介绍了茄子采摘机器人在模拟大棚环境下的实验平台搭建及系统测试方法。通过实验室环境下的多次测试,验证了机器人系统对茄子的识别精度、采摘效率。性能评估结果显示,该系统具备良好的稳定性和适应性,能够有效提升茄子的采摘效率,减少人工劳动,为其在实际应用中提供了可靠的技术支持。
8.1 研究总结
在本研究中,团队成功设计并实现了“智茄星”——一种基于YOLO的智能茄子采摘机器人系统,针对茄子采摘自动化的需求,进行了深入的技术探索和实践。本研究主要贡献和成果总结如下:
(1)机械臂结构与设计优化:通过对现有果树采摘机械臂的分析整合与创新设计,团队研究并设计了适合茄子采摘的机器人机械臂结构设计。通过多自由度关节的精妙布局与运动学模型的建立,实现了机械臂的灵活运动,提高了采摘作业的灵活性和效率。
(2)末端执行器的创新:针对茄子的物理特性和采摘需求,团队设计了一种夹剪一体化的末端执行器,它能够高效、精准地采摘茄子,同时减少了对果实的损伤,体现了设计的人性化和实用性。
(3)茄子识别与定位技术:团队提出的基于YOLOv5模型的识别系统,结合OpenVINO加速推理技术,显著提升了茄子的识别精度与速度,克服了传统识别技术在复杂光照和环境条件下的局限性,确保了在实际场景中对茄子的快速准确识别。
(4)控制系统集成与优化:构建了以Nezha Developer Kit为核心的控制系统和STM32微控制器,实现了上位机与下位机的高效协同工作,确保了整个采摘系统的稳定运行。通过精心配置硬件组件,如步进电机和图像传感器,提高了系统的稳定性和可靠性。
(5)传感器模块与用户交互:开发了能及时反馈茄子生长环境异常的APP端,增强了机器人的智能化互动能力,为维护良好的茄子生长环境提供了技术支持。
尽管本研究取得了显著的成果,但仍存在一些待改进之处,包括机械臂和末端执行器的进一步优化,以提升在复杂果园环境中的采摘能力和避障能力,以及规划更智能的路径导航策略,以适应非结构化果园环境。此外,针对多作物的适应性也是未来研究的重要方向。
总之,本研究为茄子采摘自动化提供了创新的解决方案,为智能农业装备的发展做出了贡献,有望在降低劳动成本、提高农业生产效率、促进农村经济发展方面发挥重要作用。
8.2 未来展望
茄子采摘机器人系统涉及机械设计、机器人运动学和动力学、视觉图像处理、检测技术、自动控制技术和人工智能等多门科学技术,是一项较为复杂的系统工程,研究难度较大。团队建立了茄子采摘机器人机械臂基础模型,实现了基于Nezha DevKit下的YOLOv5模型的部署与OpenVINO加速推理的设计与实现,取得了具有一定价值的成果,但由于团队能力及时间所限,本研究尚有很多不足之处,需从以下几个方面继续深入研究:
(1)茄子采摘机器人机械臂结构优化及灵巧末端执行器结构设计。设计的机械臂灵活性及避障能力有待提高,要实现采摘机器人高效采摘作业,还需在机械臂结构、自由度等方面进行优化研究。设计的末端执行器能实现果实的连续采摘,但试验过程中发现该末端执行器不适合分布于果树枝叶深处果实及成簇果实的采摘,在末端执行器灵巧性方面还需进一步研究。
(2)茄子采摘机器人路径规划与自主导航功能设计。团队设计的采摘机器人移动载体主要通过红外循迹模块进行机器人的移动与导航。但在实际自然环境中,田垄间的环境与复杂程度可能会导致机器人无法顺利的完成采摘工作。在未来,项目拟采用ROS+激光SLAM的方式来完成茄子采摘机器人的路径规划与自主导航。
(3)茄子采摘机器人多作物采摘功能的设计。在茄子采摘的基础上,扩展到其他蔬菜和水果的采摘。通过训练新的识别模型,以及设计出对应末端执行器,机器人可以适应不同作物的采摘需求,提升其在农业中的通用性。
- 宋健,孙学岩,张铁中,等.开放式茄子采摘机器人设计与试验 [J].农业机械学报, 2009, 40 (01): 143-147.
- 张鹏,唐秋宇,陈灵方,等.果蔬采摘机器人研究现状与进展分析 [J].南方农机, 2023, 54 (07):9-12.
- 张文翔,张兵园,贡宇,等.果蔬采摘机器人机械臂研究现状与展望 [J].中国农机化学报,2022, 43 (09): 232-237+244. DOI:10.13733/j.jcam.issn.2095-5553.2022.09.031.
- 于丰华,周传琦,杨鑫,等.日光温室番茄采摘机器人设计与试验[J].农业机械学报,2022,53(01):41-49.
- 王凤云,刘继展,李萍萍.采摘机器人末端执行器研究现状与展望 [J].农机化研究, 2011, 33 (11): 10-14. DOI:10.13427/j.cnki.njyi.2011.11.017.
- 吕继东,赵德安,姬伟.苹果采摘机器人目标果实快速跟踪识别方法 [J].农业机械学报, 2014, 45 (01): 65-72.
- 彭红星,黄博,邵园园,等.自然环境下多类水果采摘目标识别的通用改进SSD模型 [J].农业工程学报, 2018, 34 (16): 155-162.
- 贺橙林.基于机器视觉的气动采摘机器人研究[D].上海交通大学,2015.
- 叶伟.锂离子电池碳负极及高容量18650型电池的工艺和性能研究[D]. 湖南大学, 2006.
- Glenn Jocher. YOLOv5: The Leader in Realime Object Detection[EB/OL].[2023-03].https://github.com/uhralytics/yolov5.
- S. Chen, Y. Liao, F. Lin and B. Huang, "An Improved Lightweight YOLOv5 Algorithm for Detecting Strawberry Diseases," in IEEE Access, vol. 11, pp. 54080-54092, 2023, doi: 10.1109/ACCESS.2023.3282309.
- 张光辉. 6-DOF空间机械臂运动控制方法研究[D]. 湖南大学, 2015.
- 叶伟.锂离子电池碳负极及高容量18650型电池的工艺和性能研究[D]. 湖南大学, 2006.
附录 硬件规格
A.1 Nezha Developer Kit规格及参数
Nezha Developer Kit作为嵌入式控制核心,运行YOLOv5视觉模型,处理视频流,通过串口向STM32下位机发送指令,控制机械臂采摘,并连接服务器传输数据。详细配置见表A-1。
表A-1 Nezha Developer Kit详细硬件配置表
名称 |
参数 |
处理器 |
Intel® N97 处理器 |
图形 |
Intel® UHD Graphics |
内存 |
8GB 双通道 LPDDR5 |
存储 |
64GB eMMC |
USB接口 |
3*USB3.2+2*USB2.0 |
功耗 |
AT (默认) /ATX |
电源 |
12V DC-in, 5A |
Nezha Developer Kit方块图如下图A-1所示。
图A-1 Nezha Developer Kit方块图
Nezha Developer Kit尺寸图如下图A-2所示。
图A-2 Nezha Developer Kit尺寸图
A.2 STM32F103VET6规格及参数
STM32F103VET6,其是一个32位高密性能微控制器单元,有着三个12位模数转换器和4个通用16位计时器,外加两个PWM计时器,两个I2C、三个SPI和两个I2S、一个SDIO、五个USART、一个USB和一个CAN,主频72MHz,两个APB总线,及100个GPIO引脚,具有512kB闪存。
团队基于STM32F103VET6自主设计了机器人系统的下位机主控板。主控板原理图如下图A-3所示。
图A-3 机器人下位机主控板原理图
A.3 机器人主体框架规格及参数
采摘机器人的主体框架由20mm×20mm方形铝材搭建,规格如下图A-4所示。
图A-4 方形铝材规格图
实物如下图A-5所示。
图A-5 方形铝材实物图
A.4 机器人电源规格及参数
考虑到机器人的工作环境为大棚采摘,并要求拥有长时间工作能力。团队采用12V、3000mAh的18650动力锂电池,锂离子电池的能量密度很高,它的容量是同重量的镍氢电池的1.5~2倍,采用了DC-DC直流降压模块,将12V电池输出的电压降到5V,分别给STM32控制板、数字舵机、传感器模块等系统供电,采用TB6612FNG电机驱动模块间接地给直流减速电机提供12V电源。具体系统供电电路如图A-6所示。
图A-6 电源设计图
更多推荐
所有评论(0)