目录
1 绪论 3
1.1 研究背景与意义 3
1.2 国内外研究现状 5
1.2.1 国外研究现状 5
1.2.2 国内研究现状 6
1.3 主要内容与思路 8
1.4 研究方法 8
2 系统设计方案 9
2.1 系统总体结构 9
2.2 总线舵机介绍 10
2.3 控制板简介 11
2.4 传感器 12
3 模型建立 12
3.1 机械臂坐标系建立 12
3.2 位置、平移交换 12
3.3 角度/方向、旋转变换 13
3.4 正逆运动学分析 14
3.5 逆运动学分析 17
4 软件设计与算法实现 19
4.1主程序设计 19
4.2图像识别 20
4.3机器人行走控制 21
5 实验分析 22
5.1 keil简介 22
5.2 Zide上位机软件 23
5.3 设计模拟场景 24
5.4 测试试验结果 25
6 结论 26
参考文献 27
1 绪论
1.1 研究背景与意义
在现代物流行业中,物料的分拣环节显得尤为关键,它不仅确保了工作的高效率和准确度,同时也对分拣系统的技术水平提出了更为严格的标准。随着科学技术的发展以及社会经济的进步,越来越多的自动化设备被应用于工业生产当中,这使得物料分拣的智能化程度不断提高。面对大规模的物料处理,传统的手工分拣方法存在着劳动力短缺、效率不高和错误率较高的问题。随着计算机技术的发展以及图像处理技术的进步,越来越多的学者开始将机器学习理论应用于物料分拣过程当中。因此,迫切需要开发一个基于图像识别技术的物料分类系统。图像识别是指利用计算机图像处理方法对图像信息进行分析处理的过程。图像识别技术,作为计算机视觉领域的一项核心技术,已经在物料分拣领域得到了广泛的应用。它利用图像信息来完成物料分拣工作。利用图像识别技术,物料分拣系统可以自动鉴别各种物料的属性,并与预设的分类准则进行对比,从而确保对各种物料进行精确的分类操作[1]。本文针对传统物料分拣方法存在效率低、准确率低等问题,设计了一套基于图像识别的智能分拣系统。这一基于图像识别技术的物料分类系统不仅有助于提升分类速度和准确度,同时也能减少在分类过程中由人为因素造成的干扰和人力成本。因此,对于物料分拣系统而言,图像识别技术是一个非常关键的关键技术。基于图像识别技术的物料分拣系统结合了机器视觉和自动化控制的先进技术,它是一种集机器视觉与自动化控制于一体的智能工具,专门用于根据特定规则对混合材料进行自动分类和整合。该系统对各种不同种类的原材料都能实现准确快速的自动识别和归类处理,从而减少人工操作环节并节约人力资源成本。这一系统在当代的生产与制造行业中扮演着至关重要的角色。
首先要明确的是,这套系统能够显著提升企业的生产效能。由于采用图像采集技术与图像处理算法相结合的方式,实现了自动分拣作业过程中对物料信息的自动识别和统计。利用计算机程序控制、传感器和其他相关设备,一个基于图像识别技术的物料分类系统能够迅速且精确地对物料进行分类,从而显著提升了分拣的效率。其次,这种系统能够有效降低物流成本。此外,这一系统还有助于减少生产的总成本和分拣错误,从而确保员工的身体健康和安全[2]。
接下来,采用图像识别技术的物料分类系统展现出了广大的应用潜力。目前,国内外许多学者在研究如何利用机器视觉技术来实现对不同种类、形状及颜色的物料进行自动识别与分选。比如说,该技术能够在物流中心、制造厂、仓储设施等多个应用场景中,对各类物料进行自动化的分类和整合。
尽管基于图像识别技术的物料分类系统在物料分类领域已经取得了不小的进展,但还存在许多亟待深入研究和讨论的问题。本文将从理论与实践两方面对该课题进行论述。例如,需要考虑如何增强系统的识别精度和工作效率,如何适应各种不同的场景和需求,以及如何确保系统运行的稳定性和可靠性。
这套以图像识别为基础的物料分类系统不仅显著提升了分类的效率和减少了人工开销,还确保了分类的精确度,并减少了由于人为失误导致的物料混淆或遗失的风险。在实际应用中,该系统能有效地实现对产品的快速分类并将其传送至相应工位上进行加工处理。此外,随着生产需求的多元化和市场环境的不断变化,该系统也展现出极高的灵活性和可扩展性,能够根据各种不同的生产环境进行相应的调整和优化。总之,基于图像识别技术的物料分拣系统在实际应用中取得了良好的效果。综合考虑,基于图像识别技术的物料分类系统在提升生产效能、减少生产成本以及满足市场需求方面具有不可忽视的研究背景和实用价值。
1.2 国内外研究现状
1.2.1 国外研究现状
自20世纪60年代起,外国的科研人员便着手研究物料分拣系统的模型,目的是为了提高物料分拣的工作效率和准确度[3]。目前世界上很多发达国家都已实现了对自动化仓库中物品的自动检测与分拣,并取得了一定成果。这一自动分拣系统的概念最初是由美国、德国等国提出的,并在第二次世界大战结束后,在美国、日本以及欧洲的物流中心得到了广泛的应用[4]。随着科学技术的发展,自动化水平不断提高,分拣技术也得到了长足的进步。自20世纪60年代起,国外的分拣系统研究已经开始关注检测和分拣系统模型的研究。Harvey.Subcommand Richards.Muffin在1960年首次提出了这一观点,并为亨氏公司(H.J.Heinz Company)设计了动态分拣机器[5]。国内对自动分拣技术也进行了大量的探索与实践工作,尤其是近十几年,随着计算机技术的发展,我国自动化立体仓库及分拣设备得到快速地发展。例如,在日本的医疗领域、化妆品生产行业(如花王、资生堂等)以及连锁企业(如高岛屋等),全自动分拣设备得到了广泛的应用。随着科学技术的发展,自动化技术和电子信息技术都得到了很大程度上的提高,尤其是以计算机技术为主的现代技术的迅速进步对社会经济的影响越来越大,促进了全球物流业的飞速发展。在美国,自动化的检测、分类和传输生产线极大地促进了工业的发展。随着经济全球化趋势日益明显,各国都把自动化物流作为发展重点。在欧洲、英国、德国等多个国家,技术已经达到了很高的发展水平。德国的四门子公司在其物流设备体系中持续地推出各种自动分拣设备,并在这一过程中起到了至关重要的作用。我国自动化分拣水平与国外还有较大差距。目前,在全球范围内,较为先进的自动分拣机包括小型物品自动分拣机、小型中速自动分拣机、推块式高速自动分拣机、数字式拣位系统以及全自动分拣机等多种类型。
在国外,分拣系统的研究起步较早,二战结束后,以美国和日本为例的发达国家开始借鉴邮局分拣信件的经验,着手进行自动化分拣系统的研究。在第二次世界大战后不久,日本就开始了对分拣设备和技术的研发,并形成一定规模。到了1985年,日本的自动分拣机数量惊人地达到了366套,这使其成为了当时全球拥有最多自动分拣机的国家。此后,随着计算机和通讯技术的发展以及自动化分拣设备成本的降低,自动分拣技术逐渐成熟。在物流、医药、药草等众多领域,自动分拣机都得到了广泛的应用。随着计算机技术和信息技术的发展,人们越来越多地关注计算机自动识别技术在智能分拣中的应用。早在1990年的时候,位于芝加哥伊利诺伊州的Rush-Presbyterian-St Luke医学中心已经研发出一套机器人分类系统[6]。该系统采用了先进的条码技术和计算机图像处理技术,能够实现自动化分拣工作,并能将分拣过程中产生的垃圾回收再加工成医疗产品,具有一定的实用价值。该系统采用医学机器人来识别条形码信息并对数据进行分类,然后通过分拣站对数据进行集中分拣处理,为未来的自动分拣系统提供了一种可行的标签识别方案;在2001年,Masel D.T对标准的环形物料系统进行了分类研究;在2010年,Arko D使用OpenCV来处理摄像头捕获的图像颜色数据,并由机器手臂进行自动分类,这一系统为自动分类设备与机器视觉技术的融合奠定了坚实的基础[7]。
1.2.2 国内研究现状
在我国,利用图像识别技术进行物料分类的系统研究和实际应用已经逐步展现出其价值。随着科学技术水平的不断提高,基于图像处理的分拣技术得到越来越多学者的关注。例如,研究团队开发了一套以图像识别为基础的通用轻薄件分拣系统,该系统不仅分拣效率高,而且成本相对较低。为了实现这一目的,本文提出了一种基于图像处理技术的物料分拣系统。这个系统主要是通过Matlab来处理和识别图像,并对其电路进行了详细设计。本文通过对图像识别技术进行分析,结合物料特点以及图像处理理论,提出一套针对物料自动分拣系统的设计方案。首先收集了物料的图像,接着利用Matlab软件对这些图像进行了灰度转换和分割处理;接着根据所获得的灰度值计算出每个物体在各个区域内面积以及周长等特征值,再结合各尺寸之间的关系确定目标物的位置信息。图像识别软件采用Matlab所提供的算法进行设计,对处理后的图像进行CNN神经网络的培训,并妥善保存物料的特征模板。最终,通过摄像头将物料与已存储的特征模板进行比对、识别和分类,并将物料分类的相关数据发送至Arduino。本论文是针对目前物流行业中常见的物料分拣问题而提出的一种新方法。近几年,国内对基于图像识别技术的物料分类方法进行了深入的研究和广泛的应用。在物料检测方面,主要是通过机器视觉技术实现对被检物体表面缺陷的实时监测。在物料识别领域,科研人员利用各种视觉传感器(如相机、激光雷达等)对物料进行了图像和数据的采集。接着,他们运用图像处理技术和模式识别算法,成功地实现了物料的自动化识别和分类[8]。
郭鹤与常修源针对物料分类的需求,设计并制造了一个基于机器视觉技术的物料分类设备。该装置由机械部分和控制系统两大部分组成,其中,控制系统包括硬件电路及软件设计。该装置拥有三个自由度,并通过CoreXY结构来控制抓取机构在X和Y方向上的移动,同时还利用连杆-滑块机构来控制其在Z方向上的移动。介绍了该装置机械结构以及控制系统硬件组成,分析了机械手运动轨迹及动作流程。该装置能够通过手势识别技术实现非接触式的启动。它使用Canny算子来检测物料的边缘,并据此判断物料的形状。通过HSV图像模型,它可以确定物料的中心点颜色,并将这些颜色和形状信息传输到上位机。上位机的人机交互界面会实时显示这些信息。此外,上位机还通过串口协议将控制信号发送到ARM单片机,从而控制执行机构进行物料的抓取和放置。本文所提出的基于多传感器融合技术的自动物料分拣控制系统能够完成多种尺寸大小物料的分拣工作。对各种规格的物料进行了多轮分拣实验,并对分拣的结果进行了记录。分拣设备的平均准确率达到了100%,而平均分拣所需的时间为78秒,这完全满足了的预期目标[9]。本课题的研究成果已经成功应用于某企业的物流仓储管理系统中,取得良好的经济效益和社会效益。在物料分类领域,科研团队融合了机器视觉、智能控制以及机械设备等先进技术,成功设计并实施了一套物料分类系统和工具,以满足各种应用场景对物料分类的特定需求[10]。
总的来说,物料分拣领域已经见证了图像识别技术的显著进步。随着人工智能的快速发展,基于机器视觉技术和深度神经网络的图像识别技术越来越多地被应用于生产过程中的物流管理与控制中。在物料分拣技术的进步、深度学习为基础的图像识别技术以及其他相关的图像识别方法上,国内外的研究者都进行了深入的探讨,并在实践中获得了显著的进展。随着科技的进步,物流行业对自动化设备及智能化产品要求越来越高。本研究旨在设计一个简单的物料分类设备,该设备可以用于快递分拣和常规物品的分类等多种应用场景。
1.3 主要内容与思路
该系统的目标是创建一个实用的物料分类工具。本项目主要针对物料的分类与定位进行了相关的算法分析和软件仿真,并最终将其应用于实际生产中去。伴随着图像识别技术的快速进步,可以通过充分利用OpenMV产品中的丰富资源,并根据特定的性能和结构需求,灵活地采用各种模块策略,并通过编程来实现实物功能,进而完成物料分拣的整体设计。最终确定采用图像处理算法作为主要处理手段,并在此基础上进行软件部分的开发,以满足实际需求。关于这一课题的整体研究方向,计划借鉴国内外的部分功能模块,并通过查阅相关资料、网络查询以及向指导教师求助等多种方式来解决技术难题。详细的操作步骤如下:
(1)对系统进行需求分析,明确系统的功能需求、性能指标等;
(2)根据任务书的要求,对系统进行大体方框设计,概述系统的硬软件开发环境;建立硬件系统的基本模块和软件的处理流程等;概述系统实施的难点,提出解决方案;
(3)对系统进行详细设计,设计出总方案里的所有功能模块。
(4)对系统进行硬件实现和软件仿真;
(5)提交系统,完成论文报告的撰写。
1.4 研究方法
1.根据需求分析:首先需要明确系统的需求,包括分拣的物料种类、尺寸大小参数。
2.机械装置设计:根据物料的特性和分拣需求,设计合适的机械装置,包括传送带、机械臂、分拣盘等。
3.目标识别方法选择:选择合适的图像处理算法和神经网络模型,进行特征提取和模板匹配,实现对物料的快速准确识别。
4.系统集成与控制:将图像识别模块、机械装置以及控制系统进行集成,实现物料的自动分拣。此外,还需要设置不同的工作模式以适应不同的生产场景。
5.人机交互界面设计:设计易操作的人机交互界面,使得操作员可以方便地查看识别结果并进行必要的干预。
6.系统测试与优化:在实验阶段,需要对系统进行充分的测试,并根据测试结果对系统进行优化,提高系统的分拣效率和准确率。
2 系统设计方案
2.1 系统总体结构
自动生产线的末端装有分拣单元,该单元的主要任务是对上一个单元送来的工件执行分类。该单元确保各种不同色彩的工件可以从不同的料槽中被分流,其机械设计如图2.1所呈现。当从传输站接收的工件放在传送带之上并被进料口的光电传感器侦测到,变频器便会被激活,接着工件会被传送至分拣区域接受分类处理。在分拣活动过程中,控制单元负责操作步进电动机以引导传送带进行位移,接着把工件传送到预定的位置,最终通过收料口的光电感应器和机械手臂取样装置将产品取出。分拣单元主要构成元素包括传送带、出料滑槽、推料气缸、漫射式光电传感器、光纤传感器以及磁感应接近式传感器。在传送辊道上方安装有一个与之相连通的料斗,料斗底部开有两个漏斗状开口,通过漏斗状开口可将落入传送带的物料取出。传动带的驱动结构使用了三相减速电机,该电机主要负责拖曳传送带以实现物料传输,其主要组成部分包括电机支架、电动机和联轴器等。通过联轴器将两个皮带轮连接在一起,再与皮带相连接。变频器负责调节电动机的转速快慢。在实际应用中,由于电机经常发生故障导致不能正常工作,因此需要一个能够实时监控其运行状况的控制系统。在本设计中,主要采用了STM32F103ZE作为核心控制单元,并与外部输入输出控制电路STM32F103ZE相结合。通过整合外部输入输出控制电路的气动装置、传感技术和位置控制等多种技术,能够对已经完成加工的产品进行自动化分拣,正如图2所示的那样,这是整个系统设计的总体框架图
本文主要探讨了基于图像识别技术的物料分类系统。本课题设计了一种基于机器视觉技术的物料分拣系统,它由图像采集模块、图像处理与模式识别模块、驱动执行模块等组成。首先,采用语音识别或按键来启动和调整模式,接着利用OpenMV的图像处理技术对尺寸进行分类。通过串口通信,将这些信息传递给STM32单片机。单片机处理后,可以控制舵机进行旋转,从而实现物料的自动分类。
图2.1 系统总体结构框图
2.2 总线舵机介绍
传统的PWM舵机主要是利用单片机来发送PWM信号,进而实现舵机的旋转控制。而总线舵机的设计中,舵机内部配备了一个主控芯片,该芯片已经实现了对PWM信号的全面控制。这种方法需要在舵机上安装大量的硬件电路,成本高、体积大,而且不适合使用无线通信技术。在这个设计中,使用单片机作为控制单元,以达到对舵机进行远程监视和操控的目的。它可以在上位机上实时显示当前时间、位置信息以及电机转速等数据。你只需要通过串行端口发送字符串指令,就可以控制舵机。由于单片机具有很高的可靠性,所以整个控制系统都可以在现场进行测试。这一做法极大地简化了系统硬件的设计以及调试流程。另外,该控制系统还具有语音功能。舵机内部的芯片具有监控舵机运行状态的功能,因此,利用串口技术也可以获取舵机的角度数据,进而达到工作状态切换的目的。
(1)舵机供电范围4.8-8.4V。
(2)扭力15kg/cm。
(3)八种角度工作模式:
用户有能力在270度角度控制正反转、180度角度控制正反转、360度定圈连续旋转正反转和360度定时连续旋转正反转这八种不同的操作模式中切换同一舵机,从而在这八种不同的角度操作模式中实现切换。
(4)单总线通讯,波特率115200,舵机之间通过总线串联。每个舵机都有自己的旧号。
(5)舵机默认ID号为0,用户可通过命令改变舵机ID, 255代表广播地址。
(6)可回读角度,用户可读取舵机当前实时位置。
(7)串口指令控制,无需用户编写舵机PWM驱动程序,控制简单。
2.3 控制板简介
图2.2 开源STM32控制板
开源STM32控制板是杭州众灵科技有限公司开发的一种控制器,它集成了PWM舵机控制、总线设备控制(包括总线舵机、总线电机、总线MP3)以及多种控制方式(如USB、串口、手柄、红外等)。该控制板具有功能强大、操作简便、性价比高等特点,非常适合初学者使用。这套配套的图形化软件为你提供了便捷的舵机、电机、MP3等设备操作体验,同时,控制器还拥有指令存储功能,确保设备在不需要电脑辅助的情况下,即使脱机也能流畅运行。
2.4 传感器
使用一号按键进行短按以切换游戏模式,而长按则用于执行前的抓取动作。长按动下拉操作杆进行短按,同时长按动上拉绳和下拉杆,使其与下拉控制按钮配合完成上拉操作。二号按键可以短按并根据当前的模式来执行动作组合。三号按键短按长按执行操作时进行手动控制操作。采用两条长度为30cm的4P转杜邦线。将控制器和继电器连接在一起。一号按键连接到控制板传感器接口的S3接口,而二号按键则连接到控制板传感器接口的S4接口。
3 模型建立
3.1 机械臂坐标系建立
当描述空间中的位置、速度和加速度时,笛卡尔坐标系占据了主导地位,这是一种由三个相互垂直的坐标轴所组成的众所周知的系统。关于围绕一个轴旋转的角度数量,应选择右手的定则来确定方向,如下图3.1所示:
图3.1 机械臂坐标
3.2 位置、平移交换
位置是以一个三维向量进行展示的,而平移变换则涉及到坐标系统在空间内的位置变化,这种变化可以通过坐标系中初始点O的空间方向向量来描述,具体如图展示。多次的平移转换过程相对直观,当将向量互相叠加时,能确定空间内某个点在平移后坐标{B}系统中的确切位置。
图3.2 位置、平移交换
3.3 角度/方向、旋转变换
与位置表示相比,方位的表达方式通常更为复杂。在探讨物体的方位前,需要先阐明一个关键点,那就是给物体展示一个三维的位置和方向,通常会为这一对象“添加一个随其活动的坐标系统,再通过阐述此坐标系与参考坐标系的联系来描述这个物体的特征。
当想要描述一个物体在坐标系内的方位与位置时,其实可以视为是要描绘坐标系间的相互关联。在这里主要谈论角度与方向的表示方式,只需讨论两个坐标系统之间的相互关联即可、
图3.3 角度/方向、旋转变换
通过将坐标轴单位向量用参考坐标系表示,看图可以直接写出下列公式:
再定义一个2x2的矩阵:
显然,这个矩阵的每一列为坐标系B的坐标轴单位向量在坐标系中的表示,有了这个矩阵 就能画出坐标系B的x轴y轴,确定B的唯一朝向。
3.4 正逆运动学分析
DH参数与坐标系的确定
DH参数描述了一个通过四项参数来描述两组关节连杆相对位置和角度的机械臂的数学模型与坐标体系,并用于精确的确立。从以下内容可以明确,由于此策略在限制原点的位置以及X轴方向时,人为地降低了两个自由度,因此我们只需要使用四个参数就可以解释关节间的变动(原本是六自由度坐标)。DH所选择的四项标准均含有非常清晰而确切的物理意义:
1)link length(连杆长度):两个关节的轴(旋转关节的旋转轴,平移关节的平移轴)之间的 公共法线长度。
2)link twist(连杆扭转):一个关节的轴相对于另一个关节的轴绕它们的公共法线旋转的角度。 3)link offset(连杆偏移):一个关节与下一个关节的公共法线和它与上一个关节的公共法线沿 这个关节轴的距离。
4)joint angle(关节转角):一个关节与下一个关节的公共法线和它与上一个关节的公共法线绕这 个关节轴的转角。
以上定义看起来会很绕口,但是结合坐标系看就会清楚许多。
首先你应该注意到最重要的两条“线”:一个关节的轴(axis),和一个关节的轴与相邻关节的轴 之间的公共法线(common normal)。在DH参数体系里,把axis定为z轴;common normal 定为x轴,且x轴的方向为从本关节指向下一个关节。
显然,仅根据这两条规则还不足以精确地为每个关节确定坐标系。在仿真机械臂等多种应用场景中,虽然常常需要运用其他手段来建立坐标系,但深入掌握这些方法对于理解机械臂的数理表达以及未来的分析分析分析具有非常重要的意义。图示展示了两种常见的机器人关节和连杆。虽然这两种类型的关节和连杆可能并不一定与实际机器人中使用的关节和连杆有相似性,但它们都是非常常见的,并且都能轻松地展示出实际机器人的任何关节结构。
图3.4 实际机器人的任何关节
若选择Z轴为指定,并且关节进行旋转,那Z轴的位置应该是在右手的规则旋转路径上,围绕Z轴的转动角度作为关节的一个变因;如果一个关节是滑动的,Z轴将是一个直行的方向,而沿着Z轴的连杆的长度d则被视为该关节的变量。
在确定X轴的情况下,若Z轴出现不平行或是交叉点,Z轴通常呈现出斜线状,然而,会出现一条距离最短、与任意两条斜线相交的公垂线。在垂直方向上为本地参考坐标系统确定X轴的值。若an代表Zn 1之间的公垂线,Xn的走向将会遵循an。
在某些特定的情境下,由于两个关节的Z轴保持平行,它们会展现出许多公垂线。在此情况下,可以选择与前关节公共垂直线相同的一段,以此简化整个模型;当两个关节交叉,它们相互之间没有直线,那么可以将与这两线相交的平面的直线称作X轴,这有助于模型的简化。
给每个关节都附上对应坐标系之后,如下图3.5所示:
图3.5 关节对应坐标系
在坐标系设置明确之后,我们可以采用更为简明扼要的手段来描述上述四个复杂的参数。link length(连杆长度)ai -1定义为:沿着X i-1上的Z i-1距离到达Z i的距离。link twist,也被称作连杆扭转αi-1,表示Zi相对于Z i-1在Xi-1方向上的旋转角度。link offset(或简称连杆偏移)代表从Zi的X i-1到X i的这段距离。joint angle(关节转角)代表Xi相对于X i-1围绕Z方向旋转的具体角度,该部分包含机械臂DH参数的详细列表:
表3.1 机械臂DH参数
根据公式:
可以一次计算每个关节,最后得到机械臂的正运动学公式:
3.5 逆运动学分析
正运动学分析是已知每个关节的姿态的前提下,解算出末端执行器的姿态。而逆运动学研究的 问题是,要求控制末端执行器到达某一位置时,各关节应处于什么姿态。
逆运动学最基本的思路,是从正运动学反过来,对于的机械臂而言,也就是已知末端执行 器的位置和朝向,求每个关节的角度。的机械臂的三维运动是比较复杂的,这里为了简化模型 更加便于大家的理解,对模型进行精简,先去掉下方云台的旋转关节,这样就可以在二维 的平面上进行运动学分析了。
其中0,1,2是各个关节的角度,未知量。P(x,y,)是末端执行器的位姿表示,x和y是 在OXY平面的坐标,是末端执行器与水平面的夹角。在这里使用几何法进行分析:
图3.6 逆运动学
逆运动学代码分析
逆运动学参数初始化 L0:地面之云台1号舵机中心轴的距离, L1:1号舵机中心轴到2号舵机中心轴的距离, L2:2号舵机中心轴到3号舵机中心轴的距离, L3:3号舵机中心轴到爪子末端(闭合后)的距离。 L0、L1、L2、L3在机械臂实物中所指代的距离如下图所示: