资源描述
本科毕业论文(设计)论文题目 :多规格板件分拣机器人工作站视觉系统设计姓名:学号:班级:年级:专业:学院:指导教师 :完成时间 :本科毕业论文(设计)专用摘要机器人视觉应用已在各领域有着越来越重要的作用,已然成为一种发展趋势。而多规 格板件则是最常用和常见的基本工件,若靠人力分拣各种板件则费时费力,并且存在这效 率不高,人工疲劳,易产生误差等缺点。所以需要设计一种可以自动分拣多规格板件的工 作站,以便于提高效率,减少人工,并可以在恶劣环境中工作。本文对三种规格板件进行工作站视觉系统识别,首先提出了对多规格板件分拣机器人 工作站和视觉系统的功能分析,并确定了工作站的总体方案和视觉系统的总体方案。确定 完方案之后对视觉系统所需硬件:工业相机、工业相机镜头、工业相机光源以及传感器的 选型,下一步是用 halcon 以及 C#语言对视觉软件程序的编写,包括实现对图像的处理以 及显示,相机的标定还有深度学习等功能。为了让视觉系统和工作站机器人形成一个整体 系统,需要通过 PLC 来让视觉系统和工作站进行通讯,确定通讯方式为串口通信,并且完 成通讯的程序编写。最后是对 300 块板件进行工作站视觉系统的识别测试,经过测试识别 率达到 95%以上,符合设计需求。该工作站视觉系统对 wcgxy.5-1 安装板 A、wcgxy.5-2 安装版 B、wcgxy.5-2 安装板 C 三种板件进行了视觉识别,相比于人工分拣,大大提高了效率,并且识别精度高,速度快 具有十分实用的价值。关键词:机器视觉;板件分类;图像处理AbstractRobot vision applications have played an increasingly important role in various fields and have become a development trend. Multi-specification plates are the most commonly used and common basic workpieces, if you rely on manpower to sort various plates is time-consuming and laborious, and there are shortcomings such as low efficiency, artificial fatigue, and easy to produce errors. Therefore, it is necessary to design a workstation that can automatically sort multi- specification plates to improve efficiency, reduce labor, and work in harsh environments.In this paper, the workstation vision system identification of three specifications of plates is proposed, and the functional analysis of multi-specification plate sorting robot workstation and vision system is proposed, and the overall scheme of the workstation and the overall scheme of the vision system are determined. After determining the solution, the hardware required for the vision system: industrial camera, industrial camera lens, industrial camera light source and sensor selection, the next step is to use halcon and C# language to write vision software programs, including the implementation of image processing and display, camera calibration and deep learning and other functions. In order to make the vision system and workstation robot form an overall system, it is necessary to use PLC to let the vision system and workstation communicate, determine the communication method as serial communication, and complete the program writing of communication. Finally, the identification test of the workstation vision system was carried out on 300 plates, and the recognition rate reached more than 95% after the test, which met the design requirements.The workstation vision system visually identifies wcgxy.5-1 mounting plate A, wcgxy.5-2 mounting plate B, wcgxy.5-2 mounting plate C three kinds of plates, compared with manual sorting, greatly improving efficiency, and high recognition accuracy, fast speed has a very practical value.Key words: Machine vision;plate sorting; image processing本科毕业论文(设计)专用目录1 绪论11.1 研究目的及意义11.2 国内外研究现状21.3 主要研究内容32 多规格版分拣工作站的视觉系统方案设计42.1 多规格版分拣工作站功能分析42.2 多规格版分拣工作站总方案42.3 视觉系统方案53 视觉系统的硬件选型63.1 视觉系统硬件方案63.2 工业相机选型63.3 工业相机镜头选型83.4 工业相机光源选型103.5 传感器的选型133.6 小结134 视觉系统的软件设计154.1 软件设计方案154.2 相机标定154.3 图像采集194.4 图像预处理194.5 特征匹配和图像识别204.6 识别结果显示204.7 深度学习214.8 小结235 视觉系统的通讯设置245.1 通讯协议选定245.2 相机与 PLC 的通讯246 系统测试266.1 测试对象与样本266.2 测试过程266.3 测试结果387 结语39参考文献40致谢41附录421 绪论1.1 研究目的及意义近些年来随着科技水平的不断提高,我们正处于新型工业化的浪潮之中,而机器人工 程作为新工业化最主要的趋势,机器人产业的需求也不断地扩大。在现代化技术不断地提 高中,机器人技术也随之日益增长,由人组成地劳动力已逐步被自动化设备以及机器人所 取代,因此机器人在各行各业扮演着越来越重要的角色,已然成为了未来发展的重要趋势。 而机器人视觉系统作为构成机器人整体最主要的系统之一,其实用性和重要性不言而喻。 近些年来依靠电子科技和信息技术的发展,视觉系统也证再高速发展8。在不少领域比如 食品领域,已有高速机器人分拣系统视觉技术的研究,这些系统的研发提高了我国食品生 产效率,保障了食品安全,降低了劳动强度1。机器人可以运用到机械零件分拣的过程中,可以利用机器人智能化的特点来代替人工 操作4。多规格板件是最常见和最常用的加过零件或装配零件,现如今对于多规格板件的 分拣大多数还是处于人工分拣的阶段,单纯依靠人工分拣不仅仅导致了工作效率低的问题 更关键的是依靠人工分拣,难免会因疲劳,工人分神等各种原因导致工作精度不高,较易 产生失误的问题。而且,现在的自动化技术少有自主识别的功能。因此我针对这一现象, 展开多规格板件分拣机器人工作站视觉系统设计课题的研究,依靠机器人视觉来识别多规 格板件,并用机器人工作站来进行多规格板件的分拣工作。机器人视觉系统对不同形状的 板件一一识别,并通过机器人通讯将识别结果反馈给机器人,最后机器人通过末端操作器 将已识别的板件进行分拣工作,把不同规格的板件放入相应的采集框中。通过多规格板件 分拣机器人工作站视觉系统设计来达成使用机器人工作站代替人工分拣多规格板件,并且 提高分拣多规格板件的准确性和高效率的目的,进一步提高生产能力。可以参照杨红军等 人提出的利用机器视觉和气动机器人的自动化分拣解决方案,并从软件和硬件两方面进行 了详细的设计7。研究多规格板件分拣机器人工作站视觉系统设计课题具有十分重要的实际意义,通过 用机器人视觉来对多规格板件进行形状识别,再配合机器人进行分拣装箱,这大大解放了 由人力为主的生产力,并且能够实现在恶劣的环境中进行分拣工作,加强了生产力对环境 的适应性,也大大加强了分拣工作的精确性还有提高了分拣工作的效率。在一定的基础上 可以大规模的进行分拣,大大提升了生产力。在一定程度上也可以降低经济成本,提高市 场竞争力,使用机器人视觉识别与分拣可以规范产品位置和产品分类,从而提高生产效率 和降低后续的劳动强度。机器人视觉分拣对实现工业自动化也具有十分重要的意义,促进 了现代工业化进程。61.2 国内外研究现状从全球市场角度来看,物联网的飞速发展,边缘算法的逐步完善,机器视觉行业已 经走向成熟,越来越多地在工业领域得到发展15。这些年以来,视觉市场的专利虽然在 除中国以外的国家中逐渐降低,但是欧美的视觉技术还是名列前茅,特别是以美国,欧 洲和日本等发达城市为主,这些国家的机器人视觉技术和市场还是占据绝大部分。在现 在这几年,视觉领域相关的技术已经初步完善,包括像传感器和处理器技术,图像处理 技术以及光学成像等技术的快速发展以及和机器人视觉技术的融合,机器视觉在我们的 生活中以及变得越来越常见,我们在机器视觉领域也运用得越来越广泛和熟练,可以说 机器视觉在生产过程中扮演着重要得角色。包括在最主要的工业生产领域,到服务行业 比如物流搬运,酒店人脸识别以及超市入口测量体温等方面,再到金融领域,交通中的 机器视觉,甚至是国家安防领域,机器视觉发挥着越来越稳定,有效,重要的作用,机 器视觉现如今正在促进制造业,服务业在内的许多行业进行快速地转型。在世界范围内 的“工业 4.0”和自动化生产需求的趋势下,机器视觉因具备着精度高,效率高以及稳定性 好的众多优点,机器视觉正成为我国研究的重点领域和应用方向。光学镜头是作为机器 视觉最重要以及必需的组成部分之一,根据数据统计,伴随着这些年以来机器视觉的市 场在全世界范围内规模的扩张,关于应用在工业机器人视觉以及自动化领域的光学镜头 正在稳步发展中,光学镜头在 2017 年的市场规模已经达到了 14 亿美元,并且根据相关 预测,光学镜头的市场规模将会增长到 28 亿美元,并且复合增长率将会达到 12%。虽然 我国的机器视觉行业起步落后于欧洲,美国,日本等发达国家,并且我国机器视觉起初 还是依靠国外品牌的代理,而且集中程度也不高。但是在现在这几年,我国已经陆续出 现很多的经销商,并且已经开始自己研发机器视觉相关的产品,虽然我国已经开始追赶 国外机器视觉领域的脚步,但是在机器视觉领域的行业分布还有销售渠道和方式,以及 具有高度成熟化的自动化产品等这些方面还是有着不小的距离。我国现 m 如今的自动化 设备产品的成熟度还不是很高,而且所包含的技术还不成熟,技术含量不高,最重要的 一点,我国的机器视觉的市场还远远达不到饱和的状态。所以我国的机器视觉还存在着 较大的潜力。我们可以将机器视觉的企业分为层开发厂商,二次开发厂商和产品代理 商。其中在我国的机器视觉企业中,机器视觉的系统二次开发厂商和国外机器数额企业 的产品代理商这两种企业占据了大部分。根据统计,国外的机器视觉企业品牌在我国已 达到 100 多家,而在我国负责代理销售这些品牌的企业已达到 200 多家,并且负责专业的系统集成商也已经超过了 50 家。但是,在我国负责真正机器视觉的底层厂商数量少之 又少,可以说是凤毛麟角,所以说我国本土关于生产机器视觉系统的元器件的厂商以及 设计机器视觉系统厂商严重缺失。为了迅速拓展机器视觉领域的市场以及增强我国企业 在这个领域的积极性,国家发布了许多优惠政策,据统计自 2016 年以来我国的年专利申请量已经超过了 1000 项,所以说在技术研发的层面,我国的专利申请量已经远远高于国本科毕业论文(设计)专用外的数量,但是国外在这些专利的操作上以及如何去将这些专利应用在各个其他方面的 领域上,这个方面上我国还是没赶上国外的质量。但是换过来说,我国在本土品牌的创 建上正在飞速发展,现如今本土品牌的数量正在逐步逼近外资品牌的数量,不足的是, 我国本土品牌的质量和在国际上的影响力方面,相比于国外知名品牌还存在着不小的差 距,所以说我国的本土品牌或者民族品牌想要成为世界知名品牌,所要经历的道路还比 较长,我们需要加速这一进程。现如今我国需要降低人工成本和提高生产的效率,我国 这一方面的需求及其庞大,况且我国正在由劳动密集型向技术密集型进行转型,所以我 国在机器视觉领域存在着巨大的潜力,将成为在世界范围内机器视觉发展技术最活跃的 地区之一。我国的珠三角和长江三角洲一带地区,是全球知名的电子和半导体技术的转 移地,因此具备成为机器视觉发展地的良好条件,这两个地区中的机器视觉发展也是突 飞猛进。同时这两个地区吸引着世界各地优秀的机器视觉系统和技术,不断引进这些优 秀企业和技术,我国的机器视觉企业和技术将在各个优秀企业的良性竞争中不断得到滋 补,不断茁壮成长,出于我国政府的支持,各大高校和研究院也不断在机器视觉中投入 研究,我国机器视觉的前景十分光明,伴随着机器视觉在各个领域的应用,机器视觉将 会在不同的领域造福社会和人们。1.3 主要研究内容本文是研究多规格板件分拣机器人工作站视觉系统设计,为了实现对三种规格的板件 进行快速识别,并通过通讯系统链接工作站中的工业机器人,完成对三种规格板件的分 拣,课题主要研究内容如下。(1)完成多规格板件分拣机器人工作站视觉系统方案设计;(2)完成机器人视觉的硬件(工业相机,工业相机镜头,光源,传感器)的选型和 软件系统编程设计;(3)完成相机通讯系统设置设计;(4)完成视觉与工作站工业机器人通讯设置设计;(5)进行工作站测试。本科毕业论文(设计)专用2 多规格版分拣工作站的视觉系统方案设计2.1 多规格版分拣工作站功能分析工业机器人视觉系统可分为两大核心部分(即机器人控制部和视觉控制部),机器人 控制部是对机器人进行控制,视觉控制则要同步控制摄像部和图像处理部,多个部门紧密 配合,相辅相成,借助机器人视觉系统来搜集相应的数据和信息,经过处理之后及时传输 到下一环节当中14。设计的多规格版分拣工作站能通过工业摄像机将三种规格的板件进行 拍照,并通过视觉系统进行精准识别,视觉系统与机器人工作站进行通讯,上传识别数据, 工作站中的机器人夹爪对传送带上已识别完成的板件进行夹取操作,将板件放到对应的收 集箱中。板件的类型有:wcgxy.5-1 安装板 A、wcgxy.5-2 安装版 B、wcgxy.5-2 安装板 C。2.2 多规格版分拣工作站总方案为了实现对三种板件的分拣,设计的工作站需要有视觉系统来识别三种板件,通讯系 统来链接机器人和视觉系统,以及工业机器人对板件进行夹取分拣,最后用三个收集箱来 分装三种板件。具体方案如图 2.1 所示。传送带传送板件No光电传触发工业相机摄像Yes感器视觉系统工作站控制系统识别板件并通讯光电传感器Yes显示屏机器人夹爪夹取 满载提示图 2.1 多规格版分拣工作站总方案 2.3 视觉系统方案视觉系统是整个工作站最重要的组成部分之一,要实现对三种板材的识别,对工业相机 所拍摄的图像进行采集和处理等操作。多规格版分拣工作站视觉系统方案如图 2.2 所示。图 2.2 多规格版分拣工作站视觉系统方案3 视觉系统的硬件选型根据上述视觉系统方案,要更好地实现视觉功能和达到所需效果,需要对其相关硬件 进行设计。3.1 视觉系统硬件方案设计的视觉硬件部分需要有系统触发,拍照摄像,图像采集等功能。系统触发我们需 要用传感器,当板件到达传感器感应范围时,传感器会输出一个型号给视觉系统,触发视 觉系统中的相机工作,相机对下方板件进行拍照摄像,上传图像到视觉系统,视觉系统对 上传的图像进行图像识别和图像预处理。机器视觉需要有实用性和性价比,同时要有通用 的工业接口,有较高的容错率和安全性,能够在复杂的环境下工作2。上述便是视觉系统 的硬件方案工作流程,下面对所用到的相关装置进行选型选择和安装设计。3.2 工业相机选型工业相机运行的工作方式其实就是通过 CMOS 或 CCD 这两种成像传感器实现光信号 转化变成电信号,而且这种电信号必须是有序的,并将这些有序电信号的信息通过工业相 机上的相应接口传输到计算机上。视觉导航线路跟踪机器人需要利用图像处理技术,通过摄 像机对线路进行检测12。而且因为系统安装在生产线上,相机检测速度需要与生产线上的 检测速度保持同步,相机拍照需要精确且能够抓拍到移速较高的板件9。工业相机和普通的相机进行比较,在工业领域有着巨大的优势,首先工业相机安装简 便快捷,安装流程比一般的相机简单许多。其次,工业相机相比较于普通相机,结构组成 十分紧凑而且结实耐用,所以工业相机比一般的相机更能承受恶劣的环境,能在不好的环 境中稳定高效地运行,同时也保证了连续工作的时长。还有一点,工业相机需要运用于工 业场景,所以需要满足工业环境的条件和需求,为了这个原因,工业相机往往具有更加快 速的抓拍速度,可以瞬间捕捉到高速运动物体的图像,因此工业相机需要具备一个灵敏的 快门,保证快门时间要十分短。最后就是工业相机的帧率,相比于一般的相机,工业相机 的帧率也要远远要高,因为工业相机的输出数据类型属于是裸数据,所以工业相机所需要 的光谱的范围也是要比普通相机的光谱范围要大得多,因为这一点,工业相机就可以进行 高质量的图像处理算法,同时高质量的图像处理也更适用于工业相机所拍摄的图像。传统 的机器人分拣系统是固定式摄像头,相机一般固定在一个世界坐标系中不动,拍摄固定焦 距平面的物体,实时处理一幅图像进行位置和形态的分析6。现在市面上的工业相机有以下几类:(1)我们可根据不同的靶面类型将工业相机分为面阵相机和线阵相机。第一,面阵相 机的定义是该类型相机可以对所需要采集的图像进行一次性地采集,所以面阵相机在许多 领域都有广泛的应用,比如说在不同零件或者物件的形状检测上,检测零件的位置,以及可以检测不同零件或相似形状零件的尺寸上。第二,线阵相机不同之处就是线阵相机需要 用到线阵图像传感器来检测所拍摄的物品,因此线阵相机在另外一些领域发挥着重要的作 用,比如说可以用线阵相机来分析物品的材料组成,通过该类型的相机来检测像金属物品, 塑料制品,尼龙纤维制品等不同的材质组成物品的表面是否存在着缺陷。(2)按照芯片类型不同可以分为 CCD 相机和 CMOS 相机:CCD 工业相机具有体积 小重量轻、低功耗、响应速度快、像素集成度高等优势,CMOS 工业相机具有高速成像、 高帧率、高性价比等优势。(3)我们还可以通过相机拍出来的图像色彩区别进行分类,通常情况下我们可以分为 两类,一种是输出有色彩的图像的工业相机即彩色相机,第二种就是拍出来只有黑白两种 颜色图片的相机即黑白相机。两种相机对比下来,在相同的分辨率的条件下,黑白相机可 以具有更好的成像效果,特别是在边缘检测这一块,而且黑白相机相较于彩色相机,虽然 不能识别颜色,但是在相同的分辨率下具有更加高的精度如果需要处理项目与图像颜色有 关,彩色工业相机效果更佳。本工作站需要识别的是尺寸固定的三种规格的板件,所以选用面阵相机比较合适。 相机只需要拍摄黑白照片就可满足需求,每秒拍摄一到两张照片,所以照片所占空间并不多,图像处理区域一秒可处理 256MB 大小数据,因此剩余空间可用两个高速输出通 道传输数据,以达到实时识别的效果,通过 IO 模块向 PLC 控制柜传输数据信息。工作站 处于较开放的空间中,所以对工业相机的尺寸要求并不严格,但是被测物体识别区域面积 比较大,同时需要网络通讯来传输数据,因此相机需要有相对应的网络接口。综上所述,本工作站的工业相机选用 ME2L-161-61U3M 水星二代 Lite16 万像素黑白 工业相机。水星二代 Lite(ME2L-U3)系列数字相机是大恒图像自主研发的面阵工业数字相 机, 低成本、高性能、高可靠性,外形尺寸仅为 29mm(W)29mm(H)28.1mm(L),对于相 机成本和尺寸有严苛要求的用户将会是一个不错的选择。ME2L-161-61U3M 采用全局曝光 的 Sony IMX296 CMOS 感光芯片,该款相机用于传输数据的数据线类型属于是 USB3.0 的 接口,这款接口在市面上比较常见,更方便于更换,而且该款工业相机同时也配备了 I/O(GPIO)这款接口,能够更加全面地适用于多接口的设备,为了稳固接口,尽量少地减少 接口的松动,该款相机还具备了数据线缆的固定锁紧设计,这一设计更加有利于这款工业 相机在不友好的工业环境中正常,高效稳定地工作,所以这款相机无论是在性能上还是设 计上都是优秀的一款工业相机,同时这款相机的体积小,便于携带的同时也便于安装,使 用该款相机也是很方便,操作十分简单,对于新手来说很容易上手操作,ME2L-161-61U3M 相机还有一个优点就是使用该款相机时,这款相机工作所产生的噪声小,使得相机能在一 定程度上增加精度,最后 ME2L-161-61U3M 这款相机最重要的一个优点,就是这款相机具 有较高的清晰度,这对于选择工业相机来说是一个十分重要的指标。结合这些优点来说, ME2L-161-61U3M 这款相机时我们工作站的首选,这款相机超高的性价比和十分可靠的性 能,都十分有利于我们的视觉系统。其参数如表 3.1 所示。18本科毕业论文(设计)专用表 3.1 ME2L-161-61U3M 工业相机技术参数分辨率1440*1080帧率(fps)61.2传感器厂商Sony传感器1/2.9IMX296 Global shutter CMOS像元尺寸3.45um像素深度8bit,10bit数据接口USB3镜头接口C,CS光谱黑白图像数据格式Mono8,Mono10信噪比40.6Db供电要求5VDC额定功率2.7W5VDC工作温度0-+5存储温度-20-+70工作湿度10%-80%机械尺寸(W*H*L)29mm*29mm*28.1mm(不含 C 接口长度)重量47g认证及标准CE,RoHS,USB3Vision,GenlCam3.3 工业相机镜头选型工业相机的镜头一般具有将光束实现转换的基本功能,或者称为将光束进行调制,镜 头需要负责与自带的图像传感器进行配合,将我们所需要拍下来的图片成像在图像传感器 的光敏面上,这也是镜头所具备的重要功能。同时工业镜头也具备另一特性,那就是光谱 特性,工业相机镜头都会有镜头镀膜,而影响光谱特性的便是镜头镀膜的干涉特性和所镀 膜的材料具备的吸收特性。相机镜头还有以下四个因素的影响。(1)焦距和景深,畸变和渐晕现象都具有很大的联系,就景深来说,焦距和景深是 成反比关系,同时焦距和畸变也是呈现反比的关系。而如果焦距越小,那么渐晕现象也 就会越严重,渐晕现象越严重也会导致像差边缘照度降低。(2)第二就是和光圈大小有影响,光圈大小和图像亮度则呈正比关系,与景深呈现 反比关系,最后如果光圈越大,那么图像的分辨率也是越高。(3)第三与像场中央与边缘也有影响,一般像场中心较边缘分辨率高一般像场中心 较边缘光场照度高。(4)光波长度的影响。本科毕业论文(设计)专用光圈 F 值一般有: 2.8、4、5.6、8、11、16、25、50 这几个等级,F 值和景深关系 如图 3.1 所示。图 3.1 F 值与景深关系图通过相机的尺寸也就是 CCD 的尺寸,还有镜头与所拍物品所存在的工作距离(WD), 这样通过这两个条件,我们可以算出来工业相机的焦距并且确定所需要的焦距大小,焦距 的计算过程如图 3.2 所示。图 3.2 焦距计算公式视野角计算原理如图 3.3 所示。图 3.3 视野角计算原理图工作距离:视野角=焦距:CDD 尺寸本工作站选用的镜头是大恒图像 HN-P-5028-6M-C1/1.8 型号工业镜头。如图 3.4 所示。图 3.4 大恒图像 HN-P-6M 系列镜头的 HN-P-5028-6M-C1/1.8 型号工业镜头大恒图像 HN-P-5028-6M-C1/1.8 型号工业镜头的技术参数如表 3.2 所示。表 3.2 N-P-5028-6M-C1/1.8 型号工业镜头的技术参数型号HN-P-5028-6M-C1/1.8品牌大恒图像调焦类型固定焦距分辨率6M焦距50Sehsor 尺寸(inch)1/1.8视场角(H*V)7.84*5.24光圈范围F2.8-F16畸变(%)0.1镜头接口C螺纹尺寸M30.5*0.5最小工作距离(mm)500工作距离(mm)250-机械尺寸(D*H)(mm)37*51.7重量104.5g3.4 工业相机光源选型光源的作用有以下几点:(1) 照亮目标,提高目标亮度;(2) 形成最有利于图像处理的成像效果;(3) 为了保证图像具有较高的稳定性,不被自然光以及周围环境中的光源所干扰;(4) 用作测量的工具或参照。 我们可以根据我们所需光源的位置来进行分类,主要分为四类光源,第一种是安装在物件前端的光源称之为前光源,第二种是安装在物件背后,在后面提供光源的称之为背光 源,第三种是环形的安装在物件正上方的光源,称之为环形光源,最后一种光源是以点射 光直接照射在物件表面的光源称之为点光源。四种光源安装方式如图 3.5,图 3.6,图 3.7 和图 3.8 所示。图 3.5 前光源图 3.6 背光源图 3.7 环形光源本科毕业论文(设计)专用图 3.8 点光源市面上常见和最常用的光源有以下五种:电致发光管,光纤卤素灯,高频荧光灯,氙 灯,LED 灯,这几种光源的特性比较如表 3.3 所示。表 3.3 光源的特性比较表光源颜色寿命/h发光亮度特点卤素灯白色,偏黄50007000很亮发热多,较便宜荧光灯白色,偏绿50007000亮较便宜LED 灯红、黄、绿、白蓝600010000较亮固体,能做出很多形状氙灯白色,偏蓝30007000亮热多,持续光电致发光管由发光频率决定50007000较亮发热少,较便宜本工作站需要识别的是三种规格的板件,主要对板件的形状尺寸进行识别,若使用点 光源会因角度产生较大阴影区域从而产生较大误差,而且 LED 灯安全性高,作为低温光 源,LED 的发热率很低,不会产生热辐射,能够实现光线角度、形状的控制,光线较柔和, 不会产生刺眼的光线,不会产生钠、汞等有害物质13。所以本工作站光源可选择以 LED 灯 组成的环形光源,垂直安装在板件上方。采用 LED 环形光源,可以加大被测板件的光照范 围,从而可以拍摄出有较好的灰度成像值的照片,有利于后期图像的处理,提高板件识别 的成功率。FH-RI15045 LED 环形光源如图 3.9 所示。本科毕业论文(设计)专用3.5 传感器的选型图 3.9 FH-RI15045 LED 环形光源相机开始工作需要用传感器来触发,所以本工作站需要一个感应迅速,灵敏的传感器 来检测被测板件,因此本工作站选择光电传感器。光电传感器由发射器,接收器和检测电路三部分组成。当光源投射的光照到被测板件 上,再从被测板件上反射到接收器上,通过电信号信息传输到视觉系统,视觉系统接受到 信号后开始工作。为了达到这一流程并且满足工作站的需求,我们选择 M18 漫反射式光电 传感器如图 3.10 所示。3.6 小结图 3.10 M18 漫反射式光电传感器在本章,我们根据多规格版分拣机器人工作站视觉系统的需求,选择了工业相机,工 业相机镜头,工业相机光源,传感器这些硬件的选型。我们的工业相机选择 ME2L-161- 61U3M 水星二代 Lite16 万像素黑白工业相机,工业相机镜头选择大恒图像 HN-P-6M 系列镜头的 HN-P-5028-6M-C1/1.8 型号工业镜头,工业相机光源选择了 LED 环形光源,传感器 选择了漫反射式光电传感器。这些硬件均可满足工作站视觉系统工作的需求。4 视觉系统的软件设计4.1 软件设计方案本工作站视觉系统通过 halcon 软件编写程序,对三种规格的板件的图像进行采集和预 处理,并对图像进行识别并将结果显示。具体流程是先进行相机标定,完成相机标定之后相机对待采集的板件进行拍照采集图 像,当采集的图像质量符合图像识别标准时,用 halcon 软件将图像进行灰度化等预处理, 完成图像预处理后,视觉系统进行深度学习,并建立特征库,最后通过建立的特征库与待 检测的板件进行特征匹配,从而完成视觉系统对于待测板件的识别并将结果显示在显示屏 上。4.2 相机标定相机标定是不可缺少的环节,相机的标定是为了防止图片产生形变,而图片的形变产 生的原因就是因为镜头的畸变造成的,所以相机标定的作用之一就是用于矫正镜头的形变。 除此之外,相机的标定可以通过算法进行数学变换,可以通过数学变换来对一个三维坐标 点与与它对应的二维图像的坐标点进行转换,通过这一操作可以得出相机的内外参数。同 时“相似度阈值”是影响视觉系统识别工件的因素,邓龙等人得出了工件高度与“相似度阈值” 之间的关系,为工业机器人准确、高效、稳定抓取工件提供了理论依据11。工作站对板件实际发生的旋转量和偏移量进行计算,根据板件的旋转中心进行二次补 偿,之后再把板件旋转中心的坐标发送给 PLC,PLC 再将二次补偿的值反馈给电机,通过 板件平移的长度和旋转的角度进行位置标定。我们需要得到对处理图像最适合的图像位置,所以我们需要对偏移值进行计算,经过 计算之后,会反馈给我们一个对图像处理的最好位置以及一个最合适的偏转角度值,我们 还可以运用这种方式来计算得出图像中的像素相对应的位置和距离,通过得出的这些距离 值来将需要处理的图像区域更加准确的上传到我们的 PLC 种,从而是我们处理图像更加精 确。最后我们还可以通过对偏移量的计算,从而算出我们的工业相机所在空间区域的坐标 或者位置,确定我们工业相机的高度,从而可以计算出相机的焦距和识别域的景深是多少。 这样可以令图像识别更加清晰准确。我们的工作站基本运用棋盘格的方法来标定我们的工业相机,首先我们将图像的三维 点和二维图像的坐标点输入到我们的工业相机之中,棋盘格是由黑色和白色相间的格子组 成的,所以二维图像要找到角点是十分迅速的,主要通过黑色和白色格子来确定角点。其 次,我们如果要确定实际情况之中的三维点,我们需要在图像采集的过程之中,先把我们 的工业相机放在一个固定的位置上,然后提前确定三维坐标 XYZ 的值之后通过对黑白棋 盘格的位置移动,拍摄棋盘格不同位置的图像。我们还可以借助标定板来帮助我们进行相机的标定,如果我们采用借助标定板的方法将会大大减少我们的工作量,提高我们的效率。 用标定板标定实现代码如下。#对于在棋盘格之中的角点的定位criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 30, 0.001)#确定格子的尺寸大小 w = 9h = 6#世界坐标系中的棋盘格点,例如(0,0,0),(1,0,0),(2,0,0) .,(8,5,0),去掉 Z 坐标,记为二维矩阵objp = np.zeros(w*h,3), np.float32)objp:,:2 = np.mgrid0:w,0:h.T.reshape(-1,2) #储存棋盘格角点的世界坐标和图像坐标对 objpoints = #在世界坐标系中的三维点imgpoints = #在图像平面的二维点 我们还需要把已经标定过的三维点和与之相互对应的处理过的图像的二维点进行比对。相机标定完成后,这个函数就会返回标定结果、从而得出相机内参数矩阵、畸变系数、旋转矩阵和平移向量。再 将对应的相机标定进行对棋盘格进行设存储并在图像上显示出来。代码如下:images = glob.glob(calib/*.png) for fname in images:img = cv2.imread(fname)gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) #找到棋盘格角点et, corners = cv2.findChessboardCorners(gray, (w,h),None) #如果找到足够点对,将其存储起来我们还可以使用九眼标定法来进行相机标定的操作,这也是我在平时的课程中最常用 的标定方法,并且在实现机器视觉与工业机器人相联合的话也需要使用九眼标定的方法来 进行相机的标定。现在我们来看如何来实现相机的九眼标定。 首先第一个步骤就是准备一张有九个点的图片,我们称之为标定板,并且图中点是尺寸直径为 3cm 的圆,如图 4.1 九眼标定九点图所示。图 4.1 九眼标定法标定板的图片第二个步骤,就是我们需要把这张标定板放置在我们的工业相机的正下方,并且标 定板需要处于水平位置,然后我们需要按照 Z 字形的顺序来记录这九个点的中心坐标是 多少。第三个步骤是我们需要控制我们的工业机器人,并且将工业机器人的末端操作器, 在我们实验室使用的末端操作器是一支笔,我们用笔尖来按顺序靠近九个圆的中心点, 用笔尖可以更加精确地得到圆心的坐标,然后我们记录用机器人记录的九组坐标数据。第四个步骤就是我们需要用到 Halcon 软件的算子,这一步骤需要在 Halcon 软件上编 程,并且运用之前所记录的数据。我们在所拍摄的照片上的数据所需的程序代码如下。image_x:= image_y:=我们用机器人所采集的九组数据坐标的程序代码如下。robot_x:= robot_y:=完成这一步之后,我们需要将我们所拍摄的图片记录的数据和机器人所记录的九组数据坐标相结合,程序代码如下。vector_to_hom_mat2d (image_x, image_y, robot_x, robot_y, HomMat2D)然后我们需要贮存一个矩阵的数据,储存矩阵的代码是 write_tuple (HomMat2D, 路径 ),值得注意的是我们需要命名的后缀是.tup 这个形式。这里我们已经标定完成了,接下来我们就需要用相机拍一个特征点,并且求出这个 点的像素位置。img_x:= img_y:=read_tuple (路径, HomMat2D) affine_trans_point_2d(HomMat2D,img_x,img_y, Qx, Qy) 这一步我们就可以把所得的像素坐标重合为机器人坐标。 接下来我们就要写出完整的九眼标定法的代码,代码如下。 read_image (Image, D:/hellowprld/视觉标定板图/9points.jpg) dev_close_window ()dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle) dev_display (Image)binary_threshold (Image, Region, max_separability, dark, UsedThreshold) connection (Region, ConnectedRegions)*筛选出来九个点select_shape(ConnectedRegions, SelectedRegions, area, and, 1000, 2000) shape_trans (SelectedRegions, RegionTrans, outer_circle)*求出九点坐标area_center (RegionTrans, Area, Row, Column)disp_message (WindowHandle, R:+Row+ C:+Column, Image, Row, Column, black, true)*把求得的 Row 和 Column 赋值*九点标定行 PxRow:=Row*九点标定列PxColunm:=Column*九点标定行*PxRow:=23.5, 23.5, 23.5, 71.5, 71.5, 71.5, 118.5, 118.5, 118.5*九点标定列*PxColunm:=28.5, 75.5, 122.5, 28.5, 75.5, 122.5, 28.5, 75.5, 122.5*机器坐标行 Qx:=100,50,0,100,50,0,100,50,0*机器坐标列Qy:=0,0,0,50,50,50,100,100,100*拿到机器坐标和像素坐标求出关系矩阵*标定行 标定列 机器 X 机器 Y 得到矩阵vector_to_hom_mat2d (PxRow, PxColunm, Qx, Qy, HomMat2D)*保存矩阵write_tuple (HomMat2D, 九点标定.tup)本科毕业论文(设计)专用*读取矩阵read_tuple (九点标定.tup, HomMat2D)*利用求出来的物体行列坐标得到机器坐标 affine_trans_point_2d (HomMat2D, Row, Column, Qx1, Qy1)4.3 图像采集图像采集是视觉系统乃至整个机器人系统最重要的环节之一10。在图像采集中,获得 的图像具有以下共同特点:(1)我们需要将图像中可以利用的信息提取出来,并且有用信 息提取得越多,对于我们接下来处理图像越有利;(2)我们的工业相机所具备的传感器的 有效像素有限,所以需要最大程度地利用起来,我们需要识别的板件尽可能地再 FOV 中全 部展现出来;(3)我们采集的图像需要具备尽可能高的信噪比,以降低干扰,值得一提的 是,我们这里不需要采取任何降噪的算法来实现这一目的,我们需要原始图像有高的信噪 比;(4)我们采集的图像需要有无限靠近最大值的动态范围,并且我们的图像的动态值并 不能达到饱和状态;(5)我们的采集的图像必须没有其他图像的干扰,去除会产生干扰的 图像,只留取我们所需的三种板件的完整图像。采集的图像是视觉系统工作最重要的一环,若没有采集到足够清晰的图像,后续的视 觉识别将会面临较大的困难,并且识别的准确性将大打折扣,达不到预期的标准。4.4 图像预处理为了将图像不需要的元素去除,只保留所需的区域图像,我们一般会将图像进行预处 理操作。图像预处理一般由三个步骤组成:图像灰度化,图像几何变化,图像增强。图像灰度化:灰度值是在工业相机中的模拟视频部分用信号/噪音比 SNR 表示;经过 采集卡的 A/D 转换之后的数字视频量是用比特(bits)位数表示的。在现实世界中一幅图 像同时具有最亮和最暗的区域,他们之间的差距非常大,机器视觉系统所采集的图像应尽 可能地反映出这种灰度的巨大变化范围。对采集的图像进行灰度值转换的操作,将 RGB(red、green、bule)三种颜色的进行灰度值转换为黑白图像(0-255),让相机精确的识别 出板件的形状和尺寸。童胜杰,江明,焦传佳等通过实验结果表明,通过改进的算法在去除工 件表面划痕方面效果明显,并与传统微分算子比较,边缘清晰度、峰值信噪比(PSNR)都有大 幅提高,为提高工件识别精度打好基础3。几何变换是指借助对图像进行镜像操作,平移操作,旋转操作,放大或缩小操作,转 置操作等一些对图像几何方向上的转换来减小乃至减除因为采集时系统存在的误差,比如 我们置放板件时位置的不同而产生的误差,还有工业相机仪器所产生的微笑误差,比如相 机和镜头自身重量所产生的细微误差,提高了图像的准确性以及能够提高图像处理的效率。 我们除了通过几何变换来减少误差,我们还要使用灰度插值法,这种方法精度更加高,因 为灰度插值法可以将相机输出的图像的像素映射到输入图像的非整数坐标上。我们还需要对图像进行增强操作,我们的目的就是为了提高图像可采集的信息,放大19本科毕业论文(设计)专用图像所呈现出来的效果,归根到底,图像增强操作属于是一种失真处理。在运用具体的影 像时,应注重其整体或局部的特性,以强调其原本的模糊、突出某些特性、放大不同对象 的特性差异、去除不相干的特性、提高影像质量、增加资讯的数目、 提高影像的判读和识 别能力,以达到一定的分析需求。4.5 特征匹配和图像识别我们完成了对我们所拍摄的图像的预处理之后,一般我们选择对预处理完的图像进行 特征提取,特征提取是对我们拍摄的图像进行矢量分析,主要是借助于特征描述的方法来 进行这一操作,而关于特征提取,就是把我们得到的图像进行一连串的编码,从而我们在 输出端会得到关于我们的图像的一组数据。特征抽取是指由单一的点或多个点,通过低层 次的属性来探测出特定的点。“低级属性”是没有意义的,比如:地点、高度、几何、色彩、 强度、点数等。“低级属性”的信息一般不需要提前获得先进的知识就能从点云数据中获得。 在此基础上,提出了一种基于特征的特征提取方法。划分是根据以上所说的低层次特征, 把点集成一小块或一小块的过程。相对于单个的分析和处理,划分过程对各个物体进行了 进一步的 处理和分析,使得数据更加丰富。利用该方法,可以从大量的数据中提取出特定 的目标特性,从而实现对板件类型的预测5。4.6 识别结果显示我们在 halcon 软件上完成了对板件进行识别操作的编程并且调试完之后,我们开始使 用 C#语言编写相应的程序,从而达到可以有显示我们识别结果的界面的目的,显示界面的 主要代码如下。namespace _1public partial class Form1 : FormCogToolBlock ab = new CogToolBlock(); public Form1()InitializeComponent(); cogRecordDisplay1.AutoFit = true; LoadJob();private void LoadJob ()ab=( CogToolBlock)CogSerializer.LoadObjectFromFile(C:2022021320220213.vpp);43private void button1_Click(object sender, EventArgs elabel1.Text = ; label2.Text = ; label3.Text = ; ab.Run();cogRecordDisplay1.AutoFit = true;cogRecordDisplay1.Record = ab.CreateLastRunRecord().SubRecords0; int Results_Count = (int)ab.OutputsResults_Count.Value;int Results_Count1 = (int)ab.OutputsResults_Count1.Value; int Results_Count2 = (int)ab.OutputsResults_Count2.Value; if (Results_Count = 1)label1.Text = wcgxy.5-1 安装板 A ;if (Results_Count1 = 1)label2.Text = wcgxy.5-2 安装版 B ;if (Results_Count2 = 1)label3.Text = wcgxy.5-2 安装板 C ;4.7 深度学习机器视觉最重要的一环便是深度学习之一块,而深度学习的定义则为深度神经网络学 习,它能过寻找被测产品也就是我们的板件的数据联系后,建立起和我们板件相同的深
展开阅读全文