1. 서 론
대형 항공부품 가공은 고가의 소재를 사용하며 높은 가공품질을 요구하기 때문에 가공 과정에서 공구 손상 발 생은 큰 비용을 초래할 수 있다. 따라서 이러한 부품을 가 공하기 위한 5축 가공기를 개발하는 프로젝트에서 가공 중에 발생할 수 있는 공구 이상 상황에 선제적으로 대응 할 수 있는 방안이 요구되고 있다. 대형 항공부품을 절삭 가공하기 위해서는 30여 가지의 공구(Tool)를 사용하는데 가공 과정에서 공구는 가공 프로그램에 기술된 대로 피삭 재를 칩의 형태로 깎아내며 가공을 진행한다. 이러한 과 정에서 공구는 기계진동, 칩 등의 외란, 재료의 물리적 특 성 등과 같은 다양한 요인에 의해 비정상적 마모 또는 파 손이 발생할 수 있으며 이로 인해서 피삭재의 품질저하 및 예기치 못한 손실을 초래할 수 있다. 따라서 가공 중에 공구의 상태를 모니터링하여 공구 이상상태 발생 예측시 선제적으로 대응할 수 있는 방안이 요구되고 있다[9].
공구 상태를 모니터링하는 방안은 공구파손을 직접 검 출하는 방법과 공구 수명을 추정하는 방법으로 구분할 수 있고, 공구파손 검출을 위해서는 비전(Vision) 시스템과 같은 직접적인 방법과 공정 파라미터 모니터링을 통한 간 접적 방법을 사용할 수 있다[2, 3]. 공구 모니터링을 위해 서 비전 등의 직접적인 수단을 이용해서 모니터링 및 분 석하는 방안은 대형 항공부품의 경우 절삭 시 발생하는 절삭유 분출, 칩의 형상 및 양 등으로 인해 센서의 신뢰성 이 감소하기 때문에 현실적으로 간단하지 않은 실정이다 [4]. 따라서 직접적인 방안을 통해서 모니터링하는 대신 에 간접적인 방법을 이용해서 공구 상태를 예측하는 다양 한 연구가 진행된 바 있다. 예를 들면 절삭력과 진동 신호 모니터링을 통해 수집된 데이터를 이용해서 자기 회귀 시 계열 모델을 도출하고 뉴럴네트워크를 이용하여 공구 마 모 및 파손에 대한 예측을 수행하는 연구가 진행된 바 있 다[5, 6]. 또한 이송모터 전류(feed drive current) 신호의 모니터링을 통해 구축한 자기회귀모델을 이용해서 공구 의 파손을 예측하는 연구도 수행된 적이 있다[8].
한편 공구 수명을 수리적으로 예측하기 위한 전통적 기법중 하나로 Taylor 수명식이 있는데 절삭시간과 공구 수명과의 관계를 이용하여 파생 수식 및 실험을 통한 매 개변수 추정을 통해 공구수명식을 제시한 바도 있다[11]. 하지만 이러한 실험데이터를 적용하는 과정에서 다양한 환경변수를 고려한 공구 수명 예측은 어렵고 정확하지도 않기 때문에 유전알고리즘 등의 휴리스틱 한 방법을 이용 해서 공구 수명을 예측하는 연구가 진행된 바도 있다[7].
금속 절삭가공하는 대부분의 중소제조 기업에서는 고 가의 CNC 설비에 대한 정확한 설비가동시간 측정이 어 려우므로 주요부품 교체 시기를 놓쳐서 설비고장에 따른 생산중단 현상 증가로 불량률이 높아질 수 있다. 반면에 예방정비 측면에서 고가의 부품을 미리 교체하면 비용 낭비가 초래될 수 있다. 따라서 신뢰성 있는 설비관리를 위해서 제조설비 주요부품의 교체주기 관리를 위한 지능 형 생산정보관리시스템을 구축 및 운영을 통한 공구 수 명 관리 방안이 제안된 바도 있다[10].
본 논문에서는 개발 중인 대형 항공부품 가공기의 스 핀들 모터 전류 모니터링을 통해 간접적으로 공구 상태를 실시간 모니터링 및 이상 상태를 예측할 수 있는 방안을 제시하고자 한다. 스핀들 모터의 전류를 모니터링하여 공 구 이상상태를 판단하기 위해서는 첫째, 스핀들 모터에 인가되는 전류를 실시간으로 측정할 수 있어야 하고, 둘 째, 전체 가공 프로그램에서 모니터링 대상 공구에 대한 가공작업 구간을 파악할 수 있어야 하며, 셋째, 실시간으 로 수집되는 전류 신호를 이용하여 공구 이상 여부를 실 시간으로 판단할 수 있는 머신러닝 등의 분석방법이 필요 하다. 즉, 정상적으로 가공 중인 상태에서 공구별 가공작 업에 인가되는 스핀들 모터 전류의 정상패턴이 파악된다 면 실제 가공 중에 모니터링 되는 전류패턴과 비교하여 공구이상여부를 판단할 수 있고 비정상 패턴이 발견되면 공구에 이상 상태가 발생하였다고 진단할 수 있다. 마지 막으로 본 논문에서 제안하는 방법에 대한 실현 가능성을 보여주기 위해서 프로토타입 시스템을 구현하였고 실제 예제를 통해서 검증하였다. 제안된 방안을 통해 공구의 예상치 못한 상태로 인한 중단 시간 감소 및 피삭재 품질 저하를 최소화할 수 있을 것으로 기대된다.
2. 스핀들 모터 전류 신호 수집
2.1 전류 신호 수집
본 논문에서 대상으로 하는 대형 항공부품 가공기에는 120kW, 30,000RPM 스핀들 모터가 적용되었으며 이를 구 동하기 위해 3상 전류를 공급하여 준다. 해당 스핀들 모 터에 인가되는 전류는 각 상(phase)의 허용전류가 스펙상 최대 350A이므로 직접 전류를 측정하는 것은 실시간 측 정의 어려움 및 안전사고 등의 이유로 적절하지 못하다. 따라서 고전력계통의 전류를 측정하기 위해서 CT(Current Transformer) 센서를 사용할 수 있는데 CT 센서란 변압기 의 원리를 이용해서 1차 측에서 측정되는 전류에 비례하 는 2차 교류전류를 발생시키도록 설계된 전류 센서를 말 한다. CT 센서는 1차 측과 2차 측이 절연되어있기 때문에 고전력계통의 전류를 측정하는 데 적합하여 많이 활용되 고 있다. 개발 중인 대형가공기의 스핀들 모터에는 최대 300A 전류가 인가될 수 있는 것으로 판단되어 300:5 Ring 타입의 CT 전류 센서를 3개 채택하여 각 상(phase)에 대 해 전류 모니터링을 수행하였다. 즉, 1차 측에 300A의 전 류가 인가될 때 2차 측에 5A의 전류 값을 출력하여 주기 때문에 일반적인 DAQ 신호수집 장비를 이용해서 안전하 게 전류 신호를 수집할 수 있다.
2.2 모니터링 대상 공구 선정
대형항공부품의 가공을 위해서는 30여 가지의 공구(tool) 가 사용되고 있는데 본 논문에서는 가공 전문가의 의견을 반영하여 이들 공구 중에서 파손이 다른 공구와 비교해서 상대적으로 빈번하게 발생하는 #2 Router, #4 Ripper, #5 Ripper 공구를 모니터링 대상 공구로 선정하였다. T 컷터 (#02 공구)는 공구 팁이 손톱형상으로 되어 있고 파손되면 홀더 몸체로 소재를 절삭하는 즉, 홀더 몸체가 피삭재에 닿는 상황이 발생할 수 있기 때문에 전류 부하가 급격하게 높아질 가능성이 있다. 반면에, #04, #05 공구는 엔드밀이 사용되는데 이 공구는 몸체 끝부분이 팁 역할을 하므로 파손되면 피삭재의 표면에 닿는 끝부분이 사라지거나 감 소하게 되어 부하가 감소하는 패턴이 발생할 수 있다. <Table 1>은 모니터링 대상으로 선정된 세 가지 공구에 대한 상세정보를 보여주고 있다.
2.3 가공 프로그램 편집
부품을 가공하기 위해서는 가공 프로그램을 생성하여 CNC 가공기에 탑재해야 하는데 가공 프로그램에서 대 상 공구가 사용되는 구간을 모니터링 시스템에서 파악할 수 있어야 한다. 본 논문에서는 전류 모니터링을 수행할 가공구간 즉, 공구별 가공 프로그램 구간을 인식하기 위 해서 가공기 작업에 영향을 미치지 않는 CNC 보조기능 인 여분의 M 코드를 이용해서 가공 프로그램에 모니터 링 시작과 끝 시점으로 설정한 태그를 삽입하였다. 이를 통해 가공 중에 CNC 가공기 컨트롤러에서 모니터링 시 스템으로 모니터링 착수 및 종료 신호를 통지하도록 구 현하였다. 이때 유의해야 할 점은 가공을 수행할 때 에어 컷 후에 실가공에 들어가고 공구의 가공을 마칠 때도 실 가공후에 부드럽게 공구를 피삭재에서 이동시키기 위해 에어 컷을 수행하기 때문에 해당 공구의 전체 가공 프로 그램 부분에 대해 모니터링 영역을 설정하는 것은 적절 하지 못하고 실가공을 수행하는 가공 프로그램 영역에 대해서만 M 코드로 구간을 설정해 줄 필요가 있다.
CATIA 도면을 이용하여 CNC 가공 프로그램 생성 시 편집작업을 통해 대상 공구(#2, #4, #5)에 대한 모니터링 구간을 설정하기 위해 M 코드를 사용하였다. 즉, 모니터 링 구간 시작 표시를 위해 모니터링 대상 공구별로 각각 M83, M84, M85 등 3개의 M 코드를 할당하였고 모니터 링 구간 종료를 표시하기 위하여 공통으로 M79를 할당 하였다. 도면을 작성한 후 CNC 가공 프로그램으로 변환 하는 작업을 수행하는데 이때 <Figure 1>과 <Figure 2> 에서와 같이 편집 툴을 이용해서 해당 공구의 가공구간 시작 위치에 모니터링 시작을 의미하는 M83 등의 M 코 드를 추가하고 종료 위치에 M79 코드를 추가한다. 추가 된 M 코드들은 CNC 가공 시에 가공에 영향을 미치지 않고 단지 컨트롤러가 해동 코드를 인식하면 실시간 모 니터링 프로그램으로 M 코드값을 전송하여 코드값에 따 라 모니터링 프로그램이 동작하도록 한다. <Figure 3>은 가공 프로그램의 구조를 조회하는 화면을 보여주고 있는 데 편집작업을 통해 모니터링 시작, 종료 코드가 삽입되 어 있음을 보여주고 있다.
즉, CNC 컨트롤러에서 가공 프로그램을 실행할 때 해 당 코드를 인식하게 되면 컨트롤러의 환경변수 메모리 스트림 출력기능을 통해서 실시간 모니터링 시스템으로 해당 코드를 전달하여 모니터링을 시작 및 종료할 수 있 도록 하였다. 이러한 코드가 모니터링 시스템에 전달되 면 모니터링 시스템은 CT 센서를 통해서 실시간으로 스 핀들 모터에 인가되는 전류 신호를 수집할 수 있게 된다.
3. 머신러닝을 이용한 예측모델 선정
양호한 상태의 공구를 이용하여 가공 중일 경우에는 스 핀들 모터에 인가되는 전류 신호가 정상적인 패턴을 보일 것이다. 하지만 공구가 비정상적으로 마모되었거나 파손 등이 발생하여 비정상적인 상황일 경우에는 공구의 종류 에 따라 전류가 과격하게 인가되거나 부하가 없는 경우에 는 전류가 거의 인가되지 않는 상황이 발생할 수 있다. 이러한 상황을 탐지할 수 있는 머신러닝 알고리즘으로는 대표적인 비지도 학습 머신러닝 기법의 하나인 비정상 탐 지(Anomaly detection) 알고리즘을 일반적으로 사용할 수 있다. 비정상 탐지 알고리즘에는 RNN (Recurrent Neural Network) 기반의 방법, One Class SVM, 클러스터링 기반의 방법 등이 있으며 시간 축에 대해 수집되는 데이터에 대한 이상 상황을 예측해야 하므로 이러한 상항에서는 MD (Mahalanobis Distance), Dense Autoencoder, LSTM(Long Short-Term Memory) Neural Networks 등의 알고리즘이 적 합하다고 볼 수 있다[1]. 본 논문에서는 뉴럴네트워크 기반 의 대표적인 이상상황 탐지 알고리즘(Anomaly detection algorithm) 인 Dense Autoencoders와 LSTM Neural Networks를 이용한 방법을 이용하여 공구 이상 상태를 예측하는 방안 을 제시하고자 한다. Dense Autoencoder는 입력 및 출력 계층보다 적은 개수의 뉴런으로 구성된 은닉층을 통해서 데이터를 입력하면 압축된 형태로 출력시켜서 학습모델을 만든다. LSTM 뉴럴 네트워크 모델은 RNN의 일종이며 RNN의 특징 중 하나는 나중에 사용할 수 있도록 네트워크에 셀 상태(정보)를 유지할 수 있다는 점이다. 이 특성을 이용 해서 시간이 지남에 따라 변동하는 센서 데이터의 수집을 통해서 비정상 상태를 탐지를 효과적으로 수행할 수 있다.
CNC 가공기의 스핀들 모터는 R, S, T 3상 교류 모터를 채용하고 있다. 머신러닝 수행을 위해서는 학습데이터 수집 이 필요한데 공구가 정상상태로 운영 중인 상황에서 50ms 간격으로 각 상의 전류를 측정하여 RMS(Root Mean Square) 값을 구한다. 측정된 데이터 세트는 7:3의 비율로 나누어 training set과 test set으로 각각 사용한다.
<Table 2>의 각 열은 스핀들 모터에 인가되는 R, S, T 3상 전류 실효 값(Root mean square value; RMS) 측정치 의 일부를 보여주고 있다. 각 열의 수치는 공구가 정상상 태인 가공구간에서 실시간으로 측정한 전류 RMS 값을 보여주고 있으며 특별한 패턴을 보이지 않고 있음을 확 인할 수 있다.
<Table 2>와 같은 정상적인 전류 신호를 이용해서 training 모델에서 Mean Squared Error(MSE) 값을 구하여 Loss 파라미터로 이용할 수 있고, Loss 분포로 표현하면 아래 <Figure 4>와 같다. 여기서 Dense Autoencoder와 LSTM 모델에 대해 Loss 분포의 평균값은 각각 0.091과 0.068과 같았기 때문에 본 논문에서는 Loss 값이 더 적은 LSTM 모델을 적합 모델로 채택하여 활용하였다. 한편 이상 여 부 판단을 위한 Threshold 값으로는 <Figure 4>의 Loss 분 포에서 볼 수 있듯이 0.3이 적절함을 알 수 있다.
4. 모니터링 시스템 구축 및 검증
본 논문에서는 실시간 모니터링 프로토타입 시스템은 LabView 툴을 이용해서 개발하였다. LabView에서 파이 선 코드를 라이브러리로 호출할 수 있으므로 머신러닝 알고리즘은 파이선을 이용해서 구현하였다. 데이터 수집 은 NI CompactDAQ 9137 컨트롤러, 전류수집을 위한 NI 9227 전류수집 모듈, 이상 상태를 통지하기 위한 경광등 제어를 위한 NI 9485 릴레이 모듈을 탑재하여 구현하였다.
<Figure 5>는 정상적으로 가공 중인 상황에서의 모니 터링 중인 3상 전류 신호 RMS (좌측) 측정값과 MSE 값 (우측)을 보여주고 있다. 좌측 차트에서는 3상 전류신호 가 모두 일정한 범위 내에서 움직이고 있음을 즉, 특이한 패턴을 보이지 않고 일정한 범위 내에서 정상적으로 랜덤 하게 관측되고 있음을 확인할 수 있다. 우측 그래프에서 수평선은 정상상태에 대한 Threshold 값을 표시해 주고 있으며 MSE 값들이 정상적인 가공상태에서는 Threshold 값의 범위 내에서 관측되고 있음을 확인할 수 있다.
<Figure 6>은 #04 엔드밀 공구의 파손이 관측되었을 때의 상황을 보여주고 있다. <Figure 6>의 좌측 그래프는 파손되는 순간의 전류 RMS 값을 표시해 주고 있는데 3 상 전류 값이 급격하게 감소하고 있음을 보여주고 있다.
그림의 우측 그래프에는 Loss 값을 표시해 주고 있는 데 우측 그래프의 후반부에는 Loss 값이 급격하게 증가하 고 있음을 확인할 수 있다. 즉, 모니터링되고 있는 전류 값이 급격하게 비정상 상태로 변화하고 있으므로 공구에 이상 상태가 발생했다고 판단할 수 있다. 위의 <Figure 6> 의 하단부에는 이상 상황이 발생하는 순간에 모니터링 시 스템의 메시지창에 전류 이상상태 발생 메시지를 보여주고 있으며 등록된 관리자에게 메시지를 전달해 주고, 동시에 경광등이 알람을 발생시켜서 이상 상황 발생을 인지할 수 있도록 지원한다. 아래 <Table 3>은 이상 상황이 발생하 는 가공구간 즉, 공구가 파손되는 구간에서 관측된 3상 전류 RMS 값을 보여주고 있는데 공구 끝단이 파손되면 서 공구가 가공 면에 닿는 면적이 감소하게 되고 이로 인 해서 공구에 인가되는 전류 부하가 급격하게 감소하면서 전류 관측값이 0에 가깝게 감소하는 패턴을 보여주고 있 음을 확인할 수 있다.
따라서 스핀들 모터에 대한 전류 신호 관측을 통해서 대표적인 비지도 학습 기법인 Anomaly Detection 알고리 즘을 이용해서 공구 마모 및 파손과 같은 공구 이상 상 태 탐지가 가능함을 확인할 수 있다.
위의 <Figure 7>과 <Figure 8>은 #04번 공구를 사용해 서 황삭작업을 수행하던 도중에 파손된 공구의 파손 전 후 공구를 보여주고 있다. 위의 LSTM Neural Network 예측모델 예제를 통해서 알 수 있듯이 #04번 공구의 경 우 파손이 발생하면 공구 끝단이 파손되기 때문에 전류 부하가 급격하게 감소했음을 확인할 수 있고 이를 통해 서 공구이상을 탐지하여 대응할 수 있다.
5. 결론 및 추후연구
본 논문에서는 대형 항공부품의 가공작업에서 가공 중에 스핀들 모터에 인가되는 3상 전류 신호에 대한 실 시간 모니터링을 통해 공구 이상 상태를 예측할 수 있는 방안을 제시하였다. CT 전류 센서를 이용하여 스핀들 모 터에 인가되는 전류에 대한 실시간 모니터링을 수행하고 수집된 전류 신호에 대해 머신러닝 기반의 비정상 탐지 알고리즘을 이용해서 공구에 대한 이상상태를 판단하여 예측정비를 수행할 수 있는 방안을 제시하였다. 스핀들 모터에 인가되는 전류신호에 대해 비정상 패턴이 관측되 면 비정상적 마모, 파손 등 이상상황이 발생했다고 판단 하고 이를 통지하여 대처할 수 있도록 하였다. 본 논문에 서는 제안하고 있는 방법에 대한 실현 가능성을 보여주 기 위해 실시간 모니터링 프로토타입 시스템을 구현하였 고 실제 가공 예제를 통해서 검증하였다.
추가적인 연구주제로는 본 연구에서는 30여 가지의 공구 중에서 3가지 공구를 대상으로 모니터링을 수행하 였지만, 전체 공구를 대상으로 모니터링 및 분석할 수 있 도록 확장할 필요가 있다. 즉, 본 논문에서와같이 가공 프로그램에 대해서 단일조건으로 분석을 수행하는 대신 에 블록 단위로 동기화 작업을 수행한 후 각 블록에 대 한 기준패턴을 찾아내어 전체 공구에 대한 이상 여부를 판단할 수 있도록 확장할 필요가 있다.