闫俊杰,王红伟,于功敬,张忠海
(北京航天测控技术有限公司,北京 100041)
卫星天线作为星间链路核心装备,具有装配尺寸精度高、星载模块小巧紧凑、装配工序烦琐等特点[1],因此,现阶段主要采用人工进行装配,装配精度及一致性差,产品质量难管控[2]。随着近几年国内外卫星部署战略的不断推进,卫星需求数量不断增加,卫星制造逐步由单件生产模式向批量生产模式发展[3],传统手工装配方式无论从质量上还是效率上均无法满足要求,因此亟需将自动精密装配技术引入到卫星等航天产品的装调过程中,以提高产品的装配质量和效率。
目前,国外卫星天线装配基本实现自动化、数字化,其中Orbital ATK公司建造的一条具有18个工作站的卫星生产线,实现了一周装配一颗卫星的生产水平[4]。国内主要针对部分特定型号天线进行了自动化装配尝试,但设备普遍具有通用性低、操作烦琐、柔性差等不足[5-6]。在自动化精密装配方面,目前基于机器视觉的工业机器人自动装配系统大多为Eye-to-Hand[7-8]系统,应用于工件抓取一致性好或装配目标点不变的情况下[9-10]。另外,为保证装配精度等因素,系统中执行机构多选用直角坐标机器人或SCARA机器人[11],降低了系统的灵活性以及角度调节能力。文献[12]将深度学习方法引入到机器人物体识别与抓取中,该方法适用于复杂场景中的物体识别与抓取,但定位精度和成功率较低,目前在工业现场工件精密装配场景中还未广泛应用。文献[13]针对卫星大型部件装配提出一种基于力-位混合控制的机械臂辅助装配方法,在工件接触后通过力-位关系实时对工件位置进行调整,该方法需针对每种产品摸索其对应的力-位关系曲线,要求系统具有较高的实时性,装配耗时较长。文献[14]提出一种基于数据配准的工件配合表面最佳接触状态确定方法,该方法在装配前需要获取工件精确的三维模型,装配时需要实时获取工件的相对位置关系,不适合于接触面复杂的细针孔类工件的装配,且成本高、效率低。文献[15]提出了基于6自由度机器人和激光跟踪仪的闭环控制装配系统,该系统定位精度高,但在装配前需要人工放置靶标,在运行过程中需要根据产品尺寸合理规划运动路径、考虑遮挡及测量范围等因素,因此操作烦琐,通用性差。
本文对基于机器视觉[16-17]的6自由度机器人自动装配技术进行了研究,针对相控阵天线T/R模块[18]装配精度高、尺寸一致性差等特点,建立了Eye-in-Hand[19]和Eye-to-Hand[7]混合的自动装配系统,两系统共用同一台六轴工业机器人,通过像素坐标系、相机坐标系、工具坐标系、机器人基坐标系之间的相互转换,实现系统整体坐标系统一。装配过程中,通过工业相机获取工件图像,通过OpenCV开源库[20]对图像进行分析处理从而确定工件在像素坐标系中的位置坐标,利用坐标变换将像素坐标转换为机器人基坐标,并将坐标信息发送给机器人控制器,机器人手臂执行装配动作,并最终在Visual Studio 2013平台下完成对整套系统控制软件程序的开发。
天线模块A和模块B外形如图1所示,装配时需将模块A通过连接器装配到模块B上。
图1 天线模块
装配系统硬件平台如图2所示,机器人和相机Ⅱ固定安装在基座平台上,相机Ⅰ和抓取工具安装在机器人末端法兰盘上,天线模块通过托盘在传送链上运送到指定位置后,通过相机拍照并进行图像处理获取模块A、模块B的像素位置坐标,然后通过坐标变换将像素坐标转换为机器人坐标位置,最终机器人抓取模块A并将其装配到模块B上。由于连接器在模块上的安装存在位置误差及模块外壳加工存在尺寸误差,因此在装配时通过相机Ⅱ对抓起后的模块A进行定位,通过相机Ⅰ对模块B进行定位,定位位置均直接为连接器中心。
图2 实例系统平台
系统模型如图3所示,其中相机Ⅰ与机器人、末端工具组成Eye-in-Hand系统,相机Ⅱ与机器人、末端工具组成Eye-to-Hand系统,模块A和模块B为待装配的天线部件。Cbase为机器人基坐标系,Ctool为机器人末端工具坐标系,CcamⅠ和CcamⅡ分别为相机Ⅰ和相机Ⅱ的相机坐标系,CpixⅠ和CpixⅡ分别为相机Ⅰ和相机Ⅱ的像素坐标系,CworldⅠ和CworldⅡ分别为相机Ⅰ和相机Ⅱ标定时的世界坐标系。
图3 机器视觉系统模型
系统装配过程及坐标变换如下。
首先机器人带动相机Ⅰ移动到模块A上方对其进行拍照以确定抓取位置。通过图像处理获取模块A在CpixⅠ中的坐标PPartA_Up_In_PixⅠ;对PPartA_Up_In_PixⅠ进行坐标变换得到模块A在CcamⅠ下的坐标PPartA_Up_In_CamⅠ;通过PPartA_Up_In_CamⅠ和相机Ⅰ在Ctool下的坐标PCamⅠ_In_Tool可以得到模块A在Ctool下的坐标PPartA_Up_In_Tool;通过PPartA_Up_In_Tool和机器人末端工具在Cbase下的坐标PTool_In_Base可以得到模块A在Cbase下的坐标PPartA_Up_In_Base;通过PPartA_Up_In_Base即可控制机器人移动到目标点PRobot_Aim_Catch对模块A进行抓取。
机器人抓取模块A后移动到相机Ⅱ上方对其底端连接器进行拍照以确定模块A的装配位置。通过图像处理获取模块A在CpixⅡ中的坐标PPartA_Down_In_PixⅡ;对PPartA_Down_In_PixⅡ进行坐标变换得到模块A在CcamⅡ下的坐标PPartA_Down_In_CamⅡ;通过PPartA_Down_In_CamⅡ和相机Ⅱ在Cbase下的坐标PCamⅡ_In_Base可以得到模块A的装配点在基坐标系下的坐标PPartA_Down_In_Base。
确定模块A的装配位置后,机器人带动相机Ⅰ移动到模块B上方对其连接器进行拍照以确定模块B的装配位置,坐标转换过程与确定模块A抓取位置相同,最终得到模块B在Cbase下的坐标PPartB_In_Base。根据PPartB_In_Base和PPartA_Down_In_Base控制机器人移动到目标点PRobot_Aim_Assem对模块A和模块B进行装配。
上述坐标变换过程如图4所示。其中PPartA_Up_In_PixⅠ到PPartA_Up_In_CamⅠ、PPartA_Down_In_PixⅡ到PPartA_Down_In_CamⅡ及PPartB_In_PixⅠ到PPartB_In_CamⅠ的变换可通过相机内外参标定实现;PTool_In_Base可通过机器人工具标定获得;PCamⅠ_In_Tool可通过Eye-in-Hand系统标定获得;PCamⅡ_In_Base可通过Eye-to-Hand系统标定获得。
图4 坐标变换过程
天线模块图像处理主要是确定连接器中心位置像素坐标,图像处理过程包括颜色空间转换、阈值分割、区域连通、边缘提取、圆拟合、直线拟合、求取中心点等。
以天线模块A为例,待处理图像如图5所示,通过连接器中15根插针确定模块位置。
图5 模块A位置识别原始图像
首先对图像进行预处理,在原图上粗略截取感兴趣区域(Region of Interest,ROI),然后将ROI由RGB空间转换到HSV(Hue,Saturation,Value)空间,并对特征明显的S通道图像进行阈值分割,分割时采用动态阈值分割法以减小光线变化的影响。对阈值分割后的图像进行开运算以及膨胀等形态学操作以消除微小噪声并填充轮廓区域,对轮廓进行筛选后可得到连接器区域,图像预处理过程如图6所示。
图6 图像预处理
以得到的连接器区域为蒙版在原图G通道上截取精确的ROI区域,并对该区域进行锐化以强化特征,对锐化后的图像进行基于Canny算子的亚像素轮廓提取,并对轮廓进行筛选最终可得到15根插针的外形轮廓,对轮廓进行圆拟合可得到15组轮廓中心坐标,通过坐标平均即可计算出连接器中心位置像素坐标,通过15组坐标数据进行最小二乘直线拟合即可得到连接器角度,图像处理过程如图7所示。
图7 连接器位置识别
首先进行相机内外参标定以对相机进行校准,其标定模型[21]如图8所示,先通过标定板上已知点确定相机的内参数(焦距、主点、比例因子、畸变系数等)和外参数(平移参数和旋转参数),然后即可通过内外参数确定像素坐标系下任意点P′与其在世界坐标系下对应点P的坐标转换关系[22]:
图8 相机内外参标定模型
(1)
式中:(XW,YW,ZW)为空间点P在世界坐标系中的坐标;R和T分别为相机坐标系相对于世界坐标系的旋转矩阵和平移矩阵;f为焦距,dx、dy为相机中感光器件每个像素物理尺寸的长和宽;u0、v0为光轴与像素平面的交点;(u,v)为透视投影点P′在像素坐标系中的坐标。
相机Ⅰ标定时各部分相对位置关系如图9所示,标定板固定在平台上,机器人带动相机Ⅰ对标定板进行拍照获取图像进行标定。
图9 相机Ⅰ内/外参标定
为保证标定的准确性,应尽量控制机械臂带动相机以不同姿态对标定板进行拍照,每幅图像中标定板图像一般占整幅图像的1/3左右[23],并最终使标定板覆盖整幅图像,标定图像如图10所示,标定结果如表1、表2所示,标定误差(角点重投影误差)为0.1937像素。
图10 相机Ⅰ标定图像
表1 相机Ⅰ内参标定结果
表2 相机Ⅰ外参标定结果
相机Ⅱ标定时各部分相对位置关系如图11所示,标定板固定在机器人末端,机器人带动标定板运动到不同位姿,相机Ⅱ对标定板进行拍照获取图像进行标定。标定结果如表3、表4所示,标定误差(角点重投影误差)为0.1583像素。
图11 相机Ⅱ内外参标定
表3 相机Ⅱ内参标定结果
表4 相机Ⅱ外参标定结果
机器人工具标定模型[24]如图12所示,末端工具标定的目的即为确定工具坐标系到机器人基坐标系的转换关系。
图12 工具坐标系标定
机器人工具坐标系与基坐标系之间的转换关系可表示为[26]
(2)
式中:RE和TE为末端法兰坐标系相对于基坐标系的旋转和平移矩阵;RT和TT为工具坐标系相对于末端法兰坐标系的旋转和平移矩阵。其中,RE和TE可通过机器人正运动学求解,则机器人工具标定只需求解RT和TT中的参数。
标定时各部分相对位置关系如图13所示,分别通过四点法和三点法求得平移矩阵和旋转矩阵[25],标定结果如表5所示。
图13 机器人末端工具标定
表5 机器人末端工具标定结果
3.3.1 Eye-in-Hand系统标定
Eye-in-Hand系统手眼标定模型[28]如图14所示,其中Cbase为机器人基坐标系,Ctool为机器人末端工具坐标系,Ccam为相机坐标系,Cobj为标定板坐标系。
图14 Eye-in-Hand系统各坐标系转换关系示意图
标定时,标定板固定不动,控制机器人带动相机运动到不同位姿对标定板进行拍照,每次标定出当前位姿下相机与标定板的位置关系(相机外参数),同时根据机器人末端工具的位姿最终计算得到相机坐标系到机器人末端工具坐标系的变换矩阵,其中机器人末端工具的位姿可通过机器人六点工具标定获得。机器人运动前后相机坐标系、末端工具坐标系和标定板坐标系相对位置变化如图15所示。
图15 Eye-in-Hand系统下机器人移动前后各坐标系示意图
设机器人运动前后空间中一点P在坐标系中的坐标分别为Pcam1,Pcam2,Ptool1,Ptool2,通过上述描述可得如下关系式:
(3)
(4)
(5)
(6)
由式(3)与式(5)得:
(7)
由式(4)与式(6)得:
雪莲原产于喜马拉雅山脉,扎根于高山草甸土之中。雪莲不喜欢生长在平缓地区,只有在海拔三四千米左右的高原山坡和冰碛岩缝之中才能看到它的身影。高山地带的气候十分寒冷,可以低至零下几十摄氏度,并且常年风雪交加,再加上空气稀薄缺氧,一般的植物在这样恶劣的环境中根本无法存活,但是雪莲这种菊科草本植物却可以在如此严峻的气候条件下顽强地活下来。
(8)
联立式(7)与式(8)得:
(9)
AX=XB
(10)
式(10)即为Eye-in-Hand系统手眼标定的基本方程式,其依据是机器人移动前后相机坐标系与机器人末端工具坐标系的相对位置关系不变。其中,A、B可分别通过相机标定和机器人工具标定获得,均为已知量,最终可求解出相机与末端工具之间的位姿关系矩阵X。
Eye-in-Hand系统标定时各部分相对位置关系与相机Ⅰ内外参标定时各部分位置关系相同,如图9所示,标定板固定在平台上,机器人带动相机Ⅰ对标定板进行拍照获取图像进行标定。
拍照时,应尽量控制机械臂带动相机以不同姿态对标定板进行拍照,同时记录每一次拍照时机器人末端工具相对于基坐标系的位姿信息,标定图像及对应的末端工具姿态信息如图16所示。
图16 Eye-in-Hand标定图像及末端工具位姿
获取标定图像后,通过调用OpenCV函数库读取标定图像、标定板描述文件、末端工具位姿信息文件,然后进行特征提取等,最终得到标定结果。软件处理流程及效果如图17所示,标定结果即相机Ⅰ在机器人末端工具坐标系下的位姿如表6所示,标定误差如表7所示。
图17 Eye-in-Hand标定流程及效果
表6 Eye-in-Hand标定结果
表7 Eye-in-Hand标定误差
3.3.2 Eye-to-Hand系统标定
Eye-to-Hand系统手眼标定模型[29]如图18所示,相机固定向上安装,其中Cbase为机器人基坐标系,Ctool为机器人末端工具坐标系,Ccam为相机坐标系,Cobj为标定板坐标系。
图18 Eye-to-Hand系统各坐标系转换关系示意图
标定时,相机固定不动,将标定板固定在机器人末端工具上,通过机器人带动标定板运动到不同位姿,然后通过相机对标定板进行拍照标定,从而确定相机坐标系相对于机器人基坐标系的变换关系。机器人运动前后相机坐标系、标定板坐标系、末端工具坐标系和机器人基坐标系相对位置变化如图19所示。
图19 Eye-to-Hand系统下机器人移动前后各坐标系示意图
设机器人运动前后空间中一点Q在坐标系中的坐标分别为Qobj1、Qobj2、Qtool1、Qtool2、Qcam、Qbase,通过上述描述可得如下关系式:
(11)
(12)
(13)
(14)
由式(11)~式(14)可得
(15)
(16)
联立式(15)、式(16)并进行矩阵变换,最终可得
(17)
CG=GD
(18)
式(18)即为Eye-to-Hand系统手眼标定的基本方程式,其中,C、D可分别通过机器人工具标定和相机标定获得,均为已知量,最终可求解出相机坐标系相对于机器人基坐标系之间的转换矩阵G。
Eye-to-Hand系统标定时各部分相对位置关系与相机Ⅱ内外参标定时各部分位置关系相同,如图11所示,标定板固定在机器人末端,机器人带动标定板运动到不同位姿,相机Ⅱ对标定板进行拍照获取标定图像,同样需记录每一次拍照时机器人末端工具相对于基座坐标系的位姿信息,标定图像及对应的末端工具姿态信息如图20所示。
图20 Eye-to-Hand标定图像及末端工具位姿
获取标定图像后,通过调用OpenCV函数库读取标定图像、标定板描述文件、末端工具位姿信息文件,然后进行特征提取等,最终得到标定结果。软件处理流程与Eye-in-Hand系统标定相似,标定结果即相机Ⅱ在机器人基坐标系下的位姿如表8所示,标定误差如表9所示。
表8 Eye-to-Hand标定结果
表9 Eye-to-Hand标定误差
通过摄影测量系统对装配结果进行测量。摄影测量系统由多个相机、基准尺、编码标志点、测量标志点等组成,测量时将测量标志点粘贴于物体表面,系统通过识别测量标志点从而得到目标物体在测量系统坐标系下的位置[30]。实验中所用摄影测量系统在测量范围为2 m时的测量精度为±20 μm。
首先将标志点粘贴到模块A表面,然后将模块A手动装配到模块B上,松开手使其处于自由状态,如图21(a)所示,此时,通过摄影测量系统测量模块A的位置,如图21(b)所示,并将此位置作为真实位置。
图21 测量装配真实位置
将模块A拆下,模块B固定不动,通过装配系统自动将模块A装配到模块B上,并通过摄影测量系统测量此时模块A的位置,如图22所示,将此位置作为系统定位位置。通过对比装配系统定位位置与真实位置之间的偏差即可得到系统装配误差。
图22 测量自动装配位置
共进行9次装配实验,装配过程中自动装配系统均能完成天线模块的自动装配,装配点位置误差如表10所示,平均位置误差为±0.037689 mm,系统运行效果如图23所示。
表10 实际位置与系统定位结果对比
图23 系统运行效果
本文介绍的基于机器视觉的卫星天线模块自动精密装配技术完成了相机内外参标定、机器人末端工具标定、Eye-in-Hand系统手眼标定、Eye-to-Hand系统手眼标定,根据采集到的图像信息,经过图像处理和坐标变换得到机器人的目标位姿,并通过以太网将数据传输到机器人控制系统,实现了对天线模块的自动精密装配。经实验验证,系统满足50 μm装配公差天线模块的自动精密装配要求,实验结果达到预期要求,且该技术已成功应用于航天领域高精密复杂卫星产品的自动化装配中,由此证明所提出的基于机器视觉的卫星天线模块自动精密装配技术具有较强的实用价值。