일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 동탄사진관
- 보라동맛집
- 955cafe
- 광교셀프촬영
- 광교스튜디오
- 동탄 셀프사진관
- 딥러닝
- 빅분기
- 수원955카페
- 기사시험
- 서울카페
- 빅데이터분석기사
- 용인카페
- 용인맛집
- 교내대회
- 광교증명사진
- 맛집
- 화성제부도
- 수원카페
- 셀프온스튜디오
- 동탄근처사진관
- 처인구맛집
- 광교데이트
- 빅데이터
- 인계동955카페
- 광교사진관
- 동탄 셀프온사진관
- 수원맛집
- 처음부산
- 성수동카페
- Today
- Total
뚱이월드
[논문] Programmable Motion-Fault Detection for Collaborative Robots 본문
※본 글의 모든 그림은 논문에서 가지고 왔습니다.
이번에 요약하는 논문의 제목은 "Programmable Motion-Fault Detection for Collaborative Robots"입니다.
논문 링크: https://ieeexplore.ieee.org/abstract/document/9543658
Programmable Motion-Fault Detection for a Collaborative Robot
Smart factories should be able to respond to catastrophic situations proactively, such as recalls caused by production line disruptions and equipment failures. Therefore, the necessity for predictive maintenance technology, such as fault detection or diagn
ieeexplore.ieee.org
[출처]
Park, Ye-Seul, Dong-Yeon Yoo, and Jung-Won Lee. "Programmable Motion-Fault Detection for a Collaborative Robot." IEEE Access (2021).
ch1. Introduction
본 논문에서는 스마트팩토리에서 결함을 감지하여 유지 보수하는 내용에 대해 설명하고 있다. 스마트팩토리에서는 사람과 협동 로봇이 상호작용하며, 협동 로봇의 고장과 같은 결함 상황에 대응할 수 있어야 한다.
위 그림과 같이 협동로봇(Collaborative robot, cobot)은 하나의 작업을 하는데 여러 프로그램이 동작할 수 있고, 프로그램을 동작하는데 많은 동작의 결합으로 수행된다. 이러한 모든 요소를 고려하여 센싱된 데이터를 분석할 필요가 있다. 그러나, 기존에는 고정된 동작을 수행하는 환경에 집중하므로 코봇(cobot)에 적용하기 어렵다. 기존 방법을 적용할 때 문제는 3가지가 있다.
1. 동작 오류 감지를 위한 임계값을 정의할 수 없다. 고정된 동작을 수행하는 로봇과 다르게 코봇은 동작하는 환경이 동적이기 때문에 이러한 환경을 모두 고려할 수 없어 임계값을 설정할 수 없다.
2. 검출된 센싱값이 유사해도 작업과 모션에 따라 의미가 다르므로 센싱값을 해석하는데 문제가 있다. 데이터 기반 결함 진단도 모션의 다양성을 고려할 수 없다.
3. 기존 연구에서는 고장의 지점을 탐지하는 데에 초점을 맞춘다. 그래서 고장의 원인이나 고장의 전조증상을 알아내기가 어렵다.
본 논문에서는 위에서 논의한 세 가지 문제를 해결하기 위한 방법을 아래와 같이 제안한다.
1. 센싱값과 협동 로봇의 동작 정보 간 관계를 계층적으로 분석할 수 있는 데이터 모델을 제안한다. ch3에서 3가지 분석 데이터 모델을 제안한다.
2. 이상치가 있는 모션을 추적하기 위해 센싱값과 작동 데이터 간 상관관계 분석을 한다. ch4에서는 프로그램 및 모션(PM) 인덱싱 방법과 파싱 기법을 제안한다.
3. 동일한 PM에서 센싱값을 분석함으로써 모션결함의 검출 기준을 정의한다. ch5에서 모션의 잔차 분석 방법을 제안한다.
ch2. Related Work
ch3. Data Analsis Model for Programmable Operations
이 장에서는 실행 데이터 분석을 할 수 있는 데이터 모델을 제안한다. 데이터 모델은 주기적으로 생성되는 센싱 데이터와 비주기적으로 생성되는 작동 데이터가 있다.
센서 데이터 스키마 구조는 아래와 같다.
Fig 4와 같이 3가지( 장치, 축, 센서)로 나뉜다.
작동 데이터 스키마 구조는 아래와 같다.
결함 & 고장 데이터는 결함 & 고장으로 인식했을 때 그 시점에서의 데이터를 말한다. 결함 & 고장의 경우에 전후 데이터가 생성된다. 결함 & 고장는 단계를 나눌 수 있고, level2(WARN)는 결함의 전조가 될 수 있는 비정상적인 움직임(Anomaly)을 말하고, level3(ERROR)는 비정상적인 모션 동작이 나타난 경우를 말한다.
위 그림으로 ch3을 정리할 수 있다. 여기서 작동 데이터 레벨에 따라 INFO, WARN, ERROR를 할당할 수 있고, 그림에서 WARN, ERROR를 볼 수 있다. 그 때의 센싱 데이터와 작동 데이터를 알 수 있고 이상 데이터가 포함되어 있다.
데이터 모델을 통해 센싱 데이터와 작동 데이터를 분석할 수 있다.
ch4. Indexing of PM data
boot_idx는 전원이 켜지고 꺼질 때까지를 말하고, program_id는 하나의 boot에서 프로그램 종류와 내용이고, program_idx는 program_id 실행할 때의 단위, motion_id는 프로그램을 구성하는 모션의 단위, motion_idx는 motion_id를 실행 단위를 말한다.
아래는 논문에서 가장 중요하다고 생각하는 개념이다.
여기서 말하는 PM은 program과 motion을 말한다.
PM Identifier(PM_id)는 실행 중인 프로그램과 동일한 모션에 대해 즉, program_id와 motion_id가 모두 동일한 경우 하나의 id가 할당된다.
PM Index(PM_idx)는 program_idx와 motion_id가 같으면 하나의 인덱스가 할당된다.
PM-Iteration Index(PMI_idx) PM_idx와 motion_id가 같을 때 하나의 인덱스가 할당된다.
그림에서 살펴보면, 1개의 boot_idx, 4개의 program_ids, 10개의 motion_ids, 18개의 program_idx, 48개의 motion_idx가 있다.
여기서 PM_id는 Program A 에서 3개의 motion_id이 있고, Program B 에서 3개의 motion_id, Program C 에서 2개의 motion_id, Program D 에서 2개의 motion_id로 총 10개의 PM_id가 있다.
PM_idx는 처음 프로그램인 Program A에서 3개의 motion이 있고, 그 다음 프로그램 Program B에서 3개의 motion, Program C에서 2개의 motion, Program A에서 3개의 motion, 마지막으로 Program D에서 2개의 motion 으로 총 13개의 PM_idx가 있다.
PMI_idx는 PM_idx와 command_id가 동일할 때 하나의 인덱스가 할당되므로 총 48개의 PMI_idx가 있다.
위 그림은 같은 PM_id와 PM_idx에서 토크 데이터를 나타낸 것이다. Fig 9에서 볼 수 있듯이 118 PM_idx 일반적인 패턴과 다른 것을 볼 수 있다. 이처럼 비정상적 구간을 감지하면 PM_idx의 PM을 추적할 수 있다.
PM정보를 추출하는 방법은 5개의 table로 구성된 데이터베이스(3장에서 설명한 스키마 구조)에서 부팅정보와 프로그램 정보, 모션 정보를 가지고 온다. BOOT 파싱은 메시지 필드의 ON, OFF문자로 파싱하고, PROGRAM 파싱도 마찬가지로 메시지 필드에서 프로그램 이름과 버전 정보를 추출할 수 있고, 프로그램 실행과 끝 지점에 대한 정보도 추출할 수 있다. MOTION 파싱도 메시지 필드에서 명령어, 현재위치, 목표 위치와 같이 모션 정보를 얻을 수 있고 DateTime 필드에서 시작과 끝에 대한 정보를 알 수 있다.
추출한 정보를 저장한 그림은 Fig 15와 같다.
ch5. Programmable Motion-Fault Detection
Anomaly: 일반적인 패턴과 다른 패턴을 보이는 경우
Representative: 예상 데이터 패턴
Motion Residuals: 예상값과 실행 데이터 사이 차이
대표 패턴을 찾고, 이상을 감지하기 위해 잔차를 계산한다.
PM index별 대표 패턴을 추출하는 방법은 먼저, 각 PMI_idx에 대한 센서 데이터의 기대값을 측정하고, 중간값을 갖는 PMI_idx를 추출하여 대표 패턴으로 정의한다. 대표 패턴을 추출할 때에는 데이터 레벨이 1(INFO)일 때 수행하여 2(WARN), 3(ERROR)를 제외한다.
잔차를 분석하는 기법은 그림 Fig 18과 같이 패표 패턴의 값과 PMI_idx에서 값의 잔차를 구해 이상값을 평가하는 지표로 사용한다.
위에서 구한 잔차값으로 이상치를 찾는 방법을 제안하고 있다.
첫 번째로 PM_idx별로 PMI_idx 간 잔차값의 분산을 구하고 분산이 큰 PM_idx를 감지한다.
두 번째로는 선택된 PM_idx(분산이 큰 PM_idx)에서 해단 PM을 실행했을 때 잔차로 결함을 감지한다. 이때 특정 임계값을 사용할 수 있는데 임계값은 실험적으로 조정할 수 있다.
모션 결함을 감지하기 위해 데이터 인덱싱 방법을 제안하고 있다. 본 논문에서는 제안하는 방법이 PM에 대한 일반적인 데이터를 기반으로 이상을 식별하고 정확한 진단을 수행할 수 있다고 설명한다.
ch6. Experimental Results
실험에서는 Fig 21에서 볼 수 있는 Cobot을 사용하였다.
테스트 프로그램으로 는 자동차 매트를 접착하는 과정을 시나리오로 고려하였다. 자동차 매트 접찾 시나리오는 Fig 21 오른쪽 그림과 같다.
실험에서 얻어진 데이터는 Fig 22와 같다.
데이터 인덱싱 방법은 Fig 23과 같이
부트 인덱싱은 그림의 가로축 날짜별 boot_idxs를 나타내고 수집기간동안 59번의 boot_idx가 생성되었다.
프로그램 인덱싱은 그림의 색상으로 나타내고 있으며 boot_idxquffh 5개의 프로그램(5개의 차 매트 접착 프로그램)이 실행되었음을 볼 수 있다.
모션 인덱싱은 프로그램 내에서 색의 투명도로 모션을 구분한다.
정의된 PM인덱스 방법으로 총 PM_ids 44개, PM_idxs 2,073개, PMI_idxs 57,855개가 생성되었다.
이제 모션의 잔차 분석을 통해 결함을 감지합니다. Fig 25는 잔차의 분산이 큰 PM_idx 상위 10%를 주황색으로 나타냈다.
주황색으로 표시된 PM_idx에서 이상 PMI_idx를 감지하기 위해 Fig 26과 같이 5,10,15,20,25%로 구간을 나누어 잔차의 검출 오차를 식별하고 비정상 임계값을 15%로 설정했다.
비정상 임계값을 15%로 하여 정리한 표는 Table 2와 같다.
Table 2는 이상 발생률을 나타내는 표이다. P1-P5는 프로그램을 나타낸다.
Table 2 에서 각도 파라미터는 모든 축(Joint)에서 모션 결함을 감지를 확인할 수 있고, 각도 변수를 사용하는 것이 모션 결함을 감지하는데 높은 우선순위를 가진다는 것을 알 수 있다.
Discussion 부분
앞에서 말했던 세 가지 목표로 실험 결과를 설명한다.
1) 실행의 계층적 분석: PM 실행 정보는 "부트-프로그램-모션"순서로 데이터를 분석할 수 있다. 제안된 인덱스 시스템은 프로그래밍 가능한 동작을 계층적으로 식별할 수 있다.
2) 결함 원인에 대한 추적성 확보: 이상치 PMI_idx에 대한 PM_idx, motion_idx, program_idx, boot_idx을 알 수 있다.
3) 프로그래밍 가능한 동작 오류 감지 기준 설정: 실험에서 동일한 PM을 실행하는 데이터 세트를 구성하면 Fig 28과 같다.
(a) PMI_idx = 23678(J1): 실행 중 인터럽트가 발생했음을 알 수 있다.
(b) PMI_idx = 53809(J2): 외부 흔들림을 통해 이상 여부를 판별한다
(c) PMI_idx = 58906(J3): Fig. 28(b)와 같이 정적 모션 스탯에서 외부 진동에 의해 이상 현상이 발생한다.
(d) PMI_idx = 35214(J4): 초기 위치 값의 차이를 기반으로 그림 28(d)를 오류로 식별할 수 있다.
(e) PMI_idx = 1(J5): 전형적인 패턴의 그래프가 비교적 짧은 시간 내에 단축된 것으로 보여 위치 도달에는 문제가 없다고 판단할 수 있으나 실행 시간이 짧아 불안정함을 볼 수 있다.
(f) PMI_idx = 36900 (J6): 초기 위치 오차와 실행 정의 불안정성이 드러난 상황으로 유추할 수 있다.
ch7. Conclusion
본 논문에서 제안하는 방법은 협동 로봇의 모션 결함 검출 방법이다. 이 방법을 사용하면 프로그램 동작에서 결함의 원인을 분석할 수 있다. 그러나 실제 환경이 아닌 시뮬레이션 데이터에서 수행하고 평가했기 때문에 실제 환경에서는 정확하지 않을 수 있다.
처음 작성하는 논문요약인데....너무 긴 논문이여서 버거웠다....무려 20page....
그래서 논문을 중간중간 읽고 요약했더니 매끄럽게 이어지지 않는 것 같다
다음에는 전체적으로 논문을 읽고 작성하도록 해야겠다.
'공부 > 논문' 카테고리의 다른 글
[논문] A deep Network Solution for Intelligent Fault Detection in Analog circuit (0) | 2021.08.11 |
---|