Robotic Systems Architectures and Programming

  • David KortenkampEmail author
  • Reid Simmons
  • Davide Brugali
Part of the Springer Handbooks book series (SHB)


Robot software systems tend to be complex. This complexity is due, in large part, to the need to control diverse sensors and actuators in real time, in the face of significant uncertainty and noise. Robot systems must work to achieve tasks while monitoring for, and reacting to, unexpected situations. Doing all this concurrently and asynchronously adds immensely to system complexity.

The use of a well-conceived architecture, together with programming tools that support the architecture, can often help to manage that complexity. Currently, there is no single architecture that is best for all applications – different architectures have different advantages and disadvantages. It is important to understand those strengths and weaknesses when choosing an architectural approach for a given application.

This chapter presents various approaches to architecting robotic systems. It starts by defining terms and setting the context, including a recounting of the historical developments in the area of robot architectures. The chapter then discusses in more depth the major types of architectural components in use today – behavioral control (Chap.  13), executives, and task planners (Chap.  14) – along with commonly used techniques for interconnecting connecting those components. Throughout, emphasis will be placed on programming tools and environments that support these architectures. A case study is then presented, followed by a brief discussion of further reading.


Unify Modeling Language Robot System Architectural Style Common Object Request Broker Architecture Interprocess Communication 
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.

American Association for Artificial Intelligence


artificial intelligence


artificial intelligence system


application programming interface


agile robot development network


a three layer architecture for navigating through intricate situations


autonomous robot architecture




best practice in robotics


continuous activity scheduling, planning, execution and replanning


cooperative intelligent real-time control architecture


coupled layered architecture for robot autonomy


closed-loop execution and recovery


Centre National de la Recherche Scientifique


common object request broker architecture

common object request broker architecture


Computer Science and Artificial Intelligence Laboratory


data distribution service


German Aerospace Center


degree of freedom


execution support language


finite-state acceptor


goal as parallel programs


generator of modules


graduate robot attending conference


hierarchical task network


internet communications engine


integrated chip


interface definition language


interprocess communication


indexed time table


joint architecture for unmanned systems


liquid-crystal display


mode identification and recovery


Massachusetts Institute of Technology


National Aeronautics and Space Agency


NASA/NBS standard reference model


National Bureau of Standards


network data distribution service


onboard autonomous science investigation system


operator control unit


open robot controller computer aided design


open robot control software




plan execution interchange language


Petri net transducer


procedural reasoning system


pan–tilt unit


quality of service


reactive action package


real-time control system


robot operating system


remote procedure call


real-time innovation


real-time system


real-time toolkit


real-world interface


specification language for ICE




test action pair


transfer control protocol


technical committee


task description language


user datagram protocol


unified modeling language


Versa Module Europa


extensible markup language


