Skip to content

SeungbeomChoi1214/SmartFactory-AIoT

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIoT 기반 자율 순찰 및 스마트 자원 순환 시스템

Raspberry Pi 5 × 2 · Mobius 4.0 · YOLOv8 · PostgreSQL 17 · MQTT · Android
oneM2M 국제 표준 기반 M2M 연동과 실시간 디지털 트윈 관제를 구현한 무인 스마트 팩토리 시스템


🎥 최종 구동 시연

Demo ▲ 클릭하면 유튜브 시연 영상으로 이동합니다 (AGV 자율 주행 → 하역 → 컨베이어 분류 → 대시보드 동기화)


📌 프로젝트 개요

제조·건설 현장의 자원 수거·분류 과정에서 발생하는 인력 의존성과 안전 사고 문제를 해결하기 위해 개발했습니다.

단순 자동화에 그치지 않고 Mobius 4.0(oneM2M 국제 표준)을 중앙 허브로 삼아, 이기종 기기(로봇·컨베이어·앱)가 서로의 코드를 건드리지 않고 통신하는 느슨한 결합(Decoupling) 아키텍처를 구현했습니다.

항목 내용
팀 구성 5인 — 최승범(팀장·전체 아키텍처), 권재훈, 박건무, 배민성, 방우혁
기간 K-DT AIoT 과정 팀 프로젝트
역할 전체 시스템 설계 · Mobius 서버 구축 · 전력 안정화 · PostgreSQL 마이그레이션 · 트러블슈팅 총괄

🛠️ 기술 스택

Hardware     │ Raspberry Pi 5 × 2, Arduino Mega, ESP32
             │ LiDAR, RFID Reader, High-Torque Servo / Step Motors
             │ LM2596 DC-DC Buck Converter (전압 안정화)
AI / Vision  │ YOLOv8, OpenCV (5종 분류: Can · Battery · Scrap · Paper · Plastic)
Server / DB  │ Mobius 4.0 (Node.js, oneM2M), PostgreSQL 17, Flask (Python)
Frontend     │ HTML5 / CSS / JS, Chart.js, SVG Map, Android WebView (Java)
Protocol     │ MQTT (제어 명령), HTTP/REST (데이터 로깅), UART/Serial (MCU 간 통신)

🏗️ 시스템 아키텍처

System Architecture

서버 상세 구축 문서 → SERVER_ARCHITECTURE.md

핵심 설계 원칙 — Hub & Spoke

모든 기기가 Mobius 서버를 통해서만 통신합니다. 로봇이 바뀌어도 앱 코드를 수정할 필요가 없고, 앱이 바뀌어도 로봇 코드를 건드리지 않습니다.

[AGV Robot]  ──publish──▶  Mobius 4.0  ◀──subscribe──  [Smart Sorter]
[Dashboard]  ──polling──▶  Mobius 4.0                  [Android App]
                               │
                         PostgreSQL 17
                        (시계열 로그 영속)

M2M 자동화 시퀀스

AGV 하역 완료
    │ RFID 감지 → Mobius /status 업데이트
    ▼
Mobius 트리거 발행
    │ /conveyor/command CIN 생성
    ▼
Smart Sorter 수신
    │ YOLOv8 분류 결과에 따라 셔틀 방향 결정
    ▼
대시보드 동기화 (Digital Twin 위치 갱신)

🔥 트러블슈팅 — 핵심 3건

Issue 1. 다중 모터 동시 기동 시 전압 강하 (Brown-out)

증상
분류기에서 고토크 모터가 동시에 기동하는 순간, 돌입 전류로 인해 입력 전압이 10.5V → 3V 이하로 급강하하며 MCU 강제 리셋 및 Step Loss 발생.

해결 (H/W + S/W 동시 대응)

  • H/W: 제어부 · 구동부 전원 라인을 물리적으로 분리 + LM2596 Buck Converter 적용
  • S/W: millis() 기반 비동기 시차 기동 알고리즘 구현 → 모터별 기동 타이밍을 분산
