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

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

Info

Publication number
CN100437601C
CN100437601C CNB2006100431915A CN200610043191A CN100437601C CN 100437601 C CN100437601 C CN 100437601C CN B2006100431915 A CNB2006100431915 A CN B2006100431915A CN 200610043191 A CN200610043191 A CN 200610043191A CN 100437601 C CN100437601 C CN 100437601C
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.)
Active
Application number
CNB2006100431915A
Other languages
English (en)
Other versions
CN1920715A (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公司),但这样处理还不能精确控制变形量的影响,不能完全达到数控编程,自动铆接的目的,还需采用传感器技术进行位置和法矢量的校核修正。国内目前大部分采用手工或电动半自动铆接,对托架的变形的没有控制,完全是靠人工进行调平和定位。要达到数控程编,完全进行数字化自动铆接,对托架变形量进行动态计算并实时修补是该技术领域的难点之一
假定理论位置矢量坐标为P,法向为V,参见附图1、2。板装夹基准、测量数据基准、机床结构交点以及机床坐标系统整和变换为Ω,A角变换为χ,B角变换为
Figure C20061004319100051
变形处理变换为K,SIMMENS系统指令转换变换为P为(P,V)的最终控制映像结果,则:
最终处理变换为:
Figure C20061004319100053
考虑工件加工容差,要进行数字控制钻铆机自动钻铆,计算机理论模型和装夹在壁板上的铆接工件(板壁)之间必须建立精确映像。为了建立这种精确映像,拖架自重及载荷变形、A角及B角转动对变形的影响,对理论坐标造成的偏移等因素必须有所考虑。对变形及坐标偏移,需进行实时修正补偿,使得计算机理论模型和装夹在壁板上的铆接工件(板壁在机床加工坐标系内)一致对应。
发明内容
本发明的目的在于,提供一种用于自动钻铆托架变形修补数据处理方法。
为了实现上述任务,本发明采取如下的技术解决方案:
一种用于自动钻铆托架变形修补数据处理方法,其特征在于,该方法在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)位置找临近三点,形成三角平面片,计算三点的变形坐标,利用三点变形坐标的平面法向,作为理论变形法向(NX’,NY,’NZ’);
⑦利用(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是经变形修补数据处理技术后,自动铆接完成后的上后壁板图片;
以下结合发明人给出的具体实施例对本发明作进一步的详细说明。
具体实施方式
要进行数字控制钻铆机自动钻铆,计算机理论模型和装夹在壁板上的铆接工件(板壁)之间必须建立精确映像。为了建立这种精确映像,拖架自重及载荷变形、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 TForml.bxClick(Sender:TObject);
 type Tcood=array[0..1]of string;
var
  instr,outstr,sepchar,datas,x,y,z,dx,dy,dz,zp:string;
  mask1:Tmask;
  catiadoc,op,ep,partl,hybridShapeFactoryl,PointCoordl_f,
refpointl_f,bxm_f,hybridBodyl,hybridBody2,op_ref_b,op_ref_e:
OleVariant;
   op_e,bxjd_f,l1,bxm,bxjd,selection,params,
PointCoordl,refpointl,PointCoord2,refpoint2:OleVariant;
dirline,cood,Parametersl,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:V
ariant;
   zb:string;
   i:integer;
   fsbx,bx,fx,fy,fz,f_bx,fze,l,z_O:real;
    begin
    sepchar:=,’;
    reset(inputfile);
    rewrite(outfile);
   mask1:=tmask.Create(’GOTO/*’);
        CATIA.Visible:=True;
 catiadoc:=CATIA.ActiveDocument;
  partl:=catiadoc.Part;
hybridShapeFactoryl:=partl.HybridShapeFactory;
hybridBodyl:=partl.HybridBodies.add;
hybridBodyl.Name:=’铆点和变形点’;
hybridBody2:=partl.FindObjectByName(’自重变形曲面模型’);
bxm:=hybridBody2.HybridShapes.item(’自重变形曲面’);
hybridBody3:=partl.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:=hybridShapeFactoryl.AddNewPointCoord(x,y,z);
op.name:=’0点’;
hybridBodyl.AppendHybridShape(op);
partl.UpdateObject(hybridBodyl);
op_ref_b:=partl.CreateReferenceFromObject(op);
zp:=FloatToStr(strtoFloat(z)-10000);
op_e:=hybridShapeFactoryl.AddNewPointCoord(x,y,zp);
op_ref_e:=partl.CreateReferenceFromObject(op_e)
l1:=hybridShapeFactoryl.AddNewLinePtPt(op_ref_b,op_ref_e);
//hybridBodyl.AppendHybridShape(l1);
//partl.UpdateObject(hybridBodyl);
bxjd:=hybridShapeFactoryl.AddNewIntersection(l1,bxm);
hybridBodyl.AppendHybridShape(bxjd);
bxjd_f:=hybridShapeFactoryl.AddNewIntersection(l1,bxm_f);
hybridBodyl.AppendHybridShape(bxjd_f);
partl.UpdateObject(hybridBodyl);
PointCoordl:=hybridShapeFactoryl.AddNewPointCoord(0.000000,
0.000000,0.000000);
refpointl:=partl.CreateReferenceFromObject(bxjd);
PointCoordl.PtRef:=refpointl;
hybridBodyl.AppendHybridShape(PointCoordl);
PointCoordl_f:=hybridShapeFactoryl.AddNewPointCoord(0.000000,
0.000000,0.000000);
    refpointl_f:=partl.CreateReferenceFromObject(bxjd_f);
    PointCoordl_f.PtRef:=refpointl_f;
    hybridBodyl.AppendHybridShape(PointCoordl_f);
    //铆点变形处理
    //法矢修正
    fx:=strtoFloat(x)+strtoFloat(dx)*l;
    fy:=strtoFloat(y)+strtoFloat(dy)*l;
    fz:=strtoFloat(z)+strtoFloat(dz)*l;
    fs_pb:=hybridShapeFactoryl. AddNewPointCoord(fx,fy,fz);
    //hybridBodyl.AppendHybridShape(fs_pb);
    //partl.UpdateObject(hybridBodyl);
    fs_pb_ref:=partl.CreateReferenceFromObject(fs_pb);
    fze:=fz-10000;
    fs_pe:=hybridShapeFactoryl.AddNewPointCoord(fx,fy,fze);
    fs_pe_ref:=partl.CreateReferenceFromObject(fs_pe);
    fs_bx_line:=hybridShapeFactoryl.AddNewLinePtPt(fs_pb_ref,
fs_pe_ref);
    fs_bxjd:=hybridShapeFactoryl.AddNewIntersection(fs_bx_line,bx
m);
    hybridBodyl.AppendHybridShape(fs_bxjd);
    partl.UpdateObject(hybridBodyl)c型自动钻铆
    PointCoord2:=hybridShapeFactoryl.AddNewPointCoord(0.000000,
0.000000,0.000000);
 refpoint2:=partl.CreateReferenceFromObject(fs_bxjd);
 PointCoord2.PtRef:=refpoint2;
 hybridBodyl.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;
 //PointCoordl.GetCoordinates(cood);
 partl.UpdateObject(hybridBodyl);
 selection:=catiadoc.Selection;
 selection.clear;
 selection.add(PointCoordl);
 selection.add(op);
 selection.add(PointCoord2);
 select ion.add(PointCoordl_f);
 //selection.Item(1).value.GetCoordinates(cood);
 //CATIA.SystemService.Evaluate(’Sub CATMain(f,v)\ndim
coodl(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:\’,catScriptLibraryType
Directory,’getz3.CATScript’,’CATMain’,params);
    Parametersl:=partl.Parameters.SubList(op,True);
    bxname:=op.Name+’_Z修正’;
    bxv:=Parametersl.item(bxname).value;
    bx:=bxv*1.00000;
    //zb:=cood[0];
    memo2.Lines.Append(floattostr(bx));
    z:=floattostr(StrToFloat(z)+bx);
    bx_op:=hybridShapeFactoryl.AddNewPointCoord(x,y,z);
    bx_op.name:=’修正0点’;
    hybridBodyl.AppendHy’bridShape(bx_op);
    //
    //变形处理
    z_O:=bx;
    //========初始(0,0,0)Z变形
    i:=0;
    l:=200;
    repeat
begin
readln(inputfile,instr);
if  maskl.Matches(instr)    then
begin
i:=i+1;
datas:=RegulateStr(copy(instr,8,length(instr)-7),sepchar);
//x:=copy(datas,l,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:=hybridShapeFactoryl.AddNewPointCoord(x,y,z);
op.name:=’理论铆点’+inttostr(i);
hybridBodyl.AppendHybridShape(op);
partl.UpdateObject(hybridBodyl);
op_ref_b:=partl.CreateReferenceFromObject(op);
zp:=FloatToStr(strtoFloat(z)-10000);
op_e:=hybri dShapeFactoryl.AddNewPointCoord(x,y,zp);
op_ref_e:=partl.CreateReferenceFromObject(op_e);
    l1:=hybridShapeFactoryl.AddNewLinePtPt(op_ref_b,op_ref_e);
    //hybridBodyl.AppendHybri dShape(l1);
    //partl.UpdateObject(hybridBodyl);
    bxjd:=hybridShapeFactoryl.AddNewIntersection(l1,bxm);
    hybridBodyl.AppendHybridShape(bxjd);
    jd_f:=hybridShapeFactoryl.AddNewIntersection(l1,bxm_f);
    hybridBodyl.AppendHybridShape(bxjd_f);
    partl.UpdateObject(hybridBodyl);
    PointCoordl:=hybridShapeFactoryl.AddNewPointCoord(O.000000,
0.000000,0.000000);
    refpointl:=partl.CreateReferenceFromObject(bxjd);
    PointCoordl.PtRef:=refpointl;
    hybridBodyl.AppendHybridShape(PointCoordl);
    PointCoordl_f:=hybridShapeFactoryl.AddNewPointCoord(0.000000,
0.000000,0.000000);
    refpointl_f:=partl.CreateReferenceFromObject(bxjd_f);
    PointCoordl_f.PtRef:=refpointl_f;
    hybridBodyl.AppendHybridShape(PointCoordl_f);
    //铆点变形处理
    //法矢修正
    fx:=strtoFloat(x)+strtoFloat(dx)*l;
    fy:=strtoFloat(y)+strtoFloat(dy)*l;
    fz:=strtoFloat(z)+strtoFloat(dz)*l;
    fs_pb:=hybridShapeFactoryl.AddNewPointCoord(fx,fy,fz);
    //hybridBody l.AppendHybridShape(fs_pb);
    //partl.UpdateObject(hybridBodyl);
    fs_pb_ref:=partl.CreateReferenceFromObject(fs_pb);
    fze:=fz-10000;
    fs_pe:=hybridShapeFactoryl.AddNewPointCoord(fx,fy,fze);
    fs_pe_ref:=partl.CreateReferenceFromObject(fs_pe);
    fs_bx_line:=hybridShapeFactoryl.AddNewLinePtPt(fs_pb_ref,
fs_pe_ref);
    fs_bxjd:=hybridShapeFactoryl.AddNewIntersection(fs_bx_line,bx
m);
    hybridBodyl.AppendHybridShape(fs_bxjd);
    partl.UpdateObject(hybridBodyl);
    PointCoord2:=hybridShapeFactoryl.AddNewPointCoord(0.000000,0.
000000,0.000000);
    refpoint2:=partl.CreateReferenceFromObject(fs_bxjd);
    PointCoord2.PtRef:=refpoint2;
    hybridBodyl.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;
    //PointCoordl.GetCoordinates(cood);
    partl.UpdateObject(hybridBodyl);
    selection:=catiadoc.Selection;
    selection.clear;
    selection.add(PointCoordl);
    selection.add(op);
    selection.add(PointCoord2);
    selection.add(PointCoordl_f);
    //selection.Item(1).value.GetCoordinates(cood);
    //CATIA.SystemService.Evaluate(’Sub CATMain(f,v)\ndim
cood1(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:\’,catScriptLibraryTypeD
irectory,’getz3.CATScript’,’CATMain’,params);
    Parametersl:=partl.Parameters.SubList(op,True);
    bxname:=op.Name+’_Z修正’;
    bxv:=Parametersl.item(bxname).value;
    bx:=(bxv-z_0)*0.5*abs(StrToFloat(dz))*(StrToFloat(dz)*StrToFl
oat(dz)+StrToFloat(dy)*StrToFloat(dy));
    Parametersl.item(bxname).value:=floattostr(bx);
    //法矢端点_Z修正
    fsbxname:=op.Name+’_法矢Z修正’;
    fsbxv:=Parametersl.item(fsbxname).value;
    fsbx:=fsbxv*abs(StrToFloat(dz))*(StrToFloat(dz)*StrToFloat(dz)+
StrToFloat(dy)*StrToFloat(dy));
    Parametersl.item(fsbxname).value:=floattostr(fsbx);
    //法矢端点_Z修正
    //zb:=cood[0];
    memo2.Lines.Append(floattostr(bx));
    z:=floattostr(StrToFloat(z)+bx);
    bx_op:=hybridShapeFactoryl.AddNewPointCoord(x,y,z);
    bx_op.name:=’修正铆点’+inttostr(i);
    hybridBodyl.AppendHybridShape(bx_op);
    //
    //法矢修正
    fz:=fz+fsbx;
    fs_bx_op:=hybridShapeFactoryl.AddNewPointCoord(fx,fy,fz);
    dirline:=hybridShapeFactoryl.AddNewLinePtPt(bx_op,fs_bx_op);
    hybridBodyl.AppendHybridShape(dirline);
//法矢修正
//变形处理
out str:=’GOT0/’+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全自动钻铆系统,直接在CATIAV5系统上建立工件数模,进行铆钉工艺分布,加工编程,经过试验证明已经达到全自动数控铆接的目标,其位置精度及法向精度满足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)位置找临近三点,形成三角平面片,计算三点的变形坐标,利用三点变形坐标的平面法向,作为理论变形法向(NX’,NU’,NZ’);
⑦利用(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 CN1920715A (zh) 2007-02-28
CN100437601C true 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 (1)

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

Families Citing this family (12)

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

Citations (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 旋盤加工物測定装置
CN1103344A (zh) * 1993-09-07 1995-06-07 索迪克株式会社 机床
US20030112137A1 (en) * 2001-12-19 2003-06-19 Pacific Industrial Co., Ltd. Transmitter of tire condition monitoring apparatus
JP2004306115A (ja) * 2003-04-09 2004-11-04 Nippon Pop Rivets & Fasteners Ltd 自己穿孔型リベットの締結装置及び方法
CN1614526A (zh) * 2004-11-18 2005-05-11 华中科技大学 渐开线直齿圆锥齿轮的修形方法

Patent Citations (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 旋盤加工物測定装置
CN1103344A (zh) * 1993-09-07 1995-06-07 索迪克株式会社 机床
US20030112137A1 (en) * 2001-12-19 2003-06-19 Pacific Industrial Co., Ltd. Transmitter of tire condition monitoring apparatus
JP2004306115A (ja) * 2003-04-09 2004-11-04 Nippon Pop Rivets & Fasteners Ltd 自己穿孔型リベットの締結装置及び方法
CN1614526A (zh) * 2004-11-18 2005-05-11 华中科技大学 渐开线直齿圆锥齿轮的修形方法

Cited By (1)

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

Also Published As

Publication number Publication date
CN1920715A (zh) 2007-02-28

Similar Documents

Publication Publication Date Title
CN100437601C (zh) 一种用于自动钻铆托架变形的修补数据处理方法
CN109822577B (zh) 一种基于视觉伺服的移动式机器人高精度加工方法
CN107972071B (zh) 一种基于末端点平面约束的工业机器人连杆参数标定方法
CN109163675B (zh) 一种基于激光跟踪仪检测角摆轴位置精度的方法
US11215475B2 (en) Experimental calibration method for redundant inertial measurement unit
CN106813638B (zh) 一种3rps并联机器人几何参数辨识方法
WO2002016868A1 (fr) Procede d'evaluation d'erreur de position pour dispositif mobile, et procede d'amelioration de precision de mouvement se basant sur le resultat d'evaluation
CN107570983B (zh) 一种曲面零件自动装配的方法及系统
CN103979118A (zh) 一种机翼壁板数字化定位方法以及定位装置
CN110757504A (zh) 高精度可移动机器人的定位误差补偿方法
CN115900770B (zh) 一种机载环境下磁传感器的在线校正方法和系统
KR101593330B1 (ko) 볼바와 진직도 데이터를 이용한 다축 정밀 제어 기계의 직각도 측정 방법
Wu et al. A novel calibration method for non-orthogonal shaft laser theodolite measurement system
CN100408975C (zh) 钢索塔节段三维跟踪测量划线方法
CN112648956A (zh) 一种基于联合标定的空间位姿实时测调方法
Muelaner et al. Uncertainty of measurement for large product verification: evaluation of large aero gas turbine engine datums
CN111046584B (zh) 星载仪器设备的精密调整方法
CN112828878B (zh) 一种大型设备对接过程三维测量与跟踪方法
CN108629453A (zh) 一种基于实测数据的飞机现场装配精度预测方法
CN103921954A (zh) 基于三轴数控定位器的飞机壁板装配变形的数字化校正方法
CN103950552A (zh) 基于六轴数控定位器的飞机壁板装配变形的数字化校正方法
CN1868668A (zh) 钢索塔节段端面机加工找正及定位方法
CN102661742A (zh) 基于曲率特征加权质心点约束的自适应标志点布局方法
CN105382491A (zh) 弧形钢管柱的加工制作及检验方法
CN107066726A (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.