程国侦,徐 永,郑 勇
(福建农林大学 机电工程学院,福建 福州 350002)
金工实习是高等院校工科教育中重要的工程训练环节之一,包括对车工、铣工、刨工、磨工、钳工、电焊等传统机械制造方法的认识和实习,以及数控加工和特种加工等先进制造技术,在提高学生工程实践能力上发挥着不可取代的作用。然而,与一般的实践课程相比,金工实习有更高的危险性。在实际生产中,即使是操作熟练的技术人员也难以完全避免事故的发生,而完全没有生产经验的学生不但要近距离认识各类机械设备,还要在数周时间内,动手操作这些设备进行加工。如果发生事故,轻则损毁设备,影响课程进度,重则造成难以弥补的人身伤害。因此,保障实习安全,是金工实习课程顺利开展最重要的前提条件。
目前各高校在金工实习中常用的安全措施,可以分为以下几类:
(1)安全教育。大部分学生对机械制造过程的危险性缺乏认识,存在侥幸心理。因此首先要通过讲述相关安全事故的实例,使学生认识到操作安全的重要性。然后详细讲解各个工种的安全操作规程,以及违反操作规程可能引发的后果。学生安全意识的缺乏是事故发生的一个重要原因,通过安全教育,能有效避免此类事故的发生。
(2)巡视监督。由于操作不熟练、动手能力差、马虎大意等原因,即使反复强调,学生也可能违反操作规程。在实习过程中必须不时巡视,对操作不规范的学生及时纠正。
(3)安装安全装置。通过增设安全装置,可以避免一些常见事故的发生。如学生在启动操作车床时,容易忘记取下卡盘扳手,造成扳手高速甩出。针对此类事故,可以将限位开关接入机床控制线路[1]。如图1所示,当卡盘扳手放入插销并在重力作用下,将限位开关按下时,机床才能启动。
图1 卡盘扳手限位装置示意图
(4)应用虚拟仿真技术。利用虚拟仿真技术,可以在计算机上生成三维立体的设备模型,学生通过鼠标等输入设备发出指令,操作虚拟设备进行各种加工。学生在仿真训练合格后,再进行实际操作,可以使学生熟悉操作的同时,不必承担安全风险。
传统的安全措施虽然能在一定程度上降低事故的发生,但由于当前高校金工实习教学时间较为紧张,学生人数众多,且动手能力参差不齐,一些意外及小事故仍时有发生。在实习过程中,一位教师往往要负责多台机床,指导数十位学生。在给某一位学生纠正操作时,就难以顾及其他学生。因此,若是能在机床上设计一款智能监测设备,实时监测每一台机床的操作状况,当出现安全风险时,及时对教师和学生播报语音警示,将会极大地提高金工实习的安全性和教学质量。
目前,国内学者对金工实习安全设备的研究多是针对某一个安全事故,开发一种安全装置来防范,鲜有从计算机视觉(computer vision,CV)角度进行研究。事实上对每个安全事故都研发一种安全装置极为困难,而通过计算机视觉却有实现的可能性。计算机视觉是一门跨学科的新兴技术,通过计算机处理图像数据,使人类视觉系统可以完成的任务实现自动化,其在自动驾驶上的应用已经逐渐走入现实生活。如特斯拉汽车公司的所有新车型,都配备了视觉系统,利用车身安装的8 个摄像头,获取周围每个方向的图像数据,可以实现自动转向、自动加速及自动制动等辅助驾驶功能,提高了行车的安全性。
普通卧式车床在以往的金工实习教学中,相对其他工种事故发生更为频繁。因此本文首先选择普通卧式车床作为研究对象,利用计算机视觉技术,搭建一套带有自动检测功能的安全系统。
系统的构成如图2 所示,主要有以下几个部件组成:使用扁铁焊接的支撑架,放置于车床主轴箱上方;电源使用20 000 mA 的充电宝;树莓派(Raspberry Pi)型号3b+,搭载Debian 系统;树莓派摄像机,型号为V2,像素800 万;树莓派WM8960 音频扩展板;搭载Windows10 操作系统的计算机;树莓派和计算机之间使用Wi-Fi 进行通信。
图2 车床安全监测系统示意图
树莓派摄像头每隔3 s 拍摄加工时的图像,通过Wi-Fi 将图像传回计算机。计算机通过图像判断当前零件的形状,使用的刀具种类及刀具与零件的相对位置。最后再将处理结果进行分类,达到警报条件则发出警报,警报内容实时显示在计算机屏幕上,并通过树莓派的扬声器语音提醒学生。
车工实习常见的事故及其原因可分为以下几类:
(1)铁屑飞溅入眼。加工过程中要求学生必须佩戴防护眼镜,但还是有个别学生忘记佩戴,导致铁屑飞溅入眼。刚飞出的铁屑不仅锋利,而且温度高,极易造成眼睛损伤。
(2)刀具割手。多由于学生未按规定穿着长袖,或将袖子卷起引发;操作中手臂若是不慎触碰到刀架上的刀具,很容易割破手臂。
(3)卡盘扳手飞出。目前车床都装有放置卡盘扳手才能启动的限位器,但在限位器发生故障的时候,如果学生忘记将卡盘扳手取下,一按下启动,扳手就会往人站立的方向高速甩出而伤人。
(4)刀具崩断飞出。发生此事故多由于学生错误操作导致,如卡盘调速过高、走刀速度过快、进刀量过大、刀具误撞卡盘等。
(5)零件甩出。多由于学生装夹不牢、装夹长度过长、切断速度过快等引起。
针对以上事故,结合车工实习教学经验,通过机器视觉可以进行如下检测:
(1)检测学生状态。主要检测是否穿着长袖长裤,是否佩戴防护眼镜,女生是否戴好帽子,操作机床时是否有玩手机、开小差等情况。
(2)检测机床状态。检测卡盘转速、走刀速度、滑板位置等是否正常。
(3)对每个操作步骤作出提示。在车工实习的第一堂课上,绝大多数学生从未接触过类似设备,操作时容易紧张,要学的内容也较多,难免出现顾此失彼和错误操作。因此可以实时检测当前将要进行的是哪个操作,并对操作要点重新进行简要的讲解。
(4)出现错误操作发出警报。实时检测操作过程,对吃刀量过大、铁屑颜色异常、刀具磨损严重等危险情况发出警报。
(5)实习结束后检测车床整理情况。检测车床工具、滑板是否正确归位,车床是否打扫干净。
当前机床操作状况的识别,首先要确定刀具位置及零件形状,再通过计算二者的相对位置,判断正在进行的操作步骤,进而做出相应提示。
2.4.1 识别方法选择
实习使用的普通卧式车床型号为CA6136,车床各部位长期使用发生掉漆,并且存在油渍,导致俯视图背景复杂,直接通过图像进行识别存在较大难度,需要增设标识物。如图3 所示,分别在大滑板和方刀架上粘贴颜色鲜艳的薄片作为标识物,在不影响车床正常操作的同时降低识别难度。然而在实际加工过程中,往往铁屑飞溅,且光影变化复杂。使用阈值分割、边缘检测、背景差分、模板匹配等传统目标检测算法难以有效对刀具和零件进行识别,而深度学习技术远超传统算法的鲁棒性和泛化能力,无疑是解决此类问题的更好选择。
图3 车床俯视图前后对比
深度学习是机器学习的一种方式,是对人脑运行机制的一种简单模仿,通过多层神经网络处理图像、音频等数据。该方法从本质上说,与所有机器学习方法一样,是一种用数学模型对具体问题进行建模分析问题的方法。深度学习极端依赖大规模并行计算,而中央处理器(central processing unit,CPU)难以满足这种需求。深度学习从学术界走入现实生活,与GPU技术的成熟密不可分。2012 年,Hinton 的团队使用英伟达公司(NVIDIA)生产的GPU,应用深度学习技术,在机器视觉比赛(ImageNet)中夺得冠军,其预测的正确率首次超过传统算法[2]。近年来,在目标检测领域,随着R-CNN[3]、SSD[4]、RetianNet[5]、YOLO[6]等基于深度学习优秀算法的出现,使得那些传统算法表现不佳的视觉识别任务有了替代方案。本文分别选择 YOLO v3[7]和 U-Net[8]算法对刀具位置和零件形状进行识别,实验结果表明,识别速度和准确率较为理想。
2.4.2 刀具位置的判定
YOLO v3 是深度学习领域的一种优良的目标检测方法,以往的目标检测方法大多利用分类器执行检测,而YOLO v3 将目标检测任务作为目标区域预测和类别预测的回归分析问题,采用单个神经网络直接预测物品的边界和类别的概率,实现端到端的物品检测[7]。具体实现步骤简述如下:
(1)制作数据集。车工实习中常用的刀具共3 种:外圆刀、圆弧刀和切断刀。刀具数据集如表1 所示,使用不同的刀具时,方刀架上不同颜色贴片的旋转方向不同。拍摄刀架处于不同位置的图片后,分别对贴片区域进行标注,得到三类刀具图片数量分别为125张、123 张和148 张。再通过旋转、缩放、添加噪声、局部扭曲的方法对图像进行数据增强,将图片数量增加到原来的5 倍。图片总数量达1 980 张,其中训练集和验证集的数量之比为9∶1。
拍摄的原始图像如图4 所示,图片大小为3 280 pixel×2 464 pixel,格式为24 位的JPG 文件。用图像处理工具将所有图片尺寸缩小至800 pixel×480 pixel,降低训练时的计算量。
(2)训练数据。YOLO v3 网络训练过程中,类别数为3,批处理大小为5,迭代次数为50,其余参数采用默认值。
(3)使用模型进行检测。使用网络训练得到的模型文件进行检测,识别效果如图5 所示。
表1 刀具数据集
图4 拍摄的原始图
图5 识别效果图
2.4.3 零件外形轮廓的获取
U-Net 是一种基于FCN 框架的全卷积网络[9],目前广泛应用于医疗领域的图像语义分割。医疗图像往往语义简单、结构固定,而数据量较少。因此模型参数不宜过多,否则容易导致过拟合,而U-Net 轻量级的模型结构正适合于处理此类图像[10]。
图6 所示是车工第一节课加工的零件,在加工过程中零件的位置相对固定,外形变化不大。要对未加工的钢材和加工过程中的零件轮廓分别进行识别,用U-Net 网络可以实现较好的效果。具体实现步骤简述如下:
图6 车工零件图
(1)零件数据集。零件始终固定在卡盘上,不需要处理拍摄的整张图像。如表2 所示,零件有未加工和加工后两种类别,截取后的尺寸为350 pixel×200 pixel,拍摄的图片数量分别为11 张和26 张。程序在训练过程中对数据进行增强,因此不需要收集太多数据就可以达到较好效果。
表2 零件数据集
(2)训练数据。使用U-Net 网络训练过程中,训练期数为7 次,每次训练的图片样本数量为600 张,其余参数采用默认值。
(3)使用模型进行检测。使用网络训练得到的模型文件进行检测,识别效果如图7 所示。
图7 语义分割效果图
2.4.4 识别效果测试
以人工标注的结果作为参考,重新拍摄20 张图片进行测试。测试系统软件环境为:Windows10,Python,Cuda 等。主要硬件为:CPU 型号为AMD 2600X;GPU型号为RTX2060;内存条的容量和频率为16 G 和3000 MHz。识别准确率及耗时如表3 所示,准确率均在80%以上,耗时满足拍摄时间间隔要求。
表3 识别准确率及耗时
通过对零件外形轮廓及刀具的识别,可以避免车工实习常见的三类事故:
(1)零件装夹长度错误。零件装夹长度过长,会导致径向扭矩过大,使得零件震动、弯曲、损毁,甚至击飞刀具;装夹长度过短,会使得刀具容易与高速旋转中的卡盘碰撞。因此可以计算零件外形轮廓的长度,超过规定值提前发出警报。
(2)背吃刀量过大。此类事故通常发生在加工零件外径时,背吃刀量超过规定值,刀具剧烈磨损,严重时可能导致刀刃崩断。通过检测零件外形轮廓的变化,可以对背吃刀量进行估算,避免事故发生。
(3)进给速度不当。在切断时,进给速度过快会使刀具剧烈磨损;进给速度过慢又会加剧摩擦。为避免这两种情况,可以通过对刀具类型及位置的识别,计算出刀具的移动速度,当刀具速度不在安全范围时及时示警。
本文提出了一种将机器视觉、人工智能与传统的金工实习教学相结合的教学改革方案。实习过程中人眼难以实时观察每一台机床的操作情况,在出现问题时,往往已经来不及阻止。机器视觉可以不知疲倦且实时准确地发现问题,弥补人眼的不足并及时发出提醒信号,将可能的故障率降到最低。此外,人工教学难以对每一位学生的每一个操作都做出指导,用机器视觉结合语音指导,可以弥补人力的不足,帮助学生正确操作,从而提高教学效果。利用机器视觉还可以将所有警报记录下来,作为考评成绩的一部分。在以往教学中,虽然也多次提醒学生规范操作、遵守纪律是成绩的一部分,但是由于学生人数众多,在实际教学中,往往难以落实,因此很多学生也不重视。有了这一全新的系统,不仅使得记录学生的每个操作过程成为可能,而且还能敦促学生注意规范操作,为学生今后的工程实践打下良好的基础。综上所述,该方案有助于提高金工实习的安全性和教学质量,以及设备的完好率。但目前通过机器视觉仅实现了部分功能,如何更全面、精确地对操作状况进行识别,还需要进一步研究。