APP下载

面向飞机长桁壁板的柔性化机器人涂胶系统

2022-12-12周新房王伟华

航空制造技术 2022年19期
关键词:涂胶壁板位姿

许 斌,周新房,王伟华,郭 峰,张 晋

(中航西安飞机工业集团股份有限公司,西安 710089)

目前,机器人涂胶系统在汽车工业领域中已经非常成熟,机器人厂家和产线集成商都有成套的硬件和软件解决方案,如FANUC和KUKA机器人分别有针对涂胶的软件包“Sealing tool”和“GlueTech”,它们可以通过总线与涂胶末端连接,实现机器人轨迹与胶枪的控制,但机器人涂胶在航空制造领域还未广泛使用,原因有以下4点。 (1)离线编程困难。航空产品结构形式多,形状复杂,一个壁板上存在十几个长桁,位置各不相同,针对每一种形式都需要重新离线编程或示教,操作较为烦琐。(2)轨迹控制困难。某些部件体积较大,刚性较弱,变形较大,导致末端TCP(Tool center point)的定位困难。(3)与汽车制造相比,航空制造领域目前产量还普遍较小,没有形成真正流水线形式的生产模式。(4)由于胶体的特殊性质,每次长时间停机后都需要清洗涂胶管路,这会严重影响工作的连续性。基于以上原因,在航空产品涂胶过程中,还是以手工为主,未实现批量自动化。

为了实现面向航空产品的机器人的自动化涂胶系统,需要尽可能减少离线编程,提高轨迹精度,在这方面相关研究非常多。王霆[1]基于视觉伺服实现了自动涂胶系统,但该轨迹是基于单张图像的,没有说明如何生成大范围连续轨迹。魏京利等[2]基于点云配准算法实现了物体移动后涂胶轨迹的计算,但该方法是基于刚体假设的,没有考虑产品变形。张卫攀等[3]对航空工业中的自动化涂胶的特点进行了介绍,但使用的方法仍然是传统的离线编程技术。马清伍[4]基于视觉3D模板匹配技术获得了多个视觉站位下的特征点位置,并对系统各个部分的标定进行了详细介绍。成世良等[5]实现了基于人机协作机器人的涂胶系统,这种方案的安全性较高,缺点是机器人活动范围较小,需要频繁转站。任玉峰[6]基于双目视觉实现了机器人引导。刘凌云等[7]利用视觉搜索定位实现机器人的位置修正,但只针对小范围姿态变化的作业对象。杨恒亮等[8]基于FANUC公司的3D集成视觉软件,通过3个基准孔实现了对加工产品的标定,可用于修正涂胶轨迹。徐健萍[9]利用浮动胶嘴实现了涂胶系统,这种方案较为新颖,但机械结构较为复杂。杨瑞鹏[10]基于线结构光实现了质量检测。

可以看出,以上涂胶系统大多是基于“点”的涂胶系统,没有形成大范围涂胶位置的拓扑结构。本文设计了基于点云分析的机器人涂胶模式,即首先利用三维点云扫描装置T-scan扫描全局点云,进行点云分析,生成精确的涂胶轨迹,然后再添加涂胶控制代码,最后通过机器人和涂胶末端的配合,实现全自动化、柔性化的涂胶过程。这种模式对产品本身的定位精度要求低,且能适应刚性较弱、变形较大的产品。在技术成熟后,甚至不需要离线编程的验证,而是直接采用点云数据完成涂胶过程。本文从涂胶系统组成、系统标定、轨迹生成等方面对该技术进行了论述,最后通过试验验证了可行性。

1 机器人涂胶系统搭建

1.1 系统组成

面向航空制造领域的机器人涂胶系统一般包含工业机器人、涂胶系统(含定量机、胶枪等)、激光跟踪仪(含T-scan)等。图1为机身壁板与长桁填角密封涂胶系统整体结构示意图和主要部件。本试验所使用的主要硬件信息如表1所示。

表1 系统配置参数Table 1 System configuration parameters

图1 涂胶系统示意图Fig.1 Schematic diagram of gluing system

需要涂胶的区域是长桁与壁板形成的交接线,即涂胶的轨迹线。机器人带动涂胶末端沿着该线移动,并对涂胶末端的控制系统发送指令,完成涂胶过程。涂胶系统的位置精度主要是由机器人保证的,壁板长桁填角密封的位置精度要求约2 mm。工业机器人的绝对定位精度受载荷重量、惯量匹配、精度补偿等的影响,在开启位置补偿后,可以满足精度要求。由于航空产品生产特点,涂胶系统没有配置专用的胶桶,而是采用手动注胶的方式完成胶的补充。点云扫描装置T-scan是手持式的,可以手动完成点云采集,也可以将T-scan安装在机器人末端上,基于离线编程(此时不需要很高的位置精度,因为T-scan测量深度为±50 mm)实现机器人带动T-scan自动化完成点云扫描。T-scan测量的点云数据是基于激光跟踪仪坐标系的,无须经过点云拼接就得到了完整的点云数据,实现了对产品外形的大范围测量。

1.2 工艺流程

基于点云扫描的涂胶系统,采用实际测量的点云数据驱动涂胶系统运作,而传统涂胶系统是采用手动试教的方式或完全基于离线编程实现涂胶轨迹控制。一个全自动化的典型涂胶工艺流程如图2所示。

图2 涂胶工艺流程Fig.2 Gluing process

利用T-scan采集的全局高精度点云数据提取轨迹,一方面提高了离线编程轨迹的精度,另一方面也可用于实际运动过程中碰撞监测,提高了安全性。此外,T-scan测得点云数据除用于提取涂胶轨迹外,还可以进行涂胶外形的质量检测。

1.3 出胶控制和数据通信

机器人涂胶过程中,需要控制的两个核心参数是轨迹和出胶流量。出胶流量是由机器人运动速度和胶条半径决定的,即

式中,F为出胶流量,cm /s;r为胶条半径,mm;V为机器人TCP点的运动速度,mm/s。在涂胶过程中,机器人的速度并不是定值,为了实现稳定的胶条半径r,胶枪的出胶量需要适应机器人的实时速度。所以,机器人需要将TCP点的实时速度发送给涂胶末端的控制器,以此控制出胶量。FANUC机器人的“TCP speed output”软件包可以实现该功能,其余机器人也有类似功能的软件包。

在涂胶的启动和停止阶段,由于胶枪和产品之间有一定的间隙,会造成“堆胶”现象,所以胶枪的开启和关闭需要有一定的提前量(在涂胶轨迹开始和停止处多涂一段)。除了出胶流量的控制,在涂胶过程中,还需要对涂胶末端各个位置的温度、胶枪的预压力、胶枪的报警信息等进行控制和协调,这部分工作只是简单的数字量和模拟量的交互和时间上的等待,本文不详细介绍。机器人、涂胶末端、上位机之间的交互和数据传输如图3所示。

图3 数据传输Fig.3 Data transmission

本项目中,机器人控制器是涂胶控制系统的核心,不仅控制涂胶末端的定位,还可以通过PLC向涂胶末端发送信息,实现对胶枪开闭和出胶速度等的控制。机器人与PLC通信采用Profibus总线,PLC与涂胶末端通信采用Profinet总线。点云的采集通过PolyWorks软件实现,并通过点云分析实现对涂胶轨迹的提取生成。轨迹信息经后处理形成机器人程序,添加针对涂胶控制的信息形成最终控制程序,该程序通过FANUC机器人的FTP服务器上传至机器人控制器,机器人利用该程序完成涂胶过程。

2 系统标定

2.1 TCP标定

在涂胶末端或T-scan安装到机器人上后,需要对其TCP进行标定。TCP的标定一般有两种方式: (1)根据三维模型得到理论位姿; (2)根据现场装配好的系统,基于6点法获取机器人TCP的位姿。由于涂胶末端的姿态对涂胶影响不大,可以认为其各轴与法兰盘平齐,这样可以用4点法确定末端TCP的位置。设法兰相对于机器人基坐标系的位姿矩阵为Tbf,机器人工具坐标系相对于法兰的位姿矩阵为Tft,则有

其中,Tbf为机器人工具坐标系相对于基坐标系的位姿矩阵,即

