You are on page 1of 23

A FAULT TOLERANT ARCHITECTURE FOR INTERNET

ROBOTS USING MOBILE AGENTS

TABLE OF CONTENTS

tITLE

PAGE
NO
ABSTRACT

1.

INTRODUCTION

2.

MOBILE AGENT

2.
1

DEFINATION

2.
2

PLATFORM

2.
3

CHARACTERISTICS

3.

MOBILE AGENTS SYSTEM

3.
1

PLATFORM BASED SYSTEM

3.
2

APPLICATION CENTRIC SYSTEM

4.

MULTIPLE ROBOT SYSTEM

4.
1

FAULT TOLERANCE AND ROBOT SYSTEM

4.
2

TEAM OF ROBOTS

5.

CONTROL AND ARCHITECTURE


5.
1

TYPES OF CONTROL

5.1.1

LOWER LEVEL CONTROL

5.1.2

HIGHER LEVEL CONTROL

10

5.1.3
5.
2

BEHAVIOR BASED CONTROL

10

MOBILE AGENTS INTERNET ROBOT


ARCHITECTURE

11

5.2.1.

CLIENT/SERVER COMPONENT

11

5.2.2.

SERVER/ROBOT COMPONENT

12

6.

PLATFORM

14

6.
1

ROBOT SIMULATOR

14

6.
2

AGENT SIMULATOR

15

7.

IMPLEMENTATION

16

8.

CONCLUSION

19

BIBLIOGRAPHY

20

APPENDIX-A POWER POINT SLIDES

ABSTRACT

21

In Internet robot system it is necessary to overcome the challenges of the


Internets limited bandwidth, in terminate transmission delay and potential data
loss in order to make use of its cost effective functionality.
Architecture developed for single Internet robots do not address a
fault tolerance issues in multiple Internet robot system.
In this report we are focusing on fault tolerant architecture for Internet
robots by using mobile agents, taking into consideration the challenges imposed
by Internet and to address this deficiency by developing fault tolerant
architecture for multiple Internet robots using mobile agents. We aim to
overcome these challenges and develop a fault tolerance in our system by
employing the mobile agent paradigm.

CHAPTER 1

INTRODUCTION
The Internet has made a significant impact on society through its use as a
communication and data transfer mechanism. It is anticipated that in the future its

impact will be seen in the control of remote embedded devices, including mobile
robots that can be teleoperated by Internet users. It is expected that these systems
will play a key role in hazardous environments such as the nuclear industry,
underwater, and space, and also serve us at home.
Although the Internet offers standardised, cost effective and accessible
functionality, its use as a communication mechanism is constrained by limited
bandwidth, indeterminate transmission delay, and potential data loss.
Recent Internet robot systems have developed control strategies to overcome the
effect of limited bandwidth and delay in the Internet. However these systems do
not sufficiently address fault tolerance issues such as loss of communication
within the system and partial or full loss of robot functionality. In addition most
of these systems control a single robot and would therefore not consider fault
tolerance issues related to multiple robot control.
Existing fault tolerant architectures are effective in the control of robots for which
they were designed, but they do not consider issues such as limited bandwidth,
indeterminate transmission delay and potential data loss. In addition they lack
consideration for the role of a human user within the robots control loop. We use
a mobile agent programming in building fault tolerance architecture in a multiple
Internet robot system.

CHAPTER 2

MOBILE AGENT

2.1. Definition:
Mobile agents are mobile software objects that are reactive, autonomous, goal
driven, temporally continuous and operate within an execution environment, they
can be programmed to communicate or learn.

2.2. Platform:
Mobile agents operate on agent platform. This is an execution environment that
forms a software layer between agents and underlying software/hardware. Most
agents have been developed using the Java Programming language.

Figure 1: Mobile Execution Environment

Agents platforms can run across group of networked computers providing a


uniform distributed computing environment within which mobile agents can
migrate and operate. Agents reside within a location in agent platform called as
Place.

2.3. Characteristics (Useful For Internet Robots):


They can operate asynchronously.
They can examine their execution environment and dynamically to change.
They can be transfer across a network to process data.
They can clone themselves or migrate away form points of failure in a system
so that functionality can be maintain.

