This is an old revision of the document!


Google Summer of Code 2017

The software libraries that origin from our laboratory and are now used and supported by a larger user community are: the KnowRob system for robot knowledge processing, the CRAM framework for plan-based robot control, openEASE for collecting and analyzing experiment data and RoboSherlock for cognitive perception. In our group, we have a very strong focus on open source software and active maintenance and integration of projects. The systems we develop are available under BSD license, Apache v2.0 and partly (L)GPL.

For the proposed topics in the context of our work please refer to the section further below.

For a PDF-version of this years ideas page, and a brief introduction of our research group, please see this document.

When contacting us, please make sure you read the description of the topic you are interested in carefully. Only contact the person responsible for the topic / topics you are interested in. Please only ask topic-relevant specific questions, otherwise your emails will not be answered due to limited resources we have for processing the vast amount of GSoC inquiries. For more general questions please use our IRC channel.

KnowRob -- Robot Knowledge Processing

KnowRob is a knowledge processing system that combines knowledge representation and reasoning methods with techniques for acquiring knowledge from different sources and for grounding the knowledge in a physical system. It provides robots with knowledge to be used in their tasks, for example action descriptions, object models, environment maps, and models of the robot's hardware and capabilities. The knowledge base is complemented with reasoning methods and techniques for grounding abstract, high-level information about actions and objects in the perceived sensor data.

KnowRob became the main knowledge base in the ROS ecosystem and is actively being used in different academic and industrial research labs around the world. Several European research projects use the system for a wide range of applications, from understanding instructions from the Web (RoboHow), describing multi-robot search-and-rescue tasks (SHERPA), assisting elderly people in their homes (SRS) to industrial assembly tasks (SMErobotics).

KnowRob is an open-source project hosted at GitHub that also provides extensive documentation on its website – from getting-started guides to tutorials for advanced topics in robot knowledge representation.

CRAM -- Robot Plans

CRAM is a high-level system for designing and performing abstract robot plans to define intelligent robot behavior. It consists of a library of generic, robot platform independent plans, elaborate reasoning mechanisms for detecting and repairing plan failures, as well as interface modules for executing these plans on real robot hardware. It supplies robots with concurrent, reactive task execution capabilities and makes use of knowledge processing backends, such as KnowRob, for information retrieval.

CRAM builds on top of the ROS ecosystem and is actively developed as an open-source project on GitHub. It is the basis for high-level robot control in many parts of the world, especially in several European research projects covering applications from geometrically abstract object manipulation (RoboHow), multi-robot task coordination and execution (SHERPA), experience based task parametrization retrieval (RoboEarth), and safe human robot interaction (SAPHARI). Further information, as well as documentation and application use-cases can be found at the CRAM website.

openEASE -- Experiment Knowledge Database

OpenEASE is a generic knowledge database for collecting and analysing experiment data. Its foundation is the KnowRob knowledge processing system and ROS, enhanced by reasoning mechanisms and a web interface developed for inspecting comprehensive experiment logs. These logs can be recorded for example from complex CRAM plan executions, virtual reality experiments, or human tracking systems. OpenEASE offers interfaces for both, human researchers that want to visually inspect what has happened during a robot experiment, and robots that want to reason about previous task executions in order to improve their behavior.

The OpenEASE web interface as well as further information and publication material can be accessed through its publicly available website. It is meant to make complex experiment data available to research fields adjacent to robotics, and to foster an intuition about robot experience data.

RoboSherlock -- Framework for Cognitive Perception

RoboSherlock is a common framework for cognitive perception, based on the principle of unstructured information management (UIM). UIM has proven itself to be a powerful paradigm for scaling intelligent information and question answering systems towards real-world complexity (i.e. the Watson system from IBM). Complexity in UIM is handled by identifying (or hypothesizing) pieces of structured information in unstructured documents, by applying ensembles of experts for annotating information pieces, and by testing and integrating these isolated annotations into a comprehensive interpretation of the document.

RoboSherlock builds on top of the ROS ecosystem and is able to wrap almost any existing perception algorithm/framework, and allows easy and coherent combination of the results of these. The framework has a close integration with two of the most popular libraries used in robotic perception, namely OpneCV and PCL. More details about RoboSherlock can be found on the project webpage.

Proposed Topics

In the following, we list our proposals for the Google Summer of Code topics that contribute to the aforementioned open-source projects.

Topic 1: Multi-modal Cluttered Scene Analysis in Knowledge Intensive Scenarios

Main Objective: The main objective of this topic is to enable robots in a human environment to recognize objects in difficult and challenging scenarios. To achieve this the participant will develop software components for RoboSherlock, called annotators, that are aided by background knowledge in order to detect objects. These scenarios include stacked,occluded objects placed on shelves, objects in drawers, refrigerators, dishwashers, cupboards etc. In typical scenarios, these confined spaces also bare an underlying structure, which will be exploited, and used as background knowledge, to aid perception (e.g. stacked plates would show up as parallel lines using an edge detection).

Task Difficulty: The task is considered to be challenging, as it is still a hot research topic where general solutions do not exist.

Requirements: Good programming skills in C++ and basic knowledge of CMake. Experience with PCL, OpenCV is prefered. Knowledge of Prolog is a plus.

Expected Results: Currently the RoboSherlock framework lacks good perception algorithms that can generate object-hypotheses in challenging scenarios(clutter and/or occlusion). The expected results are several software components based on recent advances in cluttered scene analysis that are able to successfully recognized objects in the scenarios mentioned in the objectives, or a subset of these.

Contact: Ferenc Bálint-Benczédi





Prof. Dr. hc. Michael Beetz PhD
Head of Institute

Contact via
Andrea Cowley
assistant to Prof. Beetz
ai-office@cs.uni-bremen.de

Discover our VRB for innovative and interactive research


Memberships and associations:


Social Media: