Project MSD16

From Control Systems Technology Group
Revision as of 20:02, 3 May 2017 by Jsenden (talk | contribs) (→‎System Objectives and Requirements)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The goal of this project is to make an autonomous referee system which could eventually replace a human referee. Since the project time is limited, this "final goal" of actually replacing the human referee cannot be achieved. Therefore it is chosen to narrow the scope to making a proof of concept of a referee system which could be deployed during a robot soccer match. From the Background it will become clear that in robot soccer, an autonomous referee system could also have added value. Thought the scope of this project is just a small part of the final system, we will try to keep this final system in mind when making decisions. In the chapter System Objectives the goals of the actual final referee system are discussed and in the chapter Project Scope we will elaborate on our project goals.


RoboCup is an international initiative to promote and advance research in robotics and artificial intelligence. Founded in 1997, its main goal is to ‘develop a team of fully autonomous humanoid robot soccer players that is able to win against the winner of the most recent World Cup, complying with the official rules of FIFA, by the middle of the 21st century’. In the Middle Size League (MSL), two teams of five autonomous robots play a soccer match on an artificial field. These robots are able to drive around while using several on-board camera's to position themselves on the field. Moreover, they can determine the position of the ball, opponents and team mates. Through radio signals they can communicate with each other and decide upon a strategy. With a ball-handling system the ball can be captured and controlled and a shooting mechanism is able to shoot a ball over the ground or through the air.

As discussed in this tutorial, a standard RoboCup field measures 18 by 12 meters. During a match, there are two teams consisting of five robots on this field, driving around with velocities up to 5 m/s and possibly even higher. These robots are all competing for the same thing: scoring goals. This means that getting possession of the ball is a primary goal. When several robots are competing for the ball, collisions, pushing and scrummages are nearly inevitable. To make sure the match is played in a fair way, a human referee keeps a keen eye on the events on the field from the sideline. This human referee is backed up by an auxiliary referee which is standing on the opposite side, next to the field. Both can decide on stopping the game, due to a committed foul, a scored goal, a ball out of bound or any other event. The rules for MSL are based on the official FIFA rules, but adapted to robot football rules were necessary. However, the large set of rules and the interpretation thereof can often lead to situations where a referee might decide to continue the game, while another might decide to interrupt. This can and will often lead to frustrations in the aggrieved team. Moreover, a decision made by a referee can affect the outcome of a game and even an entire championship.

An example of this is the final match of the RoboCup world championship 2016 in Leipzig, Germany (see full match/highlights). The final was played between team TechUnited from the Netherlands and team WATER from China. The winner of this would become world champion robot soccer in the MSL. At the end of the match the scoreboard showed 2-2. As in human soccer, this means extra time to decide on the winner. During the match, team WATER had some trouble with the ball handling, preventing the ball to rotate in a ‘natural’ way over the field. When it happens that the ball does not rotate in the direction it is being moved, this is considered clamping and regarded as a foul in favor of the other team. In the last couple of minutes the score was 3-3 when WATER turned towards the TechUnited goal, shot and scored the winning goal. While the Chinese team was already celebrating their victory, the auxiliary referee decided that the scoring robot was clamping the ball before scoring the goal. After a discussion with the main referee, it was decided to declare the goal invalid. Since the extra time also ended in a draw, penalties were needed to decide who would become the new world champion. After all penalties of the Chinese team were stopped by the Dutch keeper, the first shot of the TechUnited robot went into the net. The Dutch team won the penalty series with 1-0 and thus TechUnited became the world champion of 2016.

This example shows how important the decisions of the human referee team can be in shaping the course of a match or even a tournament. Rules are always prone to interpretation and a team which is disadvantaged by this will always complain. The referee has no means to justify his decision other than his own intuition and interpretation on the rules. This lead to the question on whether it would be possible to develop a system which can support the human referee team in making decisions. Such system might even become fully autonomous and could replace the human factor in refereeing entirely.

System Objectives and Requirements

The goal of this project is to develop a proof-of-concept of the final system. This system eventually needs to be:

  • able to detect (predefined) events
  • able to enforce rules (corresponding to the events)

While doing so, the system should be:

  • objective
  • consistent
  • transparent
  • correct
  • non-impeding
  • cost-effective
  • safe
  • scalable
  • flexible
  • easy-to-use

Project Scope

As already discussed, this project will focus on making a proof-of-concept of an autonomous referee system. Due to lack of time a complete functioning end-product is not realizable. It is decided to narrow down the scope of this project, while still adhering to the system objectives as discussed before. The deliverables for this project (MSD 2016) are:

  • a system architecture
  • detect ball out of pitch (B.O.O.P)
  • detect collision
  • signal both events
  • a demo video
  • this wiki-page with all documentation
  • a final presentation