基于机器视觉的机械手定位设计-控制系统_第1页
基于机器视觉的机械手定位设计-控制系统_第2页
基于机器视觉的机械手定位设计-控制系统_第3页
基于机器视觉的机械手定位设计-控制系统_第4页
基于机器视觉的机械手定位设计-控制系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课题名称基于机器视觉的机械手定位设计--控制系统 绪论1.1设计的背景及意义随着我国各个领域的不断发展,尤其是我国的农业技术水平和工业技术水平得到了很大的提高,农业和工业的发展是我国进步的一个标志。工业和农业逐渐向着机械化和自动化发展,一些可编程控制器PLC和机械手不断的运用到工业生产和农业生产之中以代替人工进行操作。PLC是一种数字化运算代替了电子信息系统的控制器,虽然输入的条件不一样,但是PLC完成的任务是一样的,可靠性高,写程序方便,读程序时容易看懂,占用的空间小,都在室内安装,维护方便,能适应各种工业环境等优点[1]。PLC控制和继电器控制相比是无触点设备,通过编程就能进行控制,它能够在各种工业和农业环境下进行操作,而且通过简单的编程就能实现各种所需要的功能。改变一小段程序就能改变它的工作状态,得到不同的控制结果。PLC可以实现在机器控制车间以外控制,这样既减少了人工做业时机器对人造成的危险性,而且提高了生产效率[2]。随着PLC的不断升级和改进,简单的一台电机控制已经实现不了所需要的控制要求,所以人们开始组合几台电机通过PLC进行控制,所以三轴控制系统和多轴控制系统控制的机械手不断的运用到工业和农业领域进行操作,以实现人们的需求。目前机械手技术性能在不断增强,应用在领域不断的扩大,所以控制精度也有了很大提高。机械手的运用可以满足大批量的生产要求,不用培训输入程序就能快速投入生产,可以避免生产过程中人为造成的影响。通过PLC控制机械手定位,是机械手发展的一个方向。机械手的重复定位精度和运行工作时的速度是机械手控制的两个重要指标[3]。通过机器视觉系统控制机械手,使机械手的应用领域更加扩大。机器视觉系统运用和自动化设备相互配合能够提高设备的智能化、自动化程度,提高设备的使用率和可靠性能,更加有效的发挥了自动化设备的效能[4]。在大批量生产的工厂中,通过让你用肉眼检查产品质量效率很低,而且准确度不高,检测的精度也不高。用摄像头监控检测方法可以大大提高生产质量和工厂的自动化程度。人们长时间用肉眼看同一个工作过程,视觉上会产生幻觉错误,而摄像头监控则可以一直进行检测、测量、分析和识别任务。现在工厂的工人成本不断增加,通过机器视觉和机械手的配合,可以实现无人操作,给工厂减轻了成本负担,工厂可以将省下的人工成本用于其他产品的研究和开发[5]。在今后工业和农业自动化控制发展过程中,机器视觉系统控制的机械手控制是必不可缺的一部分,它能代替人工进行更高难度操作,生产出的产品质量更好,生产成本更少,生产过程中完成期限更短,能完成人工实现不了的工作,同时还提高了自动化水平,一定程度上增加了产品数量和质量,对于工业和农业发展具有重要的意义。1.2国内外研究现状1.2.1国内研究现状在国内机械手的运用领域很广泛,起初机械手在我国主要运用在化工等行业的自动化生产线上,用机械手进行焊接、切割、搬运物体及包装。后来机械手不断发展,用控制模块进行控制,可靠性不断提高,操作过程也变得容易、快捷和出现故障还可以维修。传感器的地位也变的很重要,之前一直只有位置和速度传感器,现在机械手上添加了视觉、力觉、触觉传感器,通过这些传感器的配合使用,可以实现远程用遥控器操作机械手工作。改善了机械手的缺陷,而应用最具有代表性的就是机器人的出现[6]。在国内机器人和机器视觉刚开始发展时,比发达国家晚很多,各方面的知识还欠缺。而经过了二十几年的发展和运用,在国内的机器视觉和机器人技术在很多方面发展很快,突破性很强。这也离不开国家科技发展的策略和对科技创新的扶持,通过机器视觉控制机械手定位是机器人发展的基础。目前国内相关企业对机器视觉和设备相结合方面进行了大量研究,如凌云光技术集团研发的视觉组件VisionRobot,VisionRobot是配合工业机器人工作的机器视觉系统,提高了在机器视觉下运行多维运动的工业机机械手运行的精度,也提高了设备的智能化[7]。近年来,机器视觉机械手的研究发展也很快,比如中国科学院沈阳自动化所和东北大学人工智能与机器人实验室的成员对“基于视觉定位的脑外科机器人”进行了研究[8]。这项机器视觉控制机器人的研究就是基于机器视觉对机械手进行精确定位的,主要用于医学方面,借助机器人来进行手术,不仅提高了病人的生存几率,而且提高了医学领域的自动化发展程度。哈尔滨工业大学利用一种异构双目活动视觉系统实现了全自主足球机器人的导航运动,这种机器人在结构化环境中具有很好的稳定性,还能精确地去抓取球,还可以实现全自主机器人导航任务[9]。机器视觉在机械手上的运用最大的优点就是提高了智能化。例如,朱加雷等人将双目立体视觉技术应用到了工业焊接机械手中,该系统可以实现焊接工业机械手对空间的检测和定位,拓宽了双目立体视觉的应用范围[10]。韩铮等人利用微软公司研发的Kinect对场景内的信息进行实时检测,结合视觉信息利用算法对工作空间的机械臂末端进行路径规划,完成了机械臂在非特定环境下自主定位抓取[11]。1.2.2国外研究现状在国外机械手运用非常成熟,不仅运用于生产生活中,工业机械手实现的功能不断增多,机械结构变成了模块结构、可以重新安装的结构发展。日本是世界机械手第一大国,它研究出的机械手数量几乎占全球机械手数量的一半,美国研究的机械手数量虽然没有日本多,但是美国对机械手研究的核心技术比各个国家先进,占有很大的优势[12]。机器视觉和机械手技术最早起始于国外,在最近十几年的发展中,机器视觉和机械手相结合的机器人发展也取得了丰硕的研究成果。而基于机器视觉的机器人具有广阔的应用景,深受国外学者关注,特别是具有机器视觉功能的智能机器人。随着工业机械手的发明和运用,一些科学家不满足机器视觉只控制机械手进行操作,开始在机械手上添加了很多传感器,摄像机就是其中之一。通过摄像头人们开始慢慢研究通过机器视觉的机器人[13]。经过MIT的科研人员不断地研究和探索,终于在1965年由Roborts制造出了第一个配有视觉传感器并能识别与定位积木的简单机械手系统,但这种系统只是把视觉传感器当作一般的外部传感器来使用,人为的控制比较多。在1979年,Park和Hill等科学家开始提出视觉反馈控制机械手的概念,从这时开始,具有视觉的机器人真正成为了机械手研究领域的一个方向,开启了让机械手拥有视觉的智能控制时代。后来Hutchinson等科学工作者对视觉反馈控制做了大量的研究,并提出了一套较为完善的视觉伺服的概念,使得机器人的机械手能够利用图像信息自动形成闭环进行控制。从此以后机器视觉和机械手技术不断成熟,功能不断强大。比如:北美汽车研究院为美国福特公司设计的有关BIN-PICKING系统能够使激光雷达在短短几秒内对整个工件箱进行扫描,从而得到三维图像信息,根据三维图像和工业机械手数学模型,采用模式识别技术可以直接从图像中找出机械手要抓取的三维工件所在的最佳坐标点,最后根据机器视觉系统的计算结果可以准确的将工件放入传送带中去[14]。FANUC机器人公司开发的FANUCiRVision机器人视觉系统采用一个二维机器人引导工具来完成工件不同部位的定位与缺陷检查,该机器视觉控制的系统提高了产品的质量和数量,也使设备更加智能化,大大降低了企业的支出成本。近期,德国西门子、库卡机器人、ABB等正在进行工业生产线方面的智能化改造升级,其中机器视觉控制工业机械手集成产品是重要组成部分[15]。1.3设计主要内容本设计通过用西门子PLC来控制三轴机械手的X伺服轴和Y伺服轴,来实现三轴机械手的精确定位。设计的主要内容如下:首先选择机械手控制所需要的硬件设备及软件设备。查看使用说明以及注意事项,找出各个控制位对应的I/O口,分析自己所用到的I/O口以及输入输出通道。画出整个控制的流程图,写出引脚的分配。对机械手的X和Y两个伺服轴进行控制,编写相应的机械手控制程序,不断的进行调试及修改,最后程序编译没有错误时,将程序下载到试验台里面。启动机械手点动原点模式Z轴先到原点位置,当Z轴移动到原点时,X和Y才动作回到原点位置。按下手动模式控制机械手运动。控制机械手Y伺服轴运行,每运行一次记下运行的位移坐标以及所运行的实际距离测量四十次数据,并且通过MATLAB采用神经网络(6)将图像处理的值输入到神经网络中得到机械手位置值,输入到定位程序进行定位。1.4论文结构安排基于机器视觉的机械手定位设计--控制系统论文结构总共分为六个章节,各个章节安排如下:第一章是绪论,主要介绍了我选课题设计的背景及意义,本次课题在国内外研究的现状,课题的主要内容以及论文结构的安排第二章总体方案设计,主要介绍了硬件的总体方案设计和软件的总体方案设计。第三章是系统硬件设计,介绍了控制面板中所用的主要硬件型号和其他硬件,以及PLC的输入/输出端口。第四章是系统软件设计,主要介绍了各个软件程序流程图。第五章是系统的运行及数据处理,主要介绍了本次设计所有软件程序的运行结果和数据结果的分析。第六章总结和展望,主要介绍了对本次设计实现的功能,不足之处和展望。1.5设计的关键问题和难点(1)机械手坐标的建立:所有的编程逻辑时序和机械手动作执行都要有合适坐标系。(2)伺服电机控制:机械手进行定位操作主要是伺服电机驱动X轴和Y轴移动的,伺服电机的特性刚好满足精确定位要求。(3)系统控制时需配合:启动电源后检测三个轴是否在原点位置,如果不在先进行Z轴控制回到原点,在进行X轴和Y轴回原点操作。手动模式启动,手动输入X、Y机械手中的位置值,手动控制X轴移动到对应位置,再手动控制Y轴移动到对应位置。进行下一次操作时,应该先进行Z轴控制回到原点,在进行X轴和Y轴回原点操作,在进行新的位置值输入。在整个过程中要设置优先级,这是系统建立的难点。(4)PLC控制器的编程:这是本次设计的关键,也是难点。(5)用MATLAB对机械手中的位置和实际移动的距离做神经网络:为了确定两者关系,进行神经网络训练。这也是本次设计中的关键,也是难点。

