RoboCup Rescue Maze Robot
2017 — 2019Autonomous maze-mapping rescue robot built with team RMTZuccante for RoboCup Junior
Between 2017 and 2019 I competed with team RMTZuccante in the Italian RoboCup Junior championships, in the Rescue Maze category.
As a team we designed and built a robot able to explore and map a closed maze with obstacles, ramps and separate floors. The maze is made of tiles of known size, but its shape changes every round, and it contains special tiles: a forbidden area the robot must not enter (black tile), a checkpoint (mirrored tile), or victims to rescue. There are four kinds of victim — the base one is signalled by a heated plate on a cell wall, the others by a black letter on a cell wall. Depending on the kind, the robot has to blink LEDs or drop "rescue kits", represented by a red cube.
The team was five people: three software students and two electronics students. We designed and 3D-printed the chassis and produced the circuit boards ourselves. Motion and sensors were handled by an ESP32 microcontroller talking over a serial interface to a Raspberry Pi, which ran the logic and the maze mapping. That split let us debug and update the exploration logic over WiFi, without reflashing a controller.
I worked on the navigation logic: a graph representation of the floors, plus exploration and path-finding algorithms to cover the maze as efficiently as possible and find the fastest route back to the start — returning to the entry tile after visiting the maze was a requirement of the run.
The program handling serial communication and navigation was written in C++. To test the algorithms without hardware, I also built a 3D interface in Java/JavaFX to create and visualise a maze and run a virtual robot inside it.
