Robot Soccer Simulation
Supervisor
Suitable for
Abstract
For several years now FIRA (Federation of International Robot-Soccer Association) has promoted the development of robot soccer, with the stated goal of producing a team of robots that can play (and beat!) humans by the year 2050. Their main events are tournaments in which research teams play each other using small wheeled robots, but more recently they have introduced a simulation league (`Simurosot'), in which a simulation server program is provided as the `playing surface'. The programmers then construct their teams as client programs, and two such teams can then play each other with the server acting a referee and providing an overhead view of the play.
The key to producing a (simulated) robot team is deciding how each player will move in response to (a) its position relative to the ball and goals, and (b) the positions of the other players --- this information is provided to both teams by the server on each cycle. Robot soccer is in its infancy, and most play is laughable; in order to produce interesting play it is necessary to encode {\em strategy} and {\em tactics}, and so it is expected that most of the effort in this project would focus on providing such a capability. Apart from that, the project is open-ended; a really interesting (but difficult!) extension of this project would have your team capable of learning about your opponent's tactics, and reacting to them!
Requirements No physical robots need be touched to do this project. The FIRA server as supplied runs on PCs under Windows, and similar servers are available for Linux. Team strategy can be encoded in a standard language (e.g., C), or using a language that is designed for describing agents.
This project will be more fun if multiple teams are constructed, so that they can play each other!
Links I've constructed a web-page for robot soccer links at: http://www.comlab.ox.ac.uk/~cameron/soccer/, which includes links to the FIRA site and the basic rules of the game.