Robotics developers require efficient middleware specifically designed for real-time systems. Real-Time Innovations (RTI), based in Sunnyvale, Calif., provides optimized publish/subscribe middleware for real-time systems, including robotics, that avoids the problems that have tripped up other robotics middleware efforts.
In the information technology industry, middleware often is referred to as “plumbing.” It sits out of sight, tucked below the application layer, and serves to connect the various application components, broker information, and data exchanges; facilitate integration; expedite message delivery; and, if necessary, perform various data transformations and translations.
Robotics platforms can benefit from middleware too, but conventional IT middleware simply is too heavy, too slow, and too resource-intensive for the demands of real-time robotics. Robotics middleware, due to the nature of the robotics challenges, must provide support for hardware integration and control, as well as traditional middleware services for systems, applications, and networked communications. And it has to perform fast-extremely fast-preferably in real time.
The primary benefit of IT middleware is the elimination of the low-level coding required when integrating different applications, systems, or components. Without middleware, integration code must be provided for every application or component in the system. Whenever the system is changed, recoding is required. Middleware frees the robotics developer from the repeated low-level programming to connect each software, hardware, and communications module that make up a given robotics system.
Classes of Robotics Middleware
In 2008, researchers Nader Mohamed, Jameela Al-Jaroodi, and Imad Jawhar from the College of Information Technology, United Arab Emirates University, surveyed robotics middleware. They identified more than a dozen pieces of middleware using a range of standards and technologies-Common Object Request Broker (CORBA), Web services (HTTP/XML/SOAP), publish/subscribe, Universal Plug and Play (UPnP)-that have been used in robotics systems. However, the researchers also reported numerous complaints about robotics middleware, ranging from the lack of standardized services to a limited ability to self-configure. The researchers raised concerns about the security mechanisms within the middleware, the continued reliance on developers working at low levels of abstraction, and issues with heterogeneity among robots working at the same task.
Among the robotics middleware products the researchers identified were Miro, object-oriented middleware for robots developed by University of Ulm, Germany; UPnP middleware, developed by Korea Institute of Science and Technology to utilize the UPnP architecture for dynamic robot internal and external software integrations and for ubiquitous robot control; RT (Robot-Technology) middleware developed in collaboration among the Japanese Ministry of Economy, Trade, and Industry (METI), the Japan Robot Association (JARA), and National Institute of Advanced Industrial Science and Technology (AIST) to produce a robotics software infrastructure based on CORBA; and others.
RTI’s middleware uses a publish/subscribe model that streamlines the middleware process by handling only the data the components specifically need (the data to which the components are subscribed). Called RTI Data Distribution Service (DDS), the RTI middleware brings the benefits of a service-oriented architecture (SOA) to real-time systems. It combines loose coupling, full standards compliance, and low latency/high performance to overcome the limitations of conventional middleware.
RTI Data Distribution Service
In many ways, the RTI robotics middleware resembles conventional IT middleware. For example, it employs an enterprise service bus (ESB). However, this is not the type of ESB used by IT-oriented middleware products from vendors such as TIBCO or IBM.
Instead, RTI has created its Data Distribution Service as an ESB using peer-to-peer technology. With RTI, each component in the robotics system is a peer with its own version of the middleware software. This approach avoids the potential for a single point of failure, since each peer can continue with middleware functions on its own. Each peer provides (publishes) information and requests (subscribes to) information, which forms the basis of the publish/subscribe architecture.
The RTI Data Distribution Service uses a high-performance message bus based on the Object Management Group (OMG) Data Distribution Service for Real-Time Systems (DDS) standard. According to RTI, DDS is the only general-purpose middleware standard designed specifically to satisfy the performance and quality of service (QoS) requirements of real-time systems. In addition, since it is an industry-embraced standard, it eliminates vendor dependence through specification of both an application programming interface for cross-vendor portability and a wire protocol (Real-Time Publish/Subscribe, or RTPS) for cross-vendor interoperability.
RTI, however, further augments DDS with various adapters to other widely used middleware standards and applications. These include JMS, Web services, SOAP, REST, SQL, and Microsoft Excel. Support for these interoperability standards and protocols eases integration of real-time applications with legacy systems and non-real-time applications. The result, according to RTI, is a solution that fosters net-centricity and eliminates the need for custom bridging and integration solutions.
DDS Reduced to the Essentials
RTI also optimized the base OMG DDS to work efficiently with the limited resources-memory, CPU, and bandwidth-within robotics systems. To that end, it reduced the class libraries to just 2.5MB, which easily fits on flash memory cards and drives. When system requirements demand a further reduction in the resource footprint, such as when installing the DDS middleware on a sensor, it will load only a minimal subset of its QoS functionality.
Bandwidth is another precious resource in real-time robotics systems. The peer-to-peer approach is bandwidth-efficient. RTI further conserves bandwidth by managing the discovery phases through which applications and components find out about each other and learn what they actually need.
Another way RTI conserves bandwidth is through publish/subscribe. Each application subscribes to only the services it requires. For example, an application might want temperature data so it subscribes to temperature messages, but not necessarily every temperature message. Rather, it may only care about temperatures higher than 125 degrees. In that case, it would just be sent alerts when the temperature exceeds that.
RTI DDS also has multicast capabilities-the ability to send the same message to multiple parties at the same time-and uses it when it is advantageous. However, it relies primarily on unicast, where messages are sent only to the component that requested it. Through publish/subscribe and unicast, RTI DDS effectively conserves bandwidth.
RTI DDS uses a data-centric integration model that supports decoupled applications that can communicate by publishing the data they produce and subscribing to the types of data as needed. The components require no knowledge of each other, only of the data they exchange. As such, they are truly loosely coupled. The middleware automatically discovers and establishes data flows between components by matching published data with subscriber requests. This loose coupling allows robotics developers to add, upgrade, remove, and dynamically change applications without impacting the remainder of the system.
Loose coupling, along with automatic discovery, makes possible the development and deployment of autonomous, ad hoc, and self-healing systems. The RTI middleware can spontaneously and autonomously discover the presence of new applications and connect them to other applications to share data. Likewise, applications continue to function even when previously connected peers are no longer accessible. This eliminates the need for active configuration, administration, or directory services.
Performance Is Key
In the end, robotics middleware is judged based on performance. As completely decentralized middleware, RTI can maximize performance, while providing scalability and robustness. Publishers send messages directly to subscribers in a true peer-to-peer manner. There is no intermediate broker, server, or daemon processes as with other ESBs, enterprise messaging solutions, or even other DDS implementations.
Robotics developers require efficient middleware specifically designed for real-time systems. There is much middleware out there, as the United Arab Emirates researchers noted, but few if any offer the combination of loose coupling and publish/subscribe that RTI delivers.
|The Bottom Line
Conventional IT middleware does not work well for robotics systems—the class libraries are too large, it is resource-intensive, and slow. Yet hand-coding the functionality provided by middleware services, however optimized it can be, is too difficult and time consuming. Also, it does not easily support system changes. What is required is agile middleware that eliminates the need for robotics developers to painstakingly code connections between robotics system components. The RTI Data Distribution Service is lightweight, standards-based middleware designed for integrating real-time systems, including robotics systems, that: