Intelligent Apple Robot Based on Ros
With the rapid development of modern agriculture, the demand for intelligent and automated orchard management is increasingly growing. Especially in the field of apple yield estimation, traditional manual counting methods are not only time-consuming and labor-intensive but also prone to subjective influences, leading to inaccurate yield estimation results. Therefore, developing an intelligent robot capable of automatically and accurately measuring the number of apples holds significant practical importance. This paper proposes a crawler-type intelligent apple yield estimation robot based on ROS (Robot Operating System) and the Arduino platform. The robot utilizes ros_arduino_bridge to achieve effective communication between the upper and lower computers. It is equipped with LiDAR for environmental perception and navigation, and integrates an RGB camera with a YOLOv5 image recognition algorithm as the core of its target tracking algorithm, enabling precise counting of apples on individual apple trees.
ROS
本文提出了一种基于ROS (机器人操作系统)和Arduino平台的履带式苹果测产智能机器人。该机器人利用ros_arduino_bridge实现上位机和下位机之间的有效通信,并搭载激光雷达进行环境感知与导航,同时结合RGB相机和以YOLOv5图像识别算法为核心的目标追踪算法,实现对单棵苹果树上苹果数量的精确统计。
在机器人的设计中,本项目充分利用了ROS的模块化特性,将不同功能划分为独立的节点,并通过消息机制实现节点间的通信与协作。Arduino作为下位机控制器,负责硬件的直接驱动与里程计数据采集,通过ros_arduino_bridge与上位机进行数据传输与指令交互。履带式的底盘设计使得机器人具有强大的爬坡性,不仅稳定性好,而且能有效保护土壤。激光雷达为机器人提供了实时的环境地图与定位信息,确保机器人在复杂果园环境中能够自主导航并避免碰撞。
RGB相机作为机器人的视觉传感器,负责捕捉果园的图像信息。本项目采用YOLOv5算法对图像进行处理,该算法凭借其高效的实时性与准确性,在苹果识别任务中表现出色。为进一步提高苹果识别的精度和鲁棒性,本研究将针对YOLOv5进行优化,结合苹果识别场景特点调整模型架构和参数,以提升其在复杂环境中的表现。同时,基于快速随机树(RRT)算法的改进,我们将详细阐述改进算法的原理、实现细节以及性能评估,确保机器人能够在动态果园环境中实现更加精确的路径规划。
在实验设计方面,本文将设计更为全面的实验方案,收集更详细的实验数据,包括准确率、召回率、运行时间等指标,力求通过充分的数据支撑验证方法的有效性。通过与现有方法的对比,并进行统计分析,我们将进一步证明所提出方法在苹果测产方面的优势。
本文详细阐述了该机器人的设计原理、系统架构、算法实现以及实验验证过程。实验结果表明,该机器人能够显著提高苹果测产的效率与准确性,为现代农业管理提供了一种新的解决方案。本文还探讨了该机器人在未来可能的应用场景与改进方向,为相关领域的研究提供了有价值的参考。
该平台采用分布式架构,在模式上采用“上位机 + 下位机”的控制模式。Ubuntu是一种完全基于Linux的操作系统,ROS是机器人编程的系统框架
本设计的核心框架分为可以概括为三部分:应用层、决策层、控制层。应用层以RGB摄像头模块为核心,进行苹果识别、追踪,并且可以在上位机进行苹果个数统计实时显示以及最终结果展示。以树莓派4B作为机器人的“大脑”,不但可以通过小车运动过程中激光雷达扫描的信息建立成2D图像,还可以选取图像中的目标位置使小车自主导航、避障
为了满足智能苹果测产机器人对数据处理能力和实时性的高要求,本项目选择树莓派作为核心控制单元。树莓派作为一款功能强大的微型算机,其小巧的体积和强大的性能使其成为嵌入式系统的理想选择。树派具备强大的计算能力可以高效地处理来自激光雷达和RGB相机采集的大量数据。作为通信枢纽,连接着上位机和下位机实现了Arduino等硬件与远程服务器之间的数据传输和指令交换由于树莓派支持多种操作系统和编程语言,本项目得以在其上运行YOLOv5等复杂的图像识算法。树莓派4b模型图如
思岚A1激光雷达采用了激光三角测距技术,结合自主研发的高速视觉采集处理机构,每秒能进行高达8000次以上的测距动作。这一高性能的测距能力确保了机器人能够实时、准确地获取苹果树及其周围环境的详细数据,为后续的苹果识别和数量统计提供了坚实的基础。具备360˚全方位激光扫描功能,其测距核心顺时针旋转,实现了对周围环境的无死角扫描。这一特点使得机器人能够全面、完整地构建苹果树的轮廓图,并准确地识别出每一个苹果的位置和数量。思岚A1激光雷达作为核心传感器之一,与RGB相机等其他传感器协同工作共同完成了对苹果树及其周围环境的感知和建图。通过与ROS操作系统的集成,机器人能够实时接收并处理来自各个传感器的数据,实现自主构建地图、实时路径规划与白动避开障碍物等功能。思岚A1激光雷达模型图如
为了实现智能苹果测产机器人对苹果树图像的清晰捕捉和精确分析,本项目精心选取了高性能的RGB相机模块作为视觉系统的核心。该相机模块具有高清分辨率,能够捕捉到苹果树图像的细节信息,为后续的图像识别算法提供丰富的数据支持。高帧率保证了相机模块能够实时地捕捉到苹果树的动态变化,确保机器人在移动过程中也能获取到稳定的图像数据。考虑到果园环境的光照变化较大本项目选取了具有强光抑制和弱光增强功能的相机模块,确保在不同光照条件下都能获取到清晰的图像数据。RGB相机模块模型图如
在构建智能苹果测产机器人的过程中,本项目选择了Arduino作为下位机控制系统的核心。通过Arduino的PWM输出和GPIO引脚实现了对履带式小车电机的精确控制,包括前进、后退、转向等动作。Arduino通过ros_arduino_bridge与上位机进行通信,实现了对机器人状态的实时监控和远程控制。同时,它还能够与其他设备(如GPS模块、无线通信模块等)进行通信,扩展机器人的功能。由于Arduino具有较快的处理速度和较低的延迟,它能够在短时间内对传感器数据进行处理并作出相应的响应,确保机器人在复杂环境中能够稳定、安全地运行。Arduino模型图如
路径规划是指根据已知的环境地图等条件,在满足特定条件的情况下,规划出一条从起点到终点的无碰撞路径
本次实验采取了一种新的RRT*改进算法
(1)
式中: 为概率阈值, 为概率阈值的初始值,n为上一次采样成功至此次采样期间,采样失败的次数。
在改进的RRT算法中,路径生成过程如下所示。
节点采样过程采用不同的策略,像RRT*采用基于最近邻的采样策略来进行树的扩展。
所有节点的扩展都需要进行碰撞检测,确保扩展的路径不与障碍物相交。对于复杂的环境,可以使用栅格地图或快速的几何检测算法进行碰撞检测。
当路径生成后,可以通过优化算法(如梯度下降或平滑滤波)进一步减少路径的弯曲度,提升路径的平滑性和自然性。
我们先后采用了RRT算法和RRT*算法在相同的环境中进行路径规划实验,得出的结论见
指标 |
RRT* |
RRT |
提升幅度 |
路径长度 |
15.3 m |
18.5 m |
−17.3% |
计算时间 |
0.58 s |
0.75 s |
−22.7% |
路径平滑度 |
85% |
72% |
+13% |
碰撞检测率 |
0% |
2% |
−2% |
由上表可得RRT*相比传统RRT在路径长度上有了显著降低,计算时间也有所优化,同时路径更加平滑,碰撞率几乎为零。在动态障碍物的影响下,RRT*能够更有效地调整路径,避免碰撞,展现了更高的可靠性和适应性。
对于苹果的识别与追踪,本项目采用了YOLOv5与DeepSORT算法的组合。YOLOv5是一种高效且精准的目标检测方法,它通过优化的网络结构、自适应锚框、Mosaic数据增强等技术,在保证实时处理速度的同时,提升了检测精度和鲁棒性。此外,YOLOv5的轻量化设计使其能在资源受限的设备上高效运行,而活跃的社区持续为其带来新特性和改进,使其在目标检测领域具有广泛的应用潜力。
为提升YOLOv5在苹果识别任务中的性能,本研究从数据增强、网络结构优化、锚框调整及训练调优等方面进行了一系列优化措施。
为了增加模型的鲁棒性,我们对训练数据集进行了多种数据增强。具体包括随机裁剪、旋转、翻转、亮度调整、高斯噪声、模糊以及对比度变化等技术。这些增强方法有助于模型应对不同的苹果颜色、形状、尺寸和环境光照条件。此外,针对苹果识别任务的背景差异,增强了多样化的场景变化,以提升模型对不同环境的适应能力。
YOLOv5的网络结构在本研究中得到了优化。首先,我们引入了CSPNet (Cross-Stage Partial Network),以提升模型的表达能力和梯度传播效果,从而提高精度并减少计算量。其次,通过增加模型深度和使用Focus模块,进一步改进了特征提取效率。此外,为了增强模型的特征提取能力,骨干网络从标准的YOLOv5网络替换为EfficientNet,以提高苹果的检测精度。
为了提升苹果的定位精度,本文采用了k-means聚类算法对锚框进行了重新计算。通过优化锚框的大小和比例,进一步确保了锚框与苹果的实际形态更为匹配。此外,在损失函数的设计上,我们引入了Focal Loss,以解决类别不平衡问题,尤其是在背景区域的干扰下,提高了苹果的检测精度。
我们分别使用COCO数据集和VOC2007数据集在原始的YOLOv5算法和改进后的YOLOv5算法上进行比较,得出的结果如
模型版本 |
mAP (COCO) |
推理时间(秒/图像) |
FPS (图像/秒) |
模型大小(MB) |
F1-score |
原始YOLOv5 |
37.5 |
0.2 |
5 |
180 |
0.735 |
改进YOLOv5 |
42.1 |
0.18 |
5.5 |
200 |
0.755 |
模型版本 |
mAP (COCO) |
推理时间(秒/图像) |
FPS (图像/秒) |
模型大小(MB) |
F1-score |
原始YOLOv5 |
75.3 |
0.1 |
10 |
150 |
0.78 |
改进YOLOv5 |
78.9 |
0.09 |
11.1 |
170 |
0.81 |
通过以上对比可以得出改进版YOLOv5在精度和推理速度上都有显著提升。
YOLOv5本身并不提供追踪功能,但可以与DeepSORT追踪算法结合使用
地图构建,也称为SLAM (定位与地图构建),是机器人通过自身传感器如激光雷达、摄像头等实时感知周围环境,并据此构建出环境地图的过程
SLAM问题可以描述为,移动机器人从开机到t时刻一系列传感器测量数据 以及一系列控制数据 的条件下,同时对地图m、机器人位姿 进行的估计,显然是一个条件联合概率分布。用以下公式来描述SLAM的过程:
gmapping是ROS开源社区中较为常用且比较成熟的SLAM算法之一
为了实现机器人在果园环境中的精确定位,我们采用了AMCL (Adaptive Monte Carlo Localization)算法。AMCL基于粒子滤波技术,能够在已知地图的基础上估算机器人在复杂环境中的位置和姿态,特别适用于动态和非结构化的场景
AMCL (自适应蒙特卡洛定位)算法的工作流程如
首先,在初始化阶段,系统生成多个粒子,这些粒子代表可能的机器人位置和朝向。接着,数据融合步骤中,机器人通过传感器(如激光雷达)收集环境数据,并与已知地图进行比对,计算每个粒子的权重。接下来,粒子更新阶段,AMCL利用机器人运动模型和传感器数据更新粒子的位置,并根据匹配结果调整其权重。为了避免粒子退化,系统会进行重采样,通过根据粒子权重重新生成新的粒子群来保持定位精度。最后,经过不断的粒子更新和重采样,AMCL能够提供机器人的精确位姿估计
在果园这种环境中,由于传统的GPS定位技术无法提供足够的精度,因此我们选择了AMCL作为定位方案。为此,机器人配备了激光雷达传感器,实时采集周围的环境信息,并生成激光点云数据。AMCL将这些数据与预先构建的果园地图进行匹配,从而实时估算机器人的位置。为了确保AMCL的精确性,我们首先利用激光雷达收集的数据来构建果园的高精度地图,地图中包括了树木、道路等重要元素,经过多轮数据采集和优化,最终得到了高质量的静态地图。
通过激光雷达与AMCL算法的结合,机器人能够在果园中实现高效、精准的定位。激光雷达不断提供实时数据,而AMCL则利用这些数据与地图进行匹配,持续更新粒子权重,从而实时调整机器人的位姿,避免了传统定位技术中的误差。在实际应用中,定位精度会受到粒子数量、激光雷达数据质量和地图准确性等因素的影响。调整粒子数量后,AMCL在大部分果园环境中能够提供稳定的定位结果,尤其是在存在大量静态障碍物的区域,算法展现出了极好的稳定性和鲁棒性
AMCL算法作为机器人定位的核心模块,与路径规划和目标识别等其他模块紧密协作。系统的整体工作流程包括初步定位、实时跟踪和误差修正,确保机器人在执行任务时保持高精度定位,并能够应对环境的变化和传感器可能出现的问题。
为了验证机器人控制系统的可行性,对机器人整机工作流程进行实验测试。机器人在收到给定苹果树的目标位置指令后,机器人会进行起始点到目标点的路径规划并会在出现实时障碍物时自动避开,当到达目标位置时进行苹果的识别与追踪,最终完成计数。
图9. 机器人实验测试
实验结果如下图所示。
本文介绍了基于ROS的履带式苹果测产智能机器人。该系统是实现智能机器人在果园中自主导航、遍历苹果树以及执行苹果数量统计任务的关键组成部分。在路径规划算法的实现上,本文采用了多种传感器技术,特别是激光雷达和RGB相机,来获取果园的实时环境信息。在目标识别与追踪算法实现上,使用YOLOv5结合DeepSORT的方式来实现苹果的识别与追踪。除此之外,还介绍了SLAM在ROS系统中的应用以及导航的实现过程。未来将继续致力于履带式苹果测产智能机器人的研发和优化工作,以推动智能农业技术的不断发展和应用。相信,在未来,智能机器人将在农业生产中发挥更加重要的作用,为农业产业的可持续发展贡献更多的力量。
*第一作者。