Ask Your Question

# Revision history [back]

gmapping maps can hardly store properly that kind of information. In our case we use a separated semantic map that contains different kinds of interesting elements and its coordinates relative the gmapping-generated map reference frame.

gmapping maps can hardly store properly that kind of information. In our case we use a separated semantic map that contains different kinds of interesting elements and its coordinates relative the gmapping-generated map reference frame.

UPDATE In our case a semantic map is something terribly simple: typically a yaml file containing a global pose (/map frame referenced) and some extra data. Here for example we store tables with their radius for a waiter robot:

-
name: table1
frame_id: map
radius: 0.483
pose:
position:
x: 3.067
y: 3.107
z: 0
orientation:
x: 0
y: 0
z: 0
w: 1
-
name: table2
frame_id: map
radius: 0.5
...


We also store the semantic data in a mongo database. In this repo we have scripts that maybe can give you some ideas. For example, scripts / table_publisher_from_file.py reads a yaml file like the above listed and publish table poses used by the robot and markers that RViz can visualize. If you also show a geometric map in RViz, both maps gently superimpose, as both share the same reference frame.

https://github.com/robotics-in-concert/rocon_database