JKSPE
[ Article ]
Journal of the Korean Society for Precision Engineering - Vol. 42, No. 2, pp.169-174
ISSN: 1225-9071 (Print) 2287-8769 (Online)
Print publication date 01 Feb 2025
Received 23 Oct 2024 Revised 20 Nov 2024 Accepted 29 Nov 2024
DOI: https://doi.org/10.7736/JKSPE.024.125

시정수 변경 기능을 가지는 블록 오버랩 기반 CNC 보간기

이찬영1, # ; 김창주1 ; 백승국1 ; 허세곤2
1한국기계연구원 초정밀장비연구실
2한국기계연구원 3D프린팅장비연구실
Block Overlap Based CNC Interpolator with Variable Time Constant
Chan-Young Lee1, # ; Chang-Ju Kim1 ; Seung Guk Baek1 ; Segon Heo2
1Department of Ultra-Precision Machines and Systems, Korea Institute of Machinery & Materials
2Department of 3D Printing, Korea Institute of Machinery & Materials

Correspondence to: #E-mail: cylee@kimm.re.kr, TEL: +82-42-868-7129

Copyright © The Korean Society for Precision Engineering
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract

This paper proposed a CNC interpolator based on block overlap, capable of changing acceleration and deceleration time constants during continuous machining. The time constant can be set individually for each block through G-code commands. A velocity profile generation algorithm is proposed to set different time constants for both acceleration and deceleration phases. This algorithm can be applied to short blocks. The block overlap algorithm can be used for corner smoothing. A simulation model of the CNC interpolator was constructed to evaluate the proposed interpolation algorithm. Simulation results demonstrated that the proposed algorithm increased precision in areas with significant angular changes by adjusting time constants while simultaneously reducing machining time.

Keywords:

Interpolation, Corner smoothing, Tool path

키워드:

보간, 코너 스무딩, 공구경로

1. 서론

Computer Numerical Control (CNC) 보간기는 고속, 고정밀 가공을 위해 가감속 알고리즘과 코너 스무딩 기법을 적용하여 공구경로를 생성한다. 가감속 알고리즘을 통해 급격한 가속과 감속으로 발생하는 공작기계 이송계의 진동을 억제한다. 코너 스무딩 기법은 G코드 블록 사이의 코너 부근에서 매끄러운 경로를 생성하여 연속 가공이 가능하게 하고, 이를 통해 가공 시간을 단축한다.

저크, 가속도 한계값을 고려하여 가감속이 적용된 속도 프로파일을 생성하고, 코너 부근에 매끄러운 곡선을 삽입하여 공구 경로를 생성하는 연구들이 제안되었다. Tulsyan은 코너에서 발생하는 오차를 제한하기 위하여 B-Spline 커브를 삽입하는 코너 스무딩 기법을 사용하였다[1]. Wang은 비대칭 코너를 삽입하여 코너링 오차를 제한하고, 블록의 이송 길이에 따라 오차 제한값을 조절하는 기능을 제안하였다[2]. Shi는 코너 스무딩을 위해 5차 PH 곡선을 사용하였다[3]. 이러한 공구경로 생성 방법은 저크, 가속도의 한계를 활용하여 경로 생성이 가능하다. 하지만 연산 부하가 크고, 커브 삽입을 위한 거리가 확보되어야 하므로 미소 블록으로 구성되는 가공에서는 적용하기 어렵다.

상용 CNC에서는 가감속 시정수를 이용해 속도 프로파일을 생성하고, 블록 오버랩 알고리즘을 활용해 코너 스무딩을 구현하는 방식이 일반적으로 사용된다. 이러한 공구경로 생성 방법은 미소블록에도 적용 가능하며, 연산 부하가 낮아 실시간 시스템에 적용하기 용이하다. 이 기법을 고정밀 가공에 적용하기 위하여 블록 오버랩의 중첩 시간을 조절하여 코너 부근에서 오차를 제한하기 위한 연구들이 제안되었다[4,5]. 하지만, 시정수를 변경하지 않고 중첩 시간을 감소시켜 오차를 제한하므로 가공 시간이 증가한다.

