Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:reasoning_using_computables [2013/06/24 13:35] – [Reason using computables] admin | doc:reasoning_using_computables [2016/04/27 13:54] (current) – [Qualitative spatial relations] daniel86 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Reason using computables ====== | ====== Reason using computables ====== | ||
+ | ~~NOTOC~~ | ||
+ | \\ | ||
+ | ^ This page describes the ' | ||
+ | \\ | ||
Computables serve for // | Computables serve for // | ||
Line 5: | Line 9: | ||
We will now present a few applications of computables - if you wish to define custom computables, | We will now present a few applications of computables - if you wish to define custom computables, | ||
+ | {{ : | ||
===== Qualitative spatial relations | ===== Qualitative spatial relations | ||
Line 14: | Line 19: | ||
However, there are different problems with this approach: First, the number of relations between objects grows quickly as more and more objects are present in a scene, and all of these would have to be stored, even if they are never needed. Second, scenes are dynamic: Robots are supposed to interact with objects and to move them. Whenever this happens, the system would have to check which relations still hold and which ones have to be updated or retracted from the knowledge base. | However, there are different problems with this approach: First, the number of relations between objects grows quickly as more and more objects are present in a scene, and all of these would have to be stored, even if they are never needed. Second, scenes are dynamic: Robots are supposed to interact with objects and to move them. Whenever this happens, the system would have to check which relations still hold and which ones have to be updated or retracted from the knowledge base. | ||
- | With computables, | + | With computables, |
< | < | ||
- | rosmake ias_semantic_map | + | |
- | rosrun rosprolog rosprolog ias_semantic_map | + | ?- owl_parse(' |
+ | rdf_db: | ||
</ | </ | ||
- | In this example, we are loading the ias_semantic_map package that provides a set of object instances, namely pieces of furniture in a kitchen. It already references | + | In this example, we are loading the //ias_semantic_map// OWL file from the // |
< | < | ||
| | ||
| | ||
</ | </ | ||
- | The computation is performed by the predicate on_Physical that is defined in the file comp_spatial.pl in the package comp_spatial. | + | The computation is performed by the predicate |
- | + | ||
- | ===== Reading information from external sources ===== | + | |
- | Examples for loading information from external sources, like other ROS nodes, are given in the following packages: | + | |
- | * comp_cop for reading information from the CoP perception system | + | |
- | * tf_prolog reads coordinate transformations from tf | + | |
- | + | ||
- | Depending on the kind of information to be included, these interfaces need to be adapted, but the general principle should stay the same. | + | |