Robotics Course Project · June 2024로보틱스 수업 프로젝트 · 2024년 6월
Automated Drone Maintenance System PoC 드론 자동 정비 시스템 PoC 구현
An automated drone maintenance system for building a Smart Factory and CMMS inside an MFC (Micro Fulfillment Center), built with Elephant Robotics' MyAGV2023 and Cobot320.
MFC(Micro Fulfillment Center) 내 Smart Factory 및 CMMS 구축을 위한 자동화된 드론 정비 시스템. Elephant Robotics의 MyAGV2023와 Cobot320을 활용해 구현했습니다.
Project Overview & Vision프로젝트 개요 및 비전
Topic프로젝트 주제
Automated drone maintenance system built with Elephant Robotics' MyAGV2023 and Cobot320
Elephant Robotics의 MyAGV2023와 Cobot320을 활용한 자동 드론 정비 시스템 구현
Core Goal핵심 목표
Build a Smart Factory and a CMMS (Computerized Maintenance Management System) — digitizing and automating maintenance management, a subset of ERP
Smart Factory 구현과 CMMS(전산화 유지보수 관리 시스템) 구성. 전사적 자원 관리(ERP)의 일부분인 유지보수 관리를 전산화 및 자동화
Final Product / Concept최종 제품/개념
Built an SFaaS (Smart Factory as a Service) product and proposed it to KG ICT as a next-gen business item candidate
SFaaS (Smart Factory as a Service) 제품을 제작하고 KG ICT에 차세대 신사업 아이템 후보 제시
Future Value미래 가치
As drone delivery becomes inevitable, automated maintenance offers accuracy, precision, faster operation, maximized uptime, and lower delivery costs
드론 배송 시스템 도입이 불가피해질 것으로 예상되는 상황에서, 자동화된 정비 시스템은 정확도, 정밀도, 빠른 작업 속도, 극대화된 업타임, 배송 원가 절감 등의 이점 제공
Why This PoCPoC 선정 이유
Considering constraints that ruled out industrial logistics drones, we implemented the PoC using a DJI Tello drone instead:
산업용 물류 드론을 사용할 수 없는 여러 제한점을 고려하여 상업용 드론 대신 DJI Tello 드론을 활용하여 PoC를 구현했습니다:
- Payload limits: experiment constraints from industrial drone payload restrictions
- Indoor-only environment: no GPS signal indoors, making localization difficult
- Propeller turbulence: stability issues caused by propeller turbulence indoors
- 최대 적재량 제한: 산업용 물류 드론의 적재량 제한으로 인한 실험 제약
- 실내 환경 한정: GPS 신호 수신 불가로 인한 실내 위치 추적의 어려움
- 프로펠러 난류 문제: 실내 환경에서 프로펠러 난류로 인한 안정성 문제
System Architecture & Communication시스템 구조 및 통신
A central PC server controls the entire system, handling client requests and responses.
중앙 통제 장치(PC Server)가 모든 시스템을 통합적으로 제어하며 Client의 요청을 처리하고 응답을 제공합니다.
🔌 Socket CommunicationSocket 통신
TCP/IP and UDP based. The PC exchanges data with drones, AGVs, and PLCs over sockets.
TCP/IP 및 UDP 프로토콜 기반. PC는 드론, AGV, PLC 등의 하드웨어와 Socket 통신으로 정보를 교환합니다.
📡 Drone Communication드론 통신
UDP sockets over Wi-Fi; all computation on the PC. Ports 8889 (commands), 8890 (feedback), 11111 (video/camera).
UDP Socket 통신(WIFI 연결) 기반, 모든 연산 처리는 PC에서 진행. Port 8889(지령), 8890(피드백), 11111(동영상/카메라).
📱 UIUI 구성
User interface built with Flutter
Flutter를 활용한 사용자 인터페이스
💾 Data Management데이터 관리
Google Sheets database for the CMMS, with live status monitoring through the UI
CMMS 구현을 위한 Google Sheets 데이터베이스, UI를 통한 현재 상황 모니터링
Hardware & Technologies활용 장비 및 기술
🤖 MyAGV2023
Role: autonomous vehicle moving drones between landing pads and maintenance zones (AR_7, AR_8)
역할: 드론을 이/착륙장과 정비 공간(AR_7, AR_8)으로 이동시키는 자율주행 차량
- Line Tracing: autonomous driving via colored tape recognition
- LiDAR: obstacle handling and following-distance keeping
- AR Marker: triggering specific actions and reporting location
- Bluetooth: automatic door control
- Line Tracing: 색테이프 인식 기반 자율주행
- LiDAR: 장애물 대처 및 앞차 간격 유지
- AR Marker: 특정 동작 수행 및 위치 정보 전달
- Bluetooth 통신: 자동문 제어
🦾 MyCobot320
Role: collaborative robot performing drone recognition and maintenance tasks
역할: 드론의 인식 및 정비 작업을 수행하는 협동 로봇
- End-effector camera: object recognition with YOLO and cv2
- Drone position & ID detection: computer-vision based
- pymycobot API: Python-based control
- End Effector 카메라: Yolo 및 cv2 기반 객체 인식
- 드론 위치 및 기체 번호 파악: 컴퓨터 비전 기반 인식
- pymycobot API: 파이썬 코딩 기반 제어
🚁 DJI Tello Drone
Role: small drone used for the PoC
역할: PoC 구현에 사용된 소형 드론
- UDP socket communication: real-time link with the PC
- SDK: Python-based control
- VoF sensor: level keeping
- AR pose estimation: position correction
- UDP Socket 통신: PC와의 실시간 통신
- SDK: Python 기반 제어
- VoF 센서: 수평 유지
- AR Pose Estimate: 위치 보정
⚙️ PLC + 3-Phase Motor3상 모터
Role: driving and controlling the conveyor belt during drone repair
역할: 드론 수리 과정 중 컨베이어 벨트 구동 및 제어
- LS Electric XGB DR32H: PLC controller
- LSLV M100 Inverter: motor control
- PyModbus: serial communication with the PC
- LS산전 XGB DR32H: PLC 제어기
- LSLV M100 Inverter: 모터 제어
- PyModbus 모듈: PC와의 Serial 통신
🚪 Arduino Uno
Role: automatic door separating the inside and outside of the MFC
역할: MFC 내부와 외부를 구분하는 자동문 구성
- DC motor + L298N driver: motor control
- HC06 Bluetooth module: access-authorized AGV passage
- Recycled wood frame: ESG/environment-conscious construction
- DC Motor + L298N 드라이버: 모터 제어
- HC06 블루투스 모듈: 접근 권한 AGV 통과
- 폐목재 재활용: ESG/환경 고려 프레임 구성
AGV Operation SystemAGV 상세 운행 시스템
The AGV is controlled by the central PC: it stops upon AR marker recognition, sends data to the PC, then resumes driving after receiving a Line Color command.
AGV는 중앙 PC의 통제를 받으며, AR Marker 인식 시 정지하고 중앙 PC로 데이터를 보낸 후, PC로부터 Line Color 명령을 받아 다시 주행을 시작합니다.
AR Marker SystemAR Marker 시스템
| AR Marker ID | Location / Purpose | Action |
|---|---|---|
| AR 1, 2, 3 | Drone landing pads 1, 2, 3 | Stop on detection, set line color to 'NONCOLOR', send data to central PC |
| AR 7, 8 | Zones for receiving (7) or handing over (8) drones with the cobot | Stop on detection, set line color to 'NONCOLOR', send data to central PC |
| AR 4, 5 | Attached to entrance/exit automatic doors | Pause AGV, send data to central PC, operate the door via Bluetooth |
| AR 6 | AGV charging station | Rotate 180° on detection, reverse along the track guide to dock with the charging adapter |
| AR Marker ID | 위치/목적 | 동작 |
|---|---|---|
| AR 1, 2, 3 | 드론 이/착륙장 1, 2, 3 | AR 감지 시 정지, Line 색상 'NONCOLOR' 지정, 중앙 PC로 데이터 전송 |
| AR 7, 8 | COBOT으로부터 드론을 받거나(7번) 전달하는(8번) 구역 | AR 감지 시 정지, Line 색상 'NONCOLOR' 지정, 중앙 PC로 데이터 전송 |
| AR 4, 5 | 입/출구 자동문에 부착 | AGV 일시 정지, 중앙 PC로 데이터 전송, 블루투스 통신을 통해 자동문 작동 |
| AR 6 | AGV 자동 충전소 | 마커 감지 시 180도 회전, 트랙 가이드 시스템을 따라 후진하여 충전 어댑터 연결 |
Line Color SystemLine Color 시스템
Tracks are laid out with masking tape in multiple colors; the AGV performs line tracing based on HSV:
다양한 색상의 마스킹 테이프로 트랙을 구성하며, AGV는 HSV 기반으로 라인 트레이싱을 수행합니다:
| Color | Meaning |
|---|---|
| 🟡 Yellow | Move to takeoff pad |
| 🟣 Purple | Move landed drone |
| 🔵 Blue | Move to AR 1 |
| 🟢 Green | Move to AR 2 |
| 🔴 Red | Move to AR 3 |
| 🩵 Sky blue | Move to charging station |
| 색상 | 의미 |
|---|---|
| 🟡 노란색 | 이륙장 이동 |
| 🟣 보라색 | 착륙 드론 이동 |
| 🔵 파란색 | AR 1 이동 |
| 🟢 초록색 | AR 2 이동 |
| 🔴 빨간색 | AR 3 이동 |
| 🩵 하늘색 | 충전소 이동 |
Learning Goals & Implementation Results핵심 학습 목표 및 구현 결과
Educational Goals교육 목표
- Review and apply what was learned throughout the course
- Propose new ideas (considering creativity, marketability, feasibility)
- Predict future trends and analyze problems / propose solutions
- 교육 과정에서 학습한 내용을 복습하고 활용
- 새로운 아이디어 제시 (창의성, 시장성, 구현 가능성 고려)
- 미래 트렌드 예측 및 문제점 분석/해결책 제시
Key Technologies주요 활용 기술
Implementation Results시스템 구현 결과
✅ Automated Management & Decisions자동 관리 및 판단
Automatically determines empty landing pads, checks for drones under repair, and detects when AGV batteries need charging
비어있는 착륙장 판단, 수리 중 드론 유무 확인, AGV 배터리 충전 필요 여부 자동 판단
✅ Integrated Control통합 제어 시스템
All hardware controlled and monitored through the central PC
중앙 PC를 통한 모든 하드웨어 통합 제어 및 모니터링
✅ CMMSCMMS 구현
Database built on Google Sheets with a maintenance management system on top
Google Sheets를 활용한 데이터베이스 구축 및 유지보수 관리 시스템 구현
✅ Real-time Monitoring실시간 모니터링
Live status monitoring through the Flutter UI
Flutter UI를 통한 현재 상황 실시간 모니터링
Limitations아쉬운 점
Hardware constraints and performance issues caused unnecessary time loss and made code testing difficult.
하드웨어 제한 및 성능 문제(Performance issue)로 인한 불필요한 시간 소모와 코드 테스트의 어려움이 있었습니다.
Expected Impact & Future Value기대 효과 및 미래 가치
SFaaS (Smart Factory as a Service)
As drone delivery systems become inevitable, this system offers:
드론 배송 시스템 도입이 불가피해질 것으로 예상되는 상황에서, 본 시스템은 다음과 같은 이점을 제공합니다:
- Improved accuracy and precision
- Faster operation
- Maximized uptime
- Reduced delivery costs
- Automated maintenance processes
- 정확도 및 정밀도 향상
- 빠른 작업 속도
- 극대화된 업타임(가동시간)
- 배송 원가 절감
- 자동화된 정비 프로세스