道岔垫板编码自动识别系统研发

2022-07-17 12:16崔建平
科技资讯 2022年12期

崔建平

摘要:道岔垫板编码主要由字母和数字组成,受限于垫板的尺寸和编码加工方式,编码尺寸小、深度浅。垫板表面分为机加后表面和自然表面,而且由于灰尘、油污、生锈等原因差异性大,给识别带来了很大困難。针对以上问题,该文以工业机器人为基础,研发了一套道岔垫板编码自动识别系统,系统集成自动补光、图像采集与分析、数据流转、可视化等功能,实现稳定可靠的编码自动识别,为进一步提升道岔垫板生产自动化水平打下了坚实的基础,具有广阔的推广应用前景。

关键词:道岔垫板 编码识别 图像采集 图像分析与处理

中图分类号:TP391.41  文献标识码:A   文章编号:1672-3791(2022)06(b)-0000-00

Research and Development of Automatic Code Recognition System for Turnout Base Plate

CUI Jianping

( China Railway Construction Heavy Industry Corporation Ltd., Changsha, Hunan Province, 410100 China)

Abstract: The code of turnout base plate is mainly composed of letters and numbers. Limited by the size and code processing mode of base plate, the code size is small and the depth is shallow. The surface of base plate is divided into machined surface and natural surface, and it is very difficult to identify due to the great difference of dust, oil stain, rust and other reasons. In view of the above problems, based on the industrial robot, this paper develops a set of automatic code recognition system for turnout base plate. The system integrates the functions of automatic light filling, image acquisition and analysis, data flow and visualization to realize stable and reliable automatic identification of code. It has laid a solid foundation for further improving the production automation level of turnout base plate, and has a broad prospect of popularization and application.

Key Words: Turnout base plate; Code recognition; Image acquisition; Image analysis and processing

道岔垫板是铁路道岔配件中的重要组成部分,包含底板、台板、铁座等。不同的垫板安装位置不同,为了便于安装,防止用错垫板,需要对不同种类的垫板进行编码。

目前,道岔垫板标记的方式主要有:采用冲印或针式打码的方式在底板表面标记一组编码,用来区分不同类型的道岔垫板。字符包含“0~9”这10个数字,“A~Z”共26个英文字母,以及“/”“()”等幾个特殊字符。这两种方式打印出来的字符,字高约8 mm,字宽约5 mm,字头压痕宽度0.5~0.8 mm,字迹压痕深度0.5~1 mm。

在工业生产中,编码信息的提取有人工识别,手动输入的方式,该种方式费时费力,效率低下,目前多采用图像识别技术。随着人工智能技术的发展,图像识别技术越来越成熟,应用越来越广泛,但是对于金属表面的编码识别研究较少。在道岔垫板自动化焊接工作站中,编码识别是基础,因此开发道岔垫板的编码识别系统具有重要意义。目前道岔垫板编码识别主要存在以下难点:(1)金属表面存在反光现象,采集的图像质量普遍不高,增加了识别的难度。(2)打印出来的字符小,深度较浅,现阶段编码识别正确率不高,特别是相似的字符之间很容易误识别,如“3”“6”“8”。(3)自然场景下,光线强度易变化,对图像识别算法的适应性要求很高。

1 系统构成

为解决以上问题,设计和研发了道岔垫板编码自动识别系统,系统采用工业控制技术、视觉识别与分析技术,现代通信技术,具备一键操作、自动补光、图像采集与分析、可视化等功能,实现道岔垫板编码自动识别。

系统包含控制系统和视觉系统。控制系统选用西门子S7-1200作为控制核心,建立工业机器人和工业相机、工控机之间的通信连接,控制整个系统的稳定运行。人机交互选择西门子的12寸触摸屏,实现参数设置、操作、数据查询、结果显示等功能。视觉系统包含图像采集系统和图像处理与分析系统,主要采集垫板编码的图像,经过预处理、定位、分割等,最终完成编码的识别,并输出给上位机。

2 系统设计

2.1 控制系统

控制系统由PLC及扩展模板、触摸屏、驱动器、旋转电机等组成。控制系统一方面是工业机器人、视觉系统之间数据流转的纽带;另一方面负责整个系统的逻辑控制、运动控制等。

本系统采用西门子PLC作为主控制器,CPU型号为1212C;系统数字量信号主要包括操作按钮、机器人数字量输入输出、清枪装置控制点等,模拟信号包括电流、电压、坐标位置等;触摸屏选用西门子KTP1200,作为人机交互载体,进行参数设置、系统运转的控制以及过程监控,实现系统自动、连续、稳定运行。

2.1.1 通信设计

(1)PLC与工业机器人通信。

PLC集成Profinet接口,发那科机器人配备Profinet通讯板卡,作为设备从站与PLC通讯。将机器人的GSD文件导入PLC编程软件,进行硬件组态[1]。机器人的IP地址与PLC的IP地址设置为同一网段。在机器人里面配置I/O信号,把Profinet网络信号按顺序分配到DI/DO的端口上。在PLC里设置Profinet板卡的DI/DO起始地址,这样PLC与机器人通讯地址就一一对应起来。

(2)PLC与工控机通信。

PLC的CPU具有集成的以太网接口,支持面向连接的以太网传输层通信协议。协议会在数据传输开始之前建立到通信伙伴的逻辑连接。数据传输完成后,这些协议会在必要时终止连接。PLC通过TCP/IP协议实现与工控机的数据通信。调用PLC编程软件里面自带的通用以太网通讯模块,连接参数本地里面选择连接类型为“TCP”,伙伴里面选择“未指定的设备”作为连接伙伴[2]。设置双方的IP地址,须在同一网段。下载组态,双方就可以进行数据交换了,数据发送频率根据实际情况设定。

2.1.2 触摸屏界面设计

人机交互界面是用户作业的操作平台,其设计逻辑、简洁程度直接关系系统的整体运转。博途自带的组态软件对于系统操作、监控设备的运行状态等方面功能强大,整个界面简洁易懂,操作方便[3],包含启动条件、字符识别、生产信息、信息查询等画面。

(1)启动条件。

满足启动条件,才能通过外部按钮启动机器人,机器人按照流程自动作业。启动条件包括机器人处在设置的参考位置、系统没有报警信息、所有急停开关未按下、示教器开关处在“OFF”位置、机器人控制柜三档选择开关处在“AUTO”挡等[4]。启动条件缺一不可,用户可以通过界面上相应信号的指示灯查看是否满足启动条件,指示灯为绿色表示满足启动条件,否则就不满足启动条件。

(2)编码识别。

视觉系统采集垫板编码,并将识别结果显示在界面上。垫板编码一般分布在三个区域,对应界面右侧的区域一、区域二、区域三。区域一字符、区域二字符、区域三字符后面的文本框内显示三个区域的字符,程序号显示相应的垫板编码对应的机器人程序。识别后,若识别结果与表内编码一致,则会显示“识别正确”;反之,则会显示“识别错误”。

界面上设置了手动/自动选择,手动状态下,用户可修改识别结果,只有点击“结果确认”才会往下执行剩下的程序;自动状态下若“识别正确”,程序自动往下运行,无需人工干预,如图1所示。

(3)信息查询。

信息查询包含I/O信号、报警信息查询、用户管理。I/O信号包含PLC输入、输出信号查询。在系统发生故障时,可以用来查找故障发生的原因。报警信息保存重要参数的报警信息,供用户查询、查看。用户管理包含用户的操作日志和用户的权限管理。不同的用户赋予不同的权限,用户只有登录系统才能进行操作。用户的登录名、登录时间、退出时间、操作记录形成操作日志,操作日志永久保存。

2.1.3 控制系统软件设计

控制系统主程序设计流程如图2所示。上电后PLC、触摸屏、驱动器进入初始化状态,检查判断PLC、驱动器是否可以运行。

基于PLC的主控系统接收到外部按钮的启动指令,如果满足自动启动条件,机器人运动到拍照位。机器人发送“到位”信号给PLC,PLC接收到此信号后,控制旋转电机旋转至工作位。PLC发送“拍照”信号给上位机,启动相机采集图像。执行编码识别算法,输出结果到PLC,PLC发送给触摸屏界面进行显示[5]。如果识别异常,系统发出报警,提醒人工介入处理,点击“结果确认”按钮。识别过程结束,机器人、光源均回到原点。机器人根据识别的垫板编码,调取相应的垫板焊接程序。

2.2 视觉系统

视觉系统由图像采集系统、图像处理与分析系统组成。

图像采集系统采集垫板的图像,通过以太网传输到工控机。光源在采集图像时对垫板表面进行补光,获取良好的图像。图像处理与分析系统对采集到的图像进行处理分析,提取出垫板编码,并把编码发送给PLC,在触摸屏中显示。

2.2.1 图像采集系统

编码识别的关键是采集到高质量的数字图像。图像采集系统包含相机、光源和工控机。为了获得高质量的图像,选用高分辨率的CMOS相机和定焦镜头,可变角度和可变光强地控制光源进行补光。

(1)相机。

三维视觉体积大,成本高,在机器人工作站中安装位置也难以保证。二维工业相机体积小,精度高,价格低,可以安装在机器人六轴末端的焊枪上,结构紧凑,所以本系统采用二维面阵相机。

工业相机的选型需要考虑:相机视野范围能够覆盖垫板编码区域;相机分辨率满足识别要求;相机的传输接口等。该系统垫板编码的区域范围为200mm×120mm,相机工作距离为300 mm,所以选用国产的20MP像素CMOS相机,分辨率为5472×3468。镜头选用MH-X系列定焦工业镜头,可适配此款工业相机,还具有高清晰度、高对比度、低畸变等特性。

(2)光源。

为了解决反光和自然光易变的问题,设计可变角度和可变光强的补光装置。补光装置设计有两个关键点:一是由于垫板的表面差异和自然光变化,光源亮度可远程调节,二是光源的角度可调节,以满足不同的补光角度。基于此采用条形LED光源,带串口通信接口。根据垫板表面情况和自然光变化,PLC发送光强控制字,控制光源的光强。经测试,为了照亮工件表面的凹陷字符,突出字符特征,采用光源在斜上方的打光方式对工件进行补光效果佳,如图3所示。此外,为了不影响机器人的正常作业,将光源安装在旋转机构上,PLC发送脉冲控制旋转电机的旋转角度[6]。图像采集时旋转机构旋转到工作位;采集完成后,旋转机构旋转到原位,等待下一个命令。

(3)工控机。

图像的存储、处理与分析均在工控机里完成,为了适应系统的性能需求和节拍要求,工控机的显卡必须为专业显卡,硬盘500G以上,CPU内存8G以上等。选用8G专业显卡,CPU内存16G,2T机械硬盘,集成千兆网卡的工控机作为图像处理的服务器。

2.2.2 图像处理与分析系统

图像处理与分析系统,包含图像预处理、字符定位、字符分割、分割后识别、结果输出等步骤。

(1) 标记。

识别前,采集垫板图像样本,尽量包含所有的字符。样本数量越多,预测得越精确,但是考虑到垫板编码的特点,采集100个左右样本即可。将每一个样本的字符按区域标记出来,进行训练。

(2)图像预处理。

虽然采集图像的时候减少了大量的光照不均、反光现象,但是在实际生产中,无法保证每张图片都是高质量。为了降低算法的识别难度,实现字符的准确识别,需要对图像进行合理的预处理[7]。这个过程包含灰度化,二值化,去除噪声,倾斜矫正等。处理前后的对比如图4所示。

(3)字符定位。

对于垫板编码识别而言,只需要编码部分的图像就够了,没必要对整张图片进行分析识别,因此从整个图像中准确检测出编码区域就十分重要。

将处理后的图像进行行扫描和列扫描[8]。这样我们就可以定义出左边界、右边界、上边界、下边界,然后切割出编码的边界。

