[Robotics Trends 2023] 딥러닝을 활용한 로보틱스 분야에서의 이상탐지

Introduction

SamuelKim
We’re Team MakinaRocks!
14 min readDec 16, 2022

--

안녕하세요. 마키나락스 ML 솔루션팀에서 RPMS (Robot Predictive Maintenance System) Project Owner를 맡고 있는 김명원입니다. 저희 프로젝트는 센서 데이터를 기반으로 자동차 생산용 로봇팔의 동작 품질 평가와 고장 예지를 수행하는 머신러닝 모델을 개발하며 서비스하고 있습니다.

로봇팔이 특정 작업을 수행할 때 각 축의 감속기에 걸리는 전류값 등이 센서 데이터로 기록됩니다. 이러한 센서 데이터의 분포를 AutoEncoder와 생성 모델 중 하나인 Normalizing Flows를 사용하여 비지도 학습(unsupervised learning) 방식으로 학습하고, 이후 학습된 모델로 특정 동작의 센서 데이터에 대해 동작 품질 분석을 수행합니다. 특히 Normalizing Flows는 복잡한 데이터 분포를 단순한 정규 분포로 변환해주기 때문에, 정규 분포 상의 가능도(likelihood) 값을 통해 동작 품질 점수를 직접적으로 제시할 수 있습니다. 이 점수를 기반으로 로봇의 움직임을 더 최적화할 필요성이나 로봇을 수리해야할 필요성을 생산 담당자들에게 알리는 것이 목적입니다.

Uemura, Tomoki, et al. “A generative flow-based model for volumetric data augmentation in 3D deep learning for computed tomographic colonography.” International journal of computer assisted radiology and surgery 16.1 (2021): 81–89.

이번 포스팅에서는 IROS 2022 학회에서 접한 많은 연구들 중 딥러닝 모델을 사용하여 로봇의 동작에 대한 이상탐지(anomaly detection)를 수행한 3개의 연구들을 소개합니다. 실제 생산 현장의 요구사항에 맞춘 저희 RPMS 프로젝트와 달리 이 연구들에는 동작 품질 분석이 포함되어 있진 않았지만, 딥러닝 모델을 사용하는 방식은 저희와 유사합니다. 또한 이 세 가지 연구들을 기반으로 로보틱스 분야에서 이상탐지를 수행할 때 중요한 두 가지 인사이트를 제시하고, 이를 저희 프로젝트에서는 어떻게 적용하고 있는지 소개하고자 합니다.

Model-Free Unsupervised Anomaly Detection of a General Robotic System Using a Stacked LSTM and Its Application to a Fixed-Wing Unmanned Aerial Vehicle

해당 연구는 stacked Long Short Term Memory (이하 LSTM) 신경망을 사용하여 피드백 컨트롤에 의해 제어되는 로봇 시스템에서의 이상탐지를 수행했습니다. LSTM 신경망은 시계열 데이터를 기반으로 다양한 이상탐지 연구들에서 사용되고 있으며 stacked LSTM은 단순히 LSTM layer를 여러겹 쌓아서 모델의 깊이를 더한 형태입니다. 실제 모델의 학습 및 테스트는 무인 항공기의 운항 데이터로 이루어진 ALFA 공개 데이터셋을 기반으로 수행되었습니다. 정상 데이터만으로 비지도 학습을 수행한 후, 다양한 이상 상황이 포함된 테스트 데이터에서 기존 SOTA 모델들 대비 이상탐지 정확도에서 큰 성능 향상을 보여주었습니다. 인상적인 부분들은 다음과 같습니다.

  • 피드백 컨트롤에 의해 제어되는 로봇 시스템에서 별도의 추가적인 센서 데이터 없이 이상탐지 수행
  • Stacked LSTM 신경망을 사용하여 시계열 데이터의 참조 상태들과 과거 상태들에 기반해 현재 상태를 예측하는 모델을 만들고, 이를 이상탐지에 적용

