Guillaume Sarthou

Aurélie Clodic

Rachid Alami

Ontologenius : A long-term semantic memory for robotic agents

In this paper we present Ontologenius, a semantic knowledge storage and reasoning framework for autonomous robots. More than a classic ontology software to query a knowledge base and a first-order internal logic as it can be done for web-semantics, we propose with Ontologenius features adapted to a robotic use including human-robot interaction. We introduce the ability to modify the knowledge base during execution, whether through dialogue or geometric reasoning, and keep these changes even after the robot is powered off. Since Ontologenius was developed to be used by a robot which interacts with humans, we have endowed the system with ability to perform attributes and properties generalization and with the possibility to model and estimate the semantic memory of a human partner and to implement theory of mind processes.

This paper presents the architecture and the main features of Ontologenius as well as examples of its use in robotics applications.

I. INTRODUCTION

If we envision the daily use of cognitive and interactive robots, we must be able to design a system that will be able to deal with intricate environments, to perform complex tasks, to learn through interaction and to run without stopping for hours. Moreover, we have to assume that the robot users could be a naive which calls for the ability to gather knowledge incrementally through interaction and collaborative problem solving. In addition, after stop, the robot should be able to restart with the knowledge accumulated from previous interactions. Finally, we must take into account that the on-board robot computing power is limited and that resources provided by the network which could be used to overcome this limitation can be interrupted. Consequently, the software must be designed according to these constraints.

We propose a way for the robot to acquire new knowledge during interaction and a software to store and to access this knowledge in the framework of long-term interaction [START_REF] Leite | Social Robots for Long-Term Interaction: A Survey[END_REF]. In this paper, we focus on the representation of semantic knowledge by taking inspiration from long-term human memory structures coming from cognitive psychology models. We consider only the representation of the recollection of facts and general knowledge and not the recollection of previous experiences which would be the next step of our work.

The resulting software is Ontologenius, a lightweight open-source ROS-compatible software which enables to store semantic knowledge, to explore it efficiently and to reason about it. Ontologenius makes it possible to share this semantic knowledge among all the components of a robotic *The research leading to these results has received funding from the European Unions H2020 programme under grant agreement No. 688147, MuMMER http://mummer-project.eu/ 1 Authors are with LAAS-CNRS, Université de Toulouse, CNRS, Toulouse, France firstname.surname@laas.fr architecture thus enabling a uniqueness of knowledge. Additionally, Ontologenius allows to deal with several distinct knowledge bases, corresponding to the knowledge of the robot and the estimated knowledge of its human partners, while taking into account the notion of basic common knowledge. This feature enables the robot to reason about several distinct perspectives and to develop theory of mind capabilities.

We will first define the context of this work with relation to cognitive psychology and cognitive architectures. We will then discuss the choice of using an ontology before presenting the design choices and functionalities of the Ontologenius software. The last sections are dedicated to the evaluation of its performance and to illustrative examples of its use.

II. BACKGROUND

Long-term memory (LT M ) refers to memory that involves the storage and recall of information over a long period of time: "lasting days, weeks, and, in some cases, even a lifetime" [START_REF] Bailey | Toward a molecular definition of long-term memorystorage[END_REF]. There is no consensus about memory organization and several models have been proposed. Squire's model [START_REF] Squire | Memory systems of the brain: A brief history and current perspective[END_REF] divides LT M in two subparts, declarative memory (which allows a "conscious recollection about facts and events") and non-declarative memory ("is expressed through performance rather than recollection"). He also specifies declarative memory as semantic memory and episodic memory. Tulving's model [START_REF] Tulving | Organization of memory: Quo vadis[END_REF] defines episodic memory as memory of past experienced events ("remembering") and semantic memory as the encyclopedic memory independent of the memory of the context of acquisition ("knowing").

He also defines "an SP I model of relations between these systems such that encoding into semantic and episodic systems is serial (S), storage is parallel (P), and retrieval is independent (I). Given some minimal registration of the occurrence of an event, that event may only be stored in the semantic system. Given more attention at encoding and more conscious control, the event may be further encoded into episodic memory. Events may be stored in both systems but retrieved independently from them." [START_REF] Byrne | Learning and memory: a comprehensive reference[END_REF]. This theory can not be proven and must therefore be taken as [START_REF] Tulving | Organization of memory: Quo vadis[END_REF] "an explicit starting point for a more systematic pursuit of what is clearly the next problem that needs to be tackled". Based on the SPI hypothesis, we will consider that episodic memory is dependent of semantic memory and that semantic memory is the first building block of declarative memory as shown in Figure 1.

Fig. 1: Relations between episodic memory and semantic memory according to the SPI (Serial, Parallel and Independent) model of [START_REF] Tulving | Organization of memory: Quo vadis[END_REF]. We consider that episodic memory relies upon semantic memory and that semantic memory is the first building block of declarative memory.

A. Cognitive Architectures

Cognitive Architectures (CA) have been developed to design and implement autonomous agents. The purpose can be to perform complex tasks [START_REF] Lemaignan | Artificial cognition for social humanrobot interaction: An implementation[END_REF], as manipulation and planning [7] [8], to reproduce human behaviors, as social emotion and creativity [START_REF] Samsonovich | Intellectual Agents Based on a Cognitive Architecture Supporting Humanlike Social Emotionality and Creativity[END_REF], to understand verbal and nonverbal feedback [START_REF] Cahya | Towards a cognitive architecture incorporating human feedback for interactive collaborative robots[END_REF], etc (see [START_REF] Ye | A Survey of Cognitive Architectures in the Past 20 Years[END_REF] for a survey of the most recent ones). Knowledge representation among all these architectures as well as underlying models of memory are heterogeneous. ACT-R [START_REF] Anderson | The Atomic Components of Thought[END_REF] uses a long term production memory with a declarative module; Casimir [START_REF] Schultheis | Casimir: An Architecture for Mental Spatial Knowledge Processing[END_REF] only mentions a long term memory; Cerebus [START_REF] Horswill | Cerebus: A Higher-Order Behavior-Based System[END_REF] implements a semantic net; CoJACK [START_REF] Evertsz | Populating VBS2 with Realistic Virtual Actors[END_REF] uses declarative chunks; DSO-CA [START_REF] Pan | A cognitive system for adaptive decision making[END_REF] uses an episodic module; EPAM [START_REF] Richman | Simulations of Classification Learning using EPAM VI[END_REF] specifies a long term memory as a procedural and declarative memory; SOAR [START_REF] Laird | SOAR: An architecture for general intelligence[END_REF] splits the long term memory into a semantic network, a past experience memory and a procedural memory; KnowRob [START_REF] Beetz | Know Rob 2.0 A 2nd Generation Knowledge Processing Framework for Cognition-Enabled Robotic Agents[END_REF] implements a semantic network (as an ontology) and collections of episodic memory; [START_REF] Lemaignan | Artificial cognition for social humanrobot interaction: An implementation[END_REF] uses a symbolic facts and beliefs management as an ontology [START_REF] Lemaignan | ORO, a knowledge management platform for cognitive architectures in robotics[END_REF]. We nevertheless notice that the notions of long-term memory, declarative memory and semantic network are found in most of these architectures.

III. RATIONALE

We aim to develop a system, for robotic applications, to represent and deal with knowledge stored in what is called long-term memory (LT M ) in cognitive psychology. In this paper, we will present a first step toward this goal with the implementation of what can be compared to a semantic memory. The development of a system that can be compared to an episodic memory, such as [START_REF] Mealier | Narrative Constructions for the Organization of Self Experience: Proof of Concept via Embodied Robotics[END_REF], would then be a second step for future work since we consider semantic memory as a building block for the declarative system.

The choice of the representation has been driven by several models. Collins and Quillian [START_REF] Collins | Retrieval time from semantic memory[END_REF] proposed to model semantic memory as a hierarchical semantic network where the network nodes are the stored concepts and the links are inclusion relationships. This first model was later developed to no longer consider the semantic network purely as a hierarchical tree but just as a relation network [START_REF] Collins | A spreading-activation theory of semantic processing[END_REF]. This arrangement allows, among other things, to take into account the notion of specificity of certain examples among a category of concept, such as the fact that a kiwi is a kind of bird which cannot fly. We have selected this semantic relation network representation.

To store it, we have chosen to develop an ontologybased system. Ontology description has already been largely formalized with XML syntax and ontologies are widely used in e.g. semantic web [START_REF] Berners-Lee | The Semantic Web[END_REF]. The use of this formalism allows us among other things to directly load ontologies from Internet. This facilitates the extension of the knowledge base of the robot by sharing knowledge bases between artificial agents (as allowed by Open-EASE [START_REF] Beetz | Open-EASE[END_REF] with its sharing of procedures). In addition, research has been undertaken to standardize ontologies for robotics [START_REF] Schlenoff | An IEEE standard Ontology for Robotics and Automation[END_REF]. Although this notion of semantic network is found in several Cognitive Architectures such as Cerebus [START_REF] Horswill | Cerebus: A Higher-Order Behavior-Based System[END_REF], Soar [START_REF] Laird | SOAR: An architecture for general intelligence[END_REF] and KnowRob [START_REF] Beetz | Know Rob 2.0 A 2nd Generation Knowledge Processing Framework for Cognition-Enabled Robotic Agents[END_REF]. Cerebus and Soar do not use ontology. KnowRob is an ontology-based system but, as far as we know, does not include the estimation of the knowledge of another agent. The software closest to our work is ORO [START_REF] Lemaignan | ORO, a knowledge management platform for cognitive architectures in robotics[END_REF] used in [START_REF] Lemaignan | Artificial cognition for social humanrobot interaction: An implementation[END_REF]. We bring some new features, such as generalization, reasoners as plugin modules and the management of set of distinct knowledge bases, as it will be explained in the next sections.

IV. DESIGN AND FEATURES

One design question if we envision an ontology-based system is whether to store the knowledge base remotely (and access it through web-services as it is done in the Semantic Web Domain) or locally. The use of web clients can bring many benefits such as virtually unlimited storage space and a computing power well beyond the one embedded on a robot. In addition, this would make possible to share or exchange knowledge between several robots. However, it brings also several security issues [START_REF] Denning | A Spotlight on Security and Privacy Risks with Future Household Robots: Attacks and Lessons[END_REF] and it means a total dependence on networks accessed through Internet, which can lead to slowdowns. We have made the choice to store and manage our knowledge base locally on the robot because we consider important to be able to access this knowledge anytime and to answer requests at high rate (thousand requests per second). Nevertheless, our system allows to get ontologies from the Internet and to add them to the knowledge base.

An interesting feature presented in [START_REF] Collins | Retrieval time from semantic memory[END_REF] is the concept of generalization. Collins took the example of the generalization that birds can fly, which allows us to deduce that "a canary can fly" or that other birds, although unknown, can fly. This feature can help knowledge acquisition and reduce the amount of data to be recorded. However, the addition of this feature calls for several design changes. While conventional ontologies only apply properties to individuals, we need to be able to apply properties to classes to represent generalization (i.e. we need to be able to encode that "a bird can fly" and not only that "a canary can fly"). Then, we need also to take into account that a property that applies to a class, may be wrong for one individual, even if it is part of the class (e.g. a kiwi is a bird but cannot fly). Finally, if we enable the system to deduce and generalize facts, e.g. by presenting several individuals with the same property the system will deduce that this property applies to the class, we must have in mind that this can be wrong. We have chosen to make a distinction between the knowledge that has been deduced and the knowledge that has been acquired by other means. This opens the possibility for the robot to question some part of its knowledge whenever it is possible (e.g. by asking its human partner if something that has been generalized is true or not).

Another feature needed in a human-robot interaction is theory of mind management. Theory of mind is the ability "to conceive of mental states: that is, knowing that other people know, want, feel, or believe things" [START_REF] Baron-Cohen | Does the autistic child have a theory of mind ?[END_REF]. To do so, our system would need to represent and reason about the (semantic) knowledge of the other agents. ORO software [START_REF] Lemaignan | ORO, a knowledge management platform for cognitive architectures in robotics[END_REF] already offered this functionality but stored the knowledge in a unique ontology. We have made the choice to store the estimation (by the robot) of each agent knowledge in a dedicated ontology file (one ontology file per agent), which enables to load it again for future interaction. This choice refers to the concept of "self-other distinction" according to which "for shared representations (...) to foster coordination rather than create confusion, it is important the agents be able to keep apart representations of their own and other's actions and intentions" [START_REF] Pacherie | The phenomenology of joint action: Self-agency vs. joint-agency[END_REF]. In addition, we offer the possibility to load at first a basic knowledge base, which could represent common ground.

V. ARCHITECTURE Fig. 2: Ontologenius Software Architecture.

The Ontologenius architecture is divided into three major modules as shown in Figure 2: the long-term storage module (permanent and temporary data), the knowledge base exploration module (transient data) and the reasoning module (plugins). Ontologenius core and API have been developed and is available in C++14. In addition, a full ROS interface is available (with support from ROS Kinetic to Melodic).

A. Semantic nodes

A semantic node is the lower data structure in Ontologenius. Each concept of the knowledge base is represented with a semantic node. We distinguish four types of nodes: individuals, classes, data properties and object properties. Each node has a set of pointers to the concepts with which it is linked. For example, the "canary" concept has a pointer to the "bird" concept among its list of inherited concepts. The set of concepts is then seen as a semantic network.

A new relation to a node can have three different labels: A semantic node is defined by a unique identifier in the form of a string of characters and an other unique identifier in the form of an integer. The first one allow to find a node using the name of the concept will the second allow a fast comparison of nodes. In addition, a dictionary is available for each node to link this identifier to its natural language expression. To do so, the dictionary links several strings of characters to a given identifier (and dedicated concept). For example, the concept "cup" can have the identifier "obj24 cup" and have the dictionary "en:"cup, goblet", fr:"tasse, gobelet", es:"taza"". At launch or during execution, a working language can be chosen. In that case, the search for an identifier can take advantage of the dictionary. For example, working in french and looking for a "tasse", Ontologeniuswill find "tasse" in the french dictionary of the node "obj24 cup" and will send back this identifier. This choice has a positive impact on performance which will be presented in section VI. It should be noted that a same verbalization might be used for several concepts, it is quite admitted and even makes it possible to highlight a possible ambiguity that can be removed thanks to other semantic characteristics of similar concepts.

B. Long-term storage

Long-term storage falls into two storage strategies depending on whether Ontologenius is running or not. Out of operation, it is realized using Ontologies OWL files with XML syntax. These files can be stored locally on the robot or on a remote server. At Ontologenius startup, a list of ontology files specified by the user are loaded. When loaded, the concepts described in the files are converted into nodes and organized into nodes containers. The nodes containers are composed of a map for which the keys are the identifiers of the nodes and the values are the nodes themselves. The use of a map provides the complexity of finding an identifier in a container in log2 (n). The knowledge base exploration algorithms can thus perform a recovery of the work nodes from their identifiers and propagate in the semantic network through the relations links.

C. Reasoning modules

Ontologenius provides reasoning algorithms based on firstorder logic. Among them, we find the resolution of symmetric properties, chained properties or inverse properties. Thanks to a plugin mechanism, the user can control which reasoners are used for his applications during execution, removing or adding new ones. As it will be illustrated in section VII-B, we have used this mechanism to implement the data property generalization and to enrich the dictionaries of the nodes by proposing different syntaxes for the same words in natural language. VI. COMPUTATIONAL PERFORMANCE Since Ontologenius was developed for embedded robotic applications, the performance of our software has been an important evaluation criterion. In addition to the measurement of CPU time under nominal conditions, we look at the evolution of CPU times in the case of large-scale knowledge bases (large-scale ontologies). All measures were done using Ontologenius as a server and creating clients using the C++ API. This means that the measurements presented include also interprocess communication times due to the use of ROS, representing its effective use in a robot software architecture. All the results presented in this section were obtained with Ubuntu 16.04 and ROS Kinetic with an Intel Core i7-7700 processor at 3.60 GHz.

For each test case and for both software, the knowledge base was first emptied and then completed by inserting the concepts one by one using the provided API. These steps were repeated for each load level. This means that the inserted concepts have no human meaning but emulate a load of knowledge at the software level.

As presented in the architecture section, a concept is identified by a unique identifier but may also have several verbalizable strings of characters. These words in natural language make it possible to interface between the internal representation of the robot and that of the human with which it interacts. This need for understanding words in natural language is necessary only infrequently with respect to the frequency of manipulation of the internal concepts of the robot. As a result, the recovery time of a concept by its identifier must be as short as possible while the recovery time of a concept by one of its names in natural language can cope with an additional delay. Figure 3 indicates the average recovery time of a concept by name and identifier based on the number of concepts loaded in the knowledge base of the robot. While the recovery time increases with the number of concepts loaded, the recovery time by identifier remains somewhat stable around 0.04 ms per recovery and that even with 450,000 concepts in the knowledge base. These results were obtained by pre-inserting the N concepts into the ontology and then searching each of them by name and identifier three times each. The mean times presented here are therefore an average of 3N queries. The fact to query each of the N concept each time makes it possible to be sure to get away from the order of the concepts in the internal data structures and thus have an average value regardless of their position. Although the shapes of the curves obtained are of course consistent with the search methods used (search in a map and in a list), we can still compare here the orders of magnitudes of each of the two methods.

As mentioned above, the ORO software is the one that comes closest to our work regarding the objectives and has been a source of inspiration for our work. To evaluate the performance of Ontologenius during queries on the knowledge base we have therefore taken the evaluations proposed in [START_REF] Lemaignan | ORO, a knowledge management platform for cognitive architectures in robotics[END_REF] as well as the corresponding ontologies. Figures 4, 5 and6 present the results for ORO and Ontologenius software for three types of requests of different complexity and depending on the number of concepts present in the knowledge base of the robot. All the tests for both software were done on the same machine and with the latest versions of the software available online. Both software were used as servers and each of the test clients use the provided C++ APIs.

It is important to note that ORO was not developed with the objective of being efficient in performance which explains the important differences that we will present. Nevertheless, it is the software with the paradigm closest to ours and therefore the most intersting with which we can compare ourselves. These results show a better performance for Ontologenius ranging from a factor of 4.33 for the resolution of logical properties to a factor of 267.7 for the resolution of conjunction queries. We also note that the ORO software could not be tested beyond 10,000 concepts loads given the rise of an error beyond. In spite of a progressive increase of the CPU time in function of the number of concepts loads, Ontologenius has continued to function even with 450,000 concepts loads. For the moment, we have not yet determined the limit from which Ontologenius is no longer usable.

The results presented here therefore demonstrate the usability of Ontologenius for online applications, even with large-scale knowledge bases.

VII. APPLICATIONS EXAMPLES

We briefly describe herebelow four test-cases. These four scenarios are available in a simplified version (i.e. no robot needed) in tutorials available on the Ontologenius website1 .

A. Who is the intruder?

In this game, three cards, each illustrating a concept, are presented to a player (e.g. a horse, a dog and a robot). The goal is to find the intruder (e.g. the robot) and to give an explanation (e.g. a robot is not an animal).

In our implementation, we present to the robot at least three cards, each one illustrating a concept (an individual from an ontology). From its knowledge base2 the robot must find the concepts having the least relation with the others and explain to the human the reasons of its choice. This example illustrates the search for information through the inheritance contained in the knowledge base. The interest of this scenario is to show that it is possible to look for the most pertinent answer to give to the human partner. This scenario was implemented with the Pepper robot and the use of an AR tag perception module 3 . The identifiers of the tags are mapped with the identifiers of the concepts. The response of the robot is done verbally with the Pepper text to speech module. Fig. 7: Inheritance relations of the concepts "Bob", "Kevin" and "Pr2". The class "agent" (*) represents the common point between the three concepts.

In the video, we show the robot the concepts "Bob", "Kevin" and "Pr2". As represented in Figure 7, Bob and Kevin are described as being men. A man is described as being a human and a human being as a type of agent. PR2 is described as being a robot and a robot is also a type of agent (being the common point between the three concepts). The robot then responds that the intruder is Pr2 given that the others are humans. Through the exploration of the knowledge of the robot we have been able to determine that it is more relevant to notify that Pr2 is not a human rather than to notify that he is not a man.

B. Do the birds fly?

This scenario corresponds to the example of [START_REF] Collins | Retrieval time from semantic memory[END_REF] to present the concept of generalization. In this scenario, we first introduce to the robot three birds that can not fly. We then introduce a new bird, bird B, with no information on its ability to fly and ask the robot if this new bird could fly. Due to the generalization process, Ontologenius estimates that birds (the class) can not fly, so the robot responds that bird B can not fly. Fig. 8: The three birds b1, b2 and b3 are described as unable to fly (circles). The concept "bird" and bird B are then considered (---) as not being able to fly.

In a second time, we present to the robot eight new birds able to fly and ask again to the robot if the bird B can fly. This time, the robot responds that bird B can fly. As Ontologenius knows only three birds that can not fly and eight that can do so, it has changed its estimates of the ability of birds to fly.

Here the threshold of generalization is of 60% but this is configurable in the plugin of generalization. This explains why we have to add eight flying birds after teaching three who can not fly. Fig. 9: The eight birds b3 to b10 are described as able to fly (square boxes). The concept "bird" and "bird B" are then now considered (---) as being able to fly.

If the robot is switched off and on again the twelve birds will still be known to the robot and bird B will still be considered capable of flying. Although the robot has deduced that the general bird concept can fly, birds 1 to 3 are always considered as not being able to fly. These are special cases. This scenario was implemented with an Amazon Echo TM with Alexa to add new knowledge to Ontologenius and query it verbally. It can be used to extend the examples presented with the human-robot interactive learning architecture of Angleraud et al. [START_REF] Angleraud | Human-Robot Interactive Learning Architecture using Ontologies and Symbol Manipulation[END_REF] in which a human teaches a robot that spaghetti are pasta so that the robot infers how to cook them knowing how to cook pasta.

C. Find your way

To describe the topography of a place such as a shopping center, a topological graph is the most appropriate representation. However, when we want to add semantic information such as the types of stores or the items they sell, the use of an ontology becomes relevant. To avoid having several representations for the same environment according to the algorithm used, we illustrate with Ontologenius that it is possible to represent the topology of an environment as well as the associated semantic information in an ontology [START_REF] Sarthou | Semantic Spatial Representation: a unique representation of an environment based on an ontology for robotic applications[END_REF]. In addition to topological and semantic information, we have shown that it is possible to represent the geometric relationships between elements of the environment. These geometric relationships allow us to provide all the information necessary to generate a route description speech using a route perspective and referring to landmarks based on the estimated future position of the guided human. A basic description of a place would look like follow: Ontologenius-based path search and verbalization algorithms have been tested in a shopping center [START_REF] Foster | The MuMMER Project: Engaging Human-Robot Interaction in Real-World Public Spaces[END_REF], [START_REF] Waldhart | Reasoning on Shared Visual Perspective to Improve Route Directions[END_REF] that has been described in an ontology of more than 550 concepts (see Figure 10). In this ontology, we have represented the stores, their types, the items they sell and the geometric relationships between stores. The search algorithm was able to determine 20 different routes from point A to point B by analyzing 129 paths in less than 200 ms. Thanks to the performances provided by Ontologenius, although the representation is not directly dedicated to search algorithms we noticed that the CPU times using a purely semantic representation of an environment are quite acceptable for a human-robot interaction.

D. Providing basic mechanisms for Sally&Anne test

Sally & Anne test [START_REF] Baron-Cohen | Does the autistic child have a theory of mind ?[END_REF] is used in developmental psychology to assess, in social cognition, the ability of a child to understand that someone else has mental states different from his own. Our robot control architecture has been designed to integrate the associated observation and situation assessment abilities [START_REF] Sisbot | Situation assessment for humanrobot interactive object manipulation[END_REF], [START_REF] Milliez | A framework for endowing an interactive robot with reasoning capabilities about perspective-taking and belief management[END_REF], [START_REF] Lemaignan | UNDERWORLDS: Cascading Situation Assessment for Robots[END_REF]. The symbolic level reasoning can be implemented using Ontologenius. To do so, we create an Ontologenius instance to represent Sally's semantic knowledge, one for Anne's and one for the observer (the robot) as shown on Figure 11. First of all, the three knowledge bases are loaded with a common ground that is at least knowledge of the existence of both containers, the ball and some geometric properties like "is in". When Sally puts the ball in the first container while Anne is present at time t1, Fig. 10: Robot describing a route to a human in a mall using algorithms based on Ontologenius. The sentence in green is the explanation of the route verbalized by the robot and generated using the semantic representation stored in Ontologenius: "just go down the corridor and then go almost at the very end of this corridor and it's on the left when you walk". "ball isIn container 1" is put into in Sally's knowledge base as well as Anne's and the robot's knowledge base. When Anne moves the ball into the second container while Sally is away at time t2, only Anne's and the robot's knowledge are updated with "ball isIn container 2".

Ontologenius provides specific queries. For example, it is possible to ask Ontologenius about the difference of knowledge regarding "ball" between Sally and the robot. Using the Ontologenius API, we typically query a specific knowledge base by accessing an instance by name (e.g. kb["sally"]).

To ask questions about a difference in knowledge, we can use the API at a higher level with the getDif f erence function (ie getDifference("sally", "robot", "ball")). In that case, Ontologenius will return: [+]ball|isIn|container 1, [-]ball|isIn|container 2. This can be read as the fact that "ball isIn container 1" is present in the Sally's base and not in one of the robot and that the fact that "ball isIn container 2" is not present in Sally's base while it is in the robot's. The difference of knowledge between Anne and the robot about the ball gives an empty result which means that there is no difference of knowledge. Ontologenius helps to detect divergence of beliefs between agents and so could be used in application where theory of mind management is needed. However, it is impossible for Ontologenius to affirm which of the knowledge bases contains the field truth. This must come from a higher level interpretation.

VIII. CONCLUSIONS

In this paper, we have presented Ontologenius, a semantic knowledge processing software for robotic applications. Ontologenius is a server based on ROS for an easy deployment on various robotic platforms. It maintains several knowledge bases, one for each agent interacting with the robot while running background processes such reasoning and knowledge manipulation processes independently for each knowledge base. Ontologenius allows the addition of external ontologies from the Internet and the long-term safeguarding of the robot Fig. 11: Insertions of different knowledge about the position of the ball between the knowledge bases of several agents. accumulated knowledge. Since Ontologenius defines names that can be verbalized for each concept, it is suitable for verbal interactions either to add knowledge or to query the ontology. With the ability to apply properties to ontology classes, Ontologenius offers the possibility to perform reasoning, such as generalization, which allows to estimate new knowledge.

Ontologenius' evaluation (regarding both temporal performance and the amount of data it can store and manipulate) demonstrates its on-line usability in semantically rich environments.

Even though Ontologenius is aimed to be low level to guarantee high performance, the ontologenius query 4 ROS package allows to query the knowledge base using SPARQL queries, though this may degrade its performance.

In summary we proposed and discussed the main features of a module that can be assimilated to a semantic memory for robots as a basic component of its declarative memory. From this basis, we will now consider the development of a software dedicated to the storage and manipulation of the episodic knowledge of a cognitive and interactive robot. In this future work, the memory aspect over the long-term should be at the center of the software architecture to take into account both the storage space limit of a robot that the activation and the recovery time of a distant memory.

•

  Steady: A steady relation is a relation inserted in the knowledge base by another component of the robotic architecture. It is a relation that can not be removed or altered by an internal Ontologenius process. • Inf erred: An inferred relation has been inferred from steady relationships and/or inferred relations through first-order logic reasoning. It is a relation which cannot be removed or altered by an internal Ontologenius estimation process. The inferred relations are not stored in the permanent data structure when Ontologenius is powered down, as they can be inferred again. This allows a storage gain. • Estimated: Unlike the inferred relations which are necessarily true with respect to the rest of the knowledge base, the estimated relations come from reasoning not relying on first order logic. Such relationships can then be false. This is the case of relations resulting from the mechanism of generalization. Estimated relations are the only relation which can be removed or altered by an internal Ontologenius process.

Fig. 3 :

 3 Fig. 3: Comparison of the recovery time of a concept by name and identifier.

Fig. 4 :

 4 Fig. 4: CPU time of inheritance query according to the number of individuals described in the ontology for ORO and Ontologenius.

Fig. 5 :

 5 Fig. 5: CPU time of logical properties query according to the number of individuals described in the ontology for ORO and Ontologenius.

Fig. 6 :

 6 Fig. 6: CPU time of conjunction query according to the number of individuals described in the ontology for ORO and Ontologenius.

  <owl : N a m e d I n d i v i d u a l r d f : a b o u t =" B u r g e r K i n g "> <r d f : t y p e r d f : r e s o u r c e =" r e s t a u r a n t "/ > <X : i s I n F r o n t O f r d f : r e s o u r c e =" E s p r e s s o H o u s e "/ > <X : i s A l o n g r d f : r e s o u r c e =" K e s k u s p u i s t o "/ > <X : h a s A t R i g h t r d f : r e s o u r c e =" Rax"/ > <r d f s : l a b e l xml : l a n g =" en">B u r g e r King </ r d f s : l a b e l > </owl : N a m e d I n d i v i d u a l >

https://sarthou.github.io/ontologenius

https://github.com/sarthou/ontologenius/blob/master/ files/tutorials/tutorial 1.owl

[START_REF] Squire | Memory systems of the brain: A brief history and current perspective[END_REF] https://www.youtube.com/watch?v=JHnTmE_ib-M

https://sarthou.github.io/ontologenius query


Amandine Duterme
email: amandine.duterme@cea.fr

Marc Montuir

Binh Dinh

Julia Bisson

Nicolas Vigier

Pascal Floquet

Xavier Joulia

New Methodology for Bias Identification and Estimation -Application to Nuclear Fuel Recycling Process

Keywords: simulation, nuclear fuel treatment, data reconciliation, bias estimation

come   L'archive ouverte pluridisciplinaire

Introduction

A measurement intrinsically possess uncertainty that prevents straightforward closure of mass and energy balances. In the data reconciliation (DR) methodology, accuracy is given to the measurements by exploiting redundancies in process data and physical constraints, from steady-state mass balances [START_REF] Simpson | An efficient algorithm for mineral processing data adjustment[END_REF] to nonlinear dynamic constraints [START_REF] Liebman | Efficient data reconciliation and estimation for dynamic processes using nonlinear programming techniques[END_REF].

There are two main approaches to dealing with gross errors that impact DR. The first uses Gross Error Detection and Identification (GEDI) methods [START_REF] Narasimhan | Data reconciliation and gross error detection: an intelligent use of process data[END_REF] and sequentially deletes the biased variables from the DR. The redundancy, which implies the ability of DR to correct the measurements in order to satisfy the process constraints, is reduced. However, performances of DR and GEDI are still limited in disrupted cases, such as multiple flows between two units, numerous gross errors, and the position and magnitude of gross errors [START_REF] Corderio | Collection of benchmark test problems for data reconciliation and gross error detection and idetnficaition[END_REF]). The second approach, not discussed in this study, modifies the objective function of DR to mitigate the effect of gross errors (Fuente, M.J. et al. 2015).

A new methodology for a nonlinear system is proposed here, combining the DR approach, based on a simplified model, and simulations, based on a first-principle model. It prevents the removal of the biased variables from the measurement set. The bias estimation is performed by the rigorous model, which enables the maximum redundancy to be kept. With a set of consistent input data generated by DR, the simulation can precisely estimate key indicators.

Methodology

Graph theory can be used to classify data in order to distinguish observable (measured or calculable) data from non-observable data. Among observable data, three categories can be defined: redundant data (deleting this measurement does not change the system observability), non-redundant and measured data, non-measured data. The redundant data are reconciled.

The n measurement vector X B is linked to the true value of the measured variables X T , the random error ε B (assumed to be independent, with a zero mean and normally distributed), and the gross error B, here, the bias, by the following equation:

B T B X X B     (1)
Data reconciliation consists of minimizing an objective function constrained by a set of constraints f:

1 , ( ( ) ) (( ) )
. . ( , ) 0

R B R T B R XB R Min X B X V X B X s t f X        (2)
where X R is the n reconciled values vector, V the (n,n) covariance matrix of the measured data, and θ the parameters of the system. X R are the best estimates of process variables, in the sense of the maximum likelihood. A study of the redundant variables, depending on the process topology and the number of independent equations, enables the determination of the ability of the DR to calculate a consistent set of reconciled data.

A global approach is to solve the DR with the rigorous model as constraints and simultaneously estimates the reconciled values X R and the biases B. In most industrial applications, the entire first-principle model of the process, named rigorous model thereafter, cannot be directly used as the constraints f for the DR. This is generally due to implementation difficulties, such as code interfaces, and complex numerical estimation of the gradient of the constraints. The methodology proposed performs bias estimation outside the DR by an iterative strategy. It divides the problem into two sub problems: the rigorous model estimates the biases while the DR solves Eq. ( 2), in regards of X R only, with a reduced model as constraints. This simplified model is made up of a selection of linear and nonlinear equations specially chosen in order to exploit all information available from the measurements. In particular, it contains the total mass balance and, depending on the case study, some partial mass balances and equations for the calculation of physical properties and fluid phase equilibria.

Figure 1 displays the new methodology. First, a map of the process (list of fluxes, units, sensors, uncertainties etc.) is built offline to generate the redundancy graph. The second step makes use of process expertise to identify bias locations, concerning measurements on internal or output fluxes. An initial simulation, based on the rigorous model, with input fluxes raw measurements Xin B as input data, gives a first estimation for the biases B C(0) . As regards the vector of the calculated bias B C , each element is null except for the identified biased output variables. These elements are equal to the difference between the biased measurements Xout B and the rigorous simulation calculated outputs Xout C .

The DR is then solved iteratively with respect to X R only, the values of biases B C(i) being considered fixed. Therefore, the process redundancy is unreduced by biases. To solve the nonlinear steady-state DR problem, this study uses the Fmincon function of Scilab software. The uncertainty for reconciled values is estimated at each DR solution by uncertainty propagation [START_REF] Narasimhan | Data reconciliation and gross error detection: an intelligent use of process data[END_REF].

Case study

The methodology proposed in this paper is applied to the PUREX process and uses the PAREX simulation code developed and validated by the CEA [START_REF] Dinh | Treatment and recycling of spent nuclear fuel, monograph of CEA DEN, the PUREX process separation and purification operations[END_REF]. This process carries out the treatment of spent nuclear fuel. Spent fuel contains the elements of interest, uranium and plutonium, and the waste, i.e. fission products. TBP (tributylphosphate) is the extractive molecule used to recover and purify uranium and plutonium through interconnected liquid-liquid extraction steps. For the final products, very specific features in terms of purity as well as extraction efficiency are required. In order to reach the necessary high performances, the metal loading of the solvent (metal mass flowrate in the solvent for a specific TBP mass flowrate) must be precisely controlled. This ratio is a sensitive parameter which deeply impacts the process state [START_REF] Bisson | PAREX, a numerical code in the service of La Hague plant operations[END_REF]. Therefore, DR aims to reduce uncertainty on this key process indicator by giving reliable input data to the rigorous simulator PAREX. It is based on first-principle models notably taking into account the partitioning of the species, the transfer, and chemical kinetics.

This study deals with an extraction-stripping step of the PUREX process where many sensors are implemented, and can be separated into two categories. Major consideration is given to a specific set of sensors essential for operation, control, and to respect the safety regulations (multiple sensors, regular checking, preventive maintenance, etc.).

They are listed as reference information for the industrial plant. The secondary sensors are not used for process control or for industrial safety. They give additional information, increasing redundancy, which can help process state estimation. Some of this additional data can have biases non-detectable with previously-acquired data. A scenario is defined in order to encounter identified causes of GEDI performance loss [START_REF] Corderio | Collection of benchmark test problems for data reconciliation and gross error detection and idetnficaition[END_REF]: the biases concern flows connecting the same two units, and their suppression leads to the system being non-redundant.

The initial graph of the PUREX process (Figure 2a) contains information about flows (directed arcs) and units (nodes). The redundancy graph (Figure 2b) is free of internal non-measured physical quantities: arcs depict constraints linking measurements of interest from one unit to the other. The measured variables used in the DR problem are volumetric flowrates, densities for each arc, temperature, and uranium, plutonium, nitric acid and TBP composition for specific arcs. The six identified biases are all located on internal and output flowrates measured by secondary sensors. For the classical GEDI methodology, each time a bias is detected, the redundancy decreases [START_REF] Narasimhan | Data reconciliation and gross error detection: an intelligent use of process data[END_REF]. The bias removal graph (Figure 2c) shows this loss of redundancy: DR cannot be applied on the aggregated node (IV+V+VIII+X+XI+XII), as only the calculation of the biases on output flowrates is possible in this scenario. In addition, classical GEDI techniques cannot locate a bias within two-way arcs between two units, such as between IV and VIII.

Results

The first bias estimation B C(0) was obtained by the comparison between measured internal and output flow-rates and the initial PAREX calculation. Four iterations were needed to obtain consistent bias estimations B C and the minimum of the objective function. As soon as all biases can be considered constant, the iterations stop (|B C(4) -B C(3) |< α, with α = 10 -4 the tolerance of the convergence criterion). Note that the bias values are considerably higher than the measurement uncertainty in this scenario; therefore their contribution must be isolated.

All redundant data (80 variables), biased and unbiased, are reconciled. Figure 3 displays the differences ΔXout B-R between some of the measured Xout B and reconciled Xout R values and their corresponding uncertainties. The differences ΔXout B-C(0) and ΔXout B-C between the measured Xout B and, respectively, initial Xout C(0) and final Xout C PAREX values, are also laid out.

The differences ΔXout B-C(0) result from input measurement uncertainty. For flowrate A7, flowrate O4, and density A8, the reconciled values are closer to the PAREX calculations than the measured values, highlighting the consistency of the final data set. Moreover, the uncertainty of the reconciled values is smaller than the measurement uncertainty. Concerning density A8 and density O6, the uncertainties of the reconciled values are very small and surround the reconciled and calculated values. These densities are linked to uranium and plutonium concentrations through a density equation. The analytical concentration measurement methods are more precise than the density sensors. Thus, the uncertainty propagation through the constraints enables the Xout R to be more precise.

Concerning the other unbiased variables, mostly linked by mass balances, the reconciled Xout R values are only slightly different from the measured Xout B values. The two PAREX simulations give very similar results. This reflects the low sensitivity of these physical quantities to the change in the inputs from measured to reconciled values.

As PAREX input data are reconciled, accuracy is given to process indicators estimation.

For instance, the uncertainty of the TBP mass flowrate is reduced by half (measurement uncertainty: 5.26 %, uncertainty of the reconciled value: 2.81 %). The uncertainties of uranium and plutonium mass flowrates are also reduced (from 2.8 % to 2.0 %), which leads to a better estimation of the metal loading in the solvent.

Conclusions

In classical GEDI methods, each bias decreases the redundancy of the system. The new methodology is based on nonlinear DR in which the biases are fixed and estimated by a rigorous model, with the reconciled values as input data. Therefore, the redundancy is not modified. For the bias estimation to be precise, the rigorous code and the DR iterate until the bias values offer a consistent set of reconciled data. This methodology enables explicit and inexplicit constraints for a DR problem to be addressed.

The proposed methodology was applied with success to a spent nuclear fuel treatment process. As a tool to reduce uncertainty in nuclear matter management within the plant, combining data reconciliation and the PAREX code could help in process monitoring and control.

Figure 1 :

 1 Figure 1: Bias identification and estimation methodology At iteration i, the reconciled values of the input fluxes Xin R(i) are transferred to the rigorous simulator. The reconciled and calculated output flow information, XoutR(i) and XoutC(i) respectively, are compared. If the difference |XoutC-R(i) | between them is smaller than the uncertainties of reconciled data, the DR gives consistent values for rigorous model equations in the case of Lipschitz continuity around the solution. New bias values BC(i) are estimated with the last rigorous calculation. The best estimation of the bias values is reached when the biases between two iterations are constant. If these two criteria are not respected, bias information given to the DR is not satisfactory. The new bias values BC(i) are given to the DR for the next step. The iterations continue until the bias value estimation enables consistent data to be reached. The final DR is performed with fully known bias information, and has a minimal objective function value.

Figure 2 :

 2 Figure 2: Graphs of an extraction-stripping step of the PUREX process.

Figure 3 :

 3 Figure 3: Comparison between measured, reconciled, and PAREX calculated outputs.