RoboCup 3D Soccer Simulation League
Encyclopedia
The RoboCup 3D Simulated Soccer League allows software agents to control humanoid robots to compete against one another in a realistic simulation of the rules and physics of a game of soccer. The platform strives to reproduce the software programming challenges faced when building real physical robots for this purpose. In doing so, it helps research towards the RoboCup
RoboCup
RoboCup is an international robotics competition founded in 1997. The aim is to develop autonomous soccer robots with the intention of promoting research and education in the field of artificial intelligence...

 Federation's goal of developing a team of fully autonomous humanoid robots that can win against the human world soccer champion team in 2050.

The first version of the 3D server was released on 2003-12-30.

Architecture

The simulation is executed in the RoboCup Simulated Soccer Server 3D (rcssserver3d) which runs on Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

, Windows and Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...

. The underlying simulation engine is SimSpark
SimSpark
SimSpark is a generic simulation system for various multiagent simulations. It supports developing physical simulations for AI and robotics research with an open-source application framework. It is commonly used in academic research and education.- History :...

.

Agents are controlled by external processes. The competition's rules dictate that each agent must be a separate process, though there is no technical restriction for this. Agents communicate with the soccer server via TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

, by default on port 3100. Inter-process communication is otherwise forbidden. Agents may talk to one another, but only through the server which imposes certain restrictions on the distance and amount of information that may be sent.

The server sends game and agent state information to each agent. In response, the agent sends commands to the simulation that control the movement of the agent's body. Messages are sent using Lisp-like S-expression
S-expression
S-expressions or sexps are list-based data structures that represent semi-structured data. An S-expression may be a nested list of smaller S-expressions. S-expressions are probably best known for their use in the Lisp family of programming languages...

s in single-byte ASCII
ASCII
The American Standard Code for Information Interchange is a character-encoding scheme based on the ordering of the English alphabet. ASCII codes represent text in computers, communications equipment, and other devices that use text...

, prefixed by a 32-bit unsigned integer representing the length of the following string.

The simulation server does not have a GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...

 of its own. Instead, a dedicated monitor application connects to the server via TCP port 3200 and receives information about the state of play. The standard monitoring application is rcssmonitor3d which is additionally capable of replaying log files from recorded matches. RoboViz is a newer Java-based monitoring application with extended 3D graphical and debugging capabilities.

Robot Models

The SimSpark
SimSpark
SimSpark is a generic simulation system for various multiagent simulations. It supports developing physical simulations for AI and robotics research with an open-source application framework. It is commonly used in academic research and education.- History :...

 simulation system is a generic simulator, capable of simulating different agent models. In its history, the 3D league has used different models.

Changing of models represents progress simulating an improved approximation of a real robot. However, when models change, existing teams must rework their agents to control the new bodies.

Soccerbot

The first agent model used in the 3D league was the Soccerbot, which was based on the HOAP
HOAP
The HOAP series robots are an advanced humanoid robot platform manufactured by Fujitsu Automation in Japan. HOAP is an abbreviation for "Humanoid for Open Architecture Platform"....

-2 by Fujitsu
Fujitsu
is a Japanese multinational information technology equipment and services company headquartered in Tokyo, Japan. It is the world's third-largest IT services provider measured by revenues....

. As the first RoboCup 3D model, teams were primarily concerned with balance and basic mobility. Consequently this agent model is not as fully featured as a human-sized biped soccer playing robot would be. For example, Soccerbot has an omni-directional camera mounted in the torso and consequently the head is fixed. Similarly the hip joints are restricted to rotations around perpendicular axes.

Soccerbot was also designed within certain limitations of the simulation system at the time. As the simulator became more robust, more sophisticated robot models were possible.

Nao Robot

The current robot model used in competitions is based on the Nao robot
Nao (robot)
Nao is an autonomous, programmable, medium-sized humanoid robot, developed by Aldebaran Robotics, a French startup company headquartered in Paris. Project Nao was launched in 2004. On August 15, 2007, Nao replaced Sony's robot dog Aibo as the robot used in the Robot Soccer World Cup Standard...

 by Aldebaran Robotics. It has 22 hinges to control the motion of its body.

Nao has a directional camera mounted in the head. The head can rotate through two degrees of freedom, ranging -120 to 120 degrees left-to-right, and -45 to 45 degrees down-to-up. The camera has a field of view 120 degrees wide.

Nao also has a more complex hip structure.

Perceptors

The Nao robot player is equipped with various perceptors:
  • GyroRatePerceptor delivers information about orientation relative to X,Y,Z axes. Nao has one fixed within the torso.
  • HingeJointPerceptor provides the current angle of a hinge joint. Hinge joints can only bend along one axis. Nao has 22 such joints.
  • ForceResistancePerceptor provides information about the location, direction and magnitude of a force applied upon a part of the body. Nao has one of these on the sole of each foot.
  • Accelerometer measures acceleration along X,Y,Z axes of the body part to which it is affixed. Gravity is registered. Nao has one fixed within the torso.
  • VisionPerceptor a specialised camera that reports upon the location of certain landmarks upon the field, the ball and other players. Positions are reported in polar coordinates relative to the gazing direction of Nao.
  • GameStatePerceptor detects game time and play mode (before kickoff, free kick, game over, etc.).
  • HearPerceptor detects messages sent from other agents on the field, reporting their distance, direction and the message itself.


The simulation platform, SimSpark
SimSpark
SimSpark is a generic simulation system for various multiagent simulations. It supports developing physical simulations for AI and robotics research with an open-source application framework. It is commonly used in academic research and education.- History :...

is capable of extension via custom perceptors, but this is not allowed in competitions.

Effectors

  • CreateEffector is sent once after the agent connects to create a robot within the server.
  • HingeJointEffector specifies that a given force should be applied to a particular hinge joint. Nao has 22 such hinges.
  • BeamEffector is used to reposition the robot player at times in the game when this is allowed.
  • SayEffector makes the robot say a message that may be heard by team mates and opponents within a certain range via the HearPerceptor.

Media


Teams


External links

  • SimSpark Wiki Installation instructions for SimSpark and rcssserver3d on all platforms.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK