Designing Distributed, Component-Based Systems for Industrial Robotic Applications
Michele Amoretti, Stefano Caselli, Monica Reggiani · 2006
The exploitation of standard components and distributed systems technology as key interconnection infrastructure can help to alleviate many of the complexity issues associated with the requirements of flexibility, fast implementation, maintainability, and portability.However, requirements arising in industrial automation provide additional challenges to application developers, beyond those faced when middleware technology is deployed in standard Internet applications.Control of manufacturing lines and data acquisition systems requires reliable and high-performance architectures operating in real-time.Resorting to custom protocols to satisfy such requirements in the context of complex systems is no longer viable.The need to reconfigure systems quickly and frequently for competitiveness leads to the development of heterogeneous systems built by integrating a mix of new and legacy equipment, with a variety of hardware, operating systems, and programming language to be taken into account.Another challenge confronting developers is the very size and complexity of industrial systems that often prevent a full understanding of the overall system and libraries, making hard for developers to predict the side-effects of future changes.The purpose of this chapter is to describe how mainstream and advanced features of an object-oriented middleware can be exploited to meet the requirements of novel industrial robotic applications.We identify CORBA as the middleware best suited for such applications.More specifically, we review a number of CORBA services and show how Real-Time CORBA extensions and asynchronous method invocation meet performance and functional requirements.CORBA services for concurrency control and large-scale data distribution provide an effective infrastructure to meet common requirements arising in the control of distributed devices.Limitations in currently available implementations of the CORBA standards (e.g. for fault-tolerance and security) are also discussed.The remaining of the chapter is organized as follows.Section 2 describes the fundamental requirements to be faced in the development of distributed industrial applications.Section 3 provides a brief overview of the two most prominent actors of the distributed middleware scenario, Web Services and CORBA.Section 4 illustrates and evaluates the most advanced CORBA features and other CORBA services relevant to distributed industrial robotic applications.Section 5 presents a sample CORBA-based application including a robotic manipulator platform and several sensor devices.Finally, Section 6 concludes the chapter, discussing its main results.