Torsten Kroeger

Stanford Artificial Intelligence Laboratory

Distributed Real-Time Middleware

This research has been conducted at the Institut für Robotik und Prozessinformatik at the Technische Universität Braunschweig, Germany.

Motivation: Modular, Scalable, and Flexible Software System with Low Worst-Case Latencies

The realization of modular and distributed software systems can be significantly simplified by using middlewares — a software layer between the operating system and the applications running on one or computing nodes. The complexity of software architectures in research and development projects of robot control systems is continuously increasing. In order to obtain modular, extensible, and flexible software structures, middleware-based approaches have proven to be of high practical relevance: Huge numbers of commercial and/or freely available solutions are available for many applications — including robotic applications. In particular the field of mobile robotics features many software frameworks (e.g., OROCOS, ROS, Player, Orca, or MARIE). Nevertheless, in the field of robotic manipulation control, the additional necessity of low worst-case latencies for the intercommunication among software modules, that is, real-time capability is required, as control algorithms have to be executed in isochronous time intervals (in the range of microseconds).

MiRPA: Middleware for Robotics and Process Control Applications

Several solutions have been investigated and theoretic concepts for intercommunication issues within computing networks have been combined to achieve new middleware solution: MiRPA -- Middleware for Robotic and Process Control Applications. This message-driven middleware implementation has been designed for meeting the special demands in robotic and automation applications, inparticular low worst-case latencies during intercommunication procedures. As a result, it became possible to design very modular and open control systems. The following figure shows an exemplary setup of a control system for a six-joint industrial manipulator.

  • A sample for a MiRPA-based software architecture of a six-joint robotic manipulator (click to enlarge). A sample for a MiRPA-based software architecture of a six-joint robotic manipulator (click to enlarge).

All installed modules only have one communicate partner: the middleware. Once interfaces have been defined modules can be added and/or exchanged even during runtime, which makes this software solution very attractive for research purposes. New sensors and controllers can be integrated easily without changing the core of the control system. Rapid control prototyping becomes significantly simplified due to an interface to Matlab/Simulink. Models from Matlab can be executed as MiRPA-module on the real-time target system.

The modules MP Interface (Manipulation Primitive) and MP Execution form the core of the control system. The MP Interface module works as interface to the robot program, which is based on manipulation primitives, and MP Execution is connected to all control and sensor modules on the right side and generates set-points for the joint controller. The charm of this setup is that the communication interfaces of all modules on the right side in figure above have the same communication profile, which leads to this easy way of adding and exchanging modules.

As one result, worst-case latencies in the range of 20 microseconds could be achieved for small intercommunication (< 500 bytes) messages between two processes — as can be seen in the figure below.

  • MiRPA latency measurements (click to enlarge). MiRPA latency measurements (click to enlarge).

In a distributed system, the same intercommunication procedure requires a time of less 75 microseconds. In both illustrated cases, the same software and hardware environments were used, that is: Two exacly equivalent PCs: Intel Core2Duo E6400 (2x2.133 GHz, 2048KB L2 Cache), 1GB DDR2-800, Gigabyte GA-965P-DS3 Mainboard, Intel PRO/1000MT Gigabit Ethernet network adapter (two nodes directly connected via cross Ethernet cable), QNX 6.3.0 with Service Pack 3.

Every time a modular, scalable, and flexible real-time system is desired, MiRPA brings in its great advantages. The following list shows some of the most important features of MiRPA:

  • Low worst-case latencies
  • Client/server communication model
  • Publisher/subscriber communication model
  • Ad hoc and context sensitive communication
  • Support of several real-time and non-time communication media
  • Routing functionality
  • Possibility of using redundant modules
  • Monitoring system for quality of service
  • Central deadlock avoidance
  • High performance on single and multiple node systems
  • Direct interface Matlab/Simulink

 

Please refer to the following publications:

  • A Middleware for High Speed Distributed Real-Time Communication.
    In Robot Systems for Handling and Assembly. Springer Tracts in Advanced Robotics, Vol. 67, Springer, pp. 193-212, 2010. BibTeX

    @incollection{Finkemeyer:10,
    	author = {B.~Finkemeyer and T.~Kr{\"o}ger and F.~M.~Wahl},
    	title = {A Middleware for High Speed Distributed Real-Time Communication},
    	booktitle = {Robot Systems for Handling and Assembly},
    	editor = {D.~Sch{\"u}tz and F.~M.~Wahl},
    	series = {Springer Tracts in Advanced Robotics},
    	address = {Berlin, Heidelberg, Germany},
    	publisher = {Springer},
    	edition = {first},
    	volume = {67},
    	pages = {193--212},
    	year = {2010}
    }
    			
  • Multi-Sensor Integration and Sensor Fusion in Industrial Manipulation: Hybrid Switched Control, Trajectory Generation, and Software Development.
    In Proc. of the IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, pp. 411-418, Seoul, South Korea, August 2008. BibTeX

    @inproceedings{Kroeger:08e,
    	author = {T.~Kr{\"o}ger and F.~M.~Wahl},
    	title = {Multi-Sensor Integration and Sensor Fusion in Industrial Manipulation: {H}ybrid Switched Control, Trajectory Generation, and Software Development},
    	booktitle = {Proc. of the IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems},
    	month = {August},
    	pages = {411--418},
    	address = {Seoul, South Korea},
    	year = {2008}
    }
    			
  • MiRPA: Middleware for Robotic and Process Control Applications.
    In Workshop on Measures and Procedures for the Evaluation of Robot Architectures and Middleware at the IEEE/RSJ International Conference on Intellegent Robots and Systems, pp. 78-93, San Diego, CA, USA, October 2007. BibTeX

    @inproceedings{Kroeger:07d,
    	author = {B.~Finkemeyer and T.~Kr{\"o}ger and D.~Kubus and M.~Olschewski and F.~M.~Wahl},
    	title = {{M}i{R}{P}{A}: {M}iddleware for Robotic and Process Control Applications},
    	booktitle = {Workshop on Measures and Procedures for the Evaluation of Robot Architectures and Middleware at the {I}{E}{E}{E}/{R}{S}{J} International Conference on Intellegent Robots and Systems},
    	month = {October},
    	pages = {78--93},
    	address = {San Diego, CA, USA},
    	year = {2007}
    }
    			
  • .
    In , pp. 198-218, Braunschweig, Germany, February 2007. BibTeX

    @inproceedings{Kroeger:07a,
    	author = {K.~K{\"o}nig and V.~Sch{\"o}ning and T.~Kr{\"o}ger},
    	title = {Ein transparentes, modulares Kommunikationsframework f{\"u}r die Entwicklung von Software im Automobilbereich},
    	booktitle = {{A}{A}{E}{T}: 8. {S}ymposium zum Thema Automatisierungs-, Assistenzsysteme und eingebettete Systeme f{\"u}r Transportmittel},
    	pages = {198--218},
    	address = {Braunschweig, Germany},
    	month = {February},
    	year = {2007}
    }