CN1920715A - 一种用于自动钻铆托架变形的修补数据处理方法 - Google Patents

一种用于自动钻铆托架变形的修补数据处理方法 Download PDF

Info

Publication number
CN1920715A
CN1920715A CN 200610043191 CN200610043191A CN1920715A CN 1920715 A CN1920715 A CN 1920715A CN 200610043191 CN200610043191 CN 200610043191 CN 200610043191 A CN200610043191 A CN 200610043191A CN 1920715 A CN1920715 A CN 1920715A
Authority
CN
China
Prior art keywords
deformation
carriage
coordinate
bracket
deadweight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN 200610043191
Other languages
English (en)
Other versions
CN100437601C (zh
Inventor
孙太山
冯潼能
费璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xi'an aircraft, international aviation manufacturing, Limited by Share Ltd, Xi'an aircraft branch
Original Assignee
Xian Aircraft Industry Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aircraft Industry Group Co Ltd filed Critical Xian Aircraft Industry Group Co Ltd
Priority to CNB2006100431915A priority Critical patent/CN100437601C/zh
Publication of CN1920715A publication Critical patent/CN1920715A/zh
Application granted granted Critical
Publication of CN100437601C publication Critical patent/CN100437601C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)

Abstract

本发明公开了一种用于自动钻铆托架变形修补数据处理方法,该方法在c型自动钻铆托架上对装夹在壁板上的铆接工件的变形及坐标偏移进行实时修正补偿,该自动钻铆托架自重大,跨距长,托架以及工件自重引起的变形量也很大(垂直于托架中心平面方向),且有两个独立角度的转动,变形量由于托架姿态不同而动态变化,变形偏差会直接导致壁板铆接加工超差。这种变形修补数据处理技术的目的是对托架建立变形模型,采用数值方法,使得加载于托架上的工件(要自动铆接的飞机壁板类零件)的位置点在运动过程中形成精确控制,控制工件上的铆接点的位置参数和法矢量参数,以达到铆接产品的精度要求。实验结果及实际加工验证了该技术方法的可行性和正确性。

Description

一种用于自动钻铆托架变形的修补数据处理方法
                        技术领域
本发明属于数字化编程控制加工领域,涉及工装加工基准动态变化的补偿修补数据处理,特别是一种用于自动钻铆托架变形的修补数据处理方法。
                        背景技术
随着数控加工及数字化装配技术的发展及普及,在飞机制造业中,装配连接质量直接影响飞机结构抗疲劳性能与可靠性,高性能航空器连接结构必须采用先进的连接技术,如先进的机械连接技术、先进焊接技术、胶接技术等。目前国外在装配连接技术上使用了激光辅助定位、计算机辅助光学经纬仪***进行装配对接、应用计算机辅助钻削***并采用机器人化的装配单元大大提高飞机结构抗疲劳性能,减少了操作人员数目,延长飞机的使用寿命。自动钻铆技术是主要的先进连接技术发展方向。要进行数字控制钻铆机自动钻铆,壁板计算机理论模型和装夹在托架上的铆接工件之间必须建立精确映像。拖架自重及载荷变化、A角及B角转动对变形量的影响,必须有所考虑。变形量及坐标偏移,需进行实时修正补偿,使得计算机理论模型和装夹在壁板上的铆接工件在机床加工坐标系内一致对应。将对托架变形量及其与理论值的实际偏差进行在线实时修补,以达到近似精确定位及法向姿态控制的目的。
国内外飞机制造行业对壁板类零件的自动铆接,对于C型自动钻铆***如美国的杰姆克(GEMCOR)公司,德国的保杰(BRODJIE)公司,均采用目前最流行的长桁***及法向传感器技术(有些还附加数字照相修正技术),以弥补精度偏差。对于托架的自重变形,在托架制造过程中采用预拱方法如保杰(BRODJIE公司),但这样处理还不能精确控制变形量的影响,不能完全达到数控编程,自动铆接的目的,还需采用传感器技术进行位置和法矢量的校核修正。国内目前大部分采用手工或电动半自动铆接,对托架的变形的没有控制,完全是靠人工进行调平和定位。要达到数控程编,完全进行数字化自动铆接,对托架变形量进行动态计算并实时修补是该技术领域的难点之一
                        发明内容
