Feature (reading time 16–20 min)

The Messi of robot soccer is a tricycle with a fisheye

The Eindhoven University of Technology soccer robots have already won the RoboCup world title four times. The speedy black machines are such natural ball players of the game we know so well that you could almost forget that you are watching a team of machines. But what is not so natural or obvious is the fact that these machines can play a 1-2 autonomously, take the place of an injured goalkeeper, or score every penalty. Under the hood is an enormous amount of knowledge and technology that is constantly being improved: the hardware, the software, and the teamwork.


At Eindhoven University of Technology, a team of researchers and students is working on the development of soccer robots. Each year, they play at the robot soccer world championship, the RoboCup, against teams from different universities, research institutes and companies. The RoboCup is the global tournament for autonomous robots, an event that decides who has the best team of soccer robots.

Because the robots aren't as good as the Messis and Ronaldos of this world, FIFA rules are adjusted: a smaller pitch, a smaller goal, and fewer players per team. In 2050, these robots aim to defeat the human soccer world champions at their own game. However, there is a crucial difference with human soccer: in human soccer the coaches keep their strategy secret whereas after the RoboCup, all robot designs, all computer code and all strategies are freely shared and discussed. In this way the teams can learn from each other and together improve more quickly, and so the technology advances faster. The robots have to be able to recognize a ball, dribble, understand the rules of the game, work together and eventually learn to stand on two legs.

What a useless idea, soccer-playing robots

What use are soccer-playing robots to mankind anyway? That is actually not the right question. A better question would be: what is the use of soccer-playing robots to scientists? By becoming very good at soccer—a game that people master very well, but animals and machines don't at all—the scientists have a practical goal. Of course, each year the teams make things a little more difficult because everyone wants to win that cherished RoboCup. The rules are also adjusted a little each year to create new challenges for the robots: the goal gets a little bigger, or you can't dribble backwards for long. These are all measures that raise the bar, and ensure that the development of robotics is encouraged.

The RoboCup is, as it were, the Formula 1 of the autonomous robotics. Just as the innovations from Formula 1 lead to improvements in passenger cars, innovations from soccer robots are used to improve care and rescue robots.

What does such a soccer robot look like now? What components make up such a robot and why? How does he know what his teammates are doing? Do penalties give soccer robots nightmares? Here we discuss the most interesting features of the robots of the Eindhoven soccer robot team, Tech United.



Table of contents



The robot body

