← 프로젝트 목록
PROJECT / 04 · BACKEND / AUTOMATION

Smart Factory 주문 서버

주문 입력에서 로봇 작업·포장·배송까지 이어지는 FastAPI 공정 서버.

2026.05 개발 기록공정 연동 구현Smart Factory 팀 프로젝트

개요와 담당 역할

색상·수량·배송 타워를 포함한 주문을 접수하고, 컨베이어·로봇팔·TurtleBot 작업을 순서대로 연결하는 서버다. HTTP 주문 API와 WebSocket 상태 전달, ROS2 장치 완료 이벤트를 함께 다룬다.

개발 배경

앱의 주문 정보가 여러 장치의 작업으로 이어지려면 각 장치의 완료 시점과 현재 공정 상태를 서버에서 일관되게 관리해야 한다.

담당 역할

  • 주문 앱·서버 제작과 매니퓰레이터 연동 로직 개발
  • FastAPI 주문 API, 공정 상태 머신과 WebSocket 화면 연결
  • 팀 전체 하드웨어 구성과 구분하여 서버·통신 소프트웨어 담당

개발 목표

  • 주문 정보와 ROS2 작업 명령 연결
  • 장치 완료 이벤트에 따라 공정 단계 전환
  • 진행 상황을 웹 화면에서 실시간 확인

시스템 구성

주문 UI와 FastAPI 서버를 ROS2 장치 제어로 연결하고 완료 이벤트를 WebSocket 상태로 반환하는 시스템 구성도
공개 코드의 주문·상태 전달 구조
01

Order UI

주문 입력·공정 상태 표시

02

FastAPI

주문 검증·메모리 큐·ProcessState 상태 머신

03

ROS2 Devices

컨베이어·충진 로봇·포장 로봇·TurtleBot 명령과 완료 이벤트

04

WebSocket

서버의 주문·상태 변경을 연결된 화면으로 전달

구현 과정

이벤트 기반 공정 연결

공정 단계를 enum으로 관리하고 ROS2 완료 콜백에서 다음 작업을 진행한다. 주문 접수와 장치 동작을 하나의 상태 흐름으로 연결한다.

API와 실시간 화면 분리

HTTP로 주문을 받고 WebSocket으로 현재 주문·공정 상태를 전달한다. 화면에서 반복 조회하지 않고 변경 사항을 수신하도록 구성했다.

주요 기능

  • POST /order 주문 접수와 색상·수량 스키마
  • 충진·포장·배송을 분리한 공정 상태 전환
  • 장치별 완료 콜백과 대시보드 상태 전파
  • 직접 로봇 충진만 확인하는 제한된 시험 경로

문제 해결

각 장치가 서로 다른 시점에 완료되는 연속 공정

공정 상태별로 허용되는 완료 이벤트와 다음 명령을 연결했다.

공개 코드와 README에 ROS2 토픽을 이용한 수동 공정 모의 시험 절차가 정리되어 있다.

평가 결과

검증 방법

  • 주문 입력에서 서버·로봇 연동까지의 기존 시연 자료
  • README에 정리된 ROS2 토픽 모의 발행과 상태 전환 확인 절차
  • 공개 코드의 주문 검증·큐·장치 완료 콜백·WebSocket 전달 구조 확인

주요 결과

  • 앱–서버–매니퓰레이터 주문 전달 흐름 구현 및 시연 자료 확보
  • 장치 완료 이벤트와 공정 상태를 웹 화면에 연결

검증 범위와 후속 과제

  • 주문 상태는 메모리에 저장되어 서버 재시작 시 초기화된다.
  • 처리량·반복 성공률·자동 테스트 통과 수는 확인된 기록이 없어 제시하지 않는다.
  • 소프트웨어 정지 명령은 인증된 물리적 안전 회로를 의미하지 않는다.

관련 자료

2026.05.25 공개 저장소와 기존 포트폴리오의 앱·서버 개발 역할·시연 링크를 대조. 하드웨어 전체 제작을 개인 기여로 간주하지 않음.