Maze Rules


Brief description

The competition involves a robot that is able to handle into a maze. The contest will work by the system 2 robots enter the maze and only one goes out.




3.1. Competition course

Important!!! One person can be operator for maximum 2 robots.

If you are called to play and you don't come in 5 minutes the robot is desqulified.


2.2 Robot limitations

3. Game Area


First publication


1. General aspects

The competition is open to all robotics enthusiasts.

Teams of one or more members are allowed. The robots will have to comply with the construction rules (total mass: unlimited, length and width 10 x 10 cm).

The start of the two robots simultaneously occurs at the referee's command and the game ends when the first robot comes out of the maze.


2. General requirements

2.1 Robot characteristics

A. The robot must be completely autonomous. It is accepted any design that does not fall within the limitations from chapter. The team which implements the robot can choose any material and any form of control mechanism as long as it does not interfere with an external control mechanism.

B. Maximum size: 10 x 10 cm, there is no weight limit.

C. The robots must be equipped with the Start/Stop sensor in order to simultaneously start the robots.

D. It is recommended for the robot to have modulated or filtered sensors to not be influenced by ambient light, reflectors or flashes of digital cameras - Organizers do not assume any liability for malfunctioning robots due to environmental light (ambient, flash lamp, IR lamp for recording cameras).

E. The robots must have displayed a number, offer by the organizers, on the outer casing of the robot in a visible place. The number it is used to identify the robot by the referee and can be found in the Team's Folder (details in appendix 2).

2.2 Robot limitations

A. For safety reasons the robot must be equipped with an IR kill switch to be operated by the judge. When the judge sends a kill signal the power to the motors shall be shut down. The technical specifications for the IR receiver are given in the appendix. Contestants can either implement their on hardware or use a prebuilt module offered by the organizers. This module can supply the signal for activating the kill switch.

B. It is mandatory that the IR start module to function and the responsibility for is entirely of the team. If the module is not on the robot or is not working the team will be disqualified from the competition. If a problem occurs with the module during a fight it is recommended and allowed to be replaced. During the homologation and in the matches the module must function properly.

C. Jamming devices, such as IR LEDs intended to saturate the opponents IR sensors, are not allowed.

D. Parts that could break or damage the ring are not allowed. Do not use parts that are intended to damage the opponent’s robot or it's operator. Normal pushes and bangs are not considered intent to damage.

E. Devices that can store liquid, powder, gas or other substances for throwing at the opponent are not allowed.

F. Any flaming devices are not allowed.

G. Devices that throw things at your opponent are not allowed.


3. Game Area

A. The game area is defined as a mat white wooden rectangle having dimension of 2800 x 3000 mm or 2800 x 2000 mm. On this rectangle stays a maze with two starting points and only one exit point. The maze has the walls high of 15 cm. Please check the maze layout (Appendix 3)

B. The distance between walls is 30 cm and gates 30 cm.

C. There will be dead ends and robots may encounter along the way.

D. There are two symmetrical starting points and a single point of exit.

E. The two starting points will be similar and separate and at one point the route will be common.

F. The maze walls will be white or a bright colour.

3.1. Competition course

Important!!! One person can be operator for maximum 2 robots.

A. The robots will be divided into groups according to the number of participants. The contest will be played in a system of groups/ quarters/semifinals/finals order to allow as many rounds as possible for each robot. Each match will be supervised by 3 referees (one main referee and two assistants). The referee’s decisions have to be unanimous and are finale, objecting them leads to their disqualification from the current match. After each match the team will take the robot to the specified place.

B. During the competition, a team has the right at 2 breaks for reprogramming during matches of 5 minute each (2 breaks throughout the competition). Other breaks are allowed only for mechanical problems and only with referee’s approval, each of maximum 5 minutes. This rule is applied only during a match course. Outside the matches changes and reprogramming are allowed.  Teams are required to be present at the start up in maximum 1 minute from the moment the request has been received, otherwise they will lose the match.

C. Until the homologation, all the teams will stay in the room reserved for them (the room will be marked in the area map from the team’s folder). Each challenge will have a room. The teams can leave the room only when they are called to the competition area. Each team will be called by a competition official, when they need to go to the waiting area which is near the competition area (details in appendix 2).

D. After the homologation the teams, which will follow at start, will remain at the competition area, in the waiting area. The teams will leave this area only if the referee agrees, or only for repairs and they must return in the time set by the referee. If the team doesn’t return at the first call they will lose the match.

E. After a match is over, the teams must return in the room reserved for them.

F. Each team has the responsibility to follow the starting grid, displayed on the website and in the teams room. PLEASE DON’T BE LATE, WE WILL NOT WAIT!!!

