| Both sides previous revisionPrevious revisionNext revision | Previous revision | 
| doc:robots_and_the_internet [2013/12/10 08:12]  – [Object Ontology generated from an Online Shop]  admin | doc:robots_and_the_internet [2014/11/28 12:46] (current)  –  admin | 
|---|
| ====== 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 ===== | 
| 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. | 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'). | 
| 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'. | 
|  |  | 
|  |  | 
|  |  | 
| % Download an environment map and visualize it | % Download an environment map and visualize it | 
| ?- re_request_map_for(['kr:roomNumber',3001], ['kr:floorNumber','3'], | ?- re_request_map_for([['kr:roomNumber',3002], ['kr:floorNumber','3'], | 
| ['kr:streetNumber','45'], ['rdfs:label','Karlstrasse'], M), | ['kr:streetNumber','45'], ['rdfs:label','Karlstrasse']], M), | 
| owl_individual_of(Map, knowrob:'SemanticEnvironmentMap'), | owl_individual_of(Map, knowrob:'SemanticEnvironmentMap'), | 
| add_object_with_children(Map, _). | add_object_with_children(Map, _). |