IJCSNS International Journal of Computer Science and Network Security, VOL.9 No.5, May 2009 139 Manuscript received May 5, 2009 Manuscript revised May 20, 2009 A Review of Middleware for Networked Robots Nader Mohamed, Jameela Al-Jaroodi, and Imad Jawhar UAE University, P.O. Box 17551, Al Ain, UAE Summary Networked robotic systems consist of a collection of interconnected components (being multiple robots working together or robots working with external systems such as wireless sensor networks or servers). These components require cooperation and collaboration to achieve a common goal. However application development for such collaborative distributed systems composed of many robots with sensors, embedded computers, and human users is very difficult. Therefore, middleware services can provide advanced approaches offering many possibilities and drastically enhancing the development process and the overall functionalities needed for networked robotic systems. This paper provides an overview study of networked robot middleware in this domain. It discusses middleware roles in networked robotic systems, provides different criteria for evaluating networked robot middleware, and presents some representative middleware solutions specifically designed for networked robots. Open issues in that domain are also discussed. Key words: Networked Robots, Middleware, Networked Robot Applications, Ubiquitous Robots. 1. Introduction Networked robotic systems have a great potential in many new applications and they offer practical and viable solutions to many application areas where human intervention may not be possible. Networked robotic systems refer to multiple robots, robot components and other external entities communicating and cooperating to achieve a common goal. The external entities can be sensor networks, computer systems, or human users. The common goal can be search-and-rescue (SAR) missions in dangerous environments or inaccessible terrains, human- assistance for the elderly or physically challenged, and medical/surgical operations. Robots can operate in environments that are equipped with wireless sensor networks and embedded computers communicating through wireless ad-hoc networks. These robots usually operate to achieve tasks in an efficient and accurate manner. The efficiency and accuracy of operations require robots to coordinate among themselves, act on information gathered from a wireless sensor network, utilize the services provided by other external computer systems, and cooperate with humans. Those various functionalities and requirements make networked robotic systems complex distributed systems consisting of a number of integrated hardware and software components. Since these components are commonly heterogeneous including the different robots, sensors, wireless sensor networks, and special types of servers, it is necessary to find ways to mask this heterogeneity and offer some innovative solutions to develop their applications. Due to their high components heterogeneity and unique characteristics, networked robotic systems in general pose considerable impediment and make the development of networked robot applications non-trivial. In addition, the existence of such resources and components also requires advanced and efficient techniques for cooperation and collaboration among them to achieve the desired goals. Therefore, there must be new software services, middleware, that act as the glue to link everything together in an efficient manner, supporting concurrency-intensive operations, enhancing collaboration, and insuring efficiency and robustness. Middleware for Networked robots should be customizable to different scenarios, applications and environments and it should be self-configuring, self- adaptive, and self-optimizing. Indeed the need for a middleware layer that fully meets the design and implementation of different challenges of networked robots technologies is a novel approach to resolve many of the open issues and drastically enhance communications among system components and the development of applications on such systems. Some research efforts have been done on surveying different aspects of robotics. Some surveyed space robotics [24], while others focused more on robot programming environments features and evaluations [7][21]. Some also focused on surveying different vision models for mobile robot navigation [10], while [30] presented different robotic mapping techniques. In addition, some research efforts were conducted on surveying different middleware approaches for emerging technologies such as ad hoc networks [14] and wireless sensor networks [15]. However none of the existing work investigated the current state of research on the design and development of middleware for networked robotic systems. In this paper we explore