이상탐지 수행 방식을 좀 더 상세히 설명하면 다음과 같습니다. 우선 4Hz로 수집된 무인 항공기의 속도, 자세, 각속도를 특정 시점의 상태로 정의하고 이를 stacked LSTM 모델의 입력 데이터로 사용합니다. LSTM 모델은 L개의 참조 상태들과 L개의 관찰된 과거 상태들을 기반으로 현 시점의 상태를 예측합니다. 그런 다음 실제 관찰된 현재 상태와 모델이 예측한 현재 상태의 잔차(Residual)를 L1 Norm 방식으로 계산하여 이를 이상치 점수(anomaly score)로 사용했습니다. 이 이상치 점수가 특정 threshold를 넘어서는 경우를 이상치로 정의하였습니다. 오른쪽 아래 figure를 보면 90초 시점 이후 fault가 발생한 상황에서 이상치 점수 값이 threshold를 넘어서 크게 올라가는 것을 확인할 수 있습니다.

Park, JaeHyeon, Soham Shanbhag, and Dong Eui Chang. “Model-Free Unsupervised Anomaly Detection of a General Robotic System Using a Stacked LSTM and Its Application to a Fixed-Wing Unmanned Aerial Vehicle.” 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2022). IEEE Robotics and Automation Society, 2022.

RoBiGAN: A bidirectional Wasserstein GAN approach for online robot fault diagnosis via internal anomaly detection

해당 연구에서는 걷고 있는 사족 보행 로봇의 움직임을 모니터링하기 위해 센서 데이터에 기반한 online anomaly detection을 수행했습니다. 센서 데이터의 분포를 학습하는 생성모델을 먼저 외부에서 학습시킨 후, 학습된 모델을 사족 보행 로봇의 컴퓨터에 배포하였습니다. 모델의 학습은 정상적으로 걷고 있는 상태의 데이터만을 사용한 비지도 학습 형태로 수행되었고, 테스트는 로봇이 걷는 도중 임의로 이상 상황을 일으켜서 진행되었습니다. 로봇내 online serving을 위해서 모델의 크기는 작게 하였고, 결과적으로 로봇 컴퓨터의 CPU만을 사용하며 10Hz inference가 가능하도록 만들었습니다. 흥미로웠던 점들은 아래와 같습니다.

  • 다양한 센서 데이터의 좀 더 정확한 분포 학습을 위해 latent space로의 inverse mapping까지 포함한 생성모델인 Bidirectional Wasserstein GAN을 사용
  • 센서 데이터 각각에 대한 복원 오차(reconstruction error)를 계산함으로써 이상치의 원인 localization을 시도
  • 외부에서 학습된 작은 모델 배포하여 사족 보행 로봇 내에서 10Hz의 online anomaly detection을 수행

모델 학습 과정과 전체 이상탐지 시스템이 작동하는 방식은 다음과 같습니다. 먼저 로봇의 다양한 센서 output vector를 큐(Queue)와 비슷한 자료 구조인 ring buffer에 순서대로 담습니다. 그런 다음 특정 시점의 ring buffer의 상태에 윈도우를 적용해 딥러닝 모델의 입력으로 사용합니다. 사용한 모델은 생성모델의 일종인 Bidirectional Wasserstein GAN입니다. 이는 오른쪽 아래 figure에서 볼 수 있듯이 3개의 신경망인 인코더(Encoder), 생성기(Generator), 구분기(Discriminator)로 이루어져 있고 각각은 Multilayer Perceptron으로 구성하였습니다. 인코더는 입력 데이터를 latent space로 보내는 mapping을 학습하고, 생성기는 latent variable을 다시 입력 데이터 space로 보내는 mapping을 학습합니다. 그리고 구분기의 경우 x와 E(x), G(z)와 z의 쌍을 입력으로 받아서 입력 데이터 space와 latent space 모두에서 진위 여부를 판별합니다. 이 과정은 Wasserstein loss를 기준으로 최적화되고, 추가적으로 x와 G(E(x)) 사이의 차이를 최소화하는 Cycle-consistency loss가 더해져서 최종 목적 함수가 구성되었습니다.

Tristan, Schnell, Katrin Bott, Lennart Puck, Timothée Buettner, Arne Roennau, and Rüdiger Dillmann. “RoBiGAN: A bidirectional Wasserstein GAN approach for online robot fault diagnosis via internal anomaly detection.” 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2022). IEEE Robotics and Automation Society, 2022.

모델 추론 시에는 G(E(x)) 값을 기반으로한 reconstruction-based 이상치 점수와 구분기의 판별 여부를 기반으로한 critic-based 이상치 점수를 종합하여 이상치 점수를 산출합니다. 그런데 테스트 결과 critic-based 이상치 점수는 불안정하여서 최종 시스템에서는 reconstruction-based 이상치 점수만을 사용하였습니다. 마지막으로 센서별 복원 오차 값을 기준으로 이상치 localization을 수행한 결과도 제시하였습니다. 로봇이 지닌 12개의 축 각각에 대한 복원 오차를 계산하여 이상치 발생시 어느 축이 가장 큰 복원 오차를 보였는지 시각화하였습니다.

Multi-Level Task Learning Based on Intention and Constraint Inference for Autonomous Robotic Manipulation

세번째로 다룰 연구는 앞의 두 연구와는 다르게 Learning from Demonstration 방식으로 태스크 러닝을 하면서 이상탐지를 함께 수행한 로봇 시스템에 대한 것입니다. 우선 로봇팔을 사람이 직접 움직이며 물체를 집어서 옮기는 등의 시연(demonstration)을 하면, 해당 태스크는 하위 목표를 가진 세부 단계인 스킬들로 나누어져 태스크 그래프가 생성됩니다. 학습을 거친 로봇은 자동화된 방식으로 태스크를 수행하면서 각 스킬 마다 도출된 feature constraint를 기반으로 다양한 센서 모달리티에 대한 이상탐지를 수행합니다. 본 연구의 인상적인 점들은 다음과 같습니다.

  • 사람의 태스크 시연 후 의도 파악과 feature clustering을 통해 태스크의 세부 스킬들을 나눠주는 data-driven segmentation algorithm 개발
  • 도출된 feature constraint를 기반으로 각 스킬들이 실행되는 동안 online anomaly detection 수행
  • 태스크 수행 도중 이상치 발생시 학습된 recovery 스킬을 자동으로 실행한 뒤 원래의 태스크 흐름으로 돌아감

본 연구에서 수행한 태스크 러닝과 이상탐지에 대해 좀 더 상세하게 다뤄보겠습니다. 태스크 러닝에 대해 먼저 언급하겠습니다. 사람이 로봇팔을 움직여서 시연을 하는 동안 end-effector의 경로가 Euclidean space 상에 기록됩니다. 그런 다음 경로는 상태와 움직임을 포함하는 N개의 observation으로 변환되고, 각 상태는 D 차원을 지닌 feature space로 mapping 됩니다. 그리고 태스크를 스킬들로 구분하여 각 스킬들의 feature region을 D 차원의 다변량 정규 분포로 나타냅니다. 태스크를 세부 스킬들로 나누기 위한 의도 파악과 feature clustering은 Inverse Reinforcement Learning과 Bayesian Nonparametric Mixture Model이 사용되었습니다. 이와 관련된 자세한 설명은 해당 논문을 참고하시기 바랍니다.

Christoph, Willibald, and Dongheui Lee. “Multi-Level Task Learning Based on Intention and Constraint Inference for Autonomous Robotic Manipulation.” 2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2022). IEEE Robotics and Automation Society, 2022.

다음으로 이상탐지의 경우 각각의 스킬이 수행되는 동안 특정 상태의 feature 값이 추정된 feature region 내에 위치하는지를 봄으로써 수행되었습니다. 태스크 수행 도중 특정 상태의 가능도 값이 각 스킬 별 threshold 값 보다 낮을 경우 이를 이상치로 정의하였습니다. 그리고 로봇이 특정한 이상 상황을 처음 경험할 경우 사용자에게 recovery behavior를 수행하도록 요청하게 되고, 이렇게 특정 recovery behavior도 하나의 스킬로 학습된 다음에는 비슷한 이상 상황에서 자동으로 반응하여 원래의 태스크 흐름을 회복하도록 하였습니다.

Insights

마지막으로 위 연구들을 중심으로 로보틱스 분야에서의 이상탐지 수행과 관련된 두 가지 인사이트를 제시하고, 이 인사이트들과 관련하여 저희는 어떻게 동작 품질 분석을 수행하고 있는지 언급하고자 합니다.

먼저 이상탐지에서는 이상치의 원인 feature를 분석하는 것이 중요합니다. 이를 위해 두번째 연구에서는 로봇이 지닌 12개의 축 별 복원 오차를 각각 계산하여 활용하였습니다. 제가 속해있는 RPMS 프로젝트에서도 AutoEncoder의 feature 별 복원 오차나 gradient 기반 방법을 사용하여 원인 feature 분석을 수행하고 있습니다. 그리고 Normalizing Flows의 경우도 다변량 정규 분포인 latent space 상의 분석을 통해 품질이 나쁜 동작의 원인 feature 유추가 가능합니다. 이러한 정보는 실제 자동차 생산 현장에서 로봇팔의 동작 품질이 떨어졌거나 고장이 예상될 때, 어떤 축을 중심으로 정비를 해야하는지에 대한 중요한 가이드가 될 수 있습니다.

다음으로 이상치가 발생한 경우 로봇의 움직임을 수정하는 시도는 산업 현장에서 유익하게 사용될 수 있습니다. 세번째 연구에서는 이상치 발생시 사용자의 태스크 시연을 따라서 학습된 recovery behavior가 수행되어서 주어진 작업을 끝까지 완수하도록 하였습니다. 저희 프로젝트에서는 모션 플래닝(motion planning)을 통해 로봇의 움직임을 직접 최적화하지는 않지만, 이미 정의된 움직임의 품질을 분석하여 최적화에 대한 실마리를 제공하고 있습니다. 이를 위해 Normalizing Flows를 기반으로 로봇의 동작 품질 점수를 제공할 뿐아니라 로봇이 수행하는 태스크 수행 시간 분석, 태스크 프로그램 정의 파일에 대한 분석 등을 함께 서비스로 제공하고 있습니다. 이런 다각도의 분석을 통해서 산업 현장에 있는 엔지니어들이 어떤 방향으로 로봇의 움직임을 수정해야하는지에 대한 정보를 제공하고 있습니다.

이번 IROS 2022 학회를 통해 로보틱스 분야에서 다양한 AI 기술이 적용되는 트렌드를 살펴보고, 특히 로봇에서의 이상탐지를 수행한 최신 연구들을 접하면서 많은 아이디어를 얻을 수 있었습니다.수년 내 제조업 현장을 포함한 다양한 환경에서 자동화된 AI 모니터링 시스템이 로봇에 널리 적용되어 로봇의 동작 품질 개선과 효율성 향상에 크게 기여할 것이라 기대하며 이만 줄이도록 하겠습니다.

🚀Career 🧭Homepage 🗣️️LinkedIn 📍Facebook 🖥️TechBlog 🎬Youtube

마키나락스는 산업용 AI 솔루션을 개발하는 스타트업입니다. 반도체, 에너지, 자동차, 화학 등의 분야에 특화된 AI 솔루션과 제조 및 산업을 위한 MLOps 플랫폼(Runwayᵀᴹ)으로 AI를 통한 산업의 지능화를 실현해갑니다. 산업 현장의 문제 해결을 통해 사람이 본연의 일에 집중할 수 있게 만드는 것, 그것이 우리가 하는 일입니다.

--

--