Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
create_your_own_knowrob_package [2012/12/01 10:08] tenorthcreate_your_own_knowrob_package [2013/02/12 17:41] – external edit 127.0.0.1
Line 16: Line 16:
 </code> </code>
  
-The example above assumes that you would like to create a package \\your_package\\ with an OWL ontology \\your_file.owl\\ and a Prolog file \\your_module.pl\\. Consider wrapping your functionality into a [[http://www.swi-prolog.org/pldoc/doc_for?object=section%281,%275%27,swi%28%27/doc/Manual/modules.html%27%29%29|Prolog module]] to increase modularity and to avoid name clashes.+The example above assumes that you would like to create a package //your_package// with an OWL ontology //your_file.owl// and a Prolog file //your_module.pl//. Consider wrapping your functionality into a [[http://www.swi-prolog.org/pldoc/doc_for?object=section%281,%275%27,swi%28%27/doc/Manual/modules.html%27%29%29|Prolog module]] to increase modularity and to avoid name clashes.
  
-The init.pl should initialize the package, which may include loading dependencies, parsing OWL files, and registering RDF namespaces. The owl.in or pl.in files you will find in some packages are required since the RDF parser needs global paths for loading files referenced by an OWL file. owl.in files therefore contain a placeholder that is replaced during compilation as specified in your CMakeLists.txt. You can have a look at e.g. comp_spatial for an example. Once you have set up your package like this, you can launch it using +The //init.pl// should initialize the package, which may include loading dependencies, parsing OWL files, and registering RDF namespaces. The //...owl.in// or //...pl.in// files you will find in some packages are required since the RDF parser needs global paths for loading files referenced by an OWL file. owl.in files therefore contain a placeholder that is replaced during compilation as specified in your //CMakeLists.txt//. You can have a look at e.g. //comp_spatial// for an example. Once you have set up your package like this, you can launch it using 
     rosrun rosprolog rosprolog your_package     rosrun rosprolog rosprolog your_package
  
-Like in any other ROS package, you will need to specify your dependencies in the manifest.xml. Which packages to depend on depends on which functionality you would like to use. You just need to list the direct dependencies in your manifest, their dependencies are automatically included as well. Common candidates could be to depend on mod_vis (if you would like to use the visualization somewhere) or on ias_semantic_map (if you would like to use that map).+Like in any other ROS package, you will need to specify your dependencies in the manifest.xml. Which packages to depend on depends on which functionality you would like to use. You just need to list the direct dependencies in your manifest, their dependencies are automatically included as well. Common candidates could be to depend on //mod_vis// (if you would like to use the visualization somewhere) or on //ias_semantic_map// (if you would like to use that map).