Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:important_concepts [2014/06/05 11:38] – external edit 127.0.0.1 | doc:important_concepts [2024/09/10 11:56] (current) – [Description Logics, Classes, Instances, OWL, Prolog] daniel86 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Important concepts ====== | ====== Important concepts ====== | ||
~~NOTOC~~ | ~~NOTOC~~ | ||
- | This page describes some of the main concepts behind the KnowRob system. For an introductory paper, please have a look at [[http://ias.cs.tum.edu/_media/spezial/bib/tenorth10kr.pdf|Knowledge | + | This page describes some of the main concepts behind the KnowRob system. For an introductory paper, please have a look at [[http://ijr.sagepub.com/content/32/5/566.full.pdf|KnowRob -- A Knowledge |
===== Description Logics, Classes, Instances, OWL, Prolog | ===== Description Logics, Classes, Instances, OWL, Prolog | ||
- | In KnowRob, | + | In KnowRob, knowledge is represented in the [[http:// |
For formally modeling knowledge, it is very useful to distinguish between general relations and environment-specific information. In OWL, this is reflected by the distinction between classes and instances. Class knowledge is described in the so-called TBOX (terminological box); knowledge about instances of these classes is contained in the ABOX (assertional box). The relation between classes and instances is similar to object-oriented programming. | For formally modeling knowledge, it is very useful to distinguish between general relations and environment-specific information. In OWL, this is reflected by the distinction between classes and instances. Class knowledge is described in the so-called TBOX (terminological box); knowledge about instances of these classes is contained in the ABOX (assertional box). The relation between classes and instances is similar to object-oriented programming. | ||
- | KnowRob is implemented in [[http:// | + | When OWL files are loaded into the system, they are internally stored as triples |
< | < | ||
- | rdf(Subject, Predicate, Object) | + | triple(Subject, Predicate, Object) |
</ | </ | ||
- | and can be accessed with special predicates, e.g. rdf_has(S, P, O). These predicates operate on the internal representation that is created from the OWL files and handle properties like transitivity of properties etc. On the other hand, Prolog is used as a programming language to implement specialized reasoning modules and to interface the knowledge base with external data. | + | and can be accessed with special predicates, e.g. holds(S, P, O). These predicates operate on the internal representation that is created from the OWL files and handle properties like transitivity of properties etc. On the other hand, Prolog is used as a programming language to implement specialized reasoning modules and to interface the knowledge base with external data. |
- | It is important to understand that KnowRob separates knowledge about the world (which is, as far as possible, represented in OWL) from implementation issues and deduction rules (which | + | It is important to understand that KnowRob separates knowledge about the world (which is, as far as possible, represented in OWL) from implementation issues and deduction rules (which |
- | ===== System architecture | ||
- | |||
- | KnowRob is realized in a very modularized way. A base system, provides the basic reasoning capabilities and is largely independent of the domain of interest. It consists of Prolog, its semantic web library that serves for loading the OWL files, the Java/Prolog interface which serves for interfacing | ||
- | existing libraries written in Java, and the system of computables described earlier. | ||
- | |||
- | < | ||
- | ------------------------ | ||
- | | perception interface | | action interpretation | | ||
- | ------------------------ | ||
- | | | | ||
- | | ||
- | | spatial reasoning | | | temporal reasoning | | | ROS interface | | ||
- | | ||
- | | | ||
- | | ||
- | | ||
- | | ||
- | | | | | ||
- | | ||
- | | SWI Prolog SemWeb | | JPL Java/Prolog Interface | | Computables | | ||
- | | ||
- | </ | ||
- | |||
- | On top of it, the Knowrob-Base system represents general class knowledge of the household and kitchen domain in form of an ontology. This ontology provides the robot with the general terms it ' | ||
- | Extension modules plug into the system and provide e.g. specialized reasoning capabilities or interfaces to external data, e.g. to read object detections from the vision system. These modules mainly operate on the level of instances. |