개발 내용

프로젝트 - 자동 물건 분류 시스템

Panda72 2025. 6. 13. 17:09

개발 목적

4개월간의 교육 과정을 통해 임베디드 시스템과 관련된 다양한 기술들을 익혔고,

이를 바탕으로 하나의 시스템을 스스로 기획하고 구현할 수 있는 수준에 도달했다.

그 결과물로, 라즈베리파이와 ESP32, 다양한 종류의 모터 등을 활용한

컨베이어 벨트 기반 자동 물건 분류 시스템을 개발하게 되었다.

이 시스템은 센서와 제어 장치를 이용해 물체를 인식하고,

그에 따라 자동으로 분류 및 이송하는 기능을 갖추고 있다.

현재는 프로토타입 형태로 제작되어 있으며,

궁극적으로는 실무 환경에 적용 가능한 수준으로 발전 시키는 것이 목표이다.

 

기술 요약

사용 보드: Raspberry Pi, ESP32
입력 장치: 웹캠
출력 장치: 서보 모터, 스태핑 모터
전원 관리: 9V 건전지 활용

사용 언어: C/C++ (ESP32), Python (Raspberry Pi)

 

시스템 구현

1. 소켓 통신 (ESP32 ↔ Raspberry Pi)

  • 목적: ESP32와 Raspberry Pi 간 실시간 데이터 송수신
  • 역할 분담:
    • Raspberry Pi: 웹캠으로 이미지를 촬영하고 OpenCV로 물품 상태 분석
    • ESP32: Raspberry Pi로부터 전달받은 분류 결과를 바탕으로 모터 제어 수행

2. 이미지 처리 (OpenCV 활용)

  • 분류 기준: 색상 기반 분류 (색 공간 변환 기법 사용)
    • 정상 물품: 파란색, 빨간색
    • 불량 물품: 초록색
  • 처리 과정:
    1. 웹캠으로 실시간 이미지 캡처
    2. HSV 색 공간으로 변환
    3. 각 색상 범위에 따라 마스크 처리 및 물품 판별
    4. 결과를 ESP32로 전송

3. 모터 제어 (ESP32)

  • 스테핑 모터:
    • 정상 물품을 각각 알맞은 위치로 분류
  • 서보 모터:
    • 불량 물품(초록색)을 별도 공간으로 제거

 

S/W, H/W 구상도

 

 

플로우 차트

 

모델 구상도

 

코드

 

https://github.com/karist7/Automatic-object-classiication-system

 

GitHub - karist7/Automatic-object-classiication-system: AI를 활용한 사물인터넷 개발자 양성 과정 미니 프로젝

AI를 활용한 사물인터넷 개발자 양성 과정 미니 프로젝트. Contribute to karist7/Automatic-object-classiication-system development by creating an account on GitHub.

github.com

 

문제점 해결

 

1. 스태핑 모터 연결 불량

원인: 스태핑 모터의 연결 선의 커넥터가 맞지 않았고 가이드가 없어 접촉 불량이 발생

영향: 제어 신호 전달 실패로 분류 동작이 불안정

해결: 핀 헤더에 납땜 작업 및 절연 테이프 보강으로 동작이 안정적으로 수행됨

 

2. OpenCV 색상 인식 오류로 인한 제어 혼선

원인: 지정한 단일 영역에서 색상 인식이 정확히 이뤄지지 않아 잘못된 분류 결과 도출

영향: 불량품을 구분하는 모터와 정상품을 구분하는 모터간 제어 명령 혼선으로 오작동 발생

해결: 이미지 영역의 하단은 불량품 감지, 상단은 정상품 분류로 분할하여
        각 영역별로 분리된 색상 인식 처리를 적용하여 정확도 개선

 

결과

 

물품 분류

 

 

시연 연상

 

 

향후 기대 효과

경제적 기대 효과

1. 작업 효율 및 생산성 향상

2. 인건비 절감 및 인력 재배치

3. 물류 오류 및 손실 감소

4. 공간 활용 최적화

5. 유연한 대응력 강화

 

기술적 기대 효과

1. 고정밀 자동 분류 및 추적

2. 데이터 기반 운영 최적화

3. 통합 시스템 관리

4. 원격 모니터링 및 유지보수

5. 확장성 및 유연성 확보