Multi-Robot Escape Room
Solving an escape room challenge using multiple connected robots
Project Overview
In this project, we employed MQTT on the ESP32 platform to solve a randomly-configured escape room challenge. The task involved several steps, each executed asynchronously by a specially configured Romi robot:
One robot roamed the room to locate and transmit an April tag message, identifying the position and orientation of the escape room's exit. This robot navigated past a "see-saw" ramp, detecting ramp movement with an IMU using a Gyro/Accelerometer complementary filter. This detection helped determine the April tag's location in the escape room's grid space.
Another robot, equipped with an IR receiver, pressed a button, then read and transmitted a message from an infrared LED. This message served as the "passcode" for the escape room door.
The third robot interpreted the MQTT data from robots 1 and 2, moved to the correct grid position and orientation, and ultimately opened the escape room door using IR LED transmission.
All robots used a mix of proximity sensors, ultrasonic sensors, and dead-reckoning (sensor fusion) for navigating the unknown layout of the escape room.
Technical Implementation
This project allowed our team to develop multiple robot state-machines using C++ to address the challenge. We integrated various sensors for movement and planning, connected to MQTT, and employed camera/IR technology to tackle the specific sub-challenges mentioned above.
This project was completed as part of WPI's RBE2002: Unified Robotics II course.