《武汉工程大学学报》  2021年04期 462-467   出版日期:2021-08-31   ISSN:1674-2869   CN:42-1779/TQ
基于视觉的工业机器人异常动作检测方法研究


随着中国制造2025战略的实施,工业机器人逐步应用到我国制造业的各个领域,保有量和销售量逐年攀升[1]。2018年,我国工业机器人保有量达57.5万台,年销量14万台,销售额达260亿元,全球占比33%。以工业机器人为核心的自动化生产线集成业务市场规模超1 000亿元,位列全球第一[2]。工业机器人的广泛应用导致安全问题频发。自1978年日本广岛发生第一例机器人突发故障致人死亡事件[3]以来,美国、德国、俄国皆有此类事件发生。随着我国工业机器人保有量的持续攀升,近年来机器人致人伤亡的事件也时有发生。由于工业机器人具有速度快和力量大的特点,其突发故障轻则造成生产线停工,导致巨大经济损失,重则导致工人死亡。为此,工业机器人的安全检测技术获得了工业界和学术界的广泛关注。引发工业机器人故障的原因主要有人为因素和机器人自身故障。人为因素主要包括工人误操作和意外闯入机器人作业区域等管理问题。可通过规范操作流程和建立防护措施来解决。机器人自身故障主要由电磁干扰,器件老化,金属疲劳等原因所致。对于机器人自身的故障,目前的检测方法主要思路是通过专用的数据采集装置获得工业机器人的状态数据,然后采用数据分析[4]、专家系统、人工神经网络、模糊数学、故障树等技术[5-8]进行故障检测并预警。这类方法存在以下问题:首先,工业机器人通信协议的不统一,要求采用专用的数据采集装置,增加了数据采集成本;其次,工业机器人故障监测系统通常采用接触式或者嵌入式,与机器人本体相连,增加了机器人系统的复杂度,甚至会对机器人本体造成干扰,影响其运行的稳定性。本文提出一种基于机器视觉的工业机器人故障动作检测方法,对工业机器人作业视频进行实时分析,利用图像分割[9-10]技术分离工业机器人本体并采用图像哈希技术[11-12]生成工业机器人姿态编码,结合序列模式分析技术[13]检测工业机器人异常动作并进行预警。此方法不依赖于工业机器人通讯协议,以非接触式的方式对工业机器人进行实时监控,具有易于部署和成本低的特点。此外,本方法通过扩展后可用于监控场景内多台工业机器人,可进一步降低工业机器人安全性检测的成本。1 基于视觉的工业机器人故障动作检测方法工业机器人故障动作检测框架,包括机器人动作模式提取阶段和机器人动作监测及预警阶段。动作模式提取阶段对工业机器人周期性作业视频图像进行分析,采用图像分割、机器人姿态编码和动作模式提取技术获取机器人的周期性动作模式序列。机器人动作监测及预警阶段用于实时分析工业机器人作业视频,采用图像分割和机器人姿态编码技术获取当前机器人的姿态编码。机器人异常姿态检测模块根据机器人动作模式序列,采用序列数据近似匹配方法评估当前机器人姿态的合理性,若姿态正常则继续检测下一帧,若异常执行急停控制指令紧急制动。工业机器人故障检测框架如图1所示。1.1 机器人图像目标分割为了避免工业现场复杂环境对工业机器人姿态分析造成干扰,采用图像分割技术从工业机器人作业视频中分离出工业机器人本体。各品牌的工业机器人表面通常会喷涂成单一的颜色,主要有蓝色、黄色、红色等。考虑到工业机器人表面与工业现场颜色的差异,基于工业机器人的颜色特征进行图像分割。首先将工业机器人作业图像从RGB颜色空间转换到HSV颜色空间,然后分析工业机器人图像的颜色值分布区间,设定前景色范围将工业机器人本体从图像中分离出来。如图2(a)所示的工业机器人仿真焊接图像,其中包含6轴工业机器人和双轴变位机。工业机器人型号为安川MA1900,表面为蓝色。由图可见,工业机器人表面颜色与作业环境差异明显,通过实验分析,将前景色范围设置为HSV:(100,103,46)-(110,255,255)时能获得如图2(b)所示的效果。1.2 工业机器人姿态编码为实现工业机器人姿态高效的计算和存储,采用图像哈希[14]技术对工业机器人姿态进行编码。图像哈希是一种图像降维[15]技术,其可为图像生成对应的哈希值作为图像指纹[16]。根据图像指纹可完成高效的图像相似度比较和图像检索等任务。本文采用差异哈希算法[17-20],将分割后获得的工业机器人图像压缩为8×8的像素块彩色矩阵(差异哈希先压缩成为8×9矩阵,后一列依次减前一列后取绝对值,得到8×8矩阵),然后将该矩阵灰度化,对每个像素块依次编码,灰度存在记为1,不存在记为0,遍历64个矩阵块,4个像素块的排列组合是24,即每位为十六进制,编码生成的哈希值编码长度为16的十六进制值作为工业机器人的姿态编码。工业机器人姿态编码流程如图3所示。1.3 工业机器人动作模式提取工业机器人在作业过程中的运动通常具有周期性。将工业机器人一个周期内的姿态变化序列称作机器人的动作模式。在经过姿态编码后的工业机器人动作序列P中,机器人动作模式表现为P中最长重复子序列,其形式化定义如下:定义1(工业机器人动作模式):假设P:为一个工业机器人动作序列,pi,[i=1?n]为工业机器人姿态的哈希编码,工业机器人的动作模式[P]:,[1≤k≤k+l≤n],为P的最长近似重复子序列。给定任意的最长近似重复子序列[P’?P]:,有[?ampk+j, ps+j≤δ],[0≤j≤l],其中[?ama,b]为机器人姿态编码a和b的汉明距离。其中,汉明距离指对两组二进制编码进行异或运算,统计结果为1的个数,汉明距离作为相较两个信息间差异程度,作为一个衡量相对程度的无符号量。由于图像采集的不稳定性,两幅相同姿态的工业机器人图像也会存在差异。因此当机器人姿态a和b的汉明距离小于机器人姿态相似度阈值[δ]时,则认为a和b为相同的机器人姿态。为了提取机器人动作模式,借鉴字符串算法中最长重复子串的求解方法:①构建工业机器人动作序列后缀数组;②对数组中的后缀子序列进行排序;③计算相邻两个后缀子序列的公共前缀,其中最长的公共前缀即为机器人动作模式。值得注意的是,在进行机器人姿态编码比较时,当汉明距离小于姿态相似度阈值[δ]时即认为机器人姿态相等。1.4 工业机器人异常姿态检测基于提取的工业机器人动作模式,判定工业机器人当前姿态是否异常。假设[P]:为工业机器人动作模式,c和c[’]分别为当前工业机器人姿态编码和上一帧工业机器人姿态编码,[IP, c]为姿态c在动作模式[P]中的顺序号,若c在[P]中存在且满足[IP,c]=[IP,c’+1]则c为正常机器人姿态,否则c为异常机器人姿态。2 实验部分2.1 实验数据集实验数据集为武汉工程大学工业机器人工程技术研究中心开发的榨螺堆焊仿真建模视频。整个工作场景包含6轴工业机器人和双轴变位机。工业机器人颜色为蓝色,型号为安川MA1900,末端执行器安装有弧焊枪,机器人底座固定于焊台上;双轴变位机为灰色,可对固定在上方的榨螺工件进行翻转或者360°旋转。变位机配合工业机器人进行联动作业,采用弧焊工艺在榨螺表面焊上一层耐磨金属,提高榨螺的耐腐蚀性。为了验证本文方法的有效性,采用视频剪辑的方法对上述工业机器人一个周期的工作视频重复了20次,并在最后的10个工作周期中随机位置插入了10个异常动作。视频分辨率1 024×768,总时长为45 s,前15 s为10个正常作业周期,后30 s包含机器人异常动作。插入的异常动作图像在机器人正常动作图像的基础上应用随机的参数进行旋转和拉伸变换产生。实验的目的是在数据集中提取出工业机器人的动作模式,并准确的检测出机器人的异常动作。2.2 实验配置实验计算机配置如下:硬件配置:CPU型号中间需要空格Intel Core i7-8700K CPU,6核心12线程,DDR4代32 GB内存,GPU型号也需要空格Nvidia GeForce GTX1080Ti显卡(11GB显存)。软件配置: Python3.7,numpy19.3.1,opencv-python4.0.0.21及相关运行库等。2.3 实验方法实验以构造的工业机器人仿真视频作为数据集,采用提出的方法从前10个工作周期中提取出工业机器人动作模式,然后基于动作模式检测后10个工作周期中机器人的异常动作。统计异常动作检测的精确度和召回率,度量本文方法的有效性。实验过程中,视频帧采样间隔设置为8(若要提高异常动作检测的实时性可减小视频帧采样间隔),机器人姿态相似度阈值[δ=2]。3 结果与讨论对视频数据集前10个工业机器人作业周期数据进行采样分析,应用本文的模式提取方法提取出工业机器人动作模式为:<0000280020000000,0000100020000000, 0000502020000000, 0020402020000000,0000502020000000,0000100020000000,0000280020000000>,该模式7个姿态编码与图4工业机器人动作模式姿态中的一一对应。应用提取的工业机器人动作模式,对工业机器人后10个作业周期的视频数据进行异常动作检测,共检测到异常动作10个,其中第11个周期包含异常动作3个,第13个周期包含异常动作2个,第12,14,15,16,19周期各包含异常动作1个,检测的精度和召回率均为100%。异常动作与动作模式的汉明距离(相对量)最大为7,最小为3,平均为5.4。工业机器人的异常动作图像如图5所示,其中,图5(a)为应用顺时针旋转变换获得工业机器人异常动作图像,图5(b)和图5(c)为应用逆时针旋转变换获得工业机器人异常动作图像,图5(d)为应用缩放变换获得工业机器人异常动作图像,图5(e)为应用逆时针旋转变换和缩放变换获得工业机器人异常动作图像,图5(f)和图5(h)为应用顺时针旋转变换和镜像变换获得工业机器人异常动作图像,图5(g)为应用逆时针旋转变换和镜像变换获得工业机器人异常动作图像,图5(i)和图5(j)为应用镜像变换获得工业机器人异常动作图像。由实验结果可知,在仿真视频实验的情况下,利用工业机器人动作模式提取和匹配,能有效判断正常状态下工业机器人工作周期模式和异常状态下机器人的故障姿态。4 结 论采用机器视觉技术对工业机器人进行检测,旨在发现工业机器人的异常动作,保证工业机器人的作业安全。方法首先对工业机器人本体进行图像分割,然后利用差异哈希方法对工业机器人姿态进行编码,从工业机器人姿态编码序列中提取出周期性的作业模式,采用汉明距离度量工业机器人姿态的相似性并检测异常姿态。采用工业机器人仿真焊接视频作为数据集开展了实验研究,结果表明本方法能够准确提取出工业机器人的动作模式并检测出异常动作,为保障工业机器人安全提供了技术支撑。不依赖于工业机器人通讯协议,以非接触式的方式对工业机器人进行实时的姿态检测,具有易于部署和成本低廉的特点。为了推动将来在真实工业场景中的应用,后期将基于真实机器视觉技术工业机器人作业视频开展进一步实验研究。