2026-08-03 04:05:18 +09:00
2026-02-24 18:30:51 +09:00
2026-02-24 18:30:51 +09:00
2026-02-24 18:30:51 +09:00
2026-02-24 18:30:51 +09:00
2026-08-03 04:05:18 +09:00

UWB 기반 ROS 자율주행 쇼핑카트

UWB 태그 위치를 읽어 사용자를 따라가거나, ROS 2 Navigation으로 지정 위치까지 이동하는 쇼핑카트 프로젝트입니다.

Qt 화면은 상품 선택, 장바구니, 결제 화면을 담당합니다. Python 서버는 상품 데이터, 무게 검증, ROS 명령 전달을 처리합니다.

기간

  • 2025.11.20 ~ 2026.01.04
  • 과정: INTEL AI SW 8기

맡은 부분

이름 담당
김기환 PM
서채건 하드웨어 구성, 로드셀 연동
이동현 ROS 제어
박서정 하드웨어 구성, 로드셀 연동
김동현 GUI 디자인

사용한 것

  • ROS 2
  • Qt
  • Python
  • Uvicorn
  • SQLite
  • UWB DW3000
  • HX711
  • TurtleBot

구성

.
├─ QT-Main/       Qt 터치 화면
├─ QT-Server/     API 서버, DB, 로드셀, ROS 연동
└─ UWB-Arduino/   UWB anchor/tag 코드

동작

  • UWB anchor 3개와 tag 1개로 tag 위치를 계산합니다.
  • 계산한 좌표를 ROS 쪽으로 넘겨 따라가기 동작에 사용합니다.
  • 안내 모드에서는 사용자가 고른 위치를 목적지로 보내고 카트가 이동합니다.
  • HX711 로드셀로 장바구니 무게를 읽습니다.
  • 상품 DB의 예상 무게와 실제 무게가 다르면 결제 단계에서 확인이 필요하도록 처리합니다.
  • Qt 화면에서 상품 선택, 장바구니 확인, 결제 화면을 보여줍니다.

하드웨어

  • Raspberry Pi 4
  • Raspberry Pi 7인치 터치스크린
  • ESP32 + UWB DW3000
  • HX711 로드셀
  • QR 코드 스캐너
  • TurtleBot 기반 이동 플랫폼

서버

  • QT-Server/main.py: API 서버
  • QT-Server/database.py: 상품/결제 데이터 처리
  • QT-Server/hx711.py: 로드셀 읽기
  • QT-Server/ros_controller.py: ROS 명령 전달

메모

  • UWB 데이터가 일정 시간 들어오지 않으면 추적 값을 갱신하지 않습니다.
  • 로드셀 값은 여러 번 읽어 평균값을 사용합니다.
  • QT-Server/shopping_cart.db는 시연용 SQLite DB입니다.
S
Description
No description provided
Readme
7.8 MiB
0 Stars 1 Watchers 0 Forks
Languages
C++ 53%
Python 18.9%
JavaScript 13%
CSS 9%
HTML 5.4%
Other 0.7%