张文昌,单忠德,卢 影
(1. 机械科学研究总院集团有限公司 先进成形技术与装备国家重点实验室,北京 100083;2. 北京机科国创轻量化科学研究院有限公司,北京 100083)
纺织染整工艺自动化过程需要对筒子纱进行多次移载,其载具主要采用大尺寸(直径为1~3 m)纱笼形式,纱笼上设计有密集排布的细长纱杆(几十根至上百根),在使用过程中纱杆易变形,需要频繁进行校对,且纱笼在各工艺工位移载时存在定位误差,对机器人实现纱杆上筒子纱、锁扣等工件的自动化取放带来了极大的困难。目前,纱杆校正以人工为主,并通过末端夹持器的优化设计提高取放容错能力[1],120根纱杆的纱笼校对时间需要半个小时,且受人为因素影响校正可靠性差,工业生产中自动取放成功率不是很理想。
机器视觉作为非接触、高精度检测手段,一直是国内外学者的研究热点,广泛用于质量检测[2-3]、目标识别定位[4-5]、自动化装配[6-7]等行业。特别地,将视觉用于机器人的机器人视觉,显著提升了装备的自动化水平:如Gu等[8]针对宇航辅助机器人抓取需求提出基于区域匹配和像素偏置的双目视觉定位方法,该方法识别效率高,显著提高了机器人对目标抓取的灵活性;Kuo等[9]提出通过标定好的单目相机结合机器人末端运动学,实现机器人末端姿态的检测方法,用于机器人编码器无效场景下的机器人末端定位;Frank[10]提出通过相机的二维图像数据实现圆柱目标的三维定位方法,从而引导机器人对圆柱目标的空间抓取操作;Romulo等[11]在协同式自主机器人应用方面,在每个机器人上安装1个相机,通过同时采集的图像对,实现目标的空间定位;季旭全等[12]针对大型星载设备的装配问题,采用机器学习和双目视觉实现装配体之间的位置测量,从而引导机械臂完成装配作业。针对纱笼纱杆定位问题,纱杆密集排布及使用过程中易变形的特点给视觉定位带来了新的挑战,若采用单次拍照识别定位所有纱杆的模式,由于纱笼尺寸太大,大范围光照环境的一致性难以保证,纱杆识别成功率低,且定位精度不高;若对纱笼上的所有纱杆逐个进行拍照定位,由于纱笼纱杆数量较多,必然对生产节拍产生较大影响,从而影响生产效率。
考虑到纱杆固定于纱笼上,可将纱笼上的密集纱杆看作一个刚体处理,虽然纱杆易变形,但其变形周期较长,一般数周或数月累计的形变量才会对生产造成影响。鉴于这些特点,本文提出一种离线检测与在线检测相结合的机器人视觉定位方法,离线检测单元在非生产时间进行,结合机器人动作逐个对纱笼上所有纱杆进行检测定位,并将所有纱杆的位置信息记录在数据库中,离线检测单元根据实际工艺不定期对纱笼进行检测;在线检测单元在生产过程中通过检测少数纱杆,并结合离线检测的纱杆位置信息采用最小二乘法计算得到纱笼的整体位姿偏移,然后根据纱笼位姿偏移计算得到所有纱杆的位置信息,从而引导机器人完成纱杆上工件的取放作业。针对纱杆识别可能失败的情况,结合实际应用提出了纱杆识别失败时的解决方案,并对在线检测的检测成功率进行分析,最后通过现场实验验证所提方法的有效性。
纱笼纱杆机器人采用手眼(eye-in-hand)视觉控制方式,视觉摄像头安装在机器人末端,用于对纱杆的拍照定位,如图1所示。生产工艺过程中,纱笼随托盘进入相应的机器人工位,机器人在视觉系统引导下,完成纱笼纱杆上工件的取放作业。
图1 纱笼纱杆视觉机器人Fig.1 Vision robot of yarn-bars on yarn-cage. (a) General design structure; (b) Local structure
相机标定是视觉定位系统的关键,由于被测纱笼处于固定平面,纱笼纱杆机器人视觉系统可简化为二维测量系统。结合实际应用,相机标定以机器人坐标系作为世界坐标系,忽略镜头畸变及安装误差的影响,采用线性方法对相机进行标定。分别建立图像像素坐标系O-UV和平行于机器人坐标系的机器人末端工具坐标系O-XY,如图2所示。
图2 成像模型Fig.2 Imaging model
点P在O-XY坐标系下坐标记为[X,Y]T,其成像点Q在O-UV坐标系下坐标记为[U,V]T,则有:
(1)
式中:λ为图形坐标系单像素尺寸,mm;θ为2个坐标系之间的旋转角度,rad;Tx和Ty为2个坐标系之间x和y向的偏移量,mm。
在eye-in-hand机器人视觉系统下,点P在机器人坐标系下的坐标(仅考虑x和y方向)为
(2)
式中,[xr,yr]T为当前机器人坐标。将式(2)代入式(1)得
(3)
视觉系统标定即对λ、θ、Tx和Ty的标定。采用文献[6] 的标定方法,将单点标靶固定放置在相机下方,通过机器人运行9个位置得到9组样本,采用最小二乘法线性拟合,即可计算得到相机参数λ和θ。由于纱笼纱杆机器人不具备旋转功能,工程应用时Tx和Ty通过示教得到。
由于纱杆杆尖特征较为突出,视觉中杆尖识别图像处理过程采用经典的图像识别与定位流程,主要包括平衡去噪、图像锐化、图像分割,以及几何特征分析4个环节,对于图像处理后的二值图像,通过连通域的长度、宽度、面积,以及圆度特征进行杆尖的识别,得到杆尖Q的图像坐标[U,V]T,如图3所示。
图3 纱杆识别Fig.3 Yarn-bar recognition
将识别结果代入式(3),即可计算得到纱杆杆尖在机器人坐标系下的坐标。
纱杆易变形,需要频繁进行校对,因此,需要建立纱笼纱杆数据库,记录纱笼纱杆的位置信息。离线检测即在生产线非工作时间,通过控制机器人使得摄像头处于纱杆上方,然后拍照识别纱杆,以这种方式逐个对纱笼上所有纱杆进行定位检测并将检测结果记录到数据库中。受工艺等因素影响,纱杆特征不能保证完全一致,加上光线条件不均衡,视觉系统对纱杆识别难以实现100%的成功率,针对识别失败的情况,采用人工辅助的方式进行校准,如图4所示。
图4 手动选择纱杆特征Fig.4 Manual selection of yarn-bar
纱笼上纱杆数量记为n,纱杆位置记为Pi(i=1,2,…,n)。离线检测整体流程如图5所示。
(4)
式中:P′i为第i号纱杆当前位置;Pi为第i号纱杆离线检测时记录的位置。
在线检测在自动化生产过程中进行,通过检测少数几个纱杆计算得到当前纱笼相对于与离线检测时的位姿偏差,结合该纱笼在离线检测时数据库中的纱杆位置信息,计算得到纱笼上所有纱杆的当前位置,从而引导机器人完成相应的取放作业。
图6示出在线视觉系统结合机器人对预先选定的m(2 图6 在线视觉示意图Fig.6 Online detection view 记U={a1,a2,…,ak}(k≤m)表示检测成功的k个纱杆,建立误差函数: (5) 式中:Qai=[Xai,Yai]T(1≤i≤k),为第ai号杆的在线检测结果;εai=[εxai,εyai]T,为第ai号杆实测位置与计算位置的偏差,包括x向偏差和y向偏差。采用高斯牛顿法,将误差写成 (6) 将初始参数C0=[0,0,0]代入到误差函数,则只要k≥2即可通过最小二乘法解得: (7) 经j(一般取j=3即可)次迭代收敛后,即可得到最终结果: C≈Cj=Cj-1+ΔCj-1 (8) 在线检测流程如图7所示。 图7 在线检测流程Fig.7 Online detection flow 通过最小二乘法进行平面二维点匹配,从而得到二者之间的旋转平移关系,以所计算的二维点数据对之间的误差平方和最小作为优化指标,理论上最少只需要2组数据对即可,但针对纱笼纱杆定位问题,由于机械系统、电控系统、视觉测量系统等各环节均存在误差,在线检测时选定的纱杆数目和位置对测量精度有一定的影响,其影响满足如下规律。 1)纱杆数目:识别出的纱杆数目越多,其结果鲁棒性越好。 2)纱杆位置:识别出的纱杆位置相互之间距离越大,其结果鲁棒性越好。 综合考虑,在线检测时应尽量选择外围纱杆,且结合生产节拍的要求,尽量选择更多的纱杆进行检测。 此外,实际工程应用中,视觉系统对纱笼上纱杆的定位检测不可能100%成功,即存在误识别与识别失败的情况。检测m个纱杆,其中k个检测成功,虽然k≥2时即可实现纱笼的整体位姿偏差计算,但需要结合实际生产中纱笼定位成功率、定位精度等具体工况,选择k的最小条件。 采用实际生产中典型规格纱笼纱杆拆装锁扣机器人进行实验,对本文所提方法进行验证。锁扣机器人重复定位精度为±0.5 mm,纱笼直径为2 m,纱杆个数为120,其布局如图8所示。 图8 120个纱杆布局Fig.8 Structure of 120 yarn-bars 按照第3节所述流程对该纱笼120个纱杆进行定位检测,如图9所示。 图9 离线检测实验照片Fig.9 Offline detection photo 离线检测整个工艺过程约需5 min完成,其中有 8个纱杆识别失败,通过人工辅助校准完成。离线检测完成后的数据记录到纱笼数据库中。 为直观观测离线检测的效果,每个纱杆检测后,机器人运行至校准位置,并拍照确认,如图10所示。图中十字线为基准线,图10(a)为校准时采集的照片,图10(b)为校准后机器人根据校准位置调整偏差后再次采集的照片。120个纱杆在检测后均达到了图10所示效果,即所有纱杆定位结果准确可靠。 图10 离线检测效果比对图Fig.10 Contrasting figures of offline detection. (a) Picture for error detection and correction; (b) Picture after correction 在线检测选定检测纱笼外围的6个纱杆,为验证在线检测的有效性,人为使纱笼产生一定的偏差。6个纱杆定位检测总共耗时约17 s,结果如表1所示。 表1 在线检测数据Tab.1 Online detection data 通过第3.1节所述方法,计算纱笼整体相对于离线数据偏差: C=[-0.000 55,6.93,0.46]T (9) 为验证在线计算结果的准确性,采用离线检测的模式检测所有纱杆的实际位置,以在线检测计算位置与实际位置的距离偏差作为误差衡量依据,结果如表2所示。可知,120个纱杆的位置误差最大误差为0.75 mm,平均误差为0.4 mm。 按照在线检测结果引导机器人完成锁扣的安装,120个纱杆锁扣安装全部成功。纱笼锁扣安装总共耗时约为45 min,在线视觉检测时间为17 s,所占节拍仅为0.63%,基本可以忽略。 由于视觉系统对纱笼上纱杆的定位检测不可能100%成功,从识别出的结果中分别抽取2、3、4、5个纱杆各3组,进行纱笼的定位计算,并进行误差分析,结果如表3所示。可以看出,按照实验所选的 6个纱杆进行在线检测,识别出的纱杆数目不小于3时,能够得到较高的在线检测精度。 实际生产中,结合实验结果以k≥3作为纱笼定位成功的判定条件,纱杆识别成功率记为Pg,纱笼的定位成功率为Pl,依据本文实验条件,则 表2 在线检测误差Tab.2 Error of online detection 表3 少杆数纱杆在线定位检测结果Tab.3 Online positioning detection data of yarn-bars with few count (10) 根据离线检测信息,120个纱杆中8个检测失败,即实验中纱杆的检测成功率为93.33%,代入式(10),得到在实验条件下,在线检测纱笼定位成功率为99.974%,即平均约4 000个纱笼识别失败1次。 在实际工艺生产中,单个纱笼生产节拍一般不低于30 min,即每天不超过50个纱笼,实验中的在线检测成功率可实现不低于80 d的正常生产。 实验结果表明了本文所提方法的有效性和实用性。目前基于本文所提方法开发的锁扣拆装机器人视觉系统在染色工厂的自动化生产线上得到应用,使用效果良好。 本文结合纺织印染行业纱笼纱杆的特点,提出一种基于机器视觉的离线检测与在线检测相结合的纱笼纱杆快速定位方法,得到如下主要结论: 1)离线检测单元在非生产时间进行,不占用生产节拍,结合机器人动作对纱笼上所有纱杆进行检测定位,并将所有纱杆的位置信息记录在数据库中,借助人机协同,离线检测速度快,检测结果准确可靠。 2)在线检测单元在生产过程中进行,通过检测少数纱杆,结合离线检测的纱杆位置信息,采用最小二乘法计算得到纱笼的整体位姿偏移,并计算每个纱杆的位置从而引导机器人完成纱杆上工件的取放作业。根据现场实验条件选定6个纱杆,只要成功检测3个纱杆即可实现纱笼纱杆高精度定位检测,检测速度快,仅占用生产节拍的0.63%,纱笼检测定位成功率高达99.974%,鲁棒性强,具有显著的工程实用价值。3.2 在线检测纱杆选择分析
4 实验测试与应用验证
4.1 离线检测测试
4.2 在线检测测试
4.3 在线检测纱笼成功率分析
5 结 论