Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| mesh_reasoning [2013/02/12 17:41] – external edit 127.0.0.1 | mesh_reasoning [2014/06/05 11:38] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Reasoning about geometric object models ====== | + | #REDIRECT doc:mesh_reasoning |
| - | ~~NOTOC~~ | + | |
| - | This module is currently under development and not publicly available. | + | |
| - | + | ||
| - | ===== Usage ===== | + | |
| - | + | ||
| - | Start knowrob_mesh_reasoning | + | |
| - | < | + | |
| - | roscd knowrob_mesh_reasoning | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | Analyze a model by its direct path or a KnowRob identifier (you first have to load an OWL file with the object) | + | |
| - | < | + | |
| - | ?- mesh_annotator_path(' | + | |
| - | ?- mesh_annotator(knowrob:' | + | |
| - | < | + | |
| - | + | ||
| - | Retrieve a list of found annotation types: | + | |
| - | < | + | |
| - | ?- mesh_element_types($Mr, | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | Sample call for highlighting all sphere annotations: | + | |
| - | < | + | |
| - | ?- mesh_annotator_path(' | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | Mr = @'J#00000140259203508552' | + | |
| - | + | ||
| - | ?- mesh_find_annotations($Mr,' | + | |
| - | Found = @' | + | |
| - | + | ||
| - | ?- mesh_annotator_highlight($Mr, | + | |
| - | | + | |
| - | @' | + | |
| - | @' | + | |
| - | @' | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | Clear highlight with | + | |
| - | < | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | Finding handles (default or by specifying minimum and maximum radius of a handle): | + | |
| - | < | + | |
| - | | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | Finding all supporting planes: | + | |
| - | < | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | ===== Computables ===== | + | |
| - | + | ||
| - | These computables are still work in progress, but they already build up the OWL datastructures of the object and its parts including their properties and relative poses. | + | |
| - | + | ||
| - | Start knowrob_mesh_reasoning | + | |
| - | < | + | |
| - | $ roscd knowrob_mesh_reasoning | + | |
| - | $ rosrun rosprolog rosprolog knowrob_mesh_reasoning | + | |
| - | </ | + | |
| - | + | ||
| - | Load example file | + | |
| - | < | + | |
| - | ?- owl_parse(' | + | |
| - | </ | + | |
| - | + | ||
| - | Ask for properPhysicalParts (loads mesh, segments it and creates the parts on the fly) | + | |
| - | < | + | |
| - | ?- rdf_triple(knowrob: | + | |
| - | </ | + | |
| - | + | ||
| - | Ask for properties of these parts | + | |
| - | < | + | |
| - | ?- rdf_triple(knowrob:areaOfObject, | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | ==== Currently implemented computables ==== | + | |
| - | + | ||
| - | * Planar surfaces | + | |
| - | * normalDirection (vector) | + | |
| - | * objectLongSide (vector) | + | |
| - | * objectShortSide (vector) | + | |
| - | * areaOfObject (float) | + | |
| - | * areaCoverage (float) | + | |
| - | * supporting planes (computable class for SupportingPlane) | + | |
| - | * Spheres | + | |
| - | * radius (float) | + | |
| - | * volumeOfObject (float) | + | |
| - | * areaOfObject (float) | + | |
| - | * areaCoverage (float) | + | |
| - | * concavity (computable class for ConcaveTangibleObject) | + | |
| - | * Cones/ | + | |
| - | * radius (as average radius, float) | + | |
| - | * maxRadius (float) | + | |
| - | * minRadius (float) | + | |
| - | * volumeOfObject (float) | + | |
| - | * lengthOfObject (float) | + | |
| - | * longitudinalDirection (vector) | + | |
| - | * areaOfObject (float) | + | |
| - | * areaCoverage (float) | + | |
| - | * Containers | + | |
| - | * longitudinalDirection (opening direction, vector) | + | |
| - | * volumeOfObject (float) | + | |
| - | * Handles (computable class for cylindrical handles, class ' | + | |
| - | + | ||

