RoboCup is an initiative to foster artificial intelligence and robotics research by providing a standard problem in the form of robot soccer competitions. The stated goal of the project is, by 2050, to have a team of humanoid robots beat the human champions at that time in the game of soccer. Please visit their official homepage for more information.
rcssserver3d is the official competition environment for the 3D Soccer Simulation League at RoboCup. It implements a soccer simulation where two teams of up to eleven humanoid robots play against each other. This seemingly simple setup poses a challenge to agent implementers on several levels.
Most rules of the soccer game are judged by an automatic rule set that enforces the basic soccer rule set. However more involved situations like detection unfair behavior still require a human referee to intervene via a Monitor.
Field Dimensions and Layout
- The dimensions of the soccer field are 30 by 20 meters.
- Each goal is 2.1 by 0.6 meters, with a height of 0.8 meters. The depth is only important if you try to walk through the back of the net.
- The penalty area of each goal is 3.9 by 1.8 meters. Note that the overall penalty area width is the sum of the goal width and the penalty area width.
- The center circle has a radius of 2 meters. The vision perceptor observes it made up of ten straight lines (a decagon).
- The soccer field is surrounded by a border of 10 meters in the x and y dimensions. Space outside this border area is not reachable by an agent.
- The soccer ball has a radius of 0.04 meters and a mass of 26 grams.
A FIFA soccer field is approximately 110 by 70 meters, making the simulated field about 35% the dimensions of a full-size pitch.
At each corner of the soccer field, and at the goal posts, a distinctive marker is placed. The positions of these markers are fixed and known to each agent. Agents perceive the relative position of a subset of these markers together with the field lines in their field of view and are therefore able to localize themselves on the soccer field. While the field lines look all the same, the markers can be distinguished through their identifier as shown in figure Image:SoccerSimulation_FieldPlan.png. The markers for the corner flags are placed on ground level (0.0 meter) and the goal post markers are placed on the top of each goal post at a height of 0.8 meter. (Note: the middle circle is modelled with several short lines, not as a circle as shown in figure Image:SoccerSimulation_FieldPlan.png)
Rules Judged by the Automatic Referee
In order to run a soccer game several rules have to be applied. The automatic referee automatically limits the time of each game half. It further keeps track which player was the last one to touch the ball and checks whether the ball enters the goal penalty areas of the soccer field, or was kicked into touch. Therefore it is able to detect and score goals, automatically judge ball out and give kick in, corner kick in or goal kick to the correct team. The offside rule is implemented but still experimental. During a free kick, the opponent team has to keep a minimum distance of 1.3 meter, as well as 1.0 meter in case of a goal kick.
With the latest Version of the soccer simulation several new rules were applied to the automatic referee, in order to ensure a smooth gameplay. The automatic referee tries to avoid mass collisions of robots around the ball, as well as dead robots lying around on the field, blocking the gameplay. Furthermore it takes care that no team is blocking the own goal with more than a certain amount of players. In all cases the robots causing the problem situation are automatically beamed outside the soccer field. For an up to date list of all values please refer to naosoccersim.rb in the rcssserver3d folder (under the comment: auto ref parameters)
TODO: Description of the new touch rules. TODO: Detailed description of the new referee patch from Luis.
Rules Judged by the Human Referee
The human referee acts through a connected monitor. They are responsible to give the kick off command to start each game half. The automatic referee currently does not resolve situations where the game got stuck if for example several player block each other and no one is able to reach the ball. Further it does not detect fouls like the use of hands or other inappropriate behavior on the soccer field.
In these cases the human referee can drop ball the ball, i.e. put it on a random location on the playing field to unstuck the game. They can also command a free kick where one player is able to shoot from a short distance to the goal.
Participating in the 3D Soccer Simulation League
There are 3D Simulation teams all around the world, and there's nothing to stop you from creating your own.
If you'd like to get started, it's worth reading through this wiki, joining the mailing lists and looking at various base codes that already exist to get you started quickly.
Throughout the year there are several regional open competitions, such as the German Open, Dutch Open, Iran Open, Japan Open and China Open.
The RoboCup World Cup happens annually, and it's location changes each year. These competitions attract the largest number of competitors and feature a large number of leagues, making them quite an unforgettable experience!
Details are available on the official homepage, www.robocup.org.
Events are announced on the mailing lists.
The rules vary each year as the level of teams progress, and these changes are generally announced on the mailing list ahead of time.
- The game is played in two halves, each 5 minutes in duration.
- Each team has eleven players.
- A series of games is played in a tournament structure.
- There points for a win.
- One point for a draw.
- Forfeits record a score of 3:0.
There are many more rules that what would influence the way in which you design your agent's behaviour, so be sure to read them.