Soccer Robotics An Overview Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Abstract-Soccer robotics is a new craze that is catching up not only with game enthusiasts, but mainly with researchers who believe that developing a MiroSoT will lead to solutions for existing limitations and surface a new dimension to the world of robotics. The functionality is self explanatory where, two teams of robots play against each other a game of soccer.

Soccer robots come in various categories, but we will mainly focus on MiroSoT. The whole idea of soccer robots is to develop an intelligent robot that can SENSE, DECIDE AND ACT depending on a real time situation. A robot uses sensors to sense and actuators to act on the decision made. The decision process goes through a rather extensive procedure. These basic behavioural characteristics are combined to strike, defend, tackle etc. Each robot of the team communicates with the other with the help of a host computer that is connected to the overhead camera on top of the field along with a RF module.

Soccer robotics is a good platform to explore and study multi agents systems. In this paper we will focus on how computer vision and control techniques are used to detect the present scenario and perform accordingly.

Keywords: Robots, Intelligent control, Computer vision, PID controller.


Soccer robotics is played in several categories, but we will focus on MiroSoT (Micro Robot Soccer Tournament). There are two kinds of leagues, Small league which consists of three robots in each team and a Middle league with five robots in a team and they are both inclusive of a goal keeper [1]. Each robot size is defined as a cubic box of parameters 7.5cms x 7.5cms x 7.5cms [1]. Hence the field size is proportional to the robot sizes.

Intelligent robots are those that can work in real time environment with minimum or no human intrusion [2]. Intelligent robots have the following characteristic features:

Reactive: The robots should be able to sense the changes in real time environment and react to them [2].

Proactive: The robots should be in a position to make decisions [2].

Communicative: The robots should be able to communicate with each other and work as a team [2].

These are important features for the building of an intelligent robot.

SENSE is defined as the perception of the environment by the robots [2]. DECIDE is defined when the sensed information is processed and an action to be performed is construed [2]. ACT is not as merely simple. It falls under two categories of control and actuation where functions that produce commands to the robots are control and functions that make the hardware run is actuation [2].

The standards of the game are set by FIRA (Federation of International Robot soccer Association). FIRA is a non profit organisation that conducts annual soccer competitions for robots that are built by representatives of participating country [1]. In order to maintain a basic standard and to negate favourability of winning, FIRA sets some eligibility criteria the team has to pass in order to compete [2]. The tests set by FIRA are mainly to determine if a robot is able to perform basic soccer actions. These actions are fundamental for a winning team. The following describes the tests.

Kicking the Ball:

This action is absolute basic of playing the game. A robot at the position (x, y, θ) is to kick the stationary ball at (x', y') through the position (x", y") [2]. Basically the robot should be able to start running from any position towards the stationary ball and kick it in any direction. This is necessary for striking a goal, taking penalties etc.

Passing the ball to another robot:

This involves two robots. The first robot at the position (x, y, θ) kicks a stationary ball at (x', y') to (x", y") which is to be collected by another robot starting from (x"', y"', θ"')[2]. This is the first benchmark that tests the working of a robot as a team.

Striking a moving ball:

This is a difficult condition because the ball is constantly moving and the captured image has to reach the vision system faster than the ball moving which poses a challenge. A robot at (x, y, θ) moves to (x', y', θ') to strike the ball through (x", y") [2]. The movement of the robot is based on the image captured by the overhead camera. The sampling rate of the camera has to be at its maximum as this will help in deciding the velocity of the ball.

Passing a moving ball to moving robot:

A robot at (x, y, θ) strikes the ball at (x', y', θ') to pass through (x", y") where it is struck by another robot staring from (x"', y"', θ"') to pass through (x"", y"") [2].

Dribbling through an obstacle:

This is the most difficult test to pass as the robot need to recognize obstacles and dribble the ball past them. For this test there is test robot and a ball. The test robot is placed one robot space distance from the first obstacle. The second obstacle is in line with the test robot and first obstacle. The robot needs to detect these two obstacles and pass through them in a S-shaped path in order to pass the test [2].


As seen in the Fig. 1 there is an overhead camera placed above the field such that it covers the entire play area. Each team has camera SENSING the movement of each robot and the ball [2]. The decision making module based on the information sensed will DECIDE the following course of plan [2]. Now the host computer, the intelligent module will send commands to the robots to ACT on the strategic plan to strike a goal [2].

One entire processing cycle consists of these three elements (sensing, decision making and action). The sampling rate of the camera captures need to be so high in order not to miss any frame. This also requires the processing cycle time to be least in order to grab every frame. Hence this is what makes soccer robotics challenging.


The robots and the ball have predefined colours [1]. This basic idea is used to recognise the entity on the field.

The main component responsible for computer vision is an equivalent of the human eye, overhead camera. The 3D scene is captured into a 2D picture which is fed into the system. It goes through following process. The camera has Charge Coupled Device (CCD) which is an image sensor [3]. CCD converts the image into an electrical analog signal [3]. Frame grabber samples these signals using ADC [2]. These sampled signals have a leading data which in common terms is called a pixel. There are various colour models that are used before converting them into binary image for image segmentation. This paper will consider the YUV. "They code the information about chrominance in two dimensions (U and V) and only one dimension includes the information about intensity (Y)" [4].

Fig.1. Soccer robotics setup (MiroSoT)

Object-background separation

"Thresholding is a method to convert a gray scale image into a binary image so that objects of interest are separated from the background" [2].

The need to focus on the robot or the ball is done by refining the picture to only project the entity in question. In a binary image the objects are considered a binary 1 and background a 0 [5]. The coloured picture is converted to its binary image. The object and the background are required to be at high contrast. This is achieved by the layout of the game where the robots are colour coded, whereas the field is green or black [1]. This is one of the layouts of several existing ones, but all follow similar structure of varying contrasts.

The threshold selection is more often trial and error, based on the knowledge of the size of robots and the ball.

Position and orientation

It is easier to locate the position of the object as compared to determining its posture. The object pixels are highlighted on a binary image. The object position is calculated using the following formulae where n is the number of rows and m is number of columns of a grid n x m binary image [2]. A is the area of the object.




Equation 2, 3 give the centre of the object [2]. This is a very important technique after performing image labelling. These points are converted to actual physical position by using another set of similar equations [2]. We now know where target object is located but we don't know where it is orientated as the system uses an overhead camera.

Each robot has standard two coloured squares on top of it [6]. One square is used to represent the colour of the team and the other as personal individual identification [6]. This is represented in Fig 2. These are standards set by FIRA. Both the teams obviously choose different colours. These two squares are considered in performing mathematical calculation to determine the posture of the robot. An axis is drawn between the patches as shown in Fig 2.

Fig.2. Top view of the robot and orientation

The angle in which it is moving forward is Θ and the orientation angle is [2] as shown in Fig.2. They are both calculated as (4), (5):


Where and


Connectivity and size filtering

Binary image presents raw data. The required information is extracted from this image. This is done by using a concept of labelling and then filtering it. Pixels that are next to each other are represented as either 4 neighbours or 8 neighbours. Pixels that share one side with another are 4 neighbours and ones that share at least one corner are 8 neighbours [6]. This is the connectivity of pixels. Neighbouring pixels are given one label.

As shown in the Fig.3 connected pixels are given individual identity. There are certain kinds of algorithms that run in order to detect each pixel and group them. The most efficient one is sequential algorithm [2]. Firstly the image is scanned. The pixel is given a label X [4]. The image is scanned again. If the next pixel has a neighbour then same label is given [4]. If it has more than one neighbour with different labels then the pixel is given the label of the neighbour above it [4]. Finally if it has no neighbours it is given a new label, X+1 [4]. This cycle is continued till all pixels are numbered.

Fig.3. Size filtering

Fig.4. Size filtering

In reality an image has lot of noise that is contributed by bad lighting or the overhead camera. They appear like just another labelled object, but only they are more ragged or conspicuous compared to objects in question. They are also lot smaller in area as compared to target objects. Hence filtering is done based on area of the component [6]. Fig.4 shows an example of size filtering with the threshold constant as 3 [6]. This discards all the pixels which are less than or equal to 3 in size, retaining only the required image.

Now we have a perfect binary image of entities under study. The equation 2, 3 are used to find the image co ordinates. The physical co ordinates are found based on the length and breadth of the soccer field as discussed earlier. At this stage we know the location and posture of the robot.


The next step after locating the robot is, driving the robot to that location to perform the required action, which could be kick, block, defend etc. The role of each robot is defined based on the area it is present in. The field is defined in regions. Depending on the region the robot is positioned the role is assigned. The robot in defender realm acts as a defender, one near the goal post acts as goalie and so on and so forth. These roles are not fixed as the robots are constantly moving. In order to avoid conflicts of role it plays, whenever a robot is unable to perform a given task, the regions are re constructed and roles are assigned based on new design [2]. The action follows this decision making.

The most common and efficient control method used is PID control system. This control system is used for ensuring successful completion of soccer actions. It is used to correct errors that could lead to losing of the game.

PID controller

The robots have assigned targets to perform some action. Robots that work on motor controlled wheels tend to exhibit lot of errors which leads to missing the target [7]. In order to avoid this, a feedback control system is used so the errors can be corrected.

"PID is an algorithm used in a control feedback loop to regulate a process such as the motion of a motor. Using PID control will make the robot design more stable, robust, and has the potential to improve response characteristics [8]".

The PID controller is used at two stages. First one is used for driving the robot to a target position. Here the reference input is the target position. This represents the intelligent control of the system. Secondly it is used to calculate the left and right wheel velocities of the robot [11].

Fig.5. PID Controller block diagram

P - This is called the proportional [9]. This is the main component in reducing errors and achieving the required output [9]. In our case this is defined as speed of the robot.

I - This is the integral. This represents accuracy of the system.

D - This is the derivative. It gives the action that needs to be taken based on the rate at which errors are evaluating [10].

Let us consider the system output of Fig.5 as o(t), the measured error as e(t) and reference as y(t).

The error signal is defined as (6).


This error is multiplied with each of the gains of proportional, integral and derivative which are K, Kand Krespectively. Equation (7) is derived from the Fig.5, which determines the system input s(t) [10].


The actual required output is brought extremely close to the reference or set value of the system. For example if the robot is expected to move at the speed of 5m/s, but instead is moving at 3m/s [7]. The error is 2m/s [7]. This error is brought very close to zero, making the robot move in right direction or right speed.

The output received is analog and needs to be converted to digital in order to run on the host system. The digital value is obtained by differentiating the equation 7 with respect to time.


Fig.6. Plot of amplitude versus time

The settling time is the time required for the error to reach a value close to zero [7]. In a system it's advantageous to have as low a settling time as possible, as the longer it takes slower will be the movement of the robot. FS in Fig.6 is the fixed reference value that is required to achieve. Any value going over that is overshoot. In a practical system there always remains an error band [7]. It can never be one single value. As we can see the final output is extremely close to the required value.

This is the basic concept used to move towards the target and perform the decided action. The robot now is able to detect the ball using the vision system and move towards it and perform the required action based on PID control.


The robot can be made faster and sharper by using more advanced intelligent controlling of the data. The following is brief introduction to how the intelligent control can be upgraded.

Fuzzy logic

Using fuzzy logic in multi agents systems has reaped better results. The PID controller determines the location, orientation and velocity of the robot. This data is fed into a fuzzy controller, which then based on the set of fuzzy rules decides what action is to be taken [12]. As discussed earlier, each robot in a team is assigned its role in the game and based on the role appropriate action is taken. Based on the role its playing, fuzzy rules are applied to decide. Rules are framed considering all real time environmental parameters [12].


In this paper we have discussed the concept of computer vision and control technique of a multi agents system. The other intelligent control techniques being tested are systems like Petri nets, neural networks, Q learning etc.

Soccer robotics challenges so many aspects of robotics. This field doesn't yet boast of the best possible solution. One of the main reasons is owing to its disability of not reducing the processing cycle speed.

This multi agent systems idea can be extended in applying it to industrial robots, serving robots etc where robots work in an environment without any human supervision. The robots can be used to work in mines, restaurants, as nurses, as constructional workers and in several more areas. But this will lead to economic downfall with reduce in labour. Whenever this is impending, let us hope we will be in a position to strike a balance.