A Generic Model for the Design of Multi-Robot Applications

Similar documents
Test Coverage Criteria for Autonomous Mobile Systems based on Coloured Petri Nets

Distributed Database for Environmental Data Integration

Verifying Semantic of System Composition for an Aspect-Oriented Approach

Force/position control of a robotic system for transcranial magnetic stimulation

Implementation of hybrid software architecture for Artificial Intelligence System

A Contribution to Expert Decision-based Virtual Product Development

Enterprise Architecture: Practical Guide to Logical Architecture

Visionet IT Modernization Empowering Change

Cloud Computing for Agent-based Traffic Management Systems

An Agent-Based Concept for Problem Management Systems to Enhance Reliability

A Behavior Architecture for Autonomous Mobile Robots Based on Potential Fields

Figure 1. Basic Petri net Elements

How To Develop Software

Development of a Flexible and Agile Multi-robot Manufacturing System

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

A Simulation Analysis of Formations for Flying Multirobot Systems

Decentralized Utility-based Sensor Network Design

PETRI NET BASED SUPERVISORY CONTROL OF FLEXIBLE BATCH PLANTS. G. Mušič and D. Matko

Application development = documentation processing

Obstacle Avoidance Design for Humanoid Robot Based on Four Infrared Sensors

How To Test A Robot Platform And Its Components

ARTIFICIAL INTELLIGENCE METHODS IN EARLY MANUFACTURING TIME ESTIMATION

Teaching Methodology for 3D Animation

Information Technology Career Field Pathways and Course Structure

Communicating Agents Architecture with Applications in Multimodal Human Computer Interaction

Internet of Things and Cloud Computing

A Cognitive Approach to Vision for a Mobile Robot

A Remote Maintenance System with the use of Virtual Reality.

Towards Personalized Web-Tasking: Task Simplification Challenges

AN INTELLIGENT TUTORING SYSTEM FOR LEARNING DESIGN PATTERNS

Learning tasks from observation and practice

Analysis and Implementation of Workflowbased Supply Chain Management System

Sensory-motor control scheme based on Kohonen Maps and AVITE model

From Business Process Modeling to the Specification of Distributed Business Application Systems - An Object-Oriented Approach -

A Society of Self-organizing Agents in the Intelligent

Managing Variability in Software Architectures 1 Felix Bachmann*

Program Visualization for Programming Education Case of Jeliot 3

ExmoR A Testing Tool for Control Algorithms on Mobile Robots

Design of Intelligent Robotics. René van de Molengraft December, 6th, 2010

Network Robot Systems

Internet based manipulator telepresence

Requirements Analysis Concepts & Principles. Instructor: Dr. Jerry Gao

Annotation for the Semantic Web during Website Development

A General Framework for Tracking Objects in a Multi-Camera Environment

The Role of Computers in Synchronous Collaborative Design

A Distributed Architecture for Teleoperation over the Internet with Application to the Remote Control of an Inverted Pendulum

A SOFTWARE SYSTEM FOR ONLINE LEARNING APPLIED IN THE FIELD OF COMPUTER SCIENCE

Meeting Scheduling with Multi Agent Systems: Design and Implementation

Static Environment Recognition Using Omni-camera from a Moving Vehicle

System Behaviour Analysis with UML and Ptolemy. Scope and goals

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

INTEGRAL COLLABORATIVE DECISION MODEL IN ORDER TO SUPPORT PROJECT DEFINITION PHASE MANAGEMENT

Behavior Analysis of TCP Traffic in Mobile Ad Hoc Network using Reactive Routing Protocols

Improved Interfaces for Human-Robot Interaction in Urban Search and Rescue *

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Task Directed Programming of Sensor Based Robots

A STUDY OF THE BEHAVIOUR OF THE MOBILE AGENT IN THE NETWORK MANAGEMENT SYSTEMS

A Conceptual Approach to Data Visualization for User Interface Design of Smart Grid Operation Tools

Grid Computing Approach for Dynamic Load Balancing

VRSPATIAL: DESIGNING SPATIAL MECHANISMS USING VIRTUAL REALITY

A STRATEGIC PLANNER FOR ROBOT EXCAVATION' by Humberto Romero-Lois, Research Assistant, Department of Civil Engineering

CAD and Creativity. Contents

Multi-Agent System for Management and Monitoring of Routes Surveillance

Axiomatic design of software systems

The EMSX Platform. A Modular, Scalable, Efficient, Adaptable Platform to Manage Multi-technology Networks. A White Paper.

Component visualization methods for large legacy software in C/C++

Bernice E. Rogowitz and Holly E. Rushmeier IBM TJ Watson Research Center, P.O. Box 704, Yorktown Heights, NY USA

Analecta Vol. 8, No. 2 ISSN

Test Automation Architectures: Planning for Test Automation

Open Access Research and Design for Mobile Terminal-Based on Smart Home System

On evaluating performance of exploration strategies for an autonomous mobile robot

KS3 Computing Group 1 Programme of Study hours per week

IMPROVING RESOURCE LEVELING IN AGILE SOFTWARE DEVELOPMENT PROJECTS THROUGH AGENT-BASED APPROACH

Semantic Search in Portals using Ontologies

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

MULTI AGENT-BASED DISTRIBUTED DATA MINING

FC Portugal D Simulation Team Description Paper

Interactive Information Visualization of Trend Information

Multiple Network Marketing coordination Model

THE BENEFITS OF INTEGRATING LEGO MINDSTORMS INTO DESIGN EDUCATION. COURSE MEDIA SYSTEMS

Intelligent Agents. Based on An Introduction to MultiAgent Systems and slides by Michael Wooldridge

Distributed Sensing for Cooperative Robotics

Real-Time Cooperative Multi-Target Tracking by Communicating Active Vision Agents

Sensor Based Control of Autonomous Wheeled Mobile Robots

To Virtualize or Not? The Importance of Physical and Virtual Components in Augmented Reality Board Games

CHAPTER 1. Introduction to CAD/CAM/CAE Systems

A Multi-agent System for Knowledge Management based on the Implicit Culture Framework

NEW CHALLENGES IN COLLABORATIVE VIRTUAL FACTORY DESIGN

A very short story about autonomous robots

GOAL-BASED INTELLIGENT AGENTS

CONDIS. IT Service Management and CMDB

A Multiagent Model for Intelligent Distributed Control Systems

Metrics for quantifying system performance in intelligent, fault-tolerant multi-robot teams

Agent Models of 3D Virtual Worlds 1

Microcontrollers, Actuators and Sensors in Mobile Robots

Virtualization of Virtual Measurement Machines as component of Distributed Artificial Intelligence System

AUTOMATED CONSTRUCTION PLANNING FOR MULTI-STORY BUILDINGS

Investment Analysis using the Portfolio Analysis Machine (PALMA 1 ) Tool by Richard A. Moynihan 21 July 2005

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

Transcription:

A Generic Model for the Design of Multi-Robot Applications S. Rocher and D. Duhaut Laboratoire de Robotique de Paris Université Pierre et Marie Curie 10-12 avenue de l Europe 78140 VELIZY FRANCE Abstract: - This paper presents a generic model of multi-robot application. It represents the heart of a general programming system for robot team called MINA. The goal of MINA is to allow a non expert user to simply define physically and functionally distributed robotic applications. The presented generic model realizes the interface between the graphical user interface and the executable program of our system. In this context, the originality of our approach is to adapt concepts of distributed artificial intelligence on multiagent organizations to the multi-robot domain. Then the proposed model is based on systematic decomposition of a robotic application which describes robots such as agents and defines mission using notions such as phases, strategies, roles, activities and actions. We present in this paper the set of elements and the agent model used to define a robotic environment, and we propose a new robotic agent organization that separates activities from interdependencies specification. Key-Words: - Multi-robot applications, robotic programming, distributed artificial intelligence, multi-agent systems (MAS), robotic agents, organization. IMACS/IEEE CSCC'99 Proceedings, Pages:6601-6606 1 Introduction delay or on the number of operating robots. Robotic systems can be classified into four categories [8]: Robotic applications are real-time systems. Indeed, their computational structure is bound to the environment Teleoperation slave/master mode: man is directly in control at servo-process level. dynamical evolution they are associated with, and which Advanced teleoperation or teleprogramming behavior they have to control. Moreover, they must obey to time restrictions. Thus, in a robot team situation, the building of the robot techniques: this mode integrates the operator in the programming loop with no restriction to the process level. The system has a degree of autonomy. team organization must be added to the classical Autonomous purely reactive machine: they operate constraints [3] (parallelism and distributed according to modalities specified at the design stage. programming, communication and synchronization, Autonomous task level programmable robots: the breakdown tolerance, execution validation). In this paper, we propose a robotic application implementation methodology in a multi-robot context. In part 2 of this paper, we present a brief state of the art in robotic programming. In part 3, the MINA system will be described focusing on the generic model description operator has task level control over the machine which interprets the program and executes it autonomously. Tele-programmed systems and intelligent autonomous systems vary according to the operator s degree of control, consequently to the robot s degree of autonomy. of a multi-robot application. In part 4, experimental 2.2 Robotic control architecture results obtained with MINA will be presented. Finally, The definition of a control architecture is necessary to we will conclude and suggest future work. design complex robotic applications involving a realtime 2 Software solutions for robotic decisional level. Different architectures were defined, essentially for mobile autonomous robots: applications: state of the art Hierarchical architectures such as NASREM [1] are To define a computational solution to a robotic system, based on the hypothesis that a high abstraction level three essential steps must by developed: needs is associated with a lower world dynamic. specification, the control system architecture design, and Behavioral architectures such as the subsumption the solution implementation. architecture [5] are reactive and make use of a set of 2.1 Needs specification behaviors instead of planning. Due to the wide range of robotic application, the needs Centralized architecture based on blackboard [10] do are dependent on the environment and the mission to not define any hierarchy between the different accomplish. They may depend on the communication

