스마트제조 - 로봇 조립라인 시계열 센서 데이터 분석
프로젝트 개요
주제: 스마트제조 환경에서 로봇 조립라인의 시계열 센서 데이터를 활용한 이상(결함) 탐지
데이터 특징
- 약 50개 센서 컬럼, 10Hz 수집률로 30시간 가동분을 필터링하여 최종 32개 완전 사이클 구성
- 모든 파일 공통: 974,836행 의 시계열 데이터
데이터셋 구성
분석에 사용된 데이터는 총 7개 파일로 구성되어 있으며, 각각 공정의 서로 다른 측면을 담고 있다.
① Conveyor_Signals.csv — 컨베이어 신호
구성: 974,836행 × 11컬럼
컬럼 설명
| Q_VFD1~4_Temperature | 컨베이어 구동 인버터(VFD) 온도 센서 4개 |
| I_Stopper1~5_Status | 스토퍼 작동 상태 (bool) |
| _time | 타임스탬프 |
| Description | 이벤트 설명 (약 49.5% 결측 — 이벤트 발생 시에만 기록) |
이상치 분석
VFD2~4 온도 컬럼에서 ±2.98e+38과 같은 물리적으로 불가능한 값이 발견되었다. 이는 Float32 자료형의 최댓값에 근접한 수치로, 센서 통신 단절 시 발생하는 오버플로우 값으로 판단된다. 정상 동작 온도 범위(화씨 기준 32~300°F)를 벗어난 값을 1차 제거하고, IQR 방식으로 2차 처리하는 방식을 적용하였다.
② FFCell_CycleManagement.csv — 사이클 관리
구성: 974,836행 × 4컬럼
컬럼 설명
| Q_Cell_CycleCount | 경과 사이클 수 (공정 중단 시 0으로 리셋) |
| I_MHS_GreenRocketTray | Troy 감지 여부 (bool) |
| _time | 타임스탬프 |
| Description | 이벤트 설명 (약 49.5% 결측) |
③ FFCell_SafetyManagement.csv — 안전 상태 관리
구성: 974,836행 × 6컬럼
컬럼 설명
| I_SafetyDoor1/2_Status | 안전문 상태 (bool) |
| I_HMI_Estop_Status | E-Stop 상태 (bool) |
| I_Stopper1~5_Status | 스토퍼 상태 (bool) |
| _time | 타임스탬프 |
| Description | 이벤트 설명 (약 49.5% 결측) |
④ R01_Data.csv — 로봇 1번 데이터
구성: 974,836행 × 10컬럼
컬럼 설명
| I_R01_Gripper_Load | 그리퍼 하중 (물체 파지 여부) |
| I_R01_Gripper_Pot | 포텐셔미터 (그리퍼 개폐 상태) |
| M_R01_[B/L/U/R/S/T]JointAngle_Degree | 6축 관절 각도 |
이상치 분석
Gripper Load: 음수값 72개(0.01%) 발견. 하중 센서 특성상 음수는 물리적으로 발생할 수 없으며, 특정 시간대에 집중되지 않고 산발적으로 분포하여 센서 노이즈로 판단, 제거하였다.
Gripper Pot: 5,200 근처(그리퍼 열림)와 11,200 근처(그리퍼 닫힘)의 이중 분포(Bimodal Distribution) 확인. IQR 기준으로는 이상치로 분류되지만, 실제로는 그리퍼의 정상적인 열림/닫힘 동작을 반영한 정상 데이터이다.
Joint Angle: 전체 시간의 약 87%는 홈 포지션 정지 상태, 13%만 실제 동작. 산업용 로봇의 일반적인 작업 사이클 패턴으로 이상치 없음.
⑤ R02_Data.csv — 로봇 2번 데이터
구성: 974,836행 × 10컬럼 (R01과 동일 구조)
R01과 다른 공정을 담당하는 로봇으로, 관절 각도 범위가 R01과 상이하다(-160도까지). 이는 설치 위치와 작업 내용이 다르기 때문이며 이상치가 아니다. R01 대비 동작 비율이 약 20%로 조금 더 높다. 이상치 없음.
⑥ R03_Data.csv — 로봇 3번 데이터
구성: 974,836행 × 10컬럼
이상치 분석
Gripper Load: 10,000을 초과하는 극단값이 소수 존재(최대 10,562). R01·R02의 정상 범위(최대 1,500 내외)와 비교하여 명확한 이상치로 판단.
T Joint Angle: 181.8도까지의 값 발견. 산업용 로봇 T축의 물리적 동작 한계(±180도)를 초과하는 값으로, 4,029개(0.41%)를 이상치로 처리하였다.
⑦ R04_Data.csv — 로봇 4번 데이터
구성: 974,836행 × 10컬럼
이상치 분석
Gripper Load: 전체의 30%에 해당하는 292,732개가 음수값. 히스토그램 분석 결과 음수 구간(-2,000~0)과 양수 구간(0~1,000)이 각각 하나의 분포를 형성하는 것으로 확인되었다. 단순 센서 노이즈가 아닌 별도의 동작 상태를 반영한 의미 있는 분포일 가능성이 있어 추가 도메인 확인이 필요하다.
Gripper Pot: 음수값 4,472개(0.5%) 발견. 포텐셔미터는 물리적으로 음수가 불가능하므로 이상치로 처리 예정.
전체 이상치 요약
파일 이상치 컬럼 내용 처리 방법
| Conveyor_Signals | Q_VFD2~4_Temperature | Float32 오버플로우값 | 도메인 범위 + IQR 제거 |
| R01_Data | I_R01_Gripper_Load | 음수 72개 (0.01%) | 제거 후 선형 보간 |
| R03_Data | I_R03_Gripper_Load | 10,000 초과 극단값 | 제거 |
| R03_Data | M_R03_TJointAngle | 180도 초과 4,029개 | 제거 |
| R04_Data | I_R04_Gripper_Load | 음수 30% — 추가 확인 필요 | 보류 (플래그 처리) |
| R04_Data | I_R04_Gripper_Pot | 음수 4,472개 (0.5%) | 제거 |
분석 후기
이번 탐색적 데이터 분석(EDA)을 통해 단순히 통계적 이상치 탐지(IQR, Z-score)만으로는 산업 데이터를 올바르게 처리하기 어렵다는 점을 확인하였다. Gripper Pot의 이중 분포나 R04 Gripper Load의 음수 분포처럼, 통계적으로는 이상치처럼 보이지만 실제로는 정상적인 동작 패턴을 반영하는 경우가 존재한다. 따라서 센서 데이터 전처리 시에는 통계적 방법과 도메인 지식을 함께 적용하는 것이 중요하다.

'내일배움캠프(QA,QC_5기)' 카테고리의 다른 글
| [내일배움캠프] QA/QC_5기 ( 70일차 ) (0) | 2026.06.25 |
|---|---|
| [내일배움캠프] QA/QC_5기 ( 68일차 ) (0) | 2026.06.23 |
| [내일배움캠프] QA/QC_5기 ( 67일차 ) (0) | 2026.06.17 |
| [내일배움캠프] QA/QC_5기 ( 66일차 ) (0) | 2026.06.16 |
| [내일배움캠프] QA/QC_5기 ( 65일차 ) (0) | 2026.06.15 |