(4)字符分割与识别。

字符分割不仅要将连续的字符分割成若干独立的字符区域,还需要保证字符边缘的完整性。除了要识别的字符外,图像中还有很多干扰因素,为了排除干扰因素,提高识别率,将字符以外的图像“黑化”处理[9]。

分别在水平和垂直方向对“黑化”后的图像进行投影,会得到一个投影图,对其中的白色像素点进行统计,根据统计结果就可以判断出每一行的上下边界以及每一列的左右边界,从而可以找到切分位置[10]。然后根据找到的切分位置,把字符切分成一个个单个的字符,分割后的字符按照像素点的坐标位置排列。

分割后识别字符,主要解决的问题是每个字符是什么。

经过机器学习或与字符数据库模板进行匹配,最后选取匹配度最高的结果作为识别结果。而且,随着样板库的增加,模型不断完善,识别精度越来越高[11]。编码识别的结果如图5所示。

(5)结果输出。

對于本系统来说,垫板编码分布在三个区域,标记为区域一、区域二、区域三。识别以后,将识别结果分成三部分,和录入的编码进行比对,比对正确,将结果发送给控制系统,在触摸屏字符识别界面上显示。

3 应用效果评价

道岔垫板编码自动识别系统已经研发成功,经多次调试后在国内道岔垫板机器人焊接工作站进行推广应用。使用以来,运行状况良好,解决了道岔垫板编码识别难、正确率偏低的难题。系统具有以下优点。

(1)HMI人机界面友好,系统操作简单、结构紧凑、投入成本低。

(2)识别率有效提升。投入运行以来,对自动识别的正确率进行了统计。结果表明,识别正确率达到99%以上。

(3)人工参与少。一键启动,通过编码的识别,自动调用相应的焊接程序,减少了编程的工作量,降低了劳动强度。

(4)系统运行稳定可靠,维护率低。

4 结语

道岔垫板编码自动识别系统的研发,解决了道岔垫板编码识别的难题,为道岔垫板自动化焊接打下了坚实的基础。系统基于工业机器人,以PLC为主控制器,结合视觉系统,不但实现了数据流转,自动识别,人为参与少,而且提高了识别正确率。同时,编码自动识别系统还可与生产系统连接,实现远程监控和生产调度。此外,觸摸屏的界面设计充分考虑不同人群的差异性,整个作业只需一键完成,操作便捷,易于上手。综上所述,道岔垫板编码自动识别系统可以推广应用。

参考文献

[1] 殷晓轶.PROFINET IO在PLC与工业机器人通信中的应用[J].集成电路应用,2021,38(4):178-179.

[2] 陶帅.PLC与PC的通信在工业机器人监控系统中的应用研究[J].河北农机,2021(8):67,72.

[3] 杜旭东,王琛.一种道岔垫板生产线控制系统的设计及应用[J].机械管理开发,2020,35(7):185-187.

[4] 焦雷.基于PLC的钢筋笼自动焊接机器人研制[J].铁道建筑技术,2021(7):13-17.

[5] 李承连,赵志诚,王晓东.基于工业机器人的高铁腕臂预配系统研发与应用[J].铁道建筑技术,2021(2):73-76.

[6] 王哲禄.基于PLC与工业机器人的抛光打磨工作站控制系统的设计与实现[J].制造业自动化,2019,41(7):103-105.

[7] 刘基,赵志诚,王晓东.基于OCR技术的复杂背景下工件标识字符识别方法[J].铸造,2021,70(7):855-860.

[8] 潘海鸿,徐大斌,王耀玮,等.基于线结构光的发动机缸盖表面字符识别[J].组合机床与自动化加工技术,2021(6):63-66.

[9] 段西利.工业工件复杂表面的字符识别方法研究[D].西安:西安理工大学,2019.

[10] 张忍.基于OCR技术的光滑金属工件表面字符检测与识别研究[D].苏州:苏州大学,2020.

[11] 曹钊铭.基于深度学习的字符识别系统的研究与实现[D].南京:东南大学,2020.