These are the official rules for the Iran Open RoboCup Junior Soccer Simulation 2026. They are released by the Iran Open RoboCup Junior Soccer Technical Committee (TC). The English version of these rules has priority over any translations.

Teams are advised to check the Iran Open RoboCup Junior Soccer site http://iranopenrobocup.ir/ for procedures and requirements for the competition. Each team is responsible for verifying the latest version of the rules prior to competition.

Instructions on the Webots environment, on how to program controllers, as well as demos and tutorials can be found online at https://iranopenrobocup.ir

For any questions, clarifications, or suggestions regarding these rules, please contact the Technical Committee.

soccer sim
Figure 1. Two teams of three robots in a simulated RoboCupJunior Soccer match.

Preface

In the RoboCupJunior Soccer Simulation challenge, teams of young engineers program three fully autonomous digital robots to compete against another team in simulated matches. The robots must detect a ball and score into a color-coded goal on a special field that resembles a human soccer field.

To be successful, participants must demonstrate special programming skills. Teams are also expected to contribute to the advancement of the community as a whole by sharing their discoveries with other participants and by engaging in good sportsmanship, regardless of culture, age or result in the competition. All are expected to compete, learn, have fun, and grow.

Programming has to be performed exclusively by the students

Robots must be programmed exclusively by student members of the team. Mentors, teachers, parents or companies should not be involved in the software design, programming or debugging of robots. To avoid embarrassment and possible disqualification, it is extremely important that teams abide by all other competition’s rules.

If in doubt, please consult with your Iran Open Robocup Representatives before registering your team.

1. GAMEPLAY

1.1. TOURNAMENT FORMAT

The competition will be conducted using a Swiss-system tournament format. In this system, teams are not eliminated and will play against opponents with a similar win-loss record in each round. Teams will not play against the same opponent more than once, if possible.

The tournament is expected to consist of approximately six rounds. The final number of rounds and the detailed schedule will be announced on the official Iran Open RoboCup Junior Soccer site prior to the competition.

1.2. SOFTWARE SUBMISSION

Teams are required to submit their controller programs before the competition deadline. The exact procedure, format, and deadline for submission will be detailed in the “IranOpen RCJ Soccer Simulation 2026 Software Submission Guide”, which will be provided to all registered teams. It is the team captain’s responsibility to ensure their submission is complete and on time.

1.3. Game Procedure and Length of a Game

RCJ Soccer games consist of two teams of robots playing soccer against each other. Each team has three autonomous robots. The game will consist of two halves. The duration of each half is 10 minutes.There is a 5 minute break period between halves.

The game will be timed by an artificial referee program. The referee will make all the decisions during the game automatically, including the placement of the ball and of robots. There will be no discussion on decisions the artificial referee took.

The final game score will be trimmed so that there is at most 10-goal difference between the losing and the winning team.A match is considered complete as soon as a goal difference of 10 is reached.

1.4. Pre-Match Programming

Teams will send their code to the organization committee (OC) before the competition. The matches will then be conducted by the OC, which will run the code of the teams against each other. The matches will either be pre-recorded, or live.

1.5. Pre-Match Meeting

At the start of the first half of the game, the artificial referee will choose the team kicking off at random, as well as the goal they will kick towards. After the first half, teams switch sides. The team not kicking off in the first half of the game will kick off to begin the second half of the game.

1.6. Kick-Off

Each half of the game begins with a kick-off. All robots will be positioned by the artificial referee on their own side of the field and halted. The ball is positioned by the artificial referee in the center of the field. All robots on the team not kicking off will be outside of the center circle.

On the artificial referee’s command, all robots will be started immediately.

1.6.1. Neutral Kick-Off

A neutral kick-off is the same as the one described in Rule 1.6, “Kick-Off” with a small change: all robots must be placed outside of the center circle.

1.7. Human Interference

Human interference during simulated matches is strictly prohibited, with the exception of official duties performed by the Human supervisor or the Organizing Committee (OC). Teams must not interact with the simulation or the robots once a match has commenced.

All in-game decisions are made by the robots’ programs and the Artificial Referee autonomously. However, the Human supervisor is authorized to intervene, pause, or reset the simulation to maintain fair play or address technical issues, as detailed in the Referees and Match Officials section.

1.8. Ball Movement

A robot cannot hold the ball.

1.9. Scoring

The artificial referee will consider a goal as being scored as soon as the ball crosses the goal line.

Goals scored either by an attacking or defending robot have the same end result: they give one goal to the team on the opposite side. After a goal, the game will be restarted with a kick-off from the team who was scored against.

1.10. Inside the Penalty Area

No robots are supposed to be inside any penalty area for more than 15 seconds. After this time, they will be re-spawned on the furthest unoccupied neutral spot facing sideways. For this rule to apply, a robot must be inside the penalty area with its center of mass.

For the timer to be reset, the robots must be outside the penalty area for more than 2 seconds.

1.11. Lack of Progress

Lack of progress occurs if there is no progress in the gameplay for a reasonable period of time. Typical lack of progress situations are when the ball is stuck between robots, when there is no change in ball and robot’s positions, or when the ball is beyond detection or reach capability of all robots on the field.

If no significant ball movement occurs for a period of time, the artificial referee will call "lack of progress" and will move the ball to a random unoccupied neutral spot. If this does not solve the lack of progress, the referee can move the ball to a different neutral spot.

1.12. Out of Bounds

There is no "Out of Bounds" rule.

If the ball or any robot accidentally leaves the field of play, it will be returned into play immediately, and placed on the field according to the rules of Rule 1.11, “Lack of Progress”.

1.13. Damaged Robots

Sometimes robots in the simulation will tip or fall over. In any case when a robot does not move for 15 seconds, the artificial referee will re-spawn it onto the nearest unoccupied neutral spot.

1.14. Faulty Robot Controllers

When a match has started, and a team’s robot controller crashes,becomes unresponsive or exhibits clearly abnormal behavior,the following rules apply:

  • If this occurs in the first 30 seconds, the match will be restarted up to 2 times.The team’s representative is responsible for notifying the Human supervisor, who will decide whether to restart the game at his/her own discretion.

  • If the problem persists after restarts, the team’s captain can ask the Human supervisor for a 4-minute time-out to fix the problem. A fix may include the use of a previously submitted code from a previous round.

  • If the problem persists after the time-out, or if it occurs after the first 30 seconds of the match, the game will continue. If, due to the problem, all robots become faulty,the Human supervisor may consider the match a forfeit.The official score will be recorded as 10-0 in favor of the opponent.

1.15. Interruption of Game

In principle, a game will not be stopped.

A Human supervisor can stop the game if there is a situation in simulation or around venue where the human supervisor wants to discuss with an official of the tournament or if the ball is stuck and the artificial referee cannot unstuck it autonomously.

After the human supervisor has stopped the game,He/She may decide whether the game will be continued/resumed from the situation in which the game was stopped or by a neutral kick-off.

2. TEAM

2.1. Regulations

A team must have two, three, four or five members to form a Iran Open Robo Cup Junior team to participate in the event. A team member(s) and/or program(s) cannot be shared between teams.

Each team must have a captain. The captain is the person responsible for communication with the OC/TC. The team captain should be in a position to answer all of the OC’s and TC’s requests and questions. The team can replace its captain during the competition.

2.2. Violations

Teams that do not abide by the rules are not allowed to participate.

3. ROBOTS

3.1. Number of Robots / Substitution

Each team must have exactly three programs for the full tournament. [1] The substitution of programs during the competition within the team or with other teams is forbidden.

3.2. Robot Control

The Teams will write a controller program to move the robots during the simulation. The simulated robots have two wheels to control its movement (one on each side - differential-drive). The only aspect of the simulation that the program is allowed to act on is the speed of the wheels of the robot that it is controlling. The program will be pre-written by the teams and used for the whole competition. Substitution of the program during the competition or during a match is not allowed.

3.3. Robot Performance and Timing

A team’s controller program must be capable of running within the simulation’s real-time step constraints. The simulation is intended to run at or near real-time speed. If a team’s controller code causes the simulation to slow down significantly (i.e., drop below a real-time factor of 0.8 for a sustained period), it may be considered a violation.

Common causes for performance issues include excessively computationally intensive algorithms and frequent I/O operations. To ensure optimal performance, teams must ensure their final submitted code does not write excessive data to standard output (stdout) or standard error (stderr), as these operations can severely slow down the simulation(i.e using print function).

The OC/TC may issue a warning for performance violations or, in severe cases that disrupt the tournament schedule, disqualify the team from the match.

3.4. Interference

Teams are not allowed to interfere with the simulation in any unofficial way. Teams may be penalized or disqualified by the OC for any attempt to influence or work-around the artificicial referee, other team’s robots, or the simulation world’s constraints.

3.5. Communication

Robots may communicate within each team in the scope of the simulation, as long as they abide by rule Rule 3.4, “Interference”.

Robots may not communicate with anything outside of the simulation world.

3.6. Agility

The construction of the robots is pre-defined and part of the simulation world. The robots will have a cubic form, two motorized wheels and no kicker.

Robots may be programmed with a controller script. They may turn in any direction, as well as drive forward and backward anywhere on the field. There is a maximum speed defined by the simulation. There is no mandatory behaviour required for the programs.

3.7. Robot Textures

Teams are permitted to customize the appearance of their robots by submitting custom texture files. The following rules apply:

All custom textures must be submitted to the Technical Committee (TC) or Organizing Committee (OC) for evaluation as specified in the Software Submission Guide. Teams are only permitted to use their custom textures in the competition after receiving explicit approval from the TC/OC. The TC/OC reserves the right to request modifications or reject any texture that does not meet the standards defined in these rules.

To ensure clear visual distinction between opponents, teams are strongly advised to prepare and submit two distinct textures for approval:

  • A Blue texture (where blue is the dominant color).

  • A Yellow texture (where yellow is the dominant color).

Before each half, the OC will designate one team as "blue" and the other as "yellow". Teams must then use their corresponding approved texture for that match.

Textures must use a color palette that is clearly distinct from elements of the field of play or robots.All textures must be appropriate for a public competition and adhere to the Code of Conduct.Textures must be fully opaque (no transparency) and must not be designed as camouflage or to deceive (e.g., mimicking appearance).

If a team does not provide approved Blue and Yellow textures, or a color conflict arises, that team will be required to use the default texture provided by the organizers for that match. The default texture will also be assigned if a team’s submissions are rejected, not submitted for approval, or otherwise fail to comply with these rules.

4. FIELD

The playing field will be provided by the OC as a digital Webots world, along with a small tutorial on how to place and move the robots during the game, as well as measure the robot and ball positions.

Note that the Webots world has changed since the last Simulation Challenge in 2024. // Please make sure to pull the latest release of the Webots world.

image
Figure 2. An empty field with its reference frame in the center: X (red) and Y (blue).

4.1. Neutral Spots

There are 7 neutral spots. They are defined in simulation units as follows:

Nr. Name X-Coordinate Y-Coordinate

1

Central Point

0

0

2

Blue Side

0

0.2

3

Blue Side

0.3

0.3

4

Blue Side

-0.3

0.3

5

Yellow Side

0

-0.2

6

Yellow Side

0.3

-0.3

7

Yellow Side

-0.3

-0.3

image
Figure 3. The ball and the 6 robots on the 7 neutral spots as defined in Rule 4.1, “Neutral Spots”

5. CODE OF CONDUCT

5.1. Fair Play

It is expected that the aim of all teams is to play a fair and clean game of robot soccer.

Programs are not allowed to cause interference with other robots or the referee during normal game play.

Programs are not allowed to cause interference to the field or to the ball during normal game play.

Violation of the fair-play commitment includes, but is not limited to, for example:

  • using another team’s code in your team

  • jamming the simulator by sending excessive commands

  • direct communication between robots by using communication means other than those provided by the simulator, such as inter-process communication.

  • manipulating competition machines or restarting them intentionally

  • unnatural behaviors that exploit weaknesses of the simulation

Any of these is strictly forbidden. Other strategies might be found to violate the fair play commitment after consultation with the TC/OC. However, we expect it to be clear how a fair team should behave. In particular, the destructive disruption of opponent robot operation or the gain of advantage by other means than explicitly offered by the simulator counts as unfair play. If you are in doubt about using a particular method, please ask the TC/OC before the tournament starts. If a team is found to use unfair programming methods during the tournament, it will be immediately disqualified

5.2. Behavior

All participants are expected to behave themselves. All behavior is to be of a subdued nature within the tournament.

5.3. Help

Mentors (teachers, parents, chaperones, and other adult team-members including translators) are not allowed to work on the teams' programs.

Mentors must not touch, build or program any programs.

5.4. Sharing

The understanding that any technological and curricular developments should be shared among the Iran open RoboCup and Iran Open RoboCup Junior participants after the competitions ends.

All the code must be shared with other participants and made open-source after the tournament.

Also, if you find any bugs within the simulation world or the artificial referee (except for the Webots logo), please let us know.

5.5. Spirit

It is expected that all participants, students, mentors, and parents will respect the RoboCupJunior mission.

It is not whether you win or lose, but how much you learn that counts!

5.6. Violations / Disqualification

Teams that violate the code of conduct can be disqualified from the tournament. It is also possible to disqualify only single person or single program from further participation in the tournament.

In less severe cases of violations of the code of conduct, a team will be given a warning (a yellow card). In severe or repeated cases of violations of the code of conduct a team can be disqualified immediately without a warning by a red card.

6. CONFLICT RESOLUTION

6.1. Artificial Referee

During a match, the artificial referee is a program in charge of making decisions with regards to the game and according to these rules.

During gameplay, the decisions made by the artificial referee are final.

At the conclusion of the game, the result recorded is final.

6.2. The Human Supervisor