본 논문에서는 연속가공 중 가감속 시정수를 변경하여 공구 경로를 생성할 수 있는 CNC 보간기를 제안하였다. 파트 프로그램에서 G코드를 이용해 각 블록별로 가감속 시정수를 설정할 수 있게 하였다. 직선형 가감속 알고리즘에서 가속구간과 감속 구간의 시정수를 다르게 설정하여 속도 프로파일을 생성하는 알고리즘을 제안하였다. 가공 시간 단축을 위해 블록 오버랩 알고리즘을 적용하였다. 제안된 공구경로 생성 방법은 미소블록에도 적용이 가능하다. 또한, 가공 정밀도 요구에 따라 구간별로 가감속 시정수를 조절함으로써 정밀도를 향상시키는 동시에 전체 가공 시간을 단축할 수 있다. CNC 보간기 시뮬레이션 모델을 제작하여 제안된 알고리즘의 시정수 변경 기능과 기능을 평가하였다.


2. 시정수 변경 가능 보간기

이번 장에서는 시정수 변경이 가능한 보간기에 대해 제안한다. 파트 프로그램 내에서 G코드를 이용하여 시정수를 지령할 수 있다. G코드로 ‘TA’를 사용하며, ms 단위로 설정할 수 있다. 예를 들어 파트 프로그램에 ‘G01 X10. F1200 TA30’과 같이 지령하면 해당 이송 시 시정수가 30 ms로 변경이 된다. Fig. 1은 시정수 변경 기능을 적용할 경우 블록의 속도 프로파일을 나타낸 것이다. Fig. 1에서 보이는 것과 같이 변경된 시정수는 감속 구간부터 적용이 되며, 가속구간에는 변경하기 전 시정수가 사용된다. 변경된 시정수는 다음 블록에도 연속해서 사용되며, ‘TA’ 코드를 이용해 새로운 시정수가 지령되기 전까지 적용된다. 제안된 시정수 변경 기능은 연속가공 중에도 사용이 가능하다.

Fig. 1

Velocity profile with variable time constan

2.1 정상블록 속도 프로파일 생성

CNC 보간기는 속도 프로파일 생성 시 가속도와 저크를 제한하기 위하여 가감속 알고리즘을 적용한다. 본 연구에서는 직선형 가감속 알고리즘을 적용하여 속도 프로파일을 생성하였다. Fig. 2는 시정수가 변하지 않는 경우 직선형 가감속 알고리즘이 적용된 정상블록의 프로파일을 나타낸 것이다. 정상블록은 블록의 이송 길이 내에서 지령된 이송 속도에 도달 가능한 경우를 의미한다. τa는 가속구간의 시정수이고, τd는 감속구간의 시정수이다. 상용 CNC는 가속구간과 감속구간에 동일한 시정수를 적용한다. τ는 가감속 알고리즘을 적용하기 전의 블록 이송 시간을 나타내며, 다음과 같이 계산한다.

Fig. 2

Trapezoidal velocity profile

τ=lFTsTs(1) 

F, l, Ts는 각각 블록의 이송 길이와 지령된 이송 속도, CNC의 샘플링 시간을 나타낸다. CNC는 실시간 시스템에서 작동하기 때문에, 블록 이송 시간을 샘플링 시간의 정수배로 변환한다. 블록 이송 시간을 조정하였기 때문에, 지령 속도를 조절하여 이송 시간 내에 블록의 종점까지 이동할 수 있도록 한다.

F1=lτ(2) 

직선형 가감속 알고리즘이 적용된 정상블록의 속도 프로파일은 다음과 같이 생성할 수 있다.

V=At,0kτaF1,τatτF1-A(t-τ),τtτ+τd(3) 

