论文部分内容阅读
【摘 要】将虚拟样机技术应用于数控沙发扶手三轴联动机床的设计与研究。通过对虚拟仿真系统三维几何模型和运动模型的构建,以及NC代码解析设计,开发了沙发扶手数控加工仿真系统软件。该系统仿真效果真实感强、实时性好。
【关键词】虚拟加工;虚拟样机;运动模型
一、引言
虚拟样机技术是一种在产品设计开发过程中,在计算机上建立产品的模型,进行仿真分析,预测产品的性能,进而改进产品设计、提高产品性能的新的设计方法[1]。
在虚拟制造的全过程中虚拟加工环境是比较重要的环节。虚拟加工环境是将切削刀具、数控机床等机械制造资源和工件以数字化的模式建立在计算机内,利用计算机图形学和计算机技术实现工件的加工过程虚拟仿真。因此,虚拟加工环境能够有效地提高产品研发进度,降低研发风险和成本。
在此我们对自行研制的数控沙发扶手三轴联动机床,用Visual C++ 6.0和OpenGL进行程序编制,实现对机床的运动学和动力学仿真分析。
二、仿真系统的总体结构
对一个虚拟加工环境而言,其必须与实际加工系统具有功能和行为的一致性。虚拟加工环境系统结构主要包括机床模型、工件模型、刀具模型、夹具模型、NC代码解析模块、加工过程仿真以及三维建模和数据库等模块组成,系统总体结构如图1所示。
图1 系统总体结构
其中三维建模模块包括几何建模、行为建模和其他建模。加工过程仿真模块包括加工过程几何仿真和图形显示。NC代码解析模块用于对数控程序进行检验,并对数控加工过程仿真的动作和状态起控制作用。
三、系统实现的关键技术
(一)虚拟加工环境的几何建模
几何模型的表示是虚拟加工环境几何建模的关键,也就是说,要采用什么样的数据结构和方法来构成虚拟加工环境的结构。由于沙发扶手加工机床的几何模型是一个比较复杂的装配体,装配模型是几何模型的基础,同时,装配模型定义了各个部件之间的装配层次关系和相对位置,它反映了各个零部件间相互约束的关系。因此,模型的相应数据结构描述包括两方面的内容,一是用来存储机床零部件间的装配关系,二是描述各零部件几何模型的几何信息和拓扑信息[2]。
加工设备的几何模型是真实设备在虚拟环境中的映射,必须保证模型具有结构和功能的相似性[3]。机床由床身和各运动部件装配而成,是一个层次式的装配体,其组成部件的对象可分为两类:一类是具有运动特性的对象;另一类是静止对象。基于此可把机床分解为床身、工作台、夹具、毛坯、刀具、刀库等几个基本类。限于篇幅,以下仅给出床身类的类定义。
Class ChuSheng
{
public:
ChuSheng (); //构造函数
ChuSheng (GLfloat x, GLfloat y, GLfloat z); //重载构造函数
Protected:
Void ChseMaterial (); //床身材质
Void ChseColor (); //床身颜色
Void ChseList (); //床身显示列表
};
(二)虚拟加工环境图形显示技术
动态图形虚拟仿真需要很快的显示处理速度。但进行实时动态控制、消隐和光照等操作的数据运算量非常大,它们的计算速度是影响虚拟仿真图形显示速度最关键的因素。虚拟仿真数控加工沙发扶手过程的图形显示表现为动态显示木料的去除,工作台运动和刀具运动。由于每次切削过程,显示图形仅仅是工作台、刀具切削的局部和木料的位置产生了变化,因此在沙发扶手虚拟加工系统的软件编制过程中,应用了局部刷新技术。所谓局部刷新技术,主要思路就是确定模型几何信息发生变化的空间范围,仅对该范围内的模型的几何信息进行显示运算,在变化范围之外的模型信息并不参与运算。仅有在该范围内的显示图形发生改变,在该范围之外图形维持原来的状态。虚拟仿真沙发扶手的加工过程中,重新计算场景信息非常耗时,可将场景信息复制到OpenGL的缓存中,每次刷新显示画面前将场景信息复制回显示缓存,这样就显著提高了图形的显示效率。
(三) NC代码解析模块技术
由于在沙发扶手加工过程仿真中的虚拟机床不能执行数控代码,因此,需要经过解析模块来将数控程序转换成虚拟数控机床可识别和执行的程序,即实现NC程序检验和产生虚拟仿真驱动数据的功能。预处理负责对工件数控程序的语法与词法的识别。经过语法检验,如果存在语法错误,则进行相应的修改,然后按照修改后的数控程序更改数控数据结构中对应项。提取控制虚拟刀具、虚拟机床和木料相对运动的状态信息和相关动作,从而形成虚拟仿真加工沙发扶手的驱动文件,实现NC程序驱动的加工过程虚拟仿真。
在NC代码解析过程中,用来存储从NC代码中提取的影响工件和机床运动信息的数据结构非常重要,本文采用了如下的数据结构。
Typedef struct ShuKong
{
Int iGdai ; //G代码
Int iMdai; //M代码
Int iCXnum; //程序段
float fJinGei; //进给速度
float fDaoJuPo; //刀具位置
bool iZhuZhou; //主轴转向
int iZhuZhouSpeed; //主轴转速
Int iTdaoj; //刀具号
} ShuKong;
四、结论
本系统通过对输入的数控加工代码的图形验证,实现了数控加工过程的仿真且具有如下特点:
(1) 采用局部刷新技术,提高了图形的显示速度,实现了实时仿真的要求。
(2) 仿真时模拟加工环境、材料去除过程、木料几何体、刀具几何体及刀具路径,避免了因NC代码误差而导致的工件的报废、机床夹具、刀具损坏等问题。
(3) 在编译和检验NC代码的基础上,通过对夹具、刀具、工件和机床的图形显示,实现了实际切削加工沙发扶手过程的仿真。
此外,该系统可作为虚拟制造中的一个制造单元工具,实现产品的数字化生产,亦可用来培训数控编程人员。有关物理仿真中的工件材料缺陷、运动控制误差、工艺系统、相对振动等,还有待进一步研究,使本系统更加完善。
参考文献
[1] W P Wang. Solid Modeling for Optimization Metal Removal of Three-dimensional NC End Milling[ J]. Journal of Manufacturing Systems, 1998, 7(1): 57~65.
[2] 杨勇.基于加工中心的切削参数优化[D].上海交通大学硕士学位论文, 2001.
[3] 王太勇.数控车仿真系统开发[ J].西南交通大学学报,2003(10): 558-5615.
【关键词】虚拟加工;虚拟样机;运动模型
一、引言
虚拟样机技术是一种在产品设计开发过程中,在计算机上建立产品的模型,进行仿真分析,预测产品的性能,进而改进产品设计、提高产品性能的新的设计方法[1]。
在虚拟制造的全过程中虚拟加工环境是比较重要的环节。虚拟加工环境是将切削刀具、数控机床等机械制造资源和工件以数字化的模式建立在计算机内,利用计算机图形学和计算机技术实现工件的加工过程虚拟仿真。因此,虚拟加工环境能够有效地提高产品研发进度,降低研发风险和成本。
在此我们对自行研制的数控沙发扶手三轴联动机床,用Visual C++ 6.0和OpenGL进行程序编制,实现对机床的运动学和动力学仿真分析。
二、仿真系统的总体结构
对一个虚拟加工环境而言,其必须与实际加工系统具有功能和行为的一致性。虚拟加工环境系统结构主要包括机床模型、工件模型、刀具模型、夹具模型、NC代码解析模块、加工过程仿真以及三维建模和数据库等模块组成,系统总体结构如图1所示。
图1 系统总体结构
其中三维建模模块包括几何建模、行为建模和其他建模。加工过程仿真模块包括加工过程几何仿真和图形显示。NC代码解析模块用于对数控程序进行检验,并对数控加工过程仿真的动作和状态起控制作用。
三、系统实现的关键技术
(一)虚拟加工环境的几何建模
几何模型的表示是虚拟加工环境几何建模的关键,也就是说,要采用什么样的数据结构和方法来构成虚拟加工环境的结构。由于沙发扶手加工机床的几何模型是一个比较复杂的装配体,装配模型是几何模型的基础,同时,装配模型定义了各个部件之间的装配层次关系和相对位置,它反映了各个零部件间相互约束的关系。因此,模型的相应数据结构描述包括两方面的内容,一是用来存储机床零部件间的装配关系,二是描述各零部件几何模型的几何信息和拓扑信息[2]。
加工设备的几何模型是真实设备在虚拟环境中的映射,必须保证模型具有结构和功能的相似性[3]。机床由床身和各运动部件装配而成,是一个层次式的装配体,其组成部件的对象可分为两类:一类是具有运动特性的对象;另一类是静止对象。基于此可把机床分解为床身、工作台、夹具、毛坯、刀具、刀库等几个基本类。限于篇幅,以下仅给出床身类的类定义。
Class ChuSheng
{
public:
ChuSheng (); //构造函数
ChuSheng (GLfloat x, GLfloat y, GLfloat z); //重载构造函数
Protected:
Void ChseMaterial (); //床身材质
Void ChseColor (); //床身颜色
Void ChseList (); //床身显示列表
};
(二)虚拟加工环境图形显示技术
动态图形虚拟仿真需要很快的显示处理速度。但进行实时动态控制、消隐和光照等操作的数据运算量非常大,它们的计算速度是影响虚拟仿真图形显示速度最关键的因素。虚拟仿真数控加工沙发扶手过程的图形显示表现为动态显示木料的去除,工作台运动和刀具运动。由于每次切削过程,显示图形仅仅是工作台、刀具切削的局部和木料的位置产生了变化,因此在沙发扶手虚拟加工系统的软件编制过程中,应用了局部刷新技术。所谓局部刷新技术,主要思路就是确定模型几何信息发生变化的空间范围,仅对该范围内的模型的几何信息进行显示运算,在变化范围之外的模型信息并不参与运算。仅有在该范围内的显示图形发生改变,在该范围之外图形维持原来的状态。虚拟仿真沙发扶手的加工过程中,重新计算场景信息非常耗时,可将场景信息复制到OpenGL的缓存中,每次刷新显示画面前将场景信息复制回显示缓存,这样就显著提高了图形的显示效率。
(三) NC代码解析模块技术
由于在沙发扶手加工过程仿真中的虚拟机床不能执行数控代码,因此,需要经过解析模块来将数控程序转换成虚拟数控机床可识别和执行的程序,即实现NC程序检验和产生虚拟仿真驱动数据的功能。预处理负责对工件数控程序的语法与词法的识别。经过语法检验,如果存在语法错误,则进行相应的修改,然后按照修改后的数控程序更改数控数据结构中对应项。提取控制虚拟刀具、虚拟机床和木料相对运动的状态信息和相关动作,从而形成虚拟仿真加工沙发扶手的驱动文件,实现NC程序驱动的加工过程虚拟仿真。
在NC代码解析过程中,用来存储从NC代码中提取的影响工件和机床运动信息的数据结构非常重要,本文采用了如下的数据结构。
Typedef struct ShuKong
{
Int iGdai ; //G代码
Int iMdai; //M代码
Int iCXnum; //程序段
float fJinGei; //进给速度
float fDaoJuPo; //刀具位置
bool iZhuZhou; //主轴转向
int iZhuZhouSpeed; //主轴转速
Int iTdaoj; //刀具号
} ShuKong;
四、结论
本系统通过对输入的数控加工代码的图形验证,实现了数控加工过程的仿真且具有如下特点:
(1) 采用局部刷新技术,提高了图形的显示速度,实现了实时仿真的要求。
(2) 仿真时模拟加工环境、材料去除过程、木料几何体、刀具几何体及刀具路径,避免了因NC代码误差而导致的工件的报废、机床夹具、刀具损坏等问题。
(3) 在编译和检验NC代码的基础上,通过对夹具、刀具、工件和机床的图形显示,实现了实际切削加工沙发扶手过程的仿真。
此外,该系统可作为虚拟制造中的一个制造单元工具,实现产品的数字化生产,亦可用来培训数控编程人员。有关物理仿真中的工件材料缺陷、运动控制误差、工艺系统、相对振动等,还有待进一步研究,使本系统更加完善。
参考文献
[1] W P Wang. Solid Modeling for Optimization Metal Removal of Three-dimensional NC End Milling[ J]. Journal of Manufacturing Systems, 1998, 7(1): 57~65.
[2] 杨勇.基于加工中心的切削参数优化[D].上海交通大学硕士学位论文, 2001.
[3] 王太勇.数控车仿真系统开发[ J].西南交通大学学报,2003(10): 558-5615.