Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
create_and_load_a_semantic_map [2012/12/01 11:55] – tenorth | create_and_load_a_semantic_map [2014/06/05 11:38] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Create and load a semantic map ====== | + | #REDIRECT doc:create_and_load_a_semantic_map |
- | + | ||
- | Semantic maps are descriptions of an environment in terms of localized object instances and are stored in OWL files. There are different ways how to create such a file: | + | |
- | * The [[Semantic Map Editor]] is a graphical editor for semantic maps. It can be used to create object instances and to set their positions. | + | |
- | * If you already have a map datastructure and would like to create a semantic map from your program, you can use the SemanticMapToOWL ROS service. | + | |
- | * In some cases, it may actually be the fastest to create the map manually in a good text editor in which you can copy and paste the object instances and their pose matrices. If you plan to do this, you should have well understood [[object pose representation|how object poses are represented in KnowRob]]. | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | The probably easiest way to get a valid OWL file is to use the SemanticMapToOWL ROS service described here: http:// | + | |
- | + | ||
- | The object type that you get from the perception system indeed corresponds to the object class in KnowRob. If the identifiers do not match, you need to create a mapping at some point; if you use the conversion service, the easiest place would be to have the mapping in your code for now. You can get a list of all object classes in KnowRob using the following command: | + | |
- | + | ||
- | $ rosrun mod_semantic_map SemanticMapToOWL list | + | |
- | + | ||
- | The visualization module only supports a subset of these classes. We currently have two ways to define how an item is to be visualized: the legacy version used custom Java classes that draw the item to the visualization, | + | |
- | + | ||
- | $ roscd mod_vis/ | + | |
- | + | ||
- | We are currently switching to a more flexible system based on CAD models (e.g. Collada). To make this work, you need to specify the path to the model as a property of the respective instance or class, see the lower part of this file for an example: | + | |
- | + | ||
- | knowrob_cad_models/ | + | |
- | + |