王福元 徐家文
1.南京航空航天大学,南京,210016 2.盐城工学院,盐城,224051
虚拟机床是数字化制造技术中一项重要技术内容,它的最终目标是为产品的制造建立一个虚拟加工环境,用于仿真和评估加工过程对产品质量的影响。虚拟机床是随着虚拟制造技术的发展而提出的一个新的研究领域,它作为数字化制造系统中的一个载体,其作用是真实地模拟机床切削加工情况,产生刀具的真实运动轨迹,形成工件的加工表面,完成碰撞、干涉检验等功能。应用的主要领域有加工过程模拟、数控加工编程、加工测量等。目前,国内外对虚拟机床的研究主要集中在虚拟机床的结构描述、加工模型建立、加工精度等方面[1-3]。虚拟机床结构描述是对实际机床加工系统进行客观功能的描述并对其各种功能进行综合并模型化,其研究还处在对机床结构模型的理论研究阶段。虚拟机床加工模型包括切削力、切削加工参数等诸多因素,由于影响因素较多,到目前为止还没有一个得到大家广泛认可的加工模型。目前,国内对于虚拟数控机床的研究还处于起步阶段,其研究成果[4-6]离实用还有一定的距离。本文从实用角度出发,采用约束与尺寸驱动[7-8]等方法建立了虚拟数控机床模型并进行应用,为复杂零件的数控加工提供加工模拟、编程、程序验证、加工干涉检查、精度检验等方法。
虚拟机床由机床装配模型、刀具库、夹具库、控制系统等组成,如图1所示。机床装配模型是机床功能实现的载体,加工模拟、运动等功能都需要通过机床的装配模型呈现,刀具库为机床的切削加工提供刀具,夹具库为加工提供所需的夹具。机床装配模型、工件、刀具、夹具等组成了一个虚拟加工环境。
图1 虚拟数控机床组成
虚拟机床控制界面为虚拟机床的控制提供人机接口。机床运动控制、加工模拟、工艺数据提取、运动轨迹计算等操作通过控制界面实现。虚拟逻辑控制器作为机床的逻辑控制单元,其功能与实际机床的电气控制系统相同。虚拟CNC控制器相当于实际机床的数控系统,它接受运动轨迹计算模块的数据输出,为虚拟机床的运动提供插补运算,分配机床运动轴的位移量。工艺数据提取模块从工件的表面提取加工表面的型面数据,传递给运动轨迹计算模块。主控系统是虚拟数控机床的核心,处理虚拟机床的一切事务,接受控制界面的操作指令,对任务进行分解,把任务分配给其他处理单元,同时接受其他模块的输入信号。
机床装配模型的拓扑结构反映了机床各个部件之间的相互关系。一般来说,机床由主轴部件、工作台部件、机床床身等部件构成。为了简化装配模型结构,装配模型中可以主要考虑机床运动部件,省略机床的次要部件,例如中间传动零件、支撑零件、连接零件等。图2所示为某机床的拓扑结构,其工作台由两个直线移动轴、回转工作台及底座等组成,主轴部件则由立柱、Z轴等组成。
该机床模型的拓扑结构采用树形结构表示,其中实例用来表示部件在装配模型中的位置关系,标识用来识别机床装配模型在数据库中存储的一个个对象,根据作用不同又把它分为对象标识、事例标识、实例标识、部件标识等,相互之间可以查询。有了标识就可以对装配模型遍历,获取控制对象的标识,根据控制要求对其进行控制。
图2 机床装配模型的拓扑结构
在实物机床中,机床部件相互之间利用定位元件定位、连接件相连,实现位置约束。在虚拟环境中,机床之间的拓扑、运动关系采用约束来实现。机床模型中运动关系的建立以各运动轴为中心,首先设置机床的各运动轴,然后在各运动轴与之相关联的部件之间建立约束关系。在图2所示的机床中,Y轴滑台装配在X轴滑台上,跟随X轴滑台一起移动,C1轴回转工作台安装在Y轴滑台上,跟随Y轴滑台一起运动,那么就需要在X轴滑台、Y轴滑台、C1轴回转台之间建立约束关系,如孔中心对齐、面贴合、平行、垂直等,当约束关系建立之后,在装配模型中只要控制 X、Y、Z、C1轴运动即可,其余与之相关联的部件通过约束关系完成相应的运动。
为了操纵装配模型中的部件运动,需建立一个与装配几何模型相一致的虚拟装配数据模型,利用该数据模型把装配模型的相关信息加载到数据模型中,实现位姿矩阵的变换运算、数据存储。我们建立的虚拟装配数据模型的数据结构如下:
Typedef struct MC_Assembly
{
MC_Component *head_comp; //部件节点
MC_Movement *move; //运动节点
}
Typedef struct MC_Component
{
int instance_tag; //实例标识
int occurence_tag; //事例标识
char workpiece_name[130]; //部件名称
char instance_name[80]; //实例名称
Pos_Matrix ini_pos; //部件的位姿矩阵
double origin[3]; //零件的原点坐标
double csys_matrix[9]; //部件坐标系
struct MC_Component*children; //子部件
struct MC_Component*next;//同级相邻部件
struct MC_Component*parent;//父部件
………………
}MC_Component;
在装配数据模型 MC_Assembl中,MC_Component为部件节点,它承载了部件的静态特性,如部件名称属性、在装配空间中的位置属性、与其他相邻部件关系属性等,MC_Movement则承载部件的动态特性。
通常机床的运动包括直线移动、旋转运动。若要对机床部件进行驱动,必须确定运动部件在装配空间的位置关系。为了表示部件在装配空间的位置,需要用两个坐标系,即装配空间坐标系OXYZ与部件本身坐标系OwXcYcZc,它在空间的位姿表示如图3所示。部件在装配空间运动可以描述为部件在装配空间内的移动和部件绕自身坐标系的转动。装配模型组件运动还需要获取移动组件的标识与它的位姿矩阵。位姿矩阵是用来描述装配部件在装配模型空间的位置与姿态的,它包括X 、Y 、Z轴的i、j、k分量以及部件自身坐标系在装配空间中的X、Y、Z分量。
图3 装配模型中的部件位姿
在以上建立的装配模型空间中,运动部件的位姿矩阵表示为
式中,Torign为部件在装配模型空间中的位置矩阵;Tcsys为部件在自身坐标系中的位姿矩阵;Tpos为部件在装配空间中的位姿矩阵。
根据以上矩阵就可以对部件进行运动变换。
矩阵变换是实现各运动轴移动或旋转的基础,该矩阵根据组件的直线位移量或旋转角度组合得到,该变换矩阵所需的参数矩阵为
T=[xdisydiszdisα β γ]
式中,xdis、ydis、zdis分别为部件在 X、Y 、Z 方向上的移动分量;α、β、γ分别为部件绕X 、Y 、Z 轴旋转的角度。
则组合得到的运动部件变换矩阵为
利用变换矩阵Ttrans对组件的原位姿矩阵Tpos进行变换,变换过程为
通过以上变换便得到新的位姿态矩阵,利用新的位姿矩阵更新部件的原位姿矩阵,具体采用定位函数对部件进行重新定位,使部件在装配模型空间中移动到新的位置。在具体实现时,还需要编写矩阵的转置、相乘、组合等矩阵基本运算函数。
虚拟数控机床中各运动轴的运动采用尺寸驱动方法实现。在数控机床中,由CNC系统完成加工路径的插补运算,分配各运动轴运动的脉冲数,再通过驱动器、步进电机或伺服电机、传动机构对工作台、主轴进行驱动,利用传感器对实际位移量进行反馈。虚拟数控机床中各运动轴驱动与实物机床运动轴驱动相似,同样需要插补运算,为各运动轴分配运动位移量,再通过矩阵变换技术对运动轴驱动,运动部件的驱动过程如图4所示。
图4 运动部件尺寸驱动过程
虚拟数控插补运算类似于数控系统中软件插补方法,在单位时间内对加工路径进行插补运算。虚拟 CNC插补模块完成对加工路径的插补运算,输出各个运动轴的脉冲序列。为了获得与实际加工同样的加工效果,采用定时模块对脉冲输出进行分配,获得脉冲序列,再通过矩阵变换、重新定位过程实现运动轴驱动。
加工模拟不仅要模拟工件、刀具的运动,还要模拟加工后的工件表面形状与表面质量。为了真实地模拟出加工后的表面,在运动过程中使工件与刀具连续做切割运动,并移除工件与刀具相交部分,形成加工表面,加工模拟的实现过程如图5所示。
图5 加工模拟的实现过程
在UG装配模型空间中,两个几何实体之间的逻辑运算只能进行一次,而加工仿真需要进行若干次相交运算才能形成工件的表面。为解决以上问题,采用WAVE技术实现,其步骤为:首先对装配树进行遍历获取工件与阴极的标识,然后把工件设置为工作部件,查询它的原型标识,再对原型标识进行遍历,查找到与之进行相交运算的刀具实体标识,用同样的方法得到工件的实体标识。在获取阴极与工件的实体标识后,再经过建立变换矩阵,建立链接实体,查询链接实体特征,隐藏链接实体,断开链接实体等步骤,最后作两个实体的相交运算。在以上实现的过程中,必须正确运用二次开发函数,对函数的功能、参数、返回值做出正确判断,相交运算才能够实现。
我们利用上述技术建立了五坐标数控电解加工机床的装配模型,如图6所示。本装配模型是在UG NX软件装配环境中建立的,机床由工作台、床身、主轴等部件组成,运动轴包括 X、Y、Z、C w、C t 5个运动轴。
图6 五坐标虚拟数控电解加工机床装配模型
整体叶轮加工是一个世界性的难题,在上述虚拟数控机床技术基础上建立电解加工机床模型,利用它完成整体叶轮叶片加工仿真、加工路径规划、数控加工程序编程、加工干涉检查等工作,为整体叶轮的加工提供数字化制造技术。该整体叶轮叶片电解加工采用数控展成法实现,电解加工与切削加工不同之处在于电解加工中阴极(刀具)不需要做旋转运动,其他运动与数控切削加工相同。利用叶片专用模块计算叶片加工的运动路径,通过虚拟CNC模块生成各运动轴的运动分量,其加工运动由虚拟机床的X、Y、Z、C w四轴运动合成,利用该虚拟五坐标数控机床加工的叶片如图7所示。
图7 整体叶轮叶片虚拟加工结果
通过在虚拟数控机床中的加工模拟,对加工路径进行规划,对运动过程中的运动干涉进行检查,最后通过数控后处理程序生成机床的数控加工程序。利用上述模拟结果及生成的数控加工程序加工的叶片形状如图8所示。
图8 整体叶轮叶片加工试验结果
由加工结果可知,实际电解加工的结果与叶片模拟结果相一致。本虚拟数控机床采用的运动轴驱动、动态去除材料、运动轴位移实时分配等技术可用于其他领域的数控加工仿真技术中,可以解决零件制造中的技术难题,特别是复杂零件的数控加工,其应用前景较好。
(1)建立了由机械部件、控制系统、人机接口等模块组成的虚拟数控机床模型;采用装配约束与尺寸驱动技术实现了对机床各运动轴的驱动。
(2)利用WAVE技术在装配空间与建模空间之间进行对象链接、复制,相交运算;采用软件插补技术进行运动轴移动量分配,实现加工的动态模拟,虚拟加工过程与实际加工过程相同,加工后的表面质量与实际加工结果一致。
(3)建立了五坐标虚拟数控机床模型,并将其应用于整体叶轮叶片的数控电解加工,成功地解决了叶片加工中的加工模拟、加工路径计算、加工自动编程、运动干涉检查等工作,该模型具有操作方便、过程直观等优点,能提高工作效率,其应用对实际加工具有指导意义。
[1] 杨海成.基于虚拟样机的系统仿真技术[J].中国机械工程,1998,9(11):66-67.
[2] Waurzyniak P.CAD/CAM Software Advances[J].Manufacturing Engineering,2006,137(5):91-97.
[3] Schultz D F.Enhancing Multiple-axis Software[J].Cutting Tool Engineering,2008,60(7):36-38.
[4] 高峰,要艳红,李艳,等.基于ObjectARX的车铣复合数控机床虚拟加工仿真研究[J].系统仿真学报,2008,20(12):3183-3187.
[5] 徐新胜,方水良,李强,等.装配产品的变型设计研究[J].浙江大学学报,2006,40(9):1652-1656.
[6] 武殿梁,羊润党,马登哲,等.虚拟装配环境中的装配模型表达技术研究[J].计算机集成制造系统CIMS,2004,10(11):1364-1369.
[7] 路懿.用CAD约束和尺寸驱动技术分析平面机构的运动[J].计算机辅助设计与图形学学报,2002,14(10):972-976.
[8] 李群,陈五一,王瑞秋.基于UG二次开发的叶轮刀位轨迹生成[J].计算机集成制造系统,2007,13(3):548-552.