石建刚,任帅
(国能铁路装备有限责任公司包头车辆维修分公司,内蒙古包头 014000)
随着工业技术的不断自动化和信息化,机器视觉与机器人开始发挥越来越大的作用。铁路货车作为货物陆路运输的重要工具,在运营过程中需要按规程进行专门检修和维护,车钩拆装便是其中重要的内容之一。钩托板螺栓拆卸与紧固是车钩拆装检修任务的必要环节,目前完全采用人工操作风动扳手进行拆卸安装,存在安全隐患、劳动强度大和钩拧紧力矩难以严格控制等问题,制约了铁路货车检修效率与质量的提升,迫切需要自动化和智能化专用检修装备[1]。
目前,市场上没有成熟可用的该类产品,相关研究成果较少,仅有少量相关专利,例如李大锋申请的“一种铁路货车钩尾框托板螺栓组装拆卸装置”实用新型专利[2]。该专利设计了一种钩托板螺栓组装拆卸装置,智能化程度有限,不涉及到螺栓的视觉定位系统。
钩托板螺栓自动拆装的关键技术之一是在复杂场景下实现对螺栓的自动精确定位,涉及到机器视觉和机器学习技术。随着深度学习技术的不断发展,各种基于深度学习的目标检测算法被提出。以应用比较广泛的目标检测算法为例,可以大致分为两类:(1)two-stage目标检测算法,例如Fast R-CNN、Faster R-CNN、Mask R-CNN等[3]。这些算法都是分为两个阶段,即先使用目标区域候选网络(RPN)来得到相关信息,再利用提取到的信息实现对候选目标的预测和识别。这类算法一般精确度较高,但效率相对低下[4]。(2)one-stage目标检测算法,例如YOLO、SSD等。这些算法仅进行一步,是一种端到端的目标检测算法,因此检测速度也相对较快,适合在实际应用比如实时检测中使用[5]。因此利用YOLO实现智能化具有显著的优势[6-7]。
基于现场调查和文献调研分析,作者设计了钩托板智能拆装机器人,利用扭矩控制技术、机器人视觉伺服技术、深度学习目标检测技术、AGV导航技术、工业自动化技术和机械设计技术进行集成创新,解决装备作业过程中的螺栓定位、扭矩高效精确控制和螺母套筒柔顺性等关键技术。首先介绍了智能拆装机器人总体方案,然后介绍了各关键组成模块,最后重点介绍了视觉定位系统设计以及定位性能试验与结果分析。
铁路货车车型种类较多,钩托板型号不同,对应的螺栓螺母布局与规格也存在差异。某型号货车钩托板实物如图1所示。
图1 钩托板实物
分析图1可知:钩托板的螺栓数量、规格和布局存在差异,需要拆装机器人能够自动定位不同空间位置的螺栓螺母,控制扭矩套筒能够可靠套在螺母上。同时,不同车型钩托板的对地高度存在差异,定位和伺服控制系统应该具有对地面高度和不平度等误差的鲁棒性。
根据钩托板的结构特点和现场作业实际需求,钩托板智能拆装机器人装备应满足如下要求:
(1)装备能够自动完成拆装,工人不与工件直接接触,避免安全事故的发生;拆卸和紧固螺栓时的噪声较小,不对人体健康产生影响。
(2)装备能自动在紧固螺母过程中实时控制螺母预紧扭矩,提高效率和装配质量。
(3)装备能够根据输入的货车型号自动判断各钩托板相应的螺母大小,以此为依据自动更换拆装套筒。
(4)装备结构小巧紧凑,能够在车厢下方通过自主导航或者遥控等方式穿行。
针对以上要求,利用机械原理、机械设计、自动控制和机器人学等设计出钩托板智能拆装机器人的总体结构方案,如图2所示。
图2 钩托板智能拆装机器人总体方案
由图2可知,该机器人装备由智能移动小车、智能扭矩扳手、视觉定位系统、坐标机器人和电控系统等构成。装备的运动流程说明如下。
(1)操作人员遥控智能移动小车到钩托板下方初始待机位置。
(2)视觉定位系统自动识别螺栓空间坐标位置,然后把信息传送到控制系统,引导智能扭矩扳手固定螺帽后通过套筒自动紧固或拆卸螺母。
(3)车厢一端所有钩托板螺母紧固或拆卸完成后,遥控智能移动小车行驶到车厢另一端,然后重复拆卸或紧固作业。
(4)真实情况下钩托板螺栓螺母大多锈蚀严重或者遇到底部结构复杂、钩托板螺栓所在环境狭窄的情况时,需要切换到人机协作模式,由作业人员配合机器人进行螺帽卡紧防转,通过人机协作完成螺栓拆卸任务。
钩托板的连接螺栓数量较多,螺母紧固时需要控制预紧扭矩大小,因此扳手需要在空间3个方向具有移动控制功能[8]。智能扭矩扳手总体结构如图3所示。
图3 智能扭矩扳手
由图3可知,智能扭矩扳手由螺母套筒、螺帽套筒、螺母收集盒和坐标机器人等组成。坐标机器人带动螺母和螺帽套筒在空间3个方向上进行平移,实现对每颗螺母的定位与套夹。智能扭矩扳手的工作流程如下:
(1)智能扭矩电动扳手通过机器视觉和视觉伺服技术引导至螺母正下方,然后螺母套筒上升。
(2)螺母套筒上升的同时,螺帽套筒上升并调整姿态定位好螺帽后卡住螺帽。
(3)螺母套筒套上螺母后,扳手工作在高速低力矩模式,快速让螺母沿螺杆上升接触到钩托板,然后切换到低速大扭矩模式紧固螺母并对预紧力矩进行精确控制。
(4)紧固完成后,扳手复位,机器人移出工作区域,返回待机位置。
(5)拆卸螺母的流程与紧固几乎相同,额外增加了螺母收集功能。拆卸下每颗螺母后,通过专用装置进行集中收集。
为了实现对多颗螺栓的自动定位以及提高机器人的作业效率,设计了专门的机构驱动相机进行拍照。视觉定位机构总体结构如图4所示。
图4 视觉定位机构
由图4可知,视觉定位机构由直角坐标机器人、套筒更换机构和工业相机等组成。工业相机拍摄的场景照片引导直角坐标机器人运动,依次对各个螺母位置进行定位。
考虑到拆装机器人的移动需求,设计了专用的智能移动底盘,如图5所示。
由图5可知,智能移动底盘主要由AGV小车和顶升装置组成。AGV小车采用磁导航方式进行导航,结合遥控到达指定工作区域[9]。顶升装置保证机器人装备在拆装螺母时不发生偏移;同时,增加装备的作业高度,移动时又可收回,使其能通过较低的狭窄空间,具有更强的灵活性。
图5 智能移动底盘
采用机器视觉方法实现螺栓的自动定位,通过定位机构带动相机对螺栓进行拍照,利用YOLOv5目标检测算法对照片进行定位模型训练,获取螺栓的准确位置。
YOLO是一种采用回归策略的端到端目标检测算法。该算法舍弃了生成候选框,通过仅“看一眼”就可以获得回归位置信息和类别信息。YOLO的实现原理是:假设将一幅图像划分为S×S个网格,如果检测目标的中心落在网格中,则需要对检测目标所在的具体位置进行估计[10]。
如今,YOLO算法经过YOLOv1、YOLOv2和YOLOv3等一系列提升,在保留原有优点的基础上进行了一系列的创新优化[11]。YOLOv5作为第5代算法,借鉴了CutMix方法,采用Mosaic数据增强方式有效解决了小目标检测的难题,在小目标检测的训练结果上,精确度增加,降低了误检率和漏检率。
YOLOv5还是沿用v3、v4的总体布局,将整个网络结构分成Input、Backbone、Neck和Output等4个模块[12]。具体介绍如下:
(1)Input模块自适应缩放图片,采用Mosaic数据增强方式,自适应地计算不同训练集中的最佳锚框值。
(2)Backbone模块包含Focus结构和CSPNetCrossStage Partial Networks,跨阶段局部融合网络。
(3)Neck模块包含PANet和SPP模块。
(4)Output模块使用GIOULoss代替YOLOv3的IOU_Loss作为Boundingbox的损失函数,缓解了IOU_Loss无法优化两个框相交的情况[13]。
YOLOv5网络结构如图6所示。
图6 YOLOv5s网络结构
同时在目标框的筛选上采用了加权NMS,相对于YOLOv4,在不增加计算成本的前提下,优化了遮挡重叠目标的检测。
YOLOv5还通过改变网络结构的深度参数depth_multiple和宽度参数width_multiple提供了YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x四个模型,满足了对于体积大小和准确度的不同需求。经过对比分析,本文作者选用YOLOv5m作为螺栓检测的模型,在自制的螺栓检测数据集上对该模型进行训练,利用训练好的YOLOv5s网络实现螺栓的识别及定位。
目标检测模型的训练采用自制的数据集,包括不同背景、不同角度下拍摄的1 000张螺栓螺母照片,螺栓的颜色、损伤情况各异,型号、数量也各异。利用图片标注工具Labelimg对训练数据集中的图像进行逐一标注,并将标注结果作为YOLOv5模型的训练样本。部分带标注的螺栓螺母图像如图7所示。
图7 螺栓螺母图像(已标注)
模型训练在工作站上进行,工作站主要配置:CPU使用i9-10900K,GPU使用GeForceGTX2080ti,内存为16 GB,安装CUDA10.1版,开发语言使用Python,框架使用Pytorch。将训练所得的检测模型用于视觉伺服过程中的实时目标定位。
3.3.1 算法性能对比
由于检测对象为螺母,因此可以使用模板匹配算法。模板匹配是一种最基本的模式识别方法,将一幅模板图像匹配在另一幅图像最相似的位置,在OpenCV中通过matchTemplate()函数实现,共有6种匹配模式。这种算法的局限性是只能进行平行移动,若原图像中的匹配目标发生了位姿或大小的变化,该算法容易失效。
由于螺母都具有圆形这一特征,因此霍夫圆检测也是可用的算法。霍夫圆检测就是检测哪些前景或边缘像素点在同一个圆上,并给出对应圆的圆心坐标及圆的半径,在OpenCV中通过HoughCircles()函数实现基于梯度的霍夫圆检测。该算法的缺点是在不知道一些先验知识的情况下,需要多次调整参数才有可能得到想要的结果,鲁棒性较差[14]。
为了验证不同算法对钩托板螺栓螺母的适应性,采用模板匹配、霍夫圆检测和YOLOv5三种算法对螺栓螺母进行识别与检测。
3.3.2 结果分析
试验平台由直角坐标机器人、hikvision工业相机、环形光圈、螺母套筒、PLC控制系统和钩托板样件等组成,如图8所示。
图8 试验平台 图9 螺栓螺母定位场景照片
试验时,通过PLC控制三坐标机器人带动相机依次对螺栓拍照。以3颗螺栓一组、两侧各一组螺栓的钩托板为例进行动作说明:
(1)坐标机器人先沿着一侧直线运动,相机视野中出现螺栓时开始降低速度,直到视野中3颗螺栓全部出现;
(2)相机开始对3颗螺栓位置进行逐一识别与定位,把位置坐标传输给PLC,控制套筒运动将其套在螺母上,实现力矩扳手的准确作业定位;
(3)一侧的3颗螺栓定位完成后,坐标机器人沿水平面第二坐标方向移动,重复相同动作,完成另外一侧3颗螺栓的识别与定位。
试验结果表明套筒能够可靠准确套在每颗螺栓螺母上。定位完成的场景照片如图9所示。
视觉定位系统成功的关键是对螺栓螺母的形状进行准确识别和测量。分别以霍夫圆检测、模板匹配及YOLOv5算法进行训练,观察相同条件下螺栓检测的查全度以及精确度,结果如图10所示。
图10 不同算法的检测效果
由图10(a)(b)可知,模板匹配以及霍夫圆变换对于螺栓特征识别的鲁棒性不足。由于地面不平整导致摄像头与螺栓距离不相同,模板匹配算法也会由于成像大小不同导致特征匹配失败,在与螺栓螺母非垂直的情况下也因特征变为椭圆而无法匹配。霍夫圆检测算法也出现了相同现象,并将其他圆形特征纳入检测,出现误检情况。由图10(c)可知:相同情况下,YOLOv5算法保持了对于螺栓检测的稳定性与准确性,效果最理想。
(1)针对铁路货车钩托板人工拆装螺栓存在的高强度、安全隐患和紧固力矩难以准确控制等问题,设计了一种专用螺栓智能拆装机器人,能够自动对螺栓位置进行识别与定位,并且可以对拧紧力矩大小进行精确控制。
(2)钩托板螺栓智能拆装机器人主要包括智能移动底盘、智能扭矩电动扳手、视觉定位系统与电控系统等,具有智能程度高、集成度高和适应能力强等特点。
(3)基于YOLOv5算法在自制螺栓检测数据集上进行训练,把识别与检测结果用于螺栓的精确定位。试验结果表明:与霍夫圆检测和模板匹配算法相比,基于YOLOv5算法的螺栓检测模型具有检测精度高、鲁棒性好、体积小和速度快等优点,能有效解决螺栓的自动定位与拆装。