具体实施方式
下面结合附图和实施例对本发明进一步说明。
一种基于激光测距的平板对接焊缝焊接轨迹检测与控制方法,包括以下步骤:
A.进行轨迹检测;系统初始化后,焊缝横向扫描轴启动,通过激光精密位移传感器实时检测平板对接焊缝的横截面轮廓,并不断沿焊缝方向进给;将检测到的焊缝轮廓信息数据传送到工控机,对采集数据进行滤波、存储;
B.进行轨迹识别;通过工控机对数字信号进行处理,提取焊缝轮廓的信息,同时进行焊缝的三维重建,并根据三维重建信息,获得当前焊缝的宽度、横截面积的参数信息;根据已获得的上述信息进一步提取焊缝的特征点,根据所提出的动态B样条拟合算法获得焊接轨迹曲线表达式;
C.进行轨迹控制;通过工控机根据检测获得的焊缝轨迹曲线位置,以轨迹数据为基础,对轨迹进行插补运算,对各坐标轴进行实时联动控制;
D.最后通过执行机构动作来调节焊枪与焊缝之间的相对位置关系,即用电机带动升降轴丝杠做上下调节,从而达到焊缝跟踪的目的;在整个系统运行过程中,对焊缝轮廓信息、焊接电压和电流实时显示,并存入经验参数数据库,实现同种工件批量焊接的自动控制。
所述步骤A中激光位移传感器安装于焊缝横向扫描轴上;焊缝横向扫描轴由直线电机驱动,在待焊焊缝的上方做横向往复运动。
所述步骤A中采用焊缝横向扫描机构与焊枪运动控制机构的分离设计,系统启动时,焊缝横向扫描机构先于焊枪运动控制机构启动,从焊缝起点开始扫描,以便获取焊缝起点附近的信息,之后焊枪运动控制机构启动,这两者之间的启动延迟时间为可调的。
所述步骤A中在对焊缝轮廓检测数据处理过程中,采用对焊缝边缘区域进行识别划分,并对边缘区域实现不同性质的滤波处理方法。
所述步骤B中对焊接轨迹的在线动态拟合过程中,采用了分批重叠读入型值点,并采用准均匀B样条拟合的方法得到分段B样条曲线,在整个边检测边焊接进行过程中实现焊接轨迹的整体准均匀B样条的性质。
本发明中由直线电机带动滑块做水平横向运动,在运动过程中激光位移传感器不断检测当前距离,并实时将数据传送到控制主板,经数据滤波后存于建好的距离数据缓冲区内,轨迹识别与控制主程序调用该缓冲区中的数据,并以此为基础实现焊接过程中的轨迹控制、包括决定是否启用焊枪摆动机构来焊接较宽焊缝,并将调整参数信息录入焊接过程记录数据库,在系统运行过程中,将焊缝的三维图形、焊接规范实时显示实时于显示器窗口中,便于监视焊接过程,保证焊接质量,也可作为人工干预调整的参考。
在扫描机构的实际运行过程中,传感器的位置超前于焊枪位置,在传感器检测点与焊接点之间即存在一固定检测时间偏差,在系统平稳运行过程中,该偏差的存在是必要的,相当于系统提前获得了下一段待焊焊缝的三维信息,为数据可靠分析、处理提供了时间,也可以使系统及时有效调整焊缝跟踪机构,提高了系统的稳定裕量;但在系统刚起动时,焊接点位于焊缝的起点,系统无法获得焊接起点附近一段焊缝的三维参数信息,因此系统采用横向扫描机构与跟踪机构分离的结构设计,当系统启动时,扫描机构先于跟踪机构启动,从焊缝起点开始扫描,以便获取焊缝起点附近的信息,之后跟踪机构启动焊接,这之间的延迟时间设计为可调的,为系统运行提供更大的灵活性。
1.程序总体流程
激光精密位移传感器安装于焊缝横向扫描机构上,由系统控制步进电机以实现该扫描机构做往复运动,实现焊缝数据的扫描采集,计算机将所采集的数据经过数据滤波、变换等的预处理后,进行焊缝的三维重建,并根据三维重建信息,获得当前焊缝的宽度、横截面积等参数信息,经一系列相关计算后,以识别出的焊缝轨迹为基础实现焊接过程中可靠的轨迹控制,为焊缝跟踪的实现提供高效,低廉的实现方案。
2.数据预处理与焊缝几何特征提取
2.1焊缝采集数据的预处理
以系统进给方向为X轴方向,扫描方向为Y轴方向,垂直与XY平面方向的为Z轴方向,以系统运动起点为原点建立坐标系,系统采集得到的数据为规则化网格结构,即数据点分布在一张矩形网格上,如图2所示为V型焊缝的采集数据分布。由于在焊接工业现场,存在着各种飞溅、电磁、烟尘、弧光等干扰,系统采集得到常常包含许多含有噪声、不完整的数据,因此在焊缝特征提取前需要对数据必须进行预处理。数据预处理包括:填补矩形网格上遗漏的数据值、识别或除去异常值、平滑有噪声数据以及解决数据规格化问题。
从激光扫描所得焊缝数据点阵图中,可以看到所得数据的特点:
(1).数据量依据精度的要求确定,具有一定的可控性。径向进给扫描间隔和横向扫描间隔可独立控制,在保证焊缝重建不失真的情况下,根据工件表面、坡口面的几何粗糙程度来予以确定。
(2).基于逐行扫描的数据采集方式,使所得的点阵数据更易于参与各种运算。
结合所选用精密激光位移传感器的性能和特点,在系统运行过程中,焊缝扫描所得数据的处理利用流程如图1所示,对于不同的应用对象、焊缝点云数据的不同特性,焊缝扫描数据处理的过程和方法也不尽相同。实际应用中,应根据扫描数据的特点及模型精度需求,选用相应的数据处理策略和方式。概括讲,整个数据处理利用流程包括原始数据获取、数据预处理及变换、模型重建、模型参数获取和模型可视化处理。原始数据获取的精确性和快速性对准确有效获取模型参数具有重要影响,其关系到模型重建的可靠性和稳定性,同时为准确获取焊缝参数信息提供了必要的前提条件。模型重建和模型参数获取阶段包括的具体处理例程有:曲面的拟合、焊缝边沿的搜索、焊缝中心的识别、焊缝坡口角度的计算、焊缝体积的计算等。模型可视化处理提供了直观的人机交互操作,便于监控,极大改善了操作环境。
2.1.1填补遗漏的数据值预处理
操作主要针对预定采集位置数据值缺失的情况,这种情况发生时,采取邻域内取中值的方法来填补该遗漏缺失值,即在该遗漏缺失数据点g(i,j)附近邻域N×N矩形邻域内先进行数据的大小排序(本文选取了5×5的矩形邻域),并用排序的中值来代替相应的遗漏缺失值。由于需要N2-1个数据参与排序,运算量较大,实际运用中对参与排序的数据进行了间隔减半选取,如下表所示
表3-3数据间隔减半的选取方式
|
g(i-2,j-1) |
|
g(i-2,j+1) |
|
g(i-1,j-2) |
|
g(i-1,j) |
|
g(i-1,j+2) |
|
g(i,j-1) |
|
g(i,j+1) |
|
g(i+1,j-2) |
|
g(i+1,j) |
|
g(i+1,j+2) |
|
g(i+2,j-1) |
|
g(i+2,j+1) |
|
下表为从采集数据表中截取的一个5×5的矩形数据邻域(数据值为A/D转换后的数字量),其中缺失的数据点表示为g(3,3),如下所示:
表3-4 5×5的矩形数据邻域内数据间隔减半选取
|
728 |
|
753 |
|
730 |
|
754 |
|
755 |
|
728 |
* |
749 |
|
730 |
|
755 |
|
750 |
|
729 |
|
748 |
|
现在我们来根据上述方法填补矩形网格上遗漏的数据值,采用减半间隔选取数据,得到12个数据,经排序可知,排在中间位置的有两个数据:748、749,取两个值的平均值并四舍五入,得到g(3,3)位置的填补值为749。经实际测量该位置的实际值也恰为749,经过大量的数据填补实验证明,该填补方式的数据误差控制在要求范围内,满足实际数据值分布规律。
2.1.2异常值识别、平滑噪声数据
本系统在对所采集数据进行滤波时,借用了图像处理中的常用滤波方式,并结合数据的分布规律及焊缝信息提取要求进行了一定改进。
软件滤波算法效果的好坏很大程度上取决于滤波窗口的尺寸和形状的选取。从滤波窗口尺寸大小来说,一般情况下滤波窗口越大,所包含的数据量就越大,其去噪声能力也越强,但是容易丢失焊缝边缘细节,使边缘模糊化;滤波窗口选取的越小,运算后保留的细节部分就越多,但是去噪声能力差。在滤波窗口形状的选取上,窗口方向要尽量沿着焊缝边缘方向,不能把边缘数据点和其周围相差很大的数据点包含在同一个窗口中做平滑滤波处理,否则焊缝边缘会被周围数据点模糊化。
为了在对数据有效滤波的同时尽可能的保留焊缝边缘的信息,需要对焊缝边缘区域进行识别划分,并对边缘区域实现不同性质的滤波处理。由于方差的大小能够出反映出一组数据的集中程度,方差越小代表数据分布越集中,隶属于同一区域的可能性较大,反之数据分布越松散,因此将方差作为判断数据分布变化大小的标准,选择方差最小的窗口作为滤波窗口。具体的滤波实现是:对于一个既定数据点,首先充分分析其周边的边缘分布情况,这需要以该数据点为基点,将其周边区域分为4个不同方向类型的模板(如图3所示),计算各个模板的均值和方差,比较得出方差的最大值σmax 2和最小值σmin 2。根据方差的最小值σmin 2确定该基点的隶属区域,并在其隶属区域内进行均值平滑滤波处理;根据方差的最大值σmax 2确定该基点周围边缘存在的可能性,若σmax 2大于预先设定的阀值σ2 边缘(该边缘阀值的选择是一个涉及在丢失有效焊缝边缘和由于噪声所造成的伪边缘之间进行折衷考虑的问题),则该最大方差值对应的模板内可能存在焊缝边缘。当以可能存在焊缝边缘的模板上点为基点,再次分析边缘分布时,采用更为深度的划分,采用9个不同方向类型的模板搜索边缘存在区域,在边缘存在区域采用中值滤波算法,尽可能保留边缘细节。
基于上述滤波的思想,V型坡口焊缝和平板搭接焊缝的采集数据进行了上述滤波操作,采用自适应边缘滤波处理后,在非边缘区域仍采用均值平滑滤波处理,而在边缘附近,尽量保留细节。
2.1.3数据范围线性变换
由A/D转换器的得到是12位的二进制数字量,对应十进制的0~4095,optoNCDT1401-100型精密位移传感器的测量范围是100.0mm~150.0mm,则A/D转换器得到数字量q对应的实际距离值d(单位:mm)为:
在实际焊缝的扫描中,由于焊缝的深度、起伏有限,传感器的测量范围内只有的一小部分得到有效的利用,如3mm深的焊缝,对应的占用数字量占全范围的比例为:
在图像处理领域中,在曝光不足或曝光过度的情况下,图像灰度可能会局限在一个较小的范围内,得到的图像将是一个边缘模糊不清的图像,线性灰度变换是一种简单而实用的图像增强方法,即采用一个线性单值函数,对所包含区域内的每一个像素做线性扩展。它可使图像对比度增强,图像变清晰,边缘特征明显。基于上述思想,在分析获取焊缝边缘过程中,对采集到的边缘附近的数字量进行了线性变换,以准确获取边缘,即相当于对边缘部分差异做放大处理。令F(i,j)表示从A/D转换器得到的位于平面(i,j)位置的代表距离的数字量,若对当前一段焊缝,F(i,j)值的范围为[a,b],线性变换后F′(i,j)的范围为[a′,b′],则线性变化为:
对于整个参与线性变换的数据集合而言,变换前后数据个数不变,但不同数据之间的差异变大,即“对比度”加大。尤其是对于边缘平滑的焊缝,在边缘部分采集得到的数据较接近,在[a,b]区间内量化时可能进入同一数字等级 从而使边缘差异缩小,不利于边缘的识别,取 如果线性变换中取T≥2,则量化时F(i,j)在[a′,b′]范围内可以取得数字量等级是[a′,b′]范围内的两倍以上,使焊缝边缘差异得以增强,利于准确获取焊缝边缘。
如下表为线性变换前采集得到的原始数据。
表3-5采集得到的边缘原始数据
590 |
590 |
590 |
594 |
594 |
590 |
578 |
560 |
546 |
530 |
588 |
590 |
590 |
590 |
588 |
584 |
574 |
552 |
538 |
526 |
588 |
588 |
590 |
590 |
590 |
586 |
576 |
558 |
544 |
528 |
588 |
588 |
588 |
590 |
588 |
584 |
574 |
556 |
542 |
528 |
588 |
588 |
590 |
590 |
590 |
586 |
576 |
560 |
546 |
530 |
588 |
588 |
588 |
588 |
586 |
584 |
572 |
556 |
542 |
528 |
588 |
588 |
588 |
588 |
588 |
584 |
574 |
558 |
544 |
530 |
590 |
590 |
588 |
588 |
586 |
584 |
572 |
556 |
542 |
528 |
590 |
590 |
590 |
590 |
588 |
586 |
578 |
564 |
552 |
538 |
588 |
590 |
588 |
588 |
586 |
582 |
574 |
562 |
550 |
536 |
588 |
588 |
588 |
588 |
586 |
584 |
576 |
564 |
552 |
538 |
590 |
590 |
590 |
588 |
586 |
582 |
572 |
556 |
542 |
530 |
590 |
590 |
590 |
590 |
588 |
584 |
574 |
558 |
544 |
530 |
588 |
588 |
590 |
588 |
586 |
582 |
572 |
554 |
540 |
526 |
588 |
588 |
590 |
590 |
588 |
584 |
574 |
556 |
542 |
528 |
588 |
588 |
590 |
590 |
588 |
584 |
572 |
556 |
540 |
526 |
对与该表中的数据来说,其数字量范围为[526,594],即a=526,b=594,取a′=0,b′=255,则有线性变换倍数T=255/68=3.75,在相同的数字等级标度范围的数据分布图中,进行边缘差异线性放大后,边缘部分特征较明显的显示出来。
2.2焊缝特征的提取
2.2.1焊缝边缘点的提取及其拟合
在图像处理领域,对目标边缘的提取有很多成熟的方法,如边缘检测算子中的Sobel算子,Robert算子,Laplace算子等。本系统利用激光位移传感器直接获取焊缝的信息,将焊缝轮廓信息以距离的形式反映出来,这种方式较采用CCD摄像机获取焊缝图像的方式具有直观、快捷、准确性高的优点,对于不同类型平面对接焊缝边缘的检测,本系统分别进行了不同的讨论。
2.2.1.1.V型坡口的焊缝边缘识别
测量所得数据中个别数据的误差或者波动可能性很大,同时采集给出的数据量又很大,这就需要一种有效的方法来对焊缝的实际轮廓曲线加以识别,这里采用的方法是曲线拟合,这里曲线拟合的目的:一是是从给出的大量数据中找出分布规律,构造曲线反映截面数据点总的趋势,以消除其局部误差或波动;二是通过对曲线的曲率的求解,获得焊缝边缘关键点。B样条方法既可以表示整体曲线,又可以保持曲线局部特性。最小二乘法原理是一种在多学科领域中获得广泛应用的数据处理方法,这里采用最小二乘法拟合生成三次B样条曲线来逼近焊缝横截面。基于检测曲线曲率的极值点来发现边缘关键点,满足了曲线拟合的实际需要,采用最小二乘拟合,强调了关键数据点的作用,既可保证曲线的光顺性,又可控制误差在要求的范围内,对V型坡口焊缝特征的提取提供了保证。
系统先对焊缝横截面的做了B样条拟合,并识别出该焊缝横截面对应的边缘点后,在此基础上,对不同焊缝横截面对应的边缘点再次进行B样条拟合,这样就获得了完整的焊缝边缘曲线。下面讨论对V型焊缝横截面数据的拟合处理。已知V型焊缝横截面数据点列{D
i}
i=1 n求一条三次准均匀B样条曲线P(t),使下式
达到最小,即需要解方程组
其中j=0,...,m-1,P
j是B样条曲线P(t)的第j个控制顶点,图4为Y=1656.6mm出的焊缝焊接面图,采用b样条拟合后,有效的抑制了数据的波动。
下面进一步分析曲线的拐点,即焊缝边缘关键点,首先对拟合曲线求取一阶导数,得到焊缝横截面曲线的一阶导数曲线,在对一阶导数曲线进行二次求导过程中,为了缩减计算量,加快运算速度,在保证边缘识别精度的前提下,采用了离散差分求导的方式,即X轴上每隔0.5mm抽取一阶导数曲线的值,前后两次值的差除以间隔长度作为该区间的二阶导数的近似值,绘制该离散差分二阶导数图。该离散差分导数图反映了焊缝曲线的“曲率”的变化情况,一般情况下边缘关键点是二阶导数值小于零导数零幅值较大的点,首先从离散差分二阶导数图分离出边缘存在可能点集,具体判断需结合。如下图所示点边缘点是导数图中导数值小于零且幅值较大的两个极值点A″,B″,由于在试验中采用的焊缝的底部较平坦,在导数图中导数值大于零且幅值较大的极值点C″,D″同时反应出焊缝曲线的底部特性。由于焊缝截面数据在利用前已经过滤波平滑等预处理,大多数情况下,根据拟合曲线的二阶离散导数的情况,即可识别出边缘关键点的分布,经实验测定该方法对于V型焊缝边缘点的识别是有效的,满足焊接生产的常规需要。
2.2.2.2平板搭接焊缝边缘识别
由于平板搭接焊缝边缘规则性较好,边缘识别采用的方法是分段直线拟合的方式,其原理与在波纹板曲线轨迹拟合处理类似,即也是计算数据的滑动方差值,找到边缘点,然后进行分段的线性拟合处理。
2.3焊缝关键特征的获取
对于V型焊缝,我们需要提取的是焊缝的宽度、深度和横截面积,焊缝宽度用两个边缘点的横坐标(即扫描轴)差来代替,如图5中焊缝的宽度为边缘点A,B的差320mm-190mm=130mm;焊缝深度用两个焊缝底部特征点C、D到边缘点AB所决定直线的距离均值来代替。焊缝横截面积获取有两种方式:一是采取的是对焊缝横截面分段积分的方法,并用梯形ABGF的面积减去该积分值;二是取两个临近采样点的均值,并与这两个点的采样间隔相乘,用小直方块的面积近似代替两个采样间隔内对应的面积值,并将这小面积元相加求和,用这个和作为焊缝横截面积的近似值。第一种方法得出的值精确度高,但较耗机时,运算量大,第二种方法得出的值精确度虽然不高,耗机时少,运算过程也较简单。如下图中阴影部分即为焊缝的横截面区域,采用第一种方式得出的焊缝横截面积为33.50mm2,采用第二种方式得出的焊缝横截面积为31.02mm2,实际中具体选用的方式应根据对焊缝横截面积的精度要求而定。
对于平板的搭接焊缝我们比较关注的是两板高度差h,由于激光传感器量测的正好是距离值,所以在边缘点识别出来后,只需要求取两边缘点的纵坐标之差即可,如图6中的边缘点G和H的纵坐标之差即为h。
3.对接焊缝中心识别与焊接轨迹控制
在获得焊缝的边缘点后,下面需要以此为基础来实现准确的焊缝中心识别与焊接轨迹控制。实际焊接轨迹控制在轨迹检测的同时实现运动控制过程中予以实现。本部分的主要任务是:一、获得实际生产需要的焊缝中心点,并对离散点进行B样得到焊缝中心轨迹曲线;二、对由曲线拟合算法获得的以B样条曲线形式表达的焊缝曲线进行轨迹插补。
3.1焊缝中心特征点的分离
这里仍以V型焊缝和平面搭接焊缝为主要的研究对象。
1.对于V型焊缝横截面,首先存在两个边缘点E1(X1,Y1),E2(X2,Y2),同时还存在焊缝最低点S(X,Y),将焊缝特征点列定义焊缝中心位置:
在上式中加大了对焊缝最低点S(X,Y)在焊缝中心位置定义CX中的比重,使焊枪处在一个更为均衡的位置,尽量消除焊缝坡口不规则的影响。
为了观察加大对焊缝最低点S(X,Y)在焊缝中心位置定义CX中的比重的意义,令
CY=Y
焊缝中心曲线在焊缝底部沿位置较低的区域分布,符合对实际焊缝中心的要求。
2.搭接焊缝
对于搭接焊缝,只要边缘点得出后,焊缝的特征已比较明显,以图7、8中的两条实线即为识别的上、下边缘数据点连线图,一般情况下我们只需关注下边缘即可满足焊接生产的要求,上边缘仅作参考,当上、下边缘水平位置偏离太大时,可取两者的均值作为新的焊接轨迹水平位置值。
3.2焊接轨迹运动控制
本系统通过X、Y两坐标轴联动,来实现平面曲线轨迹运动。
3.2.1准均匀B样条
在焊接加工过程中待加工的焊缝或焊缝横截面曲线一般是非封闭的曲线,如有的时候焊接任务要求焊接工件对接的某一段焊缝,这时采用准均匀B样条曲线表达式比较合适,这种情况下往往希望所拟合的焊缝曲线在给定点起始或者终止,或者具有确定的切线方向,亦即要求满足边界条件。准均匀B样条两端节点具有重复度k+1,所以准均匀B样条曲线通过多边形的首、末顶点并与首、末边相切。
三次准均匀B样条在端点应用重节点,基函数不再是一个统一的标准形式,相应地,各方程亦有所不同。根据实际焊缝数据点的分布规律,在此我们假设曲线段数≥5。
曲线的分段表达式如下
第三至n-3段(n为型值点数)曲线
i=3,4,…,n-3
(3-3)
则各段曲线的首点为
i=3,4,…,n-3(3-4)
第n-2段(倒数第二段)曲线
第n-1段(最后一段)曲线
最后一段曲线的末点为Pn=Vn+2
为简便计,记Pj(0)为Pj,可得
由式(2-1)可知,欲求顶点的数目为n+2,在方程组中的方程数仅为n。因此,需要补充两个适当的边界条件,才能使方程组有唯一解。实际应用中有多种边界条件可供选择,在此只介绍适合本课题应用的一种边界条件下的方程组,即节点矢量两端为四重节点且给定曲线两端端点。
两端取自由端条件时,方程组为
加上端点条件,其首端顶点V1=P1,末端顶点Vn+2=Pn,这样就可以求出全部的控制顶点。
3.2.2运动轨迹的动态拟合
传统B样条曲线拟合算法中,所有型值点必须一次性读入,然后反求控制点、进行插补运算,型值点数量若较大,则对硬件运算能力、数据处理能力要求越高,这种方式下显然不易满足实时性插补要求。如果分批读入型值点,相邻两条B样条曲线在衔接处连续性不能保证,本文所述的焊缝为平面上的一段开曲线,采用准均匀B样条插值计算曲线表达式比较合适,这种情况下希望所拟合的焊缝曲线在给定点起始或者终止。
在前节中已经介绍了三次准均匀B样条的分段表达式,这里假设段数≥5,根据准均匀B样条曲线段的表达式,绘制N≥5时B样条曲线的前三段,如图9所示。其中的一段和第二段对应准均匀B样条曲线的前两段曲线,到第三段已经与均匀B样条曲线的形状一样了。即重复度为4的端点,只对前端(或者后端)的两段曲线有影响。这使得准均匀B样条曲线通过首末端点。基于准均匀B样条的这一上述性质,在对焊接轨迹的在线拟合过程中,采用了分批重叠读入型值点(激光传感器的前置为这一操作提供了必要条件),并采用准均匀B样条拟合的方法得到分段B样条曲线,目的是在整个边检测边焊接进行过程中实现整体准均匀B样条的性质,焊缝曲线相当于预先获取了整个焊缝的所有型值点,再进行整体准均匀B样条拟合的效果。
首先读入从起始位置开始的六个型值点,则待拟合的曲线有五段,为了得到各段的表达式,需要得到V1,V2,V3,V4,V5,V6,V7,V8,即控制顶点,但我们通过超前的焊缝横截面扫描,得到的是焊缝曲线上点P1,P2,P3,P4,P5,P6,也就是型值点,这就需要紧接着反算控制顶点,这个过程称为B样条曲线的插值,亦称反算问题(如图10所示)。
假设焊缝曲线两端取自由端条件,根据控制顶点求解表达式,可求得V1,V3,…,V7,因为已知V1=P1及V8=P6,从而求得全部顶点。这样由准均匀B样条的性质可以得到中间一段的表达式为:
可知P3(u)属于均匀B样条曲线,是第三段轨迹拟合表达式,系统此时已经可以启动焊接,前两段轨迹的表达式3-1,3-2式所示。
此时保留控制顶点V1,V2,V3,V4,V5,V6,在焊接进行过程中分批读入六个型值点P5,P6,P7,P8,P9,P10,反求控制顶点,得到V5′,V6′,V7,V8,V9,V10,V11,V12,保留中间四个控制顶点,得到新的控制点列为V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,计算曲线的参数表达式。继续根据轨迹识别结果读入下六个型值点P9,P10,P11,P12,P13,P14,反求控制顶点……依次进行下去,待整个焊接过程结束,得到的是一条整体的准均匀B样条曲线,实现了轨迹检测与控制并行运行。为验证该算法的正确性,从y=100*cos(x)曲线上取了30个型值点:
表3-6从y=100*cos(x)曲线上取的30个型值点
所有型值点一次性读入,然后反求控制点,得到如图11的分段拟合曲线。
按照上述动态分批读入型值点的算法,逐次反求控制点,得到的分段拟合曲线如图12所示。
两次得到的曲线非常接近,在局部放大后,还是可以看到两者之间的差别,但这种差别对本文所述的焊接系统来说是完全可以忽略的。
≥对两次得到的控制点进行了比较,如下表所示:
表3-7两种方式下所得的控制点
为进一步观察分批读入型值点所拟合得到的曲线,将原型值点同时绘于图13中。
3.2.3运动轨迹插补
在前述应用B样条曲线拟合算法得到焊缝曲线的分段参数表达式为:
式中Bj,3(u)表示B样条基函数,Vj表示三次B样条曲线的控制顶点。P(u)为参数曲线上的一点;参数u∈[0,1],为无量纲常参数。因此对焊接轨迹的控制需要对式(9)表示的B样条曲线进行高速、高精度的插补计算。
本文所述系统采用的是恒速度进给插补算法,对于所述二维三次B样条曲线,恒速度进给插补算法是针对直角坐标系下的曲线进行插补的,控制顶点Vj也由X轴和Y轴两个坐标上的参数确定。将B样条曲线写成直角坐标分量的形式,曲线的表达形式如式()所示。
x(u)=a3u3+a2u2+a1u+a0
y(u)=b3u3+b2u2+b1u+b0
ai,bi(i=0,1,2,3)为常数,参数曲线插补的原理是通过合理选取参数u的增量Δu,进而求出下一插补点Pi+1的坐标值。因为每次求出Δu后都代入公式(3-12)中求插补点,所以插补点总在参数曲线上,插补算法没有位置误差积累。
为了提高参数曲线插补的速度稳定性,需要保证插补过程中进给弦长基本恒定,每个插补周期内增量Δu的值是实时变化的。一般情况下,不同的周期内Δu的取值不等,因此在每一个插补周期内都需要计算新的Δu的值。
恒速度进给插补算法以进给弦长为目标,采用参数化数据采样插补原理来实现插补过程,通过直接控制参数u的值,达到控制插补点坐标的目的,插补过程分为两步:分别是轨迹空间到参数空间的映射和参数空间到轨迹空间的逆映射。首先根据进给速度和插补周期来确定进给弦长f,然后计算参数u在一个周期内的增量Δu,求出ui+1,即完成第一步;将ui+1代入式(9)即可求解轨迹空间中下一点坐标Pi+1,完成第二步工作。
在参数空间,曲线轨迹参数u的插补计算可二阶泰勒级数展开,在轨迹空间,沿B样条曲线的进给速度v(t)的定义
可解得参数u对时间t的导数
ü并代入参数u的插补计算可二阶泰勒级数展开式,考虑到ΔL一般很小,当曲线的曲率不太大时,也可采用一阶泰勒级数近似计算,即
v(t)表示瞬时进给速度(单位mm/ms),T表示插补周期(单位ms)。在插补过程中需要实时计算|dP(u)/du|的值,计算公式如下:
其中,C4=9a3 2+9b3 2,C3=12(a2a3+b2b3),
C2=4a2 2+4b2 2+6a1a3+6b1b3,
C1=4a1a2+4b1b2,C0=a1 2+b1 2。
多项式系数C4、C3、C2、C1和C0的数值在每一段曲线上的值都分别是定值,因此可以在插补预处理阶段通过一次性计算预先求出,简化计算。
将f和|dp(u)/du|的值代入式错误!未找到引用源。)即可求出下一插补周期中Δu的值。计算ui+1=ui+Δu,然后将ui+1直接代入式()进行求解,得到下一点Pi+1的坐标值。
令ui=ui+1,重复上述步骤至终点就可以求出所有的插补点。