Because it would be easy to make a robot so big that it could fill the goal, rules have been drawn up. For example, the underside of a robot should be a maximum of 52x52 cm and a minimum of 30x30 cm, and its height should not exceed 80 cm. The robot must also be black with a brightly colored marking, so that it can be easily recognized by the referee and other robots. There are also some other requirements related to communication (robots talk to each other and with the referee via WiFi), sensors (anything is allowed, as long as it fits on the robot itself), and hardware for ball control (anything is allowed, as long as it doesn't destroy other robots). These limitations on the design of a soccer robot leave a lot of room for design freedom and creativity. This is exactly what the RoboCup organizers want: to encourage the teams to be as creative as possible.

This is how the robot sees the world

The most important thing for a soccer robot is to recognize his teammates, the opponent, the lines on the pitch and the ball. Tech United robots have two types of eyes for two different purposes: on top is the 'OmniVision' camera and in front a Kinect.

The OmniVision camera is designed to see the pitch. The robot does this with a 0.3 megapixel camera aimed at a convex (parabolic) mirror on top of the robot that gives the robot a field of vision of just 6 meters. Therefore it is important that the robots keep each other informed about what they see, so that together they have the most complete image possible. For example from where the ball is.

Because the robot looks through a convex mirror, it doesn't see as humans do. The world is very distorted, as if looking through a fishbowl or a fisheye lens. You would think that the robot would first have to convert that convex image into a normal straight image, but that is not the case. For the robot the pitch is not rectangular and the ball is not round but oval. The robot can handle this information very well.

People have two eyes, which allows them to see depth

The OmniVision camera works like a single eye, so seeing depth is incredibly complicated. Also, OmniVision can't see what's happening above 80 cm, due to the downward-facing mirror. To solve this problem, the robot has a second forward-facing eye: a Microsoft Kinect 2. Microsoft developed this 2 megapixel camera for the Xbox game computer to recognize, for example, dancing players. The Eindhoven robots see depth with this camera, and the ball when it goes above 80 centimeters, such as bouncing balls or high lobs.

Dribbling with the ball

Once the robot has the ball, it's not always handy to kick the ball away immediately. To dribble, the robots have a system of rotating wheels that enable them to control the ball. Because the robot is not allowed to keep hold of the ball too much, the RoboCup rules state that the ball must remain available for at least two-thirds for the opponent to be able to get it. In addition, the robot may only dribble backwards with the ball for not more than one meter. After all, by moving backwards it would otherwise be impossible for the opponent to get hold of the ball. Furthermore, the opposing goalkeeper could lose sight of the ball completely, because the ball would be hidden behind the attacking robot.

Penalties that always hit the target

Of course, the robot must also be able to score goals by shooting. Each robot therefore has a custom designed shooting mechanism on board. At the heart of the robot is a large electromagnet with a metal pin. Behind the magnet is a large capacitor that can store electrical energy. Within 19 milliseconds this capacitor can transfer all the charge at once to the electromagnet, which then blows away the metal pin. The pin hits against the back of the 'leg' that then kicks the ball. The robot can also adjust the power of the shot, down to a gentle pass. In addition to shooting hard straight ahead, the robots can also shoot low for passes and high for a lob.

Wheels on wheels

In order to 'run' after the ball, the robots not only need to be able to move fast, they also need to be able to accelerate fast. For now, Tech United is playing with 3-wheeled robots that have a maximum acceleration of 1.7 m/s2. That's half the acceleration of Usain Bolt in the 100 meters. The team is experimenting with 8-wheeled robots, which can do up to 2.5 m/s2. That's already 80% of Bolt's acceleration. Both platforms, both the tricycle and the eight-wheeler, have a top speed of a typical Dutch cyclist. The amount of power of the older robot is a quarter horsepower, while the newer robot has more than 2.5 hp at its disposal.

Moving is not only about accelerating, but also about being able to make fast turns. Because the newer robot has eight wheels at its disposal, it can move in any direction, but this requires all wheels to be perfectly aligned and every movement to be well coordinated. The older robot has a simpler but more ingenious system: omni-wheels. These are wheels with extra wheels perpendicular to the direction of travel. If an omni-wheel is not propelled (because the robot moves perpendicularly to the direction of travel of the omni-wheel), the smaller wheels can move along passively, so that an omni-wheel wheel does not have to be steered as precisely as in the newer 8-wheeler. If an omni-wheel is used, however, the smaller wheels provide sufficient grip to move forward.

The robot brain

The soccer robots participating in the RoboCup are not controlled by humans: they think and act autonomously. This means that all the components described in the previous chapter must be managed in perfect harmony. Each robot has all the same software on board consisting of the same components. Still, not every robot makes the same movement. How does a robot decide how and when to move? Where does his strategy come from? How does he model the world?

What to do with all that visual information?

The robot's sensors collect all kinds of information about the outside world. With the OmniVision camera, he can look 6 meters around him and with the Kinect, he can look ahead, with depth. But then what? What does the software do with this information?

The image produced by the OmniVision camera is distorted as if you were looking through a fishbowl, the curved mirror used by the robot to see. The mirror has a curvature of a hyperbola, so in order to see like a human being and not like a fish in a bowl, the robot would have to convert the picture. Yet he doesn't: it turns out to be easier to adapt his knowledge of the world (the pitchx contains straight white lines) to what he sees (the pitch contains curved lines). The part of the software responsible for image analysis searches for white lines on the green floor, but just expects those lines to be curved.

How does a robot see the difference between the lines on the pitch and the floor? It looks at transitions in color: from green, to white, to green. For other objects on the pitch, he also looks at color transitions. That part of the software is called the 'Blob Tracker'. According to the robot, a blob is probably something important and each blob gets a place on an imaginary map. Then two new algorithms are initiated: the first one searches for the ball, and the second one looks at which objects are where on the pitch. An object can be an opponent's teammate, or soccer robot, or a human being. Strangely enough, he does not 'see' the goal. By knowing where the lines are, and by knowing how high the goal has to be, the robot can figure out exactly where the ball has to land in order to score.

This is how a robot takes steps

The actions that result from the tasks often include ‘try to pass the ball’. The robot can dribble for 3 meters and has to search for the best point to pass the ball within that 3 meters. The robot draws a circle with a 3 meter radius around himself and divides it in 25x25 cm sections. Next for each section the robot calculates how advantagious it is to perform his taks.  To pass the ball it is convenient to take into account whether there are opponents blocking the pass line, our could block it, but also take consider whether there are team mates around. Because the game situation rapidly changes, this 3 meter radius calculation is performed 10 times per second, in case a better location arises to pass the ball the robot wil directly turn towards it.

What does the world model of a robot look like?

In this way, each soccer robot creates a world view of what his environment looks like. He shares this image with all his team members, and uses the information he gets back from his team members to create a World Model. This is a map of the soccer pitch that shows the position of the robot itself, the position and numbers of all robots participating in the game, and the ball.

There is still a problem: the robots don't see the difference between their own half and that of the opponent. After all, the field is symmetrical. For this purpose, the robot has a compass on board. Before the start of each match, the compass reading is taken and a human being tells the robot which of the two goals is his.

On a computer, which does not participate in the soccer game, a program is used to show the human participants whether all those World Models of all the robots still make sense. This program can also be used to monitor the current situation of the game. But more importantly: all data can be used at a later stage to calmly analyze the game from the perspective of the robots.

The referee and his RefBox

The only person intervening during a game of robot soccer is the referee. He has access to a program called 'RefBox'. This translates the referee's commands to the robots. At the beginning of the game, the referee signal the kick-off by clicking on the START button. Once a team has scored, he clicks on the GOAL button. The referee's button also gives the signal when a free kick can be taken, or when a robot can throw in the ball. In addition, the referee gives red and yellow cards by pressing a button. At the end of the game, the referee blows the whistle (although the robots do not hear that sound) and presses the button, causing the robots to stop playing.

How does a robot determine its strategy?

When all the robots are aware of each other's world view, Defcon comes into action. This part of the robot software takes all observations into account and begins to interpret them. Is the ball on our side or that of the opponent? Is the ball in the possession of a specific robot and is that robot a teammate or not? Which robots are in our half and which in the opponent's half? Each 'status' will later be used to choose a strategy. In other words: the information from Defcon is used to decide whether to attack or to defend.

The actual selection of the strategy is done by Role Assigner. This part of the software chooses a role for the robot. Such a role is democratically determined by the entire team. The next chapter reveals more about how these roles are distributed. A role can be, for example, attacker, defender or goalkeeper.

Once a role has been determined, the robot searches a register to find out the tasks that make up that role. These tasks consist of defending an opposing robot or passing a ball to the foremost half of the pitch. A series of actions then goes with each task. These actions are very simple: stand still, go to a certain position, find the ball, aim for a particular spot.

All in all, the robot has to consider quite a few decisions before he gets from A to B, from very abstract ('what is my role in the game') to very practical ('kick the ball to spot X'). These are so-called 'high level' software steps that lead to 'low level' software steps. In the end, such a cascade ends in the control of the hardware, the controllers and the actuators. For example, the capacitor for the electromagnet is discharged, which determines exactly when and how hard the ball gets kicked. The motors that move the robot from A to B are also controlled in this way.

The robot team

The Americans say, "there is no 'i' in 'team'. That's also the case for a team of soccer robots: a collection of robots that doesn't work together will never win, so they have to join forces. But how?

This, my friends is The Playbook

How this game situation affects the game strategy is determined by a piece of software called Skills, Tactics and Plays (STP) architecture. This also makes it possible to plan 'long-term' tactics, so that the robots don't have to break up the strategy after every pass.

Each robot has a set of skills, but these are not the same as human characteristics. The robot skills are the simplest actions a robot can perform, such as navigating safely to the other side of the pitch without damaging other robots, kicking the ball, and intercepting the ball from the opponent.

Subsequently, a robot has several tactics in house, which in turn consist of skills. An example of a simple AttackerMain tactic is to get the ball into the opponent's goal. This tactic can use different skills: navigating the pitch, shooting and passing. To carry out a tactic, the robot has to know which skills he has, because an AttackerMain doesn't have to look for somewhere on the pitch to receive the ball where an opponent is already standing. In other words, tactics are a list of skills that the robot performs.

All game strategies, also known as plays, are contained in a kind of recipe book that every robot carries in his memory: the playbook. A play is a plan that contains all the roles that the robots have to perform and the tactics that go with it. Such a play can be, for example, to intercept the ball, move in a triangular formation to the opponent's half and pass it on to an attacker of your own team. For each play there is also a set of conditions that must be met before that play can be considered. The play to intercept, for example, does not need to be considered if the ball is already in your possession. A play can also be discontinued if crucial conditions are no longer met, for example if the opponent has taken the ball while an offensive play was being performed. For example, the human 'strategy-makers' can put together a different playbook for each opponent: offensive opponents need different plays than opponents who are very much occupied with defending. The playbook is actually the set of instructions with which the human coach sends the soccer robots onto the pitch.

How do the robots divide the roles among themselves?

Each robot in the team has its own role. Of course there is a goalkeeper between the goalposts, two defenders between their own goal and the ball, and there are two attackers. One attacker is called AttackerMain and has the ball while the other, called AttackerAssist, tries to be ready for the ball. Except for the goalkeeper, all robots are the same in terms of software and hardware, so each robot can fulfill any role. This gives a huge advantage over their human counterparts who are trained to either attack or defend. Soccer robots can adjust their role in a few milliseconds. An example of changing roles is when AttackerMain, due to the opposing defense against AttackerAssist, plays the ball over to a defender who then immediately becomes AttackerMain and the former AttackerMain becomes a defender or AttackerAssist, depending on the game situation.

Robots need democracy too

Making a plan involves quite a bit of math for robots. The robots check which game strategies are in the playbook and eliminate all plays that are not relevant. From the remaining plays, the robots choose a play at random, so that the opponents can't predict too well what will happen.

The selection of a play is done by all the robots together. A robot has a certain perception of the world: where he is, where the ball is, where his teammates are, where the opponent is. Based on this, he chooses an optimal play. All his teammates determine a play in the same way, but perhaps they perceive the world in a slightly different way. It is possible that some team members choose a different play. In that case, there will be a vote: the most frequently chosen play will be performed. Suppose that one of the robots has lost his way, sees the game wrongly or is simply broken, the robots will still opt for a good play thanks to the democratic way of working.

Next, the roles have to be assigned: which robots are going to attack and which will defend? For each robot the 'cost' is calculated, whereby the 'price' that has to be paid equals the distance that the robot has to travel in order to fulfill the necessary roles. (An alternative strategy can also be to make the costs depend on the time it takes for an action to be performed, but when the speed is constant, it comes down to the same in terms of 'cost'). The team tries to keep the combined costs of all robots as low as possible. As a consequence, it is useful to elect a robot that is already close to the ball as AttackerMain, and a robot that is close to its own goal as Defender.

When the robots have chosen a play and the roles are divided, they get to work. In the play that is chosen the tactics are described that belong to their new role and the robots only stop performing them once they have completed the task, or if one of the requirements to perform a certain play is no longer met. At the same time, the robots are constantly checking to see if they are all still working on the same play.

An example game

One instant in a game. The opponents are all on their own half, the ball rolls into our half of the pitch to one of the robots. The robots send each other a signal: everyone now knows each other's location, that of the opponents and where the ball is. The calculations are swift and each robot chooses an optimal play. But the robot right at the back disagrees, because he doesn't see exactly where the opponents are. But the voting has already been decided and the total cost has already resulted in the division of roles. The foremost robot becomes AttackerMain and receives the ball. The Defenders are right in front of the opponents and AttackerAssist rolls forward. AttackerMain and AttackerAssist ask each other if they are in the right position and AttackerMain passes the ball, AttackerAssist becomes AttackerMain, shoots at goal and misses. Unfortunately. The play has been completed. Rapidly the robots choose a new play and divide roles, but too late: an opposing robot had committted a foul just before the shot at goal. The human referee presses the 'Penalty' button. The robots know what to do. Unlike human soccer players, the robots dream of penalties.

The future is robots

Tech United and the other RoboCup teams have until 2050 to get a robot team up and running that can beat their human world champion counterparts, in accordance with the RoboCup objective. Whether or not the robots will really beat humans is still uncertain, but that's not important either. After all, robots are not made to beat humans but to help them. And Tech United and RoboCup will certainly contribute to that. All kinds of smart and sophisticated solutions are already seeping through to the robot industry, so that by 2050 we will all have smart and affordable mechanical helpers in our homes, healthcare and businesses.



Relevant links

  • Photos of tournaments are available on Flickr
  • Live reports of games and challenges are available on Twitter and Facebook
  • Summaries of the @Home challenges and MSL matches are available on YouTube but also on robocup.live
  • More information on the different leagues is available on the RoboCup website

Are you looking for more information?

Want more robots?

Are you ready to bring the field of robotics further? Eindhoven University of Technology is the place to do just that. Either as a student or as an academic. Check out what we have to offer you.

Related news