Laboratory - RoboCup WS 2008/2009

Submitted by Daniel Beck on 9. June 2008 - 20:01

An announcement of the course can also be found in the course information system CAMPUS (not yet).


The Knowledge-based Systems Group has a team of soccer robots with which we participate in the RoboCup Middle-size league (for more information about RoboCup in general and the different leagues have a look at the official RoboCup website). The RoboCup annual competitions were established in order to foster the research in robotics and artificial intelligence. The game of soccer was chosen as the standard domain because making a team of robots play soccer requires to solve several fundamental problems: real-time processing of sensor readings, robot-to-robot communication, planning under uncertainty, distributed decision-making, team-coordination, etc.

The goal of this lab course is to develop and test a set of skills for the robots and integrate those into the existing software framework. A 'skill' is a basic behavior of the robot. In our case, the skills are the building blocks of the plans that are generated by a planner. To give you a more concrete idea, those skills might range from "do a corner kick" to "do a fast counter attack while blocking the opponent's defense".

In this lab course you have the chance to

  • take part in a distributed software development process
  • work with real robots ;-)


  • basic study period completed (Vordiplom)
  • profound programming skills (C/C++ and preferably also Lua)
  • high motivation (at least 5 hours per week)
  • Linux skills

In order to make sure the applicant fulfills the requirements we require that every applicant sends in an implementation of a (one-dimensional) Kalman filter in C++. Send your implementation to Daniel Beck by June 30. Note: successfully solving this task is a necessary requirement in order to get a place in this course.


The first meeting will be on July 25 (tentative) and the lab will start directly thereafter with the familiarization with our software framework.