其中,下标b表示基坐标系;f表示法兰盘;t表示工具坐标系。

平移部分有Rbftft+tbf=tbt,4个位姿可以构造4个等式,利用其两两差值可得

式中,“+”代表MoorePenrose广义逆,由此可解得tft,即TCP点。一般在工业机器人中已经集成了该标定模块。

2.2 机器人位姿标定

基于T-scan获得的点云数据是基于激光跟踪仪坐标系的,提取的所有数据也是在该坐标系下的,而机器人工具坐标系的位姿是相对于机器人基坐标系的,所以需要计算激光跟踪仪坐标系和机器人基坐标系的位姿关系。假设机器人基坐标系为全局坐标系,将激光跟踪仪坐标系转到机器人基坐标系。

传统的计算机器人位姿标定方法如图4所示。先让机器人回Home位置,将激光跟踪仪靶球放到末端执行器上后,分别让机器人绕A1轴和A2轴旋转,同时采集一系列点,用这些点拟合A1轴和A2轴直线。对于一般工业机器人,A1轴线方向为z方向,在Home位置时A2方向为y轴方向,且A2轴的位置与A1轴的空间距离是由机械结构确定的,由此便可以确定机器人的位姿(当然在实际应用时,还可以让机器人绕A6轴转,这样更易于标定)。这种标定方法利用了Home位置的性质和机械机构参数,可能会有较大误差。在实际应用时,受场地环境限制,在绕轴转动时,往往无法转成整圆,这也影响了标定精度。

图4 机器人位姿标定Fig.4 Robot pose calibration

如果能通过几个点直接在激光跟踪仪示数与机器人试教器面板示数之间建立端到端的映射关系,则能简化标定,忽略对机器人姿态、机械结构、标定场地的特殊要求。如图5所示,胶枪口整体呈锥状,端面是平面,外边界为圆形。将机器人末端置于任意便于测量的位置,通过T-scan扫描胶枪口,可以获得胶枪口的点云模型,再通过圆心拟合,可得出胶枪口的圆心坐标(激光跟踪仪坐标系下)。此外,利用TCP标定的方法得到胶枪口的圆心在机器人法兰坐标系下的位置,从而计算出其在机器人基坐标系下的位置。这样,就得到了一个点分别在机器人基坐标系和激光跟踪仪坐标系下的坐标。

图5 胶枪口Fig.5 Outlet of glue gun

利用机器人不同位姿下多组对应的点坐标,就可以通过ICP算法[11]得到机器人基坐标系和激光跟踪仪坐标系的位姿关系,计算过程简要说明如下。首先,将机器人置于任意便于测量的位置,然后利用T-scan扫描胶枪口,并拟合出圆心,该点在机器人基坐标系下坐标为pi(i=1,…,n),在激光跟踪仪坐标系下坐标为qi。令R和T为激光跟踪仪坐标系到机器人坐标系之间的旋转矩阵和平移矩阵,利用R和T可以将qi转为pi,优化目标为转换过后各个点的偏差最小,即目标函数为

展开可得

即目标函数变为

此处V、R、U是正交矩阵,则VTRU也是正交矩阵,令M=VTRU,则当M为单位阵时,Tr(M)最大,即I=VTRU,此时R*=VUT。值得注意的是,当 |M| = –1 时为镜像变换。综合两种情况,式(6)的最优解为

求得R*后,利用任意一点的变换可求得T*,由此便确定了激光跟踪仪坐标系到机器人坐标系的变换矩阵。通过以上标定就确定了机器人、涂胶末端、激光跟踪仪之间的相互位置关系。在系统标定的基础上,就可以建立点云数据和机器人运动参数的转换关系。

3 点云分析

本文点云分析是通过开源点云库PCL[12]完成的。点云分析过程包括滤波、特征提取、路线拟合、位姿生成等。在针对长桁与壁板的涂胶中,涂胶的目标位置是长桁与壁板的连接交线处(图6),该位置形成了一个直角,通过特征提取获取该位置的点云,并生成一系列目标坐标系,即涂胶轨迹标架。标架的切向是涂胶方向,标架的主法向位于长桁与壁板平面之间(该主法向确定了胶枪主轴线的方向,可根据工艺和碰撞干涉设置合适角度),如图7所示。计算生成一系列的标架就是机器人工具坐标系的位姿轨迹,再添加涂胶控制的开关信号就形成了完整的涂胶控制程序,以下对点云分析进行详细介绍。

