Abstract
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.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
The Player Project. Free software tools for robot and sensor applications (2009), http://playerstage.sourceforge.net (accessed: July 22, 2009)
The orca-robotics project. Orca: Components for robotics (2009), http://orca-robotics.sourceforge.net (accessed: July 22, 2009)
MARIE. Mobile and autonomous robotics integration (2009), http://marie.sourceforge.net (accessed: July 22, 2009)
Emmerich, W.: Software engineering and middleware: A roadmap. In: Fikelstein, A. (ed.) The Future of Software Engeneering, pp. 117–129. ACM Press, Limerick (2000)
Myerson, J.M.: The Complete Book of Middleware, 1st edn. Auerbach Publications, Boca Raton (2002)
Geihs, K.: Middleware challenges ahead. IEEE Computer 34(6), 24–31 (2001)
Schmidt, D.C.: Middleware for real-time and embedded systems. Communications of the ACM 45(6), 43–48 (2002)
Object Management Group, Inc., 140 Kendrick Street, Building A, Suite 300, Needham, MA 02494, USA (2008), http://www.omg.org (accessed: December 15, 2008)
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)
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)
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)
Schmidt, D.C., Kuhns, F.: An overview of the real-time CORBA specification. Computer 33(6), 56–63 (2000)
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)
Objective Interface Systems, Inc., 220 Spring Street, Suite 530, Herndon, VA 20170-6201, USA (2009), http://www.ois.com (accessed: August 9, 2009)
OpenRTM-aist. RT Middleware (2009), http://www.is.aist.go.jp/rt/OpenRTM-aist (accessed: August 9, 2009)
Callison, R., Butler, D.: Real-time corba trade study. Technical Report D204-31159, The Boeing Company (1999)
Tuma, P., Buble, A.: Overview of the corba performance. In: Proc. of the 2002 EurOpen (2002)
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)
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)
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)
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)
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)
Montgomery, J.: A model for updating real-time applications. Real-Time Systems 27(2), 169–189 (2004)
Real-Time Innovations, 385 Moffett Park Drive, Sunnyvale, CA 94089, USA. Homepage (2008), http://www.rti.com (accessed: December 15, 2008)
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)
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)
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)
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)
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)
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)
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)
OROCOS Homepage. Open robot control software (2002), http://www.orocos.org (accessed: December 15, 2008)
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)
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)
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)
Microsoft Corporation, 1 Microsoft Way, Redmond, WA 98052-7329, USA. Microsoft robotics studio (2008), http://www.microsoft.com/robotics (accessed: December 15, 2008)
California Institute of Technology/Jet Propulsion Laboratory, M/S 198-219, 4800 Oak Grove Drive, Pasadena, CA 91109, USA (2009), http://claraty.jpl.nasa.gov (accessed: August 12, 2009)
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)
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)
Finkemeyer, B., Kröger, T., Wahl, F.M.: Executing assembly tasks specified by manipulation primitive nets. Advanced Robotics 19(5), 591–611 (2005)
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)
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)
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)
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)
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)
RTnet — Hard Real-Time Networking for Real-Time Linux (2008), http://www.rtnet.org (accessed: December 15, 2008)
Xenomai (2008), http://www.xenomai.org (accessed: December 15, 2008)
QNX Software Systems, 175 Terence Matthews Crescent, Ottawa, Ontario, Canada, K2M 1W8 (2009), http://www.qnx.com (accessed: October 23, 2009)
Wind River Systems, Inc., 500 Wind River Way, Alameda, CA 94501, USA (2009), http://www.windriver.com (accessed: August 12, 2009)
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)
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)
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)
Stäubli Faverges SCA, Place Robert Stäubli BP 70, 74210 Faverges (Annecy), France (2008) http://www.staubli.com/en/robotics (accessed: December 15, 2008)
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)
The MathWorks Inc., 3 Apple Hill Drive, Natick, MA 01760-2098, USA (2008), http://www.mathworks.com (accessed: December 15, 2008)
Institut für Robotik und Prozessinformatik at the Technische Universität Carolo-Wilhelmina zu Braunschweig, Mühlenpfordtstr. 23, D-38106 Braunschweig, Germany (2008), http://www.rob.tu-bs.de/en (accessed: December 15, 2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Finkemeyer, B., Kröger, T., Wahl, F.M. (2010). A Middleware for High-Speed Distributed Real-Time Robotic Applications. In: Schütz, D., Wahl, F.M. (eds) Robotic Systems for Handling and Assembly. Springer Tracts in Advanced Robotics, vol 67. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16785-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-642-16785-0_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16784-3
Online ISBN: 978-3-642-16785-0
eBook Packages: EngineeringEngineering (R0)