基于G代码的五轴数控机床轮廓误差计算
Calculation of Contour Error in Five-Axis CNC Machine Based on G-Code
摘要: 动态误差是影响五轴数控机床加工精度的重要因素,尤其在高速、高精度加工时最为明显。进行动态误差的补偿研究需要建立一个精准的模型,现有的轮廓误差计算模型难以适用于不同类型机床。针对以上缺点,文章提出了基于G代码的五轴数控机床动态误差建模研究,以S型试件G代码为例,首先进行数控机床数据采集,采集理想位置和实际位置,将G代码按照采集理想位置进行抽样使两者数量一样。G代码抽样值与采集的实际位置、采集的理想位置和采集的实际位置分别进行轮廓误差的计算,作为仿真与实际进行对比。结果显示提出的基于G代码抽样的轮廓误差计算方法有很好的精度,仿真与实际误差值很接近,刀尖误差都在0.02 mm以内,刀轴误差都在0.001 rad以内。这表明了文章提出的轮廓误差估计方法的有效性,为后续基于G代码的五轴数控机床动态误差的控制提供了参考价值。
Abstract: Dynamic error is an important factor affecting the machining accuracy of five-axis CNC machine tools, especially in high-speed and high-precision machining. An accurate model shall be established for dynamic error compensation research, and the existing contour error calculation model is difficult to apply to different types of machine tools. Aiming at the above shortcomings, this paper puts forward the research on dynamic error modeling of a five-axis CNC machine tool based on G code. Taking the G code of the S-type test piece as an example, firstly, the data of the CNC machine tool is collected, the ideal position and the actual position are collected, and the G code is sampled according to the ideal position to make the two numbers the same. The G code sampling value and the actual position acquired, the ideal position acquired, and the actual position acquired are respectively calculated for contour error, which is compared with the actual simulation. The results show that the contour error calculation method based on G code sampling has good accuracy, the simulation error value is very close to the actual error value, the tool point error is within 0.02 mm, the tool axis error is within 0.001 rad, the results verify the effectiveness of the contour error estimation method proposed in this paper, and provide reference value for the follow-up control of dynamic error of five-axis CNC machine tool based on G code.
文章引用:于泽乾, 陈光胜. 基于G代码的五轴数控机床轮廓误差计算[J]. 建模与仿真, 2025, 14(5): 516-537. https://doi.org/10.12677/mos.2025.145411

1. 引言

机床又称“工业母机”,是战略性、基础性的产业,机床制造水平直接决定着一个国家整体装备和工业水平的高低[1]

数控机床按误差特性主要分为静态误差/准静态误差与动态误差两大类,静态误差/准静态误差主要是在机床静止、低速运动时产生的误差,包括几何误差与热误差等,动态误差是机床进给运动过程中产生的误差[2]

对于高速、高精度加工的数控机床,动态误差的影响最为明显,严重影响零件加工的精度[3]。为了减小误差提高精度,就必须要对动态误差引起的轮廓误差进行控制。对于轮廓误差的控制可分为轮廓误差建模与补偿,而对于轮廓误差的精确建模是实现有效补偿的基础。

一般加工工件的轮廓误差通常被定义为刀具加工过程中实际形成的包络面和期望的工件成型曲面之间的偏差[4]。但这种轮廓误差很难实时计算,在实际的数控加工中也无法得到刀具包络面和期望工件曲面的几何信息。

所以很多学者通过拟合两个复杂曲面的方式来近似计算这种轮廓误差。廖平[5]将遗传算法与分割逼近法相结合,基于分析NURBS曲线的特点,计算出复杂曲面间的轮廓误差。于志献[6]利用刀位点和刀具的几何关系计算得到了加工表面点云,同时考虑刀具轨迹和刀轴姿态,根据NURBS曲面拟合方法,拟合出了理想和实际加工表面,然后,利用霍斯豪夫距离计算了预测点和实际加工表面的法向距离,即轮廓误差。

以上的轮廓误差计算方法通常涉及到在笛卡尔空间中拟合复杂曲面,在空间中计算误差的操作相对复杂,通常把工件的轮廓误差转换为计算机床刀位轨迹的轮廓误差。而五轴数控机床刀位轨迹的轮廓误差,通常是求解实际轨迹与理论轨迹之间的最短距离。经运动学正解变换后可计算刀尖位置轮廓误差与刀具方向轮廓误差。