A는 가속도를 나타내며, 다음과 같이 계산한다.

A=F1τa(4) 

식(3)에서 생성된 속도 프로파일은 접선방향의 속도 프로파일이다. 이를 각 축의 속도 프로파일로 분해하며, x축을 예시로 다음과 같이 계산할 수 있다.

A=F1τa(5) 

Δx는 해당 G코드 블록에서 x축의 이송 변위량을 나타낸 것으로, x축의 종점 좌표와 시점 좌표의 차이이다. y축에 대해서도 식(5)와 동일한 방법으로 해당 축의 속도 프로파일을 계산할 수 있다.

Fig. 3은 정상 블록에서 시정수 변경 시 속도 프로파일의 변화를 나타낸 것이다. τd'는 변경된 감속구간의 시정수이다. 가속구간과 감속구간의 전체 시정수의 합이 증가하게 되는 경우를 예시로 속도 프로파일을 생성하였다. 감속구간이 증가함에 따라, 지령된 이송 속도로 이동하는 등속구간이 줄어들게 된다. 감속구간 시정수 변화로 인해, 감속구간의 길이는 다음과 같이 증가한다.

ldiff=F12τd'-F12τa(6) 
Fig. 3

Trapezoidal velocity profile with variable time constan

등속구간의 감소분만큼 블록 이송 시간이 감소하므로, 변경된 블록 이송 시간은 다음과 같이 계산할 수 있다.

τ'=τ-sgnτd'-τdldiff F1TsTs(7) 

따라서 시정수 변경 시 정상블록의 속도 프로파일은 다음과 같이 생성할 수 있다.

V=At,0kτaF1,τatτ'F1-A1t-τ',τ'tτ'+τd'(8) 

A1은 감속구간의 가속도를 나타내며, 다음과 같이 계산한다.

A1=F1τd'(9) 

감속구간의 시정수가 기존의 값보다 작아지는 경우에도, 식(6)부터 식(9)에 의해 동일하게 속도 프로파일의 생성이 가능하다.

2.2 미소블록 속도 프로파일 생성

미소블록의 경우 블록의 이송 시간이 시정수보다 작으며, 블록 내에서 지령된 이송 속도에 도달하지 못한다. Fig. 4(a)는 시정수가 동일한 경우 미소블록의 속도 프로파일을 나타낸 것이다. 미소블록은 등속구간이 없으며, 가속구간과 감속구간만으로 구성된다. 미소블록에서 도달가능한 최대 이송 속도는 다음과 같이 계산할 수 있다.

F2=lτa(10) 
Fig. 4

Velocity profile of short block

시정수가 동일한 경우의 속도 프로파일은 다음과 같이 생성한다.

V=A2t,0kτaF2-A2t-τa,τatτa+τd(11) 

A2는 가속도를 나타내며, 다음과 같이 계산한다.

A2=F2τa(12) 

감속구간의 시정수가 변경되는 경우는 Fig. 4(b)와 같으며, 도달가능한 최대 이송 속도는 다음과 같이 계산할 수 있다.

F3=l0.5τa+0.5τd'(13) 

속도 프로파일은 다음과 같이 생성한다.

V=A2t,0kτaF3-A3t-τa,τatτa+τd'(14) 

A3는 가속도를 나타내며, 다음과 같이 계산한다.

A3=F2τd'(15) 

2.3 블록 오버랩 알고리즘

가감속 알고리즘을 적용함에 따라 각 G코드의 실제 이송 시간이 설정된 시정수만큼 증가한다. CNC 보간기는 가공 시간을 줄이기 위해 블록 오버랩 알고리즘을 적용한다. 블록 오버랩 알고리즘은 보간기에서 생성한 축별 속도 프로파일을 중첩하여 합성 속도 프로파일을 생성한다.

