wiki:Projects/LabTREX2018

Version 4 (modified by tim, 8 days ago) (diff)

Update instructions for new repo

Lab Course: Flexible Task-Level Reasoning and Execution for Logistics Robots - Winter term 2018/2019

https://www.fawkesrobotics.org/media/blog_images/rcll2016-sim-two-teams-small.png The goal of this lab course is to design, develop and test atask-level executive for a group of mobile robots in a production logistics scenario using Plexil.

Advisors

  • Tim Niemueller
  • Till Hofmann
  • Mohamed Behery
  • Daixin Liu

Motivation

The Knowledge Based Systems Group has implemented an autonomous agent competing in the RoboCup Logistics League as part of the Carologistics RoboCup Team.

The team's approach using the CLIPS-based Executive (CX) 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 on Plexil.

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 2016.

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.

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.
RoboCup Logistics League - Rules and Regulations 2016
(RoboCup Logistics League Technical Committee)
The rules of the RoboCup Logistics League as played in 2016.

Plexil

Literature explaining Plexil.

Plan execution interchange language (PLEXIL) for executable plans and command sequences
(Vandi Verma, Tara Estlin, Ari Jónsson, Corina Pasareanu, Reid Simmons, Kam Tso)
Introductory paper to Plexil.
Universal Executive and PLEXIL: Engine and Language for Robust Spacecraft Control and Operations
(Vandi Verma, Ari Jónsson, Corina Pasareanu, Michael Iatauro)
Introduction to executive and language.
Integrating a PDDL-Based Planner and a PLEXIL-Executor into the Ptinto Robot
(Pablo Muñoz, María D. R-Moreno, Bonifacio Castaño)
PDDL-based planner integration in Plexil.
Plexil Documentation
Technical introduction to Plexil.

System Setup

# refbox
git clone https://github.com/robocup-logistics/rcll-refbox.git
cd rcll-refbox
git checkout -b 2016 origin/timn/2016
cd ..

# Gazebo models/plugins
git clone https://github.com/robocup-logistics/gazebo-rcll.git
cd gazebo-rcll
git checkout 2016
cd ..

# Fawkes RCLL
git clone --recursive git@github.com:carologistics/fawkes-robotino-labtrex2018.git fawkes-robotino
cd fawkes-robotino
git checkout -b plexil origin/common/plexil
cd fawkes
git checkout -b plexil origin/timn/plexil
cd ../..

# Build software
cd rcll-refbox
make -j8 all gui

cd ../gazebo-rcll
make -j8 all gui

cd ../fawkes-robotino
make -j8 all gui

# Setup bash environment
cat <<EOM >>~/.bashrc
source /usr/share/gazebo/setup.sh
source /usr/lib64/ros/setup.bash

export FAWKES_DIR=~/fawkes-robotino
export GAZEBO_RCLL=~/gazebo-rcll
export GAZEBO_PLUGIN_PATH=\$GAZEBO_PLUGIN_PATH:\$GAZEBO_RCLL/plugins/lib/gazebo
export GAZEBO_MODEL_PATH=\$GAZEBO_RCLL/models
export GAZEBO_MODEL_PATH=\$GAZEBO_MODEL_PATH:\$GAZEBO_RCLL/models/carologistics

export LLSF_REFBOX_DIR=~/rcll-refbox
export GAZEBO_WORLD_PATH=~/gazebo-rcll/worlds/carologistics/llsf-default.world
EOM

source ~/.bashrc

# Run
plexil &
bin/gazsim.bash -x start -r -n 1 -m plexil-sim-2016