This is an old revision of the document!


KnowRob installation

KnowRob is available as part of the ROS robot middleware and has been part of the official ROS distribution since ROS Diamondback. There are pre-built .deb packages for Ubuntu in the ROS repository. If you are using another platform or would like to modify the system, you can install KnowRob from source.

Ubuntu Linux is the only supported platform, though other Linux distributions should work without problems. In principle, installation in MacOS and Windows should also be possible (at least all dependencies are available), but there is no support. If you succeed in installing the system on one of these platforms, please notify the KnowRob developers.

Installation from binary packages

After adding the ROS repository to your sources.list as described here, you can install KnowRob using

sudo apt-get install ros-fuerte-knowrob

For future releases, replace 'fuerte' with the respective distribution code name (e.g. 'groovy'). All dependencies are automatically resolved and installed by the Ubuntu package manager.

Installation from source

You can check out the KnowRob source code using

svn co http://code.in.tum.de/pubsvn/knowrob/tags/latest knowrob

You will need to set up your local ROS workspace as described here. The workspace should contain your KnowRob folder – you can test if your installation is correct by typing roscd knowrob in a terminal, which should jump into the KnowRob folder.

Install dependencies

KnowRob depends on other ROS stacks as well as system libraries. Besides more common ROS stacks, KnowRob depends on the stack ias_common. Please check it out into your ROS workspace using the following command:

git clone http://code.in.tum.de/git/ias-common.git ias_common

For Ubuntu, the ias_common stack is also available as .deb package. Further dependencies can be resolved using rosdep (for system dependencies) and roslocate (for dependencies on other ROS packages). If there are no rosdep rules for your platform, have a look at the rosdep.yaml file in the knowrob folder to see a list of programs that need to be installed.

Related tools and packages

CRAM

The Cognitive Robot Abstract Machine (CRAM) is a software toolbox for the design, the implementation, and the deployment of cognition-enabled autonomous robots performing everyday manipulation activities. KnowRob is used as knowledge base that provides the robot executive with question-answering capabilities.

RoboEarth

RoboEarth is a European research project that investigates how robots can exchange knowledge via a web-based platform, similar to the way humans exchange knowledge via Wikipedia. KnowRob serves as local knowledge base on the robots, and representations from KnowRob are used for describing the exchanged information.

ProbCog: statistical relational learning library

ProbCog is a statistical relational learning and reasoning system that supports efficient learning and inference in relational domains. It provides an extensive set of open-source tools for both undirected and directed statistical relational models. ProbCog can read evidence from KnowRob, and can be called from KnowRob via Prolog predicates. Have a look at the mod_probcog package for details on the interface.

Semantic Map editor

Import of natural-language Web instructions

Simple dialog system

mod_dialog