Files
QT-CART/README.md
T
2026-02-24 18:30:51 +09:00

127 lines
3.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# UWB 기반 ROS 자율주행 쇼핑카트 (QT-CART)
## 프로젝트 개요
QT-CART는 UWB 기반 위치 추적과 ROS 2 자율주행 시스템을 결합한 스마트 쇼핑카트입니다.
사용자를 따라 이동하거나 매장 내 특정 상품 구역으로 안내하며, 무게 센서를 이용한 도난 방지 결제 시스템과
관리자용 대시보드를 제공합니다.
- **프로젝트 기간**: 2025.11.20 ~ 2026.01.04
- **팀명**: 아자아자아자쓰!
- **과정**: INTEL AI SW 8기
---
## 팀 구성
| 이름 | 역할 |
|---|---|
| 김기환 | PM |
| 서채건 | 하드웨어, 로드셀 |
| 이동현 | ROS 제어 시스템 |
| 박서정 | 하드웨어, 로드셀 |
| 김동현 | GUI 디자인 |
---
## 프로젝트 목표
- UWB 기반 사용자 위치 추적을 통한 주인 따라가기 기능
- ROS 2 Navigation을 이용한 매장 내 자율주행 안내
- 무게 센서를 활용한 비정상 상품 감지 및 도난 방지
- QT 기반 터치 UI와 관리자 대시보드 제공
---
## 시스템 아키텍처
<img width="600" alt="image" src="https://github.com/user-attachments/assets/25adc4e2-c11d-4e13-8591-1e328615187b" />
<img width="600" alt="image" src="https://github.com/user-attachments/assets/0f372e72-93d3-4a17-87f6-1105ae0b31a6" />
- **Frontend**
- QT 기반 터치스크린 UI
- 상품 안내, 장바구니 관리, 결제 화면 제공
- **Backend**
- API Server (상품/결제/무게 검증)
- 관리자 대시보드
- **Robot System**
- ROS 2 기반 네비게이션
- UWB 위치 추적
- 모터 제어 및 센서 데이터 처리
---
## 주요 기능
### 1️. 안내 모드
- 매장 지도에서 상품 구역 선택
- 선택된 좌표로 카트가 자율주행 이동
- 목적지 도착 후 장바구니 위치로 복귀
---
### 2️. 주인 따라가기 모드
- UWB 태그를 소지한 사용자를 실시간 추적
- 삼각측량 기반 위치 계산
- 사용자 이동에 맞춰 카트가 자동 추종
---
### 3️. 관리자 대시보드
- 실시간 카트 상태 모니터링
- 상품 및 결제 정보 관리
- 센서 데이터 시각화
---
### 4️. 도난 방지 시스템
- HX711 로드셀 센서 기반 무게 측정
- 상품 DB의 예상 무게와 실측 무게 비교
- 오차 발생 시 결제 차단 및 경고 표시
---
## UWB 위치 추적 원리
- ToF(Time of Flight) 기반 거리 측정
- 3개의 UWB 앵커와 1개의 태그를 이용한 삼각측량
- 계산된 좌표를 ROS 토픽으로 2초 주기로 발행
---
## Hardware 구성
- Raspberry Pi 4
- ESP32 + UWB DW3000
- HX711 로드셀 센서
- QR 코드 스캐너
- Raspberry Pi 7인치 터치스크린
- TurtleBot 기반 이동 플랫폼
---
## Software 구성
- ROS 2 (Navigation, Motor Control)
- QT (UI/UX)
- API Server (Python)
- UDP / HTTP 통신
- FSM 기반 로봇 상태 제어
---
## Trouble Shooting
| 문제 | 해결 |
|---|---|
| UWB 통신 일시 중단 | 2초 이상 데이터 미수신 시 자동 복구 |
| 로드셀 노이즈 | 다중 샘플링 평균 필터 적용 |
| API 응답 지연 | 센서 처리 비동기화 (800ms → 240ms) |
---
## 시연
- 안내 모드 시연
- 주인 따라가기 시연
- 도난 방지 결제 시연
https://github.com/user-attachments/assets/d50bf697-262b-453a-afcf-843e31196774
---