// shuttle.cpp — 비동기 시차 제어 핵심 로직
void loop() {
    unsigned long now = millis();
    if (now - lastMotor1Start > MOTOR_STAGGER_DELAY) {
        startMotor2();  // Motor 1 기동 후 일정 시간 뒤 Motor 2 기동
    }
}

결과
오실로스코프 파형 검증 결과, 최대 부하 시에도 3.6V 이상 제어 전압 안정 유지 → 리셋 현상 완전 해소 Trouble_Osilo


Issue 2. 관성에 의한 하역 위치 오버슈트 (Overshoot)

증상
AGV가 하역 포인트에서 정지 명령을 수신해도, 기구적 관성 + 통신 지연으로 목표 지점을 5cm 이상 이탈.

해결
RFID 태그 인식 즉시 시리얼 버퍼 강제 플러시(Serial.flush()) + 하드웨어 인터럽트 방식 긴급 제동 로직 적용

결과
제동 오차 ±1cm 이내로 개선 → 정밀 도킹 달성


Issue 3. DB 엔진 마이그레이션 (MySQL → PostgreSQL 17)

배경
LiDAR 좌표(x, y), 온습도, RFID 이벤트 등 다종 센서 데이터가 지속 누적되는 환경에서 MySQL 기반 구조로는 I/O 병목 및 공간 데이터 처리 한계가 예상됨.

해결
시계열·공간 데이터 처리에 최적화된 PostgreSQL 17로 DB 엔진 전면 교체 및 스키마 재설계


📸 하드웨어 및 대시보드

AGV 로봇

Robot - 전면 Robot - 측면
로봇 전면 로봇 측면

스마트 컨베이어

Conveyor - 전면 Conveyor - 측면
컨베이어 전면 컨베이어 측면

실시간 관제 대시보드

대시보드 1 - 관제 탭 대시보드 2 - 디지털 트윈 로봇맵 대시보드 3 - 분석 탭

📁 폴더 구조

SmartFactory-AIoT/
├── 01_agv_robot/               # [Edge 1] AGV 로봇 — Raspberry Pi 5
│   ├── robot_final.py          # LiDAR + RFID + YOLO 통합 주행 제어
│   └── main.cpp                # Arduino Mega 모터 드라이버 (인터럽트 제동)
│
├── 02_smart_sorter/            # [Edge 2] 스마트 분류기 — Raspberry Pi 5
│   ├── conveyor_main.py        # Flask 서버 + YOLOv8 추론 + Mobius 연동
│   └── shuttle.cpp             # 비동기 시차 모터 제어 (전압 안정화 로직)
│
├── 03_server_dashboard/        # [Hub] 관제 대시보드
│   └── dashboard.html          # 3-Tab 실시간 대시보드 (Digital Twin, Chart.js, SVG Map)
│
└── docs/
    └── SERVER_ARCHITECTURE.md  # Mobius 4.0 서버 구축 상세 문서

💡 회고

이 프로젝트에서 팀장으로서 가장 신경 쓴 부분은 각 모듈이 독립적으로 교체 가능한 구조를 만드는 것이었습니다. Mobius를 허브로 두면 로봇 코드가 바뀌어도 대시보드가 영향을 받지 않고, 앱이 바뀌어도 로봇은 그대로 동작합니다.

전압 강하 문제는 소프트웨어만으로는 해결이 불가능했고, 하드웨어 설계를 바꿔야 했습니다. H/W와 S/W를 동시에 다룰 수 있어야 시스템 문제를 끝까지 해결할 수 있다는 걸 이 프로젝트를 통해 다시 확인했습니다.

About

oneM2M (Mobius 4.0)-based smart factory system featuring autonomous AGV patrol, YOLOv8 classification, and digital twin monitoring.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors