22 Mar, 2018

 SimuroSot Laws of the Game 2018 

(Updated Mar 22, 2018)

Professor Zhongwen Luo, Department of Software Engineering, China University of Geoscience (CUG) 430074, Wuhan, China. Director, Center for Artificial Intelligence, CUG Email: luozw@.cug.edu.cn

Associate Professor Lingquan Yang, Department of Software Engineering, China University of Geoscience (CUG) 430074, Wuhan, China. Co-director, Center for Artificial Intelligence, CUG Email: yanglq@.cug.edu.cn

Engineer Gonzalo Mon, Director at Playbots - Entertainment & Education Technology, Member of Spiritual Machine Team, Buenos Aires, Argentina. Email: gmon@playbots.net

Lecture Rafidah Ab Rahman, Polyteknik Muazam Shah, Pahang, Malaysia. Email: rafidahabrahman8381@gmail.com

Introduction

The original SimuroSot includes Middle Size and Large Size categories. Their main objective is to allow researchers to develop control algorithms and team strategies without the need of complex and costly hardware setup. Teams are encouraged to use the simulation platform for the evaluation of their algorithms and eventually to participate in the Middle League MiroSOT which is exposed to real world conditions.

As time passed, the FIRA robot soccer has grown from MiroSot to many new categories, such as HuroCup, RoboSot and AndroSot. And nowadays, the main flag game has changed from car-like MiroSot to human-like HuroCup. And this year, A totally new FIRA Air was also proposed.

So to follow this change and also broaden the game range, the SimuroSot committee would like to add some new categories. In order to promote the game, a 10-year milestone for SimuroSot is proposed as follows:

2017~2020: Based on ROS and Gazebo, a simulation of the TurtleBot would be used to  develop some new category, and the rules would be similar to RoboSot. At the beginning, the RoboSot Game & a Challenge would be applied. And to make the simulation more real profit, a competition for transfering the algorithm to real world robot would also be conducted. And hopefully a standard robot such as TurtleBot or some other similar will be applied to do it in real.

2021~2026: Based on ROS and Gazebo, a simulation of the Thormang or Atlas would be used to develop some new category, and the rules would be similar to HuroSot. And to make the simulation more real, a transfer of the algorithm to real world Robot would also be conducted.


1. Category        5

1.1 SimuroSot Miro        5

1.2 SimuroSot Robo        5

1.3 SimuroSot HuroCup        5

1.4 SimuroSot Air        5

2. Game of 2018 and What's new        6

3. SimuroSot Miro-Middle Game Rules        6

3.1 Introduction        6

3.2 Platform        6

3.2.1. The simulation software        6

3.2.2. The field dimensions        7

3.2.3. Markings on the field        7

3.2.4. The goal, goal line and goal area        7

3.2.5. The penalty area        7

3.3 Game Duration        8

3.3.1. Duration        8

3.3.2. Time-out        8

3.3.3. Time keeping        8

3.4 Game Interruptions        9

3.5 The Players        9

3.6 Game Commencement        9

3.7 End of the Game        10

3.8 The Referee        10

3.9 Method of Scoring        11

3.9.1. The winner        11

3.9.2. The tiebreaker (only for knockout games)        11

4. SimuroSot Miro-Large RULE        19

4.1. General rules        19

4.2. The Field        20

4.3: The Game Sequence        20

4.4 : Game Duration        21

4.5: Method of Scoring        21

4.6: Fouls        21

4.7: Penalty-Kick        22

4.8: Free-Ball        22

Appendix 1:        23

5. SimuroSot Robo Game RULE        25

6. SimuroSot Robo Challenge Obstacle Avoidance        30

6.1 Introduction        30

6.2 Platform        31

6.2.1. The simulation software        31

6.2.2. The field dimensions        31

6.2.3. Markings on the field        31

6.2.4. The goal, goal line and goal area        31

6.3 Game Component & Processing        31

6.3.1. Duration        31

6.4 The 1st challenge event        32

6.4.1. Scenery 1        32

6.4.2. Scenery 2        32

6.4.3. Scenery 3        32

6.4.4. Scenery 4        32

6.5 The 2nd challenge event        32

6.5.1. Scenery 1        33

6.5.2. Scenery 2        33

6.5.3. Scenery 3        33

6.5.4. Scenery 4        33

6.6 Game Commencement        33

6.7 End of the Game        33

6.8 The Referee        33

6.9 Method of Scoring        34

6.9.1. The winner        34

6.9.2. Score for Challenge One        34

6.9.2. Score for Challenge Two        35

7. SimuroSot Air        35

7.1 Introduction        35

7.2 Game Structure        35

7.3 Platform        36

7.3.1. The simulation software        36

7.3.2. The field of play        36

7.4 Mission 1: Emergency Delivery        37

7.5 Mission 2: Tower Inspection        38

7.6 Method of Scoring        40


1. Category

1.1 SimuroSot Miro

   The SimuroSot Miro is the original SimuroSot. Its goal is to make a simulation of MiroSot and let teams without the real equipment test their strategies.

1.1.1 SimuroSot Miro-Middle

   The SimuroSot Miro-Middle is the original SimuroSot Middle Size Field competition. It simulates the MiroSot Middle Size game. It has been played for more than 10 years.

1.1.2 SimuroSot Miro-Large

   The SimuroSot Miro-Large is the original SimuroSot Large Size Field competition. It simulates the MiroSot Large Size game. It has been played for more than 10 years.

1.2 SimuroSot Robo

   The SimuroSot Robo is a newly created category. The goal is to simulate FIRA's RoboSot category. Like RoboSot, the SimuroSot Robo also has game & challenge.

1.2.1 SimuroSot Robo game

   The SimuroSot Robo game is a newly created competition. The goal is to simulate FIRA's RoboSot category. The Robot is a simulation of Robot used in Robosot.

1.2.1 SimuroSot Robo challenge

   The SimuroSot Robo challenge is a newly created competition. The goal of the game is to simulate FIRA's RoboSot challenge, but the robot is Turtlebot. The challenge include Localization, Avoidance and Passing.

1.3 SimuroSot HuroCup

   The SimuroSot HuroCup is a newly created competition. The goal of the game is to simulate FIRA's HuroCup category.

1.4 SimuroSot Air

   The SimuroSot Air is a newly created competition. The goal of the game is to simulate FIRA's Air category.

2. Game of 2018 and What's new

    This year, five of all categories will be competed.

  1. SimuroSot Miro-Middle
  2. SimuroSot Miro-Large
  3. SimuroSot Robo Challenge : obstacle avoidance.
  4. SimuroSot Air.
  5. SimuroSot Air Volleyball

     The main change of this year is that an automatic referee was introduced for the SimuroSot Miro-Middle.

3. SimuroSot Miro-Middle Game Rules

3.1 Introduction

   The following rules and regulations govern the game of SimuroSot Miro-Middle. The rules and regulations stated are to ensure a fair competition takes place. The objective of the Middle League SimuroSot is to allow researchers to develop control algorithms and team strategies without the need of complex and costly hardware setup. Teams are encouraged to use the simulation platform for the evaluation of their algorithms and eventually to participle in the Middle League MiroSot which is exposed to real world conditions. The Simulation platform is written to simulate the physical workings of a MiroSot robot in every possible way.

With the rapid developing of Artificial Intelligence and Robotics in recent years, some of old platform limitation are blocking the advancing of the game. So the platform and rules are need to improve, which could provide a convenient, automated referee for the participants to do research on Machine Learning, cooperation among the agents, motion planning, role assignment and team strategy. For this purpose, the important changes in year 2018 consist of the following:

(1)  An automatic referee was introduced to the platform;

(2) An automatic robot placement after break was introduced, which allow the team to define each robots special location. The extended platform will using formation data to relocate robots (a demonstration in the platform package), the extended server program positions the ball and robots to corresponding places, instead of operating by human players;

(3) No pushing around the near wall areas, 2 and more than 2 players of a team pushing the ball around the no pushing areas will be called a foul, team which violates this issue more than THREE times in a half time will be disqualified at once and the score shall be 5-0 against that team;

(4) When the ball is in the near wall areas, and the ball is pushed by one blue team robot and one yellow team robot face to face, a free ball will be called after the situation lasted for 20 cycles of the platform.

(5) When the ball is in the Penalty judgment areas (L and R), 2 robots in the Region A or 4 robots in the Region B of the defending team staying for consecutive 10 platform cycles, a penalty kick will be given for the attacking team; at the same time 2 robots in the Region A or 4 robots in the Region B of the attacking team staying forconsecutive 10 platform cycles, a goal kick will be given for the defending team.

(6) Goalkeeper: The player #1, and only this player, will be designated as the goalkeeper.

3.2 Platform

3.2.1. The simulation software

    The simulation software must be operated on a computer system with or better than the following system configurations.

The simulation software (version 1.5) can be downloaded at

http://www.fira.net/soccer/simurosot/R_Soccer_v1.6.exe (to be determined)

3.2.2. The field dimensions

    A black (non-reflective) playground 220cm X 180cm in size with 5cm high and 2.5cm thick white side-walls are to be used. The topsides of the side-walls shall be black in color with the walls in white (side view). Solid 7cm * 7cm isosceles triangles shall be fixed at the four corners of the playground to avoid the ball being cornered.

3.2.3. Markings on the field

The field shall be marked as shown in Figure 3.1. The center circle will have a radius of 25cm.

The arc, which is part of the penalty area, will be 25cm along the goal line and 5cm perpendicular to it.

The major lines/arcs (centerline, goal area borderlines and the center circle) shall be white in color of 3mm thickness. The free ball positions shall be marked in grey color.

Figure 3.1 Dimensions and markings of the field

3.2.4. The goal, goal line and goal area

The goal shall be 40cm wide. The goal line is the line just in front of the goal which is 40cm long. The goal area (Region A) shall comprise of the area contained by the rectangle (sized 50cm X 15cm in front of the goal).

3.2.5. The penalty area

The penalty area (Region A and Region B of Figure 1) shall comprise of an area of 80cm x 35cm and the attached arc.

3.2.6. The penalty judgment area

The penalty judgment area (penalty judgment area L and R of Figure 3.2) shall comprise of an area of 120cm X80cm.

Figure 3.2Penalty judgment areas

3.2.7. No pushing areas

No pushing areas consist of two yellow regions of Figure 3.3.Two and more than two players of a team pushing the ball in the no pushing areas will be called a foul, the team which violates this issue more than THREE times in a half time will be disqualified at once and the score shall be 10-0 against that team.

Figure 3.3 No pushing areas

3.3 Game Duration

3.3.1. Duration

   The duration of a game shall be two equal periods of 10 minutes each, with a half time interval for 5 minutes. An official timekeeper will pause the stopwatch during substitutions, during timeout and during such situations that deem to be right as per the discretion of the timekeeper.

   If a team is not ready to resume the game after the half time, additional 5 minutes shall be given. If the team is still not ready to continue the game after the additional time, the team will be disqualified from the game, and the score shall be 5-0 against the team.

3.3.2. Time keeping

   Time indicated on the simulation software shall not be used as the official game time. A stopwatch shall be used for time keeping instead.

3.4 Game Interruptions

When a fault occurs in the simulation software, the timer shall be paused. There are some unseen situations maybe occur such as computer automatic restart, sudden electricity shutdown. In these cases, the game shall be restart by using the exact same strategy files.

3.5 The Goalkeepers

A robot is considered to be in a certain area only if it is more than 50% inside, as judged by the referee software.

Only player #1 is designated as the goalkeeper for each team (Figure 3.4). The goalkeepers are protected from pushing only when they are inside the relevant goal area.

C:\Users\ThinkPad\AppData\Roaming\Tencent\Users\50561190\QQ\WinTemp\RichOle\2BUUH`L7PMI7SG_DE]O7}FJ.png

Figure 3.4 Goalkeeper

3.6 Game Commencement

Before the commencement of a game, team color (blue/yellow) shall be decided by the toss of a coin or negotiated by the representatives of two teams. The blue team will take the place kick first. After the halftime, the teams have to change their sides. So the yellow team in the first half will be the blue team in the second half, which takes the place kick first in the second half.

At the commencement of the game, the attacking team will first position their robots freely in their own area and within the center circle. After which, the defending team can place their robots freely in their own area excluding the center circle (Figure 3.5).

At the beginning of the first and second halves and after a goal has been scored, the ball should be placed at the center of the field and the ball should be kicked or passed towards the team's own side. With a signal from the referee, the game shall be started and all robots may move freely. If the attacking team is unable to kick or pass the ball towards the team’s own side within 20 cycles, the place-kick will be given to the opponent team.

Figure 3.5: Place kick

3.7 End of the Game

At the end of the game, the team should remove or delete their team strategy files from the simulation platform immediately. The referee and FIRA Federation shall not be liable for any misuse of such strategy files left undeleted after the match.

3.8 The Referee

A referee is appointed to enforce the rules written in this document during each game. Institutions that are not mentioned by the rules, the referee should decide based on his/her common sense. The referee can be a member of the official committee or a volunteer, from a team other than the teams of the match, who has full knowledge of the rules as deemed by official committee.

During a match only one representative of each playing team is allowed to communicate with the referee. The referee do not need to response to the unreasonable ideas or suggestions. If there is any complaint about a game or a decision, this should be brought to the official committee’s attention as soon as possible, who will decide how to handle it after all games of the current round are finished. If the referee cannot decide in a situation, he can consult the official committee who will give the final decision. Each team must supply a volunteer to be a referee, preferably the same as the team's representative.

The referee shall communicate with both team members in English unless it is agreeable by both teams and the referee that other languages are allowed to be used.

The referee:

-Start the game (determine team colors, etc.).

-Controls the match possibly in co-operation with assistant referees.

-Stops, suspends or terminates the match in corresponding situations.

-Ensures that no unauthorized persons enter the field of play.  Only one representative per team is authorized to speak with the judge and it must be defined before the match beginning.

3.9 Method of Scoring

3.9.1. The winner

A goal shall be scored when the whole of the ball passes over the goal line. The winner of a game shall be decided on the basis of the number of goals scored.

3.9.2. The tiebreaker (only for knockout games)

In the event of a tie after the second half, the winner will be decided by the sudden death scheme. The game will be continued after a 5 minutes break, for a maximum period of three minutes, 90 seconds for a half. The team which scores the first goal will be the winner. If the tie persists after the extra 3 minutes game, the winner shall be decided through penalty-kicks.

Each team shall take 10 penalty-kicks, which differs from the normal game mode as only a kicker and a goalkeeper shall be allowed on the playground. The ball shall be at the relevant PK point. The goalkeeper must be in touch with the goal line and the positions of the kicker shall be positionedin the penalty playing half field. After the referee's whistle, only the defending goalkeeper and the kicker are allowed to move freely, the others must be still.

A penalty-kick will be completed, when the ball comes out of penalty area or 100 cycles pass after the referee's whistle.

In case of a tie even after the 10-time penalty-kicks, the referee shall decide the winner by tossing a coin.

3.10 Fouls for Penalty-Kick

When the ball is in relevant penalty judgment area (Figure 3.2), a penalty-kick will be called under the following situations by the computer referee.

3.10.1Except the goalkeeper (Number 1, no matter whether it is inside the goal area), one more robot defending in the goal area (Region A of Figure 3.1),staying inside the goal area for more than 10 consecutive cycles, shall be penalized by a penalty-kick.

3.10.2Except the goalkeeper (Number 1, no matter whether it is inside the goal area), 2 and more robots defending in the goal area (Region A of Figure 3.1)shall be penalized by a penalty-kick.

3.10.3Except the goalkeeper (Number 1, no matter whether it is inside the goal area), 3 robots defending inside the penalty area (Region A and Region B of Figure 3.1), staying inside the goal area for more than 10 consecutive cycles, shall be penalized by a penalty-kick.

3.10.4 Except the goalkeeper (Number 1, no matter whether it is inside the goal area), 4 robots defending inside the penalty area (Region A and Region B of Figure 3.1) shall be penalized by a penalty-kick.

3.11 Position of the Ball and Robots for Penalty Kick

When the referee calls a penalty-kick, the ball must be placed at the relevant penalty kick position (PK) on the playground.

All robots except the robot taking the penalty kick and the goalkeeper are to be placed freely within the other side of the half-line.

The attacking robot taking the kick shall be placed behind the ball (Figure 3.3). The robot taking the penalty-kick may kick or dribble the ball.

While facing a penalty kick, the defending goalkeeper must be in touch with the goal line. The goalkeeper may be oriented in any direction.

The defending team will position their robots first.

Figure 3.6: Position of the Ball and Robots for Penalty Kick

3.12 Fouls for Free-Kick

3.12.1. Colliding with a robot of the opposite team, either intentionally or otherwise: the referee will call such fouls that directly affects the play of the game or that appears to have potential to harm the opponent robot.

3.12.2. It is permitted to push the ball and an opponent player backwards provided the pushing player is always in contact with the ball.

3.13 Position of the Ball and Robots for Free-Kick

The ball will be placed at the relevant free kick position (FK) on the field.

The robot taking the kick shall be placed behind the ball.

The attacking team can position its robots freely within its own side.

While facing a free kick, the defending goalkeeper must be in touch with the goal line. The goalkeeper and the other defending robots may be oriented in any direction.

Two defending robots are allowed to be placed at the left most and right most sides in touch with the front goal area line and the other two defending robots are allowed to be placed in touch with the side line of the penalty area as shown in Figure 3.4.

The defending team will position their robots first. The game shall restart normally (all robots shall start moving freely) after the referee's whistle. The robot taking the free-kick may kick or dribble the ball.

Figure 3.7: Position of the Ball and Robots for Free-Kick

3.14 Call for a Free-Ball

A free-ball is called when a stalemate occurs for 20 cycles outside the goal area. A stalemate is also considered when the ball is moving at a speed less than 0.5cm/cycle.

When the ball is in the near wall areas, pushed by one blue team robot and one yellow team robot face to face, a free ball will be given after 20 cycles of the platform.

The following four scenarios shown in Figure 3.8 belong to violating the no pushing issue, not free-ball.

C:\Users\ThinkPad\AppData\Roaming\Tencent\Users\50561190\QQ\WinTemp\RichOle\%6DD6RO}D4Q4~382CA@`EP5.pngC:\Users\ThinkPad\AppData\Roaming\Tencent\Users\50561190\QQ\WinTemp\RichOle\@Z$VZCH9K_6V$R$({2LE8JK.pngC:\Users\ThinkPad\AppData\Roaming\Tencent\Users\50561190\QQ\WinTemp\RichOle\CB0V95{BK9%C4RLRFSU[MYE.pngC:\Users\ThinkPad\AppData\Roaming\Tencent\Users\50561190\QQ\WinTemp\RichOle\~8K2Z0`T6R3TBT95]SVQ(YC.png

Figure 3.8 Call for a foul of violating no pushing issue

3.15 Position of the Ball and Robots for Free-Ball

When a free-ball is called within any quarter of the playground, the ball will be placed at the relevant free ball position (FB a shown in Figure 1). One robot per team will be placed at locations 25 cm apart from the ball position in the longitudinal direction of the field. The front of the robot shall be in touch with the vertical line of the FB position. The robots are allowed to be oriented with slight deviation (e.g. ± 5 º) as judged by the referee when it is facing the ball in the FB position as shown in Figure 3.7 Other robots (of both teams) can be placed freely outside the quarter where the free-ball is being called.

The defending team will position their robots first.

Figure 3.9: Position of the Ball and Robots for Free-Ball

3.16 Call for a Goal Kick

3.16.1. Attacking with more than one robot in the goal area of the opposite team shall be penalized by a goal kick to be taken by the team of the goalkeeper.

3.16.2. An attacking robot pushes or blocks the goalkeeper which affects the game, as determined by the referee.

3.16.3. An attacking robot pushes the goalkeeper with the ball in between, into the goal, as determined by the referee.

3.16.4. A stalemate occurs in the goal area for 20 cycles..

3.16.5. It shall not be regarded as goalkeeper charging when an attacking robot happens to touch the goalkeeper but does not affect the goalkeeper’s ability to block a goal (Figure 3.10).

Figure 3.10: Scenario that shall not be regard as goalkeeper charging

3.17 Position of the Ball and Robots for Goal Kick

During goal kick only the goalkeeper is allowed within the goal area and the ball can be placed anywhere within the goal area.

Other robots of the team shall be placed outside the goal area during goal kick as shown in Figure 3.11 .

Figure 3.11: Position of the Ball and Robots for Goal Kick

The defending team can then place its robots only within its own half field.

The game shall restart with the referee's whistle. The robot taking the goal-kick may kick or dribble the ball.

The attacking team (taking goal-kick team) will position their robots first.

3.18. Fair Play

The goal of this game is to provide a platform for who can study the control algorithms and strategies, play soccer according to fair and common sense understanding of soccer and to the restrictions imposed by the virtual simulated world of the soccer server. Circumvention of these restrictions is considered violating the fair play commitment and its use during the tournament games is strictly banned.

Violation of the fair play may include for example:

• Using another teams binaries as or in your team;

• If a team attempts to disturb other teams working by tampering the data of platform or obstructing the server.

Any of the above is strictly forbidden.

Other strategies might be found violating the fair play commitment, after consultation among the committee. However, we expect it to be pretty clear what a fair team should look like. If you have any questions about using a certain method, please ask the committee before the tournament starts. If a team is found to use unfair programming methods during the tournament, it will be immediately disqualified. And the score shall be 10-0 against that team.

If a team is under suspicion of violating the fair-play agreement, the committee has the right to ask for source code inspection. If which refuse to inspect the code it will be immediately disqualified

3.19 Publication of Logs

The platform will make the log files of the matches available to the participating teams during the competition. After the competition, the official committee will also publish these log files on the internet at their earliest convenience.

The data of log file are the positions of the ball and robots, game state, whose ball. The velocities of each robot will NOT be recorded.


4. SimuroSot Miro-Large RULE

4.1. General rules

(1) The aim of simulate competition:

(a) It is used for developing basic action algorithm and game strategy of robot soccer.

(b) It is used for providing game training and strategy learning environment for each team.

  1. It is used for testing the feasibility and advancement of the game strategy of each team.

(2) Rationale of simulate competition:

(a) Using computer graphics to simulate the field, the robots and the ball.

(b) Using kinematics and dynamics to simulate movements of the robots and the ball.

(c) Firstly, input each team’s game strategy into the client program, and then link the clients to the server using UDP/IP protocol. Secondly, make the preparation for competition. It includes the startup of system and the position of the robots of each team. Finally, match between each team. Like the MiroSot competition, simulate competition is controlled by the referee. The game begins, when the referee whistles. The game follows the rules that this text puts forward.

(3) Simulate competition hardware:

(a) The simulate competition uses three computers (PCs with Windows7 operating system installed), one used as server, the other two used as clients.

(b) Three computers are connected through Ethernet.

(4) Simulate competition software framework:

(a) Simulate competition software is compiled using Visual Studio, and it can run under Windows7.

(b) Figure 1 is the SimuroSot software framework :

               Figure 4.1 SimuroSot software framework

(5) The role of referee is:

(a) to control the begin, break and finish of the game;

(b) to declare penalty to the fouls.

4.2. The Field

(1) Playground dimensions (Appendix1)

A black rectangular playground 904(pixel) x 629(pixel) in size, with 5(pixel) thick light blue side-walls will be used. Solid 36(pixel) x 36(pixel) isosceles triangles shall be fixed at the four corners of the playground to avoid the ball getting cornered.

(2) Markings on the playground (Appendix 2)

The field of play shall be marked as shown in Appendix 2. The center circle will have a radius of 190(pixel). The arc, which is part of the goal area, will be 126(pixel) along the goal line and 24(pixel) perpendicular to it. The major lines/arcs (centerline, goal area borderlines and the center circle) will be gray in color and 4(pixel) in thick. The free ball robot positions (circles) shall be marked in royal purple color.

(3) The goal

The goal shall be 196 (pixel) wide. Posts and nets shall not be provided at the goal.

(4) The goal line and goal area

The goal line is the line just in front of the goal which is 196(pixel) long. The goal areas shall comprise of areas contained by the rectangle (sized 333(pixel) x 44(pixel) in front of the goal) and the attached arc (126(pixel) in parallel to the goal line and 24(pixel) perpendicular to it).

(5) The ball

An orange golf ball shall be used as the ball, with 7(pixel) diameter.

(6)  The robots

The robots is square sized 10(pixel) x 10(pixel). Each robot is in team’s clothe which can be chosen before the match.

(7) The field location

The field is at the center of the screen.

(8) The control menu

The control menu is at the top and the bottom of the field.

(9) The clock

The clock is at the left of the menu.

(10) The score board

The score board is at right of the menu.

4.3: The Game Sequence

(1) The preparation of the match

Firstly, each team inputs its client into the client computer. Secondly, each team runs the client program. Finally, each team presses the ‘Link’ item in the toolbar, then each client program is linked to the server.

(2)  The begin of the match

When the referee press the ‘Kick-off’ item of the menu in the server, the match will start. And if the ‘break’ item is pressed, the match will break. If the ‘stop’ item is pressed, the match will terminate. And pressing ‘Esc’ in the keyboard make the program return to the Windows.

4.4 : Game Duration

(1) The duration of a game shall be two equal periods of 5 minutes each, with a half time interval for 10 minutes. An official timekeeper will pause the clock during substitutions, while transporting an injured robot from the field, during time-out and during such situations that deem to be right as per the discretion of the timekeeper.

(2) If a team is not ready to resume the game after the half time, additional 5 minutes shall be allowed. Even after the allowed additional time if such a team is not ready to continue the game, that team will be disqualified from the game.

4.5: Method of Scoring

(1) The Winner

A goal shall be scored when the whole of the ball passes over the goal line. The winner of a game shall be decided on the basis of the number of goals scored.

(2) The Tiebreaker

In the event of a tie after the second half, the winner will be decided by the sudden death scheme. The game will be continued after a 5 minutes break, for a maximum period of three minutes. The team managing to score the first goal will be declared as the winner. If the tie persists even after the extra 3 minutes game, the winner shall be decided through penalty-kicks. Each team shall take three penalty-kicks, which differs from as only a kicker and a goalkeeper shall be allowed on the playground. The goalkeeper should be kept within its goal area and the positions of the kicker and of the ball shall be the same as the Law. After the referee's whistle, the goalkeeper may come out of the goal area. In case of a tie even after the three-time penalty-kicks, additional penalty-kicks shall be allowed one-by-one, until the winner can be decided. All penalty-kicks shall be taken by a single robot and shall commence with the referee's whistle. A penalty-kick will be completed, when any one of the following happens:

1. The goalkeeper catches the ball with its appendages (if any) in the goal area.

2. The ball comes out of goal area.

3. Thirty (30) seconds pass after the referee's whistle.

4.6: Fouls

A foul will be called for in the following cases.

(1) Colliding with a robot of the opposite team, either intentionally or otherwise: the referee will call such fouls that directly affect the play of the game or that appear to have potential to harm the opponent robot. When a defender robot intentionally pushes an opponent robot, a free kick will be given to the opposite team. It is permitted to push the ball and an opponent player backwards provided the pushing player is always in contact with the ball.

(2) It is permitted to push the goalkeeper robot in the goal area, if the ball is between the pushing robot and the goalkeeper. However pushing the goalkeeper into the goal along with the ball is not allowed. If an attacking robot pushes the goalkeeper along with the ball into the goal or when the opponent robot pushes the goalkeeper directly then the referee shall call free-ball.

(3) It is referred to as handling, as judged by the referee, when a robot other than the goalkeeper catches the ball. It is also considered as handling, if a robot firmly attaches itself to the ball such a way that no other robot is allowed to manipulate the ball.

(4) The goalkeeper robot should kick out the ball from its goal area within 10 seconds. The failure to do so will be penalized by giving a free-ball .

(5) Giving a free-ball to the defensive team will penalize the blocking of a goalkeeper in its goal area.

4.7: Penalty-Kick

A penalty-kick will be called under the following situation:

  1. Defending with more than one robot in a goal area.
  2. Defending with more than four robots in both goal area and penalty-kick area.

When the referee calls a penalty-kick, the ball will be placed at the relevant penalty kick position (PK) on the playground (Appendix 2). The robot taking the kick shall be placed behind the ball. While facing a penalty kick one of the sides of the goalkeeper must be in touch with the goal line. The goalkeeper may be oriented in any direction. Other robots shall be placed freely within the other side of the half-line, but the attacking team will get preference in positioning their robots. The game shall restart normally (all robots shall start moving freely) after the referee's whistle. The robot taking the penalty-kick may kick or dribble the ball.

4.8: Free-Ball

A free-ball will be called under the following situations.

  1. When a stalemate occurs for 10 seconds.
  2. When an opponent robot blocks the goalkeeper in its goal area.
  3. When attacking with more than one robot in the goal area of the opposite team.
  4. When attacking with more than four robots in the goal area and penalty-kick area of the opposite team.

When a free-ball is called within any quarter of the playground, the ball will be placed at the relevant free ball position (FB) (Appendix 2). One robot per team will be placed at locations 104(pixel) apart from the ball position in the longitudinal direction of the playground. Other robots (of both teams) can be placed freely outside the quarter where the free-ball is being called, but with the rule that, the defending team will get their preference in positioning their robots. The game shall resume when the referee gives the signal and all robots may then move freely.

Appendix 1:

Appendix 2:


5. SimuroSot Robo Game RULE(This game will not take place in 2018)

5.1. General rules

(1) The aim of simulate competition:

(a) It is used for developing basic action algorithm and game strategy of robot soccer.

(b) It is used for providing game training and strategy learning environment for each team.

(c) It is used for testing the feasibility and advancement of the game strategy of each team.

(2) Rationale of simulate competition:

(a) Using rViz to get a 3D simulate of the field, the robots and the ball.

(b) Using Gazebo physical engine to simulate movements of the robots and the ball.

(c) All the team using same simulation robot model, any team should not modify the robot model. Each team has no more than 3 robot. And the robot is fully autonomous. communication between robot is carry by using publishing/subscribe topic.

(d) Firstly, input each team’s game strategy into the client program, and then link the clients to the server using UDP/IP protocol. Secondly, make the preparation for competition. It includes the startup of system and the position of the robots of each team. Finally, match between each team. Like the MiroSot competition, simulate competition is controlled by the referee. The game begins, when the referee whistles. The game follows the rules that this text puts forward.

(3) Simulate competition hardware:

(a) The simulate competition uses four computers (Ubuntu 14.04 operation system installed), Computer A used as server, Computer B, C used as clients, Computer D used as referee.

(b) A switch is used to connect 4 computers through Ethernet.

              Figure 5.1 SimuroSot Robo game software framework

(4) Simulate competition software framework:

(a) Simulate competition software is based on ROS jade, Gazebo 5 and QT5.

(b) Figure 5.1 is the SimuroSot Robo game software framework :

(5) The role of referee is:

(a) to control the begin, break and finish of the game;

(b) to declare penalty to the fouls.

5.2. The Field

(1) Playground dimensions

A green blanket rectangular playground 400(cm) x 600(cm) in size surrounded by a bordering region of minimum width 75cm, with 5(cm) thick white side-walls will be used. Solid 25(cm) x 25(cm) isosceles triangles shall be fixed at the four corners of the playground to avoid the ball getting cornered.

(2) Markings on the playground

The field of play shall be marked as shown in Appendix 2. The center circle will have a radius of 60(cm). The arc, which is part of the goal area, will be 130(cm) along the goal line and 24(pixel) perpendicular to it. The major lines/arcs (centerline, goal area borderlines and the center circle) will be gray in color and 5(cm) in thick.

(3) The goal

The goal shall be 160 (cm)*50(cm)*75(cm) . A 3cm*3cm crossbar is placed acrosss the front top of the box representing the upper bar of a soccer goal. To distinguish and identify them the goals shall be painted in blue ( navy blue) and yellow colors. The goalposts and crossbars must be white.

(4) The goal area

The goal area will be 160cm wide, 40cm deep and positioned directly in front of each goal.

(5) The ball

Each team has to be able to play with any orange FIFA standard 5 football at any time.

(6)  The robots

The robots shall be limited to a maximum of 45(cm) x 45(cm). Each robot is in team’s clothe which can be chosen before the match.

(7) The field location

The field is at the center of the screen.

(8) The control menu

The control menu is at the top and the bottom of the field.

(9) The clock

The clock is at the left of the menu.

(10) The score board

The score board is at right of the menu.

5.3: The Game Sequence

(1) The preparation of the match

A week before match, Technology Committed will provide the method to upload team's client code, all team must upload their code. Before each round of competition, all teams can renew their code and test them. During the a round, any team can't renew or editor their code.

(2)  The begin and end of the match

Each team must include shstart.sh and kill.sh to let the team members to go into field and end. All team members must enter the game field in 15 second after the start.sh running. The server's IP address should be the 1st parameter of start.sh.

5.4: Game Duration

(1) The duration of a game shall be two equal periods of 15 minutes each, with a half time interval for 10 minutes. An official timekeeper will pause the clock during substitutions, while transporting an injured robot from the field, during time-out and during such situations that deem to be right as per the discretion of the timekeeper.

(2) If a team is not ready to resume the game after the half time, additional 5 minutes shall be allowed. Even after the allowed additional time if such a team is not ready to continue the game, that team will be disqualified from the game.

5.5: Method of Scoring

(1) The Winner

A goal shall be scored when the whole of the ball passes over the goal line. The winner of a game shall be decided on the basis of the number of goals scored.

(2) The Tiebreaker

In the event of a tie after the second half, the winner will be decided by the sudden death scheme. The game will be continued after a 5 minutes break, for a maximum period of three minutes. The team managing to score the first goal will be declared as the winner. If the tie persists even after the extra 3 minutes game, the winner shall be decided through penalty-kicks. Each team shall take three penalty-kicks, which differs from as only a kicker and a goalkeeper shall be allowed on the playground. The goalkeeper should be kept within its goal area and the positions of the kicker and of the ball shall be the same as the Law. After the referee's whistle, the goalkeeper may come out of the goal area. In case of a tie even after the three-time penalty-kicks, additional penalty-kicks shall be allowed one-by-one, until the winner can be decided. All penalty-kicks shall be taken by a single robot and shall commence with the referee's whistle. A penalty-kick will be completed, when any one of the following happens:

1. The goalkeeper catches the ball with its appendages (if any) in the goal area.

2. The ball comes out of goal area.

3. Thirty (30) seconds pass after the referee's whistle.

5.6: Fouls

A foul will be called for in the following cases.

(1) Colliding with a robot of the opposite team, either intentionally or otherwise: the referee will call such fouls that directly affect the play of the game or that appear to have potential to harm the opponent robot. When a defender robot intentionally pushes an opponent robot, a free kick will be given to the opposite team. It is permitted to push the ball and an opponent player backwards provided the pushing player is always in contact with the ball.

(2) It is permitted to push the goalkeeper robot in the goal area, if the ball is between the pushing robot and the goalkeeper. However pushing the goalkeeper into the goal along with the ball is not allowed. If an attacking robot pushes the goalkeeper along with the ball into the goal or when the opponent robot pushes the goalkeeper directly then the referee shall call free-ball.

(3) It is referred to as handling, as judged by the referee, when a robot other than the goalkeeper catches the ball. It is also considered as handling, if a robot firmly attaches itself to the ball such a way that no other robot is allowed to manipulate the ball.

(4) The goalkeeper robot should kick out the ball from its goal area within 10 seconds. The failure to do so will be penalized by giving a free-ball .

(5) Giving a free-ball to the defensive team will penalize the blocking of a goalkeeper in its goal


6. SimuroSot Robo Challenge Obstacle Avoidance

Testing Time

    Before the game starts, each team will have an independent 2-minutes testing time by turns.

Mainly

    Each team needs to complete a series challenge three times.

Field

    A white rectangle is the competition field of avoidance challenge, which is sized 300cm*600cm, shown as Fig. 6.1.

Obstacles placing rules:

 The obstacle is a cube with 50cm*50cm*50cm. The obstacle placement will be different with different scenery and different challenge.  

Figure 6.1 Field for SimuroSot Robo Challenge

6.1 Introduction

   The following rules and regulations govern the game of SimuroSot Robo Obstacle avoidance challenge. The rules and regulations stated are to ensure a fair competition takes place. The objective of the SimuroSot Robo Obstacle avoidance challenge is to allow researchers to develop control algorithms, path planning and obstacle identification strategies without the need of complex and costly hardware setup. Teams are encouraged to use the simulation platform for the evaluation of their algorithms and eventually to participle in the RoboSot obstacle avoidance challenge which is exposed to real world conditions.

6.2 Platform

6.2.1. The simulation software

    The simulation software must be operated on a computer system with or better than the following system configurations.

The simulation platform is based on ROS Kinetic, and is open source, you can get it form https://github.com/zerowind168/SIMUROSOT-ROBOCHALLENGE

6.2.2. The field dimensions

    A green carpet playground 300cm X 600cm in size with 2.5cm thick white lines around it.

6.2.3. Markings on the field

The field shall be marked as shown in Figure 6.1. The center circle will have a radius of 37.5cm.

The major lines/arcs (centerline, goal area borderlines and the center circle) shall be white in color of 3mm thickness. The free ball positions shall be marked in grey color.

6.2.4. The goal, goal line and goal area

The goal shall be 40cm wide. The goal line is the line just in front of the goal which is 40cm long. The goal area (Region A) shall comprise of the area contained by the rectangle (sized 50cm X 15cm in front of the goal).

6.3 Game Component & Processing

6.3.1. Duration

   The duration of a game shall be two equal periods of 5 minutes each, with a half time interval for 10 minutes. An official timekeeper will pause the stopwatch during substitutions, during timeout and during such situations that deem to be right as per the discretion of the timekeeper.

   If a team is not ready to resume the game after the halftime, additional 5 minutes shall be given. If the team is still not ready to continue the game after the additional time, the team will be disqualified from the game.

6.4 The 1st challenge event

     In this event, the obstacle position are given by the server when client program first get up. You need to make a good control of you robot motion to avoid the obstacle. And you may also make a good path planning strategy.

6.4.1. Scenery 1

   There are 3 obstacle located in three lines. 1/4 lines, half lines and 3/4 lines.

6.4.2. Scenery 2

   There are 6 obstacle located in three lines. 1/4 lines, half lines and 3/4 lines. each line has two obstacle.

6.4.3. Scenery 3

   There are 6 obstacle randomly located in the ground.

6.4.4. Scenery 4

   There are 5 obstacle, two at the  1/4 lines, two at the 3/4 lines. one in the half lines and the middle one will randomly moving along the lines.

6.5 The 2nd challenge event

     In this event, the obstacle position are NOT given. You need to control your robot to avoid the obstacle by using only the camera on your robot.

6.5.1. Scenery 1

   There are 3 obstacle located in three lines. 1/4 lines, half lines and 3/4 lines. But the actually location is unknown. You need to avoid the obstacle according to your vision.

6.5.2. Scenery 2

   There are 6 obstacle located in three lines. 1/4 lines, half lines and 3/4 lines. each line has two obstacle. But the actually location is unknown. And you need to avoid it according to your vision.

6.5.3. Scenery 3

   There are 6 obstacle randomly located in the ground. And the actually location is unknown. And you need to avoid it according to your vision.

6.5.4. Scenery 4

   There are 5 obstacle, two at the  1/4 lines, two at the 3/4 lines. one in the half lines and the middle one will randomly moving along the lines. The actually location of static obstacle is unknown. And you need to avoid it according to your vision.

6.6 Game Commencement

Before the commencement of each scenery, all team need to copy their code to the client computer. And the team match sequence shall be determined by a draw. Before the beginning of each scenery, the team is allowed to change its program.  

For a scenery, the position of obstacle may different for different test case. The actually test case  is also determined by a draw.

6.7 End of the Game

At the end of the game, the team should remove or delete their team strategy files from the client computer.

6.8 The Referee

Every match is controlled by a referee who has full authority to enforce the Laws of the Game in connection with the match to which he has been appointed. The referee shall communicate with both team members in English unless it is agreeable by both teams and the referee/assistant referee that other languages are allowed to be used.

The referee:

-Enforces the Laws of the Game.

-Controls the match possibly in co-operation with assistant referees.

-Stops, suspends or terminates the match, at his discretion, for an infringements of the Laws

-Stops, suspends or terminates the match because of outside interference of any kind Acts on the advice of assistant referees regarding incidents which he has not seen.

-Ensures that no unauthorized persons enter the field of play.  Only one representative per team is authorized to speak with the judge and it must be defined before the match beginning.

-When the referee makes a decision and a team does not agree with it, his representative can expose his reason. He only has one minute to do it, then the opposing team has the opportunity to do it for a minute too if they want. After that the referee MUST take a decision.

-Takes action against team officials who fail to conduct themselves in a responsible manner and may at his discretion, expel them from the field of play and its immediate surrounds.

6.9 Method of Scoring

6.9.1. The winner

         The team with the highest score will be the winner.

6.9.2. Score for Challenge One

Scenery

Obstacle placement

score

1

3 obstacle in 3 lines

max 10 points. 6 points for avoiding all obstacle, 4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others  

2

6 obstacle in 3 lines, each 2

max 10 points. 6 points for avoiding all obstacle, 4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others

3

5 obstacle in 3 lines, center moving

max 15 points. 11 points for avoiding all obstacle; 7 points for avoiding all but moving obstacle, and arring the target. 4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others

4

6 obstacle in random location

max 15 points. 11 points for avoiding all obstacle, 8 points for avoiding all but one obstacle, 5 points for avoiding all but two points,  4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others

6.9.2. Score for Challenge Two

Scenery

Obstacle placement

score

1

3 obstacle in 3 lines

max 10 points. 6 points for avoiding all obstacle, 4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others  

2

6 obstacle in 3 lines, each 2

max 10 points. 6 points for avoiding all obstacle, 4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others

3

5 obstacle in 3 lines, center moving

max 15 points. 11 points for avoiding all obstacle; 7 points for avoiding all but moving obstacle, and arring the target. 4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others

4

6 obstacle in random location

max 15 points. 11 points for avoiding all obstacle, 8 points for avoiding all but one obstacle, 5 points for avoiding all but two points,  4 points for shortest time, 2 for 2nd, 1 for 3rd, 0 for others

In the event of a tie.  

7. SimuroSot Air

7.1 Introduction

The following rules and regulations govern the SimuroSot Air competition.
        The focus of the SimuroSot Air competition is to develop an autonomous navigation system for drones in urban environments without the need of complex and costly hardware setup. Teams are encouraged to use the simulation platform for the evaluation of their algorithms and eventually to participle in the FIRA Air which is exposed to real world conditions. Same as the FIRA Air, two scenarios have been considered for this contest. In the first scenario, the drone has to land to a specific location while flies through a particular path and avoids any collision with obstacles, and then return to the starting point. In the second scenario, the drone has to autonomously do some high altitude inspections (e.g. tall buildings and electricity pylons inspections). In this situation, taking pictures with sufficient quality from different angles is required.

7.2 Game Structure


        The competition have two missions: emergency delivery and tower inspection. These two missions have separate time slots and the score for each mission will be calculated separately, and also the sum of these two will result in the overall score of a team. Each mission consists of several mission elements which have a specific order and should be carried out in that order. A team can take part in all mission elements or only a few of them. For example emergency delivery consists of 5 mission elements (no.1 to no.5), a team can perform the mission elements in an order like 1-2-4-5 or 2-4, but if the order is 1-2-5-4, the mission element no.4 will not be scored.
        Each team has a specific amount of time for completing tasks. Each mission has three different sceneries, such as route, QR-code etc. The average score will be the final score for that mission. At the end of competitions, the teams with best performance in the total will be awarded.

7.3 Platform

7.3.1. The simulation software

    The simulation software must be operated on a computer system with or better than the following system configurations.

The simulation platform is based on ROS Indigo, and is open source, you can get it from:

https://github.com/zerowind168/SIMUROSOT-AIR

7.3.2. The field of play


        For focusing on the development of software algorithms, and providing the same condition for all teams, this competition will use a unified simulation environment. The playing field is a simulated model of an urban environment consisting of several streets, crossroads, buildings, obstacles and designated places with markers. Figure 1 shows a schema of the field with these elements:
        1. Starting point
        2. Obstacles
        3. Emergency Delivery (Landing) Location
        4. Electricity pylons inspections
        5. Tower inspection



Figure 1, a schema of the playing field.


        Streets have a particular color with a dashed line in the middle. These roads are connected to each other using several crossroads, and there is a QR code located in the center of each crossing. Data of these QR codes tells the drone where it should go next. Several markers are located at the end of streets for different mission elements which show the starting point, landing point, and towers location.


7.4 Mission 1: Emergency Delivery


        In this mission, the drone has to land to a specific location while flies through a particular path and avoids any collision with obstacles. After landing, it should return to the starting point. This mission consist of the following elements:

        
1. Takeoff and Hovering: Drone should be kept steady in a fixed space after taking off for 5 seconds. If drone drifts more than 1 meter or lose its balance during this time, corresponding team will not get any score for this takeoff.
        
2. Visual navigation: In this section, the drone will follow the streets to the destination. After reaching a crossroad, scanning the QR code defines the next path. The score of this mission element is calculated based on the number of followed streets. If the next path isn’t recognized correctly in a crossroad, the team will not achieve any score till the next crossroad.
        
3. Collision avoidance: There are several obstacles in the environment and drone must identify and avoid them by changing its altitude. Crossing each detected obstacle without any collision will result in score.
        
4. Landing on the destination: The Landing destination is marked on the ground. Drone should land on the marker and fly again. The distance between the center of the marker and the place where drone landed will define the score of this section.
        
5. Return and land on starting point: Drone has to follow the path it traveled to get back to the starting point. In this section, the number of correctly followed paths and landing accuracy on the marker of starting point defines the amount of score.

The following table shows scores of each mission element:

Number

Mission element

Score

1

Takeoff & Hovering

1 point for hovering (5 seconds)

2

Navigating to destination

2 points for each correct street traveled (till next the crossroad)

3

Collision avoidance

1 point for each correct obstacle avoidance

4

                                   

Landing on the destination

4 points for distance less than 20cm

3 points for distance less than 30cm

2 point for distance less than 50cm

5

                                   

Return and land on starting point

2 points for each correct street traveled (till next the crossroad)

2 points for landing on the marker


7.5 Mission 2: Tower Inspection


        The goal of this mission is the automatic inspection of equipment that is installed in high altitude and couldn't be reached easily. Inspection of electric tower insulators and searching for victims of a fire accident (occurred in a residential tower) are scenarios that are going to be simulated in this mission.
        The electric tower insulators are simulated according to the picture below. There are several QR codes installed on sides of these two cubes, and the drone should read these codes by taking images in different angles.



Figure 2, Electricity pylons model.

The residential tower is shaped like a cuboid, and there are several QR codes located on different sides of it. Some of these QRs contains victim information as well as the environment temperature and some others, only contains the temperature of the environment. A team will score by reporting information of the victims. Temperatures written inside each QR code are showing the temperatures of building in that location. Hence reporting the hottest and coolest locations of the building will result in getting additional points as well. So, you should keep these information in a separate file.
        Details of this mission are as follows:
        
1. Reaching electric tower: Reaching electric tower: After taking off from the starting point, the drone moves toward the location of the electrical tower. The electrical tower is located at the end of a predefined street. In this situation, the address of the power tower is known, and there is no need to decode QR codes in Street crossroads.
        
2. Insulator scan: The drone should identify QR codes installed on insulator model and report them. This procedure should be done by taking pictures in different angles of the tower.
        
3. Reaching residential tower: Like the first element, the drone has to traverse a predefined path between the electrical tower and the residential tower. This route is fixed and known.
        
4. Searching for victims: The drone will scan different locations of the tower to find QR codes and read them to identify victims. Reading QR codes that don't contain any meaningful information about victims will not result in score for this mission element.
        
5. Identifying the center of the fire: The team will achieve the score of this mission element if the drone reports the location of hottest and coolest spots of the building.
        
6. Return and land on starting point: Drone has to follow the path it has traveled to get back to the starting point. In this section, the correctness of path and precision of landing on the marker defines the amount of score.
The following table shows scores of each mission elements:

Number

        Mission element

Score

1

Reaching electric tower

2 points for following the known path

2

Insulator scan

1 point for reading each QR code

3

Reaching residential tower

2 points for following the known path

4

Searching for victims

1 point for reading each QR code that contain victim information

5

Identifying the center of the fire

1 points for detection of the hottest spot

1 points for detection of the coolest spot

6

Return and land on starting point

2 points for correctly following the path

2 points for landing on the marker

 
7.6 Method of Scoring


        The score of a mission depends on the performance of drone. It will be calculated using the formula below:
                                                                  
   
        
In this formula, i is the mission element number,  is the achieved score in that mission element.        The score for each mission is the sum of the achieved score for each mission element.