modules and use a central board to co-ordinate the various independent agents. Hybrid architecture mix different concepts from the above presented architectures [2] [9]. Other architectures have been developed in the advanced teleoperation context. Some are close to intelligent autonomous machine architectures [12] allowing only a task level control by the operator. Others allow the operator to act at different abstraction level [11]. 2.3 Solution implementation The implementation is characterized by the programming mode and level. The programming level represents the different abstraction levels allowing the expression of a robotic action. The programming mode defines the method by which the user specifies the robot actions. These two notions are not completely separate. The different programming modes used in robotics are: Teach by showing: it is adapted to repetitive applications realized in a well known environment. It corresponds to joint level programming. Specialized graphical formalisms such as GRAFCET or STATECHARTS. CAD based programming which allows to specify and simulate off-line robotic applications which will be automatically realized on the physical system. Programming languages used to build structured applications et to implement control architectures. Some languages are specific to the real-time robotic context (ESTEREL [4], OCCAM [6]). Implicit programming allows the user to specify the mission at a task level (object or objective level) by suggesting automatic programming systems. 3 MINA: a solution for multi-robot systems The robotic context of our study is physically and functionally distributed robotic application, moving in a partially known dynamic environment. Therefore, the robotic solution is the realization of a reactive system with a high level of autonomy, but allowing human occasional interaction. Moreover our purpose is to propose a programming and executing system (MINA) for non expert users. Our system uses implicit programming mode. Firstly a generic model of a multi-robot application is presented. It is a central point of our study. Indeed, it gives the robotic context, therefore it allows to specify the needs for the design of the graphical user interfaces of MINA. A part from that it gives the reference model of a robotic application for MINA which is used as intermediate interface between the user and the system executive program (Fig. 1). Fig 1: MINA structure The proposed robotic application model represents the robots as physical autonomous agents and uses multiagents mode accomplish to manage a mission. The following characteristics have motivated the choice of the multi-agents used technology: Multi-agent technology is very well adapted to physically and functionally distributed applications (which is the case for a robot team. It allows to define reactive systems which can deal with real-time environment modifications. Organizations can be realized by defining the interactions and the linkages between the elements and certify solidarity and relative solidity. Intuitive resolving -therefore faster resolving- can be made by the user with a local approach for the representation of the problem. The reference model of MINA represents a robotic application made of a set of elements (representing the world) and a set of relations between these elements (defining the mission). It is based on a systematic decomposition of a robotic application which distinguishes the world representation and the mission definition. 3.1 The world representation Its aim is to determine the set of objects which intervene in the expression and the implementation of a multirobot application. Two sets of elements are used in our study: passive elements and active elements. 3.1.1 Passive elements They are objects to which characteristics are associated, but do not possess any functionality to manipulate other elements. The field of application of MINA must be able to assume manipulation or navigation tasks. Therefore a set of elementary objects including physical and virtual objects and events is proposed. Selected physical objects are: The physical environment. The outline: defines the geometrical limit of the working area. Static obstacles. Dynamic obstacles: mobiles obstacles unidentified when starting the application. Active objects: they are mobile elements known and identified at the beginning of the application. They

allow the representation of identified but uncontrolled autonomous entities. Handled objects: they intervene in internal or external manipulation tasks. The tools: they are associated to internal manipulation tasks and allow the realization of transformation process. Virtual objects allow to parameter actions or to express execution constraints. They are: Frame: it is associated to each physical objects of the application. Marks which define positions. View points which are composed of one point and one vector. Trajectories are defined as sequence of points. Areas associated to physical objects. Some virtual objects are in the heart of constraint programming: Static areas which allow to express accessibility constraints or to associate to the actual robots new parameters of execution. Dynamic areas allow to express the same constraints as for static areas and associated to a physical object by their respective referential frame. At last, an event is a global data determining with two significant values the event is active or not. 3.1.2 Active elements They possess associated functions which allow them to realize physical actions on objects from the environment or to modify the value of their characteristics. Three sets of active elements are defined: robotic agents, external sensors and MINA s supervision interface. In our study, the manipulated robotic entities are comparable to agents (which will be called robotic agents) and match the following definition. A robotic agent is a physical entity which: Is located in an environment, Is bound to physical interactions with its real environment, Has proper characteristics and resources, Has a degree of perception of its environment, Has a partial representation (or no representation) of the other agents of its environment, Can communicate directly with the other agents, Has skills, Has a set of tendencies (seen as individual objectives or satisfaction function), Has a behavior which tends to satisfy tendencies taking into account available resources, perceptions and skills. In order to characterize the specification of a robotic agent, a formal approach will be used. Therefore a robotic agent a is considered in a system of actions represented as follow: < Σ, Γ, Act, React > Σ is the set of possible world states, Γ is the set of influences induced by the agents, Act is the set of activities which can be made by the agents, React is the function which represents the laws of the universe: React : Σ Γ Σ (1) Robotic agents are defined as hysteretic agents. They follow a classical horizontal functional decomposition: perception, representation, decisional and activity functions. Perception functions are composed of: internal and external state embedded sensors, message reception functions (realizing inter-agent communication) and external data reception functions. They produce perception data according to the state of the world and the internal state of the agent. So the perception function of an agent a is defined as follows: Percept a : Σ S a P a (2) P a is the set of perception data associated to agent a, S a is the set of internal state of agent a. The representation function purpose is to update the local knowledge of a robotic agent. These data can come from perception functions, decisional function or activities. Then, the representation function of agent a is defined as follows: Rep a : P a M a I a S a S a (3) M a is the set of mission data coming from the decisional function of agent a. I a is the set of relevant data coming from the activities of agent a. The decisional function aim is to define activities according to the internal state of an agent. It is based on notions, such as strategy, phase, role and activity, that will be detailed in part 3.2. It can be defined as follows: Decision a : S a Act a M a (4) Finally, activities are the interface between the decisional function and the world. Goal oriented, behavior oriented and message emission actions can be distinguished. Therefore, the activities execution operator is defined by: Exec a : Act a S a Σ Γ S a (5) Agent a can be defined as the following n-uplet: <P a, M a, I a, S a, Act a, Percept a, Rep a, Decision a, Exec a > In this respect, a robotic agent graphical representation can be given as follows (Fig. 2) Then the behavior of robotic agent a is expressed as a function associating the couples <state of the environment, internal state> and <set of influences, new internal state>. Indeed: (1) σ(t+1) = React(γ(t), σ(t)) (2) p a (t) = Percept a (σ(t), s a (t))

(3) s a (t+1) = Rep a (p a (t), m a (t), i a (t), s a (t)) Act a (t) = Decision 1 a (s a (t)) (4) m a (t) = Decision 2 a (s a (t)) γ (t) = Exec 1 a (act a (t), s a (t), σ(t)) (5) i a (t) = Exec 2 a (act a (t), s a (t), σ (t)) Hence Comport a: Σ S a Γ S a Comport a (σ(t), s a (t)) = < Exec 1 a Decision 1 a [s a (t)], s a (t), σ(t), Rep a Percept a [σ(t), s a (t)], Decision 2 a [s a (t)], Exec 2 a [Decision 1 a (s a (t)), s a (t), σ(t)], s a (t) > Fig. 2: robotic agent representation The second kind of active elements are external sensors. They represent environment data providing modules external to the robotic agents. In our study, external sensors are opposed to embedded ones. Three external sensors are defined: Physical sensors providing data on physical objects and on robotic agents. Virtual objects managing module which purpose is to update characteristics associated with virtual objects. Event sensors. Finally, the last kind of active element is the MINA supervision user interface. It allows the user to trace the mission execution and to interact with the application, modifying execution parameters, redefining activities, teleoperating one or several robotic agents. 3.2 Mission definition Defining a mission involving a set of agents is equivalent to defining an organization satisfying the collective goal representing the mission. The organization concept is one of the basic concepts of MAS. An organization can be defined as a set of relations between components or individuals to produce a unit endowed with qualities unknown at the components or individuals level. The proposed reference model is highly adapted to an organization definition with variable, egalitarian and emergent structure i.e. applications using auto-organizing reactive robotic agents [15]. Then an organization is both a collective objective expression and an inter-dependence definition. The organization definition adopted approach is then based on separating the activities definition from the execution constraints description. This decomposition is designed for non expert users who generally have a knowledge of roles or activities to be accomplished, not of the execution constraints induced by these activities. 3.2.1 Activities decomposition or collective goal expression A MAS collective goal is a state to reach defined by a set of relations on the application elements. When these relations are verified, the goal is reached and the mission ends. In our study, mission goals (defined above and meaning the mission end) differ from user ones (representing the user s wishes). Thus, in the case of the application of playing a soccer game, the mission goal would be playing until the final whistle whereas the user s would be score more goals than the opponent. To represent multi-robot application activities, in a collective as well as individual or environmental level and to allow the mission and user s goal expression, different notions are introduced: phases, strategies, activities and actions (Fig. 3) Fig. 3: activities expression Phases and strategies allow mission expression from a collective standpoint. Phases: a collective robotic mission phase is an application period during which a mission elementary collective goal must be reached. Indeed a mission can sometimes be divided into elementary collective goals which are non dividable goals. Therefore a mission can be represented by a graph which transitions define the elementary collective goals and the states are the application different phases. Strategy: it defines the individual role distribution. It associates each agent with a specific role. Roles and activities allow a mission definition from an individual standpoint. Roles: a role is an agent position inside the collective system. Thus, it defines the activities the associated agent must realize during each mission phase. Activities: they define the actions the agents must execute and are represented by robotic action sequences.

Finally, the actions realize the interactions between the robotic agents and the environment. The elementary actions to be realized on the environment by agents can involve a high decision level. There are two kinds of actions: Goal oriented actions correspond to an action classical model involving pre-conditions and postconditions [7]. Behavioral oriented actions do not have an explicit termination. A behavioral action end corresponds to the fulfillment of an elementary collective goal i.e. the ending of a phase. 3.2.2 Constraint description or interdependencies expression Constraints description defines interdependencies between the different elements of the application and associates to each kind of conflict a conflict manager mechanism. Some constraints allow system autonomy, others allow control by the human operator. At the collective level, the defined constraints are phase and strategy switch conditions: The phase switch conditions: these are collective goal reach conditions. The phase switch can be completed autonomously according to the environment state or to activities execution state of robotic agents. It can also be completed following a user request activating a transition or a new state. The strategy switch: it can be completed autonomously according to the environment state or follow a robotic agent request. The human operator can also intervene to impose a new strategy. At the individual level, the defined constraints concern roles, activities and actions. The role switches: they can be completed autonomously at collective level (linked to a strategy switch) or at an individual level according to the robotic agent internal state. Finally, the human operator can intervene on-line to modify an agent role. The activity switches: they are autonomously completed following a role switch or during the execution of an autonomous conflict manager mechanism. The human operator can intervene to redefine robotic agent activities. He can also momentarily stop an activity execution and restart it. The action execution constraints: there are many. They are determinant in the interaction study. For the most part, they define conflict situations and allow the user to implement autonomous conflict manager methods. Constraints considered by MINA are pre-conditions and post-conditions of goal oriented actions, execution parameter constraints, errors due to the non realization of execution parameter constraints, teleoperation, exception induced by an action execution error, the modification of the autonomous conflict manager choice. At the environmental level, MINA allows a shared resources accessibility constraint definition and offers the user a set of possible interventions: Shared resources accessibility constraints are managed automatically. Shared resources are static zones, dynamic zones, handled objects, and tools. For example, these constraints will limit the number of elements (or the total element weight) inside a zone. The operations offered to the human operator are: modifying, adding or destroying an elemental object, modifying some robotic agent characteristics, modifying the origin of a physical or robotic object characteristic, modifying, adding or destroying zone associated constraints. 4 The MICROB experimentation The experimental platform used to validate our study (called MICROB) allow the control of a five robots team. It allowed the development of a robot soccer team [13] [14]. The way the proposed reference model applies to this kind of application is presented here. 4.1 The world representation The different physical objects used to define the application are: The game area outline, Some active objects: the opposing team robots, One handled object: the ball, The different application virtual objects are: Frames associated with robotic agents and with each objects define as above, Points representing the center of the field, the penalty conversion point and the goal posts, A trajectory defines the goal keeper s role, Nine static zones define the field player role. The active elements used are: Five robotic agents. They are all identical and possess the same competencies and they do not possess embedded sensors. They only know their own position and orientation as well as the ball position and velocity (thanks to their external information reception function). Moreover, a communication mechanism allows them to transmit and receive data about their own ball based position. A physical external sensor constituted of a camera placed above the game area and of an image processing system allowing the extraction of data needed by robotic agents, A virtual objects managing module updating frame data, A supervision interface.

4.2 Mission description From the collective standpoint, the mission can be broken down into collective sub-goals. Therefore, the following graph gives a representation of a soccer game (Fig. 5). Fig. 5: Phases and collective objectives of soccer application Two strategies have been implemented for the following roles: goalkeeper and field player roles. The implemented activities are then based on behavior oriented actions adapted to each game phase [13]. Finally, the involved interactions are mostly collective level ones. They allow an automatic or a human operator phase switch. They also allow a robotic agent to change its own role depending on its internal state, during the application execution [14]. 5 Conclusion and perspectives In this paper we proposed a generic model for robotic applications. Its originality is to be adapted to the robot teams definition. Our approach sticks to classical robotic conception process. It includes propre percepts to the MAS technology and is based on a systematic decomposition of a robotic application. Therefore mission and environment are separated. The environment is divided in passive and active elements and the mission is composed by activity and execution constraint programming. Perspectives of this work is realization of a database of different types of organizations using experimental platform MICROB. Associated with system MINA, this platform constitute a robotic application designing tool, which allows efficient and convivial implementation of many real multi-agent applications. Well adapted to non expert users, this tool can also manage complex experiments. In order to realize it, a programming GUI has to be designed suitable with the model of reference and the different objects of platform MICROB. References: [1] J.S. Albus, R. Lumia, J.C. Fiala & A.J. Wavering, NASREM: the NASA/NBS standard reference model for telerobot control system architecture, 20 th International Symposium on Industrial Robots, 1989. [2] R.C. Arkin, Motor schema based navigation for a mobile robot, IEEE International conference on Robotics and Automation, Vol. 1, pp. 264-271, 1987. [3] A. Benveniste & G. Berry, Real-time systems design and programming, Proc. of the IEEE Special Section of Real-Time Programming, 1991. [4] F. Boussinot & R. de Simone, The ESTEREL langage, Proc. of the IEEE, pp. 1293-1304, 1991. [5] R.A. Brooks, A robust layered control system for a mobile robot, IEEE Journal of Robotics and Automation, Vol. RA-2, No. 1, pp. 14-23, 1986. [6] A. Burns, Programming in OCCAM 2, Addison- Wesley Publishing Compagny, 1988. [7] R.E. Fikes & N.J. Nilsson, STRIPS: a new approach to the application of theorem proving to problem solving, Artificial Intelligence, Vol. 2, pp. 189-208, 1971. [8] G. Giralt, R. Chatila & R. Alami, Remote intervention, robot autonomy, and teleprogramming: generic concepts and real-word application cases, Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems, 1993, pp. 314-319. [9] J.M. Hasemann, Robot control architectures: Application, requirements, approaches, and technologies, 14 th Intelligent Robots and Computer Vision, 1995. [10] B. Hayes-Roth, A blackboard architecture for control, Artificial Intelligence, Vol. 26, No. 3, pp. 251-321, 1985. [11] A. Kheddar, J.G. Fontaine & P. Coiffet, Mobile robot teleoperation in virtual reality, IEEE/SMC IMACS CESA 98, Vol. L, pp. 104-109, 1998. [12] C. Perret, C. Proust, R. Alami & R. Chatila, How to tele-program a remote intelligent robot, IEEE IROS 94, 1994. [13] S. Rocher, V. Idasiak, S. Doncker, A. Drogoul & D. Duhaut, MICROB: the French experiment in RoboCup, RoboCup-97: Robot Soccer World Cup I, Ed. H. Kitano,1997. [14] S. Rocher & D. Duhaut, MARCH: a flexible multiagent architecture applied to autonomous robots playing football, Collective Robotics, First International Workshop, CRW 98, pp. 98-109, 1998. [15] L. Steels, Toward a theory of emergent functionality, Proc. of the First International Conference on Simulation of Adaptive Behavior: from Animals to Animats, pp. 451-466, 1991.