KnowRob: Knowledge processing for robots

KnowRob is a knowledge processing system that combines knowledge representation and reasoning methods with techniques for acquiring knowledge and for grounding the knowledge in a physical system and can serve as a common semantic framework for integrating information from different sources. KnowRob combines static encyclopedic knowledge, common-sense knowledge, task descriptions, environment models, object information and information about observed actions that has been acquired from various sources (manually axiomatized, derived from observations, or imported from the web). It supports different deterministic and probabilistic reasoning mechanisms, clustering, classification and segmentation methods, and includes query interfaces as well as visualization tools.


All the software that has been developed as part of the project have been released to the public as open-source software. By releasing the code and data to the public, we would like to enable others to replicate the experiments made and to profit from the experiences and implementations in the system.

The software is available as ROS packages in the KnowRob stack and other repositories.


This project received funding from several funding agencies in different research projects. We would like to acknowledge the support from

  • DFG Excellence Initiative research cluster Cognition for Technical Systems (CoTeSys)
  • EU FP7 project RoboEarth (grant agreement #248942)
  • EU FP7 project RoboHow (grant agreement #288533)
  • Willow Garage as part of the PR2 Beta Program
  • Ministery of Internal Affairs and Communications, Japan
  • EU FP7 project SHERPA (grant agreement #600958)
  • Google as part of the Google Summer of Code program 2014

KnowRob is supported by YourKit with a license of their fully-featured Java Profiler.