Developing agents for such robotic tasks poses diverse problems to solve: acting rationally under hard real-time constraints, agent-to-agent communication, multi-robot cooperation, and task-level reasoning.
The goal of this lab course is to design and develop a task-level reasoning and planning system based on the concept of Goal Reasoning (PDF). Goals are used as an ubiquitous structure in many different parts of creating autonomous agents and robots (we will focus on the latter as the specific instance of interest for this lab course). They are used to describe what robots should achieve to reason about the behaviors that must be exhibited, to prioritize one thing over another what to do and to weigh trade-offs, to form expectations about and recognize the desires of other robots, and to communicate intents. Goal reasoning means to explicitly deliberate about the selection, state, and progress of goals thus making them a first-class structure. Other (complimentary) approaches like planning or reasoning usually assume goals as a given and focus on achieving such goals.
The scenario for the lab course will be the RoboCup Logistics League (RCLL). In this scenario (top picture), two competing groups of three robots each must complete dynamic production chains according to orders which are posted throughout the game period of 15 minutes. We have developed a simulation of the RCLL (lower picture) that allows to quickly run the game and test without long setup times of real robots. If the resulting components run stable in simulation, there is an option to transfer the results to real robots towards the end of the lab course.
In this lab course, we will focus on the (dynamic) specification of goals, selecting appropriate goals to achieve, and design the behavior to achieve these goals in the RCLL scenario. This also involves coordination of (sub-)goals among the overall group of robots. The course builds on the existing system ActorSim (which will be released in time for the course). The overall system will be integrated using the Fawkes robot software framework. All basic components (self-localization, locomotion, perception) will be provided. The simulation will allow to focus on the planning system and the modeling of the domain. A basic integration of ActorSim into the Fawkes-based simulation will be provided.
ActorSim is written in Java and basic knowledge is required for the integration and specification of the robot behavior. A basic integration between ActorSim and Fawkes and the simulation will be provided. Students should be prepared to extend this during the course as necessary. The system will be based on the Fawkes software stack release for the RCLL 2015 by the Carologistics RoboCup team, which won the German Open and RoboCup world championships in 2014 and 2015. Basic behavior will be provided through the Lua-based Behavior Engine. Towards the end of the course, we want to have a little competition, where the agents of the groups compete among each other, and with the existing CLIPS-based agent system. We have done this in the past with great success and fun.
More information is on the lab coordination website.
In this lab course you have the chance to
- learn about robot software development
- develop an intelligent control program
- apply methods of AI to robotic scenarios
The following shows a video explaining some of the specifics to consider from 2014. The stations looked different (no actual machines). We will implement the game according to the 2016 rules.
You can find many more videos showing and explaining the game at the Carologistics Youtube Channel. It specifically contains a playlist with videos of the RCLL Winter School 2015.
- basic study period completed (Bachelor/Vordiplom)
- lecture "Artificial Intelligence" from our department
(or objective evidence of equivalent knowledge)
- programming skills (Java or C++)
- interest in logic-based programming
- high motivation
- Linux skills beneficial
Slots are being centrally assigned. Registration will open from June 24th July 10th 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)
- work in groups (2-4 students each)
- concept + design
The date and time for the introductory meeting will be determined after the registration.