개발 목적
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 활용)
- 분류 기준: 색상 기반 분류 (색 공간 변환 기법 사용)
- 정상 물품: 파란색, 빨간색
- 불량 물품: 초록색
- 처리 과정:
- 웹캠으로 실시간 이미지 캡처
- HSV 색 공간으로 변환
- 각 색상 범위에 따라 마스크 처리 및 물품 판별
- 결과를 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. 확장성 및 유연성 확보
'개발 내용' 카테고리의 다른 글
| 미니 프로젝트 - 가위바위보 게임 (3) | 2025.05.30 |
|---|---|
| 미니 프로젝트 - 색 인식 트레이싱 RC카 (0) | 2025.05.26 |
| 미니 프로젝트 - OLED 캡처 프로그램 (0) | 2025.05.21 |
| 미니 프로젝트 (라인 트레이싱 RC카) (0) | 2025.05.15 |
| 미니 프로젝트 - 침입 감지기 (0) | 2025.05.12 |