Skip to content

YasiruDEX/Vision-based-Restaurant-Robot-Working

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot LUNA is a state-of-the-art restaurant waiter robot, designed with a focus on stability and precision. It is equipped with a dual camera setup, including an HD wide-angle camera and a Kinect-2 depth camera, enabling vision-based navigation in a 3D restaurant environment grid. The robot's enhanced stability ensures the safe delivery of food and drinks without spillage, even during braking, thanks to a dedicated stabilization tray circuit LUNA will ensure safety. Internally, LUNA has three Raspberry Pis for separate parallel processing tasks and is connected to custom PCB based on Atmega2560 to get stable and accurate sensor and encoder readings, and to control motor drivers accurately. Externally it communicates with a Restaurant's local server computer with ROS 1 Noetic through the local wifi network ensuring precise navigation path and food order locations based on the restaurant tables. This combination of advanced technology and innovative design makes LUNA a reliable and efficient addition to any restaurant staff.

Tools & technologies used:

  • ROS 1 Noetic Ninjemys,
  • TensorFlow,
  • OpenCV,
  • Open3D,
  • C++ with Atmega2560 custom PCB for Motor and Stability Control,
  • Python with Raspberry Pi 4b boards; (3 SBCs),
  • Kinect v2 depth camera and a 150 Degree Wide Angle HD camera.

Team Members:

Demonstration VideoLink: https://

  • With Robot LUNA at Sri Lanka Robotics Challenge 2024 (SLRC 24)

LUNA_atSLRC

Robot LUNA System Overview

The main components of the LUNA Restaurant Robot are illustrated in the block diagram below. This includes the central restaurant computer, local WiFi network, robot's computer unit, motor controller unit, stabilization tray controller unit, cameras, and power unit.

Main Block Diagram of LUNA Restaurant Robot

LUNA Sub System Explanation

  1. Central Restaurant Computer: Manages overall operations and communicates with the robot via the local WiFi network.
  2. Wide Angle Camera: Provides a broad view of the robot's surroundings for navigation and obstacle avoidance.
  3. Kinect v2 Depth Camera: Captures depth information to help the robot understand its environment in three dimensions.
  4. Motor Controller Unit: Controls the movement of the robot's wheels and ensures precise navigation.
  5. Stabilization Tray Controller Unit: Maintains the stability of the tray to prevent spillage while the robot is moving.
  6. Power Unit: Supplies power to all components of the robot, ensuring uninterrupted operation.

PCB Details

The LUNA robot's functionalities are controlled by a custom-designed PCB which includes two main units: the Motor Controller Unit and the Stabilization Tray Controller Unit. Below are the front and back views of the PCB:

PCB Front View PCB Back View
PCB Front View PCB Back View

Special thanks to Dr. Ranga Rodrigo, Prof. Rohan Munasinghe, and Prof. J.A.K.S. Jayasinghe for their guidance and support throughout our journey. Also we would like to extend our special gratitude to Department of Electronic and Telecommunication Engineering, University of Moratuwa for the invaluable support to the project.

Releases

No releases published

Packages

No packages published

Languages

  • Makefile 39.1%
  • CMake 25.2%
  • Python 15.9%
  • C++ 10.6%
  • Common Lisp 4.3%
  • C 2.1%
  • Other 2.8%