How Students Teach Robots to Think The Example of the Vienna Cubes a Robot Soccer Team Robert Pucher Paul Kleinrath Alexander Hofmann Fritz Schmöllebeck Department of Electronic Abstract: Autonomous Robot Soccer is a highly interesting topic for most students an relays heavily on artificial intelligence. At the University of Applied Sciences Technikum Wien, an interdisciplinary group of 25 students ( Vienna Cubes ) develop such a fully autonomous system of robots which play soccer in the F180 small size league of the RoboCup initiative (http://www.robocup.org). The RobuCup initiative aims at winning a game of soccer against a human team by the year 2050. The team Vienna Cubes exists for five years and managed to qualify for the world championship in robot soccer for three times. Best results so far: quarter final in Lisboa 2004 and quarter final in Osaka, Japan 2005, thus meaning the team plays among the eight best teams worldwide. A typical Robot Soccer team in the F180 small size league consists of the following components: A vision system, an artificial intelligence module, and five robots who transform the commands into physical movements. While the vision system extracts features from video images to form a so called world model, the artificial intelligence module decides what command is to be send to the robots to finally win a game. This is a very complex module and allows strategies to be implemented, makes autonomous decisions and is one of the key elements in winning or loosing game. Key-Words: - -Robot Soccer, Artificial Intelligence, Student Project, RoboCup, Fully Autonomous Robot 1 Introduction Today more than 300 teams involving more than 1000 researchers are working on the construction of robots and on the developing of vision systems and artificial intelligence to make those robots play soccer. Most of the teams are found on universities, involving a large number of enthusiastic students [1-7]. Why are such a large number of highly intellectual people fascinated by the idea of building soccer playing robots? Robot Soccer merges in a fascinating way many research areas into a fancy game. Fully autonomous robots have to see, they have to make decisions, they have to move and in the case of soccer they have to win a game. It is the game which provides an easy method to find out which team of robots performs better; simply it is the one which scores more goals then the other. 2 Principles of Robot Soccer The Vienna Cubes participate in the F180 small system league of the RoboCup Initiative. Figure 1 shows a simplified overview of the system. The Field in the center of the picture shows where the physical action takes place. Here the robots play against each other. In contrast to human soccer in the F180 league the number of robots
per team is fife. The size of the field and the maximum dimensions of the robots are defined by rules valid only for the F180 Small Size League. The five robots in each team consist of four field players and one goalkeeper. To distinguish the teams and the individual team members, Coax Connection each robot is marked with color dots, comparable with soccer shirts in human beings soccer games [4]. Camera Image Recognition Robots, Field Bluetooth- Modul Refereebox Ethernet/UDP USB Artificial Intelligence GUI Serial Ethernet/UDP Two cameras per team monitor the ongoing game. The video signals generated by the cameras are fed into the vision subsystem. This subsystem does exactly the same as humans do when their unconsciousness preprocesses sensory input from the eyes. The vision subsystem extracts relevant features from the sensory input (video signal). Relevant features for example are the positions and movement vectors of all players (own and opponents), the position and movement of the ball and of course the borders of the playing field and position of the goals. This is done by analyzing the picture sequence and searching for the colored marks on the robots and other characteristic marks. This data forms what the authors call World Model. The World Model is then fed into the second crucial module, the Artificial Intelligence Module. Primarily it analyzes the current situation of the game. Using several algorithms the program determines the best reaction and orders the robots to execute the next playing steps by transmitting commands to the own players. For example it instructs a robot to move to a specific position with a given speed. Like in real soccer games there are a lot of soccer specific rules which have to be taken into account before generating commands. Figure 1: System Overview Finally the movement commands or kick the ball commands are transmitted via a DECT module to the robots (BOTS). Because of the fact, that actually this is a very complex procedure a separate PC is used. The arrows in Figure 1 show the main dataflow from the cameras through Image Recognition to the Artificial Intelligence system. The robots (BOTS) itself just act on these instructions and themselves only have sufficient on board intelligence to convert the command into a movement vector. Please note that the system is a complex controlled system, as the actual movement of an individual BOT may deviate from the desired movement due to physical limitations like limited friction of the wheels and other unknown changing parameters. Furthermore the movement of the opponents is not foreseeable, thus meaning there always has to be a correction to the current plan. Two very important parts of the system are the Referee box and the so called Graphical User Interface (GUI). The serial interface for the Referee box is system necessity because there is a human referee that keeps an eye on the game and watches out for any infringements and e.g. decides if there was a goal or not. The referee might also stop the game, or might force some special action like penalty, free kick, etc. In a game situation these command are entered online into a computer which sends standardized commands to the AI subsystem.
The Graphical User Interface displays the most relevant system parameters and allows to monitor and to analyze the assumptions and decisions of the AI subsystem. Moves and even whole games can be recorded, reviewed and analyzed offline. Since the robots have to play autonomously there is no way to control them manually. Therefore the main task of the GUI is to get a little bit more insight into the decision processes of the Artificial Intelligence, to find errors in the algorithms and to improve them [3,4,6]. 3 The Artificial Intelligence Subsystem One of the most crucial elements in the whole system is the artificial intelligence subsystem. Obviously this system relies heavily on the data of the World Model. Whatever data is found there this data represents the subjective reality of the world in views of the AI subsystem. Figure 2 shows a simplified Structure of the AI Subsystem. Input to the AI is the World Model data, i.e. position and movements of robots, the commands of the referee, i.e. foul and also some configuration data, like defensive mode or attack mode or a lets say don t get any goals and don t try to score own goals mode. Fig. 2: AI Subsystem 3.1 What is the Actual Position of a Robot or the Ball? One of the more complex issues is the delay between the position data in the world model and the actual position of a robot when a command reaches the robot. Therefore a very complex necessity is to estimate the actual position and speed and direction of the ball. The student team implemented a kalman filters to solve some of these problems [1]. Just to get the idea, figure 3 shows the estimation of the speed vector of a ball using such a kalman filter. The straight line shows the estimated trajectory of the ball, the zig-zag line shows the measured positions. Again, it is absolutely essential for the game to know where the ball is. In questioning, what is a real position at a given time; one enters a world of speculations. Of course there is a real position and a real vector of speed at a given time from the perspective of a human observer. However the only accessible position is the position in the world model, corrected by what could be called experience (the kalman filter parameters). Figure 3: measured and estimated trajectory of the ball Finally, above all theoretical aspects, a real game always show the correctness of the made assumptions. In any given case the team wins or loses and this is the only valid measurement for the specific efficiency of all involved components. Maybe this is an important reason why robot soccer is so fascinating. Whatever approach is taken into account, the
proof, if it was a right or wrong approach easily can be seen in the next competition. 3.3 Collision Avoiding Collisions between robots are to avoid. In the case of the own robots this is a relatively easy task, as the centralized intelligence controls all of the robots. It only has to be taken into account that robots are not able to perform a specific movement because of unknown physical limitations. Figure 5: Strategic Decisions Figure 4: Collision avoidance In the case of the opponent robots it is a far more complex task. Figure 4 shows a situation where robot 4 and robot 7 try to reach the ball. The trajectories show that a collision will happen, both systems have to react. If a collision occurs which hinders a opponent, the referee will issue a yellow card and eventually a read card and the robot who is responsible will be removed. The collision avoidance system is implemented as a set of rules [1, 6]. 3.2 High Level Decisions Once the data of the world model is corrected, high level decisions have do be done. High level or strategic decisions are a very important factor. Much effort was done to implement the knowledge of a semi professional soccer player who also is a student and team member. In many cases this approach seems to have a significant effect on the outcome of a game. Individual robots are dynamically assigned a specific soccer role, like defense. Depending on the role the AI module tries to move the robots. In the example of defense the specific robot will try to hinder an opponent robot when trying to score a goal. The rules are very complex and described in detail elsewhere [1]. 4 Conclusion The Vienna Cubes robot soccer team is a student driven project. Students are able to solve complex problems in the area of artificial intelligence. In only four years of existence the team participated three times in the world championship and reached the quarter finals two times, thus proving the efficiency of the approach. References: [1] Kleinrath Paul, Die künstliche Intelligenz der Vienna Cubes 04, Master Thesis, University of Applied Sciences Technikum Wien, Vienna, Austria 2004. [2] Slav Petrov: Computer Vision, Sensorfusion und Verhaltenssteuerung für Fussball-Roboter, Diplomarbeit, Institut für Informatik, Freie Universität Berlin, 2004. [3] Sven Behnke and Raul Rojas: A hierarchy of reactive behaviors handles complexity, in: Proceedings of: Balancing Reactivity and Social Deliberation in Multi-Agent Systems, a Workshop at ECAI 2000, the 14th European Conference on Artificial Intelligence, Berlin, 2000 [4] H. Wahl, R. K. Pucher, A. Hofmann, A. Mense. How Soccer Playing Robots Learn to See The Vision System of the Vienna Cubes, Proceedings of the ISCA 18th International Conference on Computer Applications in Industry and Engineering, pp 204-208, ISBN: 1-880843-57-9, Honolulu, Hawaii USA, November 9-11 2005.
[5] Robert K. Pucher, Harald Wahl, Alexander Hofmann and Fritz Schmöllebeck. Managing large projects with changing students the example of the roboter soccer team Vienna Cubes. Proceedings of the 22nd ascilite conference Brisbane, 4-7 December 2005. Volume 2, pp 561 567. [6] Wahl Harald, P Voith, A Hofmann, RK Pucher, A Mense and A Nimmervoll. The System Architecture of the Vienna Cubes Project at the Technikum Wien. List of papers (http://www.ubm.ro/dmi/icam4/).proceedings of the ICAM4 Fourth International Conference on Applied Mathematics, Baia Mare, Romania, 23-26 Sept. 2004. [7] Raul Rojas, Sven Behnke, Bernhard Frötschl, Lars Knipping, Kirill Koulechov, Wolf Lindstrot, Mark Simon, Oliver Tenchio, and Lars Wolter, The Robotic Soccer Turing Test, Technical Report B-00-14, FU Berlin, August 2000.