Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

From your questions, I have the feeling that you are maybe still lacking some basic understanding of ROS, KnowRob and the underlying technology (OWL, Prolog). Without that, I'm afraid it will be very difficult to develop your own applications that go beyond the basic tutorials. At least the KnowRob tutorials are not just meant as copy&paste exercises, but rather to showcase some functionality and give you starting points from where to explore the system. This requires some basic knowledge of Prolog and OWL, and ROS in general requires some basics in Linux and Shell usage.

I'd recommend to do the OWL and Prolog tutorials linked from here http://ias.in.tum.de/kb/wiki/index.php/Tutorial:_KnowRob_basics. Then have a look at the KnowRob tutorials again and try to actually understand what's happening. Learn to use the graphical tracer in Prolog and follow the inference step by step.

Also have a look at the KnowRob-related publications (https://ias.in.tum.de/research/knowledge). The code examples in the papers are not always directly copy&paste-able, some are simplified or depend on a special launch configuration, but the papers will give you an idea of what is possible and what are difficult problems.

I'd very much recommend a more structured approach, just taking arbitrary queries from different wiki pages and trying to execute them just won't lead anywhere. And this question shows that some deeper understanding is needed (e.g. I have no idea what you mean with "convert a point cloud to an OWL file", and the household_objects_database does not have much to do with KnowRob apart from the fact that it's used by the tabletop_object_detector that can be interfaced with KnowRob).

From your questions, I have the feeling that you are maybe still lacking some basic understanding of ROS, KnowRob and the underlying technology (OWL, Prolog). Without that, I'm afraid it will be very difficult to develop your own applications that go beyond the basic tutorials. At least the KnowRob tutorials are not just meant as copy&paste exercises, but rather to showcase some functionality and give you starting points from where to explore the system. This requires some basic knowledge of Prolog and OWL, and ROS in general requires some basics in Linux and Shell usage.

I'd recommend to do the OWL and Prolog tutorials linked from here http://ias.in.tum.de/kb/wiki/index.php/Tutorial:_KnowRob_basics. Then have a look at the KnowRob tutorials again and try to actually understand what's happening. Learn to use the graphical tracer in Prolog and follow the inference step by step.

Also have a look at the KnowRob-related publications (https://ias.in.tum.de/research/knowledge). The code examples in the papers are not always directly copy&paste-able, some are simplified or depend on a special launch configuration, but the papers will give you an idea of what is possible and what are difficult problems.

I'd very much recommend a more structured approach, just taking arbitrary queries from different wiki pages and trying to execute them just won't lead anywhere. And this question shows that some deeper understanding is needed (e.g. I have no idea what you mean with "convert a point cloud to an OWL file", and the household_objects_database does not have much to do with KnowRob apart from the fact that it's used by the tabletop_object_detector that can be interfaced with KnowRob).

EDIT: 1) The auto-generated OWL file contains the bare minimum to make that object find-able in the RoboEarth DB, i.e. it describes that this instance of object recognition model can be used to recognize that kind of class. You can load that file to KnowRob using the owl_parse predicate. If you look at the OWL file, you will see that it does not described other object properties (how should it get this information anyway?), so you'll need to create it. As I said, this requires some understanding of what OWL is and how you describe knowledge in it.

2) All image feature based object detectors are good at textured objects and worse at untextured objects. If you use another recognizer, you'll need to create the OWL file yourself.

3) There is no man function for these OWL files, but you can read the files themselves.