Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:create_your_own_knowrob_package [2014/06/05 11:38] – external edit 127.0.0.1 | doc:create_your_own_knowrob_package [2021/02/18 08:13] (current) – daniel86 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Create your own KnowRob package ====== | + | ======= Create your own KnowRob package ====== |
- | If your application requires functionality beyond that one already provided by the standard KnowRob packages, you will need to create your own KnowRob package. The following description assumes that you would like to add knowledge in terms of OWL ontologies, or implement new Prolog predicates, or both. If you would just like to link against e.g. some Java libraries provided by the packages, you don't have to follow the description below, but can just implement a normal ROS package that depends on the respective KnowRob packages. | + | If your application requires functionality beyond that one already provided by the standard KnowRob packages, you will need to create your own KnowRob package. The following description assumes that you would like to add knowledge in terms of OWL ontologies, or implement new Prolog predicates, or both. |
- | KnowRob packages are normal ROS packages that, in addition, contain some special files and folders. This common structure allows | + | KnowRob packages are normal ROS packages that, in addition, contain some special files and folders. This common structure allows [[https://github.com/knowrob/ |
< | < | ||
your_package | your_package | ||
- | |- manifest.xml | + | |- package.xml |
|- CMakeLists.txt | |- CMakeLists.txt | ||
|- owl | |- owl | ||
| \- your_file.owl | | \- your_file.owl | ||
- | |- prolog | + | |- src |
- | | + | |
\- your_module.pl | \- your_module.pl | ||
</ | </ | ||
Line 18: | Line 18: | ||
The example above assumes that you would like to create a package // | The example above assumes that you would like to create a package // | ||
- | The //init.pl// should initialize the package, which may include loading dependencies, | + | The //init.pl// should initialize the package, which may include loading dependencies, |
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 | + | Like in any other ROS package, you will need to specify your dependencies in the //package.xml//. |
+ | You only need to list the direct dependencies, | ||
+ | To use the minimal KnowRob functionality, | ||