저비용 인코더 정확도 향상을 위한 인공신경망 오류 보정
초록
본 논문은 16비트 해상도의 리졸버 기반 저비용 인코더에 대해, 정밀 회전 테이블을 이용해 얻은 시스템 오류 프로파일을 학습시킨 인공신경망(ANN)으로 보정하는 방법을 제시한다. 각 인코더마다 별도의 ANN을 훈련시켜 가중치 파일을 생성하고, 측정 각도에서 ANN이 예측한 오류를 차감함으로써 평균 오류를 약 6아크분에서 0.65아크분 수준으로, 거의 10배 가량 감소시켰다. 오류 프로파일은 시간에 따라 재현성이 높아 동일 인코더에 대해 동일한 보정이 가능함을 확인하였다.
상세 분석
이 연구는 저비용 인코더가 제조 공정상의 미세한 구조 차이로 인해 개별적인 시스템 오류를 보유한다는 점에 착안한다. 전통적인 보정 방법은 전체 인코더군에 대해 동일한 보정 상수를 적용하거나, 복잡한 보정 매트릭스를 사용해 평균적인 오류를 줄이는 데 그쳤다. 그러나 이러한 접근은 개별 인코더의 고유 오류를 충분히 반영하지 못한다. 논문에서는 각 인코더마다 별도의 오류 프로파일을 획득하고, 이를 기반으로 인공신경망을 훈련시켜 개별 보정 모델을 만든다.
오류 프로파일은 정밀 회전 테이블(정밀도 <0.01 arc‑min) 위에 인코더를 장착하고, 0°부터 360°까지 일정 간격(예: 1°)으로 실제 각도와 인코더 출력 각도의 차이를 기록함으로써 얻는다. 이렇게 수집된 데이터는 전체 데이터의 70 %를 훈련용, 15 %를 검증용, 나머지 15 %를 테스트용으로 분할한다. ANN은 입력으로 ‘측정된 인코더 각도’를, 출력으로 ‘예측 오류’를 제공하도록 설계되었으며, 은닉층은 23개, 각 층의 뉴런 수는 1020개 정도로 설정하였다. 활성화 함수는 비선형성을 확보하기 위해 시그모이드 혹은 ReLU를 사용하고, 학습은 평균 제곱 오차(MSE)를 최소화하는 Adam 옵티마이저로 500 epoch까지 진행한다.
훈련 과정에서 검증 오차가 수렴하면 조기 종료(Early Stopping)를 적용해 과적합을 방지한다. 각 인코더에 대해 최적화된 가중치 파일이 생성되며, 이는 실시간 보정에 사용된다. 보정 단계는 매우 간단한데, 측정 각도 θ_meas에 대해 ANN이 예측한 오류 ε̂(θ_meas)를 빼서 보정 각도 θ_corr = θ_meas – ε̂(θ_meas) 로 계산한다.
실험 결과, 보정 전 평균 절대 오류는 약 6 arc‑min(≈0.1°) 수준이었으며, 보정 후 평균 절대 오류는 0.65 arc‑min(≈0.011°) 이하로 감소하였다. 이는 약 9.2배의 정확도 향상을 의미한다. 또한 동일 인코더를 여러 시점에 걸쳐 재측정했을 때, 오류 프로파일이 거의 동일하게 재현되는 것을 확인하였다. 이는 ANN이 학습한 오류 모델이 시간에 따라 변동이 적은 ‘시스템적’ 오류를 효과적으로 포착한다는 증거이다.
이 접근법의 장점은 (1) 저비용 인코더의 개별 차이를 정밀하게 보정함으로써 고가 센서 수준의 정확도를 달성한다, (2) 보정 연산이 간단해 실시간 제어 시스템에 쉽게 통합 가능하다, (3) 동일한 ANN 구조를 유지하면서 가중치만 교체하면 다른 인코더에도 적용 가능하다는 점이다. 반면, 단점으로는 각 인코더마다 별도의 캘리브레이션 및 학습 과정이 필요하므로 초기 설정 비용이 증가한다는 점이다. 또한, ANN이 학습한 오류 모델은 캘리브레이션 환경(온도, 전원 전압 등)이 크게 변하지 않을 때 가장 효과적이며, 환경 변화에 따른 오류 drift가 발생하면 추가적인 재학습이 필요할 수 있다.
향후 연구에서는 온도 보상용 다중 입력 ANN, 온라인 학습을 통한 실시간 가중치 업데이트, 그리고 보다 경량화된 모델(예: TinyML) 적용을 통해 보정 시스템의 유연성과 효율성을 높이는 방안을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기