2总体方案设计2.1硬件的总体方案设计2.1.1硬件总体结构系统主要用西门子S7-200PLC控制器、定位模块EM253、U型光电传感器、三轴机械手、伺服驱动器和伺服电机等部分组成。三轴机械手的主要控制器是PLC,主要选择了西门子S7-200PLC。用计算机和PLC连接,编写控制程序,进行编译,没有错误后下载到PLC中运行。用编写的位置程序和定位程序通过PLC控制伺服电机驱动器来控制X轴和Y轴的伺服电机,将开关按钮、光电传感器、接近开关和程序中的信号等信号的输入变成伺服驱动器输出的电机释放信号、报警信号、各个轴运动信号、脉冲信号等;外接24V电源给伺服电机的驱动器供电,通过给程序输入脉冲数,调节X和Y轴上的输入电压来控制伺服电机的转速。给驱动器输入脉冲控制电机,光电编码器信号回馈到伺服驱动器中,形成闭环控制。三轴机械手的运动主要是通过PLC进行控制的,X和Y伺服轴实现精确定位就是通过用PLC按照一定的时序控制,通过输入实际坐标对应的位置值,加上光电编码器的配合来一起实现的。当PLC按下电源按钮后,没有特殊情况发生,启动X轴和Y轴的两个伺服电机,来进行复位、移动相应位置的操作过程。X轴和Y轴的两个伺服电机通过它对应的伺服驱动器驱动,PLC输出信号控制两个电机的复位、启动和停止,方向信号决定了两个伺服轴的运动方向,输入的脉冲数的多少和脉冲信号的频率决定了两个伺服轴运动的移动的位移和运行的速度。移动的信号输送给光电编码器,然后光电编码器将检测到的信号输入到伺服驱动器,形成一个闭环控制。伺服驱动器根据收到的信号改变输出的位置值对应的脉冲数从而实现了两个伺服轴的精确定位。从一个轴的定位控制开始从简单到复杂,最终实现多个轴定位控制相结合,方便对系统的调试。系统硬件结构图如图2.1所示。图2.1系统硬件结构图2.2软件的总体方案设计本次设计主要用到的软件是STEP7--Micro/WIN编程软件和MATLAB数学软件。MATLAB数学软件可以对产生的数值进行分析,数值算法的计算,工程学绘图,数字信号处理。本次设计中主要通过MATLAB对机械手程中的位置和实际移动的距离进行神经网络训练得出两者之间的关系,保存网络。编写预测程序,将Y轴实际坐标输入到预测程序中得到对应的机械手中的位置值。STEP7--Micro/WIN编程软件是硬件系统西门子S7-200PLC的编程软件,用该软件对编写三轴机械手X轴和Y轴伺服控制程序,这也是本次设计的核心。在进行编程时用类似于汇编的语言,要时刻注意运行的逻辑时序,从简单到复杂。在编程时程序的时序标志着该程序运行的稳定性和准确性。在进行运行时要明确哪一个轴先运行,只有编写完整的优先级程序,才能实现系统稳定运行,防止产生错误而发生意外事故。为了能够正确的编写出控制程序,首先要画出控制的模块图,控制的模块图也是非常重要的一部分。有了清晰正确的运行过程,才能编写正确的运行程序,才能正确合理的实现所要实现的功能要求,设备正常运行,保证了系统的安全性。系统软件控制流程图如图2.2所示。按下电源按钮进行初始化,X轴和Y轴是否回到原点位置,如果是则系统进行下一操作,如果不是则先将X轴和Y轴先回到原点位置,完成了初始化过程。初始化完成后输入X轴和Y轴对应的位置值,控制机械手移动对应位置,实现了机械手的定位控制。当进行下一坐标输入时,先将机械手回到原点后再进行新的坐标位置值输入,控制机械手定位。图2.2系统软件控制流程图2.3章节小结这一章节主要是本次设计的总体方案设计,包括硬件设计方案和软件设计方案。硬件设计主要是用S7-200PLC控制机械手的X轴和Y轴的伺服电机。软件设计主要是用STEP7--Micro/WIN编程软件编写机械手PLC手动控制程序,用MATLAB数学软件做神经网络。3系统硬件设计3.1控制面板设计3.1.1控制面板图系统硬件的控制面板如图3.1所示。图3.1控制面板器件分布图系统硬件控制面板所用的器件如表3-1所示:表3-1电气面板器件表编号名称编号名称①SIEMENSS7-300PLC⑥继电器组②SIEMENSS7-200PLC⑦电源控制组③伺服驱动器⑧稳压电源④步进驱动器⑨SM334⑤EM277⑩EM253本次毕业设计主要用的硬件器件有SIEMENSS7-200PLC、伺服驱动器、继电器组、电源控制组、稳压电源和EM253。3.1.2S7-200PLC介绍S7-200PLC控制器核心是部分主要是CPU,本次设计控制的机械手PLC的CPU型号是S7-200系列可编程控制器CPU224CN型号,如图3.2所示[16]。图3.2S7-200PLC在控制过程中实现的各种运算度都在CPU中进行。通过软件编程控制时,我们用到的各种编程指令组成控制功能的程序都要下载到CPU中去执行。S7-200CPU拥有很多不同功能I/O口点数,同时还有特殊功能模块。如果在运用过程中需要更多的I/O口,可以通过自身配有的总线扩展电缆让CPU和扩展模块相连以获取更多的I/O口。S7-200CPU还可以外插卡,CPU上有一个可选卡插槽,可以插入三种不同的外插卡,如;外插储存卡可以保存CPU中的系统快、程序和数据块,以及配方和数据记录。外插实时时钟/电池卡时,可以给CPU提供实时时钟功能,卡中包括了后备电池。当外插电池卡时,可以给CPU提供数据保持的后备电源[17]。3.1.3EM253定位模块介绍本次对X轴控制的EM253定位模块如图3.3所示。因为S7-200PLC只有两个脉冲串输出端口,所以CPU要扩充一个EM253定位的特殊功能模块,主要用于控制机械手X伺服轴移动。通过产生高速脉冲对X轴的速度和移动的距离进行开环控制,因为EM253无法对位置进行闭环控制。EM253脉冲口可以产生200KHz的脉冲信号,可以实现绝对位置移动、相对位置移动和手动的位置定位[18]。图3.3EM253定位模块EM253模块主要用4个输入和5个输出对位置和速度进行控制的,其主要功能如表3-2所示。表3-2EM253定位模块输入/输出信号性质功能描述STP输入可让模块停止脉冲输出,在位控向导中可选择你所需要的STP操作。RPS输入机械参考点的输入,建立绝对运动模式下的机械参考位置。ZP输入零脉冲输入,帮助建立机械参考坐标,电机的每一砖产生一个ZP脉冲。LMT+/LMT-输入运动位置的最大限度,位控向导中可以组态LMT+和LMT-输入。+5V输出5V电压P0/P1输出漏型输出,控制电机的运动和方向脉冲输出。P0+/P0-输出差分脉冲输出,控制电机运动。P1+/P1-输出差分脉冲输出,控制电机方向。续表3-2DIS输出禁止或使能电机驱动器。CLR输出清除伺服脉冲计数器。T1与+5V、P0、P1、DIS结合使用。EM253定位模块在本次设计中的接线图如图3.4所示:图3.4EM253定位模块接线图3.2伺服系统介绍3.2.1伺服驱动器本此设计选用的伺服驱动器的型号为IS620PS1R6I伺服驱动器,其结构如图3.5所示。 图3.5伺服驱动器伺服电机驱动器是伺服电机专用驱动器,当PLC控制器产生脉冲信号时,驱动器能将脉冲信号转化为对应的U、V、W电压信号传送到伺服电机,控制伺服电机的速度和移动的距离。光电编码器将电机的信号反馈到伺服驱动器上,形成了一个闭环回路,同时也达到了精确定位的目标[19][20]。本次设主要采用伺服驱动器的工作模式是位置控制模式,控制X轴和Y轴的伺服电机。3.2.2伺服电机本次设计所用的伺服电机是ISMH1-20B30CB的型号,其结构如图3.7所示。图3.6伺服电机伺服电机由转子部和定子组成。转子主要是永磁铁,通常是鼠笼式结构,这样的形状可以增加可调速度的范围,无自转也和这种结构有关。定子主要是两个互成90°角的绕组组成的。本设计采用的伺服电机是ISMH1-20B30CB的型号的交流电机。在定位控制中伺服电机不仅具有启动和停止时的伺服性,还具备了对转速和转动方向的可控性,方便了对伺服轴的控制,明显提高了定位精度[21]。3.3三轴电动机械手介绍本次设计所用的三轴电动机械手如图3.8所示。图3.7三轴电动机械手三轴机械手上主要器件构成如表3-3所示:表3-3机械手器件表编号名称编号名称①夹指气缸④Z方向步进电机移动轴②X方向伺服电机移动轴⑤电磁阀控制组③Y方向伺服电机移动轴3.4U型对射传感器介绍本次设计所用的U型对射传感器是EE-SX672RP76U的型号,其主要结构如图3.9所示。图3.8U型对射传感器U型对射光电传感器是一种光电的限位开关,本次设计中主要用U型对射光电传感器作为三个轴上的限位检测和原点位置检测。光电传感器比普通的传感器灵明度高,因此进行位置定位时具有很高的可靠性和准确性,各个轴运行时提高了设备安全性,还有一点是U型的光电传感器适合于快速运动的物体检测[22]。3.5系统的I/O分配表可编程控制器PLC是所有输入信号的接收端,也是输出信号的发送端,因此所有的信号都要通过PLC操作。本次设计用的PLC控制器是SIEMENSS7-200CN,集成了两个8位输入和两个8位的输出。I/O分配如表3-4和表3-5所示。表3-4PLC输入信号表输入引脚+接入信号输入功能I0.0Y轴原点Y轴原点I0.1SQ1Y轴前限位开关I0.2SQ2Y轴后限位开关I0.3Z轴原点Z轴原点I0.4SQ2Z轴下限位开关I0.5SQ3Z轴上限位开关I1.4Y轴手动_前进Y轴手动_前进I1.5Y轴手动_前进Y轴手动_前进表3-5PLC输出端口表输出引脚输出信号控制功能Q0.0Y轴+使Y轴正方向移动Q0.1Z轴+使Z轴正方向移动Q0.2Y轴-使Y轴负方向移动Q0.3Z轴-使Z轴负方向移动本次课题主要用S7-200PLC来控制三轴机械手的X、Y伺服电机。当启动设备时,通过对PLC进行编程、编译、调试、下载通过手动模式来完成三轴复位、以及X轴的左移、右移,Y轴的前进、后退操作。3.6本章小结这一章节主要对本次设计的控制面板以及所选用的器件进行了介绍,包括:西门子S7-200PLC可编程控制器、特殊定位模块EM25、伺服驱动器等器件。以及介绍了本次设计中用到的其他设备模块,最后介绍快本次设计PLC的各个端口的I/O分配,方便了软件的编程。

