Raptor B - A robot for the RoboCup Rescue Maze competition

Aiming to participate in the RoboCup Rescue Maze competition, we developed a robot capable of travelling a maze looking for heat victims.

Robot Raptor B
Robot Raptor B

In here we will provide a brief explanation of how the robot works.

You can check the latest version of the source code used in that robot on GitHub . It is published “as is”, which means there was no code review nor it’s granted to work properly (the code is mainly for archival purposes).

Raptor B Team (2016):

  • Italo Lelis de Carvalho, João Pedro Rosada Canesin


  • Igor Araujo Dias Santos

See the robot working:


Tremaux Algorithm

To explore the maze, it’s used an algorithm called “Tremaux”. This algorithm makes the robot goes right always as possible. If the robot cannot go right, it goes forward and, in the last scenario, goes left.

Best path is right Best path is forward

You can read more about Tremaux Algorithm in here: Interlude • Tremaux’s Algorithm

A* Algorithm

To make the robot return to it’s initial position, a pathfinder algorithm called A* (A-Star) is used. Both distances of each position on the map to the destination and to the current position are evaluated, and them the algorithm routes the path with the least sum of those distances. This assures that the robot will follow the shortest path possible to it’s initial position.

Cartesian coordinates of each section Best route highlighted

The implementation of the algorithm is based on the project A* Search on Processing.

This video shows a simulation of how the A* algorithm works:


We used two microcontrollers on the robot: an Arduino Due as the main board and an Arduino Nano as a secondary board.

The Arduino Due executes functions to handle actuators and most sensors, as well as the main algorithm.

The Arduino Nano reads the heat sensor and communicates with the main board.

Hardware Components
Hardware Components


  • Microcontrollers
    • Arduino Due (Main):
      • 1x Light sensors
      • 1x Inertial Measurement Unit
      • 4x Ultrasonic sensors
      • 8x Infrared sensors
    • Arduino Nano (Secondary):
      • 4x Temperature sensors
  • Motors
    • 4x DC Motors (connected to H-Bridges)
    • 1x Servo Motors
  • LCD Display
    • LEDs
    • Push-Buttons


Year Competition Location Position
2012 LARC* / CBR** Fortaleza, Brazil 2nd
2013 RoboCup Junior Eindhoven, Netherlands 2nd
2013 LARC/CBR Fortaleza, Brazil 1st
2014 RoboCup Junior João Pessoa, Brazil 3rd
2014 LARC/CBR São Carlos, Brazil 1st
2015 LARC/CBR Uberlândia, Brazil 1st
2016 RoboCup Junior Leipzig, Germany 9th

* LARC - Latin American Robotics Competition

** CBR - Brazilian Robotics Competition


This project was made possible with the effort of many people. There was hard work and countless nights staying up until late.

I would like to thanks those indirectly related to this project, as our parents, faculty and event organizers. Also, a special thanks to those directly related to this project, who helped it grow the way it did:

  • Colégio Nossa Senhora de Fatima - Sacramentinas
  • Andrique Figueiredo Amorim
  • Daniel Hymer dos Santos Frota
  • Hugo Santos Dias
  • Joao Paulo Sandes Brito
  • Joao Pedro Vilas Boas Silva
  • Luiz Victor Fonseca Brasil
  • Luisa Silva Oliveira
  • Marilia de Mello Amorim Novais e Silva


I'm a tech enthusiast who loves to explore new solutions to old problems and who codes for fun!

Software Developer

Belo Horizonte-MG, Brazil

Follow me:
Learn More >