The Pele project machine intelligence for the RoboCup competition

Robo cup logo

Design members: Roni Stern, Kevin Rahija, Karim Essabhai

Supervisor: Prof. Kamel

Background

Currently designers around the world are trying to make machines that can perform tasks that are currently done by humans. The benefits of such a task are obvious. Machines are able to withstand temperatures (high and low), which humans cannot. They can be designed to fit any need, such as being able to fit into small places that are unreachable by humans. Machines can be designed to be more precise than a human. They are consistent in the results they obtain. The goal of machine intelligence is to construct systems with the capability to act in an unpredictable, complex and unstable environment. Using sensors, vision systems, and other devices the machine is capable of obtaining parameters regarding its current environment. Adaptation to the surroundings using the available sensor information, and learning from previous similar situations allow for an autonomous entity that is capable of making some kind of independent choices in relation to variable surroundings. Once an environment and a purpose are defined for a robot, intelligence can be properly defined.

mini robots on a mini soccer soccer fieid

A proposed controlled environment is a soccer game. This environment is ideal for implementing machine intelligence because it has predefined rules and boundaries that the robot must operate within. The problem in robotic soccer is simple: to make as many goals as possible. The difficulty lies in a variable environment where the ball and the opponents move around one another. Each player must constantly choose his tactics of cooperation, attack and defense as the game progresses. Robot soccer therefore makes it possible to test a whole range of cooperation, coordination, planning, and cognitive techniques. RoboCup is a realization of this idea and provides the platform for developing new inroads in machine intelligence. RoboCup is an annual competition between universities from around the world that focuses on promoting and encouraging machine intelligence, robotics and related fields. RoboCup is a soccer exercise where autonomous robots compete in a team environment, displaying collective and competitive strategies. The competition is divided up in terms of robot size and technologies. University of Waterloo is planning to enter the competition in the near future, once the project has reached an appropriate level for competition.

Project description

The current system is composed of a camera that is suspended above the field on which the robots play the game of soccer. The images that are obtained by the camera are processed and information regarding the position of the ball and the robots, the speed and direction of the ball, as well as the orientation of the robots is calculated. This information is used by an intelligence module to form team strategies to control the robots. The team strategies include positions of attacking and defending robots, ball movement and co-ordination between players, and adapting to opponents’ playing style regarding attacking, defense, and position. Currently, the individual skills of the robots are calculated by the main processor and simple wheel velocity responses are calculated. The individual responses are transmitted using wireless-communication to each of the robots. The individual robots do not possess any intelligence. The goal of our project is to provide each of the robots with their own on-board intelligence. This would reduce the amount of processing that will need to be performed by the current algorithm and thereby increase the overall performance of the system. The intelligence that will be provided to each of the robots will be done through the use of a Neural Network. This Neural Network will be responsible for the individual skills of each of the robots such as kicking, passing and dribbling. As well, behavioral models of team strategies and adaptation will be designed to increase the intelligence capability of the system and the individual robots.

Design methodology

The design methodology that will be used throughout this design project will be the spiral design model. This model has four stages in its design model: design, implement, test, and evaluate. These four stages in the design process are performed iteratively and one pass through all four stages is considered a cycle. The number of cycles that are performed during the project cannot be known before the project starts. It is during the evaluation stage of the cycle where it is determined if another cycle will need to be performed. This decision is based on if the current design, after testing, meets the requirements that have been put forth.

The first stage of the spiral model is the design stage. In this stage of the design process the initial specifications of the system to be designed are created. This involves specifying the requirements that will be demanded of the system; contemplating alternative designs; and finally implementing a selection criterion that will select the optimal design that will best fulfill the requirements. The second stage of the spiral model is the implementation stage. In this stage, the design that was finally chosen in the design phase of the spiral model will be developed and realized. Once the design has been implemented, it is necessary to test the design as well as the implementation of the design. This is performed in the third stage of the spiral model during the testing phase. When the design has progressed through the testing phase it will be necessary to interpret and evaluate the information that was a result of the testing phase. The results of the tests will be evaluated against the original specifications and requirements that have been set in the design stage of the design cycle. If the requirements have not been met it will be necessary to perform another iteration of the spiral design model, otherwise the design process for the particular design is complete.