CHAPTER 3
MOBILE AGENTS SYSTEM

My aim is to use some of beneficial characteristics of mobile agents in building


the architecture. The application that uses mobile agent technology is of two
types
a) Platform Based Mobile Agent System
b) Application Centric System

3.1. Platform Based Mobile Agent System:


It uses mobile agent platform consisting of two distributed locations. A user sends
control and data filtering agents from their local place. These then migrate to
remote agent place that has access to local agent functionality. One of them
controls robot while other filters data received form the robot. In this mobile
agent move commands in one process, reducing network communication.

Figure 2:Platform Based Mobile Agent System

3.2. Application Centric Mobile Agent System:


It uses mobile agent platform consisting of two distributed locations. Unlike the
platform based mobile agent system not all the application components are

10

mobile agent enabled. Mobile agent places are created on robot or server
computer, however the user uses the mobile agent place at their location. Instead
of launching the agents user sends commands using the traditional client /server
model and handled by agents at the robot location. If the communication with the
user is lost agents can use these commands locally, they can also migrate between
robot and server computer.
The roll of agent mobility is to generate a fault tolerance rather than reduce
the communication load. In this user has no need to install the agent platform
instead of that user needs to use a standard web browser to control of robot.

Figure 3: Application centric mobile agent system

CHAPTER 4

MULTIPLE ROBOT SYSTEM

11

1.Fault Tolerance And Robot system:


Mobile agents are movable software objects, that are reactive, autonomous &
goal driven. Also they can be programmed to autonomous & asynchronous
operations. They allow dynamic and flexible adaptation to changing environment
as well as communicate.
We use a mobile agent programming in building fault tolerance architecture
in a multiple Internet robot system. A mobile agent doesnt need a permanent
connection to user or robot .It can perform tasks even if it loses connection with
user or robot i.e. it works asynchronously

Figure 4: Architecture for multiple Internet robot system

These characteristics would aid in overcoming delay and failure in Internet


WAN connection in multiple robot system. Using services on local or remote host
in multiple robot system mobile agents could make use of services such as
sensor. This could would create improved sensory & actuator fault tolerance in
the system because their functionality could be use in multiple robot system

12

rather than on single robot. Transferring agents across network to process data at
its source can reduce bandwidth and latency.

4.2.Team of Robots:
A team of Internet robots can be formed based on heterogeneous platform by
using a mobile agent to encapsulate protocols (i.e. encapsulation of mobile agents
of communication protocol for different robots). In team robot system each robot
has its own unique control program.
Mobile agents can handle the unexpected situations as loss of human-robot
communication, robot-robot communication robot sensor, actuator or actuator
computer failure or moving away form the point of failure in the system so that
functionality can be maintained. This will allow controlling commands to robots
and data from robots to be retained.

13

CHAPTER 5

CONTROL AND ARCHITECTURE


In mobile robot system the mobile agents are use with the process of using more
intelligence. It can be implemented in two ways
a) More intelligence in remote robot
b) Users own intelligence
By implementing more intelligence in remote robot we overcome the
limited bandwidth and delay in Internet.

5.1.TYPES OF CONTROL:
It would be beneficial to provide user with method of control selection, the level
of control available to user could be determine by measuring Internet delay [7].
The client has access to the robot functionality through the user interface. There
are three methods of control that gives the autonomy of the robot in the system.
a) Lower Level of control (Direct control)
b) Higher level of control (coordinate control)
c) Behavior based control

5.1.1. Lower Level Of Control:


Direct Control:
A Direct control provides user a low level control of the robot by using certain
buttons, which gives no autonomy. The control commands are directly given to
the robot through the robot agent and data returned to the Communication agent
via the user interface.
If a low delay occurs in an event then user can use low level of control. In
lower level of control mobile agents activity get reduced or provide the user with

14

intelligent information to aid them in their decision-making. Lower level of


control shifts the intelligence form robot to user.

5.1.2. Higher Level Of Control:


Coordinate Control:
A Coordinate control provides user a medium level control of robot in which a
user can send a list of Cartesian coordinate. In this mode of control robot is under
control of supervised autonomy. The list of coordinate control is then received by
the robot agent, then forwarded to coordinate agents that stores it and submit the
individual coordinate command back to the robot agent and then forward to
robot. The data is again send back to the user interface. Therefore a control loop
is maintained between robot, robot agent and coordinate agent.
If a delay increases in an event then user can use high level of control.
Higher level of control shifts the intelligence from user to robot. As delay
increases so mobile agent should be able to take more active role in providing
fault tolerance of the system through migration.

5.1.3.Behavior Based Control:


A Behavior Based control provides a high level control of robot in they
specify a types of behavior a robot should exhibit. It has nearly full autonomy.
Behavior agents stores the list of high level behaviors submitted by user. Once
the list is submitted by the user to robot user can disconnect form the system. The
behavior agents are responsible for submitting the commands to robot until all
the previously submitted commands have been executed or robot fails.

15

5.2. Mobile Agents Internet Robot Architecture:


5.2.1Client/Server Component:
Figure 5 shows in more detail the Client/Server part of that system. The
communication Agent within this part of the system can provide two functions.
First it can monitor delay in the connection between Client and Server. Second it
can distribute commands to robots. The server computer in Internet robot systems
traditionally supplies the client with a user interface for robot control, as the
communication Agent also resides at the server it could therefore be used to
update the user interface, constraining control as delay increases, and forcing the
user to control robots using mechanisms that are appropriate to the level of
Internet delay.

Figure 5: Client/Server Component

16

5.2.2.Server/Robot Component:
Figure 6 shows Server/Robot part of the system. It contains number of agents
Robot Agents, Command Agents, Data Agents and Coordination Agents.
Robot Agent:
A robot agent can handle command communication between robot and
server. Command are stored in blackboard like structure form which
robot agent sends command to each robot and wait for response. When it
receives the respond it monitors it. This process happens for all type of
command in any level. If the connection between the user and robot
exists then the response goes to the user.
Coordination Agent:
A coordination agent is use to fascinate the behavior in which the robots perform
the coordinated actions, also they allow robots to monitor each others status to
allow fault tolerant behavior to be employed.
Command Agent:
Main function of command agent is to generate a fault tolerance in the system.
They access the local blackboard to the local robot agent, then coping data form
blackboard and generating clones of themselves on other robots distributes
commands across a team of robots.

17

Figure 6: Server/Robot component

Data Agent:
Main function of data agent is to generate a fault tolerance in the system. Data
agents could be use to store feedback data. When user losses connection form
server, data agent sends the feedback data back to user after reconnection.

18

CHAPTER 6

PLATFORM
Here we considered the simulated robot instead of real robot for the ease of
development. To establish communication between various components Internet
protocols as TCP/IP are used. The system basically consists of three parts as
robot simulator, an agent platform, and user interface.

1.Robot Simulator (Team Bots):


The simulator we have used is the TeamBots robot simulator. This is Java based
simulator, which allows simulation of multiple robots. This contains the objects
that provide environment with robot can interact. In a team robot system each
robot has its unique control program. In multiple robot system each robot can
read form or write to the dedicated location .It maintains a TCP/IP
communication to its own unique local agent. Even though the multiple robots
present on a single computer the unique agents resides on separate computers.
Because of robot simulator functionality limitations and the desirability of
testing multiple robot teams in the same environment, in which each robot
recognizes the existence of other robots, a single simulation environment
employing multiple robots on a single computer was employed.

2.Agent Simulator (Grassophore):


Grassophore is used as agent platform. Using Java programming and use to build
both static and dynamic agents by providing underlying execution environment
in which agents are created program it. It provides a developer with build in

19

function; some of these functions are used in mobile creation and mobile
manipulation or in customizing the behavior of mobile agents.
Build in functions of developer allows to move or clone agents over
Grassophore 2 enabled computers and store agents to local persistent area (Hard
Drive).

Figure 7:Simulation environment

CHAPTER 7
20

IMPLEMENTATION
In order to produce a mobile agent based multiple Internet telerobot system with
fault tolerance, implementation has been carried out as follows:

1. Select an Agent Platform:


Grasshopper [9], was selected as an agent platform. It is freely available, written
in Java (platform independent). The Grasshopper Agent Platform provides a
unified operating environment for mobile agents while encompassing distributed
computing components.

Select a Robot Platform :


TeamBots [10], was selected as a robot platform. It is a freely available, Java
based multi-robot simulator.

3. Link Agent Platform and Robot Platform


We link these two existing platforms together to build a simulation environment,
shown in Fig 8.

4. Develop Mobile Agent Control Architecture:


This activity will involve implementing the software configuration, produced in
the previous activity, in multiple computers, creating multiple mobile agent
enabled simulated robots.

21

Figure 8:Linking of Grassophore 2and TeamBotsTM

5. Conduct Experiments using the Architecture:


A number of experiments will be conducted and their results recorded and
analyzed so that some conclusions can be drawn about the validity of the use of
mobile agents for fault tolerant multiple internet telerobot control. Fig 8 . Linking
Grasshopper and TeamBots TM.
All components in Fig.8 are executed on a single computer. They allow mobile
agents executing on the Grasshopper platform to communicate with a robot
executing in TeamBots TM. The Grasshopper Agency contains a place for mobile
agents. The Grasshopper /TeamBots TM Interface uses both Grasshopper and
TeamBots TM communication protocols to converse between platforms. The
TeamBots

TM

RoboComm

Server

transfers

data

between

the

Grasshopper/TeamBots TM Interface and a robot operating in the TeamBots TM


TBSim

Robot

simulator. For

the

mobile

agents

and

mobile

agent

programmer/user, abstract methods and actions can be used to allow mobile


agents to communicate or move between agencies and places, which can be
located on the same or on different computers.

22

CHAPTER 8

CONCLUSION
Current Internet robot systems do not address fault tolerant control issues.
Current fault tolerant control system for multiple robots without a revision in
their design lack the functionality required making them effective in the Internet
robot domain.
Using the positive characteristics of mobile agents we can produce an
effective fault tolerant multiple robot system. The system is currently at
development stage using simulated rather than real robot. A number of
experiments will be carried out to test the validity for the mobile agent in fault
tolerant multiple Internet telerobot system.
Mobile agents provide us with support for asynchronous and autonomous
operation, dynamic and flexible adaptation to a changing environment, reduction
of communication costs, encapsulation of protocols and support for fault tolerant
computation.

23

BIBLIOGRAPHY
[1]

D. Estrin, R. Govindan, J. Heidemann. "Embedding the Internet:

Introduction, Communications of ACM, May, 2000.


[2]

H. Hu, L. Yu, P.W. Tsui, Q. Zhou, Internet-Based Robotic Systems for

Teleoperation, Int. J. of Assembly Automation, Vol. 21, No. 2, 2001.


[3]

Liam Cragg, Huosheng Hu. Building a Fault Tolerant Architecture For

Internet Robots Using Mobile Agent, University Of Essex, May 2003.


[4]

J. Baumann, Mobile Agents: Control Algorithms,LNCS, Vol. 1658,

Springer, June 2000.


[5] D. B. Lange, Mobile Objects and Mobile Agents: The Future of Distributed
Computing?, Proc. of the European Conf. Object-Oriented Prog., 1998.
[6]

P. Marques, P. Simoes, L. Silva, F. Boavida and J. Silva,Providing

applications with Mobile Agent Technology, in Proceedings of IEEE Open


Architectures and Network Programming Conference, 2001.
[7]

P.X. Liu, M.Q.-H. Meng, J. J. Gu and S. X. Yang, A Study of Internet

Delays for Robot Teleoperation using Biologically Inspired Approaches,


International Journal of Robotics and Automation, Vol. 17, No. 4, 2002.
[8] TeamBots, TeamBots-Homepage, World Wide Web,
http://www.teambots.org/, Jan, 2003
[9] IKV++ Technologies AG, Grasshopper 2 -HomePage,
http://www.grasshopper.de/, Jan 2003.

24

You might also like