图6 轨迹重构示意图Fig.6 Schematic diagram of trajectory reconstruction

图7 涂胶轨迹标架Fig.7 Frame of gluing trajectory

3.1 点云滤波

初始采集的点云密度是较高的,具有较多冗余信息和噪点,应在满足扫描精度的条件下进行滤波,包括去除离群点和下采样。去除离群点可以采用半径滤波,即根据空间点半径范围临近点数量来移除离群点,PCL库中对应的类名是“Radius outliner removal”,搜索半径设置为1,邻点设置为5。下采样可用体素栅格法,即利用某一正方体内的点取代该正方体内所有的点云,PCL库中对应的类名是VoxelGrid,栅格大小可设置为0.01。

3.2 特征提取

长桁与壁板的交接处形成了明显的直角区域,在该位置附件的点云的主法线具有两个,且近乎垂直,利用这一特性可以将该直角位置提取出来。在PCL中提供了Harris3D、ISS3D、NARF等方法进行特征提取。其中Harris3D是根据3D方框内点云的数量确定特征位置的;NARF方法通过在临近区域表面变化计算特征点;ISS3D方法是基于主元分析方法实现的。ISS3D方法物理意义明确,效率较高,本文采用该方法进行特征提取(在PCL库中对应的类名为ISSKeypoint3D),其中setSalientRadius设置为7,setNonMaxRadius设置为3,setThreldHold设置为0.6。

3.3 基于B样条近似的轨迹逼近

B样条曲线是工程领域常用的几何表示方法,广泛应用于CAD系统和基于测量数据的参数化表示。本文采用B样条曲线对点云进行逼近,将离散的点云坐标参数化,实现对理论涂胶轨迹的逆向。B样条曲线可表示为

式中,Ni,p表示基函数;Pi表示控制点;p表示阶数;h表示控制点个数。现需要令该曲线逼近点云的点Di(i= 1,…,n),并约束该曲线通过第1个和最后1个点,即D0=C(0)=P0且Dn=C(0)=Ph。假设Di在C(u)上对应的参数为tk(k= 1,…,n),则点云的点到曲线的距离可表示为

式 (14)就是曲线逼近的目标函数,为此对f求Pj(j= 1,…,h–1)的偏导数,并带入C(tk),可得

式中,j=1,…,h–1,可令

式 (16)可写为

由此解出P,即可得B样条曲线的控制点。通过上述方法求得曲线有一个隐含条件:点云必须是有序的,样条曲线是依次通过点云的各个点(即Q的各行需要考虑点云顺序)。现实采集的点云往往是无序的,需要通过某种方法建立点云的顺序信息,如将点云顺序按照某方向排列。将点云序列化,需要结合现场实际信息,不便于轨迹的计算,本文再介绍一种基于主曲线的理论实现对无序点云的轨迹计算。

3.4 基于主曲线的轨迹计算

主曲线代表了构成点云的基本特征,从物理直观上看,主曲线是点云分布的“中间”曲线。Hastie[13]对主曲线的定义为

即主曲线上每一点是投影至该点的所有数据点的均值。按照以上定义求取主曲线需要对初始曲线做出假设,并根据投影和期望对主曲线进行迭代,该过程是非常困难的。所以,可以采用离散的方法,将主曲线分解为多段线段,形成多边形主曲线[14],然后分别求取每段线段,具体算法如下。

(1)初始化多段线段的k个顶点,形成k–1段线段。在起始阶段可以选择两个点:点云的重心为这两个点的中心,利用PCA算法求取的主元方向为这两个点形成的线段的方向,以点云半径的2/3为距离分别向外求取两个点。

(2)遍历点云每个点到线段的距离,得到每个点到多段线段的距离。由于线段的长度是有限的,当点到线段的投影落在线段以外时,点到线段的距离是点到线段端点的距离,此时可认为点到线段的投影就是线段的端点。假设点云内任一点为P,线段两端点分别为A和B。设C为P在AB直线上的投影,则有