4软件设计4.1程序流程图本次设计安装的是V4.0STEP7MicroWINSP9版本的S7-200PLC编程软件。STEP7--Micro/WIN编程软件通过对程序的开发、编辑和监控,让用户更方便的控制。为了提高开发言承旭的速度和效率,该软件还为用户提供了三种程序编辑器。为了用户能方便实用软件,安装完成后可以对该软件界面进行汉化操作[23]。机械手的X伺服轴是由西门子S7-200系列PLC的CPU扩展的特殊功能模块EM253定位模块控制,Y伺服轴是由S7-200脉冲串输出端对速度和位置进行控制的。本次设计的PLC程序编程分为两个部分:第一部分是方便查找X轴和Y轴机械手位置的位置程序,第二部分是神经网络训练输出机械手位置值后的定位程序。4.1.1位置程序流程图本次软件设计编写的PLC位置程序流程图如图4.1所示,主要实现了:接通电源--输入各个轴的基本参数--检测两个伺服轴是否在原点位置--手动控制X轴和Y轴移动和停止操作。图4.1位置程序流程图上述位置流程图的程序包括以下几个部分:(1)主程序主要是对三轴控制、三轴回原点、三轴手动三个操作子程序(2)三轴控制子程序是自动输输运动控制的X轴参数和运动轨迹,使能、初始化EM253定位模块,Y轴参数装入,以及Y轴各个限位设定。(3)三轴回原点子程序是首先启动原点模式,Z先回到原点位置后,X轴和Y轴再回到原点位置。(4)三轴手动子程序是启动手动模式,手动控制X轴以一定的速度左右移动,以一定速度手动控制机械手左右移动和停止。Y手动操作,按下接到PLC的两个开关按钮其中一个,让Y轴按照指定的方向,以指定的速度,前后移动,由于Y是脉冲串输出端Q0.0控制的,所以需要设置Y轴手动停止,松开开关按钮,Y轴停止移动。4.1.2MATLAB神经网络程序流程图本次设计安装的是R2016a_win64版本的MATLAB。MATLAB是一种数学软件,可以提供多种神经网络,本次实验所用的神经网络是RBF神经网络,它是一种单隐层的3层前馈网络。RBF神经网络主要用高斯基函数,在一定的范围内他的输入是不为零的,因此它是局部逼近的神经网络。本次设计主要采用RBF神经网络原因是该网络是一种前向3层的网络,输入和输出值得关系都是非线性的,而隐层和输出是线性的关系[24][25],本次实验输入值机械手实际坐标和输出值机械手位置坐标是非线性的,因此,选用RBF神经网络对样本进行了学习训练,保存训练误差较小的网络。调用该网络,预测出了机械手位置坐标。提高控制系统的控制进精度和自适应性。做机械手位置值和机械手移动的实际距离的RBF神经网络。首先读取了所有的输入输出样本,将样本进行归一化操作,设定了神经网络为单输入单输出,共有两个隐层,设置第一个节点数为20,第二个节点数为四十。设定训练函数为S型函数,训练精度为0.00001,训练次数为80000次,训练频率为0.01。训练该网络,保存误差较小的网络。用MATLAB软件做RBF神经网络的程序流程图如图4.2所示。图4.2神经网络训练流程图当训练好网络并保存后,要输入其他值进行预测,输出预测结果。预测的程序流程图如图4.3所示。图4.3预测程序流程图4.1.3定位程序流程图本次软件设计编写的PLC定位程序流程图如图4.4所示,总体上实现了:接通电源--输入各个轴的基本参数--检测两个伺服轴是否在各轴原点--输入神经网络训练的位置值--手动控制伺服轴移动到对应位置--回到各伺服轴原点--输入新的位置值的循环操作。在进行每一次坐标输入控制时保证安全是操作的前提,应此当运行过程中出现故障时应该及时按下停止、急停、切断电源中的任意一个按钮来保证机器不被损坏。在进行PLC程序编程时要按照机械手实际运行的逻辑时序进行编程,依照流程图进行每一步的编程,防止编程时时序错误而影响机器的平稳运行,甚至发生安全事故。在进行每一组新的坐标脉冲输入时,要一步一步进行操作,X轴先运行到对应的位置时,Y轴在开始运行,直到两轴都运行到对应的位置,实现机械手的定位操作。图4.4系软件设计控制流程图上述流程图的程序包括以下几个部分:(1)主程序主要是对三轴控制、三轴回原点、三轴手动三个操作子程序(2)三轴控制子程序是自动输入运动控制的轴参数和运动轨迹,使能、初始化EM253定位模块,Y轴参数装入,以及Y轴各个限位设定。(3)三轴回原点子程序是首先启动原点模式,Z先回到原点位置后,X轴和Y轴再回到原点位置。(4)定位子程序是编写机械手定位子程序,将预测结果输入到定位程序中,用手动操作模式手动控制X轴和Y轴以一定的速度值,运动到预测结果对应的机械手位置,实现机械手定位操作。(5)将机械手各轴回到原点后在进行新的位置值输入。4.2本章小结这一章节主要写了软件的设计包括了用STEP7--Micro/WIN编程软件编写机械手位置程序和定位程序的流程图设计,并对程序作了一些说明。完成了RBF神经网络程序和预测结果输入程序的流程图设计。通过用上述流程图程序控制机械手完成了定位操作。

5系统的运行及数据处理5.1位置程序运行位置控制程序的符号表如表5-1所示。表5-1位置程序符号表符号地址符号地址手动模式M0.0X轴位置VD12原点模式M0.1Y轴位置VD16原点模式复位M0.2Z轴位置VD20X轴手动左移M0.3Y轴前限位I0.1X轴手动右移M0.4Y轴后限位I0.2Y轴手动前进I1.4Z轴原点I0.3Y轴手动后退I1.5当程序编写完成后我们对程序进行编译,编译程序:在工具栏中找到编译按钮,选择全部编译按钮对程序进行编译操作,以下是位置程序运行结果如图5.1所示。图5.1运行结果由于机器原因,通过上述的PLC程序,用手动操作模式控制机械手Y轴移动,记录每次移动到停止时Y轴所移动的机械手程序中的位移,对应用尺子人工测量出机械手Y轴实际移动的位移,反复进行试验操作,记录四十组数据作为神经网络训练的样本输入和输出,记录数据表格如表5-2所示:表5-2神经网络样本数据机械手位置实际距离机械手位置实际距离机械手位置实际距离00-6290-49+3243+25-1318-10-6520-50+3504+27-2046-16-6802-53+3833+29-2743-19-7107-55+4149+31续表5-2机械手位置实际距离机械手位置实际距离机械手位置实际距离-2984-23-7409-57+4401+34-3201-25-7747-59+4733+36-3566-28+481+4+4958+37-4122-32+821+9+5199+39-4390-34+1382+11+5468+42-4748-37+1628+12+5786+44-5113-40+2032+15+6030+46-5362-41+2345+18+6603+50-5730-44+2575+19-6010-46+2935+22(上表中“+”、“-”只表示方向,“+”为前进方向,“-”为后退方向)5.2神经网络训练和预测结果显示运行RBF程序做神经网络训练,得到一个单输入、单输出的训练网络,并且保存该网络。训练网络如图5.2所示。图5.2训练网络通过用MATLAB进行图像处理和做神经网络将图片坐标转换成了实际坐标,记录实际坐标。运行RBF神经网络程序做神经网络训练,然后将实际的Y轴坐标数据一次一次输入到预测程序,运行预测程序得到对应的机械手位移,记录对应的数据。运行结果如图5.3所示:图5.3预测结果5.3定位程序运行定位程序中的符号表如表5-3所示。表5-3定位程序符号表符号地址符号地址手动模式M0.1Y轴位置VD16原点模式M0.2Z轴位置VD20远点模式复位M0.3X临时位置VD48X轴手动左移M0.4Y临时位置VD52X轴手动右移M0.5Y轴前限位I0.1Y轴手动前进I1.4Y轴后限位IO.2Y轴手动后退I1.5Z轴原点I0.3X轴位置VD12当程序编写完成后,将预测结果手动输入到定位程序中,对定位程序进行编译,编译程序:在工具栏中找到编译按钮,选择全部编译按钮对程序进行编译操作。将程序下载到PLC中,监控运行程序,完成对机械手Y轴的精确定位,测量出实际移动的距离,并且记录数据。定位程序运行结果如图5.5所示。图5.5运行结果5.4数据记录和误差分析记录图像处理实际Y轴坐标、RBF神经网络输出的机械手Y轴位置值、机械手实际移动位移数据,记录数据表格如表5-4所示。表5-4数据记录图像处理实际Y轴坐标(mm)RBF神经网络输出的机械手Y轴位置值机械手实际移动位移(mm)相对误差(%)-16.7-2089-16.51.2+13.84+1921+13.52.5-26.67-3473-271.2+23.5+3139+232.1-16.32-2062-162.0+29+3879+28.51.7+24.1+3186+23.52.5+6.1+770+5.59.8-10.82-1441-111.7-21.28-2936-21.51.0+30.53+4077+311.7-15.91-2042-15.52.5-14.78-1996-14.51.9+36.66+4863+35.53.2-33.32-4338-342.0(上表中“+”、“-”只表示方向,“+”为前进方向,“-”为后退方向)数据结果分析:本次设计数据结果的最大相对误差9.8%,取的试验点太靠近边缘了。最低小相对误差为1%。产生误差原因主要是以下几种:(1)实验仪器控制本身存在误差,如:电机转动误差。(2)图像处理时样本坐标采集产生的误差以及样本点分布不均匀产生的误差导致输入的Y轴坐标不准确。(3)训练神经网络的样本中机械手的实际移动距离是人工测量的所以会产生误差,样本取的不均匀、样本数量太少了产生训练误差。(4)机械手实际移动的位移测量是人工测量的会产生误差。以下是减小误差的方法:采集坐标时采集点均匀分布,测量坐标时多次测量取平均值坐标。训练坐标网络时输入的样本越多,训练精度越准确。机械手实际坐标测量时的结果进行多次测量最后取平均值。机械手位移训练样本的样本点也应该分布均匀,用均匀大量的训练的样本训练,训练的误差精度就会越准确。测量机械手移动距离时的测量结果进行多次测量最后取平均值。5.4本章小结这一章节主要是位置程序的运行、神经网络训练、预测程序运行并记录运行结果,对结果的数据进行了处理,最后对误差进行了分析以及提出了减小误差的方法。以及将预测结果输入到定位程序,定位程序的运行,完成了本次设计机械手的定位。

