2025.07 - 2025.08 Team Project ROS 2 / Embedded AI

Roomie: Hotel Delivery Robot

An autonomous hotel service robot capable of inter-floor navigation using a robot arm to operate elevators. Delivers room service and provides guided wayfinding for guests.

Project Overview

Roomie is designed to automate repetitive hotel operations, reducing staff workload while providing a novel experience for guests. Its standout feature is the ability to independently navigate between floors by physically pressing elevator buttons with an attached 4-DOF robot arm.

Key Engineering Contributions

Project Leadership & Architecture

Led the development team and designed the entire ROS 2 package structure. Architected the central Finite State Machine (FSM) that manages complex asynchronous tasks like elevator navigation, room docking, and service interactions.

System Architecture

Vision AI Pipeline

Engineered a multi-stage vision pipeline for reliable elevator operation. Cascaded YOLOv8 for panel detection, a custom CNN for button classification, and EasyOCR for floor verification, achieving 95% success rate in real-world trials.

Vision Processor

Interactive Robot GUI

Developed the robot's onboard display interface using PyQt and ROS 2. The GUI provides real-time state visualization (e.g., "Going to 5th Floor") and intuitive touch interactions for guests and staff.

Robot Interface

Core Technology

  • Elevator manipulation: Gaussian velocity profiling for smooth arm control; Coordinate mapping from camera to button space.
  • Navigation: Nav2-based path planning with dynamic obstacle avoidance using depth cameras.
  • Vision Pipeline: YOLOv8n for object/obstacle detection -> CNN for button classification -> EasyOCR for floor number reading.
  • Embedded Control: micro-ROS on ESP32 for managing ultrasonic sensors, RFID readers, and LED indicators.

Tech Stack

ROS 2 (Humble) Nav2 YOLOv8 DeepSORT PyQt6 ESP32 (micro-ROS) Python & C++

Technical Challenges & Solutions

Arm Vibration & Accuracy

Problem: Rapid arm movements caused vibrations, leading to failed button presses.
Solution: Applied Gaussian velocity and acceleration profiles to smooth out trajectories, significantly improving stability.

Navigation in Narrow Corridors

Problem: Standard path planners struggled with dynamic obstacles in narrow hotel hallways.
Solution: Implemented waypoint-based local detours and optimized the A* global planner parameters.

Button Recognition Reliability

Problem: False positives in button detection.
Solution: Created a multi-stage pipeline: YOLO detects the panel, CNN classifies the button type, and EasyOCR verifies the floor number.