耿浩 高鹏 罗奕
摘 要: 为了解决医用试纸生产过程中纸张表面瑕疵(纸病)不易识别的问题,通过分析人工检测方法和纸病的主要特点,设计一种基于NJ控制器的医用试纸纸病检测系统。给出该系统是由视觉检测模块和动作标记模块组成,介绍视觉检测所采用的基本方法并给出视觉检测的效果图,说明视觉坐标系和运动标记坐标系的对应关系。设计的运动控制程序实现了对医用试纸表面纸病的有效识别和时时标记。该系统经过多次调试后,在纸速度不超过3 m/s,宽幅200 mm时,能实现对医用试纸表面1 mm及以上宽度的亮斑和暗斑的有效检测并标记。
关键词: 医用试纸; 纸病; NJ控制器; 视觉检测; 运动控制; 动作标记
中图分类号: TN06?34; TP23 文献标识码: A 文章编号: 1004?373X(2018)18?0028?04
A medical test paper disease detection system based on NJ controller
GENG Hao, GAO Peng, LUO Yi
(School of Mechanical and Electrical Engineering, Guilin University of Electronic Technology, Guilin 541004, China)
Abstract: A medical test paper disease detection system based on NJ controller was designed by analyzing the main characteristics of the manual detection method and paper disease, so as to resolve the problem of recognition difficulty of flaws on paper surface (paper disease) in the production process of the medical test paper. The system is composed of the visual inspection module and action marking module. The basic method used in visual inspection is introduced, and the effect image of the visual inspection is presented. The corresponding relationship between the visual coordinate system and the motion marking coordinate system is given. The designed motion control program implements effective recognition and all?time marking of paper diseases on the medical test paper surface. After several times of debugging, the system can realize effective detection and marking of bright spots and dark spots of 1 mm and above on the medical test paper surface when the paper speed is no larger than 3 m/s, and the paper width is 200 mm.
Keywords: medical test paper; paper disease; NJ controller; visual inspection; motion control; action marking
医用试纸是将生化试剂固定在试纸上,用以检验人体生化物质,进而对某些病症进行初筛,因其操作简单、方便,且有一定的准确性,深受不少消费者的青睐[1]。医用试纸对纸张的质量要求远远高于普通的纸张,用到贴片加工技术的医用试纸都会有如图1所示的生产过程,生产中都会通过人工对纸张进行严格的检查,主要检查纸张表面大于1 mm的透光点和暗点。
传统的人工检测纸病方法不论是速度还是准确度都已不能满足目前的生产需要。医用试纸纸病检测要求检测和标记同步进行,以适应下一步剔除的需求,对控制器的要求较高。因此本系统选择NJ系列控制器,该控制器是欧姆龙公司推出的新一代集运动控制、PLC、视觉控制于一体的控制器[2]。NJ系列控制器内置EtherCAT和EtherNet/IP端口,可以与该平台中同样具有EtherCAT接口的设备组网,其扩展性更好,不会丢信号,控制精度高[3]。NJ的编程软件为Sysmac Studio,该软件模型遵循IEC61131?3标准,采用区别于以往PLC的变量编程系统,更接近C语言的编程系统,编程语言有梯形图、ST、功能块,通过功能塊进行伺服的控制,极大提高编程效率[4]。
1 系统总体结构和硬件组成
1.1 系统结构
医用试纸纸病检测系统由视觉检测部分、动作标记和人机交互界面三部分组成。其中视觉检测作为整个系统的输入部分,通过采集图像和算法处理得到纸病的具体坐标位置;NJ控制器获取视觉部分的坐标位置后进行数据分析和坐标转换,控制伺服电机在相应的位置进行标记;标记模块的动作部分是XY丝杠滑台装置,精确度较高,制动迅速,纸张速度由变频器来控制;通过触摸屏界面对系统主要参数进行修改和调试。具体系统结构如图2所示。
1.2 硬件选型
根据纸病检测的要求,需要的视野为200 mm,精度为0.2 mm,由相机精度计算公式:
精度=视野(长或宽)÷相机像素(长或宽)
计算得最终需要1 000像素,可以选择200万像素(1 600×1 200)FZ?SC2M相机,视觉模块选用FH?1050?10的视觉处理器,该视觉控制从图像输入、处理、传输速度上完全满足系统的要求;动作标记部分需要3台伺服电机,2个伺服驱动器和1个变频器;综上考虑外设情况选用NJ301?1200核心控制器,其最多可控8轴同步、具有3 ns单步指令速度、42 ns的数字指令速度,完全可以满足系统控制需求。系统硬件结构和网络拓补图如图3所示。
1.3 通信连接
NJ控制器与PC机、触摸屏是通过EtherNet/IP总线联接组成上位机系统;NJ通过EtherCAT总线与视觉处理器、伺服驱动器、变频器联接组成下位机系统;视觉处理器通过相机总线与工业相机相连;伺服驱动器、变频器通过动力电缆、编码器线与各伺服电机相连。
Fig. 3 Hardware structure and network topology of system
2 视觉检测部分
2.1 视觉坐标系校准
视觉坐标系的校准主要是确定现实世界坐标和像素坐标之间的一一对应关系,通过对相机建立针孔模型可知,这种对应关系是由相机内部的6个参数决定[5]。假设6个参数为A,B,C,D,E,F,其转换公式如下:
式中:[X,Y]为像素坐标;[X′,Y′]为现实世界坐标。由公式可得需要三对相互对应的像素坐标和现实世界坐标可以求得A,B,C,D,E,F六个参数的值。选用10×10的平面靶进行标定,这样的平面靶标易制作,且准确性较高[6]。在确定了像素坐标与世界坐标的关系后,由于相机安装位置固定,所以相机在世界坐标中的绝对位置得到确定。
2.2 视觉原理
视觉检测部分利用平滑处理、边缘强调、Prewitt算子边缘检测和形状搜索4种算法,能够准确地获取纸病的位置,并将坐标数据传送给NJ控制器,4种算法如下:
1) 图像平滑处理能有效地降低图像噪声。通过实验选用中值滤波作为平滑处理算法,它的基本原理是把数字图像中一点的值用该点的一个邻域中各点值的中值代替,让周围的像素值接近真实值,从而消除孤立的噪声点[7]。该方法是用某种结构的二维滑动模板将板内像素按照像素值的大小进行排序,生成单调上升(或下降)的为二维数据序列。二维中值滤波输出为:
式中:[f(x,y)],[g(x,y)]分别为原始图像和处理后图像;[W]为3×3的二维邻域模板。
2) 边缘强调是为了消除图像平滑处理所带来的图像边缘和图像轮廓模糊的问题。文中边缘强调所采用的是空域方法中的梯度法,图像的梯度模值包含了边界及细节信息。梯度模算子用于计算梯度模值,通常认为它是边界提取算子,具有极值性、位移不变性和旋转不变性。对于原图像离散函数[f(j,k)],求梯度定义式如下:
式中,[G([f(j,k)])]代表梯度的模。
3) Prewitt 边缘检测算子是一种一阶微分算子边缘检测,利用像素点上下、左右邻点灰度差,在边缘处达到极值检测边缘,对噪声具有平滑作用[8]。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,其模板为:
这两个模板一个检测水平边缘,一个检测垂直边缘。图像中的每个点都用这两个模板进行卷积,然后求出两个卷积中较大的一个作为输出。Prewitt 算子求梯度的表达式为:
式中:[Gx]和[Gy]分别为 Prewitt 算子2个模板的卷积;[M∞]为应用 Prewitt 算子求出的梯度值。求出梯度后,可设定一个常数T,当[M∞]>T 时,标出该点为边界,其像素值设为255,其他的设定为 0。
4) 形状搜索算法首先需要选择合适的基准图像作为模型;然后进行整个区域的粗略搜索,大致确定相似模型的位置;之后进一步搜索模型周围,确定图像的相似度,形状搜索是将轮廓信息作为图像图案进行处理[9]。经过上述算法处理的结果如图4所示,可以看到不論是黑斑还是亮斑,形状搜索都进行了有效标记。
2.3 视觉处理结果
对视觉处理器进行编程,调用前文所述的视觉处理模块后,可以看到图4的处理结果。图中显示的是从1 ~4 mm的透光和黑斑纸病;前两幅图是纸病处理后的结果图像;第三幅图是Prewitt边缘检测算子检测的结果图,两种纸病的边缘被清晰的检测出来;图中显示调用形状搜索算法后,所有的纸病都会被有效的识别,并得出其对应的坐标位置且会以Y轴升序排坐标数据;最后调用数据传输模块,将每次获取到的坐标传递给NJ控制器。
3 运动控制部分
3.1 系统坐标系建立
动作标记部分通过设定伺服旋转1周滑台的实际进给,确定与世界坐标的一一对应关系。在二维滑台4个角布置好限位开关,在丝杠中部安装非接触式的常开接近开关作为近原点信号。通过Sysmac编程软件设置伺服电机为“近原点输入 OFF 动作”的原点接近方式,系统上电后在各种状态下都可以进行原点自动搜索,其具体动作情况如图5所示,由此可以确定动作标记部分在现实世界中的绝对位置。在视觉坐标系与动作标记坐标系相对于世界坐标确定的情况下,整个系统坐标得以确定。
3.2 NJ运动控制编程
首先进行系统初始化程序。在主要周期任务中,添加伺服锁定程序段、原点搜索程序段、变频器控制程序段、点动控制程序段、停止功能程序段、故障恢复程序段,实现系统的基本手动功能。在Sysmac中二维滑台的两台伺服电机控制抽象XY两轴,将两轴合并添加为XY_GROUP轴组,对轴组的控制简化了控制模型,动作同步性提高了滑台稳定性。
在自动控制程序中,先创建队列数据结构LREAL类型的X_POS[100],Y_POS[100]和MOVE_TIME[100]数组,分别存放XY轴的动作序列和动作时间间隔。伺服使能完成后触发相机拍照,之后从NJ的数据缓存区取出数据,通过检查坐标位置判断是否在合理的区间内,经过坐标转换后得到XY坐标和时间间隔数据,调用StackPush功能块,将视觉转化后的数据进行入队操作。通过是否是第一次动作和上一次动作是否完成两个标志,调用StackFIFO功能块进行出队操作,获取坐标后运行到指定位置,延时等待到纸病到达坐标点,触发标记动作,并置位上一个动作完成标志。弹出下一个数据并比较两坐标位置差,若XY方向间隔太小则丢弃数据,因纸病裁除时有容错,若弹出时发现队列计数器为零,则将第一次动作标志置位,以保证下一次有数据时,数据能够顺利出队。具体程序流程如图6所示。
通过实验验证标记模块能够准确对纸病进行标记。
3.3 触摸屏编程
上位机采用OMRON NS8?TV01B?V2触摸屏;人机交互界面主要包括运行界面、手动操作、参数设置和历史记录等多个画面[10]。主界面显示当前系统的一些主要参数,参数设置对系统主要参数进行设定;历史记录界面可以查询纸病的具体位置,结合瑕点数量可以判定纸张质量,及时作出生产计划调整。触摸屏界面如图7所示。
4 结 论
医用试纸纸病检测系统以NJ301?1200为核心控制器,以FH?1050?10视觉控模块和动作模块作为辅助控制单元,通过设计视觉算法,能够准确地获取纸病位置;通过队列据结构和定时器的配合设计动作控制算法,有效地处理了延时动作序列;通过人机界面,能够对系统进行参数设置和状态监控。该系统经过多次调试后,在纸速度不超过3 m/s,宽幅为200 mm时能实现对医用试纸表面1 mm及以上宽度的亮斑和暗斑的有效检测并标记。整个系统能准确快速地实现纸病检测及标记,其速度和精度都能满足生产的需要,大幅地提高医用试纸的生产效益。
参考文献
[1] 王黎洋.医用试纸?不出家门辨疾病[N].生命时报,2014?07?25(19).
WANG Liyang. Medical test paper: no need to leave home for disease identification [N]. Life times, 2014?07?25 (19).
[2] OMRON Corporation. Machine automation controller NJ?series motion control: instructions reference manual [EB/OL]. [2015?01?17]. http://www.docin.com/p?1027293518.html.
[3] OMRON Corporation. Machine automation controller NJ?series CPU unit built?in EtherCAT port: users manual [EB/OL]. [2013?06?22]. http://www.docin.com/p?669224074.html.
[4] 彭瑜,何衍庆.IEC 61131?3编程语言及应用基础[M].北京:机械工业出版社,2009.
PENG Yu, HE Yanqing. Programming language and application basis of IEC 61131?3 [M]. Beijing: China Machine Press, 2009.
[5] 马颂德,张正友.计算机视觉:计算理论与算法基础[M].北京:科学出版社,1998.
MA Songde, ZHANG Zhengyou. Computer vision?fundamentals of computational theory and algorithms [M]. Beijing: Science Press, 1998.
[6] ZHANG Z. A flexible new technique for camera calibration [J].IEEE transaction on pattern analysis and machine intelligence, 2000, 22(11): 1330?1334.
[7] GONZALEZ R C, WOODS R E. Digital image processing [M]. 2nd ed. New Jersey: Prentice Hall, 2002.
[8] 张学兰,李军,辛培红,等.基于Prewitt算子与形态学的纸病图像检测方法[J].纸和造纸,2012,31(8):25?28.
ZHANG Xuelan, LI Jun, XIN Peihong, et al. Paper defect detection based on Prewitt operator and mathematical morphology [J]. Paper and paper making, 2012, 31(8): 25?28.
[9] 欧姆龙株式会社.图像传感器FH/FZ5系列图像处理系统[EB/OL].[2017?12?15].https://download.csdn.net/download/weixin_39674545/10159332.
OMRON Corporation. FH/FZ5 series: vision system processing item function reference manual [EB/OL]. [2017?12?15]. https://download.csdn.net/download/weixin_39674545/10159332.
[10] 韩兵.触摸屏技术及应用[M].北京:化学工业出版社,2008.
HAN Bing. Touch screen technology and application [M]. Beijing: Chemical Industry Press, 2008.