What is SEMAP?

SEMAP is a Semantic Environment Mapping Framework  that provides a database system to store large-scale geometric maps in combination with semantic knowledge in order to create a multi-modal environment model that can represent a dynamic environment over time.  The framework features an object-focused approach to describing the environment, where each object combines information about its semantics, naming what kind of object it is and what features it has, and its geometric shape and position in the environment. To enable the support of dynamic environments, SEMAP supports the description of articulated objects and features a transformation tree to allow flexible repositioning of objects.

The framework’s implementation is based on PostGIS since the open geographic information system supports the storage of 3D data and brings basic abilities to perform spatial queries on the data.  SEMAP extends the tool set of PostGIS by defining custom spatial operators, that allow to derive spatial relations between object, such as left-of, above-of, close-by and so forth. By combining spatial analysis with classical relational queries, SEMAP allows to query the environment using spatial and semantic constraints. This enables queries such as “Which objects are on the desk?”, “Which rooms contain more than 5 chairs?”, “”Is there a teapot in the kitchen?”, “How far away is office 304 from office 106?” and similar.

The framework’s core is build upon PostGIS and the SFCGAL plugin for PostGIS, it further makes use of SQLAlchemy to interface the SQL layer of PostGIS. SEMAP is completely integrated into ROS and brings a large set of services to address its query system, view the environment model and modify its components.

SEMAP Header

Key Features

  • Object-based Environment Model
    • with multiple geometric datatypes
    • support for articulated objects
    • a TF-like transformation tree in database storage
  • Spatial Operators to determine spatial relations between objects
  • ROS Wrappers and RViz Tools

Where to get SEMAP?

The SEMAP framework is publicly available under GPL2 license. You can find the code on github.

If you are interested in SEMAP and want to give the software a try, we are glad to support you!

Please contact the current maintainer, Henning Deeken ( hdeeken at ).


Leave a Reply