wiki:Projects/LabRPXLR2017

Version 1 (modified by thofmann, 5 months ago) (diff)

initial page (copy paste last year)

Lab Course: Robust Planning and Execution for Logistics Robots - Winter Term 2016/2017

https://www.fawkesrobotics.org/media/blog_images/rcll2016-sim-two-teams-small.png The goal of this lab course is to develop an execution monitoring system that is able to cope with unexpected events, errors, and exogenous changes during the execution of a plan.

Advisors

  • Till Hofmann
  • Tim Niemueller
  • Stefan Schiffer

Motivation

The Knowledge Based Systems Group has implemented an autonomous agent competing in the RoboCup Logistics League as part of the Carologistics RoboCup Team. In our specific case a rule set describes a "production game" where robots must operate production lines. The CLIPS-based agent is implemented using the rule-based reasoning system CLIPS.

The presented approach follows a local-scope, incremental, distributed approach. That means that each robot plans individually (distributed) only for itself (local-scope) and only for the next action to take (incremental). The idea for this lab course is to develop and test an alternative approach based distributed planning which especially means going from incremental action determination to full plan generation (multiple steps into the future) and to extend the local scope towards a global one, i.e. coordinate plans such that the strategies are (more) optimal and free of resource conflicts for the overall group of robots.

The basis for the lab course will be our 3D environment simulation for the RoboCup Logistics League. We want the participants' planning systems to compete against each other and the existing agent. We are interested to learn about the modeling requirements of a distributed planning system and if it provides better or worse extensibility and performance.

If you want to test things right now you can use our software release for 2015.

Literature

System

This section contains references that describe the systems that drive our robots and simulation.

Design Principles of the Component-Based Robot Software Framework Fawkes
(Tim Niemueller, Alexander Ferrein, Daniel Beck, Gerhard Lakemeyer; SIMPAR 2010)
Overview of the robot software framework Fawkes.
A Lua-based Behavior Engine for Controlling the Humanoid Robot Nao
(Tim Niemueller, Alexander Ferrein, Gerhard Lakemeyer; RoboCup Symposium 2009)
Paper about the Lua-based Behavior Engine, the mid-level reactive behavior layer that the agent instructs for skill execution.
Incremental Task-level Reasoning in a Competitive Factory Automation Scenario
(Tim Niemueller, Gerhard Lakemeyer, Alexander Ferrein; AAAI Spring Symposium 2013)
Description of the infrastructure used for the CLIPS-based agent.
Simulation for the RoboCup Logistics League with Real-World Environment Agency and Multi-level Abstraction
(Frederik Zwilling, Tim Niemueller, Gerhard Lakemeyer; RoboCup Symposium 2014)
Overview and principles of the Gazebo-based simulation for the RoboCup Logistics League.
The Carologistics RoboCup Logistics Team 2014
(Tim Niemueller, Sebastian Reuter, Daniel Ewert, Alexander Ferrein, Sabina Jeschke, Gerhard Lakemeyer; RoboCup 2014)
Description of the major features of the Carologistics RoboCup Team's robot systems.

Multi-robot systems (MRS) and RoboCup Logistics League (RCLL)

General literature relevant for multi-robot systems.

An Introduction to MultiAgent Systems
(Michael Wooldridge; 2002)
Basic introduction and consideration for multi-agent systems.
The RoboCup Logistics League as a Benchmark for Planning in Robotics
(Tim Niemueller, Gerhard Lakemeyer, Alexander Ferrein; 2015)
Characterization of the RCLL as a planning domain and explanation of terminology, e.g. local vs. global scope.
RoboCup Logistics League Sponsored by Festo: A Competitive Factory Automation Testbed
(Tim Niemueller, Daniel Ewert, Sebastian Reuter, Alexander Ferrein, Sabina Jeschke, Gerhard Lakemeyer; RoboCup Symposium 2013)
Description of the RoboCup Logistics League, covers the basics and game-specifics of 2013.
Proposal for Advancements to the LLSF in 2014 and beyond
(Tim Niemueller, Gerhard Lakemeyer, Alexander Ferrein, Sebastian Reuter, Daniel Ewert, Sabina Jeschke, Dirk Pensky, Ulrich Karras; WDRL at ICAR 2013)
Description of the changes in the LLSF in 2014 and in part 2014.
RoboCup Logistics League - Rules and Regulations 2015
(RoboCup Logistics League Technical Committee)
The rules of the RoboCup Logistics League as played in 2015.

Goal Reasoning

Literature explaining goal reasoning and its applications.

Goal Reasoning, Planning, and Acting with ActorSim, The Actor Simulator
(Mark Roberts, Vikas Shivashankar, Ron Alford, Michael Leece, Shubham Gupta, David W. Aha)
Paper defining goal reasoning.
ActorSim: A toolkit for studying Goal Reasoning, Planning, and Acting
(Mark Roberts, Ron Alford, Vikas Shivashankar, Michael Leece, Shubham Gupta, David W. Aha)
Paper defining goal reasoning. Earlier version of the previous paper. Different style, might be easier to read.
Proceedings of a workshop on Goal Reasoning
This shows various facets of goal reasoning and is an interesting add-on read.

Meetings and Milestones

to be announced

Documentation

to be done

How to test playing as Magenta

  • In the ~/gazebo-rcll, forward to the current master branch (I merged origin/fzwilling/two-teams)
  • In ~/.bashrc change GAZEBO_WORLD_PATH to ~/gazebo-rcll/worlds/carologistics/llsf-two-teams.world
  • Start Simulation in fawkes-robotino/bin with './gazsim.bash -r -n 3 -f 4'
  • When you use robot-specific configurations, you may need to change config values in fawkes-robotino/cfg/gazsim-configurations/default/host-robotino[4|5|6].yaml
  • To play against another team, you can start your own team as usual or as described for magenta. The other team can then be started with './gazsim.bash -o -r -n 3'
    If the other team is magenta also append a '-f 4' and if the other team should be controled by the CLIPS agent append a '-a'.
  • If you need to localize the robots again (at their start position) use './gazsim-publish-initial-pose.bash -c 3 -m 3 -d'
    When you merged the fzwilling/gazsim-magenta-localization branch in fawkes-robotino, also magenta robots should be localized automatically.

Attachments