6总结与展望本次设计完成用机器视觉来控制机械手精准定位的控制系统设计。在控制方面实现了手动控制机械手Y伺服轴以一定的速度移动和停止,并且能显示机械手的位置值,这样方便记录神经网络样本值。用MATLAB软件做出了机械手Y轴位置值和Y轴实际移动距离的神经网络训练,编写了预测程序,将图像处理神经网络得到的Y轴实际坐标值输入到预测程序中输出了对应的机械手Y轴位置值。用计算机将位置值输入到定位程序中,运行定位程序,实现了机械手Y轴的精准定位。最后分析了相对误差精度,机械手移动的定位精度在0.5mm左右。X伺服轴的定位操作也和Y轴相同,由于机器原因本次论文中没有做X轴的定位操作。本次设计的不足是没有采集均匀大量的样本训练神经网络,减小训练误差。对机械手实际位移没有进行多次测量减小误差。没有对机械手X轴做定位操作。没有实现机械手通过机器视觉自动完成定位操作。在本次设计过程中我学了S7-200PLC的部分程序编程和MATLAB做RBF神经网络以及预测程序编程,也学会了独立去学习新知识,提高了自己的能力,为今后工作打下了基础。机械手是以后工业和生活中必不可缺的设备,在智能化和信息化发展过程中,机器人会普遍运用到生活中,机械手是机器人的基础,所以对本次设计的展望如下:(1)能够实现用计算机控制机械手自动完成等位,用组态进行MATLAB和PLC的连接,实现机械手的自动定位。(2)运行机械手做大量的样本输入,实现大范围的精确定位操作,降低定位误差,提高控制的精度。(3)编写其它模块程序和机械手配合完实现不同功能,比如控制夹指气缸对目标物体进行定位夹取和释放操作。(4)设计一个方便测量实际距离的装置,减小测量数据的误差,提高机械手的控制精度,比如用红外线进行距离测量。(5)控制机械手实现三轴空间定位,这样更加提高了机械手的运用范围。

致谢本次毕业设计在实验室全体老师的督促下完成了,感谢老师的悉心指导和帮助。老师丰富的教学实践经验让我在设计过程中学到了很多。感谢老师耐心的教导、认真负责的态度督促我们完成了本次毕业设计。老师工作的严谨是我们毕业之后工作时学习的榜样。也感谢学校为我们提供各种实验设备和实验用的工具,方便了我们完成毕业设计。在这里再次感谢实验室的所有指导老师和每一位同学的帮助!感谢余玲老师对我论文的指导!感谢和我一起合作的朱世均同学的帮助!在实验室一起度过了一学期紧张忙碌的设计,我永远不会忘记。此外,我要感谢我的父母对我的学业的支持和鼓励!最后,还要衷心的感谢所有评阅论文以及参加答辩工作的各位老师和同学!非常感谢!

参考文献[1]熊幸明.电气控制与PLC[M].北京:机械工业出版社,2004.[2]赵清杰,连广宇,孙增圻.机器人视觉伺服综述[J].控制与决策.2001,16(6):849-853.[3]缑庆浩.PLC在工业自动化控制方面的应用研究[J].工程技术研究,2019,4(03):99-100.[4]徐凯.基于双目视觉的机械手定位抓取技术的研究[D].浙江大学,2018.[5]熊俊涛,邹湘军,邹海鑫,陈荫乐,卢俊.结合机器视觉的采摘机械手的定位仿真研究[J].计算机工程与应用,2011,47(24):139-142.[6]F.Janabi-Sharifi,L.F.Deng,W.J.Wilson.Comparisonofbasicvisualservoingmethods[J].IEEE/ASMETransactionsonMechatron

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论