Only released in EOL distros:  

roboearth: ar_bounding_box | re_2dmap_extractor | re_comm | re_comm_core | re_kinect_object_detector | re_msgs | re_object_detector_gui | re_object_recorder | re_ontology | re_srvs | re_vision

Package Summary

re_comm is a communication interface to the RoboEarth DB. It provides services to download/upload/update/delete/query action recipes, object models and environments.

This package is part of RoboEarth (EU FP7, grant 248942).

What does re_comm do?

The re_comm package provides ROS services to submit, update, request, delete and search for database entries and to forward semantic queries to RoboEarth's Sesame repository:

If data in the RoboEarth database is to be changed, the corresponding ROS service expects an API key as an argument. Services that provide only read access to the DB don't need such a key. You can request your API key at the web interface of the RoboEarth database: http://roboearth.informatik.uni-stuttgart.de/

It is possible to search for database entries, which share a common prefix for their unique identifier (UID) using the /re_comm/search_<type> services. As the class of an entity is built from categories and subcategories (separated by dots) a prefix search can be used to find all entities that are part of the same category/subcategory. For example:

UID1: animal.mammal.cat.kitty
UID2: animal.mammal.dog.pluto

Valid prefix searches are:

a                  // => UID1 and UID2 found
animal.            // => UID1 and UID2 found
animal.mam         // => UID1 and UID2 found
animal.mammal.cat  // => UID1 found
animal.mammal.d    // => UID2 found

Semantic Query

By using the SeRQL query language and the /re_comm/query_<type> services, you may access server-side reasoning based on the RDF triples. Example queries:

  • Get all OWL classes:

SELECT C FROM
{C} rdf:type {owl:Class}
WHERE isURI(C)
  • query_action_recipes: Get all recipes having a label, which contains "serve a drink":

SELECT S FROM
{S} rdfs:label {L}
WHERE L LIKE "serve a drink"
  • query_objects: Get all ColoredPointCloudModels, which provide a model for a hand:

SELECT S FROM
{S} rdf:type {re:ColoredPointCloudModel}; re:providesModelFor {kr:Hand}
USING NAMESPACE
re=<http://www.roboearth.org/kb/roboearth.owl#>,
kr=<http://ias.cs.tum.edu/kb/knowrob.owl#>
  • query_objects: Get all object models, which include a ColoredPointCloudModel for a hand

SELECT source FROM CONTEXT source
{S} rdf:type {re:ColoredPointCloudModel}; re:providesModelFor {kr:Hand}
USING NAMESPACE
re=<http://www.roboearth.org/kb/roboearth.owl#>,
kr=<http://ias.cs.tum.edu/kb/knowrob.owl#>

Wiki: re_comm (last edited 2011-07-25 11:05:46 by AlexanderPerzylo)