目录
摘要 1
Abstract 1
第1章 绪论 2
1.1课题研究背景与意义 2
1.2水果分拣系统研究现状 3
1.3水果分拣系统应用前景 4
第2章 系统设计方案 4
2.1水果分拣终端总体框图 4
2.2系统研究内容及设计要求 5
2.3方案整体设计 5
第3章 系统硬件电路设计 6
3.1 总体硬件框图 6
3.2主控芯片及其最小系统 7
3.3直流电机及其驱动 7
3.4机械臂设计 8
3.5WiFi模块 8
第4章 系统软件设计 8
4.1总体软件设计框图 8
4.2通信协议及软件设计 9
4.2.1 Openmv与STM32串口通信 9
4.2.2 舵机控制板与STM32通信 10
4.2.3 WiFi模块与上位机通信 11
4.3分拣机器人搬运及路径规划软件设计 11
4.3.1机械臂抓取包裹软件设计 11
4.3.2路径规划算法设计 12
第5章 系统调试与结果分析 12
5.1数据集的标准化和预处理编程 12
5.2水果轮廓分析 12
5.3水果缺陷分析 14
第6章 总结与展望 15
6.1 总结 15
6.2 展望 16
参考文献 16
致谢 16
附录 16
第1章绪论
1.1课题研究背景与意义
在如今的社会背景下,水果的分类过程显得尤为关键,因为它会直接决定水果的品质以及消费者的购物感受。随着科学技术的发展,水果分拣已经由人工分拣向自动化分拣转变,并且取得了良好的成效。但是,传统的水果分类方法面临着众多挑战,例如效率不高、成本过高和精确度不够等问题。为了解决这些问题,本文提出了基于图像识别的智能水果分拣系统,该系统对水果进行自动识别和分类,并根据不同种类的水果采用相应的算法进行分选。图像处理技术以其高度的精确性、效率和成本效益为特点。本文设计了一套基于图像处理技术的智能化水果分拣系统。通过对图像进行深入的分析和处理,它能够精确地鉴别水果的尺寸、颜色以及表面的品质,进而增强分类的准确性和工作效率。目前,在水果的自动化生产中已广泛采用了该方法来完成水果的分选作业。这套基于图像处理技术的智能水果分类系统对我们的社会和经济都是至关重要的,因此,研发一套基于图像处理技术的智能水果分类系统显得尤为关键。
从更广泛的社会视角来看,这款智能水果分拣系统能够显著提升分拣的效率,减少人工成本,增加分拣的精确度,从而不仅提升了水果的整体质量,还增强了消费者的购物体验。同时,该系统对水果生产企业而言具有重要意义,有助于减少人力成本和物力成本,实现经济效益最大化。除此之外,这一系统还能为水果行业的成长提供强有力的技术后盾,从而促进该产业的持续发展。
我们设计的这套智能水果分类系统,在实际应用中具有很大的价值。由于这个课题具有很高的开发和应用潜力,它能有效地提升个人的实践操作能力。在研究了国内外现有的多种水果检测方法之后,提出一种基于红外传感器和图像识别的智能水果分拣算法。通过使用stm32f1单片机和OpenMV摄像头,并结合红外线追踪和图像识别技术,我们能够准确地判断水果的质量和大小,并按照既定标准捕获水果,然后将其运送至指定地点。在整个过程中,利用了多种传感器来采集图像信息,包括颜色、形状以及距离等参数。这一系统不仅有助于提升水果分拣工作的效率和准确性,还能减少人工成本,并为我国水果分拣技术的未来发展提供全新的思考路径和方向。在实际使用过程中也发现该系统对一些特殊情况如水果形状等有着很强的适应性,能很好地解决了水果的分拣问题。因此,这一设计方案不仅具有显著的实际应用价值,还拥有广大的未来发展潜力。
1.2水果分拣系统研究现状
机器视觉系统最显著的特性是能够运用视觉技术来提升系统的智能化水平,其中图像处理算法作为系统的核心技术,使得整个系统变得更加智能化。目前,机器视觉已经广泛应用于各个领域,比如工业制造、农业、医学等领域。在某些高风险的工作环境、人类无法直接进入的场所或人眼难以满足工作需求的场合,常常需要借助机器视觉技术来代替人类完成一些人类无法直接完成的任务。另外,在一些工作量巨大的生产环境中,人眼的工作容易变得疲惫,从而导致工作效率极低,任务完成的准确度也不高。在这种情况下,使用机器视觉来代替人眼进行检测可以极大地提高检测的准确性,同时也可以解决在工作量大的情况下人工效率低的问题。目前,机器视觉已经被广泛地应用于工业、医疗等诸多领域。由于机器视觉能够轻松地获取和收集图像信息,并且这些图像中蕴含了丰富的有价值信息,因此,机器视觉技术已经成为当前人工智能领域的核心技术。
在机器视觉这一技术领域,美国、德国和英国等发达国家始终保持领先地位,并已将机器视觉技术广泛应用于汽车、电子等多个行业中。目前,我国也正大力开发机器视觉技术并应用于工业生产过程。在20世纪90年代,英国已经成功开发了一款基于机器视觉技术的蘑菇采样机器人。该机器人利用特定的算法对图像进行深入分析,以实现蘑菇的精确定位和分类。日本的NakazawaK教授提出了一种基于三维视觉的机器人传感器技术,该技术能够整合三角测量等多种测量手段,从单一图像中获取距离数据,从而提高机器人的识别精度。PerrollazM等学者也提出了一种基于机器视觉的机器人轨迹规划方法,这大大提高了机器人在工业应用中的控制精度。EPSON公司还生产了一款基于视觉技术的机器人,该机器人配备了多个摄像头,能够从多个角度全面捕捉到有用的外部信息,进而实现对现实中目标物体的快速定位和分类识别。近几年来,Kollam提出了一种基于机器视觉的深度学习技术,用于腰果的分类。对于从相机获取的图像,Kollam在预处理阶段使用了先进的机器学习技术,特别是在图像特征提取方面。本文主要介绍了机器视觉系统的组成及原理,并阐述了其在水果采摘方面的优势,以及目前国内外关于机器视觉技术的研究进展。随着人工智能技术的不断进步和兴盛,机器视觉领域得到了显著的提升。因此,深度学习和神经网络技术在机器视觉领域的应用也逐渐变得流行起来。
在我国,机器视觉技术的发展相对较晚,最早可以追溯到90年代。在那个时期,工业和农业等领域仍然采用一些较为传统的方法,而机器视觉技术在各个行业中几乎没有积累。国内的许多领域和产品还没有开始广泛应用机器视觉技术。机器视觉作为一种新兴的技术,随着人工智能领域的逐渐崛起,国内也开始逐步自主研发机器视觉技术,并在工业、农业和制造业等多个领域开始广泛采用机器视觉技术。这项技术已经取得了快速的进步,机器视觉等产品也正在走向成熟的阶段。从最初的国外引进到国内自主开发,再到现在的应用推广,我国机器视觉技术经历了一个漫长的过程。在经历了持续而稳定的发展后,该地区直到2010年才步入了一个成长阶段。
1.3水果分拣系统应用前景
随着消费者对水果质量标准的逐渐提升,水果分类技术的关键作用也越来越明显。目前,世界各国都在研究如何有效地利用分拣设备来改善水果的质量并降低物流成本。尤其在全球水果交易的大背景之下,商家有责任确保水果分类的精确性和质量,以适应各种不同的市场需求。此外,随着智能机器人以及人工智能等相关技术的发展,水果的分拣速度越来越快。因此,对于水果分类系统的需求预计会不断上升。目前,世界上已经有许多水果加工企业建立了自己的分拣中心,并且通过各种方式来提升其分拣能力。尽管传统的水果分类方法需要投入大量的人力和时间,但水果分类系统能够自动完成这一任务,从而减少人工开销并提升生产效益。本文设计了一种基于机器视觉技术的水果自动分选装置,能够实现对各种水果进行自动识别并分类处理。对于如水果种植基地、水果处理工厂以及果蔬保鲜库这些地方,这都带来了显著的成本管理上的优势。目前市场上对水果自动分选设备的研究较多,但是大部分都是针对单个或某几个品种进行开发,没有形成系统化产品,而且其通用性不强,难以满足实际应用中多样化的要求。在当代社会背景下,环境保护和节能措施已逐渐成为公众关注的焦点。随着科技水平的不断发展和进步,水果分拣技术也有了很大程度上的提升,并逐渐向智能方向发展。通过自动化和智能化的手段,水果分拣系统能够有效地减少能源的消耗和废物的排放,这完全符合环保和节能的发展方向。
第2章系统设计方案
2.1水果分拣终端总体框图
通常,基于视觉的分类系统主要由视觉数据采集模块、机器人单元、数据传输模块以及通信模块组成。其中视觉采集是整个系统的核心部分,它负责图像数据信息的获取及处理,通过图像处理技术实现对不同种类水果进行识别分类工作。本研究依据水果分拣系统的设计标准,构建了一个分拣实验平台,其主要组件如图2-1展示。
图2-1水果分拣终端总体框图
2.2系统研究内容及设计要求
本研究项目的核心内容是利用单片机和图像处理技术来构建一个水果分类系统;首先进行水果的识别,然后根据其特性进行分类,接着按照标准对水果进行分类,并规划将水果运送至指定地点的路线。通过实验测试,该装置能够满足水果分类的需求,具有较好的稳定性与可靠性。以下是主要的设计特点:
1.使用单片机来实时捕获红外传感器的信号;
2.该设备配备了摄像头模块,可以将收集到的水果照片发送到平台上;
3.该设备搭载了WiFi模块,确保了终端设备与云端平台之间的通讯功能;
4.装备了OLED显示屏,可以查看所有的技术参数;
在水果分拣机器人的路径规划中,机器人会根据水果的不同分级来选择合适的路径,并针对路径上可能出现的十字路口等特殊情况,运用合适的算法确保机器人能够准确地到达水果存放区并开始返回。
2.3方案整体设计
随着农业自动化技术的不断进步,利用图像处理方法的水果分类系统逐步成为研究领域的焦点。传统的水果分拣系统采用人工方式进行检测和分选,效率低下且容易出错,因此提出了利用图像处理技术来解决这一问题的方法。本设计方案的核心是创建一个水果分拣系统,该系统以STM32单片机为中心,并整合了OpenMV摄像头、OLED显示屏、ESP8266 WiFi模块、光电传感器、L298N电机驱动模块以及按键等多种设备。采用了图像增强算法和多阈值分割算法对水果进行检测与区分,并通过串口通信将数据传送至上位机进行处理,从而完成水果的自动分拣过程。这套系统具备了如路线设计、图像捕捉、水果的辨识与分类以及水果的运输等多种功能。
该系统是基于模块化的设计理念构建的,它主要由以下几个核心部分组成:STM32单片机的控制模块、图像的采集和处理模块、路线的规划模块、水果的运输模块、人与机器的交互模块以及通讯模块。
STM32单片机控制模块被选为系统的中心控制单元,其主要职责是确保各模块间的数据交流和控制逻辑的顺利实施。设计了一种基于机器视觉的果蔬分拣系统。我们使用OpenMV摄像头来捕捉水果的图像,并借助其内部的图像处理技术来进行水果的辨识和分类工作。在分析了采摘流程后,设计出基于机器视觉的自动分选装置,包括机械结构、控制系统及软件部分。利用光电传感器来探测其周边环境,并结合STM32单片机的控制策略,成功地为分拣机器人制定了路径。根据实际需求设计了控制系统结构框图。利用L298N电机的驱动模块,可以驱动传送带或其他执行部件,确保分类过的水果被安全地送到预定的地点。采用红外测距原理对采摘点周围区域内果实数量进行统计。利用OLED显示屏来展示系统的当前状况、分类结果等详细信息,并通过按下按钮来执行简洁的操作。在完成对不同种类水果自动分拣工作后,可根据实际情况进行数据存储及处理。通过使用ESP8266 WiFi模块,可以实现与上位机或其他设备的无线通信,从而方便远程监控和数据传输。
该系统软件是用C语言或者C++编程语言开发的,其开发基础是STM32 HAL库以及OpenMV的图像处理库。设计了一套具有自动避障功能的智能采摘系统。通过使用OpenMV摄像头内部的图像处理技术,我们对收集到的水果图像进行了前期处理、特性抽取以及分类鉴别。设计了一套用于采摘水果的智能分拣系统。基于光电传感器的检测数据,并结合STM32单片机的控制策略,我们成功地实现了分拣机器人的独立导航和路径规划功能。设计了采摘装置中的主要机械结构,包括旋转平台、夹持机构等。利用L298N电机的驱动模块,我们可以控制传送带或其他执行部件的移动,从而完成水果的搬运和分类工作。
第3章系统硬件电路设计
3.1 总体硬件框图
以STM32单片机为核心的基于图像处理技术的水果分类系统设计方案,能够实现如路线设计、图像捕获和水果运输等多种功能。
该系统主要由STM32单片机、OpenMV摄像头、OLED显示屏、ESP8266WiFi模块、光电传感器、L298N电机驱动模块和按键等组成。本文对整个控制系统进行了硬件电路设计和软件设计,并对系统各个部分电路中各芯片的功能作了详细介绍,最后给出了实验结果。图3-1展示了系统的整体结构图。
图3-1总体框图
3.2主控芯片及其最小系统
STM32单片机是由意法半导体公司主导设计的微型控制器,它以其低能耗、低成本和高效能为特点,极大地加快了数据处理速度,同时也降低了整体系统的能耗,提升了代码执行效率,特别适合于嵌入式应用场景。该系统使用了ARMCortex-O作为其内核,并根据不同的架构设计将其分类为多个不同的类型;另外,由于该处理器支持多任务处理,所以也适合与其它芯片进行联合工作,从而形成一个完整的嵌入式控制系统。由于STM32单片机所采用的内核拥有尖端的设计架构,这使得它在执行性能和功耗控制等多个方面都展现出了强大的功能性,因此在数据整合和集成上具有明显的优越性,使得其开发过程变得更为简便;另外由于其自身结构简单,成本低廉,所以适合大规模推广使用。利用单片机来控制终端的移动,从而完成水果图像信息的收集以及水果的分类工作。该系统可以对水果进行分类存储并传输至相应的服务器上,由服务器发送指令控制其运行,同时也可接收用户端的命令来完成相关工作。在收集到水果的图像数据之后,单片机会通过WiFi模块将这些数据传送到分拣平台进行进一步的图像分析,而云平台则会将这些处理后的数据反馈给单片机的控制终端进行分拣操作。
3.3直流电机及其驱动
在本设计中,我们选择了L298N电机作为驱动。从实际应用的角度来看,L298N电机驱动电路不仅集成度高,而且使用起来也非常便捷,特别适合那些对电路复杂性和集成度有特定要求的应用场景。在电路设计方面,首先要考虑到电源电压与输入电流之间的关系。L298N是基于H桥电路设计的,它主要包括四个NPN型晶体管和四个PNP型晶体管,这四个晶体管被联接为两个独立的半H桥。其中一个半桥与电机相连,另一半桥则与外部电源连接。通过操纵芯片内部的四个开关管,我们能够控制电流流向电机的两个线圈,进而精确地控制电机的旋转方向和速度。在此基础上还加入一个电容来补偿输入电压带来的误差。L298N驱动芯片内部配备了用于控制电机电流的电流检测电阻,从而能够实施电流的反馈调节。该电路结构简单、成本低且可靠性高。L298N因其电路设计简洁和易于使用的特点,通常能够直接驱动继电器、螺线管、电磁阀、直流电机和步进电机。
3.4机械臂设计
使用了自主打印的U型支架连接部件,虽然具有很强的可扩展性,但其设计过程相对复杂;虽然机械爪可以通过3D打印技术进行独立打印,但其机械强度与合金结构的比值并不高。
由于机械臂具有5个自由度,并且需要2KG或更高的扭矩,同时对控制精度有较高的要求,因此选择了LDX-218数字舵机。本文对该型号舵机进行硬件电路设计与软件编程调试。LDX-218是一款数字舵机,其工作电压范围是6-8.4V,转动速度为0.15秒/60°,堵转扭矩为15KG/cm,而转动的范围则是0-180°。由于它采用了数字式控制方式,所以在使用过程中可以很方便地进行位置和力矩的调节。只需发送一次信号,角度就能保持不变,这也减少了编程的复杂性。另外在控制中使用电流反馈来实现闭环控制,通过改变电流大小对舵角速度进行调节。为了维持锁定角度,模拟舵机需要不断地发送PWM。所以模拟舵机只能用于低速运动或者是低转速情况下使用,不能满足高速运动或高速旋转的需要。另外,模拟舵机在精度和线性度上都存在不足,但数字舵机能够增强控制的准确性、提升线性度,并具有更快的响应速度。
3.5WiFi模块
WiFi模块被广泛应用于固定位置的各种设备,例如家用路由器、计算机和智能手机等。这些设备一般安装于室内或者室外场所。这种技术经常被应用于家庭或工作场所,以实现高速的网络连接。由于其具有良好的兼容性和灵活性,因此被广泛地应用于各种网络中。WiFi模块的主要优势在于其高速的传输能力、出色的稳定性,并且一般情况下无需承担额外开销(互联网接入费除外)。因此,一般情况下,当用户希望将自己的计算机和手机连接到因特网时,可以选择使用这种类型的无线接入点。尽管如此,WiFi模块所能覆盖的区域往往比GSM模块要小,并且只有当设备位于WiFi网络的覆盖区域时,它才被允许使用。
第4章系统软件设计
4.1总体软件设计框图
本研究主要集中在机器视觉为基础的水果自动分拣系统中与视觉有关的核心技术上。根据预定的目标需求,该自动分拣系统的软件设计环节需要完成三个主要的任务:
(1)对水果的位置进行详细检查
(2)进行水果的分类和识别工作
(3)利用机械手臂来抓取水果
为了实现上述三项任务,我们对基于机器视觉的自动分拣系统软件模块流程进行了详细设计,具体的软件流程可以参见图4-1。
图4-1软件流程图
4.2通信协议及软件设计
4.2.1 Openmv与STM32串口通信
OpenMV摄像头主要负责捕捉水果的图像,并进行相应的图像处理和识别工作,而STM32单片机则主要负责接收这些处理后的结果,并指导分拣执行机构进行必要的操作。为了使系统能够正常工作,需要对其软硬件进行设计和调试。OpenMV和STM32之间的串行通信是通过USB CDC(USB通信设备类)模式来实现的。由于采用了这种方式,所以可以使整个系统简化。在硬件连接方面,OpenMV是通过USB接口与电脑连接的,而STM32也是通过USB接口或相应的串口接口与电脑连接的。为了实现OpenMV与STM32之间的直接通信,我们需要利用USB转串口模块(例如CH340G等)将OpenMV的USB接口转化为串口接口,然后将其与STM32的串口接口连接起来。
在OpenMV IDE软件环境下,我们需要开发一个程序来捕捉水果的图像,并对这些图像进行处理和识别,然后通过串行接口将这些识别结果发送至STM32。为了满足系统的实时性要求,采用了一种基于多线程技术的图像匹配方法。以下是具体的执行步骤:
(1)初始化串口:在OpenMV IDE软件中设置串口参数,例如波特率、数据位、停止位等,以确保这些参数与STM32软件的串口参数保持一致。
(2)图像捕捉:利用OpenMV的摄像设备来捕捉水果的图像。
(3)在图像处理和识别方面:首先对捕获到的图像进行预处理,然后进行特征抽取和分类识别,最终获得水果的分类结果。
(4)数据发送:将识别出的结果转化为字符串或其他形式的数据,并通过串行端口发送至STM32。
在STM32的开发环境(例如Keil、IAR等)中,需要编写程序来接收OpenMV发送的数据,并根据数据内容控制分拣执行机构进行相应的操作。为了提高编程效率和系统稳定性,本文介绍了一种基于串口通信的实时控制系统设计方案,该方案可以有效地解决上述问题。以下是具体的执行步骤:
(1)初始化串口:在STM32的代码里设置串口参数,以确保其与OpenMV的串口参数完全匹配。
(2)数据接收:通过串行端口来获取由OpenMV发送过来的信息。
(3)数据解析:对接收到的数据进行详细解读,并从中提炼出水果的分类数据。
(4)控制执行部件:基于分析出的分类数据,指导分拣执行部件执行相关操作,例如把水果送到不同的分拣路径中。
4.2.2 舵机控制板与STM32通信
在机器视觉驱动的水果分类系统里,分拣终端扮演着中心角色,它的主要职责是获取机器视觉系统所识别的水果数据,并根据这些数据来指导舵机执行分类任务。
为了保障通讯的稳健性和信赖度,我们有必要拟定一套全面的通信协议。在设计过程中,要考虑到系统的实时性要求和安全性需求。该协议需要明确规定数据帧的格式、校验方法、错误处理机制等。其中数据帧是通信中最基本也是使用最多的一种类型。通常情况下,数据帧由起始标识、指令码、参数、校验码以及结束标识等多个部分组成。指令码负责标记各种控制命令,而参数则负责传达特定的控制数据。正确地进行数据链路设计需要对各个部件的功能及其相互关系有全面的了解。STM32与舵机控制板的通讯接口一般是通过串口(UART)或者SPI接口来实现的。在实际应用中,常用串口来实现对硬件电路及软件代码的调试。这些接口不仅传输速度迅速,而且稳定性出色,完全能够满足分拣系统对通讯性能的需求。
在执行分拣任务时,STM32需依据机器视觉系统所识别的水果数据,向舵机控制板发送适当的控制命令。为了保证控制实时性,必须采用串口通信技术与单片机进行数据交换。具体的执行步骤是这样的:STM32首先对机器视觉系统发出的识别数据进行解析,以确定需要分类的水果类型和它们的具体位置。基于解析的结果,STM32产生了对应的控制命令,并根据通信协议将这些命令封装为数据帧。STM32能够通过串行接口或SPI接口把数据帧传送至舵机的控制板上。
当舵机控制板收到STM32发送的数据帧时,它需要执行如下步骤:确保数据帧的准确性。当数据帧出现错误(例如校验码不一致)时,系统会忽略这一数据帧,并向STM32发送错误代码。对数据帧内的指令码和参数进行解析。通过分析指令文件得到目标函数值。根据给定的指令码,我们可以确定需要执行的操作种类,例如将舵机转动到特定的角度,并据此设定相关的操作参数,例如舵机的转动速度和角度等。在计算出当前时刻的目标位置后,将所选择的指令发送给单片机进行处理。操纵舵机以完成相应的操作任务。将所选择的指令编码成脉冲形式发送到舵机控制板。基于分析得出的操作模式和相关参数,舵机的控制板可以通过PWM信号或其他途径来指导舵机执行对应的操作。
4.2.3 WiFi模块与上位机通信
WiFi模块与上位机之间的通讯主要是依赖于TCP/IP协议栈来实现的。为了提高系统性能,在此采用了一种新的网络通讯技术–无线传输。首先,WiFi模块是通过无线网络与互联网或局域网络进行连接,以获取一个合法的IP地址。在该网络地址上设置一个唯一的端口号作为控制信息,并且将其封装成数据包发送给上位机。接着,上位机也接入了相同的网络,并通过指定的IP地址和端口号与WiFi模块建立了连接。在这个过程中,需要将数据传送给主控模块或者是从主控模块接收控制命令。一旦成功建立了连接,这两个系统将能够进行双向的数据传送以及控制命令的交流。
当分拣系统开始运作时,WiFi模块与上位机各自执行初始化步骤,并努力尝试构建连接。当接入了上位机后,系统自动完成对整个分拣系统的管理及控制功能。建立连接的步骤涵盖了网络设置、获取IP地址以及设置端口号等环节。当连接建立完成后,系统自动开启摄像头对分拣现场进行拍摄记录。一旦成功建立了连接,WiFi模块将能够将分拣终端收集的各种数据(例如水果的图像、大小、重量等)通过无线网络传送到上位机。当检测到有需要传送的数据传输过来时,则发送一个数据包至分拣终端。此外,上位机有能力通过无线网络将各种控制命令(例如分拣动作命令、设备状态查询命令等)发送至WiFi模块,从而实现对分拣终端执行的控制。另外,还可在上位机中实现对分拣装置的远程监控。当上位机收到WiFi模块传递的信息时,它会进行必要的数据处理和深入分析。当判断出所检测的水果种类或者品质等级不满足时,则向下位机发送报警信号。举例来说,上位机能够根据机器视觉系统所识别的水果种类和品质等级来生成相应的分拣指令,并通过WiFi模块将这些指令发送到分拣终端。在分拣终端中,单片机采集相关的信息,并将这些信息传递给主控芯片,主控芯片再依据该信息驱动执行机构来实现相应的分拣作业。通过WiFi模块与上位机之间的通讯连接,操作员能够实时监测分拣终端的工作状况和生产相关数据。在实际应用中,操作者可将自己所需要的信息输入至下位机,从而使其能够及时做出判断和决策,以达到高效分拣目的。此外,他们还能利用上位机远程操控分拣终端,例如启动或停止分拣、调节分拣的速度等操作。
4.3分拣机器人搬运及路径规划软件设计
4.3.1机械臂抓取包裹软件设计
机械臂会根据包裹的具体位置来调整机器人的方向,可以是左转或右转,确保机器人正对包裹,并根据包裹的尺寸(相对大小)来调节机械臂的爪子大小。
4.3.2路径规划算法设计
分拣终端采用了寻迹光电传感器来执行寻迹任务,其中三个光电传感器的主要功能是进行线路巡查。这是因为在光滑的地面上,红外传感器会接收到发射后反射出来的红外信号。如果探测器位于黑线上,那么它将无法接收这些红外光。然而,当探测器接收到这些信号时,相应的信号调整板上的发光二极管(light-Emitting Diode LED)会亮起,同时晶体管逻辑(Transistor Transistor Logic TTL)的输出端也会显示出高电平。因此,通过检测STM32端口的高低电平状态,我们可以判断任意一个探测器是否在线。如果两侧的灯都亮了,而中间的灯则熄灭,这意味着在小车前端中间探头在线,此时机器人是正向的。因此,在代码中应该规定小车必须直行;若边灯不亮,右边灯亮,但中间灯不亮或亮度比前面低,则表明右探头在线上,这时机器人不是正向行驶而是斜向行进。如果左侧的灯熄灭,而中间和右侧的灯同时亮起,这意味着左侧的探头线是在线的,机器人的方向是向右倾斜的,因此在编码过程中,需要通过小车的左转来实现方向的调整。
第5章系统调试与结果分析
5.1数据集的标准化和预处理编程
在使用机器视觉技术检测目标的过程中,对目标图像的收集和处理是不可或缺的环节。为了使视觉系统能更好地完成识别、定位等操作,需要将这些数据存储于计算机内部。图像采集的主要职责是为视觉系统提供最基础的目标图像,只有在成功获取这些图像之后,系统才能开始进行下一阶段的处理任务。由于摄像机成像过程中所处环境不同以及自身结构等原因,导致拍摄到的目标图像可能含有各种干扰因素,从而影响了目标识别与分割算法的性能。通常情况下,由于传输路径和周围环境的作用,原始的目标图像中都可能存在不同程度的噪声。因此,必须采用合适的方法去除这些干扰以获得质量较高的目标图像。为了获得高品质的目标图像,所有的视觉系统都会对这些图像进行初步处理。本文主要针对基于嵌入式平台的图像采集与分析技术展开研究。在我们的开发环境里,有两种不同的方式可以用来驱动工业相机进行实时的数据采集,分别是异步采集模式和同步采集模式。其中异步采集又称为非接触式采集或基于计算机的数据传输方式。异步采集的定义是,软件利用特定的图像采集工具来捕获一帧的目标图像,并开始异步地抓取接下来的一帧图像,然后将其存储在缓存中等待后续处理。当一个图像获取设备被触发之后,软件就可以启动另一图像获取设备来完成当前帧图像的采集。如果软件在异步采集开始后的前一帧图像处理出现超时,那么它会重新获取一张新的图像以等待进一步的处理。当接收到用户命令后软件会立即启动当前图像获取设备以读取下一帧图像并存储到缓存中等着后续处理结果。因此,在异步图像采集模式下,软件的最大延迟时间必须预先设定,否则在实时运行过程中,软件可能会因超时而出现错误。同步采集是指软件通过特定的图像获取设备直接获取一帧目标图像,然后进入等待阶段,直到图像处理完成后才能获取下一帧图像。
5.2水果轮廓分析
鉴于自然环境下摄像机捕获的图像可能会受到多种外部因素的干扰,为后续的图像边缘检测工作做好准备,我们通常需要对这些图像执行一系列的预处理步骤。其中,图像处理是非常重要而又困难的一个环节。在众多的学术文献中,预处理步骤主要涵盖了图像的灰度转换、二值化处理、滤波降噪技术以及图像的分割技术等。其中对于图像去噪处理是比较常见也很重要的步骤。尽管如此,经过三轮的实验检验,我们最后决定只采用灰度化和中值滤波这两种图像预处理方法来降低噪声。这是因为对于水果图像而言,其纹理细节丰富而复杂。如图所示的是水果的识别图像。
图5-1水果识别图
首先,我们将对在实验中应用的关键图像处理技术做一个简洁的概述:
(1)对图像进行灰度转换
图像的灰度化过程涉及将3通道的彩色图像转化为由0-255个等级构成的单通道灰度图像。由于图像的颜色信息与亮度信息之间存在着相关性,所以在实际应用时就可以利用灰度化技术来增强或削弱图像的对比度以及细节部分,从而使其更加清晰地展现出来。在图像处理和边缘提取的全过程中,灰度化是一个不可或缺的步骤。无论是进行中值滤波、其他图像处理,还是检测图像的边缘,灰度化图像都是必不可少的。因此,本研究中的两组实验都对这些图像进行了灰度化处理。为了便于对比分析不同算法的效果,文中给出了三种算法的处理结果并加以比较分析。利用python中的skimage库,我们可以轻易地完成图像的灰度转换。
(2)进行二值化处理和阈值划分
图像的二值化处理涉及到在灰度图像中,当灰度值超过特定阈值时,将其设定为255,而当其低于或等于某一阈值时,将其设为0。这通常是图像值分割操作的一个环节,用于分隔或消除图像中的噪点。
(3)采用申值滤波与均值滤波技术
对于灰度图像的滤波降噪,主要采用两种方法:第一种是中值滤波,而第二种是均值滤波。本文介绍一种新的滤波方法——中值滤波和均值滤波相结合的方法。中值滤波的方法是从nxn的像素窗口中提取像素值的中间值,并把这个值分配给窗口内的其他像素点;均值滤波的方法是从nxn的像素窗口中提取像素值的平均值,并将这个平均值分配给窗口内的每一个像素点。由于这两种算法都是基于一个共同基础——即对于噪声的处理必须以去除为目的,因而二者有着本质不同。尽管这两种滤波技术在功能上极为相似,但它们之间仍有一些微妙的区别。由于它们都能有效地去除图像中的高斯和椒盐噪声,所以被广泛使用于图像处理领域中。均值滤波是线性滤波器的一种,它的处理速度相对较快,但在消除噪声方面,它不能完全消除,只能起到一定的减弱作用;中值滤波是一种非线性的滤波技术,尽管它的运行速度比较缓慢,但在消除噪声方面表现出了显著的优越性。识别样例如图5-2所示。
图5-2水果特征图
5.3水果缺陷分析
对于水果的质量检测,缺陷检测始终是一个挑战。目前,最有效的水果缺陷检测方法通常是利用红外探伤技术来对水果内部进行检查。由于这些无损检测手