During each game, a human supervisor is appointed to oversee the match and enforce the rules in this document, particularly in situations not automatically handled by the Artificial Referee. The human supervisor is responsible for starting and stopping the simulation, interpreting situations that require human judgment (e.g., Code of Conduct violations), and resolving technical issues.

In situations not explicitly covered by the rules, the supervisor will decide based on the spirit of the competition and based on his/her common sense. During a match, only one representative(the captain) of each playing team is allowed to approach the supervisor. The human supervisor’s decisions are binding and cannot be appealed during a match. If there is any complaint about a game or a decision, this should be brought to the OC’s attention as soon as possible, who will decide how to handle it after all games of the current round are finished.

6.3. Rule Clarification

Rule clarification may be made by members of the Iran Open RoboCup Junior Soccer Technical Committee and Organizing Committee, if necessary even during a tournament.

6.4. Rule Modification

If special circumstances, such as unforeseen problems or capabilities of a robot occur, rules may be modified by the Iran Open RoboCup Junior Soccer Committee Chair in conjunction with available Technical Committee and Organizing Committee members, if necessary even during a tournament. The Technical Committee (TC) reserves the right to amend these rules at any time, before or during the competition, to ensure fair play and the smooth operation of the tournament. All such changes will be communicated to team captains as soon as possible. The TC has the final say in all matters regarding the rules.

6.5. Regulatory Statutes

Each Iran Open RoboCup Junior competition may have its own regulatory statutes to define the procedure of the tournament (for example the SuperTeam system, game modes, the inspection of programs, interviews, schedules, etc.). Regulatory statutes become a part of this rule.

6.6. Challenges and Protests

In the rare event that a team believes there has been a significant misapplication of a rule by a human supervisor or a verifiable error in the tournament proceedings, the team captain may file an official protest.

Protests must be submitted in written form to a member of the Technical Committee (TC) within 30 minutes of the conclusion of the match in question. The protest will be reviewed by the Technical Committee (TC) and the OC, whose joint decision on the matter is final and binding.

This process is intended for serious procedural inquiries only. Abusing this process is a serious offense. Actions considered abuse include, but are not limited to:

  • Submitting any protest that contains rude, disrespectful, or abusive language.

  • Submitting any protest that makes malicious or unsubstantiated accusations intended to frame another team, the Technical Committee (TC), or the Organizing Committee (OC).

  • Repeatedly submitting unwarranted protests after receiving a formal warning.

  • Submitting a protest deemed frivolous or unwarranted for the first time.

Teams found to be abusing the protest system will be subject to the following penalties, as judged by the TC:

Warning (Yellow Card)

A team will receive a formal warning for a first instance of a protest that is deemed frivolous or unwarranted.

Immediate Disqualification (Red Card)

A team will be immediately disqualified from the entire tournament for any of the following offenses:

  • Submitting a protest containing rude, disrespectful, or abusive language.

  • Submitting a protest containing malicious or unsubstantiated accusations.

  • Repeatedly submitting unwarranted protests after having already received a formal warning.

7. COMPETITION

7.1. Team

The maximum team size is 5 members for teams competing in the Iran Open RoboCup Junior Soccer Simulation Competition 2026.

Team members can participate independently of their participation in earlier Iran Open RoboCup Junior Soccer Leagues.

7.2. Interviews

During the competition, the Organizing Committee may arrange to interview teams during the event. The exact schedule will be published by the Organization Committee prior to the event.

During an interview, at least one member from each team must be able to explain particularities about the team’s robots, especially with regards to its strategy and its programming. An interviewer may ask the team for a demonstration. The interviewer may also ask the team to write a simple program during the interview to verify that the team is able to program its robot.

All teams are expected to be able to conduct the interview in Persian. If this poses a problem, the team may ask for a translator to be present at the interview. If the OC is not able to provide a translator, the team is required to do so. During the interview, the team will be evaluated.

7.3. Poster Sessions

During the competition, the Organizing Committee may also arrange poster sessions for the teams to attend.Details will be published prior to the competition.

7.4. Technical Challenges

Inspired by the major leagues and the need for further technological advancement of the leagues, the Technical Committee has decided to conduct so called Technical Challenges.

The idea of these challenges is to give the teams an opportunity to show off various abilities of their robots which may not get noticed during the regular games. Furthermore, the Technical Committee envisions these challenges to be a place for testing new ideas that may make it to the future rules, or otherwise shape the competition.

Any Iran Open RoboCup Junior Soccer team will be eligible to try to tackle these challenges. Unless otherwise stated, any robot taking part in these challenges needs to abide by these rules in order to successfully complete it.

The technical challenges will be published prior to the competition, or during competition days.


1. This means, each of the three robot has its own program. This can be three different programs, or three times the same program, or anything in between.