Definitions
Computing hardware in modern robotic platforms ranges from embedded microcontrollers to general-purpose CPU. To implement complex software applications, it is therefore common practice to separate computation in different components, whose execution is concurrent and distributed on the available hardware. Components in a distributed application exchange information – typically through a wired or wireless network – and are coordinated to obtain the desired behavior of the robot. Robotic researchers adopt software middleware to simplify the task of writing distributed applications and increase code reuse. The goals of this entry are to illustrate the general concepts of a software middleware, revise the specific middleware adopted in robotics, and discuss open problems that remain to be addressed.
Overview
A robot application is often too complex to be executed on a single processing unit. This complexity may...
References
Acutronic Robotics (2017) Hardware robot operating system. https://www.h-ros.com/. Accessed: 26 Jan 2017
Almquist P (1992) Type of service in the internet protocol suite
Bruyninckx H, Soetens P, Koninckx B (2003) The real-time motion control core of the Orocos project. In: IEEE international conference on robotics and automation, pp 2766–2771
Calisi D, Censi A, Iocchi L, Nardi D (2012) Design choices for modular and flexible robotic software development: the OpenRDK viewpoint. J Softw Eng Robot 3(1):13–27
Collett THJ, MacDonald BA, Gerkey BP (2005) Player 2.0: toward a practical robot programming framework. In: Proceedings of the Australasian conference on robotics and automation (ACRA 2005), p 145
Dantam NT, Lofaro DM, Hereid A, Oh P, Ames A, Stilman M (2015) The Ach library. Robot Autom Mag 22(1):76–85
Eugster PT, Felber PA, Guerraoui R, Kermarrec AM (2003) The many faces of publish/subscribe. ACM Comput Surv 35(2):114–131. https://doi.org/10.1145/857076.857078
Fernandez E, Foote T, Woodall W, Thomas D (2014) Next-generation ROS:building on DDS. https://roscon. ros.org/2014/wp-content/uploads/2014/07/ROSCON- 2014-Next-Generation-of-ROS-on-top-of-DDS.pdf. Accessed: 26 Jan 2017
Fitzpatrick P, Ceseracciu E, Domenichelli DE, Paikan A, Metta G, Natale L (2014) A middle way for robotics middleware. J Softw Eng Robot 5(2):42–49
Grey MX, Dantam N, Lofaro DM, Bobick A, Egerstedt M, Oh P, Stilman M (2013) Multi-process control software for HUBO2 plus robot. In: 2013 IEEE conference on technologies for practical robot applications (TePRA), pp 1–6. https://doi.org/10.1109/TePRA.2013.6556374
Hammer T, Bäuml B (2013) The highly performant and realtime deterministic communication layer of the aRDx software framework. In: IEEE international conference on advanced robotics. IEEE, pp 1–8
Huang AS, Olson E, Moore DC (2010) LCM: Lightweight communications and marshalling. In: IEEE/RSJ intelligent robots and systems, pp 4057–4062
iMatix Corporation (2014) ZeroMQ Distributed Messaging. http://zeromq.org/. Accessed: 26 Jan 2017
Mallet A, Pasteur C, Herrb M, Lemaignan S, Ingrand F (2010) GenoM3: Building middleware-independent robotic components. In: IEEE international conference on robotics and aUTOMATION. IEEE, pp 4627–4632
Metta G, Fitzpatrick P, Natale L (2006) YARP: yet another robot platform. Int J Adv Robot Syst 3(1):43–48. https://doi.org/10.5772/5761
Morante S, Victores JG, Balaguer C (2015) Cryptobotics: why robots need cyber safety. Front Robot AI 2. https://doi.org/10.3389/frobt.2015.00023
Natale L, Paikan A, Randazzo M, Domenichelli DE (2016) The iCub software architecture: evolution and lessons learned. Front Robot AI 3(24). https://doi.org/10.3389/frobt.2016.00024
OMG (1997a) Corba. http://www.corba.org/. Accessed: 26 Jan 2017
OMG (1997b) DDS Portal – Data Distribution Services. http://portals.omg.org/dds/omg-dds-standard/. Accessed: 26 Jan 2017
Paikan A, Fitzpatrick P, Metta G, Natale L (2014) Data flow port monitoring and arbitration. J Softw Eng Robot 5(1):80–88
Paikan A, Pattacini U, Domenichelli D, Randazzo M, Metta G, Natale L (2015) A best-effort approach for run-time channel prioritization in real-time robotic application. In: Proceedings of IEEE/RSJ international conference on intelligent robots and systems, Hamburg
Quigley M, Conley K, Gerkey B, Faust J, Foote T, Leibs J, Wheeler R, Ng AY (2009) ROS: an open-source robot operating system. In: ICRA workshop on open source software, vol 3, p 5
Schlegel C, Worz R (1999) The software framework SMARTSOFT for implementing sensorimotor systems. In: IEEE/RSJ international conference on intelligent robots and systems, vol 3. IEEE, pp 1610–1616
Stampfer D, Lotz A, Lutz M, Schlegel C (2016) The SmartMDSD toolchain: an integrated MDSD workflow and integrated development environment (IDE) for robotics software. J Softw Eng Robot 1(7):3–19
Szyperski C (2002) Component software: beyond object-oriented programming, 2nd edn. Addison-Wesley Longman Publishing Co., Inc., Boston
Tanenbaum AS, Maarten vS (2006) Distributed systems: principles and paradigms, 2nd edn. Prentice-Hall, Inc., Upper Saddle River
Tsouroukdissian AR (2014) ROS control, an over- view.https://roscon.ros.org/2014static_replacement/wp- content/uploads/2014/07/ros_control_an_overview.pdf. Accessed: 26 Jan 2017
Vahrenkamp N, Wächter M, Kröhnert M, Welke K, Asfour T (2015) The robot software framework ArmarX. Inf Technol 57(2):99–111. https://doi.org/doi.org/10.1515/itit-2014-1066,
White R, Christensen HI, Quigley M (2016) SROS: securing ROS over the wire, in the graph, and through the kernel. CoRR abs/1611.07060, http://arxiv.org/abs/1611.07060
ZeroC Inc (2017) Ice Comprehensive RPC Framework. https://doc.zeroc.com/. Accessed: 26 Jan 2017
Zhao Y, Paine N, Kim KS, Sentis L (2015) Stability and performance limits of latency-prone distributed feedback controllers. arXiv:150102854 [cs] ArXiv: 1501.02854
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2020 Springer-Verlag GmbH Germany, part of Springer Nature
About this entry
Cite this entry
Natale, L. (2020). Distributed Robotic Computing. In: Ang, M., Khatib, O., Siciliano, B. (eds) Encyclopedia of Robotics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41610-1_4-1
Download citation
DOI: https://doi.org/10.1007/978-3-642-41610-1_4-1
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41610-1
Online ISBN: 978-3-642-41610-1
eBook Packages: Springer Reference EngineeringReference Module Computer Science and Engineering