APP下载

基于参数化模型的焊缝曲线离散与焊枪姿态生成方法研究

2022-09-19文享龙赵天光岑洎涛苏金宇马章宇

机床与液压 2022年5期
关键词:焊枪样条姿态

文享龙,赵天光,岑洎涛,苏金宇,马章宇

(季华实验室智能机器人中心,广东佛山 528000)

0 前言

随着计算机技术的飞速发展,制造业的自动化、智能化程度越来越高。焊接作为工业的“裁缝”,是制造业的重要组成部分,焊接工业的智能化和自动化将会大幅度提高汽车、船舶、桥梁、轨道交通等行业的工作效率。焊接作业的自动化、柔性化、智能化是未来产业发展的大趋势,因此焊接领域的CAD/CAM研究,对实现焊接作业数字化、可视化、无人化具有十分重要的意义。在专用智能焊接软件研发领域中,目前处于领先地位的有丹麦的Inrotech公司、日本的神钢公司以及荷兰的KRANENDONK公司。Inrotech的软件系统方案不依赖三维模型导入焊缝信息,其核心技术是利用焊缝视觉识别算法系统,实时根据焊缝的变化进行调整。神钢公司的SMART TEACHING焊接仿真软件系统可以读取多种通用三维模型格式,自主适配焊接机器人型号以及焊接工艺数据库参数,同时可完成多机器人协作焊接。KRANENDONK公司的焊接专用软件可以导入工件的三维CAD模型,机器人可自动识别焊接工件位置以及焊缝位置,然后自动生成焊接路径。

目前,三维模型样条曲线离散理论方法主要有等弦长离散法、等弧长离散法、等误差离散法、偏转角可控离散法等。文献[8]中介绍了一种等弧长原则的NURBS样条曲线离散算法,引入步长函数控制离散曲线段的弧长,采用积分法和迭代法调整步长函数以控制曲线的离散精度。文献[9]中提出了一种自适应的二叉树分割方法,该方法能以较小的代价、较高的精度逼近同样的曲线,在满足离散精度的条件下计算效率较高。在焊枪姿态自动生成研究领域,文献[10]中提出了一种基于VB语言的CATIA 曲面法向量生成的二次开发算法,该算法利用方向余弦法,规避了直接采用测量角度进行的一系列计算,可直接获取模型上目标点,并生成目标点单位法向量。文献[11]中提出一种可调整焊枪工作角与行走角的直线摆弧路径算法,通过输入示教点与焊枪工作角计算焊接平面,在焊接平面上得到摆弧路径生成所需位置点信息,然后对焊枪加入焊枪行走角得到机器人焊枪法向量姿态值。

国内外学者现在的研究大多是通过激光和深度相机等视觉扫描方式得到焊接工件的焊缝信息并生成焊缝轨迹数据,但是对于大尺寸、复杂模型中厚板的焊接工件来说,线激光扫描容易遗漏被遮挡的部分,导致焊缝识别困难、大尺度工件识别定位精度低等问题。一些基于参数化模型研发的焊接仿真软件不够智能,无法自动识别并生成焊缝轨迹数据,通用性较差,只支持部分格式的三维模型和部分型号焊接机器人。针对上述情况,本文作者开展了基于参数化模型的专用智能焊接软件部分关键技术研究,具体包括参数化模型焊缝轨迹自主识别方法、焊缝轨迹曲线离散算法以及焊枪姿态自动生成方法;通过上述CAD/CAM算法功能开发,自主生成焊缝轨迹路径程序以及焊枪姿态数据信息,用于机器人实际焊接轨迹运动试验,并验证轨迹曲线离散算法的离散精度,可提高焊接机器人焊接效率、焊缝成型质量及复杂焊接环境的适应性。

1 参数化工件模型导入及焊缝曲线识别离散方法研究

作为开源的CAD/CAE软件底层开发平台,Open CASCADE库提供了强大的图形运算类、快速开发应用框架OCAF、图形显示操作功能包等。主要功能特点有:(1)支持多系统平台开发;(2)提供基于建模数据分离可视化操作服务,便于图形显示的选择和管理;(3)提供丰富、全面的几何运算功能;(4)提供三维模型可控的运动动画仿真及碰撞干涉检测。Open CASCADE库为焊接仿真软件开发人员提供了完善的平台类库支撑,文中的专用焊接软件的焊缝识别算法以及焊枪姿态生成算法是基于Open CASCADE底层库开发完成的。

1.1 焊接工件参数化模型导入

对于专用智能焊接软件平台,第一步是导入通用格式的待焊工件的三维数字模型,例如Brep、 Iges、Step等中间格式的三维数字模型。以Step中间格式为例, STEPControl_Reader函数用于实现STEP数据与Open CASCADE模型之间的转换,实现专用焊接软件对STEP格式数据文件的输入输出功能,STEP格式的模型导入OCC环境中解析并显示的具体实现方法如下:

//初始化空的中间格式三维模型,并定义模型文件路径

Handle (HSequenceOfShape) aSequence = new HSequenceOfShape;

TCollection_Asciistring aFilePath=file.toUtf8().Data();

//定义STEP模型的读写器,并判断此路径的模型是否合法

STEPControl_Reader aReader;

IFSelect ReturnStatus status = aReader.ReadFile(aFilePath.ToCString() );

//解析读取当前三维模型,并显示在屏幕上

TopoDS_Shape aShape = aReader.Shape();

aSequence->Append(aShape );

图1 焊缝轨迹高亮模型显示状态

在STEP模型的导入、导出过程中,其基本属性特征包括模型的点、线、面、体、尺寸、坐标位置等信息,同时还包括模型颜色、密度分布、质心位置以及自定义属性(如焊缝轨迹等)。以T形焊缝为例,定义两个垂直且相交的面,在两个焊接立面的交线处生成样条曲线形式的焊缝轨迹线,焊缝轨迹线的颜色与本体颜色不同,以示区分。标注有焊缝的三维工件模型导入自主研发的专用焊接仿真软件的显示状态如图1所示。

1.2 焊缝轨迹的自主识别方法

焊缝识别主要可以通过手动选取焊缝轨迹以及自动识别焊缝轨迹两种方式。自动识别模型焊缝信息可以有效提高软件自动化水平,减小人工成本和焊接仿真时间。Open CASCADE对三维几何模型的描述方法为边界表示法,其描述形体的信息包括几何信息和拓扑信息两个方面:拓扑信息描述形体上的顶点、边、面的连接方式;而边的形状尺寸、顶点在空间坐标系中的位置等则是几何信息,几何信息主要描述形体的大小、尺寸、位置和形状等。如图2所示,在边界表示法中,边界表示就按照体-面-环-边-点的层次,详细记录构成形体的所有几何信息及其相互连接的拓扑关系。因此在进行图形特征运算和遍历操作中,可以直接获取三维模型的相关几何信息及其拓扑关系。

图2 模型边界表示法拓扑关系示意

在焊接仿真软件中,工件模型文件导入到软件解析后其焊缝轨迹线段是高亮显示的。通过拓扑解析参数化模型的点、线、面、体特征,遍历模型的线段特征信息,然后判断每条线段颜色属性则可找出焊缝轨迹线段。OCC开发库中, TopExp_Explorer类可以遍历指定类型的拓扑对象,因此参数模型的所有线段遍历并判断识别出焊缝轨迹的具体方法如下:

//对当前模型的线段特征进行拓扑解析

TopExp_Explorer anExp (aShape,TopAbs_EDGE);

//定义for循环遍历模型的每一条线段

for (;anExp.More();anExp.Next() )

{ const TopoDS_Edge& anEdge= TopoDS::Edge(anExp.Current());

//获取每条线段的颜色属性,并判断是否为焊缝轨迹线段

Quantity_Color Col = anEdge.GetColor();

if (Col.Color ()== Quantity_NOC_RED)

TopoDS_Edge weld_edge=anEdge;

return weld_edge;}

1.3 焊缝轨迹点等误差离散法

焊缝轨迹根据其线段类型,可分为长直焊缝、圆弧焊缝、NURBS样条曲线焊缝等。理论上长直焊缝以及圆弧焊缝给出相应的首尾点坐标和直径等特征值,机器人即可按照输入信息走完焊接轨迹。但对于NURBS样条曲线焊缝,则需要通过焊缝轨迹点离散成微小直线段来拟合焊缝轨迹。等步长离散法或等弦长离散法生成的离散点轨迹与实际焊缝轨迹的拟合度不好。如图3所示:当焊缝样条曲线的曲率变化较小时,其离散曲线的拟合精度较好,当B、C区域曲率变化较大时,焊缝轨迹的离散拟合精度较差,焊枪焊接轨迹可能偏离实际焊缝区域,导致虚焊、漏焊等焊接瑕疵问题。本文作者采用改进的等误差离散法来确定参数化焊缝轨迹系列离散点,力求在保证离散精度的前提下提高计算效率,快速离散出符合焊接精度要求的轨迹坐标点。

图3 样条曲线离散示意

等误差离散算法按以下6个步骤实施:

(1)定义当前次NURBS 样条曲线的数学表达式

(1)

其中:={,,…,}为样条曲线控制顶点;={,,…,}为权重因子;,()为定义在非周期节点矢量上的次B样条基函数;={0,…,0,+1,…,,1,…,1} 为节点矢量。

(2)求得当前样条曲线的总弧长的表达式

(2)

(3)按照初始曲线弧长步长5 mm把样条曲线离散成段,若不为整数,则对进行取整处理,然后对相应的弧长步长进行调整,达到曲线等分分配。

(4)对离散的每一个小分段依次进行弓高误差判断,计算公式为

(3)

(4)

(5)

图4 等误差离散法计算示意

如图4所示,为相邻离散点的小分段,为段弦长,为曲线的曲率半径,其中曲率半径为曲率的倒数,即为段的弓高误差。

(5)若段的弓高误差满足焊缝轨迹偏差值要求,则继续判断下一个弧长分段的弓高误差值;若不满足轨迹偏差要求,则对段进行中间点((+)2,(+)2,(+)2)插值,然后判断段的弓高误差是否满足焊缝轨迹偏差值要求,若不满足则继续插值迭代判断,直至当前曲线分段都满足弓高误差要求。

(6)输出满足焊缝轨迹偏差要求的轨迹离散点数据

图5 等误差法焊缝轨迹离散效果

由上述等误差离散算法可知,弓高误差与离散点弦长的平方成正比,与离散点的曲率半径成反比。使用等误差离散逼近法将样条曲线离散点控制在焊接轨迹误差要求范围内,以保证焊接行走轨迹弓高误差满足焊缝轨迹最大偏差要求。等误差离散算法已经在文中开发的专用焊接仿真软件中实现,样条曲线焊缝轨迹离散坐标点的生成效果如图5所示。

2 焊缝轨迹离散点焊枪姿态自动生成方法

若焊接仿真软件中只有焊缝轨迹坐标点信息,焊接机器人无法知道焊接工件的位置及形状,焊枪可能在焊接行走过程中与焊接工件发生碰撞干涉。因此在离散焊缝轨迹点的过程中还需自动生成合适的焊枪法向量姿态信息,保证焊枪姿态能垂直于焊缝行走前进方向,且距离两个焊接连接面有合适角度,防止碰撞干涉。

2.1 曲面离散点法向量计算方法

面上某一点的法向量指的是在该点处与面垂直的方向。对于平面,其上各点的法向是一样的,统一为这个平面的法向。如图6所示,在平面内,有两条相交的线段,假设其中一条为矢量,另一条为矢量,且平面法向量为。则平面法向量就等于两个矢量的叉积,即=×

图6 平面法向量表示

如图7所示,复杂解析曲面是由数学方程描述的平滑可微的曲面,利用、参数方程可精确表示曲面。通过计算曲面上一点、方向上的一次微分即可得到曲面在该点处的切线。

图7 曲面法向量表示

点在曲面、方向上微分方程为

(6)

(7)

其中:()、()为解析曲面在、参数空间内的函数表达式。由上式的微分表达式可得,解析曲面在点处法向量表达式为

(8)

2.2 焊枪法向量姿态自动生成方案

按照焊枪姿态标准定义,通常使用焊枪工作角和焊枪行走角来表征焊枪姿态。如图8所示,对于平面拼接焊缝和标准T形焊缝,通常要求焊枪行走角能够始终垂直于焊缝轨迹前进方向,同时焊枪工作角为焊缝连接两个立面的角平分线,即焊枪法向量姿态为焊枪轴线所示。

图8 焊枪焊接行走姿态示意

根据上述焊接标准规范,设计焊枪法向量姿态自动生成的算法流程如下:

(1)导入焊接工件三维模型到焊接仿真软件;

(2)图形特征遍历识别找到模型中焊缝轨迹线段;

(3)反向拓扑焊缝轨迹线的父特征,得到焊缝轨迹的两个焊接连接面和;

(4)判断焊接连接面和是否为平面,若是则通过平面特征方程给出当前离散点法向量;若否则对当前焊接轨迹点计算焊接连接面的一次微分得到该点在连接曲面的法向量

(5)计算两个焊接连接面法向量的角平分线,得到当前点的焊枪姿态法向量,并进入下一个焊缝离散点的焊枪法向量生成程序;

(6)所有焊缝离散点的焊枪姿态法向量生成完成后,输出焊枪姿态法向量数据信息。

2.3 焊枪法向量姿态自动生成具体实现

依据上述焊枪法向量姿态生成算法流程,给出焊枪姿态生成具体方法如下:

//拓扑当前焊缝线段的父特征焊接面

MapShapesAncestors(aShape,TopAbs_EDGE,TopAbs_FACE,shapeMap);

TopoDS_Face faces=shapeMap.FindFromKey(anEdge);

//判断焊接面是否为平面,若是则求平面的法向量特征值

if (faces.GetType() == GeomAbs_Plane)

{gp_Pln apln=faces.Plane();

apln.Coefficients(l1,l2,l3,l4);

gp_Dir V1=gp_Dir(l1,l2,l3);}

else