则可以利用γ判断C是否落在AB之间。只有当0<γ<1时,点投影到线段内,即到线段的距离是;否则点投影到线段的端点,即到线段的距离是(当γ≤0时)或(当γ≥1时)。

(3)以点到线段的距离最短为目标函数,优化顶点的位置。目标函数的选取为

式中,vi表示多段线段的每个顶点;pk表示点云上投影到受vi控制的线段(即对于始末顶点只有始末线段,而中间顶点会控制过顶点的两条线段)上的点;d表示pk到多段线段的距离;δ表示角度惩罚函数,即

式中,a表示vi–1vi和vivi+1的夹角,这是为了让线段夹成钝角,使主曲线更加光滑。

(4)判断S是否满足要求:若是,则完成;若否,则在投影点最多的线段中点增加新顶点,并转到步骤(1)。

如上,便得到了以连续点坐标表示的机器人轨迹。

3.5 坐标系计算

在得到各个点的坐标后,还需要计算出每个点处的切向(胶嘴运动方向)和法向(胶枪方向),以此形成一系列活动坐标系。切向可以通过对轨迹的差分求得,而法向可以通过该点附近点云的两个主元方向(即壁板法向与长桁侧面法向)的角平分线计算。

4 仿真试验

在点云分析的基础上,将所有主曲线的点转化为计算得到的坐标,就可以形成涂胶程序,涂胶系统的所有指令需要反映在涂胶程序中(另外需要注意的是,机器人需要通过实时总线将TCP点的速度发送给涂胶末端控制器以匹配出胶量),伪代码如图8所示。

图8 涂胶过程伪代码Fig.8 Pseudo code of gluing process

将程序传输到机器人控制器,完成涂胶过程。为了对以上内容进行验证,针对一个典型型长桁和壁板设计了以下试验。首先,利用T-scan对涂胶对象进行扫描,并进行滤波,测得的点云数据如图9所示。蒙皮与长桁形成了“Z”型结构,“Z”的根部就是需要进行涂胶密封的地方。

图9 试验件点云Fig.9 Point cloud of test product

然后利用PCL库中的ISS3D方法对点云进行特征提取,结果见图10。

图10 特征提取Fig.10 Feature extraction

利用主曲线方法对该系列点进行基于主曲线的轨迹计算,得出的点的坐标如表2所示。

表2 主曲线点计算Table 2 Calculation of main curve points

以上计算的主曲线到所有原始点位的最大位置误差为0.97,满足位置精度要求。可以看出,由于长桁和壁板固有的结构特征信息,经过对现场点云的处理和分析,可以很容易提取出涂胶区域点云。再经过主曲线方法就可以得到顺序化、高精度的机器人轨迹信息。这种方法无须经过逆向建模,而且获取的是全局、连续的轨迹信息。特别是面对大尺寸、结构形式多样、易变形的结构时,可以通过点云直接得到涂胶控制程序,无须手动精准示教或者离线编程,大大简化了人工操作,提高了生产效率。

5 结论

针对飞机长桁和壁板的机器人自动化涂胶系统进行了研究,分析了系统构成和相互通信方式,对制约其应用的主要问题进行讨论和研究。提出了基于特征识别的坐标系拟合和基于点云分析的涂胶轨迹的提取,解决了航空产品尺寸大且结构形式复杂,难以精确定位和自动化离线编程的难题。通过B样条拟合和主曲线分析方法,建立了产品的真实涂胶轨迹,并通过典型试验件的点云分析,提取了涂胶轨迹,验证了以上方法。

猜你喜欢

涂胶壁板位姿
铝蒙皮半自动涂胶工艺研究
基于位置依赖的密集融合的6D位姿估计方法
某大型飞机复合材料壁板工艺仿真及验证技术
机身框与长桁、蒙皮的连接形式研究
复合材料加筋壁板剪切屈曲工程算法验证研究
曲柄摇杆机构的动力学仿真
优化ORB 特征的视觉SLAM
GDX6硬盒包装机商标纸涂胶器清洗小车的设计
全自动螺栓涂胶机在车桥装配行业的应用
机翼下壁板裂纹扩展分析