The Greeter

 

SparkFun Education - Kits and Materials - Sphero RVR - Programmable Robot

Description

The Greeter is a robot designed to give tours within a smart room, assisting users in obtaining information about the devices currently present in the space. It interacts with users through voice commands, providing both information and responses in real-time. The robot is equipped with advanced features to recognize and explain the various devices in the room, enhancing the user experience and offering seamless interaction for learning about the technology available within the environment.

 

Features

  • Autonomous Navigation
    Integrates the Nav2 stack and A* planning for pathfinding and navigation.
  • Smart Device Control
    Retrieves data from the Home Assistant and controls the devices in the Smart Lab.
  • User-Friendly Interface                                                                                                                                                                  A web interface for managing the layout of the smart room, controlling which devices are within the smart room, and setting the position where The Greeter starts and ends. Additionally, it can access the database containing information about the devices and use it to inform the user.

Screenshots

 

Architecture Overview

  • Sphero RVR Node: Handles robot driving commands, navigation, and publishes sensor data like IMU and encoder data.
  • Home Assistant Node: Bridges the robot's functionalities with the Home Assistant API.
  • Web Editor Node: Provides a user-friendly web interface to configure, control, and monitor the robot remotely.

More detailed architecture description can be found on the GitHub Architecture Wiki Page.

 

Technologies Used

  • Robot Operating System (ROS): Core software for robot control and communication.
  • Sphero RVR SDK: For robot driving and sensor data.
  • Nav2: Path planning and navigation stack.
  • Front-End: Javascript (React Framework).
  • Back-End: Python (Flask, Mongo packages).
  • Database: Mongo DB (NoSQL Database).