一个完善的仿真平台必须要提供行业仿真的基本功能以及相关的接口。图形仿真平台最为关键的功能包括机床及环境的显示、加工刀具的显示、加工工件的显示。这些部件之间存在相互的关联,必须要建立相关的数学模型进行位置、速度、加速度的计算。为了能够驱动仿真平台的几何图形,数控平台还将导入相关的驱动指令,包括平移、旋转、换刀等。得到驱动指令后,经过离线插值转换,生成相关部件的移动指令、刀具的路径以及刀具姿态。通过刀具和工件之间的相互关系,得到工件的切削、变形的形状,最终通过显示接口反映到几何图形进行显示。为了完善用户体验,还需要建立一套适合的用户操作界面,便于用户进行指令的载入、进行加工验证、修改指令、输出仿真结果等。
数控机床几何建模及几何关系的确立
仿真系统中的虚拟数控机床要实现指令驱动,必须要建立起各种几何关系。几何关系来源于数控机床的几何模型。通常一个仿真系统中应用的几何模型都是真实机床的简化。一个典型的数控系统包括以下几个部分:
主机,它是数控机床的主体。包括机床身、立柱、主轴、进给机构等机械部件。是用于完成各种切削加工的机械部件。
数控装置,是数控机床的核心,包括硬件(印刷电路板、显示器、键盘、纸带阅读机等)以及相应的软件,用于输入NC代码,并完成输入信息的存储、数据的变换、插补运算以及实现各种控制功能。
辅助装置,指数控机床的一些必要的配套部件,用以保证数控机床的运行,如冷却、排屑、润滑、照明、监测等。它包括液压和气动装置、排屑装置、交换工作台、数控转台和数控分度头,还包括刀具及监控检测装置等。
驱动装置,它是数控机床执行机构的驱动部件,包括主轴驱动单元、进给单元、主轴电机及进给电机等。它在数控装置的控制下通过电气或电液伺服系统实现主轴和进给驱动。当几个进给联动时,可以完成定位、直线、平面曲线和空间曲线的加工。
编程及其他附属设备,可用来在机外进行零件的程序编制、存储等。
在仿真系统中,主要针对主机进行开发,其他的部件可以根据需求的不同,进行不同程度的简化。
几何建模
机床的几何模型一般可以由制造商进行提供简化的图纸进行设计。常用的设计软件包括SolidWorks、UG、AutoCAD、3DSMax等。为了能够在仿真平台中应用,这些设计软件设计的模型必须要导出为一种通用的格式。绝大数软件都支持业界标准的VRML(Virtual Reality Modeling Language,虚拟现实建模语言)格式。
对于某些特殊的部件,例如最常见的模具,需要进行参数化建模。此时需要根据模具的几何特征,编写相应的代码来实现。通常应用CSG进行参数化建模。
导入到仿真平台后,各个部件将具有一定的几何形状、材质及其他属性。必须确立几何关系,将其组装起来才能组成一个完整的机床。
几何关系确立
由软件导出的各种零件由于没有任何约束,可以在三维空间中自由的移动,具有6个自由度。为了能够让各种零件能够按照真实机床运动,必须将零件的几何关系进行设置。零件之间的几何关系分为以下几类:
父子关系:父零件能够带动子零件一起运动,而子零件能够在父零件上单独运动。
约束关系:一个零件约束另一个零件的运动,例如常见的键用于固定两个零件。
比例关系:一个零件的运动是另一个零件的运动的比例放大。
所有的零件都使用矩阵在三维空间中进行定位,以上这些关系也可以通过矩阵的形式进行表达。
图 3-1是五轴数控铣床结构的一种。工作台定义了整个机床在空间中的位置,立架X和上转台B均为工作台的直接接触体。它们与工作台属于"父子关系"。其中立架X和工作台之间是刚性结合,也可将它们看成"约束关系"。刀架Y位于立架X之上,属于"父子关系"。其中刀架Y仅能在立架X的竖直方向运动,属于"约束关系"。上转台A位于上转台B之上,属于"父子关系"。但转台A仅能做旋转运动,属于"约束关系"。
|

|
|
图 3-1五轴数控铣床结构
|
4X4矩阵表达转换
在图形学中应用最多矩阵是4X4的矩阵,其具有以下特点:
将空间中的向量
通过扩展维度转换为向量
,最后一位通常称之为w,这种4D向量称为齐次坐标。
用于变换的4X4矩阵由3X3变换矩阵发展而来:
|

|
(3-1)
|
4X4矩阵和3X3矩阵同样可以描述旋转变换:
|

|
(3-2)
|
|

|
(3-3)
|
但4X4矩阵可以用矩阵乘法来表达平移,而3X3矩阵中是不可能的:
|

|
(3-4)
|
6个自由度的移动可以分解为平移和旋转,令R表示旋转,T表示平移,则有:
|

|
(3-5)
|
由于使用行向量表示向量v,所以变换的顺序必须要和矩阵乘法的顺序相吻合(从左往右),先旋转再平移。所以变换后的向量v'可以表示为:
|

|
(3-6)
|
观察RT的乘积,令M=RT,可以计算得到
|

|
(3-7)
|
M左上角的3X3称为旋转部分,最下一行是平移部分,此时,通过一个单独的4X4矩阵就能够同时表达旋转和平移。
矩阵表达零件相互关系
在三维空间中,通过从场景根原点开始计算场景树每个分支的矩阵计算可以得到物体在场景根中的绝对位置。根场景是用户自定义的一个三维空间,也可以称为世界坐标。图 3-2是图 3-1的简化的场景图,场景图通过矩阵的转换来布置场景。每个物体的空间绝对位置的矩阵通过遍历并累计父矩阵得到。
|

|
|
图 3-2 五轴数控铣床结构场景图
|
工作台和立架属于"父子关系",也属于完全固定的"约束关系"。工作台相对于场景根的转换矩阵为Mt,立架X相对于场景根的转换矩阵为Mx。如果仅更新Mt而不更新Mx,则在场景中,工作台的移动将不会带动立架X的移动。为了能够让立架X能在工作台Mt运动的时候一起运动,并且立架X自身的运动并不影响工作台的运动,需要在Mx和Mt之间引入一个矩阵Mxt,这个矩阵就确定了两者之间的关系:
|

|
(3-8)
|
对于立架X上每一个向量,都有如下的转换:
|

|
(3-9)
|
由于立架X被约束在工作台上,所以
的乘积为一个常量矩阵,Mx和Mt之间的坐标关系是固定的。通过计算公式(3-8)可以得到Mxt的值。
立架X和刀架Y既属于"父子关系",也属于"约束关系"。引入矩阵Myx确定"父子关系",
确定"约束关系":
|

|
(3-10)
|
矩阵Myx由于有Y方向的运动的"约束关系",根据4X4矩阵的特点,所以可得约束后的矩阵:
|

|
(3-11)
|
考虑v到v'的无约束转换有:
|
 
|
(3-12)
|
代表了从My空间到Mx空间无约束的转换,此转换在模型导出时已经计算好。设此时
,可得
:
|

|
(3-13)
|
这便实现了Y方向上的约束。
更一般的,可得各种条件下的约束:
比例关系相对简单,它的实质是运动的增量放大,可以直接的表达为以下约束:
|
 
|
(3-15)
|