Home

An educational environment to construct behaviour based robots

image

Contents

1. ycor of robot compass of robot xcor of robot velocity of robot robots inside cone x y r angle closest robot x y velocity robot inside cone x y r angle distance x y hx hy robot list towards x y hx hy one robot Xcor robots inside circle x y r robot inside circle x y r Ycor Our robot behaviour can then be described in the following form If there is an obstacle the robot must turn away from it velocity given by obstacles avoid ance function and if there is some other robot in the perception field then turn towards the direction that robot is facing otherwise maintain velocity flock ing vector function Both these functions produce a pair translation velocity rotation velocity that should be applied to the robots motors to produce the de sired behaviour It is the obstacle avoidance behaviour that prevents the robots to bump in each other due the sonar sensor do not differentiate standing obsta cles from robots Next we present a fragment of the CLIPS code that produce this behaviour Example of a flocking behaviour with obstacle avoidance if lt min sonar 750 then Vvector obstacle avoidance vector sonar else Vvector flocking vector robot inside cone xcor ycor perception range angle range setSpeed Vvector We should note that this behaviour description is similar to a subsump tion architecture with two levels where the obstacle av
2. set of tools to access and control the Aglets and Player Stage environments This environment has three different tools the agents manager the agents consoles and stage monitor The stage monitor provides us with a graphical representation of the environ ment and the robots during the simulations It gives little control over the robot simulation The agents manager is an interface to allow the low level control of the Aglets platform for instance it gives tools to launch kill move an agent start a simulation monitor what agents are active etc In the figure 1 we present an example of this interface In order to connect all these different environments we had to support het erogeneous communication tools The communication Aglets and robots are sup ported by sockets and a Java API interface This channel supports all sensors and actuators The basic mechanism of communication between agents is through message passing This service is supported by special agents inside the Aglets platform that provide the environment with white pages service and message routing The direct communication among robots is not supported 23 13 47 50 owe 2002 e hu may 23 13 47 50 omr 2002 Fig 1 The Aglips Interface This picture presents a view of the Aglips environment agent manager stage viewer agent robot consoles and agent controller 3 The Virtual Laboratory Along with the complexity of
3. the environment the design of the agent is de cisive for the collection of its behaviours The agent s behaviour is determined by its control program as well as the available actuators and sensors and their positioning on the agent s body The virtual laboratory allows users to build ex periments in a modular way Agents are composed of a control mind agent in the Aglets platform a body equipped with sensors and actuators in the Player Stage environment and the user interface device see Fig 2 The user can build up a library of different agents control programs and environments which can be combined for different experiments The environment can be tailored to the ex periment the user defines the number size and disposition of obstacles number and position of robots and the behaviour of each robot In the next sections we will overview the framework and present what tools are available to construct the desired experiments 3 1 Agents Robots and Clips The integration of the Player Stage environment with the Aglet platform allowed us to add some new features to the environment and to associate an aglet to manage each robot This aglet controls the robot behaviour using the Player interface sensing and actuating and it is capable of communicate with the other aglets robots through the platform This extension provides the robots with a communicating channel peer to peer and broadcast that provides them with complex messag
4. 0 A 15000 4 1904 125004 2500 4 e000 4 100 7904 750 4 s004 500 4 200 200 4 AA T T T T T T T 1 0 T T T T T T T 1 o 250 00 7500 10000 12500 15000 17500 20000 O 2500 8000 7500 10000 12500 15000 17500 20000 Fig 4 Tracking robots This figure shows an example of construction of a graphic representation of the robots path when performing the wander behavior in the cave environment 3 4 Statistics Built into the robot architecture is the log generation feature These mechanisms automatically generate an entry in a log file each time a rule is activated Each log is composed by a set of measures like time robot position robot speed and robot state This information can later be subject of a statistical analysis in order to study the robot behaviour and performance We can see an example of statistical treatment of information produced by the simulation in the Fig 4 This example shows the tracks of each robot during the execution of the wandering behaviour during 5 minutes We can also use this log to make performance tests of the robots behaviour and the workbench performance For instance it is possible to get how many times a robot gets stucked in the environment or what is the difference between two consecutive log entries The Fig 5 shows an example of this workbench per formance measure We can observe regular peaks and a long term degradation of performance The long term degradation corresponds do the reducing of the time betw
5. AGLIPS An educational environment to construct behaviour based robots Luis Moniz Paulo Urbano and Helder Coelho Faculdade de Ci ncias de Lisboa Campo Grande 1749 016 Lisboa Portugal hal pub hcoelho di fc ul pt Abstract We present a tool to aid the construction and management of behaviour based robot in a simulated environment that shows col lective behaviour This framework is based on two different tools the extended Aglets multiagent platform plus the Player Stage environment for robotics simulation The framework AGLIPS links these two hetero geneous environments into a single platform providing us with a tool for constructing agents and an environment for experimenting them The resulting testbed merges the Aglets platform features and the dynamic and unpredictable characteristics of the Player Stage environment pro ducing a joint tool capable of combining social and physical aspects of agents useful for more advanced experiments 1 Introduction Verifiable scientific experiments require that they can be repeated independently of time and space The designer needs tools to construct manipulate and mea sure the experiment Most of physical experiments with behaviour based agents are very time and cost consuming and most of the time is spent in hardware calibration and trouble shooting Only a small amount of the resources is used in the design of real robot mind Another problem arises from the nature of a real experime
6. e exchange capabilities Additionally we add a GPS to the system providing the robot with the knowledge of its absolute position in the environment We also associate a simple console command line and display to each aglet Through this console it is possible to track the aglet execution and communicate directly with it We also add the possibility of add a special aglet without a robot attached This aglet revealed itself useful to track the aglet simulation and to communicate with the other agents for instance to broadcast a message to all of them Interface Aglets platform Player Stage Environment OSes ky A bail lle Sole 5 Fig 2 The Aglips architecture This figure shows an example of an Aglips supported experiment Note that not all aglets had an associated robot or console they can support other tasks such as experiment controllers aglets managers or performance meters The Fig 3 shows how the robot architecture is organised in layers The bottom layer corresponds to the features provided by the Aglet platform This corresponds to the sequence of actions executed during the Aglet life cycle and some system tools like send messages mobility commands etc The next layer Aglet Extended architecture adds new functionalities to the base architecture These overlap some original functionalities and encapsulate other in order to hide some repetitive tasks For instance when the agent is activated the f
7. een peaks meaning that the robot is taking more time between successive activation of rules 800 700 600 500 400 il i i tt O pe ct E E G A MUER ARAR ATTEN mun rN MCN Tl anal AAA A i fink TA 1 ahir ny 100 Fig 5 Performance measure Time difference between successive log entries Obtaining this performance measure is fundamental to our robot workbench tuning the reason of this degradation could be a robot fault someone starts eating computer cycles on executing a rule or a workbench problem that is jamming the system Identifying the correct motive can direct us to correct design flaws of the entire system 4 Designing and Running Experiments Let us imagine we want to build behaviour based robots that exhibit a flocking behaviour in an world with obstacles To achieve this they have to keep all moving together and at the same time avoid obstacles We have several alternatives to develop this behavior we can use a low level approach and describe all the robot behaviour in pure CLIPS or we can built small pieces of CLIPS code that can be assembled together to built a higher level description We choose the second option to solve the problem In the table 2 we present some of these CLIPS blocks that we be used to produce the behaviour Table 2 Some macro commands available in the CLIPS module to buid robotic be haviours Some commands in CLIPS module Compass
8. gents capable of generating real time information about the environment and the robots Instead of exhibiting a transparent behaviour in the simulation these agents request the data directly from the robots and produce some analysis In order to allow this behaviour the robots must understand the Monitor requests and answer accordingly to them Next we present a fragment of a Monitor behaviour Example of a Monitor agent behaviour robots do activate j activate all robots robots do safe wader start wandering behaviour wait time wait some time robots do send data myself ask for behaviour data wait timeout j wait a timeout calc statistics calculate with received data We want to extend this class of agents incorporating more complex detached and transparent agents capable of producing real time statistics like how many times each robot got stalled which is the more efficient the explored world etc without interfere in the simulation We should also note that these agents are fully customized by the user and it is possible to build Monitor agents with specific characteristics specially tunned to observe some given experiment cossery hrabal 205 2000 175004 17500 15000 15000 125004 12500 10000 4 1000 700 4 70 000 x00 290 4 2500 0 T T T T T T T 1 o T T T T T T T 1 o 2590 soo 7mo 10000 12500 19000 17500 20000 O 290 soo 790 10000 12500 15000 17500 2000 pessoa shandy m0 2m0 17500 4 1750
9. he other agents during the simulation They can issue or broadcast commands to the other agents provoking a prede fined reply from them The reply is defined in various levels relatively to the place where the answer is embedded in the architecture This corresponds to three lev els in the architecture Aglets extended architecture Robots base architecture Robots CLIPS architecture see Fig 3 In the first two levels the agent is compelled to fulfil the request due to its own architectural constrains These commands are embedded in the robot architecture and they are not subject to be ignored For instance the suspend command forces the robot to a stop no more rules are executed and its speed is put to zero until the resume command is issued The answer to the last group of commands depends on the robot architecture These commands are issued to the robot and it then chooses what to do Individual Controller Agents Each robot is associated with a controller agent which has its own private console Each of the consoles has full control over the respective robot Through the console we can issue commands to the robot like suspend and resume its activity and even kill the robot agent We can also obtain information concerning the robot perception and state and change its parameters and behaviour This console provide the user with information concerning the associated robot internal states allowing the correct tunning of its behaviou
10. irst action it must perform is to registrate itself with the broker indicating who it is and what are its main characteristics kind group The Robot Base Architecture layer extends the Aglets with a CLIPS virtual machine to help the definition of behaviours instead of the original Java virtual machine To simplify the design of the robot behaviour we choose to describe it using CLIPS The CLIPS language is a rule based language with a forward chaining based reasoning engine The user can define the robot behaviour in terms of first order logic rules in the form of pairs conditions actions To support the feature we had to incorporate Jess CLIPS interpreter engine in our Aglets the as the CLIPS virtual machine When an agent is created the file where is behaviour is defined is passed as a parameter and loaded into the agent Jess interpreter Then the agent moves on standby mode The agent is activated only when it receives the run command We also defined a set of robot modules to support some Java functionalities in the CLIPS interpreter and to link the robot with the stage environment This level gives supports the construction of the robot controllers These are special purpose agents to issue simulation control commands to the other robots these commands are also given in CLIPS For instance the user can through a robot controller command a simulation robot to go to a specific location run 10 rules of its behaviour or add a new rule t
11. me an acceptable tool to introduce agent programming basic concepts in a controllable environment The capability of statistics data generation by the agents can be an important tool to analyse the overall performance of the agents and the society evolution References 1 Ronald C Arkin Behavior based Robotics The MIT Press 1998 2 R T Vaugham B Gerkey K Stoy Player Robot Server version 0 8c user manual edition 2001 3 Tucker Balch TeamBots 2 0 web reference http www cs cmu edu trb teambots edition 4 Kasper Sty Andrew Howard Gaurav S Sukhatme Brian P Gerkey Richard T Vaughan and Maja J Mataric Most valuable player A robot device server for distributed control In Proceedings of the IEEE RSJ International Conference on Intelligent Robots and Systems IROS 2001 2001 5 Mitsuru Oshima Danny B Lange Programming and Deploying Mobile Agents with Java Aglets Peachpit Press 1998 Mao Cheny et all RoboCup Soccer Server version 7 07 user manual edition 2002 7 Sing Li Rock em sock em Robocode Round 2 web reference http www 106 ibm com developerworks library j robocode2 edition 8 Richard T Vaugham Stage A Multiple Robot Simulator version 0 8c user manual edition 2000 gt
12. ned to be invoked The definition of an aglet behaviour is made by redefining some of these methods identifying which actions should be performed in each situation This architecture and the use of the JAVA language to define agents have some advantage when redefining Aglets based on previous ones it is only needed to define what is different For instance if we have an Aglet that checks whenever email arrives we can use this agent to define other that remove all spam mail based on some criteria 2 2 The Player Stage Environment The Player Stage platform simulates a team of mobile robots moving and sens ing in a two dimensional environment The robots behaviours are controlled through the Player component of the system The Stage component provides a set of virtual devices to the Player various sensors models like a camera a sonar and a laser and actuators models like motors and a griper It also controls the physical laws of robot interaction with each other and the obstacles In our current environment only the sonar laser and motors are usable This tool pro vides a controllable framework to build tests and experiments in a simple robotic environment The physical environment is defined in set of files containing the number and position of each robot the host port from which each robot can be controlled and the obstacles disposition in a graphics file 2 3 Interface Environment The interface environment provides the user with a
13. nt and it resides on the proper analysis of the outcomes Due to the distributed nature of the robots and to the fact that no central control exists it is very difficult to get data and identify what were the processes that originated certain behaviour Motivated by these problems we developed a tool to build behaviour based agents that evolve in a simulated environment This framework incorporates characteristics of intelligent agents environments Aglets 5 and multiagent simulation tools Player Stage 2 8 4 The possibility of repeating an experiment by changing some initial parameters allows the user to conduct simulations and observe how different conditions influence different behaviours Similar work has been developed in control of simulated robots the Team bots 3 the Robocode 7 and the Robosoccer 6 frameworks provide tools to de velop and test teams of robots These frameworks provide a simulation platform where the robots can be executed but they provide almost no control over the simulation itself For instance the Robocode framework only allows to add and remove robots but once the simulation is started the user can only observe the robots behaviour and interactions The Robosoccer simulator allows the simu lations of a soccer game and build experiments with coordination in a complex environment also once the simulation starts the user lose the control over the individual robots although it still gets a minimal control o
14. o the agent p Robot Robot Robot Robot Clips modules Robots Clips Architecture Robot Controllers Stage 4 _Robots modules gt Paa Robots Base Architecture Interface gt _Aglets modules ae Aglets Extended Architecture Special Aglets Aglets Base Architecture Fig 3 The Aglips internal architecture is organized in layers each built based on the precedent and extended using modules The Robot Clips Architecture layer allows us to tune our robots to specific experiments without need to access to the system or modify the core architecture This layer is completely defined in CLIPS and it is specific to each robot This layer will be detailed in section 4 Beside these layers we also define a set of three modules to be used as interface between layers These modules are sets of functions and routines that translate some of the layer internal features and gives external access to them For instance we defined two classes of routines in the robots modules functions to interface with Stage Player environment and functions to accede to the Aglets environment capabilities These functions are mainly written in Java and then they are exported as foreign code into the Jess environment In the next sections we will detail some of the features added and how they can be used to track our experiments 3 2 Controller Agents This class of agents is used to control t
15. oidance level can in hibit the flocking behaviour Some of these experiments can be observed at http ai di fc ul pt projects 5 Conclusions In this paper we present a tool to aid the construction and management of behaviour based robot in a simulated environment We have focused mainly on the overall architecture of our system and we have presented in a shallow form a number of aspects that deserved to be treated in more depth These include a complete description of the workbench and its internal details of functioning the methodology to build behavior based robots and all the available modules built in our system We introduced a number of features in our architecture which we believe to be particularly important in future development of simulations This include the combination of the CLIPS rule based language to describe behaviours and the capability of examine the agent mind during the simulation This feature allows us to have a complete and accurate image of the agent mind and understand the shown behaviour Another important feature is the inclusion in the system of special agents to control and observe the simulation Instead of the tradi cional approach of pre determined behaviours these agents can be completely constructed by the user and tunned for the experiment specific needs In the current stage of development the educational characteristics of the system are not fully developed We do believe that this framework can beco
16. r Global Controller Agent This special built in agent represents the observer and is used to control the other agents in the simulation The observer can suspend and resume all robot agents The controller can also interrupt on line every other robot agent order to send it commands we may want to inspect its state or to force it to begin a particular behaviour We consider two agent classes which must be controlled 1 the robot agents and 2 the special agents So the observer can broadcast commands to all agents to all robot agents to a particular agent and to a list of agents Table 1 Commands issued by the observer to globally control each of the individual robots height Directive Agent Command Parameters all do command name argi argn robots do command name argi argn you do agent name command name argi argn list do agent list command name argi argn These commands are not restricted to this agent other agents can also use them But for the global controller which is the agent that set up and run an experiment they are essential commands We must remark that when an agent broadcasts a message or a command it will never receive the message neither the command This agent can be used mainly for control purposes it had no access to the internal state of any other agents unless they explicitly provide that information 3 3 Monitor Agents We can use the Aglets facilities to produce intrusive monitor a
17. ver the simulation as referee Our tool objective is to overcome these limitations giving the user control over each individual robot engaged in the simulation and over the simulation environment and provide a mechanism to make simulation analysis We allow the user to send commands to the robot individually changing its predefined behaviour during the simulation or issue commands to a specific group of robots Another advantage is the capability through special agents to extract data from the robots and environment and use it to make posteriori analysis of each robot performance The remainder of the paper is organised as follows Section 2 will address the individual features of both platforms and how they interact Section 3 presents the Virtual Laboratory architecture and what is available to build robots Section 4 shows an experimental example of chasing behaviour 2 Aglips Framework Our platform framework is constructed based on two different tools the Aglets environment and the Player Stage platform The Aglets environment is an cog nitive and mobile agent oriented environment with a set of tools to construct agents and a platform where the agents can be executed and controlled The Player Stage platform is a simulated environment to build and simulate behaviour based robots whose code can be downloaded into real machines 2 1 The Aglets Environment The Aglets environment is a platform inside which all the agents mandatory
18. written in JAVA are executed This platform provides the agents with a set of services message transport mobility cloning etc and an execution model that must be followed The Aglet life cycle is event driven and it based in the Aglet response to these events An Aglet must be constructed regarding the model that regulates its life cycle we must define what to do when it is created when it moves or when it is removed from the platform In the platform each agent is identified by an aglet proxy a kind of internal address associated with it at creation time The platform supports a message transport service based on aglets proxies The knowledge of these proxies is crucial to all the agents in order to support the communication among them The environment does not provide a central mechanism to track the agents and know who is active when For instance when an agent moves from one platform to another its proxy changes making that all the other agents loose its contact The system provides also a control interface and aglet viewer Tahiti with which the user can launch aglets control their state and remove them from the platform The Aglet architecture structure is based on its life cycle For instance when an Aglet is created inside the platform its creation method is invoked and then when it is activated the run method is invoked The same happens to all main events on the Aglet cycle to each one there is an Aglet behaviour pre determi

Download Pdf Manuals

image

Related Search

Related Contents

none I7230-VB Installation Guide  Betriebsanleitung www.meteoserver.net    Digitus N-Way Switch 5 Gigabit Ports  Durable WHITEBOARD box  Artwizz SeeJacket Leather  取扱説明書 - 東栄電気工業  1 is - Yamaha Downloads  Newstar FPMA-D980D flat panel desk mount  DiMAX® 530S Motor/Switch Decoder 8156001  

Copyright © All rights reserved.
Failed to retrieve file