Fig. 5는 블록 오버랩 알고리즘 적용 시 생성되는 속도 프로파일을 나타낸 것이다. 블록 오버랩 알고리즘의 중첩 시간은 첫 번째 블록의 감속구간 시정수와 동일하게 설정하였다. Fig. 5에서 보이는 것과 같이 N1 블록에서 시정수 변경 기능이 적용되더라도, 해당 블록의 감속구간부터 변경된 값이 지령된다. 따라서 N1 블록의 감속구간과 N2 블록의 가속구간의 시정수는 항상 동일하므로, 블록 오버랩 알고리즘의 적용이 가능하다

Fig. 5

Block overlap algorithm

2.4 CNC 보간기 시뮬레이션 모델

제안된 시정수 변경 가능 보간기의 성능 평가를 위해 시뮬레이션 모델을 제작하였다. Fig. 6은 CNC 보간기 시뮬레이션 모델의 블록 다이어그램을 나타낸 것이다. 모델은 해석기, 보간기, 코너 스무딩 알고리즘으로 구성되어 있다.

Fig. 6

Block diagram of CNC interpolator

해석기는 파트 프로그램으로부터 G코드로 지령된 정보를 해석하여, 경로 생성에 필요한 정보를 추출한다. 시정수 변경 지령을 해석하여 각 G코드 마다 가속구간과 감속구간의 시정수 정보를 저장한다. 보간기는 해석된 정보를 바탕으로 접선방향 속도 프로파일을 생성한다. 이를 이용해 각 축의 속도 프로파일을 계산한다. 마지막으로 코너 스무딩 알고리즘은 인접한 G코드 블록에서 축 별로 속도 프로파일의 감속구간과 가속구간을 중첩하여 합성 속도 프로파일을 계산한다. 그리고 속도 프로파일을 적분하여 공구경로를 생성한다.


3. 시정수 변경 가능 보간기 성능 평가

제안한 CNC 보간기 시뮬레이션 모델의 성능을 평가하였다. 먼저 정상블록으로만 구성된 파트 프로그램을 사용해 알고리즘을 검증하였다. Fig. 7은 경로 및 축별 프로파일 생성 결과를 나타낸 것이다. 초기 시정수는 50 ms로 설정하였으며, 1-3번 G코드 블록에서 시정수를 변경하였다. Fig. 7(c)의 속도 프로파일에서 확인할 수 있듯이, 변경된 시정수는 해당 블록의 감속 구간부터 적용되었다. 다음 블록의 가속구간에서도 변경된 시정수가 적용되었으며, 블록 오버랩 알고리즘에 의해 코너 스무딩이 이루어져 연속적이고 매끄러운 경로가 생성되었다.

Fig. 7

Tool path and axis profiles in normal block

Fig. 8은 미소블록을 포함한 파트 프로그램을 사용하여 알고리즘을 검증한 결과이다. 1번 블록과 3번 블록은 미소블록으로서, 가속구간과 감속구간만으로 구성된다. Fig. 8(c)에서 보이는 것과 같이 미소블록에서도 시정수 변경이 가능하다. 미소블록이 포함된 경우에도 블록 오버랩 알고리즘이 적용되어 연속적인 경로가 생성된다.

Fig. 8

Tool path and axis profiles with mixed normal and short blocks

Fig. 9는 CAM에서 생성된 파트프로그램을 대상으로 시정수 변경 기능 적용 전후의 결과를 비교한 것이다. Fig. 9(a)에서 볼 수 있듯이, 각도 변화가 커서 코너링 오차가 증가하는 구간에서는 시정수를 감소시켜 정밀도를 향상시켰다. 각도 변화가 완만한 구간에서는 시정수를 감소시켜 전체 가공 시간을 단축하였다. 시정수 변경 기능을 사용하여 전체 가공 시간을 줄이면서도, 정밀도가 요구되는 구간에서는 코너링 오차를 줄이면서 경로를 생성할 수 있음을 확인하였다.

Fig. 9

Tool path and axis profiles


4. 결론

