scieee AI-readable full text Open interactive document viewer

Relational model for robotic semantic navigation in indoor environments

Mozos, Oscar

Abstract

The emergence of service robots in our environment raises the needto find systems that help the robots in the task of managing the informationfrom human environments. A semantic model of the environment provides therobot with a representation closer to the human perception, and it improvesits human-robot communication system. In addition, a semantic model willimprove the capabilities of the robot to carry out high level navigation tasks.This paper presents a semantic relational model that includes conceptual andphysical representation of objects and places, utilities of the objects, and se-mantic relation among objects and places. This model allows the robot tomanage the environment and to make queries about the environment in orderto do plans for navigation tasks. In addition, this model has several advantagessuch as conceptual simplicity and flexibility of adaptation to different environ-ments. To test the performance of the proposed semantic model, the outputfor the semantic inference system is associate to the geometric and topologicalinformation of objects and places in order to do the navigation tasks.

Full text

This a pre-print version of the article: Crespo, Jonathan, Ramón Barber, and O. M. Mozos. "Relational model for robotic semantic navigation in indoor environments." Journal of Intelligent & Robotic Systems 86.3 (2017): 617-639. https://doi.org/10.1007/s10846-017-0469-x Noname manuscript No. (will be inserted by the editor) Relational Model for Robotic Semantic Navigation in Indoor Environments J. Crespo ·R. Barber ·O.M. Mozos Received: date / Accepted: date Abstract The emergence of service robots in our environment raises the need to find systems that help the robots in the task of managing the information from human environments. A semantic model of the environment provides the robot with a representation closer to the human perception, and it improves its human-robot communication system. In addition, a semantic model will improve the capabilities of the robot to carry out high level navigation tasks. This paper presents a semantic relational model that includes conceptual and physical representation of objects and places, utilities of the objects, and semantic relation among objects and places. This model allows the robot to manage the environment and to make queries about the environment in order to do plans for navigation tasks. In addition, this model has several advantages such as conceptual simplicity and flexibility of adaptation to different environments. To test the performance of the proposed semantic model, the output for the semantic inference system is associate to the geometric and topological information of objects and places in order to do the navigation tasks. Keywords Robot navigation ·environment representation ·semantic modelling ·semantic inference 1 Introduction To help service robots to work in human environments they need high level perception and behavioral mechanisms closer to human models of perception J. Crespo and R. Barber Universidad Carlos III de Madrid. Spain. E-mail: jocresp[email protected] E-mail: rbarb[email protected] O. M. Mozos Universidad Polit´ecnica de Cartagena. Spain. E-mail: [email protected] 2 J. Crespo et al. and reasoning. Ioannis Kostavelis et al. ensure in [23] that the ability of mobile robots to sense is decisive for their applicability to everyday activities. Robots that are provided with semantic models of the environments where they operate have a larger decision autonomy, and become more robust and more efficient. Therefore, in mobile robot navigation, the so-called semantic maps have already been used to improve path planning methods [16]. Semantic navigation is considered as a navigation system that takes into account semantic information to model the environment. This information and the relationships between the concepts are applied in tasks such as robot location, mapping, exploration and path planning. A comprehensive overview of the existing navigation techniques can be found in [39]. Something to be consider is that this navigation system is usually supported by the definition of an ontology [30]. In this work, semantic navigation is supported by a relational representation of the environment in which an ontology describes relations between concepts, and these concepts are part of a conceptual hierarchy linked to a spatial hierarchy. In our system the kinds of rooms are related to the objects they contain. This objects are related to their usefulness, characteristics and interactions with other objects. In this way the rooms may be also related to a utility. For example, if a place contains objects used to work, it is deduced that the place is a good destination for someone who wants to work. In addition, objects located in a room, are semantically as the room. A room containing a stove and a refrigerator is labeled as kitchen. It also gives the system the ability to know what objects can be in a room. If a place is labeled as kitchen, it may contain a stove and a refrigerator. All these concepts are used to classify the place where objects are located. That information is used to reach a given location to meet a specific target. User may give orders such as go to the kitchen or I want to work now. A reasoning module uses information stored in a database to figure out which room corresponds to the kitchen (ie, the objects contained in that room correspond with the objects usually contained in a kitchen), in the first instance. In the second case, the robot leads the user to an office (this is because the reasoning module deduces that the usefulness of a computer is working and computers are in offices). Therefore, the robot can find places or rooms semantically related to the target,using the reasoning module. This module includes several relationships between concepts related to the environment that will be described in the following sections. When the user indicates to the system that he wants to go to a destination, the reasoning module deduces the physical locations where that destination can be reached. To do this, it uses a reasoner module. The reasoner implemented in this work uses a relational database which contains both the ontology proposed as well as the environment information. However, the reasoning module can be implemented using other inference systems. This possibility has been consideres in the design stage and reasoning class module implements an interface to communicate with a generic inference system. In this way the reasoner can be changed without affecting the rest of the navigation system. So, in the implemented system, the reasoning module Relational Model for Robotic Semantic Navigation in Indoor Environments 3 makes a cross-search against the database using the field provided by the user. Because the tables are related according to the design of the ontology, the results are all items that can be destinations related to the user’s request. The reasoning module maintains a fixed pattern of behavior. This module gets the information provided by the reasoner and it decides what is the best place to reach the target user, based on what it has been received. In this process it is likely that the reasoning module carries out multiple queries to the reasoner. Semantic information of the model is given a priori, but it is contemplated that information can be not complete or that additional information can be added to the system from other databases or through user interaction. 2 Related works In recent years, there is a growing interest on semantic knowledge applied in mobile robots navigation. Semantic navigation presents an step forward with respect to robotic navigation based on metric maps [6], topological maps [18], or hybrid maps [29]. Semantic information constitutes a better solution for interaction with humans [24]. In [22], these concepts are applied in order to understand natural language interactions when a person requests a robot to find a new object and the robot must look for that object in the environment. The first issue to deal with is how to represent knowledge. Ontologies can be seen as one of the best ways of obtaining this representation [38]. In addition, hierarchies can be established where the highest levels of abstraction define its semantic interpretation. This knowledge is considered for the creation of semantic maps. In [31] they take into account all the information sources that have been published. Moreover, they combine information about the existence of objects in a room, landmarks or signs, the topological structure, room appearance and size, the space geometry and the data provided by an interaction with human users. The ontology is coded based on [10] and [19]. The authors of [19] presented an integrated approach for creating conceptual representations based on multiple maps at different levels of abstraction. They include a laser sensor, a camera and a system for spoken interaction. They provide a high level of human-robot communication and conceptual representation. All they are supported by a wide literature on localization, mapping and places classification as it is explained in [15], [17], [4] [20], [33] or [2]. In [10] the rules defining the ontology have to be hand-coded by the user. In the proposed work rules are included in the proposed relational model. In the case a manual insertion of knowledge is required, the user only needs to add data to the model and, based on the ontology representation, relations among data are implicitly established. For instance, if a new room type is added, it is only necessary to add it to the model and to add the objects which it may contain. The work in [19] is based on the idea that humans partially adopt a hierarchical representation of spatial organization and a categorization of the spatial structures. Authors in this paper design a spatial representation divided 4 J. Crespo et al. in different abstraction levels. Several ways of acquiring knowledge, common to other works, are proposed in [19]: Acquired knowledge (with its sensors), Confirmed knowledge (by an user), Innate conceptual knowledge (pre-set in the T-Box) and inferred knowledge. There are several mechanism to label and to identifiy a region of space. In [41], the authors try to differentiate areas based on the usefulness of objects that are found. A Naive Bayes Classifier is employed, as in [32], to infer the place identification, in order to better group and create a set that represents an area. With this classification method, effectiveness is increased, as it is described in [37]. In the same line, [3] a semantic place classification of indoor using boosting is used. In [22] the authors also rely on probabilistic methods based on Naive Bayes for places classification and to obtain the probabilities of objects location. Relations between object-object and objet-scenario are used to predict the location of a variety of objects and scenarios. More recently there is an important paper [40] that also employs Bayesian approach for semantic mapping. The authors combine a semantic, topological and geometric mapping space and objects relating nodes. The location of the robot is performed with recognition methods places. Several works are based on object recognition for environment labeling objects such as [35], [34] or [25] and for places [2],[26]. The development of a system of active visual search [1] must also be mentioned, it combines semantic hints to guide the process of object searching. 3 Modeling the Environment Robotic navigation systems require a way of modeling and interpreting the environment. In the case of semantic navigation, a large amount of information related to the environment and to the objects contained can be extracted and represented. This representation requires an ontology to establish the concepts and the links of the objects in the environment. Many works depend on a reasoning engine where rules and facts are included. Galindo, in this way, uses a representation of knowledge called LOOM [9] and a system called NeoClassic [10]. As an alternative, in this work, a relational model is proposed. Some advantages that will be discussed in this paper are obtained. Using reasoning engines rules must change from one environment to another. With our system only the environment information changes. This and other advantages will be Discussed in next paragraph. The proposed relational model makes easy to store the information in tables that can be managed by the inference engine of a database [8], in order to test it, as it is done in this work. A considerable advantage of using the system proposed in this work, is the capacity for changing the environment without alterations of the relational model. Using a reasoning engine, rules must be changed by programmers or an advanced IA when the environment (i.e.: office, house) is modified. But using the system described in this paper, is not necessary because the rules are substituted by relations. In [19] user Relational Model for Robotic Semantic Navigation in Indoor Environments 5 information may be added by a tour. However, the rules must be predefined, as in [10]. In our system the semantics of an environment can be changed from home to office for example, without knowledge representation of logical rules. This makes easier its use by a final user and avoids the time spent to define rules. The relations between entities are implicit in the database design and only introducing new data is necessary. In addition, this architecture also allows the robot to deduce new types of rooms, without creating new rules. The idea in [9] of keeping on one hand the abstract entities and on the other hand the physical objects perceived, both types of information related through links, remains in this architecture. These benefits are obtained whether conventional databases are used as though object oriented databases are used. In this work we have used conventional databases because it allows separate the object information that must be stored and the data that must not be saved, because defined classes had information that there was no need to store. In the case that the robot identifies objects in a same room with a common utility, it can then deduced that it is located in a room where the robot could find more objects with related utilities. Therefore, new categories for rooms are autonomously created. The objects and room identification also allow to detect possible inconsistencies. In [13] some methods of how to solve the situation are detailed. In our paper, one method to solve this is to find an object that catalogues the room. If the robot finds a stove in a room identified as living room, then it is also a kitchen. The incoherence is solved by cataloging that room as living room-kitchen, understanding that it is both things. If the object that defines the room cannot be found, that inconsistency must be stored and later the robot must decide how it should solve it. It is strange to find a refrigerator in a living room, but if it happens, the robot must keep the consistency by considering it as an exception. Another advantage of the proposed relational model is that objects can be linked in an easy way to the topological and geometrical level of the navigation system, allowing the inclusion of geometrical information, and the relations of semantic information to nodes and edges of a topological graph. 3.1 Relational model representation In order to shown the model representation, an entity-relationship diagram is shown in Fig 1. The conceptual objects and conceptual rooms are related to physical objects and physical rooms, following the idea proposed by other authors such as [19], joining the conceptual hierarchy and the spatial hierarchy. In addition, objects in a domestic environment are considered. This is reflected in other models of knowledge as the one used in [21]. They link objects with verbs by the usedFor relationship, as the utility relatioship used in this work. This diagram collects the main aspects of the proposed semantic representation of the environment, in which places, objects and meanings are stored in tables. The proposed model is focused on the navigation task and is designed to be 6 J. Crespo et al. Fig. 1 Database design for semantic navigation as simple and complete as possible. Other more generic semantic knowledge models are similar to the model in [27] (figure 2). As may be seen in that work, a universal model requires managing events, resources, actors, contexts, etc. Other authors [42] are based on generic models and they adjust them (figure 3) for domestic environments. In this model the concepts are related by is-a relationships and it is considerably more complex than the proposed model in this paper which focuses on navigation task. For example, in our system everything the robot need to know about the dishwasher is that it is in the kitchen and it may contain a number of objects. And that is represented by the conceptual relationship between object (dishwasher) and the relationship between these conceptual objects would be stored into interaction table (the object dishwasher, the object dish and the relationship contains would be stored into interaction table, for example). The proposed model is used in a similar way to that depicted in Figure 3. If there are the appliance and dishwasher conceptual objects, the is-a relationship can be represented by the interaction relationship. And is-a is the kind of the interaction. In summary, the proposed model can be used to represent the desired complexity but also allows focusing on navigation (which is what is intended) and therefore simplify the model. 3.1.1 Conceptual elements and physical elements of the environment This type of tables are those that arise when considering the four elements the robot must store : physical rooms (real locations sensorially perceived by the robot), conceptual rooms (the type of room the robot can recognize), physical objects (objects perceived by sensors) and conceptual objects (each object’s semantic information that the robot must recognize). Therefore, being based on this description, the following tables exist: Relational Model for Robotic Semantic Navigation in Indoor Environments 7 Fig. 2 Generic knowledge model. Fig. 3 Knogledge model. 8 J. Crespo et al. ConceptualRoom:This table contains the information of the rooms understood as concepts. The table records are those corresponding to the concepts kitchen,living room,dining room, etc. ConceptualObject:This table stores data related to objects abstractly defined and understood as concepts,for example, Refrigerator,Sofa,Computer, Washing machine, etc. PhysicalRoom: This table corresponds to physical rooms (understood as locations, places in space, regions delimited by walls, having real coordinate, etc) by which the robot can move. PhysicalObject:This table stores each real object that the sensors of the robot identify. This table records can be Chair-1,Chair-2,Refrigerator-1, etc. Relating to these basic tables that represent the model, the following links that generate new tables exist because of the links of the type many-to-many: ConceptualObjectRoom (the relationship between ConceptualRoom and ConceptualObject gives as a result this table) and PhysicalConceptualRoom (the link between ConceptualRoom and Physicalroom produces this one). 3.1.2 Linking Conceptual elements and physical elements In this work, among conceptual and physical elements some links have been defined. Among PhysicalRooms and PhysicalObjects there is a link that corresponds to the fact that a physical object is located in a single physical room. And a physical room may have an indeterminate amount of physical objects. This information is added to the table PhysicalObject. Some authors use relations to match symbolic information to environment elements, as [14] that uses correspondences between symbols and sensor data from physical objects. Among ConceptualObjects and PhysicalObjects another link is found, due to the fact that each physical object corresponds to a single conceptual object. This information is also added to the table PhysicalObject. 3.1.3 Adding Semantic Information to the Objects Figure 1 shows the diagram of the designed relational model. There are several tables that manage important information that can be used by the robot to find objects which have a relation with other objects. The idea is, that if the robot searches for an specific object in the environment which has no information about its localization, it can deduce with what other objects is linked to, by searching this new objects. For this purpose, the followings concepts have been considered: Interaction: In this work, the possibilities of physical connections and relations between objects are defined as interaction. This table can handle any type of interaction, although tests have been performed with a limited number of them. The interactions taken into account are: BE A, when an object is a subtype of another object; IS USED WITH, when an object is used with an object and IS INSIDE OF, when usually an object is inside another object. Relational Model for Robotic Semantic Navigation in Indoor Environments 15 Algorithm 3 searchPosibleLocationFromAnObject Require: SemanticPosition target with the new target information. 1: locationList =reasoner.getP osibleLocationF romObject(target.object.code, target.object.characteristic) 2: searchSemanticP roximity =false 3: if locationList 6={} then 4: bool success =searchObjectsOrRooms(target.object.code, locationList) 5: if !success then 6: searchSemanticP roximity =true 7: end if 8: else 9: searchSemanticP roximity =true 10: end if 11: if searchSemanticP roximity then 12: bool result =searchBySemanticP roximity(target) 13: if result =OK then 14: add new target in destination vector (target updated) 15: else if target has characteristic then 16: remove target.object.characteristic 17: create new target and push on vector 18: searchP osibleLocationF romAnObject(newtarget) 19: else 20: publish event to explore 21: end if 22: end if 23: return reasoner assigns the task to the explorer. If the request was go to a room, the explorer commands the robot wander until the sensors detect an object that identifies the requested room. If an object had been requested, the robot goes to the most probably place to find the object and there begins to wander until it finds it. In both cases there is a configurable timeout that stops the search and deemed to have failed. 4.2 Semantic identification of the room Semantic information would be needed to identify the room from a vector of detected objects. There is a function in the system that deletes from the vector the objects already known, to only analyze those observed for the first time. For all new objects, it gets the room codes that the object returns with a query that returns a list of the types of room where the object can be found. If an object is found that its presence defines the room where it is located, then the list of room types will only have one element. For example, the stove is an object that can only be in the kitchen, so that room is a kitchen. If there is a stove in a room containing a sofa and a table it has been identified as living room and dining room. In this system, the same room can match an infinite number of types of room. If the result of the previous query does not return a single record, it is because the refered object is not discriminatory enough to be able to conclude any identification. 16 J. Crespo et al. Algorithm 4 searchObjectsOrRooms Require: String code, vector list Ensure: bool,true if success 1: bool OK =true 2: bool continue =true 3: for all elements of list and continue =true do 4: string object code =element.object.code 5: string room code =element.room.code 6: if object code failed previously then 7: OK =false 8: end if 9: if OK then 10: continue =false 11: end if 12: end for 13: if OK then 14: if There is OBJECT then 15: if There is ROOM then 16: vectorobjects =reasoner.getP hysicalObjectF romConceptualObject(object code) 17: vectorrooms =reasoner.getP hysicalRoomsF romConceptualRoom(room code) 18: create newtarget and add it on destination vector 19: else 20: searchForAnObject(new SemanticPosition(object code)) 21: end if 22: else 23: reasoner.getP hysicalRoomsF romConceptualRoom(room code) 24: create newtarget and add it on destination vector 25: end if 26: end if 27: return OK 5 Adding information to the environment model Several ways of adding the information to the environment model are contemplated : A priori information: At the beginning, the information of the environment is fulfilled by the user. Information of places and objects might not be complete and acquired in the future. Adding information from the robot sensors: When navigating, robot can detect objects from the environment and it can add the information and relations to places and other objects. The sensory system works by adding several different systems object detection. We used previously works, for instance [7] and recently we have added the system that is described in [5]. These systems works detecting the shapes of the objects for detecting generic objetos and using descriptors to identify specific objects. Because of the difficulty that the typical object detection systems, sensory system also includes a marks and labels detection to identify the most difficult object to detect. This also works with objects detectors that have not been trained with a specific object. One of these systems for marks detecting that we use is within ARToolKit package. Relational Model for Robotic Semantic Navigation in Indoor Environments 17 The semantic navigation system has a explore module that is responsible for associating the objects perceived or identified rooms with geometric positions or topological nodes. Adding information by interaction: When the robot needs more information, it is contemplated that robot interacts with human using speaking communication [28]. Adding information using knowledge databases: Robot can connect to knowledge database in order to complete meanings, utilities and other properties of objects and places in order to add relations. 6 Experiments To carry out tests on this system, the inferring engine of a database has been chosen in order to demonstrate the functionality of the model. The database has been created with MySQL 5.5.43 for Ubuntu 12.04. The system has been created within a package ROS (indigo version) to which has been added libmysqlclient-dev dependency to access the database from code in C ++. In the experiments, geometrical destination from a request to a semantic target, starts from a hypothetical situation of a partially explored environment, with the information contained in the table 1, with semantics defined by the table 3 and deducted knowledge stored in table 2. To focus the tests on the system of reasoning, planning and communication with the low level navigation system, this partial environment information was manually introduced into the database. On these tables, that represent the knowledge the robot has, the system effectiveness has been tested. PhysicalObject Name ConceptualName RoomName Chair-1 CHAIR Room-1 Chair-2 CHAIR Room-2 Chair-3 CHAIR Room-3 Refrigerator-1 REFRIGERATOR Room-1 Sofa-1 SOFA Room-2 Desk-1 DESK Room-3 Table 1 Content of the table PhysicalObject ConceptualPhysicalRoom ConceptualName PhysicalName Room-1 KITCHEN Room-2 LIVING ROOM Room-3 OFFICE Table 2 ConceptualPhysicalRoom 18 J. Crespo et al. ConceptualObjectRoom RoomName ObjectName KITCHEN STOVE KITCHEN REFRIGERATOR KITCHEN SINK KITCHEN WASHING MACHINE KITCHEN HEATER LIVING ROOM SOFA LIVING ROOM COFFEE TABLE LIVING ROOM CHAIR LIVING ROOM TV SET LIVING ROOM HEATER LIVING ROOM BOOKCASE DINING ROOM CHAIR DINING ROOM DINING TABLE DINING ROOM HEATER OFFICE HEATER OFFICE CHAIR OFFICE BOOKCASE OFFICE DESK OFFICE COMPUTER BATHROOM WASHBASIN BATHROOM TOILET BATHROOM HEATER Table 3 Content of the table ConceptualObjectRoom 6.1 Physical rooms This test tries to analyze the behavior of the planner when a conceptual room is requested to be found, corresponding with a known physical room. The test consisted of asking for the KITCHEN in the case where the robot knows that there is a room that is a kitchen. In this case, the system issues a command to go to room-1, which corresponds to the kitchen. Checking the table PhysicalConceptualRoom, it can be seen that if a query is raised asking for KITCHEN, the result is room-1. If the user asks again for the kitchen, the system searches for another one, not having more kitchens in the database, explore the rest of the rooms. 6.2 Physical objects The test described in this section, evaluates the system performance when attempting to find a conceptual object where real objects have been observed. In the initial environment, there are three real objects of the CHAIR type. When asked for a Chair, the system identifies Chair-1,Chair-2 and Chair-3. It gets the information of the room in which the first chair is found and it issues a command to move to that room, which corresponds to room-1. When asking again for a chair, Chair-2 is obtained, and it stays in room-2. With another query on Chair, Chair-3 is obtained and it issues the command to Relational Model for Robotic Semantic Navigation in Indoor Environments 19 Fig. 8 Test sequence with the CHAIR object move to room-3, which corresponds with the last known chair. This behavior is visually described in figure 8. If it is the case of unknown objects, when asked again for CHAIR after having discarded the chairs from the previous test, the operation sequence can be seen in figure 9. At last, one more query on chair that can be seen in figure 8. In this case, it is necessary to explore for CHAIRS, searching in rooms where chairs could be present. 6.3 Unknown objects in unknown rooms This test is carried out to ensure the correct operation in cases in which it has been introduced, as semantic target, a conceptual object and real object has not observed and that desired object is found in unidentified rooms. The object asked for is the WASHBASIN. In this case the system tries to find bathrooms, as is shown in figure 10. 6.4 Object search by characteristics Based on the knowledge shown in figure 11, the system is asked for something to drink and the system deduced that it had to find a soft drink, coffee or fresh water. With this, the problem is reduced to the previous cases of searching 20 J. Crespo et al. Fig. 9 Test sequence with the CHAIR object when there is no match with no observed physical object Fig. 10 Test sequence with the WASHBASIN object Relational Model for Robotic Semantic Navigation in Indoor Environments 21 Fig. 11 Knowledge of the robot represented on tables. for an object (known or unknown). Later, a hot drink was requested and the system deduces that it must get coffee, being a case of search by object (coffee) already solved. With the knowledge shown in figure 11 and telling the system that something relaxing was searched for, the response was trying to find a chair. 6.5 Objects search by semantic proximity Finally, with the knowledge shown in figure 11 and telling the system that a printer was needed, the system deduced that it must go to the office (in a home environment) to search for the computer because a printer may be found. For that, the system used the information of the relations between objects (computer-printer). 6.6 Unknown objects in known rooms In this test the result of asking for conceptual objects that have not been observed but its location must be known, as it is inferred in the reasoning module, has been examined. It is checked that such inference is carried out and that the topological destination is right. It has been tried to ask for a HEATER. The system issues the command to go to all rooms with a heater. None of them were identified and it issued the action explore. 6.7 Unknown rooms The system has been asked for a conceptual room that has no correspondence with a physical room because it has not been identified as a room. The room asked for was the BEDROOM. The system explores to search for the bedroom. As no room was identified as a bedroom in the database, the reasoning module returns the result that launches the explorer module looking for a bedroom. 6.8 Testing complete system To test the system in a real scenario, a Turtlebot robot has been used. The robot includes a laptop to command it and to process the data from odometry 22 J. Crespo et al. Book.stand Chair Television Sofa Desk Computer Work.area Entertainment.area Reading.area Testing room Blue.box:.Initial.position. Red.box:.Final.position. Chair Fig. 12 Testing room and from an ASUS Xtion Pro Live camera. A second laptop has been added to manage the semantic system developed in that work. To get the hardware and software integration, the proposed system is developed under the Robot Operating System (ROS), using C++ programming language. Tests have been performed in a reserved area for teachers and researches that includes three subareas: A reading area, a work area and a entertainment area. Figure 12 contains a schematic drawing of the environment. To perform low level navigation tasks, a geometric representation of the environment have been used. A geometric map of the room has been build a priori, using the Gmapping ROS package that provides a laser-based SLAM (Simultaneous Localization and Mapping). Gmapping package generates geometric map of the environment and tools to plan and navigate in the map. The ASUS Xtion Pro Live camera has been configured as a laser-based sensor,using pointcloud-to-laserscan ROS package. The geometric map of the working environment is shown in figure 13. The software architecture developed under ROS contains object environment detection modules, that includes object recognition [12], perception of artificial landmarks sourced by Ar-ToolKit [11] and simulated perception, but in this test a geometric location of the objects has been include in the map and in the tables of the database. The system is completed with a robot-user interaction module with speech recognition and speech generation [28] that is used to ask the user for the target and to ask for information when database has not several options or not enough information. In the test, the robot received the request to go to a fun place and a query is required to the system. Then the system proceed to seek alternatives. The first route taken by the robot is marked with a red colour rectangle in Figure 12. This corresponds to the search path of the television, because the robot had the relation between TV watching and fun in its database. The robot had the knowledge of the existence of the objects in the area labeled as entertainment area and the coordinates of the objects, so the robot moves to the TV position (Figure 14), using the coordinates of the TV from the database. Relational Model for Robotic Semantic Navigation in Indoor Environments 23 Fig. 13 Geometric map of the testing room. Fig. 14 Final position of the robot path: in front of the TV. When the robot asks the user if it is the desired destination, the user answers negatively (user does not want to watch television). Then, a second query is required to the system which led the robot to the final position of the book stand of figure 12. The reading area is selected, because the inference system associated read with fun, and although it had no book object in the database, it had labeled that area as reading area and it was the best place to find a book, since the database relates book with book stand, and book stand with reading area. Then, the robot moves to the reading area position (Figure 15), using the coordinates of the reading area from the database. 24 J. Crespo et al. Fig. 15 Final position of the robot path: in the reading area. Several test were performed, doing different queries types. When the robot had not enough information to reach the target, it asked the user to complete the information in the database an get the destination. The test discussed above and how the robot acquires new information asking the user, is shown in the video hosted on https://youtu.be/mhW_undRMgQ 6.9 Analysis system efficiency These experiments also allowed to make some comments on the to discuss the efficiency of the proposed system under certain circumstances. These tests were performed assuming the system has the information in Tables 1, 2, 3 and Figure 11. 6.9.1 System recursiveness The efficiency of the system has not been changed in situations that required to perform multiple recursive calls. This recursion is manifested in calls to the function of obtaining destination whose pseudocode is the algorithm 1. That function calls a number of functions going back to call themselves or to the same initial function. All calls to this function are discussed below to find out if recursion could be a problem. We conducted a test of basic search for a conceptual room. The relevant time data that can be affected by the recursion are shown in Table 4. In this first test we have order to find the office and there is no recursion, data are a reference for the next test. The second test requires three levels of recursion. It consist in asking the system to find a sheet of paper. For this we have added a new interaction information that relates objects SHEET OF PAPER with PRINTER by IS USED WITH relationship. The results are shown in Table 5.