掌桥专利:专业的专利平台
掌桥专利
首页

一种飞机蒙皮喷涂轨迹规划方法

文献发布时间:2024-04-18 19:59:31


一种飞机蒙皮喷涂轨迹规划方法

技术领域

本发明属于飞机装配方法技术领域,尤其涉及一种飞机蒙皮喷涂轨迹规划方法。

背景技术

随着我国工业向自动化、智能化方向持续发展,工业机器人被广泛应用于汽车和航空制造领域。对于喷涂作业,目前很多制造厂还在使用人工方式,人工喷涂非常依赖施工者的技术经验和状态,很难保证涂层质量;另外,喷涂车间恶劣的空气环境也严重威胁着人体健康。

当使用喷涂机器人时,对于复杂曲面的工件,并没有现成的离线编程工具可供使用,很多时候只能依靠人工示教的方式生成喷涂轨迹。人工示教法是指由工人控制机器人末端进行手工喷涂作业,利用示教器记录下喷枪运动的路径,然后再通过示教器以及机器人控制器复现人工喷涂路径的过程。这种方法效率非常低,工件换个位置都需要重新示教,施工精度也低,严重依赖工人喷涂技术和控制机器人技术。另外,工人还需要频繁进入喷涂车间,危害健康。

对于大飞机的蒙皮等零件的喷涂,因为蒙皮很薄(2~5mm),吊装时很容易变形,即使已经按照蒙皮的原始数模进行了离线编程,也会因为蒙皮的变形而导致喷涂轨迹和实际位置产生偏差,影响喷涂质量。

另外,通常的离线编程过程,是根据STL数模,用平行于坐标轴的等距平面去切分蒙皮,进而产生喷涂轨迹。但实际上,因为吊装等原因,蒙皮的边缘并不平行于坐标轴,这就造成了喷涂轨迹和蒙皮边缘不平行,影响了喷涂效率和质量(如图1所示)。而且,因为蒙皮是曲面的,用等距平面去切分蒙皮,实际造成了喷涂轨迹实际的间距并不相等,从而影响了喷涂效果(如图2所示)。

发明内容

为了克服现有飞机蒙皮喷涂方法和离线编程方法存在的上述缺陷,本发明提出了一种新的飞机蒙皮喷涂轨迹规划方法。

术语解释

RANSAC算法:随机采样一致性算法(Random Sample Consenses),从一组符合模型参数的局内观测点出发,通过迭代估计的方式来拟合数学模型。

面轨迹:蒙皮表面的喷涂轨迹。

边缘轨迹:蒙皮边缘的喷涂轨迹。

蒙皮的包围盒:蒙皮的外接最小长方体,属性包括最小的x值(XMin),最大的x值(XMax),最小的y值(YMin)等。

具体地,本发明提供了一种飞机蒙皮喷涂轨迹规划方法,本方法包括:

S1.利用3D激光相机实时拍摄待喷涂的蒙皮,生成点云数据;

S2.处理并融合上步生成的点云数据,生成STL数模;

S3.基于上步生成的STL数模,离线编程软件通过在蒙皮包围盒的前YZ平面内规划基本轨迹点,然后将通过该点向蒙皮发出的X+方向的射线与蒙皮的交点作为实际的轨迹点,自动生成喷涂轨迹。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤S3中包括:

S31.先将蒙皮上边缘的点拟合为一条直线,并计算该直线的斜率,在后续步骤中利用此斜率调整各轨迹点;

S32.在蒙皮包围盒的中间点位置,计算蒙皮面轨迹在包围盒前YZ平面的步长标尺,在后续步骤中按照此步长标尺规划各条轨迹;

S33.基于蒙皮上边缘拟合直线的斜率和蒙皮包围盒前YZ平面的步长标尺,计算生成蒙皮的面轨迹,用于对蒙皮进行面喷涂;

S34.基于蒙皮上边缘拟合直线的斜率,计算生成蒙皮的边缘轨迹,用于对蒙皮边缘进行补充喷涂。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤S31中求蒙皮上边缘拟合直线斜率的方法如下:

S311.在蒙皮包围盒的前YZ平面内,从左上角开始先向右,再向下循环取一点,由此点发出X+方向的射线,如果该射线和蒙皮有交点,把交点加入到数组topline中,取到一行交点后,退出循环;

S312.去除数组topline的头部和尾部错误的点,得到yMid和zPadding;

S313.利用topline中的点通过RANSAC算法拟合出上边缘的直线,得到它的斜率slope;

S314.返回斜率slope;

其中:topline表示蒙皮上边缘点的数组,slope表示蒙皮上边缘拟合直线斜率,yMid表示蒙皮上边缘中点的y值,zPadding表示蒙皮包围盒的ZMax与上边缘中点的z值的差值。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤312中所述的数组topline的头部和尾部错误的点包括在蒙皮左边缘或右边缘上的点。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤S313中所述的蒙皮上边缘直线的斜率slope取该斜率的负值。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤S32中计算蒙皮面轨迹在包围盒前YZ平面的步长标尺的方法如下:

S321.在步骤S31中得到蒙皮上边缘中点的yMid值,以及蒙皮包围盒的ZMax与上边缘中点z值的差值zPadding;

S322.设置x为蒙皮包围盒的XMin,y设置为yMid,z设置为蒙皮包围盒的ZMax,x、y保持不变,z每次减1,循环从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点;

S323.找到第一个交点(x0,y0,z0)后,z=z–spacing,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d;循环z=z+(d-spacing)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和spacing之差在预设的阈值以内,把d保存到vSteps中,对于第一个d值,需要再加上zPadding;

S324.更新(x,y,z)到(x0,y0,z0)中,z=z–spacing,跳到步骤S323继续循环,直到z超出了蒙皮包围盒的ZMin,停止循环;

S325.返回vSteps;

其中:vSteps表示YZ平面的步长标尺,d表示蒙皮上两点间距离,spacing表示预先设置的轨迹间距。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤S33中计算生成蒙皮的面轨迹的方法如下:

S331.循环计数i=0,stepZ=蒙皮包围盒的ZMax-vSteps[i],direction=-1,x=蒙皮包围盒的Xmin;

S332.如果direction=-1,则y从蒙皮包围盒的YMax到YMin以步长-5mm循环,否则y从蒙皮包围盒的YMin到YMax以步长5mm循环,z根据y值和stepZ计算,公式如下:

if(y

z=stepZ+(yMid-y)*slope

else if(y>yMid)

z=stepZ-(y-yMid)*slope

else

z=stepZ

从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),加入到临时数组line中;

S333.精简临时数组line,使相邻两个点的距离为100mm,并计算出每个点在蒙皮上的法线方向;

S334.扩展临时数组line,在轨迹头部2个点的延长线100mm处添加喷涂开始点,150mm处添加喷涂接近点;在轨迹尾部2个点的延长线100mm处添加喷涂结束点,150mm处添加喷涂离开点;

S335.把临时数组line中的点加入到面轨迹tracLine中;

S336.当direction=direction*-1;循环计数i加1,如果没到vSteps结尾,stepZ=stepZ-vSteps[i],跳到步骤S332,否则跳出循环;

S337.返回面轨迹tracLine;

其中:stepZ表示每条轨迹的标准z值,direction表示轨迹方向,当direction为-1表示从左到右,当direction为1表示从右到左,tracLine表示面轨迹点数组,line表示临时轨迹点数组。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法步骤S34中计算生成蒙皮的边缘轨迹的方法如下:

S3401.开始生成上边缘轨迹,计算上边缘在蒙皮YZ平面内的实际边缘距离target,公式如下:

S3402.设置x=蒙皮包围盒的XMin,y从蒙皮包围盒的YMax到YMin以步长-10mm循环,z从蒙皮包围盒的ZMax开始以步长-2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,z=z–target,即向下移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d;循环z=z+(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在预设的阈值以内,把点(x2,y2,z2)加入到临时数组line中;

S3403.删除line的尾部100mm长度的点,精简临时数组line,使相邻两个点的距离为100mm,并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

S3404.开始生成右边缘轨迹,使target等于蒙皮YZ平面内右边缘的边缘距离,公式如下:

S3405.设置x=蒙皮包围盒的XMin,z从蒙皮包围盒的ZMax到ZMin以步长-10mm循环,y从蒙皮包围盒的YMin开始以步长2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,y=y+target,即向左移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d;循环y=y-(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在预设的阈值以内,把点(x2,y2,z2)加入到临时数组line中;

S3406.删除line的头部和尾部100mm长度的点,精简临时数组line,使相邻两个点的距离为100mm,并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

S3407.开始生成下边缘轨迹,计算下边缘在蒙皮YZ平面内的实际边缘距离target,计算公式同步骤S3401;

S3408.设置x=蒙皮包围盒的Xmin,y从蒙皮包围盒的YMin到YMax以步长10mm循环,z从蒙皮包围盒的ZMin开始以步长2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,z=z+target,即向上移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d;循环z=z-(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在预设的阈值以内,把点(x2,y2,z2)加入到临时数组line中;

S3409.删除line的头部和尾部100mm长度的点,精简临时数组line,使相邻两个点的距离为100mm,并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

S3410.开始生成左边缘轨迹,计算左边缘在蒙皮YZ平面内的实际边缘距离target,计算公式同步骤S3404;

S3411.设置x=蒙皮包围盒的XMin,z从蒙皮包围盒的ZMin到ZMax以步长10mm循环,y从蒙皮包围盒的YMax开始以步长-2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,y=y-target,即向右移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d;循环y=y+(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在预设的阈值以内,把点(x2,y2,z2)加入到临时数组line中;

S3412.删除line的头部100mm长度的点,精简临时数组line,使相邻两个点的距离为100mm,并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

S3413.扩展边缘轨迹数组tracVec,在轨迹头部2个点的延长线100mm处添加喷涂开始点,150mm处添加喷涂接近点;在轨迹尾部2个点的延长线100mm处添加喷涂结束点,150mm处添加喷涂离开点;

S3414.返回边缘轨迹tracVec;

其中:borderDist表示边缘轨迹距离边缘距离,target表示蒙皮YZ平面内实际边距,tracVec表示边缘轨迹点数组。

进一步地,本发明飞机蒙皮喷涂轨迹规划方法中最后形成的喷涂轨迹是由各轨迹点沿该点所在面的法线方向移动预先设定的喷涂距离后的点所组成的。

综上,本发明飞机蒙皮喷涂轨迹规划方法具有以下优点:

(1)利用本发明方法,无论蒙皮是否水平,基于蒙皮上边缘拟合的直线算出的斜率,都可以生成位置固定的面轨迹和边缘轨迹。

(2)利用本发明方法,无论蒙皮的表面曲率有多大,根据蒙皮包围盒的前YZ平面的步长标尺,都可以生成间距相等的面轨迹。

(3)与现有方法相比,本方法具有适用面广(适用于面积较大、上边缘在坐标平面的投影接近于直线的蒙皮表面喷涂)、计算效率高(有了面轨迹的步长标尺后,就不需要再计算每条轨迹的间距了)等优点。

附图说明

为了更清楚地说明现有技术和本发明实施例的技术方案,下面对现有技术和本发明实施例叙述中需要使用的附图作简要介绍,显而易见地,下述附图仅是本发明中记载的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有离线编程方法喷涂效果示意图,图中所示为喷涂轨迹和蒙皮边缘不平行(蒙皮的边缘并不平行于坐标轴)影响了喷涂质量。

图2为现有离线编程方法喷涂效果示意图,图中所示为用等距平面切分蒙皮,由于蒙皮是曲面的造成了喷涂轨迹实际的间距并不相等,影响了喷涂效果。

图3为按照本发明方法生成的蒙皮面轨迹和边缘轨迹示意图。

图4为本发明方法的整体架构示意图。

图5为本发明方法的实施流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本发明的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例,本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

同时,应理解,本发明的保护范围并不局限于下述特定的具体实施方案;还应当理解,本发明实施例中使用的术语是为了描述特定的具体实施方案,而不是为了限制本发明的保护范围。

实施例:一种飞机蒙皮喷涂轨迹规划方法

在本发明中,针对现有技术状况以及存在的问题,我们提出了用3D激光相机实时拍摄当前吊装的蒙皮,处理点云数据,然后生成STL格式的数模,在此数模的基础上自动生成喷涂轨迹的技术方案。

本发明方法的整体架构如图4所示,本发明方法得以实现的技术核心在于最后一个过程,即“基于点云生成的STL数模,离线编程软件自动生成喷涂轨迹”。

在本发明方法中,生成喷涂轨迹的基本过程是,通过在蒙皮包围盒的前平面(如图1所示的包围盒的前YZ平面)内规划基本轨迹点,然后通过该点向蒙皮发出的X+方向的射线与蒙皮的交点作为实际的轨迹点,最后形成的轨迹是由各轨迹点沿点所在面的法线方向移动一定距离(设定的喷涂距离)的点所组成的。

为了重点说明喷涂轨迹的生成方法,暂时忽略最后一步,用蒙皮上的点作为轨迹点。如图5所示,本方法包括以下步骤:

(一)首先,为了解决吊装蒙皮不水平的问题,先通过蒙皮上边缘的点拟合为一条直线,并计算该直线的斜率,后面的轨迹规划利用此斜率调整各轨迹点。

求蒙皮上边缘拟合直线斜率的方法如下:

定义:蒙皮上边缘点的数组topline,斜率slope,上边缘中点的y值yMid,蒙皮包围盒的ZMax与上边缘中点的z值的差值zPadding。

1.在蒙皮包围盒的前YZ平面内,从左上角开始先向右,再向下循环取一点,由此点发出X+方向的射线,如果该射线和蒙皮有交点,把交点加入到数组topline中,取到一行交点后,退出循环;

2.去除数组topline的头部和尾部错误的点(在蒙皮左边缘或右边缘上的点),得到yMid和zPadding;

3.利用topline中的点通过RANSAC算法拟合出上边缘的直线,得到它的斜率slope(因为机器人坐标系和标准坐标系不同,这里取斜率的负值);

4.返回斜率slope。

(二)其次,为了解决喷涂轨迹在蒙皮上间距不相等的问题,通过在蒙皮包围盒的中间点位置,做一条轨迹在包围盒前YZ平面的步长标尺(数组),之后就可以按照这个标尺直接规划各条轨迹。

求蒙皮面轨迹在YZ平面的步长标尺的方法如下:

定义:YZ平面的步长标尺(数组)vSteps,上边缘中点y值yMid,蒙皮包围盒的ZMax与上边缘中点z值的差值zPadding,预先设置的轨迹间距spacing=250mm,蒙皮上两点间距离d。

1.在算法(一)中,得到上边缘中点的yMid值,以及蒙皮包围盒的ZMax与上边缘中点z值的差值zPadding;

2.设置x为蒙皮包围盒的XMin,y设置为yMid,z设置为蒙皮包围盒的ZMax,x、y保持不变,z每次减1,循环从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点;

3.找到第一个交点(x0,y0,z0)后,z=z–spacing,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d。因为蒙皮是曲面的缘故,这个距离通常比spacing要大,所以需要循环z=z+(d-spacing)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和spacing之差在0.5mm(此阈值可修改)以内,把d保存到vSteps中,对于第一个d值,需要再加上zPadding;

4.更新(x,y,z)到(x0,y0,z0)中,z=z–spacing,跳到第3步继续循环,直到z超出了蒙皮包围盒的ZMin,停止循环;

5.返回vSteps。

(三)在得到蒙皮上边缘的斜率和YZ平面的步长标尺后,按照以下方法生成蒙皮的面轨迹:

定义:YZ平面的步长标尺(数组)vSteps,上边缘中点y值yMid,蒙皮上边缘斜率slope,每条轨迹的标准z值stepZ,轨迹方向direction(-1表示从左到右,1表示从右到左),面轨迹点数组tracLine,临时轨迹点数组line。

1.循环计数i=0,stepZ=蒙皮包围盒的ZMax-vSteps[i],direction=-1,x=蒙皮包围盒的Xmin;

2.如果direction=-1,则y从蒙皮包围盒的YMax到YMin以步长-5mm循环,否则y从蒙皮包围盒的YMin到YMax以步长5mm循环,z根据y值和stepZ计算,公式如下:

if(y

z=stepZ+(yMid-y)*slope

else if(y>yMid)

z=stepZ-(y-yMid)*slope

else

z=stepZ

从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),加入到临时数组line中;

3.精简临时数组line,使相邻两个点的距离大约100mm(可修改),并计算出每个点在蒙皮上的法线方向;

4.扩展临时数组line,在轨迹头部2个点的延长线100mm处添加喷涂开始点,150mm处添加喷涂接近点;在轨迹尾部2个点的延长线100mm处添加喷涂结束点,150mm处添加喷涂离开点;

5.把临时数组line中的点加入到面轨迹tracLine中;

6.direction=direction*-1;循环计数i加1,如果没到vSteps结尾,stepZ=stepZ-vSteps[i],跳到步骤2,否则跳出循环;

7.返回面轨迹tracLine。

(四)蒙皮经过面轨迹的喷涂后,还需要对边缘进行补充喷涂,蒙皮边缘轨迹的自动生成方法如下:

定义:蒙皮上边缘斜率slope,边缘轨迹距离边缘距离borderDist=100mm(可修改),蒙皮YZ平面内实际边距target,边缘轨迹点数组tracVec,临时轨迹点数组line。

1.开始生成上边缘轨迹,计算上边缘在蒙皮YZ平面内的实际边缘距离target,公式如下:

2.x=蒙皮包围盒的XMin,y从蒙皮包围盒的YMax到YMin以步长-10mm循环,z从蒙皮包围盒的ZMax开始以步长-2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,z=z–target,即向下移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d。因为蒙皮是曲面的缘故,这个距离通常比target要大,所以需要循环z=z+(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在0.5mm(此阈值可修改)以内,把点(x2,y2,z2)加入到临时数组line中;

3.删除line的尾部100mm长度的点,精简临时数组line,使相邻两个点的距离大约100mm(可修改),并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

4.开始生成右边缘轨迹,使target等于蒙皮YZ平面内右边缘的边缘距离,公式如下:

5.x=蒙皮包围盒的XMin,z从蒙皮包围盒的ZMax到ZMin以步长-10mm循环,y从蒙皮包围盒的YMin开始以步长2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,y=y+target,即向左移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d。因为蒙皮是曲面的缘故,这个距离通常比target要大,所以需要循环y=y-(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在0.5mm(此阈值可修改)以内,把点(x2,y2,z2)加入到临时数组line中;

6.删除line的头部和尾部100mm长度的点,精简临时数组line,使相邻两个点的距离大约100mm(可修改),并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

7.开始生成下边缘轨迹,计算下边缘在蒙皮YZ平面内的实际边缘距离target,计算公式同步骤1;

8.x=蒙皮包围盒的Xmin,y从蒙皮包围盒的YMin到YMax以步长10mm循环,z从蒙皮包围盒的ZMin开始以步长2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,z=z+target,即向上移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d。因为蒙皮是曲面的缘故,这个距离通常比target要大,所以需要循环z=z-(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在0.5mm(此阈值可修改)以内,把点(x2,y2,z2)加入到临时数组line中;

9.删除line的头部和尾部100mm长度的点,精简临时数组line,使相邻两个点的距离大约100mm(可修改),并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

10.开始生成左边缘轨迹,计算左边缘在蒙皮YZ平面内的实际边缘距离target,计算公式同步骤4;

11.x=蒙皮包围盒的XMin,z从蒙皮包围盒的ZMin到ZMax以步长10mm循环,y从蒙皮包围盒的YMax开始以步长-2mm循环,从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点,有了第一个交点(x0,y0,z0)后,y=y-target,即向右移动target距离,从点(x,y,z)再发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),然后求点(x0,y0,z0)和点(x2,y2,z2)的距离d。因为蒙皮是曲面的缘故,这个距离通常比target要大,所以需要循环y=y+(d-target)/2,再从点(x,y,z)发出X+方向的射线,找到和蒙皮的交点(x2,y2,z2),继续求点(x0,y0,z0)和点(x2,y2,z2)的距离d,直到d和target差在0.5mm(此阈值可修改)以内,把点(x2,y2,z2)加入到临时数组line中;

12.删除line的头部100mm长度的点,精简临时数组line,使相邻两个点的距离大约100mm(可修改),并计算出每个点在蒙皮上的法线方向,把line中的点加入到边缘轨迹点数组tracVec中,清空line;

13.扩展边缘轨迹数组tracVec,在轨迹头部2个点的延长线100mm处添加喷涂开始点,150mm处添加喷涂接近点;在轨迹尾部2个点的延长线100mm处添加喷涂结束点,150mm处添加喷涂离开点;

14.最后返回边缘轨迹tracVec。

按照上述方法生成的蒙皮面轨迹和边缘轨迹,如图3所示。

以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰获得等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均应包含在本发明的权利要求保护范围之内。

技术分类

06120116523844