//若否则将曲面转换成(u,v)表示的参数曲面,求曲面当前点法向量

{BRepLProp_SLProps theProp(BRepAdaptor_Surface(faces),1,Confusion());

theProp.SetParameters(ui,vi);

gp_Dir vi = theProp.Normal();}

图9 焊枪法向量姿态生成模型

船舶小组立工件焊枪法向量生成并显示的效果如图9所示,工件模型遍历的焊接连接面红色高亮显示,密集的红色法向量即为焊枪在焊缝轨迹的每个离散点上的姿态法向量方向。

3 专用焊接软件仿真实验与焊接机器人运行实验

3.1 焊缝轨迹离散仿真及离散精度分析

为对比等弧长和等误差离散法的离散精度是否符合焊接轨迹误差控制要求,将焊缝轨迹样条曲线导入到MATLAB中,分别使用等弧长离散法、等误差离散法进行离散精度仿真。确定等弧长步长系数,将曲线进行离散,求出离散点后用短直线逼近焊缝轨迹样条曲线。等弧长离散法各分段逼近误差如表1所示,曲线离散拟合效果如图10所示。使用等误差离散法确定初始离散步长,并对每一个初始分段进行弓高误差判断迭代,对不满足焊缝轨迹误差要求的小分段进行中间点插值,直到所有分段都满足误差要求,得到的等误差法离散点的各分段逼近误差如表2所示,曲线离散拟合效果如图11所示。

表1 等弧长离散法各分线段逼近误差 单位:mm

图10 等弧长法焊缝曲线离散拟合示意

表2 等误差离散法各分线段逼近误差 单位:mm

图11 等误差法焊缝曲线离散拟合示意

根据焊接标准规范,焊缝轨迹仿真的样条曲线弓高误差精度需要限定在0.50 mm以内,才能保证整个机器人焊接行走轨迹精度符合焊接要求,不会发生虚焊、漏焊等焊接瑕疵问题。经过MATLAB轨迹离散拟合数据仿真所得的图表对比可知,等弧长离散法弧长的步长难以直接确定,无法有效控制曲线离散的弓高误差,若焊缝样条曲线曲率过大可能会出现部分区域离散线段的弓高误差超过0.5 mm的焊接精度要求,出现虚焊、漏焊的情况。采用改进的等误差离散法,弓高误差判断方法简单清晰,可迭代性强,易于计算和编码实现,可有效控制焊缝轨迹曲线坐标点离散精度。

3.2 焊枪法向量姿态仿真及机器人焊缝轨迹行走实验

针对典型船舶小组立工件进行虚拟焊接仿真实验和机器人焊缝轨迹行走实验,使用的仿真验证平台是自主开发的专用焊接仿真软件JIHUA_WELD。焊接仿真实验步骤包括工件模型导入、焊缝识别及离散、焊枪法向量姿态自动生成、机器人焊接轨迹行走动态仿真等过程。整个专用焊接软件焊接仿真实验中,机器人最后焊接轨迹行走动态仿真过程如图12所示。

图12 机器人焊缝轨迹行走仿真过程

将专用焊接仿真软件与机器人通信连接,并将机器人焊缝行走轨迹程序以及焊枪法向量姿态数据信息传输到机器人控制器中,机器人沿着实际的船舶小组立工件的焊缝轨迹进行轨迹行走实验,如图13所示。机器人在行进过程中焊枪姿态能够稳定地处于两个焊接立面夹角中间位置,且焊丝能够稳定地处于焊缝轨迹点上方1~2 mm处,证明专用焊接仿真软件离散出的焊接轨迹坐标点以及焊枪姿态信息可以使机器人精准、稳定地完成相应的焊接任务。

图13 机器人焊缝轨迹行走实验

4 结束语

为解决专用焊接软件自主识别焊缝轨迹、焊缝轨迹曲线离散以及实时生成焊枪姿态的任务需求,结合Open CASCADE平台,提出一种基于参数化模型的焊缝轨迹识别与等误差曲线离散算法;同时根据参数模型特征,利用、参数曲面微分法计算曲面离散点处的法向量特征,自动生成焊枪行走的法向量姿态。开发专用焊接仿真软件,并通过焊接仿真实验、MATLAB焊缝轨迹离散精度分析以及机器人焊缝轨迹行走实验,验证了焊缝轨迹等误差离散法与焊枪法向量姿态生成方法的精确性和有效性。

猜你喜欢

焊枪样条姿态
基于Solidworks 的蓝莓采摘车焊枪夹持机构设计
对流-扩散方程数值解的四次B样条方法
攀爬的姿态
Arplas焊在白车身制造中的应用研究
全新一代宋的新姿态
关于焊接空间的一种计算方法
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
智能化焊接制造设备
基于节点最优分布B样条的火箭弹开舱点时间估算方法
另一种姿态