yet another robot platform


  1. 12.1
    I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process (Addison-Wesley, Reading 1998)Google Scholar
  2. 12.2
    J.S. Albus: RCS: A reference model architecture for intelligent systems, Working Notes: AAAI 1995 Spring Symp. Lessons Learn. Implement. Software Archit. Phys. Agents (1995)Google Scholar
  3. 12.3
    R.A. Brooks: A robust layered control system for a mobile robot, IEEE J. Robot. Autom. 2(1), 14–23 (1986)CrossRefGoogle Scholar
  4. 12.4
    R.J. Firby: An investigation into reactive planning in complex domains, Proc. 5th Natl. Conf. Artif. Intel. (1987)Google Scholar
  5. 12.5
    R. Simmons: Structured control for autonomous robots, IEEE Trans. Robot. Autom. 10(1), 34–43 (1994)CrossRefGoogle Scholar
  6. 12.6
    J.J. Borrelly, E. Coste-Maniere, B. Espiau, K. Kapelos, R. Pissard-Gibollet, D. Simon, N. Turro: The ORCCAD architecture, Int. J. Robot. Res. 17(4), 338–359 (1998)CrossRefGoogle Scholar
  7. 12.7
    B. Kuipers: The spatial semantic hierarchy, Artif. Intell. 119, 191–233 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  8. 12.8
    R. Orfali, D. Harkey: Client/Server Programming with JAVA and CORBA (Wiley, New York 1997)Google Scholar
  9. 12.9
    R. Simmons, G. Whelan: Visualization tools for validating software of autonomous spacecraft, Proc. Int. Symp. Artif. Intel., Robot. Autom. in Space, Tokyo (1997)Google Scholar
  10. 12.10
    R. A. Brooks: The Behavior Language: User's Guide, Tech. Rep. AIM-1227 (MIT, Artif. Intel. Lab, Cambridge 1990)Google Scholar
  11. 12.11
    R.J. Firby, M.G. Slack: Task execution: Interfacing to reactive skill networks, Working Notes: AAAI Spring Symp. Lessons Learn. Implement. Archit. Phys. Agents, Stanford (1995)Google Scholar
  12. 12.12
    E. Gat: ESL: A language for supporting robust plan execution in embedded autonomous agents, Proc. IEEE Aerosp. Conf. (1997)Google Scholar
  13. 12.13
    V. Verma, T. Estlin, A. Jónsson, C. Pasareanu, R. Simmons, K. Tso: Plan execution interchange language (PLEXIL) for executable plans and command sequences, Proc. 8th Int. Symp. Artif. Intel. Robot. Autom. Space, Munich (2005)Google Scholar
  14. 12.14
    S.A. Schneider, V.W. Chen, G. Pardo-Castellote, H.H. Wang: ControlShell: A software architecture for complex electromechanical systems, Int. J. Robot. Res. 17(4), 360–380 (1998)CrossRefGoogle Scholar
  15. 12.15
    National Instruments: LabVIEW (National Instruments, Austin 2007)
  16. 12.16
    N.J. Nilsson: A mobile automaton: an application of AI techniques, Proc. 1st Int. Joint Conf. Artif. Intel. (Morgan Kaufmann, San Francisco 1969) pp. 509–520Google Scholar
  17. 12.17
    N.J. Nilsson: Principles of Artificial Intelligence (Tioga, Palo Alto 1980)zbMATHGoogle Scholar
  18. 12.18
    SRI International: Shakey the Robot,
  19. 12.19
    P.E. Agre, D. Chapman: Pengi: An implementation of a theory of activity, Proc. 5th Natl. Conf. Artif. Intel. (1987)Google Scholar
  20. 12.20
    R.C. Arkin: Behavior-Based Robotics (MIT Press, Cambridge 1998)Google Scholar
  21. 12.21
    J.H. Connell: SSS: A hybrid architecture applied to robot navigation, Proc. IEEE Int. Conf. Robot. Autom. (1992) pp. 2719–2724Google Scholar
  22. 12.22
    M. Mataric: Integration of representation into goal-driven behavior-based robots, Proc. IEEE Int. Conf. Robot. Autom. (1992)Google Scholar
  23. 12.23
    I. Horswill: Polly: A vision-based artificial agent, Proc. Natl. Conf. Artif. Intel. (AAAI) (1993)Google Scholar
  24. 12.24
    D.W. Payton: An architecture for reflexive autonomous vehicle control, Proc. IEEE Int. Conf. Robot. Autom. (1986)Google Scholar
  25. 12.25
    J.K. Rosenblatt: DAMN: A Distributed Architecture for Mobile Robot Navigation, Ph.D. Thesis (Carnegie Mellon Univ., Pittsburgh 1997)Google Scholar
  26. 12.26
    R.C. Arkin: Motor schema-based mobile robot navigation, Int. J. Robot. Res. 8(4), 92–112 (1989)CrossRefGoogle Scholar
  27. 12.27
    M. Arbib: Schema Theory. In: Encyclopedia of Artificial Intelligence, ed. by S. Shapiro (Wiley, New York 1992) pp. 1427–1443Google Scholar
  28. 12.28
    O. Khatib: Real-time obstacle avoidance for manipulators and mobile robots, Proc. IEEE Int. Conf. Robot. Autom. (1985) pp. 500–505Google Scholar
  29. 12.29
    R.C. Arkin: Integrating behavioral, perceptual, and world knowledge in reactive navigation, Robot. Autonom. Syst. 6, 105–122 (1990)CrossRefGoogle Scholar
  30. 12.30
    R.C. Arkin, T. Balch: AuRA: Principles and practice in review, J. Exp. Theor. Artif. Intell. 9(2/3), 175–188 (1997)CrossRefGoogle Scholar
  31. 12.31
    R.J. Firby: Adaptive Execution in Complex Dynamic Worlds, Ph.D. Thesis (Yale Univ., New Haven 1989)Google Scholar
  32. 12.32
    R.J. Firby: Task networks for controlling continuous processes, Proc. 2nd Int. Conf. AI Plan. Syst. (1994)Google Scholar
  33. 12.33
    R.P. Bonasso: Integrating reaction plans and layered competences through synchronous control, Proc. Int. Joint Conf. Artif. Intel. (1991)Google Scholar
  34. 12.34
    S.J. Rosenschein, L.P. Kaelbling: The synthesis of digital machines with provable epistemic properties, Proc. Conf. Theor. Asp. Reas. Knowl. (1998)Google Scholar
  35. 12.35
    L.P. Kaelbling: Goals as parallel program specifications, Proc. 6th Natl. Conf. Artif. Intel. (1988)Google Scholar
  36. 12.36
    L. P. Kaelbling: Compiling operator descriptions into reactive strategies using goal regression, Tech. Rep., TR90-10, (Teleos Res., Palo Alto 1990) Google Scholar
  37. 12.37
    R.P. Bonasso, R.J. Firby, E. Gat, D. Kortenkamp, D.P. Miller, M.G. Slack: Experiences with an architecture for intelligent, reactive agents, J. Exp. Theor. Artif. Intell. 9(2/3), 237–256 (1997)CrossRefGoogle Scholar
  38. 12.38
    E. Gat: Integrating Planning and reacting in a heterogeneous asynchronous architecture for controlling real-world mobile robots, Proc. Natl. Conf. Artif. Intel. (AAAI) (1992)Google Scholar
  39. 12.39
    G.N. Saridis: Architectures for intelligent controls. In: Intelligent Control Systems: Theory and Applications, ed. by S. Gupta (IEEE Press, Piscataway 1995)Google Scholar
  40. 12.40
    R. Alami, R. Chatila, S. Fleury, M. Ghallab, F. Ingrand: An architecture for autonomy, Int. J. Robot. Res. 17(4), 315–337 (1998)CrossRefGoogle Scholar
  41. 12.41
    M. Ghallab, H. Laruelle: Representation and control in IxTeT, a temporal planner, Proc. AIPS-94 (1994)Google Scholar
  42. 12.42
    P. Laborie, M. Ghallab: Planning with sharable resource constraints, Proc. Int. Joint Conf. Artif. Intel. (1995)Google Scholar
  43. 12.43
    M.P. Georgeff, F.F. Ingrand: Decision-making in an embedded reasoning system, Proc. Int. Joint Conf. Artif. Intel. (1989) pp. 972–978Google Scholar
  44. 12.44
    F. Ingrand, R. Chatila, R. Alami, F. Robert: PRS: A high level supervision and control language for autonomous mobile robots, Proc. IEEE Int. Conf. Robot. Autom. (1996)Google Scholar
  45. 12.45
    N.P. Muscettola, P. Nayak, B. Pell, B.C. Williams: Remote agent: To boldly go where no AI system has gone before, Artif. Intell. 103(1), 5–47 (1998)zbMATHCrossRefGoogle Scholar
  46. 12.46
    B.C. Williams, P.P. Nayak: A model-based approach to reactive self-configuring systems, Proc. AAAI (1996)Google Scholar
  47. 12.47
    B. Sellner, F.W. Heger, L.M. Hiatt, R. Simmons, S. Singh: Coordinated multi-agent teams and sliding autonomy for large-scale assembly, Proc. IEEE 94(7), 1425–1444 (2006), special issue on multi-agent systemsCrossRefGoogle Scholar
  48. 12.48
    D. Goldberg, V. Cicirello, M.B. Dias, R. Simmons, S. Smith, A. Stentz: Market-based multi-robot planning in a distributed layered architecture, Proc. Int. Workshop Multi-Robot Syst (2003) pp. 27–38Google Scholar
  49. 12.49
    J.S. Albus, R. Lumia, H.G. McCain: NASA/NBS Standard Reference model for Telerobot Control System Architecture (NASREM), Technol. #1235, (Nat. Inst. Stand, Gaithersburg 1986)Google Scholar
  50. 12.50
    D.R. Blidberg, S.G. Chappell: Guidance and control architecture for the EAVE vehicle, IEEE J. Ocean Eng. 11(4), 449–461 (1986)CrossRefGoogle Scholar
  51. 12.51
    J.S. Albus: Outline for a theory of intelligence, IEEE Trans. Syst. Man Cybern. 21(3), 473–509 (1991)MathSciNetCrossRefGoogle Scholar
  52. 12.52
    R. Volpe, I. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das: The CLARAty architecture for robotic autonomy, Proc. IEEE Aerosp. Conf., Big Sky (2001)Google Scholar
  53. 12.53
    I.A. Nesnas, R. Simmons, D. Gaines, C. Kunz, A. Diaz-Calderon, T. Estlin, R. Madison, J. Guineau, M. McHenry, I. Shu, D. Apfelbaum: CLARAty: Challenges and steps toward reusable robotic software, Int. J. Adv. Robot. Syst. 3(1), 023–030 (2006)CrossRefGoogle Scholar
  54. 12.54
    T. Estlin, D. Gaines, C. Chouinard, F. Fisher, R. Castaño, M. Judd, R. Anderson, I. Nesnas: Enabling autonomous rover science through dynamic planning and scheduling, Proc. IEEE Aerosp. Conf., Big Sky (2005)Google Scholar
  55. 12.55
    R. Knight, G. Rabideau, S. Chien, B. Engelhardt, R. Sherwood: CASPER: Space exploration through continuous planning, IEEE Intell. Syst. 16(5), 70–75 (2001)Google Scholar
  56. 12.56
    R. Simmons, D. Apfelbaum: A task description language for robot control, Proc. Conf. Intel. Robot Syst., Vancouver (1998)Google Scholar
  57. 12.57
    T.A. Estlin, D. Gaines, C. Chouinard, R. Castaño, B. Bornstein, M. Judd, I.A.D. Nesnas, R. Anderson: Increased mars rover autonomy using AI planning, scheduling and execution, Proc. Int. Conf. Robot. Autom. (2007) pp. 4911–4918Google Scholar
  58. 12.58
    D. Musliner, E. Durfee, K. Shin: World modeling for dynamic construction of real-time control plans, Artif. Intell. 74(1), 83–127 (1995)CrossRefGoogle Scholar
  59. 12.59
    D.J. Musliner, R.P. Goldman, M.J. Pelican: Using model checking to guarantee safety in automatically-synthesized real-time controllers, Proc. Int. Conf. Robot. Autom. (2000)Google Scholar
  60. 12.60
    B. Espiau, K. Kapellos, M. Jourdan: Formal verification in robotics: Why and how?, Proc. Int. Symp. Robot. Res., Herrsching (1995)Google Scholar
  61. 12.61
    G. Berry, G. Gonthier: The Esterel synchronous programming language: Design, semantics, implementation, Sci. Comput. Progr. 19(2), 87–152 (1992)zbMATHCrossRefGoogle Scholar
  62. 12.62
    M. Jourdan, F. Maraninchi, A. Olivero: Verifying quantitative real-time properties of synchronous programs, Lect. Notes Comput. Sci. 697, 347–358 (1993)CrossRefGoogle Scholar
  63. 12.63
    G. Pardo-Castellote, S.A. Schneider: The network data delivery service: Real-time data connectivity for distributed control applications, Proc. Int. Conf. Robot. Autom. (1994) pp. 2870–2876Google Scholar
  64. 12.64
    JAUS Reference Architecture Specification, Volume II, Part 1 Version 3.2:
  65. 12.65
    JAUS Tutorial Powerpoint slides:
  66. 12.66
    JAUS Domain Model Volume I, Version 3.2:
  67. 12.67
    E. Gat: ALFA: A language for programming reactive robotic control systems, Proc. IEEE Int. Conf. Robot. Autom. (1991) pp. 116–1121Google Scholar
  68. 12.68
    R.A. Brooks: Elephants don't play chess, J. Robot. Autonom. Syst. 6, 3–15 (1990)CrossRefGoogle Scholar
  69. 12.69
    L.P. Kaelbling: Rex -- A symbolic language for the design and parallel implementation of embedded systems, Proc. 6th AIAA Comput. Aerosp. Conf., Wakefield (1987)Google Scholar
  70. 12.70
    E. Gat: Non-linear sequencing and cognizant failure, Proc. AIP Conf. (1999)Google Scholar
  71. 12.71
    E. Gat: On the role of stored internal state in the control of autonomous mobile robots, AI Mag. 14(1), 64–73 (1993)Google Scholar
  72. 12.72
    J.L. Peterson: Petri Net Theory and the Modeling of Systems (Prentice Hall, Upper Saddle River 1981)zbMATHGoogle Scholar
  73. 12.73
    K. Currie, A. Tate: O-Plan: The open planning architecture, Artif. Intell. 52(1), 49–86 (1991)CrossRefGoogle Scholar
  74. 12.74
    D.S. Nau, Y. Cao, A. Lotem, H. Muñoz-Avila: SHOP: Simple hierarchical ordered planner, Proc. Int. Joint Conf. Artif. Intel. (1999) pp. 968–973Google Scholar
  75. 12.75
    S. Chien, R. Knight, A. Stechert, R. Sherwood, G. Rabideau: Using iterative repair to improve the responsiveness of planning and scheduling, Proc. Int. Conf. AI Plan. Sched. (2000) pp. 300–307Google Scholar
  76. 12.76
    N. Muscettola: HSTS: Integrating planning and scheduling. In: Intelligent Scheduling, ed. by M. Fox, M. Zweben (Morgan Kaufmann, San Francisco 1994)Google Scholar
  77. 12.77
    R. Simmons, J. Fernandez, R. Goodwin, S. Koenig, J. O'Sullivan: Lessons learned from Xavier, IEEE Robot. Autom. Mag. 7(2), 33–39 (2000)CrossRefGoogle Scholar
  78. 12.78
    R. Simmons: Inter Process Communication (Carnegie Mellon Univ., Pittsburgh 2007),
  79. 12.79
    S.W. Ambler: UML 2 Sequence Diagramms (Ambisoft, Toronto 2007)
  80. 12.80
    W.D. Smart: Writing code in the field: Implications for robot software development, Springer Tract. Adv. Robot. 30, 93–105 (2007)Google Scholar
  81. 12.81
    I.A.D. Nesnas: The CLARAty Project: Coping with hardware and software heterogeneity, Springer Tract. Adv. Robot. 30, 31–70 (2007)Google Scholar
  82. 12.82
    D. Brugali, E. Prassler: Software engineering for robotics, IEEE Robot. Autom. Mag. 16(1), 9–15 (2009)CrossRefGoogle Scholar
  83. 12.83
    D. Brugali, P. Scandurra: Component-based robotic engineering (Part I), IEEE Robot. Autom. Mag. 16(4), 84–96 (2009)CrossRefGoogle Scholar
  84. 12.84
    D. Brugali, A. Shakhimardanov: Component-based robotic engineering (Part II), IEEE Robot. Autom. Mag. 17(1), 100–112 (2010)CrossRefGoogle Scholar
  85. 12.85
    D. Calisi, A. Censi, L. Iocchi, D. Nardi: Design choices for modular and flexible robotic software development: The OpenRDK viewpoint, J. Software Eng. Robot. 3(1), 13–27 (2012)Google Scholar
  86. 12.86
    B. Baeuml, G. Hirzinger: When hard realtime matters: Software for complex mechatronic systems, Robot. Auton. Syst. 56, 5–13 (2008)CrossRefGoogle Scholar
  87. 12.87
    G. Metta, P. Fitzpatrick, L. Natale: YARP: Yet another robot platform, Int. J. Adv. Robot. Syst 3(1), 43–48 (2006)CrossRefGoogle Scholar
  88. 12.88
    H. Bruyninckx: Open robot control software: the OROCOS project, Proc. IEEE Int. Conf. Robot. Autom. (2001) pp. 2523–2528Google Scholar
  89. 12.89
    C. Schlegel, A. Steck, D. Brugali, A. Knoll: Design abstraction and processes in robotics: From code-driven to model-driven engineering, Lect. Notes Comput. Sci. 6472, 324–335 (2010)CrossRefGoogle Scholar
  90. 12.90
    S. Cousins: Welcome to ROS Topics, IEEE Robot. Autom. Mag. 17(1), 13–14 (2010)CrossRefGoogle Scholar
  91. 12.91
    S. Bensalem, L. de Silva, F. Ingrand, R. Yan: A verifiable and correct-by-construction controller for robot functional levels, J. Software Eng. Robot. 2(1), 1–19 (2011)Google Scholar
  92. 12.92
    R. Bischoff, T. Guhl, E. Prassler, W. Nowak, G. Kraetzschmar, H. Bruyninckx, P. Soetens, M. Haegele, A. Pott, P. Breedveld, J. Broenink, D. Brugali, N. Tomatis: BRICS: Best practice in robotics, Proc. 41st Int. Symp. Robot., Munich (2010) pp. 7–9Google Scholar
  93. 12.93
    M. Klotzbuecher, N. Hochgeschwender, L. Gherardi, H. Bruyninckx, G. Kraetzschmar, D. Brugali: The BRICS component model: A model-based development paradigm for complex robotics software systems, 28th ACM Symp. Appl. Comput., Coimbra (2013) pp. 18–22Google Scholar
  94. 12.94
    D. Brugali, L. Gherardi, A. Luzzana, A. Zakharov: A reuse-oriented development process for component-based robotic systems, Lect. Notes Comput. Sci. 7628, 361–374 (2012)CrossRefGoogle Scholar
  95. 12.95
    L. Gherardi, D. Brugali: Modeling and reusing robotic software architectures: The hyperflex toolchain, Proc. IEEE Robot. Autom. Conf. ICRA '14, Hong Kong (2014)Google Scholar
  96. 12.96
    D. Kortenkamp, R.P. Bonasso, R. Murphy: Artificial Intelligence and Mobile Robots (MIT Press, Cambridge 1998)Google Scholar
  97. 12.97
    R. Murphy: Introduction to AI Robotics (MIT Press, Cambridge 2000)Google Scholar
  98. 12.98
    R. Siegwart, I.R. Nourbakhsh: Introduction to Autonomous Mobile Robots (MIT Press, Cambridge 2004)Google Scholar
  99. 12.99
    R. Simmons, D. Goldberg, A. Goode, M. Montemerlo, N. Roy, B. Sellner, C. Urmson, A. Schultz, M. Abramson, W. Adams, A. Atrash, M. Bugajska, M. Coblenz, M. MacMahon, D. Perzanowski, I. Horswill, R. Zubek, D. Kortenkamp, B. Wolfe, T. Milam, B. Maxwell: GRACE: An autonomous robot for the AAAI Robot Challenge, AAAI Mag. 24(2), 51–72 (2003)Google Scholar
  100. 12.100
    R. Gockley, R. Simmons, J. Wang, D. Busquets, C. DiSalvo, K. Caffrey, S. Rosenthal, J. Mink, S. Thomas, W. Adams, T. Lauducci, M. Bugajska, D. Perzanowski, A. Schultz: Grace and George: Social Robots at AAAI, Proc. AAAI Mob. Robot Comp. Workshop (2004), pp. 15–20Google Scholar
  101. 12.101
    M.P. Michalowski, S. Sabanovic, C. DiSalvo, D. Busquets, L.M. Hiatt, N.A. Melchior, R. Simmons: Socially Distributed Perception: GRACE plays social tag at AAAI 2005, Auton. Robot. 22(4), 385–397 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • David Kortenkamp
    • 1
    Email author
  • Reid Simmons
    • 2
  • Davide Brugali
    • 3
  1. 1.TRACLabs IncHoustonUSA
  2. 2.The Robotics InstituteCarnegie Mellon UniversityPittsburghUSA
  3. 3.Department of Computer Science and MathematicsUniversity of BergamoDalmineItaly

Personalised recommendations