何秀明,申祖武,吴迎峰,田会方
(武汉理工大学 机电工程学院,湖北 武汉 430070)
自动铺放技术作为一种典型的复合材料技术,已经广泛应用于航空航天和风力发电等领域。美国Vought公司制造了世界上第一台自动铺放机,用于生产中小曲率大型飞机部件[1]。Ingersoll、M-Torres Forest-Line等公司研制了新一代多坐标自动铺放机用以商业生产,其铺放精度已达到0.5 mm[2]。
国内自动铺放技术经过多年的不断努力也取得了一定的成果。文献[3]成功研制了工业自动铺放机,并实现了样件的铺放工作。文献[4]设计了自动铺放机铺放头,并开发了自动铺放机的计算机控制系统。文献[5]研制了7轴纤维铺放头和对应的数控系统。但与国外相比,目前国内的铺放仍以手工铺放为主,部分企业即使装备了自动铺放机,但是在某些环节仍然需要人为干预,自动化程度较低。
而机器视觉作为一种新兴的技术,拥有非接触、处理速度快、准确和信息量大等特点。利用机器视觉技术,可以提高自动化设备的自动化程度、精度和速度,提高其生产效率,降低劳动成本[6]。因此,将机器视觉技术应用到自动铺放机中,建立了铺放头视觉测量系统,可将铺放头的位置信息传输到铺放机的控制系统,从而实现铺放机的视觉反馈控制,大大提高铺放机的自动化程度。铺放头视觉测量系统作为铺放机视觉反馈控制的前提,具有十分重要的研究价值。
如图1所示,将图像的像素坐标系中的一点p(u,v)投影到三维世界坐标系中的对应点P(X,Y,Z),需要经过4个坐标系的转化:像素坐标系O-uv、毫米坐标系O1-xy、相机坐标系OC-XCYCZC和三维世界坐标系OW-XWYWZW。
图1 相机标定原理图
像素坐标系和毫米坐标系间的转化关系为:
(1)
式中:dx和dy为每像素分别在x和y方向的实际物理尺寸;cx和cy为毫米坐标系O1-xy和像素坐标系O-uv原心O1和O的偏移量。
根据针孔相机模型[7],点P在毫米坐标系下的坐标(x,y)与在相机坐标系下的坐标(XC,YC,ZC)的转化关系为:
(2)
式中:s=Zc;F为透镜的物理焦距长度。
点P在相机坐标系下的坐标(XC,YC,ZC)与其在三维世界坐标系下的坐标(XW,YW,ZW)的转化关系为:
(3)
式中:R和T分别为点P从相机坐标系到三维世界坐标系的旋转矩阵和平移向量,R为3×3矩阵,T为3×1向量。
联立式(1)、式(2)和式(3),并化简可得:
(4)
式中:fx=F/dx;fy=F/dy;M1和M2分别为相机的内参数矩阵和外参数矩阵,相机标定的目的即获得M1和M2。
基于双目视觉建立铺放头视觉测量系统,其三维重建主要包括立体校正、立体匹配和三维重投影。
首先,用极线约束来简化立体校正[8]。极线约束就是一幅图像上的某特征在另一幅图像上的匹配视图一定在对应的极线上。因此,立体校正可表述为:使得左右两幅图像的对极线刚好在同一水平线上,从而让左右图像严格地行对齐,只需在对应行进行一维搜索即可匹配到对应点。
接着选择运行速度较快的BM(block matching)算法来对严格对齐的左右两幅图像进行一维搜索,从而实现立体匹配[9]。用BM算法将两图像上的目标点匹配成功后,得到该点的视差d。
最后根据如图2所示的三角测量原理,将目标点在左右图像平面的视差d转化成距离,从而得到目标点的三维坐标,实现三维重投影[10]。
图2 三角测量原理图
图2中,两相机的图像平面位于同一平面,两相机的主光线平行,两相机间的距离T一定,两相机的焦距相同,都为f。三维世界坐标系下的点P在左右图像上的成像点的横坐标分别为xl和xr,视差d=xl-xr。利用相似三角形可得出点P到投影中心的垂直距离Z,如式(5)所示。
(5)
将一个二维点a(x,y)和其关联的视差d重投影到三维世界中:
(6)
式中,重投影矩阵Q中的参数可以通过相机标定获得。因此,可以根据式(6)得到二维点a对应的三维坐标(X/V,Y/V,Z/V)。
铺放头视觉测量系统主要包括图像采集模块和图像预处理与数据计算模块,如图3所示。
图3 铺放头视觉测量系统总体框图
图3中,图像采集模块需要首先做好准备工作,将光源放置于铺放头特定位置,在铺放头的运动范围内布置足够的相机,确保铺放头始终在两两相机组成的双目系统的视场范围内,然后通过相机实时获取铺放头的图像信息,最后将其转化为相应的数字信号传给PC机;图像预处理与数据计算模块则首先对相机进行标定,以获得相机的内外参数,接着通过图像预处理,得到实时获取的图像中目标点(光源)的二维坐标,最后通过三维重建,结合相机的内外参数,将目标点的图像二维坐标转化为其在三维世界坐标系下的三维坐标,得到铺放头的位置。
铺放头视觉测量系统的硬件部分主要包括:光源、相机、镜头、图像采集卡和PC机。其中,光源选用深圳市百优特光电科技有限公司生产的F5 940 nm 0.4 W红外LED灯,相机选用JAI公司生产的CB-140GE工业相机,镜头选用型号为M0814-MP2的日本Computar工业镜头。
铺放机初步的铺放任务所要求的空间不大,因此,图像采集模块使用两台相机即可完成铺放机铺放头初步的位置测量。考虑到今后可能会增加相机的数目以扩大系统的测量范围或者测量某些特定细节,对相机进行串联式连接,如图4所示。该连接方式下,图像采集卡只需一个输入接口,交换式集线器作为相机与图像采集卡的中转站,将所有相机传输的图像信息“串联”起来传给图像采集卡,所有相机和图像采集卡属于路由器提供的一个网络。
图4 相机串联式连接
铺放头视觉测量系统的软件部分是基于OpenCV-2.4.13开发的,其主要包括:相机标定、图像预处理和三维重建。
根据相机标定原理,对视觉测量系统中的相机进行标定的参数有:相机的内参数矩阵M1和外参数矩阵M2。为了同时满足视觉测量系统的时效性和准确性,综合MATLAB和OpenCV各自的优点,对相机的传统标定方法进行改进。由于相机的内参数矩阵M1是相机的固有参数,不会改变,因此先用标定结果较准确的MATLAB分别对两相机进行单目标定,得到它们的内参数矩阵M1。然后将得到的结果导入时效性较好的OpenCV中,对两相机进行双目标定,得到它们的外参数矩阵M2。
圆是图像预处理中较容易识别的,因此,将7个完全一致的红外LED灯集成于一块板子上,且两两相邻LED灯的距离为50 mm,制成供相机拍摄的不对称靶板,点亮LED灯,通过相机拍摄靶板得到的图像如图5(a)所示。需要注意的是,初步的视觉测量系统利用该靶板来测量铺放头位置,但是在实际生产中,应该将红外LED灯直接安装在铺放头上,以便相机通过捕捉LED灯的位置来确定铺放头的位置。拍摄该靶板的相关图像,再基于OpenCV对其进行图像预处理,流程如图6所示。
图5 图像预处理效果图
图6 图像预处理流程图
首先对靶板原图进行形态学处理,将各个目标圆分离,并消除由噪声引起的毛刺。接着对其进行阈值化,通过设置合适的阈值,将LED灯与其背景分割开,初步得到7个圆。然后进行Canny边缘检测,寻找各个圆的轮廓。最后通过最小二乘圆法[11]对这些圆的轮廓进行定位,确定它们的圆心,圆心即表示相应的LED灯的位置。
如图5所示为图像预处理效果图。其中图5(a)为靶板原图,图5(b)为经过形态学处理后的图像,图5(c)为阈值化后的图像,图5(d)为Canny边缘检测后再对靶板所在区域的放大图。图像预处理结果符合预期,对Canny边缘检测后的图像用最小二乘圆法进行目标圆的定位,可得到亚像素级别的LED灯的图像二维坐标。
根据三维重建原理,通过相机标定获得的相机内外参数,可以将图像预处理获得的LED灯的二维坐标转化为其对应的三维坐标。左右两相机逐帧拍摄靶板图像,然后基于OpenCV依次求得每帧图像中靶板上LED灯的三维坐标,获得靶板的实时位置,初步测量过程中将靶板固定在铺放机铺放头上,即可得到铺放头的X轴、Y轴和Z轴的实时数据。
根据设计要求,搭建了如图7所示的实验平台,主要包括视觉测量系统和龙门式碳纤维预浸带铺放机。其中,视觉测量系统包括左右两相机和装有靶板的铺放头,从上到下、从左到右依次将靶板上各个LED灯标记为LED1、LED2、LED3、LED4、LED5、LED6和LED7。实验前,通过相机标定将两相机各自的内参数矩阵和两相机之间的外参数矩阵标定好,并保存在PC机中,以便实验时调用。
图7 视觉测量系统试验平台
启动铺放机,手动控制铺放头运动,将铺放头调至两相机的视场中间。通过铺放头视觉测量系统对靶板上的7个LED灯重复测量100次,获得LED灯的三维坐标,记为(x,y,z)。将各个LED灯后一次的测量值与其前一次的做差,得到各个LDE灯的三维坐标的重复性精度,如表1所示。
表1 各个LED灯三维坐标的重复性精度 mm
故视觉测量系统的总体静态重复性精度约为0.1 mm。为了进一步研究视觉测量系统的性能,接下来研究该系统的动态测量精度。
不管靶板如何随铺放头运动,靶板上的相邻LED灯的间距都是50 mm。通过相邻LED灯的间距可以间接确定视觉测量系统的测量误差,相邻LED灯的间距可以通过式(8)求得:
(8)
式中:d12为LED1与LED2的间距;(x1,y1,z1)为LED1的三维坐标;(x2,y2,z2)为LED2的三维坐标。以此类推,还可分别求得d23、d14、d45、d56和d67。
保持两相机的位置不变,手动控制铺放机铺放头在两相机的视场内运动。视觉测量系统首先进行图像采集,两相机随机拍摄铺放头运动过程中的5个位置的靶板图像。需要注意的是,必须保证两相机同时拍摄某一时刻的靶板图像,若拍摄得到的图像中的红外LED灯的特征不明显,还可以在两相机镜头前加一块滤光片,以初步剔除波长为650 nm的红外光之外的可见光,保证获得的图像质量。接着对靶板图像分别进行图像预处理,并结合相机标定结果,通过三维重建分别求得铺放头的5个位置信息。然后通过式(8)将该位置信息转化为两两LED灯的间距,再将测得的间距与其实际间距50 mm做差并取绝对值,从而间接获取视觉测量系统的动态测量误差如表2所示。
表2 视觉测量系统的动态测量误差 mm
由表2可知,视觉测量系统的总体动态测量误差在0.8 mm左右。为了进一步验证视觉测量系统的可行性,通过视觉测量系统来测量铺放头运动的位移。
保持两相机的位置不变,手动控制铺放机铺放头在两相机的视场内缓慢运动,视觉测量系统分别拍摄靶板在其中两位置的图像,并求得各个LED灯对应的三维坐标。将同一LED灯在这两位置的三维坐标相减,获得铺放头在这两位置的测量位移。将在铺放机控制界面显示的这两位置的三维坐标相减,得到铺放头在这两位置的实际位移。任意选取6个位置以测得两两位置间的位移,则可获得铺放头的5组位移数据,如表3所示。
表3 视觉测量系统的位移测量 mm
表3中,视觉测量系统的总体位移测量误差在1 mm左右。综上所述,视觉测量系统的重复性精度和测量误差都在可接受的范围内,该系统达到了设计要求,可以实时获取铺放头的位置,从而提高铺放设备的自动化程度,以取代人工铺放。
为了提高自动铺放机的自动化程度,将机器视觉技术应用到自动铺放机中,初步搭建了铺放头的视觉测量系统。对系统中重要硬件进行了选型,并选择了方便该测量系统后续发展的连接方式。基于OpenCV编写了测量软件,实现了相机标定、图像预处理和三维重建。最后搭建了实验系统对视觉测量系统进行了相关实验,结果证明该系统可以实时获取铺放头的位置。