本发明的目的在于,提供一种用于自动钻铆托架变形修补数据处理方法。
为了实现上述任务,本发明采取如下的技术解决方案:
一种用于自动钻铆托架变形修补数据处理方法,其特征在于,该方法在c型自动钻铆托架上对装夹在壁板上的铆接工件的变形及坐标偏移进行实时修正补偿,包括以下步骤:
1)基线标示及测量
托架制造时,在托架水平状态下,在托架沿托架长度方向上的内外各标画出和A角转动中心线平行的直线,直线上标画一些点作为拖架自重变形基准线控制节点;
自重变形曲线数据测量在A、B角为零的状态下,没有安装铆接工件和工装夹具时,测量给出测量托架上标画的两条基线控制点坐标;
加载铆接工件及夹具以后变形曲线数据测量,在A、B角为零状态,并安装铆接工件和工装夹具情况下,测量给出测量托架上标画的两条基线控制点坐标;
据测量的基线控制点坐标,建立两条自重状态、两条加载铆接工件和工装夹具的载荷状态共4条变形控制曲线;
2)根据基线数据变化规律,建立变形模型
根据步骤1)的控制曲线,建立变形模型的两张变形曲面,其中一张为自重状态,另一张为加载工件及夹具状态,形成随托架姿态变化的变形量包络区间;
3)根据变形模型,对理论模型进行修正
差补变形修正计算以前,必须使变形测量坐标和工件模型坐标,理论模型的坐标***齐平,即基准对齐;拖架在载荷分布确定以后,托架姿态的变化,相当于托架水平状态载荷的均匀增减或减少,托架垂直方向变形量与具有相同分布的载荷大小成线性变化;
计算数值包括:铆接点的理论坐标(X,Y,Z),法向量(Nx,Ny,Nz);
计算步骤:
①在自重变形曲面上,计算(X,Y)位置的Z向自重变形量V1;
②在载荷的变形测量曲面上,计算(X,Y)位置的变形量V2;
③以理论铆接点的理论法线,计算一个托架运动A,B角度;
④按线性规律,计算载荷W*COS(A)*COS(B)情况下的(X,Y)位置的变形量V3;
⑤对理论点位置坐标进行修补形成变形后的位置坐标(X,Y,Z’);
⑥在理论模型曲面上,(X,Y)位置找临近三点,形成三角平面片,计算三点的变形坐标;
⑦利用(X,Y,Z’)及(NX’NY’NZ’)修改APT文件,经后置处理后形成控制拖架运动指令,控制c型自动钻铆托架运动到实际工件上的任意点及其法向姿态,达到在铆接中动态修补控制。
本发明的c型自动钻铆托架变形修补数据处理方法,采用托架变形修补数据处理技术以后,利用西飞公司引进的G4026SXX-120全自动钻铆***,达到了对CATIA V5***上的壁板理论模型进行数控程编,壁板类零件数字化自动铆接的目标。实验结果及实际加工验证了该技术方法的可行性和正确性,其位置精度及法向精度满足ARJ飞机机翼壁板产品的精度要求。
                        附图说明
图1是理论测量基线标示及A角示意图;
图2是测量基线因自重或加载工件重量变为曲线的示意图;
图3是B角示意图;其中O表示托架形成A角和B角时结构上的转动交点;
图4是自重状态两条基线形成的变形曲面;
图5是加载工件状态两条基线形成的变形曲面;
图6是两对变形基线形成变形曲面包络区;
图7是数据处理流程集成图;
图8是方法流程图;
图9是上后壁板铆钉长度参数区域划分部署图;
图10是上后壁板数控铆接模拟图;
图11是原始APT文件;
图12是变形处理后APT文件;
图13是经变形修补数据处理技术后,自动铆接完成后的上后壁板图片;
以下结合发明人给出的具体实施例对本发明作进一步的详细说明。
                        具体实施方式
参见附图1、2,假定理论位置矢量坐标为P,法向为V。板装夹基准、测量数据基准、机床结构交点以及机床坐标***整和变换为Ω,A角变换为χ,B角变换为
Figure A20061004319100071
,变形处理变换为K,SIMMENS***指令转换变换为,P'为(P,V)的最终控制映像结果,则:
最终处理变换为:
Figure A20061004319100072
考虑工件加工容差,要进行数字控制钻铆机自动钻铆,计算机理论模型和装夹在壁板上的铆接工件(板壁)之间必须建立精确映像。为了建立这种精确映像,拖架自重及载荷变形、A角及B角转动对变形的影响,对理论坐标造成的偏移等因素必须有所考虑。对变形及坐标偏移,需进行实时修正补偿,使得计算机理论模型和装夹在壁板上的铆接工件(板壁在机床加工坐标系内)一致对应。
1)基线标示及测量
托架制造时,在托架水平状态下,在托架上标画出两条(沿托架长度方向,内外各一)和A角理论转动中心线平行的一条直线上标画一些点。作为变形基准线控制节点(拖架自重变形)这两条直线在理论上是水平的,但在托架安装或安装工装工件后或有变形,成为曲线。(如图1,图2所示)其中Y向表示机床坐标***的Y坐标方向,Y向表示机床坐标***的Y坐标方向,Z向表示机床坐标***的Z坐标方向;A角转动中心线是托架绕之转动的轴线,在水平状态下与X向平行。O表示托架形成A角和B角时结构上的转动交点。B角如图3所示
●自重变形曲线数据测量,在A、B角为零的状态下,没有安装工装工件时,测量给出:托架上标画的两条基线控制点坐标;如图4所示
●加载工件及夹具以后变形曲线数据测量,在A、B角为零(水平)状态,并安装工装工件情况下,测量给出:托架上标画的两条基线控制点坐标;如图5所示
●根据测量的基线控制点坐标,建立4条变形控制曲线(两条自重状态,两条加载工件及夹具状态)如图4,图5所示
2)根据两对变形测量基线,建立变形模型的两张变形曲面(一张自重状态,一张加载工件及夹具状态),形成随托架姿态变化的变形量包络区间;如图6所示
3)根据变形模型,对理论模型进行修正
差补变形修正计算以前,必须使变形测量坐标和工件模型坐标,理论模型的坐标***齐平(基准对齐)。拖架在载荷分布确定以后,托架姿态的变化,相当于托架水平状态载荷的均匀增减或减少。托架垂直方向变形量与具有相同分布的载荷大小成线性变化。
数值计算方法
所需数据:
工件及工装理论载荷W
铆接点的理论坐标  (X,Y,Z)
法向量为          (Nx,Ny,Nz)
变形模型          (如图4,5,6所示)
计算:
1.在自重变形曲面上,计算(X,Y)位置的Z向自重变形量V1;
2.在载荷W(有工装及工件)变形测量曲面上,计算(X,Y)位置的变形量V2;
3.以理论铆接点的理论法线,结合机床运动结构,计算一个托架运动A,B角度(初始法向调平);
4.按线性规律,计算载荷为W*COS(A)*COS(B)情况下的(X,Y)位置的变形量V3;
5.对理论点位置坐标进行修补形成变形后的位置坐标(X,Y,Z’);
6.在理论模型曲面上,(X,Y)位置找临近三点,形成三角平面片,计算三点的变形坐标,利用三点变形坐标的平面法向,作为理论变形法向(NX’,NY,’NZ’)(形成逼近调平法矢量);
7.利用(X,Y,Z’)及(NX’,NY’,NZ’)修改APT文件,经后置处理后形成控制拖架运动指令,达到在铆接中动态修补控制。ATP文件处理前后如图11、图12所示,其中:
GOTO表示刀具所到达位置及姿态,前2个数值为位置矢量,后三个数值为法向矢量坐标值,红线标出了其中变形处理前后其数值的变化情况。其他的APT指令与本发明数据处理关系不大,不再详述。
开发环境、开发工具及部分程序
本程序是在CATIA V5环境下,采用CATIA V5的CAA二次开发技术、VB、VBSCRIPT,DEPHI,MACRO等编程开发工具,设计了符合托架变形的数学模型需要的数据处理软件和数控后置处理程序,其数据处理集成图及方法流程图参见图7和图8。下边是部分程序代码:procedure TForm1.bxClick(Sender:TObject);type Tcood=array[0..1]of string;varinstr,outstr,sepchar,datas,x,y,z,dx,dy,dz,zp:string;mask1:Tmask;catiadoc,op,ep,part1,hybridShapeFactory1,PointCoord1_f,refpoint1_f,bxm_f,hybridBody1,hybridBody2,op_ref_b,op_ref_e:OleVariant;op_e,bxjd_f,l1,bxm,bxjd,selection,params,PointCoord1,refpoint1,PointCoord2,refpoint2:OleVariant;dirline,cood,Parameters1,bxname,hybridBody3,fs_bx_op,bxv,fsbxname,fsbxv,bx_op,fs_bx_line,fs_pb_ref,fs_pe_ref,fs_pb,fs_pe,fs_bxjd:Variant;
zb:string;
i:integer;
fsbx,bx,fx,fy,fz,f_bx,fze,l,z_0:real;
begin
sepchar:=’,’;
reset(inputfile);
rewrite(outfile);mask1:=tmask.Create(’GOTO/*’);
   CATIA.Visible:=True;catiadoc:=CATIA.ActiveDocument;part1:=catiadoc.Part;hybridShapeFactory1:=part1.HybridShapeFactory;hybridBody1:=part1.HybridBodies.add;hybridBody1.Name:=’铆点和变形点’;hybridBody2:=part1.FindObjectByName(’自重变形曲面模型’);bxm:=hybridBody2.HybridShapes.item(’自重变形曲面’);hybridBody3:=part1.FindObjectByName(’负载变形曲面模型’);bxm_f:=hybridBody3.HybridShapes.item(’负载变形曲面’);//========初始(0,0,0)Z变形
        x:=floattostr(0);
        y:=floattostr(0);
        z:=floattostr(0);
        dx:=floattostr(0);
        dy:=floattostr(0);
        dz:=floattostr(0);
       //变形处理//铆点变形处理op:=hybridShapeFactory1.AddNewPointCoord(x,y,z);op.name:=’0点’;hybridBody1.AppendHybridShape(op);part1.UpdateObject(hybridBody1);op_ref_b:=part1.CreateReferenceFromObject(op);zp:=FloatToStr(strtoFloat(z)-10000);op_e:=hybridShapeFactory1.AddNewPointCoord(x,y,zp);op_ref_e:=part1.CreateReferenceFromObject(op_e)l1:=hybridShapeFactory1.AddNewLinePtPt(op_ref_b,op_ref_e);//hybridBody1.AppendHybridShape(l1);//part1.UpdateObject(hybridBody1);bxjd:=hybridShapeFactory1.AddNewIntersection(l1,bxm);hybridBody1.AppendHybridShape(bxjd);bxjd_f:=hybridShapeFactory1.AddNewIntersection(l1,bxm_f);hybridBody1.AppendHybridShape(bxjd_f);part1.UpdateObject(hybridBody1);PointCoord1:=hybridShapeFactory1.AddNewPointCoord(0.000000,0.000000,0.000000);refpoint1:=part1.CreateReferenceFromObject(bxjd);PointCoord1.PtRef:=refpoint1;hybridBody1.AppendHybridShape(PointCoord1);PointCoord1_f:=hybridShapeFactory1.AddNewPointCoord(0.000000,0.000000,0.000000);
refpoint1_f:=part1.CreateReferenceFromObject(bxjd_f);
PointCoord1_f.PtRef:=refpoint1_f;
hybridBody1.AppendHybridShape(PointCoord1_f);
//铆点变形处理
//法矢修正
fx:=strtoFloat(x)+strtoFloat(dx)*l;
fy:=strtoFloat(y)+strtoFloat(dy)*l;
fz:=strtoFloat(z)+strtoFloat(dz)*l;
fs_pb:=hybridShapeFactory1.AddNewPointCoord(fx,fy,fz);
//hybridBody1.AppendHybridShape(fs_pb);
//part1.UpdateObject(hybridBody1);
fs_pb_ref:=part1.CreateReferenceFromObject(fs_pb);
fze:=fz-10000;
fs_pe:=hybridShapeFactory1.AddNewPointCoord(fx,fy,fze);
fs_pe_ref:=part1.CreateReferenceFromObject(fs_pe);
fs_bx_line:=hybridShapeFactory1.AddNewLinePtPt(fs_pb_ref,fs_pe_ref);
fs_bxjd:=hybridShapeFactory1.AddNewIntersection(fs_bx_line,bxm);hybridBody1.AppendHybridShape(fs_bxjd);part1.UpdateObject(hybridBody1) c型自动钻铆PointCoord2:=hybridShapeFactory1.AddNewPointCoord(0.000000,
0.000000,0.000000);
refpoint2:=part1.CreateReferenceFromObject(fs_bxjd);
PointCoord2.PtRef:=refpoint2;
hybridBody1.AppendHybridShape(PointCoord2);
//法矢修正
//cood:=VarArrayCreate([0,2],varVariant);
params:=VarArrayCreate([0,5],varVariant);
params[0]:=x;
params[1]:=y;
params[2]:=z;
params[3]:=dx;
params[4]:=dy;
params[5]:=dz;
//PointCoord1.GetCoordinates(cood);
part1.UpdateObject(hybridBody1);
selection:=catiadoc.Selection;
selection.clear;
selection.add(PointCoord1);
selection.add(op);
selection.add(PointCoord2);
selection.add(PointCoord1_f);
//selection.Item(1).value.GetCoordinates(cood);
//CATIA.SystemService.Evaluate(’Sub CATMain(f,v)\ndimcood1(2)\nselection.Item(1).value.GetCoordinates(cood1)\nEnd Sub’,CATVBScriptLanguage,’CATMain’,cood);
//CATIA.SystemService.Evaluate(’Sub CATMain(f,v)\nEnd Sub’,CATVBScriptLanguage,’CATMain’,cood);
CATIA.SystemService.ExecuteScript(’c:\’,catScriptLibraryTypeDirectory,’getz3.CATScript’,’CATMain’,params);
Parameters1:=part1.Parameters.SubList(op,True);
bxname:=op.Name+’_Z修正’;
bxv:=Parameters1.item(bxname).value;
bx:=bxv*1.00000;
//zb:=cood[0];
memo2.Lines.Append(floattostr(bx));
z:=floattostr(StrToFloat(z)+bx);
bx_op:=hybridShapeFactory1.AddNewPointCoord(x,y,z);
bx_op.name:=’修正0点’;
hybridBody1.AppendHybridShape(bx_op);
//
//变形处理
z_0:=bx;
//========初始(0,0,0)Z变形
i:=0;
l:=200;
repeatbeginreadln(inputfile,instr);if mask1.Matches(instr) thenbegini:=i+1;datas:=RegulateStr(copy(instr,8,length(instr)-7),sepchar);//x:=copy(datas,1,pos(sepchar,datas)-1);x:=GetSubStr(datas,sepchar);y:=GetSubStr(datas,sepchar);z:=GetSubStr(datas,sepchar);dx:=GetSubStr(datas,sepchar);dy:=GetSubStr(datas,sepchar);dz:=GetSubStr(datas,sepchar);//变形处理//铆点变形处理op:=hybridShapeFactory1.AddNewPointCoord(x,y,z);op.name:=’理论铆点’+inttostr(i);hybridBody1.AppendHybridShape(op);part1.UpdateObject(hybridBody1);op_ref_b:=part1.CreateReferenceFromObject(op);zp:=FloatToStr(strtoFloat(z)-10000);op_e:=hybridShapeFactory1.AddNewPointCoord(x,y,zp);op_ref_e:=part1.CreateReferenceFromObject(op_e);
l1:=hybridShapeFactory1.AddNewLinePtPt(op_ref_b,op_ref_e);
//hybridBody1.AppendHybridShape(l1);
//part1.UpdateObject(hybridBody1);
bxjd:=hybridShapeFactory1.AddNewIntersection(l1,bxm);
hybridBody1.AppendHybridShape(bxjd);
jd_f:=hybridShapeFactory1.AddNewIntersection(l1,bxm_f);
hybridBody1.AppendHybridShape(bxjd_f);
part1.UpdateObject(hybridBody1);
PointCoord1:=hybridShapeFactory1.AddNewPointCoord(0.000000,0.000000,0.000000);
refpoint1:=part1.CreateReferenceFromObject(bxjd);
PointCoord1.PtRef:=refpoint1;
hybridBody1.AppendHybridShape(PointCoord1);
PointCoord1_f:=hybridShapeFactory1.AddNewPointCoord(0.000000,0.000000,0.000000);
refpoint1_f:=part1.CreateReferenceFromObject(bxjd_f);
PointCoord1_f.PtRef:=refpoint1_f;
hybridBody1.AppendHybridShape(PointCoord1_f);
//铆点变形处理
//法矢修正
fx:=strtoFloat(x)+strtoFloat(dx)*l;
fy:=strtoFloat(y)+strtoFloat(dy)*l;
fz:=strtoFloat(z)+strtoFloat(dz)*l;
fs_pb:=hybridShapeFactory1.AddNewPointCoord(fx,fy,fz);
//hybridBody1.AppendHybridShape(fs_pb);
//part1.UpdateObject(hybridBody1);
fs_pb_ref:=part1.CreateReferenceFromObject(fs_pb);
fze:=fz-10000;
fs_pe:=hybridShapeFactory1.AddNewPointCoord(fx,fy,fze);
fs_pe_ref:=part1.CreateReferenceFromObject(fs_pe);
fs_bx_line:=hybridShapeFactory1.AddNewLinePtPt(fs_pb_ref,fs_pe_ref);
fs_bxjd:=hybridShapeFactory1.AddNewIntersection(fs_bx_line,bxm);
hybridBody1.AppendHybridShape(fs_bxjd);
part1.UpdateObject(hybridBody1);
PointCoord2:=hybridShapeFactory1.AddNewPointCoord(0.000000,0.000000,0.000000);
refpoint2:=part1.CreateReferenceFromObject(fs_bxjd);
PointCoord2.PtRef:=refpoint2;
hybridBody1.AppendHybridShape(PointCoord2);
//法矢修正
//cood:=VarArrayCreate([0,2],varVariant);
params:=VarArrayCreate([0,5],varVariant);
params[0]:=x;
params[1]:=y;
params[2]:=z;
params[3]:=dx;
params[4]:=dy;
params[5]:=dz;
//PointCoord1.GetCoordinates(cood);
part1.UpdateObject(hybridBody1);
selection:=catiadoc.Selection;
selection.clear;
selection.add(PointCoord1);
selection.add(op);
selection.add(PointCoord2);
selection.add(PointCoord1_f);
//selection.Item(1).value.GetCoordinates(cood);
//CATIA.SystemService.Evaluate(’Sub CATMain(f,v)\ndimcood1(2)\nselection.Item(1).value.GetCoordinates(cood1)\nEnd Sub’,CATVBScriptLanguage,’CATMain’,cood);
//CATIA.SystemService.Evaluate(’Sub CATMain(f,v)\nEnd Sub’,CATVBScriptLanguage,’CATMain’,cood);
CATIA.SystemService.ExecuteScript(’c:\’,catScriptLibraryTypeDirectory,’getz3.CATScript’,’CATMain’,params);
Parameters1:=part1.Parameters.SubList(op,True);
bxname:=op.Name+’_Z修正’;
bxv:=Parameters1.item(bxname).value;
bx:=(bxv-z_0)*0.5*abs(StrToFloat(dz))*(StrToFloat(dz)*StrToFloat(dz)+StrToFloat(dy)*StrToFloat(dy));
Parameters1.item(bxname).value:=floattostr(bx);
//法矢端点_Z修正
fsbxname:=op.Name+’_法矢Z修正’;
fsbxv:=Parameters1.item(fsbxname).value;
fsbx:=fsbxv*abs(StrToFloat(dz))*(StrToFloat(dz)*StrToFloat(dz)+StrToFloat(dy)*StrToFloat(dy));
Parameters1.item(fsbxname).value:=floattostr(fsbx);
//法矢端点_Z修正
//zb:=cood[0];
memo2.Lines.Append(floattostr(bx));
z:=floattostr(StrToFloat(z)+bx);
bx_op:=hybridShapeFactory1.AddNewPointCoord(x,y,z);
bx_op.name:=’修正铆点’+inttostr(i);
hybridBody1.AppendHybridShape(bx_op);
//
//法矢修正
fz:=fz+fsbx;
fs_bx_op:=hybridShapeFactory1.AddNewPointCoord(fx,fy,fz);
dirline:=hybridShapeFactory1.AddNewLinePtPt(bx_op,fs_bx_op);
hybridBody1.AppendHybridShape(dirline);
//法矢修正
//变形处理
outstr:=’GOTO/’+x+’,’+y+’,’+z+’,’+dx+’,’+dy+’,’+dz;
//memol.Lines.Append(y);
end
else
outstr:=instr;
writeln(outfile,outstr);
memol.Lines.Append(outstr);
end;
until eof(inputfile);
closefile(outfile);
end;
具体应用实例:
本发明的自动钻铆托架变形修补数据处理方法运用在G4026SXX-120全自动钻铆***,直接在CATIA V5***上建立工件数模,进行铆钉工艺分布,加工编程,经过试验证明已经达到全自动数控铆接的目标,其位置精度及法向精度满足ARJ飞机机翼壁板产品的精度要求。下列一组图片为ARJ飞机机翼壁板的经变形修补技术数据处理后,自动铆接加工的实例图片参见图9,图10,图13(最大产品上后壁板长度接近13米,下后壁板是双曲曲率最大的工件)。

Claims (1)

1.一种用于自动钻铆托架变形修补数据处理方法,其特征在于,该方法在c型自动钻铆托架上对装夹在壁板上的铆接工件的变形及坐标偏移进行实时修正补偿,包括以下步骤:
1)基线标示及测量
托架制造时,在托架水平状态下,在托架沿托架长度方向上的内外各标画出和A角理论转动中心线平行的直线,直线上标画一些点作为拖架自重变形基准线控制节点;
自重变形曲线数据测量在A、B角为零的状态下,没有安装铆接工件和工装夹具时,测量给出测量托架上标画的两条基线控制点坐标;
加载铆接工件及夹具以后变形曲线数据测量,在A、B角为零状态,并安装铆接工件和工装夹具情况下,测量给出测量托架上标画的两条基线控制点坐标;
据测量的基线控制点坐标,建立两条自重状态、两条加载铆接工件和工装夹具的载荷状态共4条变形控制曲线;
2)根据基线数据变化规律,建立变形模型
根据步骤1)的变形控制曲线,建立变形模型的两张变形曲面,其中一张为自重状态,另一张为加载工件及夹具状态,形成随托架姿态变化的变形量包络区间;
3)根据变形模型,对理论模型进行修正
差补变形修正计算以前,必须使变形测量坐标和工件模型坐标,理论模型的坐标***齐平,即基准对齐;拖架在载荷分布确定以后,托架姿态的变化,相当于托架水平状态载荷的均匀增减或减少,托架垂直方向变形量与具有相同分布的载荷大小成线性变化;
数值计算包括:铆接点的理论坐标(X,Y,Z),法向量(Nx,Ny,Nz);
计算数据:
①在自重变形曲面上,计算(X,Y)位置的Z向自重变形量V1;
②在载荷的变形测量曲面上,计算(X,Y)位置的变形量V2;
③以理论铆接点的理论法线,计算一个托架运动A,B角度;
④按线性规律,计算载荷W*COS(A)*COS(B)情况下的(X,Y)位置的变形量V3;
⑤对理论点位置坐标进行修补形成变形后的位置坐标(X,Y,Z’);
⑥在理论模型曲面上,(X,Y)位置找临近三点,形成三角平面片,计算三点的变形坐标;
⑦利用(X,Y,Z’)及(NX’NY’NZ’)修改APT文件,经后置处理后形成控制拖架运动指令,控制c型自动钻铆托架运动到实际工件上的任意点及其法向姿态,达到在铆接中动态修补控制。
CNB2006100431915A 2006-07-24 2006-07-24 一种用于自动钻铆托架变形的修补数据处理方法 Active CN100437601C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100431915A CN100437601C (zh) 2006-07-24 2006-07-24 一种用于自动钻铆托架变形的修补数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100431915A CN100437601C (zh) 2006-07-24 2006-07-24 一种用于自动钻铆托架变形的修补数据处理方法

Publications (2)

Publication Number Publication Date
CN1920715A true CN1920715A (zh) 2007-02-28
CN100437601C CN100437601C (zh) 2008-11-26

Family

ID=37778454

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100431915A Active CN100437601C (zh) 2006-07-24 2006-07-24 一种用于自动钻铆托架变形的修补数据处理方法

Country Status (1)

Country Link
CN (1) CN100437601C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819413A (zh) * 2010-03-25 2010-09-01 中国人民解放军国防科学技术大学 大质量构件变半径俯仰运动的控制方法和装置
CN102081375A (zh) * 2010-12-21 2011-06-01 南京数控机床有限公司 一种数控机床的自动跟随加工方法
CN102566439A (zh) * 2011-12-27 2012-07-11 中航沈飞民用飞机有限责任公司 一种用于数控托架的空间定位计算方法
CN102744424A (zh) * 2012-07-30 2012-10-24 中国人民解放军国防科学技术大学 可用于薄板类光学零件的单点金刚石补偿式切削加工方法
CN105182799A (zh) * 2015-09-24 2015-12-23 成都飞机工业(集团)有限责任公司 一种飞机薄壁曲面蒙皮自动钻铆的编程方法
CN105798706A (zh) * 2016-02-24 2016-07-27 浙江大学 一种用于飞机壁板卧式自动钻铆机的末端精度重力补偿方法
CN106767397A (zh) * 2016-11-21 2017-05-31 上海航天精密机械研究所 自动钻铆加工数据偏差测量及补偿方法
CN107138762A (zh) * 2017-06-19 2017-09-08 湖北三江航天红阳机电有限公司 一种大型球壳体开多孔加工方法及***
CN108351634A (zh) * 2015-11-16 2018-07-31 株式会社牧野铣床制作所 刀具路径生成方法
CN108856626A (zh) * 2018-06-01 2018-11-23 上海拓璞数控科技股份有限公司 一种用于伺服压铆设备的受力变形在线补偿方法
WO2020024600A1 (zh) * 2018-07-30 2020-02-06 成都飞机工业(集团)有限责任公司 一种双并联杆钻铆设备的法矢调姿及其偏移补偿方法
CN112084599A (zh) * 2020-09-09 2020-12-15 南京航空航天大学 一种面向航空航天箱体部件结构变形的补偿方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110549249A (zh) * 2019-08-02 2019-12-10 西安飞机工业(集团)有限责任公司 一种提高铆接式单曲率机翼壁板喷丸成形率的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61131854A (ja) * 1984-11-28 1986-06-19 Hitachi Ltd 旋盤加工物測定装置
JPH0775937A (ja) * 1993-09-07 1995-03-20 Sodick Co Ltd 工作機械及びその制御方法
JP2003182322A (ja) * 2001-12-19 2003-07-03 Pacific Ind Co Ltd タイヤ状態監視装置の送信機
JP4381021B2 (ja) * 2003-04-09 2009-12-09 ポップリベット・ファスナー株式会社 自己穿孔型リベットの締結装置及び方法
CN1614526A (zh) * 2004-11-18 2005-05-11 华中科技大学 渐开线直齿圆锥齿轮的修形方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101819413A (zh) * 2010-03-25 2010-09-01 中国人民解放军国防科学技术大学 大质量构件变半径俯仰运动的控制方法和装置
CN102081375A (zh) * 2010-12-21 2011-06-01 南京数控机床有限公司 一种数控机床的自动跟随加工方法
CN102081375B (zh) * 2010-12-21 2012-06-27 南京数控机床有限公司 一种数控机床的自动跟随加工方法
CN102566439A (zh) * 2011-12-27 2012-07-11 中航沈飞民用飞机有限责任公司 一种用于数控托架的空间定位计算方法
CN102566439B (zh) * 2011-12-27 2014-06-11 中航沈飞民用飞机有限责任公司 一种用于数控托架的空间定位计算方法
CN102744424A (zh) * 2012-07-30 2012-10-24 中国人民解放军国防科学技术大学 可用于薄板类光学零件的单点金刚石补偿式切削加工方法
CN102744424B (zh) * 2012-07-30 2014-08-06 中国人民解放军国防科学技术大学 可用于薄板类光学零件的单点金刚石补偿式切削加工方法
CN105182799A (zh) * 2015-09-24 2015-12-23 成都飞机工业(集团)有限责任公司 一种飞机薄壁曲面蒙皮自动钻铆的编程方法
CN108351634A (zh) * 2015-11-16 2018-07-31 株式会社牧野铣床制作所 刀具路径生成方法
CN108351634B (zh) * 2015-11-16 2021-02-26 株式会社牧野铣床制作所 刀具路径生成方法
CN105798706B (zh) * 2016-02-24 2018-06-01 浙江大学 一种用于飞机壁板卧式自动钻铆机的末端精度重力补偿方法
CN105798706A (zh) * 2016-02-24 2016-07-27 浙江大学 一种用于飞机壁板卧式自动钻铆机的末端精度重力补偿方法
CN106767397A (zh) * 2016-11-21 2017-05-31 上海航天精密机械研究所 自动钻铆加工数据偏差测量及补偿方法
CN106767397B (zh) * 2016-11-21 2020-01-21 上海航天精密机械研究所 自动钻铆加工数据偏差测量及补偿方法
CN107138762A (zh) * 2017-06-19 2017-09-08 湖北三江航天红阳机电有限公司 一种大型球壳体开多孔加工方法及***
CN107138762B (zh) * 2017-06-19 2023-08-15 湖北三江航天红阳机电有限公司 一种大型球壳体开多孔加工方法及***
CN108856626A (zh) * 2018-06-01 2018-11-23 上海拓璞数控科技股份有限公司 一种用于伺服压铆设备的受力变形在线补偿方法
WO2020024600A1 (zh) * 2018-07-30 2020-02-06 成都飞机工业(集团)有限责任公司 一种双并联杆钻铆设备的法矢调姿及其偏移补偿方法
CN112084599A (zh) * 2020-09-09 2020-12-15 南京航空航天大学 一种面向航空航天箱体部件结构变形的补偿方法

Also Published As

Publication number Publication date
CN100437601C (zh) 2008-11-26

Similar Documents

Publication Publication Date Title
CN1920715A (zh) 一种用于自动钻铆托架变形的修补数据处理方法
CN1621778A (zh) 表面仿形测量装置和仿形测头的修正表制作方法
CN1166919C (zh) 座标及表面特性测量的零件加工程序分析及该程序的编制
CN1771434A (zh) 点焊构造的疲劳寿命预测方法
CN1081721C (zh) 测定岩石抗压强度的方法
CN100345252C (zh) 成像状态调节***、曝光方法和曝光装置以及程序和信息存储介质
CN1234111C (zh) 装配磁头臂组件的方法和装置
CN1847789A (zh) 测量位置及姿态的方法和装置
CN1688949A (zh) 用于测量、补偿和测试数控机床头和/或工作台的***和方法
CN1659418A (zh) 摄像机校正装置
CN1949002A (zh) 一种星敏感器内外方元素校准方法
CN1333487A (zh) 实现最优化自抗扰反馈控制的方法和装置
CN1680780A (zh) 利用罗盘确定地磁场及由此确定方位角的方法和装置
CN1221500A (zh) 提高机器精度的方法
CN1896688A (zh) 终端装置、终端装置的控制方法
CN1684803A (zh) 圆盘状物品的基准位置自动示教方法、自动定位方法与自动运送方法 ,以及使用这些方法的圆盘状物品的基准位置自动示教装置、自动定位装置与自动运送装置
CN1903525A (zh) 基于平板测量的机器人工具中心点三分量校准法
CN1205546C (zh) 山区公路平面线形自动仿真设计方法
CN1656407A (zh) 变焦透镜、采用该变焦透镜的摄像机及数码照像机
CN1526098A (zh) 与二维或三维几何实体相关的数据的输出方法和***
CN1236523C (zh) 天线控制装置及控制方法
CN101067664A (zh) 一种在光学透镜上加工非回转l型缺口的方法及夹具
CN1577250A (zh) 用于实现2的幂的浮点估计的***与方法
CN1341203A (zh) 锥度螺纹的检测方法和相应的检测装置
CN1260546C (zh) 一种汽车前轮定位参数的测量方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: XI AN AIRCRAFT BRANCH OF XI AN AIRCRAFT INTERNATIO

Free format text: FORMER OWNER: XI AN AIRCRAFT INDUSTRY GROUP CO., LTD.

Effective date: 20130319

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130319

Address after: 1 No. 710089 Shaanxi province Xi'an city Yanliang District West Avenue

Patentee after: Xi'an aircraft, international aviation manufacturing, Limited by Share Ltd, Xi'an aircraft branch

Address before: 1 No. 710089 Shaanxi province Xi'an city Yanliang District West Avenue

Patentee before: Xi'an Aircraft Industry Group Co., Ltd.