对于刀尖位置轮廓误差与刀具方向轮廓误差的计算已相对成熟。吕盾等人[7]将刀尖位置轮廓误差分成三种情况进行讨论,最终计算的加工零件刀尖位置轮廓误差在0.04 mm之内,刀轴方向轮廓误差在±7 × 105 rad之内。庄丙远等[8]通过运动学模型揭示了刀尖位置与刀具方向轮廓误差产生的规律,计算出刀尖位置轮廓误差与刀具方向轮廓误差,并提出相应的补偿方法将刀尖位置与刀具方向轮廓误差分别从均值3.2504 × 103 mm与0.8946 × 104 rad降到了1.5398 × 104 mm与0.6934 × 105 rad。张靖等[4]提出了一种基于最小区域原则的轮廓误差估计算法,确定期望刀轨与实际刀轨上距离最近的距离,计算刀尖位置与刀具方向的轮廓误差。Ming Yang等[9]提出了一种基于三点弧近似(TPAA)的五轴轮廓误差在线估计算法。首先搜索离实际位置最近的参考刀尖位置,然后根据实际位置和最近参考刀尖位置与其相邻两个参考位置形成的圆弧之间的距离估计相应的刀尖轮廓误差,刀具方向轮廓误差也运用了相同的(TPAA)算法进行估计。

由于设备等实验条件的限制,离线补偿成为主要的控制手段。传统的离线补偿是前补偿,但这种补偿只是在理论上进行补偿,实际加工仍有较大的误差。基于G代码的控制可以一定程度上弥补离线补偿的缺陷,并且G代码的建模与补偿也具有通用性。高兴等[10]以多体系统理论为基础,构建起多轴数控机床的通用误差模型,并据此建立了三轴数控机床空间误差模型。提出三维空间内任意直线轨迹的直线插补补偿算法和可提高圆心位置精度的平面内圆弧插补补偿算法,且这2种补偿算法都可分别设定不同的插补精度。采用修改G代码方式实现补偿方法的通用性,实现了几何误差的补偿。聂娜[11]根据数控机床运动特点,将其分为刀具段和工件段,并分别确定位置表达函数,构建数控机床运动误差模型。在此基础上,引入G代码修改,针对数控机床的直线运动和圆弧运动,分别完成对其的误差补偿修正。

综上所述,由于数控机床加工工件时所运行的轨迹比较复杂,大部分刀尖与刀轴轮廓误差计算方法都需要对大曲率、轨迹尖锐处、理想与实际位置等刀具轨迹进行讨论。而现在刀尖与刀具方向轮廓误差主流算法是遍历所有的点找到实际与理论位置的最小值,然后在这个最小值处,求垂直距离,进行轮廓误差的估计。

S型试件经常作为检测机床加工精度的试件,所以本文以S型试件的G代码为例进行研究。将G代码定为参考位置,不需要对刀具轨迹的各种情况进行讨论,可以准确地算出刀尖与刀具方向的轮廓误差。本文所提到的方法在本实验室中的双转台五轴数控机床进行实验验证。实验结果表明刀尖轮廓误差的计算仿真值和实验值基本一致,F = 1200 mm/min时在0.02 mm以内,刀轴轮廓误差在0.001 rad以内。具有很好的计算精度。

1.1. “S”试件的构建原理

“S”试件是由A面和B面两个直纹面构成的,其两个面都是非可展直纹曲面,具有相似的几何特征信息。其S曲面(直纹面A和直纹面B)都是由一条直母线沿上下两条准线进行扫掠得到的,且上下准线均是准均匀三次有理B样条曲线。

准均匀三次有理B样条曲线与基函数和控制顶点存在关系,其表达式为:

P i ( u )= i=0 3 Q i B i,3 ( u ) ,   0u1 (1)

上式中: Q i 表示控制点, B i,3 ( u ) 表示基函数u表示节点矢量。基函数可以通过De Boor-Cox方法[11]计算得到:

{ B i,0 ( u )={ 1,    u i u< u i+1                                         0,                                              B i,p ( u )= u u i u i+p u i B i,p1 ( u )+ u i+p+1 u u i+p+1 u i+1 B i+1,p1 ( u ) 0 0 =0 (2)

另外,准均匀三次B样条曲线的首尾两端控制顶点为四重顶点,这样首末控制顶点就可以唯一确定。由式(2)可以得到准均匀三次B样条曲线的基函数表达式为:

{ N 0,3 ( u )= 1 6 ( 1u ) 3                      N 1,3 ( u )= 1 6 ( 3 u 3 6 u 2 +4 )          N 2,3 ( u )= 1 6 ( 3 u 3 +3 u 2 +3u+1 ) N 3,3 ( u )= 1 6 u 3                                    0u1 (3)

由上述基函数和文献[12]可知,构造“S”形试件各面上下两条准线上的控制点坐标。

1.2. “S”试件G代码

G代码是一系列指令组成NC加工中的重要文件。机床的数控系统通过NC代码中的指令来控制机床各项运动,从而完成对零件的加工。对于模具、叶片等复杂曲面加工,通常先用CAD/CAM软件完成零件的造型设计,再输入工艺参数,然后由CAM系统自动生成刀具轨迹和G代码程序[13]

本文所使用的G代码是基于UG后处理生成的文件。

构造“S”形试件各面上下两条准线上的控制点坐标,在Matlab中可以得到直纹曲面的上下两条准线,然后将信息导入到UG三维软件中,连接上下准线起始点得到直母线,利用扫掠功能沿准线扫掠即可得到S曲面。将S曲面A与B直纹面中的一面精加工G代码作为分析和研究对象。

1.3. 五轴数控机床的运动学模型

本文采用低序体阵列来描述五轴数控机床多体系统的拓扑结构,以床身为起点,描述刀具链、工件链两条运动链(见图1图2)。

Figure 1. Multi-body topology structure of five-axis linkage numerical control machine tool with double rotary table

1. 双转台五轴联动数控机床的多体拓扑结构图

Figure 2. Coordinates of double-turret five-axis linkage CNC machine tool

2. 双转台五轴联动数控机床坐标系

根据低序体理论和设立的坐标系,可以推导出描述机床各相邻体之间的齐次变换矩阵。根据机床传动链顺序,将相邻体之间的特征矩阵进行相乘,即可得到刀具坐标系到工件坐标系的变换矩阵,进而得到运动学正解模型:

[ x y z 1 ]= M T W [ 0 0 0 1 ]=[ XcosCYsinCcosA+ZsinAsinC x o XsinC+YcosCcosAZsinAcosC y o YsinA+ZcosAL z o 1 ] (4)

[ i j k 0 ]= M T W [ 0 0 1 0 ]=[ sinAsinC sinAcosC cosC 0 ] (5)

将正解模型逆解就可得到运动学逆解公式,机床各运动轴的机械坐标为:

A={ 0,                   i=0,j=0 arccos( i/k ),  i0,j=0 arccosk,               j>0 arccosk,                 j<0 (6)

C={ 0,           i=0,j=0 arctan( i/j ),    j0

X=( x+ x o )cosC+( y+ y o )sinC Y=( x+ x o )cosAsinC+( y+ y o )cosCcosA+( z+ z o +L )sinA Z=( x+ x o )sinAsinC( y+ y o )cosCsinA+( z+ z o +L )cosA (7)

2. 轮廓误差计算与预测

本文提出的轮廓误差计算方法是基于刀位轨迹的误差进行研究。

非可展直纹面加工由于存在刀位轨迹误差和刀轴矢量方向上的误差影响,以及曲面加工自身的复杂性,导致计算理想点位的法向矢量到实际点位的法向矢量会存在偏差。参考传统的迭代搜索法、几何垂直法、分割逼近等方法求解点到曲面最近距离的原理,本研究运用了一种针对加工非可展直纹面上时与刀位信息相关的刀具位姿,将所有实际刀具位姿进行两两线性插值,求局部实际刀具位姿当前点左右两个相邻点及相关插值点,距当前理想位姿点的最近垂直距离,即可求得当前点位处的轮廓误差。

2.1. 刀心位置轮廓误差

Figure 3. Vertical distance of local minimum distance

3. 局部最小距离的垂直距离

以TTTRR型机床为例,将S试件的G代码作为理想位置点放入神经网络模型[15]中可获得相关的实际加工点坐标。

  Q k = G k error (9)

其中k为(XYZAC),Q为实际加工表面轮廓点云坐标。error为预测的跟随误差。

通过运动学正解将刀尖点与刀具方向进行机床坐标系与工件坐标系的转换,进而获得与刀位轨迹相关的刀轴矢量方向和刀尖位置的刀具位姿。

对所有实际刀具位姿的坐标左右双向进行两两线性插值。

Q w = Q w1 +o( Q w   Q w1 ) Q w = Q w+1 +o( Q w   Q w+1 ) (10)

其中o为直线的斜率。

求局部实际刀具位姿当前点左右两个相邻点及相关插值点,距当前理想位姿点的最近垂直距离,即可求得待预测点位处的轮廓误差。设每个规划位置点为 P k ( k=n,n1,,3,2,1 ) ,每个实际位置点为 Q w

局部寻找最近的垂直距离[14] (图3):

{ ( P k Q w1 ),( P k Q w+1 ) }

 ε ^ k =min{ ( P k Q w1 sin α 1 ),( P k Q w+1 sin α 2 ) }

α 1 = P k Q w1 + Q k Q w1 P k Q w 2 P k Q w1 Q k Q w1

α 2 = P k Q w+1 + Q k Q w+1 P k Q w 2 P k Q w+1 Q w Qk w+1

遍历 Q w 的所有点都按上式先寻找局部每三个实际刀具位姿距当前理想位姿点的最短垂直距离,即可求得待预测点位处的轮廓误差 ε ^ k

最后得到轮廓误差:

ε p = ( ε ^ x ) 2 + ( ε ^ y ) 2 + ( ε ^ z ) 2 . (11)

ε ^ x x轴产生的轮廓误差, ε ^ y y轴产生的轮廓误差, ε ^ z z轴产生的轮廓误差。

2.2. 刀轴方向轮廓误差

刀轴轮廓误差一般被定义为实际刀轴矢量与理想刀轴矢量之间的差值,即反映了实际加工曲面与理想加工曲面之间的偏离程度[15]。由于刀轴矢量均是作用于刀尖位置点之上,因此刀轴轮廓误差可以表示为计算刀尖轮廓误差所依据的两刀尖点之间的刀轴矢量差 d k o mn ,刀轴轮廓误差计算模型如图4所示。

Figure 4. Profile error in tool axis direction

4. 刀轴方向轮廓误差

刀轴轮廓误差:

ε o = ( d x o ) 2 + ( d y o ) 2 + ( d z o ) 2 . (12)

其中dxox轴产生的轮廓误差,dyoy轴产生的轮廓误差,dzoz轴产生的轮廓误差。

3. 实验验证

仿真的实验数据来自于“S”试件的加工G代码与刀位文件,以及用TTTRR型五轴数控机床采集的相关数据。仿真平台为搭建的预测跟随误差的神经网络模型[15]

本文利用如图5所示的数控机床进行实验,机床为新一代五轴数控机床。用机床自带的数据采集软件,通过网关接口采集数控系统数据(软件采样时间间隔为15 ms),得到编码器与光栅尺的位置信息;将采集数据和加工G代码输入配置为13th Gen Intel(R) i9-13700H @2.30 GHz处理器的计算机中,经过数据处理,运用搭建的神经网络模型[15]就可以预测、计算轮廓误差。

Figure 5. CNC machine tool

5. 数控机床

3.1. 各轴实际位置与预测实际位置对比

首先将标准“S”试件的精加工G代码导入五轴数控机床加工,用采集软件收集机床数据,以编码器信息(即数控系统插补点)作为机床理想轨迹点,以光栅尺反馈的位置信息作为机床实际加工点。采集F = 1080 mm/min、F = 1200 mm/min、F = 1800 mm/min、F = 2700 mm/min等各个不同进给速度的数据,以此作为实验的数据。

需要取标准“S”试件的精加工G代码,将G代码作为机床理想轨迹点导入到matlab中,用搭建的神经网络模型[15]就可以得到预测的实际加工点,将预测值作为仿真数据。本文为了提高效率将原本G代码根据采集的数据进行抽样,使两者数量一样。

以F = 1200 mm/min为例,预测的各轴实际加工点与机床采集到的各轴实际加工点对比如图6~10所示。

Figure 6. Comparison of actual predicted machining points on x-axis

6. x轴实际预测加工点对比

Figure 7. Comparison of actual predicted machining points on y-axis

7. y轴实际预测加工点对比

Figure 8. Comparison of actual predicted machining points on z-axis

8. z轴实际预测加工点对比

Figure 9. Comparison of actual predicted machining points of a-axis

9. a轴实际预测加工点对比

Figure 10. Comparison of actual predicted machining points on c-axis

10. c轴实际预测加工点对比

预测与采集到的各轴实际加工点的误差如图11~15所示。

Figure 11. Comparison error between predicted actual machining point and acquired actual machining point on x-axis

11. x轴预测的实际加工点与采集的实际加工点对比误差

Figure 12. Comparison error between predicted actual machining point and acquired actual machining point on y-axis

12. y轴预测的实际加工点与采集的实际加工点对比误差

Figure 13. Comparison error between predicted actual machining point and acquired actual machining point on z-axis

13. z轴预测的实际加工点与采集的实际加工点对比误差

Figure 14. Comparison error between predicted actual machining point and acquired actual machining point on a-axis

14. a轴预测的实际加工点与采集的实际加工点对比误差

Figure 15. Comparison error between predicted actual machining point and acquired actual machining point on c-axis

15. c轴预测的实际加工点与采集的实际加工点对比误差

3.2. 标准“S”试件G代码的轮廓误差计算模型验证

将机床理想轨迹点和预测的实际加工点经过运动学模型得到的刀具位姿作为预测值,数据采集的理想轨迹点和实际加工点作为实际值。

以F = 1200 mm/min为例,运用刀尖轮廓误差模型与刀轴轮廓误差模型进行轮廓误差的计算。刀尖轮廓误差及预测误差如图16图17所示。刀轴轮廓误差及预测误差如图18图19所示。

Figure 16. Actual versus predicted tip profile error

16. 实际与预测的刀尖轮廓误差

Figure 17. Predicted and actual error of tool point profile

17. 刀尖轮廓误差预测与实际的误差

Figure 18. Actual and predicted cutter shaft profile error

18. 实际与预测的刀轴轮廓误差

Figure 19. Predicted and actual errors of cutter shaft profile error

19. 刀轴轮廓误差预测与实际的误差

图20~31为验证其他倍率下转速的刀尖、刀轴轮廓误差以及预测误差。取F = 1080 mm/min时,如图20图26所示;取F = 1800 mm/min时,如图21图27所示;取F = 2700 mm/min时,如图22图28所示。

Figure 20. Tool point contour error at F = 1080 mm/min

20. F = 1080 mm/min时的刀尖轮廓误差

Figure 21. Tool point profile error at F = 1800 mm/min

21. F = 1800 mm/min时的刀尖轮廓误差

Figure 22. Tool point profile error at F = 2700 mm/min

22. F = 2700 mm/min时的刀尖轮廓误差

预测误差如图23~25图29~31所示。

Figure 23. Predicted and actual error values at F = 1080 mm/min

23. F = 1080 mm/min时预测与实际的误差值

Figure 24. Predicted and actual error values at F = 1800 mm/min

24. F = 1800 mm/min时预测与实际的误差值

Figure 25. Predicted and actual error values at F = 2700 mm/min

25. F = 2700 mm/min时预测与实际的误差值

Figure 26. Tool shaft profile error at F = 1080 mm/min

26. F = 1080 mm/min时的刀轴轮廓误差

Figure 27. Tool shaft profile error at F = 1800 mm/min

27. F = 1800 mm/min时的刀轴轮廓误差

Figure 28. Tool shaft profile error at F = 2700 mm/min

28. F = 2700 mm/min时的刀轴轮廓误差

Figure 29. Predicted and actual error values at F=1080 mm/min

29. F = 1080 mm/min时预测与实际的误差值

Figure 30. Predicted and actual error values at F = 1800 mm/min

30. F = 1800 mm/min时预测与实际的误差值

Figure 31. Predicted and actual error values at F = 2700 mm/min

31. F = 2700 mm/min时预测与实际的误差值

通过实验表明,速度的增加会导致各轮廓误差呈上升趋势。当速度达到2700 mm/min时,刀尖轮廓误差与刀轴轮廓误差由原来的规则图形变为上下波动的不规则图形。由此可见,速度的增加会影响零件加工的精度。但过低的加工速度在实际生产中,不仅会导致生产效率降低而且也会产生高的动态误差。因此在零件加工的过程中,在保证加工精度的同时,应尽可能提高速度和效率。

4. 结束语

本文运用G代码计算轮廓误差,这种方法并不需要对数控加工轨迹特殊情况进行详细的分析,只需要对实际与理想刀尖位姿进行计算就能得出轮廓误差。

1) 本文研究的对象为基于“S”试件的G代码,首先进行“S”试件非可展直纹面的构建,其次对数控机床的拓扑结构进行分析,推导出运动学的正逆解公式。

2) 本文运用每三个点实际刀具位姿点寻找理想刀具位姿最近值的垂直距离,以此作为刀尖轮廓误差。再以最小值对应的位置坐标为索引进行刀轴轮廓误差的计算。

3) 实验证明F = 1200 mm/min刀尖位置的轮廓误差在0.02 mm之内,刀轴方向的轮廓误差在0.001 rad之内。同时仿真与实验的结果很相近,且其他不同进给速度的仿真与实验结果误差也有一定的精度,说明了本文方法的可行性与准确性。

在后续的研究中,将对数控机床轮廓误差的控制进行深入研究,以实现对数控机床多轴联动加工动态误差的精准补偿,并在实际数控加工中验证所用的方法与理论。

参考文献

[1] 于旭波. 开创高端数控机床产业高质量发展新局面[J]. 智慧中国, 2024, 7(4): 17-19.
[2] 吕盾, 李润泽, 刘辉, 等. 数控机床高速高加速进给下的跟随误差控制策略[J]. 西安交通大学学报, 2018, 52(12): 25-31.
[3] 李亨. 五轴数控机床进给系统动态误差影响因素分析[J]. 中国机械, 2023, 9(9): 83-86.
[4] 张靖, 丁杰雄, 李晴朗, 等. 基于最小区域原则的五轴机床轮廓误差估计算法[J]. 组合机床与自动化加工技术, 2021(11): 5-9.
[5] 廖平. 基于遗传算法和分割逼近法精确计算复杂曲面轮廓度误差[J]. 机械工程学报, 2010, 46(10): 1-7.
[6] 于志献. 五轴数控机床轮廓误差计算和预测方法[J]. 机电工程, 2024, 41(10): 1723-1733.
[7] 吕盾, 刘青, 刘沛, 等. 五轴机床加工零件轮廓误差预测方法[J]. 西安交通大学学报, 2020, 54(2): 9-15.
[8] 庄丙远, 赵国勇, 翟静涛, 等. 双转台五轴联动数控机床轮廓误差控制方法[J]. 组合机床与自动化加工技术, 2016(6): 103-105.
[9] Yang, M., Yang, J. and Ding, H. (2018) A High Accuracy On-Line Estimation Algorithm of Five-Axis Contouring Errors Based on Three-Point Arc Approximation. International Journal of Machine Tools and Manufacture, 130, 73-84.
https://doi.org/10.1016/j.ijmachtools.2018.04.001
[10] 高兴, 佟浩, 周雷, 等. 基于G代码修改的数控机床几何误差补偿方法[J]. 制造技术与机床, 2015(1): 57-62.
[11] 聂娜. 基于G代码修改的数控机床运动误差修正方法[J]. 机械管理开发, 2023, 38(10): 17-18.
[12] Piegl, L.A. and Tiller, W. (1997) The NURBS Book. 2nd Edition, DBLP.
[13] 彭海涛, 闫光荣, 雷毅, 等. 数控加工G代码程序的仿真检查[J]. 航空制造技术, 2001(3): 56-59.
[14] 漆昌桂. 基于LSTM神经网络的数控系统轮廓误差预测与补偿[D]: [硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2021.
[15] 李帅杰. 基于GA-BP神经网络的五轴机床动态误差建模与控制[D]: [硕士学位论文]. 上海: 上海理工大学, 2024.