# 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와 관리자 대시보드 제공 --- ## 시스템 아키텍처 image image - **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 ---