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 on GitHub. Further documentation can be found at


This project is partly funded by the CoTeSys Cluster of Excellence and the EU FP7 projects RoboEarth and RoboHow.