Lab Course - Robot Communication and Coordination WS 2012/2013

Tuesday, Jun 19, 2012

An announcement of the course can eventually be found in the course information system CAMPUS.


The Knowledge-based Systems Group is, amongst others, doing research in agent controllers for robots, e.g. interactive service robotics (see AllemaniACs in RoboCup@Home) and logistics scenarios.

Developing agents for robotic tasks poses diverse problems to solve: acting rationally under hard real-time constraints, agent-to-agent and agent-to-human communication, planning under uncertainty, distributed decision-making, (team-)coordination, cooperation, etc.

The goal of this lab course is to design, develop and test methods to implement communicative agents, for either an multi-agent scenario, an interactive assistive robot or even both, an multi-robot scenario with humans in it. This is done using and integrating with our existing agent control framework Fawkes (free open source software, you can go have a look already!). The development may include establishing the integration with a some external software API or with existing hardware components (e.g. sensors) and software modules on a robot, implementing and/or using basic behaviors (skills) of an agent as well as designing and implementing the high-level decision making and the overall application.
This lab will partly be done in cooperation with the RGI group from FH Aachen and it might sometimes take place at their robot lab.

In this lab course you have the chance to

  • take part in a distributed software development process
  • develop (and communicate with) intelligent robots
  • apply methods of AI to robotic scenarios


  • basic study period completed (Bachelor/Vordiplom)
  • lecture “Artificial Intelligence” from our department
    (or objective evidence of equivalent knowledge)
  • profound programming skills (at least C++ and preferably also Lua)
  • possibly interest in logic-based programming
  • high motivation (at least 5 hours per week)
  • Linux skills
  • successfully solve the Qualifying Test

Qualifying Test

In order to make sure the applicant fulfills the requirements needed, we require that every applicant hands in a solution to a qualifying test as described below:

The task is to implement an agent program for the game of Tic-Tac-Toe. For your implementation make use of a small framework that provides the basic game logic. You can download the code from here. Send your implementation to Stefan Schiffer by July 2. Comments and patches for the provided code are welcome. Please send them to Stefan Schiffer.
Note: successfully solving this task is a necessary requirement in order to get a place in this course.


Slots are being centrally assigned. Registration is open from June 18 to July 1 through the Central Seminar and Practical Project Seminar (Praktikum) Registration System

Dates + Schedule

The rough outline of the lab course’s schedule is as follows:

  • getting to know our software framework (Fawkes)
  • choice of subproject
  • work in groups (3 students each)
  • concept + design
  • implementation
  • integration
  • evaluation