본 논문에서는 CNC 보간기에서 가감속 시정수의 변경이 가능한 경로 생성 방법을 제안하였다. 가속구간과 감속구간의 시정수를 다르게 설정하여 속도 프로파일을 생성하기 위한 알고리즘을 제안하였으며, 블록 오버랩 알고리즘을 활용해 코너 스무딩을 구현하였다. 제안된 방법은 미소블록에도 적용이 가능하다. 시정수 변경 기능을 사용하여 각도 변화가 큰 구간에서 정밀도를 향상시키면서도 전체 가공 시간이 단축되는 것을 확인하였다. 제안된 방법은 2축을 기반으로 검증하였지만, 3축에도 적용이 가능하다.

NOMENCLATURE

α : Coefficient of Thermal Expansion
E : Young’s Modulus
ν : Poisson’s Ratio
σ : Principal Stress

Acknowledgments

이 연구는 2024년도 산업통상자원부 및 산업기술기획평가원(KEIT) 연구비 지원에 의한 연구임(No. 20023418).

References

  • Tulsyan, S., Altintas, Y., (2015), Local toolpath smoothing for five-axis machine tools, International Journal of Machine Tools and Manufacture, 96, 15-26. [https://doi.org/10.1016/j.ijmachtools.2015.04.014]
  • Wang, W., Hu, C., Zhou, K., He, S., Zhu, L., (2021), Local asymmetrical corner trajectory smoothing with bidirectional planning and adjusting algorithm for cnc machining, Robotics and Computer-Integrated Manufacturing, 68, 102058. [https://doi.org/10.1016/j.rcim.2020.102058]
  • Shi, J., Bi, Q., Zhu, L., Wang, Y., (2015), Corner rounding of linear five-axis tool path by dual PH curves blending, International Journal of Machine Tools and Manufacture, 88, 223-236. [https://doi.org/10.1016/j.ijmachtools.2014.09.007]
  • Sencer, B., Ishizaki, K., Shamoto, E., (2015), High speed cornering strategy with confined contour error and vibration suppression for CNC machine tools, CIRP Annals, 64(1), 369- 372. [https://doi.org/10.1016/j.cirp.2015.04.102]
  • Lee, C.-Y., Min, J., Min, B.-K., (2017), Limiting tool path error generated by corner blending of CNC interpolator, Journal of the Korean Society for Precision Engineering, 34(10), 695-700. [https://doi.org/10.7736/KSPE.2017.34.10.695]
Chan-Young Lee

Senior researcher in the Korea Institute of Machinery & Materials. His research interest is CNC interpolation and digital twin simulation.

E-mail: E-mail: cylee@kimm.re.kr

Chang-Ju Kim

Principal researcher in the Korea Institute of Machinery & Materials. His research interest is machine tool dynamics, and precision engineering.

E-mail: E-mail: changjukim@kimm.re.kr

Seung Guk Baek

Senior researcher in the Korea Institute of Machinery & Materials. His research interests is data-driven algorithms, including iterative learning control, online parameter estimation, anomaly detection in dynamic systems, and task intelligence in manufacturing systems.

E-mail: E-mail: bsg17@kimm.re.kr

Segon Heo

Principal researcher in the Korea Institute of Machinery & Materials (KIMM). His research interest is process simulation and additive manufacturing.

E-mail: E-mail: heo@kimm.re.kr

Fig. 1

Fig. 1
Velocity profile with variable time constan

Fig. 2

Fig. 2
Trapezoidal velocity profile

Fig. 3

Fig. 3
Trapezoidal velocity profile with variable time constan

Fig. 4

Fig. 4
Velocity profile of short block

Fig. 5

Fig. 5
Block overlap algorithm

Fig. 6

Fig. 6
Block diagram of CNC interpolator

Fig. 7

Fig. 7
Tool path and axis profiles in normal block

Fig. 8

Fig. 8
Tool path and axis profiles with mixed normal and short blocks

Fig. 9

Fig. 9
Tool path and axis profiles