INTRODUCTION
7) Autonomy: Embedding autonomy into the middleware can allow for scheduling parallel and sequential tasks in a multi-robot networked environment
It can also facilitate the searching of free resources (robots) on the network that can execute a given task. Further such middleware can also express a robot’s willingness to engage in the execution of a scheduled task on the network.
The development of a robust middleware for networked robots thus seems to require a paradigm shift. This can be achieved from insights gained by inspecting not only middleware design approaches used in networked robotics but also those used in allied areas. Since sensor networks are akin to networked robotics, it may be worthwhile to inspect the design approaches of middleware used therein. Few of such approaches have been discussed in the subsequent section.
1.6 Middleware Design Approaches
Middleware in both robotic systems or sensor networks plays a similar role. It provides a software infrastructure that glues together the network hardware, operating systems, network stacks and applications. Moreover middleware offers standardized system services to various applications, provides an environment supporting and coordinating multiple applications and also tenders mechanisms to achieve adaptive and efficient utilization of system resources. In robotics, especially in multi-robot systems, the choice of a middleware plays a crucial role in determining the cooperation approaches, communication methods, support for heterogeneity, scalability, portability and usability properties for that system.
In order to overcome the challenges mentioned in section 1.5, various solution approaches have been developed. Based on their individual
functions and their level of abstraction, these challenges can be classified into four types viz. Classic, Data-centric, Virtual machines and Adaptive [60].
Classic middleware approaches hide the complexity of network communication and data transfer. Data-centric middleware approaches provide an abstraction by considering the network as a database. Virtual-machine middleware approaches consider the network as a collection of code executers where programs/scripts are executed. The main focus of adaptive middleware approaches is to, as the name suggests, provide adaptability.
Virtual machine based middleware involves hosts which provide for the flexibility of containing a complete computing system in every node. In addition the other entities include smart and active messages and mobile agents. Smart
©[61]and Active messages are objects capable of processing on their own. These act as a medium for transfer of executable but fixed length data. Some of the common middleware approaches include distributed databases, agent based approach, virtual machine approach, application-oriented approach, message- oriented approach, component-based approach and macro-programming approach. In this thesis, we have opted to take-up an agent based middleware approach which uses mobile agents modeled on immune systems for multi-robot systems.
1.7 Mobile Agents
Mobile agents are software programs comprising code and data that can act autonomously and also can migrate carrying their execution state and data. Mobile agents provide the functionality just like other distributed computing paradigms. In addition to this they also feature mobility, cloning and autonomy. Furthermore, mobile agents just as their static counterparts have the ability to be embedded with behaviours and learning abilities that can make them exhibit intelligence. Mobility, cloning and payload carrying abilities of a mobile agent can facilitate a heterogeneous and faster flow of information across a
network. Scalability issues may also be tackled by injecting new agents, into the network on-the-fly, that carry relevant payloads so as to support new devices and robots. Thus intelligence, autonomy, scalability and asynchronous execution [62], make mobile agents prominent candidates for middleware for Networked Robotics.
This makes them ideal candidates for transferring and also embedding intelligence in distributed systems. These agents have been used in network management, monitoring, routing and load balancing and also in variety of other applications including information retrieval, robotics, etc.
Mobile agents share all characteristics of their static counterparts but stand apart in their capability to migrate and clone autonomously. The concept of cloning featured in mobile agents helps increase their population and indirectly allows for parallel operation and information transfer across a network. It can also aid in the upward scalability of a distributed system. Having multiple copies of an agent can not only enable parallel execution but can also provide fault-tolerance, thus increasing both robustness and efficiency of the system.
The technique of creating mobile agents has evolved from Remote Procedure Calls. A mobile agent migrates from one node to another through data duplication which is carried out by saving its own states and transporting this saved state to the new host and then resuming execution from the saved state.
Mobile agents have been proposed to be used in conjunction with wireless sensor networks [63] to perform operations such as data integration [64], [65], [66] and tracking [67]. Sensor network middleware based on mobile agents have been found to be energy efficient [68], [69]. Fok et al. [70] report an implementation of the use of such agents on a real sensor network.
1.8 Mobile Agent for Networked Robots
The use of mobile agents as a glue in the world of networked robotics is still rare [71]. Cragg and Hu initially describe an architecture[72] that uses mobile agents in conjunction with teleoperated robots. Cragg and Hu[73],[74]
elaborate on how the mobile agents augment robots to create an ALLIANCE like [19] distributed computing system. They have proposed and used a multi-robot system along with mobile agents to form patterns of robots. These robots can share knowledge and information to achieve complex tasks. However, their architecture does not highlight the actual need or utility behind the use of mobile agents nor is any functional enhancement, due to their use, portrayed.
Kambayashi et al.[75],[76] have also used mobile agents on multi-robot systems to perform experiments including control of biped walking. The same author has also used a mobile agent approach for an interesting trolley collector problem in an airport[77]. Nevertheless most of these applications fail to exploit the inherent and more important capabilities of a mobile agent system viz. migration and on- demand cloning. Other features such as communication and adaptiveness have also remained unutilized.
A paradigm suited to networked robotics, that can exploit all features of mobile agents to form the basic middleware, still seems missing. This thesis describes bio-inspired paradigms that make use of most of the salient features of mobile agents and provide autonomous search and service mechanisms for networked robots. The sections that follow describe the major contributions of the work carried out and a chapter-wise summary of the thesis.
1.9 Contributions of the Thesis
The work reported in this thesis attempts to portray bio-inspired mechanisms for use in conjunction with Networked Robots and Mobile Agents.
The major contributions made in this work are listed herein–
1. Formulation of a Mobile Agent based architecture for Networked