Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:robots_and_the_internet [2013/11/25 11:44] – [Exchanging Information via RoboEarth] admindoc:robots_and_the_internet [2014/11/28 12:46] (current) admin
Line 1: Line 1:
 ====== Tutorial on "Robots and the Internet" ====== ====== Tutorial on "Robots and the Internet" ======
  
-This tutorial was given at the [[http://aass.oru.se/Agora/Lucia2013/|2013 LUCIA Winter School]] on "AI and Robotics" in Örebro, Sweden. This page describes the practical examples complementing the presentation.+This tutorial was given at the [[http://aass.oru.se/Agora/Lucia2013/|2013 LUCIA Winter School]] on "AI and Robotics" in Örebro, Sweden. This page describes the practical examples complementing the presentation; the slides can be found {{:doc:robots-and-internet.pdf|here}}. 
 + 
 +** This page has not been updated to the new, catkin-based version of KnowRob. Some packages used by the instructions below, such as opencyc, are not available in this version. **
  
 ===== Installation ===== ===== Installation =====
Line 50: Line 52:
  
 ===== Object Ontology generated from an Online Shop ===== ===== Object Ontology generated from an Online Shop =====
 +Online shops can provide valuable information about objects and their properties. The package comp_germandeli contains an OWL ontology that has been generated from the [[http://www.germandeli.com|GermanDeli online shop]], selling German products in the US. It can be loaded into KnowRob and expands the 'objects' branch of the ontology with about 7,000 additional classes.
  
-  $ roscd comp_germandeli +  $ rosrun rosprolog rosprolog comp_germandeli
-  $ rosmake+
      
   ?- owl_subclass_of(A, germandeli:'Bakery').   ?- owl_subclass_of(A, germandeli:'Bakery').
Line 90: Line 92:
   O = literal(type(xsd:string,'6.99')) ;   O = literal(type(xsd:string,'6.99')) ;
 ===== Exchanging Information via RoboEarth ===== ===== Exchanging Information via RoboEarth =====
 +[[http://www.roboearth.org|RoboEarth]] is a web-based database for exchanging information between robots via the Internet. The content of the database can be searched using a [[http://api.roboearth.org|web interface]] as well as using a [[http://api.roboearth.org/documentation/dev|REST-style API]]. The following examples show some tools that can interact with RoboEarth; the first two are graphical editors that can up-and download information to and from RoboEarth, the latter is a query interface that directly loads the information into KnowRob. 
 ==== RoboEarth-enabled Semantic Map Editor ==== ==== RoboEarth-enabled Semantic Map Editor ====
  
-The [[http://knowrob.org/doc/semantic_map_editor|Semantic Map Editor]] can read and write information from/to RoboEarth. To get an impression, search for room '3001' and download the 'semmap.iaskitchen'.+The [[http://knowrob.org/doc/semantic_map_editor|Semantic Map Editor]] can read and write information from/to RoboEarth. To get an impression, search for room '3002' and download the 'lucia.testmap'.
  
  
Line 108: Line 110:
  
  
-You should then launch the interactive shell by typing+The following are some example queries for downloading an action recipe and an environment map into KnowRob.
   $ rosrun rosprolog rosprolog re_comm    $ rosrun rosprolog rosprolog re_comm 
   ?- visualisation_canvas(_), planvis_create(_).   ?- visualisation_canvas(_), planvis_create(_).
 +   
 +  % Download an action recipe and add it to the visualization 
 +  ?- re_download_action_recipe('serve a drink', pr2:'PR2Robot1', Recipe),  
 +     re_generate_cpl_plan(Recipe, CplPlan), 
 +     planvis_load(Recipe,_). 
 +      
 +  % Download an environment map and visualize it 
 +  ?- re_request_map_for([['kr:roomNumber',3002], ['kr:floorNumber','3'],  
 +                         ['kr:streetNumber','45'], ['rdfs:label','Karlstrasse']], M), 
 +     owl_individual_of(Map, knowrob:'SemanticEnvironmentMap'),  
 +     add_object_with_children(Map, _).
  
 ===== Remote Web-based Knowledge Processing ===== ===== Remote Web-based Knowledge Processing =====
  
- +The [[http://knowrob.org/doc/marker_visualization|web-based visualization canvas]] allows to interact with KnowRob via the Web by sending queries and visualizing their results. The setup is a bit complicated since Web servers are not installable purely via ROS, and opening a Prolog console to the world can be a security leak. However, for controlled environments, you can find the [[http://knowrob.org/doc/marker_visualization#installation|installation instructions]] and [[http://knowrob.org/doc/marker_visualization#example_queries|example queries]] here.