If you are called to play and you don't come in 5 minutes the robot is desqulified.

3.2 Homologation – takes place before the match

Each team must pass the homologation stage of the competition day in order to compete with its robot in the competition. The homologation will take place at the beginning of the match.

The stages of the homologation process are:

a. Checking the robot’s dimensions: 10 x 10 cm.

b. Checking the Start/Stop senzor functionality.

c. It will be checked if the number exists on the outer casing of the robot.

The robot will not be retained after homologation.

After homologation all teams have to remain in the competition hall.

3.3 Game development

A. A game consist of two robots placed at the entrances of the maze. These will simultaneously depart at the start signal given by the referee with IR remote.

B. The robot which first leaves the maze wins the game and gets 3 points.

C. If no robot leaves the maze during 3 minutes, the winner will be the robot which is closer to the exit and will receive 3 points. (It will be mentioned with incomplete route; this notice will count only if there will be more competitors with the same score, if there will be groups)

D. On the route, robots can meet, but they have to avoid each other.

E. The route implies dead ends too. If one robot gets stuck, it will be freed, but it will receive a penalty that will be taken into account if no robot will finish the route or if there is equality.

F. The penalties will accumulate.

G. The robot has to leave the maze only through the marked zone for exit.

H. It is allowed to use beacons for guidance

I. It is not allowed the use of visual markers on the surface of the game.

3.4 Repairs, modifications, unexpected interruptions

A. If a robot fails during a match, the main referee will assign a one minute interval for repairs. This range can be extended up to 5 minute by the organizers. Repairs will be supervised by an assistant referee to avoid changing the robot modules with other ones unapproved.

B. If a robot can not be repaired in the specified interval, the match is won by the opponent robot and the team can continue repairs until the next match in which they participate, and in this case the team will be supervised by a referee or a member of the organization committee.

C. Defective parts can be replaced and batteries can be charged during the competition if necessary.

D. If there any modification made to the robot after homologation, the robot must pass again the homologation stage.

3.5 Minor offenses

A. When a competitor enters the playground during the match except the situation where the robot has completed the course, and the contestant goes to pick up the robot. Entering the playground is when:

B. Any of the competitor's body part is on the playground.

C. If he inserts objects into the maze in order to lean on them.

D. If he enters deliberately in the range of the robot's sensors deliberately violating safety delimitation.

One or more team members do the following:

A. Calls off the match without any good reason.

B. They need more time than the one given for returning into the contest if the referee had not given extra time for repairs.

C. They take any actions of any nature which are contradictory to the fair-play spirit of the game.

3.6 Penalties

Players who violate sections: "Robot limitation" and " Deviation" will lose turn.

Each violation of the foresights in the section "Minor offenses" will be accumulated. Three offenses lead to disqualification.

Violation of the foresights in "Minor offenses" will be recorded during each try.


4. Declaration of the objections

A. There will not be any objections against the decisions taken by the referees.

B. If there are any objections, they need to be rised by the team leader before the end of the game if there is any doubt regarding the rules.  Any objection has to be addressed to ETTI ROBOCHALLENGE organizers. If no organizer is present, complaints may be issued to the referee.

C. Any inquiry regarding the rules should be discussed with ETTI ROBOCHALLENGE organizers, or, if they are absent, with the referees.  

D. If there are complaints or notice about a serious deviation from the rules by another team, address the ETTI ROBOCHALLENGE organizers or in their absence the referees.


5. Flexibility of the rules

The rules are flexible in the extent to adapt to the number of participants and games. Change or cancellation of rules may be decided by the local organizer of the event, as long as they are released before the event and are maintained throughout the event.


6. Liability

A. The participating teams are always responsible for the safety of their robots and are responsible for any accident caused by team members or robots.

B. Robochallange Organization and the organization team will never be liable for incidents/accidents caused by participating teams or their robots.



Team’s folder will have the following items:

  1. The numbers for each robot
  2. The participations diplomas for the team members
  3. The badges for the team members
  4. Informations regarding the rooms reserved for the teams and the competition area map
  5. Promotional
  6. Explanation regarding how the groups are formed
  7. The map for the teams room and the competition areas



Remote start and stop

Explanation of use

You can find detailed information about the usage of the startmodules on:

The start/stop module can be powered by a 5V or 3v3 power supply and has a total of 4 pins which 2 are used for supplying the module (pins labelled VCC and GND).

The other 2 pins (labelled as Start and Kill switch) are used to signal the robot when to start/stop and when to perform the kill switch. In our competition the kill switch is not mandatory to be used but this pin will be briefly explained. It’s up to you for your robot’s safety to use the kill switch.

For safety reasons we highly recommend the 4 pins configuration. Besides monitoring the start pin you can also monitor the kill switch pin and act accordingly. 

Important: What if your code reaches a state that it doesn’t monitor the start pin correctly or your robot experienced a short brown out/loss of power while competing against the opponent. The robot will not be able to monitor the start pin correctly. In a situation like this you can monitor the kill switch as well or follow the diagrams below.

This module also features a green LED which will tell you if the module has received the start/stop command correctly or if something is wrong with your robot. 

Important: When you first power on your robot you have to make sure that the green LED is OFF. 

This means the robot is ready to accept the remote signal. 

Important: If by any chance the green LED is ON then the robot will not receive any other start signal. In this situation you have to ask the referee to press the stop button on the remote and then you have to do a power cycle or just turn the robot off and on again.

Below you can see the layout of the start module. Check that the module fits in your robot and make sure you have 4 pins available. 


How does the module work: 

    1. When you power on your robot make sure the green LED is OFF. This means the module is ready to accept any commands. 

  1. The referee will perform the initial program of the start module. Confirm that the LED flashes a couple of times. This means the robot will only listen to the referee’s remote (by a unique identifier).

  1. The module is ready for the start/stop command which will be triggered by the referee.

The start pin explained:

  1. When you power on your robot the start pin is in a “0” logic state. Let’s call it the “power on state”. 

  1. When the match is about to start the referee will push the start button and the start pin will switch to a “1” logic state. Let’s call it the “Started” state.

  1. When the match is over the referee will push the stop button and the start pin will switch back to a “0” logic state. Let’s call it the “Stopped” state.

The kill switch explained:

  1. When you power on your robot the kill switch pin is in a “1” logic state.  You can either monitor the kill switch pin in your code or power on the motor driver circuit. You can follow the diagram at this link to control a relay or optocoupler but remember that this is not mandatory. 

Monitoring the kill switch accordingly is for your robot’s safety!

  1. When the match is about to start the referee will push the start button. The Kill switch will keep its state as “1”. 

  1. When the match is over the referee will push the stop button and the Kill switch pin will switch back to a “0” logic state. If you follow the diagrams above the kill switch will turn off the power supply of the motor driver circuit.

For inexperienced users:

The code below is more or less a pseudocode. You have to adapt it to your microcontroller type and to your code structure. You can change it the way you like it but you have to verify that the code works flawlessly so that you don’t get penalised if the robot doesn’t behave as it should. 

The pseudocode is not efficiently designed because each user has its own ideas of writing software. It should be viewed as a start for inexperienced users who just started to program robots. The code uses while loops which keeps the robot locked in different loops which is not flexible.

  1. When you power on your robot you have to check that the start pin is in a “0” level state. 

                    robot_ready_state = false;

                    // initial check

                    initial _start_pin_state = digitalRead(start_pin); 

                    If (initial_start__pin_state == 1) { 

                                 // error, the start pin should be 0 when you power your robot

                                 // if start pin state was “1” at the initial check you have to ask the referee to press the  

                                 // stop button and then power off and on your robot

                                 while(true) {

                                             // for safety reasons the robot is locked in this loop

                                             // you can flash a separate LED to let the user know

                                             // the only way to exit this loop is to do a power cycle


                    } else if (initial_start_pin_state == 0) {

                                 // correct state

                                 // the robot is ready to accept the start command

                                 robot_ready_state = True;


  1. If the initial check has passed you can proceed to the following part where you have to monitor the state of the start pin to catch the start command triggered by the referee:

                    current_start_pin_state = 0; 

                    while (current_start_pin_state  ==  0) { 

                                 // keep the robot locked in a loop until the start command 

                                 // is received

                                 current_start_pin_state = digitalRead(start_pin); 


                    // the program will continue only if the start command is received

  1. When the start command is received the robot can start operating on the dohyo. When the stop command is received the robot should stop all activities (moving, turning).

                    If (current_start_pin_state  == 1 and robot_ready_state == True) {

                                 // the start command was received and the robot was in a ready state

                                 // this is where the robot will start to compete against the opponent

                                 // the if condition will not execute unless the robot is in a ready state.

                                 while (current_start_pin_state  ==  1) { 

                                             // keep the robot locked in a loop until the stop command is received

                                             current_start_pin_state = digitalRead(start_pin); 


                                 // the program will continue only if the stop command is received

                                 If (current_start_pin_state  == 0) {

                                             // the stop command was received

                                             // this is where the robot should stop all operations

                                             while(true) {

                                                          // for safety reasons the robot is locked in this loop

                                                          // you can flash a separate LED to let the user know

                                                          // the only way to exit this loop is to do a power cycle






Labirint layout (example)


For any questions email: