Short Abstract Extended Abstract

3 downloads 0 Views 91KB Size Report
Jan 23, 1996 - edge domain, and then we discuss the options we took for the ... We use the Chronicles Gha94] formalism in order to describe a robot's be-.
An ontology for robot modelling and testing L. Yriarte, P. Deplanques, J. Sallantin, R. Zapata LIRMM - UMR 9928 CNRS - Universite Montpellier II 161 rue Ada 34392 Montpellier Cedex 5 FRANCE email: fyriarte, deplanqu, js, [email protected] tel: (33) 67 41 85 85 - fax: (33) 67 41 85 00 January 23, 1996

Short Abstract This paper presents an ontology of robotics, and its use for validation of autonomous mobile robots. The ontology stands on top of a layered architecture, featuring knowledge based systems, simulators and behaviour analysis tools. We expose the comitments made for our representation of the robotic knowledge domain, and then we discuss the options we took for the implementation of the global architecture.

Extended Abstract

Representation issues in robotics

Development, test and validation of embedded systems like mobile robots involve di erent knowledge domains. A robot's physical structure and control software are designed in order to ful ll a given type of missions. Testing the robot's functionalities needs a model of the robot as well as a model of it's nominal environment. Modern robots integrate modules with their own physical resources and control software, making a global validation impossible. Hence, we use ontologies to determine the modelling and validation language. An ontology[GO94] de nes knowledge structure for a given domain. We represent it as a concept hierarchy, with relations de ned on these concepts, instances of the concepts and axioms relating instances and concepts. An ontology of robotics would be helpful for normalization of mechanical and electronic components, as well as control architectures. It can be used to specify fault detection systems, or simulators. A database of components, control tasks or complete subsystems helps modelling di erent versions of a given robot and 1

follow its evolution. When it comes to modelling the robot's behaviour, its ability to perform the missions for which it was designed, there is a need for a representation of its environment and its mission. Making an ontology refering to all entities any robot might encounter in its environment is not reasonable, as concept classi cation would not t for every possible robot. Therefore, our ontology of the environment only contains entities needed to describe in intension the concepts of a given robot's environment. We use the speci cations in the ontologies for :  Modelling a robot's structure and it's nominal environment, with respect to certain ontological commitments.  Simulating the robot speci ed in the previous model.  Validating the robot's nominal behaviour from its simulation, and the simulation from real-scale tests. We use the Chronicles[Gha94] formalism in order to describe a robot's behaviours. When a robot has to be validated, its nominal environment is represented with a set of descriptors speci ed from the ontology. The robot's behaviour is expressed as patterns (Chronicle assignation) matched on the values taken by the descriptors during runtime.

Architecture for robot validation

Each layer of the architecture represents a level of reasoning. Tools at a given level can be used independently or in conjunction with others. Generic

ONTOLOGIES

META LEVEL

MODEL descriptors

Instanciated

AGENTS

simulation

AGENT LEVEL chronicle

SEQUENCE

TRACK

SESSION LEVEL

Figure 1: Global Architecture 

Meta level features ontologies speci ed in Ontolingua[Gru92] for description of generic knowledge about robotics and physical environment. Then, 2





we build a structural model of the robot and its environment by instanciating concepts of the ontology. Ontologies and models are translated into a Prolog knowledge base, allowing reasoning about the structure of the robot, without taking its behaviour in account. Agent level features a multi-agent simulator where agents stand for speci c entities in the above model, for which they de ne a behaviour. The variables used to express the behaviour are called descriptors and are de ned in the robot models. The same descriptors are also used to trace an experiment with the real robot. Session level. A sequence represents the evolution of the robot through a succession of values taken by the descriptors. Chronicles are matched on the sequences (coming from a run or a simulation) in order to extract a set of typical situations from the current test session.

Ontology of robotics

The ontological level is generic to any robot, and features an ontology of robotics, and an ontology of environment. The ontology of robotics sets ve points of view on the domain: Agent assigns a behaviour and a nominal environment to a system, Subsystem sets relations of aggregation and recursive decomposition, Component includes all physical objects, Control holds notions of tasks and software architecture, and Flow relates to transmission of data, motion, energy between tasks and components. Relations on the concepts of this ontology especially include ow transmission, recursive subdivision of components and subsystems, and aggregation. We use this ontology to build a structural model of a given robot. The robot model is an instanciation of the ontology concepts. The ontology of environment features physical notions like geometry, space and time, de ned in[GO94]. The robot environmental model is not an instanciation of these concepts, but features its own concept hierarchy. An instanciation of these concepts speci es a given context for this robot. Since we want ontologies for normalizing robot models, concepts from two di erent robots environmental models must be comparable. In order to do this, concept hierarchies in environmental models are described in intension by attributes from the environment ontology. The concepts in ontology of environment represent notions of dimensions, units or properties, by including the ontologies Physical-quantities, Standard-dimensions and Standard-units.

Use of the ontology in the architecture

The ontologies presented below and the models derivated from are mainly used in : 3



Simulation speci cation : To link the static model to the multi-agent

simulator, each agent is assigned to a Subsystem, for which it associates a simulation function, i.e an expected behaviour, and a set of descriptors used by this function. Descriptors are speci ed from properties on instances, or on relations, that are are likely to evolve with time. Once each agent is associated to a Subsystem, we are able to query the Prolog structural model to re ne the simulation. In order to do so, we use relations of recursive subdivision on subsystems to replace the agent standing for a subsystem by a group of agents. Simulation can also be re ned by adding new descriptors and new agents when new parameters are taken in account.  Behaviour explanation : Chronicles representing either expected or learned behaviours are matched on a set of sequences. We use a classi er based on Galois lattice, LEGAL[Mep92], to group sequences according to chronicles they verify. In order to explain the correlation between chronicles, we focus on the subsystems and properties denoted by the involved agents and descriptors. Descriptors are associated to relevant properties on these systems that have not been tracked yet. These descriptors are used to learn ner chronicles about these systems behaviour. The use we make of ontologies in model-based systems is double: speci cation, and revision. Speci cation is used both for simulation, and real-mode tracking. Behaviour explanation works both on simulation and test, and allows speci cation re nement.

References [Gha94] M. Ghallab. Past and future chronicles for supervision and planning. In J.P. Haton, editor, Proceedings of the 14th Int. Avignon Conference, pages 23{34. EC2 and AFIA, Juin 1994. [GO94] T.R. Gruber and G.R Olsen. An ontology for engineering mathematics. In Fourth International Conference on Principles of Knowledge Representation and Reasoning, Bonn, Germany, 1994. Gustav Stresemann Institut. [Gru92] T.R. Gruber. Ontolingua: A mechanism to support portable ontologies. Technical Report KSL-91-66, Stanford University, Knowledge Systems Laboratory, March 1992. [Mep92] E. Mephu NGuifo. Concept acquisition from similarity based learning. Technical report, Laboratoire d'Informatique, de Robotique, et de Micro-electronique de Montpellier, 1992. 4