Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| doc:faq [2013/04/22 08:32] – created admin | doc:faq [2022/02/17 13:38] (current) – First FAQ entry yay. gkazhoya | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== FAQ ====== | ====== FAQ ====== | ||
| - | ===== How can I debug Prolog programs? ===== | + | **Q: How can I add a mesh in bullet having |
| - | There is a [[http:// | + | |
| + | A: The mesh paths are stored here: https:// | ||
| - | ===== Which programming language should I use for what purpose? ===== | + | To add new entries into the variable you use this function: https:// |
| - | KnowRob is implemented in a combination of OWL, Prolog and Java. When creating extensions, it is worth considering which language to implement them in: | + | |
| - | == OWL: == | + | Here is an example. These are two meshes that we use for the shopping scenario: https:// |
| - | * Description language, no programming language | + | |
| - | * Class taxonomy of objects, actions, events,... | + | |
| - | * Instances of these classes (e.g. environment models, experiences) | + | |
| - | * Robot capabilities/action requirements | + | |
| - | == Prolog: == | + | In order to register them, we call the add-objects-to-mesh-list function in the init-projection function, which is called upon ROS node startup: https:// |
| - | * Logical programming language: conceptually close to the knowledge representation, good at searching and pattern matching | + | |
| - | * Useful for functionality interacting closely with the internal representation (OWL gets parsed into Prolog triples) | + | |
| - | * Wrapper predicates | + | |
| - | * Functionality involving (recursive) search, graph matching, reasoning about ontological structure, ... | + | |
| - | == Java: == | + | To register any function as a callback upon node startup we use this macro https://github.com/ |
| - | * Object-oriented programming language that can interact with Prolog via the [[http://www.swi-prolog.org/packages/jpl/|JPL interface]] | + | |
| - | * Conceptually further away from the internal knowledge representation | + | |
| - | * Good library support, therefore useful for external interfaces (WWW, ROS,...) and for integrating libraries (ProbCog, Weka, Visualization...) | + | |
| + | Once you have the paths stored in the btr:: | ||
| + | |||
| + | You can, of course, just populate the mesh variable manually to hack something quickly, but I'd suggest using the add-objects-to-mesh list function. | ||
| + | |||
| + | Important: the meshes should be located in a ROS package that the system is able to find with '' | ||
| + | |||
| + | ------------------ | ||

