A Middleware for High-Speed Distributed Real-Time Robotic Applications

  • Bernd Finkemeyer
  • Torsten Kröger
  • Friedrich M. Wahl
Part of the Springer Tracts in Advanced Robotics book series (STAR, volume 67)


The development of modular and distributed real-time software systems — as they are common in the field of research and development of robotic manipulation control systems — can be greatly simplified by appropriate middleware concepts. This paper generically introduces the basic concepts of the middleware solution MiRPA (Middleware for Robotic and Process Control Applications). MiRPA’s employment allows the implementation of complex distributed real-time software architectures. It handles publisher/subscriber as well as client/server communication between local and distributed software modules with very small worst-case latencies (≪ 1 ms). Besides introducing basics on inter-module and inter-node communication for these two communication models, deadlock avoiding strategies, and methods of redundancy handling, we finally show results of real-world measurements and applications.


Software Module Server Module Answer Message Common Object Request Broker Architecture Object Request Broker 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    The Player Project. Free software tools for robot and sensor applications (2009), (accessed: July 22, 2009)
  2. 2.
    The orca-robotics project. Orca: Components for robotics (2009), (accessed: July 22, 2009)
  3. 3.
    MARIE. Mobile and autonomous robotics integration (2009), (accessed: July 22, 2009)
  4. 4.
    Emmerich, W.: Software engineering and middleware: A roadmap. In: Fikelstein, A. (ed.) The Future of Software Engeneering, pp. 117–129. ACM Press, Limerick (2000)Google Scholar
  5. 5.
    Myerson, J.M.: The Complete Book of Middleware, 1st edn. Auerbach Publications, Boca Raton (2002)CrossRefGoogle Scholar
  6. 6.
    Geihs, K.: Middleware challenges ahead. IEEE Computer 34(6), 24–31 (2001)Google Scholar
  7. 7.
    Schmidt, D.C.: Middleware for real-time and embedded systems. Communications of the ACM 45(6), 43–48 (2002)CrossRefGoogle Scholar
  8. 8.
    Object Management Group, Inc., 140 Kendrick Street, Building A, Suite 300, Needham, MA 02494, USA (2008), (accessed: December 15, 2008)
  9. 9.
    Fay-Wolfe, V., DiPippo, L.C., Cooper, G., Johnston, R., Kortmann, P., Thuraisingham, B.: Real-time corba. IEEE Transactions on Parallel and Distributed Systems 11(10), 1073–1089 (2000)CrossRefGoogle Scholar
  10. 10.
    Pyrali, I., Schmidt, D.C., Cytron, R.K.: Techniques for enhancing real-time corba quality of service. Proc. of the IEEE 91(7), 1070–1085 (2003)CrossRefGoogle Scholar
  11. 11.
    Schmidt, D.C., Levine, D.L., Mungee, S.: The design of the TAO real-time object request broker. Computer Communications 21(4), 294–324 (1998)CrossRefGoogle Scholar
  12. 12.
    Schmidt, D.C., Kuhns, F.: An overview of the real-time CORBA specification. Computer 33(6), 56–63 (2000)CrossRefGoogle Scholar
  13. 13.
    Schmidt, D.C., Deshpande, M., O’Ryan, C.: Operating system performance in support of real-time middleware. In: Proc. of the seventh IEEE International Workshop on Object-Oriented Real-Time Dependable Systems, San Diego, CA, USA, pp. 199–206 (2002)Google Scholar
  14. 14.
    Objective Interface Systems, Inc., 220 Spring Street, Suite 530, Herndon, VA 20170-6201, USA (2009), (accessed: August 9, 2009)
  15. 15.
    OpenRTM-aist. RT Middleware (2009), (accessed: August 9, 2009)
  16. 16.
    Callison, R., Butler, D.: Real-time corba trade study. Technical Report D204-31159, The Boeing Company (1999)Google Scholar
  17. 17.
    Tuma, P., Buble, A.: Overview of the corba performance. In: Proc. of the 2002 EurOpen (2002)Google Scholar
  18. 18.
    Polze, A., Sha, L.: Real-time programming with CORBA. In: Proc. of the 24th Euromicro Conference, Network Computing Workshop, Vasteras, Sweden, vol. 2, pp. 997–1004 (1998)Google Scholar
  19. 19.
    Polze, A., Schwarz, J., Wehner, K., Sha, L.: Integration of CORBA services with a dynamic real-time architecture. In: Proc. of the sixth IEEE Real-Time Technology and Applications Symposium, Washington, D.C., USA, pp. 198–207 (2000)Google Scholar
  20. 20.
    Sha, L., Rajkumar, R., Gagliardi, M.: The simplex architecture: An approach to build evolving industrial computing systems. In: Proc. of the ISSAT Conference on Reliability (1994)Google Scholar
  21. 21.
    Rajkumar, R., Gagliardi, M., Sha, L.: The real-time publisher/subscriber inter-process communication model for distributed real-time systems: Design and implementation. In: Proc. of the IEEE Real-Time Technology and Applications Symposium, Chicago, IL, USA, pp. 66–75 (1995)Google Scholar
  22. 22.
    Seto, D., Krogh, B.H., Sha, L., Chutinan, A.: Dynamic control system upgrade using the simplex architecture. IEEE Control Systems Magazine 18(4), 72–80 (1998)CrossRefGoogle Scholar
  23. 23.
    Montgomery, J.: A model for updating real-time applications. Real-Time Systems 27(2), 169–189 (2004)CrossRefzbMATHGoogle Scholar
  24. 24.
    Real-Time Innovations, 385 Moffett Park Drive, Sunnyvale, CA 94089, USA. Homepage (2008), (accessed: December 15, 2008)
  25. 25.
    Yau, S.S., Karim, F.: An adaptive middleware for context-sensitive communications for real-time applications in ubiquitous compuing environments. Real-Time Systems 26(1), 29–61 (2004)CrossRefzbMATHGoogle Scholar
  26. 26.
    Kon, F., Román, M., Liu, P., Mao, J., Yamane, T., Magalhaes, L.C., Campbell, R.H.: Monitoring, security, and dynamic configuration with the dynamicTAO reflective ORB. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 121–143. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  27. 27.
    Hauck, F.J., Meier, E., Becker, U., Geier, M., Rastofer, U., Steckermeier, M.: A middleware architecture for scalable, qos-aware and self-organizing global services. In: Linnhoff-Popien, C., Hegering, H.-G. (eds.) Proc. of the third IFIP/GI Conf. on Trends Towards a Universal Services Market, Trends in Distributed Systems: Towards a Universal Service Market, pp. 117–129. Springer, Munich (2000)Google Scholar
  28. 28.
    Murphy, A.L., Picco, G.P., Roman, G.-C.: LIME: A middleware for physical and logical mobility. In: Proc. of the 21st International Conference on Distributed Computing Systems, Mesa, AZ, USA, pp. 524–533 (2004)Google Scholar
  29. 29.
    Handorean, R., Payton, J., Julien, C., Roman, G.-C.: Coordination middleware supporting rapid deployment of ad hoc mobile systems. In: Proc. of the 23rd International Conference on Distributed Computing Systems Workshop, Providence, RI, USA, pp. 362–368 (2003)Google Scholar
  30. 30.
    Hermann, K.: MESHMdl — A middleware for self-organization in ad hoc networks. In: Proc. of the first International Workshop on Mobile Distributed Computing, Providence, RI, USA, p. 446 (2003)Google Scholar
  31. 31.
    Bäuml, B., Hirzinger, G.: Agile robot development (aRD): A pragmatic approach to robotic software. In: Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, pp. 3741–3748 (2006)Google Scholar
  32. 32.
    OROCOS Homepage. Open robot control software (2002), (accessed: December 15, 2008)
  33. 33.
    Bruyninckx, H., Soetens, P., Koninckx, B.: The real-time motion core of the orocos project. In: Proc. of the IEEE International Conference on Robotics and Automation, Taipei, Taiwan, pp. 2766–2771 (2003)Google Scholar
  34. 34.
    Brooks, A., Kaupp, T., Makarenko, A., Williams, S., Orebäck, A.: Towards component-based robotics. In: Proc. of the IEEE International Conference on Robotics and Automation, Barcelona, Spain, pp. 163–168 (2005)Google Scholar
  35. 35.
    Vaughan, R.T., Gerkey, B.P., Howard, A.: On device abstractions for portable, reusable robot code. In: Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems, Las Vegas, NV, USA, vol. 3, pp. 2421–2427 (2003)Google Scholar
  36. 36.
    Microsoft Corporation, 1 Microsoft Way, Redmond, WA 98052-7329, USA. Microsoft robotics studio (2008), (accessed: December 15, 2008)
  37. 37.
    California Institute of Technology/Jet Propulsion Laboratory, M/S 198-219, 4800 Oak Grove Drive, Pasadena, CA 91109, USA (2009), (accessed: August 12, 2009)
  38. 38.
    Utz, H., Sablatnög, S., Enderle, S., Kraetzschmar, G.: Miro — Middleware for mobile robot applications. IEEE Trans. on Robotics and Automation 18(4), 493–497 (2002)CrossRefGoogle Scholar
  39. 39.
    Finkemeyer, B., Borchard, M., Wahl, F.M.: A robot control architecture based on an object server. In: IASTED International Conference Robotics and Manufacturing, Cancun, Mexico, pp. 36–40 (2001)Google Scholar
  40. 40.
    Finkemeyer, B., Kröger, T., Wahl, F.M.: Executing assembly tasks specified by manipulation primitive nets. Advanced Robotics 19(5), 591–611 (2005)CrossRefGoogle Scholar
  41. 41.
    Diethers, K., Finkemeyer, B., Kohn, N.: Realizing open control software for high dynamic processes with a middleware. It - Information Technology 46(1), 39–47 (2004)CrossRefGoogle Scholar
  42. 42.
    Dadji, Y., Michalik, H., Kohn, P.N., Steiner, J., Beckmann, G., Möglich, T., Varchmin, J.-U.: A Communication Architecture for Distributed Real-Time Robot Control. In: Schütz, D., Wahl, F.M. (eds.) Robotic Systems for Handling and Assembly. STAR, vol. 67, pp. 213–231. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  43. 43.
    Maaß, J., Dietrich, F., Hesselbach, J.: RCA562: Control Architecture for Parallel Kinematic Robots. In: Schütz, D., Wahl, F.M. (eds.) Robotic Systems for Handling and Assembly. STAR, vol. 67, pp. 315–331. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  44. 44.
    Steiner, J., Diethers, K., Goltz, U.: Model Based Quality Assurance for a Robotic Software Architecture. In: Schütz, D., Wahl, F.M. (eds.) Robotic Systems for Handling and Assembly. STAR, vol. 67, pp. 373–389. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  45. 45.
    Steiner, J., Maaß, J., Goltz, U.: Self-Management within a Software Architecture for Parallel Kinematic Machines. In: Schütz, D., Wahl, F.M. (eds.) Robotic Systems for Handling and Assembly. STAR, vol. 67, pp. 355–371. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  46. 46.
    RTnet — Hard Real-Time Networking for Real-Time Linux (2008), (accessed: December 15, 2008)
  47. 47.
    Xenomai (2008), (accessed: December 15, 2008)
  48. 48.
    QNX Software Systems, 175 Terence Matthews Crescent, Ottawa, Ontario, Canada, K2M 1W8 (2009), (accessed: October 23, 2009)
  49. 49.
    Wind River Systems, Inc., 500 Wind River Way, Alameda, CA 94501, USA (2009), (accessed: August 12, 2009)
  50. 50.
    Kröger, T., Finkemeyer, B., Wahl, F.M.: Manipulation Primitives — A Universal Interface Between Sensor-Based Motion Control and Robot Programming. In: Schütz, D., Wahl, F.M. (eds.) Robotic Systems for Handling and Assembly. STAR, vol. 67, pp. 293–313. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  51. 51.
    Finkemeyer, B., Kröger, T., Kubus, D., Olschewski, M., Wahl, F.M.: 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, San Diego, CA, USA, pp. 78–93 (2007)Google Scholar
  52. 52.
    Kröger, T., Finkemeyer, B., Winkelbach, S., Molkenstruck, S., Eble, L.-O., Wahl, F.M.: A manipulator plays Jenga. IEEE Robotics and Automation Magazine 15(3), 79–84 (2008)CrossRefGoogle Scholar
  53. 53.
    Stäubli Faverges SCA, Place Robert Stäubli BP 70, 74210 Faverges (Annecy), France (2008) (accessed: December 15, 2008)
  54. 54.
    Osypiuk, R., Kröger, T.: Parallel Stiffness Actuators with Six Degrees of Freedom for Efficient Force/Torque Control Applications. In: Schütz, D., Wahl, F.M. (eds.) Robotic Systems for Handling and Assembly. STAR, vol. 67, pp. 275–291. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  55. 55.
    The MathWorks Inc., 3 Apple Hill Drive, Natick, MA 01760-2098, USA (2008), (accessed: December 15, 2008)
  56. 56.
    Institut für Robotik und Prozessinformatik at the Technische Universität Carolo-Wilhelmina zu Braunschweig, Mühlenpfordtstr. 23, D-38106 Braunschweig, Germany (2008), (accessed: December 15, 2008)

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Bernd Finkemeyer
    • 1
  • Torsten Kröger
    • 2
  • Friedrich M. Wahl
    • 3
  1. 1.KUKA Roboter GmbHAugsburgGermany
  2. 2.Artificial Intelligence Laboratory, Department of Computer ScienceStanford UniversityStanfordUSA
  3. 3.Institute for Robotics and Process ControlTechnische Universität BraunschweigBraunschweigGermany

Personalised recommendations