Skip to main content

Robotic Systems Architectures and Programming

  • Reference work entry
Springer Handbook of Robotics

Abstract

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. 38), executives, and task planners (Chap. 9) – 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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 309.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Abbreviations

AAAI:

American Association for Artificial Intelligence

AI:

artificial intelligence

AIS:

artificial intelligence (AI) system

AuRA:

autonomous robot architecture

CASPER:

continuous activity scheduling, planning, execution and replanning

CIRCA:

cooperative intelligent real-time control architecture

CLARAty:

coupled layered architecture for robot autonomy

CLEaR:

closed-loop execution and recovery

CORBA:

common object request broker architecture

ESL:

execution support language

FSA:

finite-state acceptors

GRACE:

graduate robot attending conference

GenoM:

generator of modules

HTN:

hierarchical task network

ICE:

internet communications engine

IDL:

interface definition language

IPC:

interprocess communication

IxTeT:

indexed time table

LAAS:

Laboratoire dʼAnalyse et dʼArchitecture des Systèmes

MIR:

mode identification and recovery

NASA:

National Aeronautics and Space Agency

NASREM:

NASA/NBS standard reference model

NBS:

National Bureau of Standards

NDDS:

network data distribution service

OASIS:

onboard autonomous science investigation system

OCU:

operator control units

ORB:

object request brokers

ORCCAD:

open robot controller computer aided design

PID:

proportional–integral–derivative

PNT:

Petri net transducers

PRS:

procedural reasoning system

PTU:

pan–tilt unit

RAP:

reactive action packages

RCS:

real-time control system

RPC:

remote procedure call

RTI:

real-time innovations

RTS:

real-time system

RWI:

real-world interface

SLICE:

specification language for ICE

SPA:

sense–plan–act

TAP:

test action pairs

TC:

technical committee

TDL:

task description language

UML:

unified modeling language

XML:

extensible markup language

References

  1. I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process (Addison Wesley Longman, Reading 1998)

    Google Scholar 

  2. J.S. Albus: RCS: A reference model architecture for intelligent systems, Working Notes: AAAI 1995 Spring Symposium on Lessons Learned from Implemented Software Architectures for Physical Agents (1995)

    Google Scholar 

  3. R.A. Brooks: A robust layered control system for a mobile robot, IEEE J. Robot. Autom. 2(1), 14–23 (1986)

    Article  Google Scholar 

  4. R.J. Firby: An Investigation into Reactive Planning in Complex Domains, Proc. of the Fifth National Conference on Artificial Intelligence (1987)

    Google Scholar 

  5. R. Simmons: Structured control for autonomous robots, IEEE Trans. Robot. Autom. 10(1), 34–43 (1994)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  7. B. Kuipers: The spatial semantic hierarchy, Artif. Intell. 119, 191–233 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  8. R. Orfali, D. Harkey: Client/Server Programming with JAVA and CORBA (Wiley, New York 1997)

    Google Scholar 

  9. R. Simmons, G. Whelan: Visualization Tools for Validating Software of Autonomous Spacecraft, Proc. of International Symposium on Artificial Intelligence, Robotics and Automation in Space (Tokyo 1997)

    Google Scholar 

  10. R. A. Brooks: The Behavior Language: Userʼs Guide, Technical Report AIM-1227, MIT Artificial Intelligence Lab (1990)

    Google Scholar 

  11. R.J. Firby, M.G. Slack: Task execution: Interfacing to reactive skill networks, Working Notes: AAAI Spring Symposium on Lessons Learned from Implemented Architecture for Physical Agents (Stanford 1995)

    Google Scholar 

  12. E. Gat: ESL: A Language for Supporting Robust Plan Execution in Embedded Autonomous Agents, Proc. of the IEEE Aerospace Conference (1997)

    Google Scholar 

  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 International Symposium on Artificial Intelligence, Robotics and Automation in Space (Munich 2005)

    Google Scholar 

  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)

    Article  Google Scholar 

  15. National Instruments: LabVIEW (National Instruments, Austin 2007), http://www.ni.com/labview/

    Google Scholar 

  16. N.J. Nilsson: A Mobile Automaton: An Application of AI Techniques, Proc. of the First International Joint Conference on Artificial Intelligence (Morgan Kaufmann Publishers, San Francisco 1969) pp. 509–520

    Google Scholar 

  17. N.J. Nilsson: Principles of Artificial Intelligence (Tioga, Palo Alto 1980)

    MATH  Google Scholar 

  18. P.E. Agre, D. Chapman: Pengi: An implementation of a theory of activity, Proc. of the Fifth National Conference on Artificial Intelligence (1987)

    Google Scholar 

  19. R.C. Arkin: Behavior-Based Robotics (MIT Press, Cambridge 1998)

    Google Scholar 

  20. J.H. Connell: SSS: A Hybrid Architecture Applied to Robot Navigation, Proc. IEEE International Conference on Robotics and Automation (1992) pp. 2719–2724

    Google Scholar 

  21. M. Mataric: Integration of Representation into Goal-Driven Behavior-Based Robots, Proc. IEEE International Conference on Robotics and Automation (1992)

    Google Scholar 

  22. I. Horswill: Polly: A Vision-Based Artificial Agent, Proc. of the National Conference on Artificial Intelligence (AAAI) (1993)

    Google Scholar 

  23. D.W. Payton: An Architecture for Reflexive Autonomous Vehicle Control, Proc. IEEE International Conference on Robotics and Automation (1986)

    Google Scholar 

  24. J.K. Rosenblatt: DAMN: A Distributed Architecture for Mobile Robot Navigation. Ph.D. Thesis (Carnegie Mellon Univ., Pittsburgh 1997)

    Google Scholar 

  25. R.C. Arkin: Motor schema-based mobile robot navigation, Int. J. Robot. Res. 8(4), 92–112 (1989)

    Article  Google Scholar 

  26. M. Arbib: Schema Theory. In: Encyclopedia of Artificial Intelligence, ed. by S. Shapiro (Wiley, New York 1992) pp. 1427–1443

    Google Scholar 

  27. O. Khatib: Real-time obstacle avoidance for manipulators and mobile robots, Proc. of the IEEE International Conference on Robotics and Automation (1985) pp. 500–505

    Google Scholar 

  28. R.C. Arkin: Integrating behavioral, perceptual, and world knowledge in reactive navigation, Robot. Autonom. Syst. 6, 105–122 (1990)

    Article  Google Scholar 

  29. R.C. Arkin, T. Balch: AuRA: Principles and practice in review, J. Exp. Theor. Artif. Intell. 9(2/3), 175–188 (1997)

    Article  Google Scholar 

  30. R.J. Firby: Adaptive Execution in Complex Dynamic Worlds. Ph.D. Thesis (Yale Univ., New Haven 1989)

    Google Scholar 

  31. R.J. Firby: Task Networks for Controlling Continuous Processes, Proc. of the Second International Conference on AI Planning Systems (1994)

    Google Scholar 

  32. R.P. Bonasso: Integrating Reaction Plans and layered competences through synchronous control, Proc. International Joint Conferences on Artificial Intelligence (1991)

    Google Scholar 

  33. S.J. Rosenschein, L.P. Kaelbling: The synthesis of digital machines with provable epistemic properties, Proc. of the Conference on Theoretical Aspects of Reasoning About Knowledge (1998)

    Google Scholar 

  34. L.P. Kaelbling: Goals as parallel program specifications, Proc. of the Sixth National Conference on Artificial Intelligence (1988)

    Google Scholar 

  35. L. P. Kaelbling: Compiling Operator Descriptions into Reactive Strategies Using Goal Regression, Technical Report, Teleos Research, TR90-10, (1990)

    Google Scholar 

  36. 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)

    Article  Google Scholar 

  37. E. Gat: Integrating Planning and reacting in a heterogeneous asynchronous architecture for controlling real-world mobile robots, Proc. of the National Conference on Artificial Intelligence (AAAI) (1992)

    Google Scholar 

  38. G.N. Saridis: Architectures for Intelligent Controls. In: Intelligent Control Systems: Theory and Applications, ed. by Gupta, Sinhm (IEEE Press, Piscataway 1995)

    Google Scholar 

  39. R. Alami, R. Chatila, S. Fleury, M. Ghallab, F. Ingrand: An architecture for autonomy, Int. J. Robot. Res. 17(4), 315–337 (1998)

    Article  Google Scholar 

  40. M. Ghallab, H. Laruelle: Representation and control in IxTeT, a temporal planner, Proc. of AIPS-94 (1994)

    Google Scholar 

  41. P. Laborie, M. Ghallab: Planning with sharable resource constraints, Proc. of the International Joint Conference on Artificial Intelligence (1995)

    Google Scholar 

  42. M.P. Georgeff, F.F. Ingrand: Decision-Making in an Embedded Reasoning System, Proc. of International Joint Conference on Artificial Intelligence (1989) pp. 972–978

    Google Scholar 

  43. F. Ingrand, R. Chatila, R. Alami, F. Robert: PRS: A high level supervision and control language for autonomous mobile robots, Proc. of the IEEE International Conference On Robotics and Automation (1996)

    Google Scholar 

  44. 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)

    Article  MATH  Google Scholar 

  45. B.C. Williams, P.P. Nayak: A Model-based Approach to Reactive Self-Configuring Systems, Proc. of AAAI (1996)

    Google Scholar 

  46. J.S. Albus: Outline for a theory of intelligence, IEEE Trans. Syst. Man Cybernet. 21(3), 473–509 (1991)

    Article  MathSciNet  Google Scholar 

  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 systems

    Article  Google Scholar 

  48. D. Goldberg, V. Cicirello, M.B. Dias, R. Simmons, S. Smith, A. Stentz: Market-Based Multi-Robot Planning in a Distributed Layered Architecture. In: Multi-Robot Systems: From Swarms to Intelligent Automata, Vol. II, ed. by A. Schultz, L. Parker, F.E. Schneider (Kluwer, Dordrecht 2003)

    Google Scholar 

  49. J.S. Albus, R. Lumia, H.G. McCain: NASA/NBS Standard Reference model for Telerobot Control System Architecture (NASREM), National Bureau of Standards, Tech Note #1235, NASA SS-GFSC-0027 (1986)

    Google Scholar 

  50. D.R. Blidberg, S.G. Chappell: Guidance and control architecture for the EAVE vehicle, IEEE J. Ocean Eng. 11(4), 449–461 (1986)

    Article  Google Scholar 

  51. R. Volpe, I. Nesnas, T. Estlin, D. Mutz, R. Petras, H. Das: The CLARAty architecture for robotic autonomy, Proc. of the IEEE Aerospace Conference (Big Sky 2001)

    Google Scholar 

  52. 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)

    Google Scholar 

  53. 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. of IEEE Aerospace Conference (Big Sky 2005)

    Google Scholar 

  54. 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 

  55. R. Simmons, D. Apfelbaum: A Task Description Language for Robot Control, Proc. of Conference on Intelligent Robotics and Systems (Vancouver 1998)

    Google Scholar 

  56. 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. of the International Conference On Robotics and Automation (2007) pp. 4911–4918

    Google Scholar 

  57. D. Musliner, E. Durfee, K. Shin: World modeling for dynamic construction of real-time control plans, Artif. Intell. 74(1), 83–127 (1995)

    Article  Google Scholar 

  58. D.J. Musliner, R.P. Goldman, M.J. Pelican: Using Model Checking to Guarantee Safety in Automatically-Synthesized Real-Time Controllers, Proc. of International Conference on Robotics and Automation (2000)

    Google Scholar 

  59. B. Espiau, K. Kapellos, M. Jourdan: Formal Verification in Robotics: Why and How?, Proc. International Symposium on Robotics Research (Herrsching 1995)

    Google Scholar 

  60. G. Berry, G. Gonthier: The Esterel synchronous programming language: Design, semantics, implementation, Sci. Comput. Program. 19(2), 87–152 (1992)

    Article  MATH  Google Scholar 

  61. M. Jourdan, F. Maraninchi, A. Olivero: Verifying quantitative real-time properties of synchronous programs, Proc. 5th International Conference on Computer-aided Verification (Springer, Elounda 1993), LNCS 697

    Google Scholar 

  62. G. Pardo-Castellote, S.A. Schneider: The Network Data Delivery Service: Real-Time Data Connectivity for Distributed Control Applications, Proc. of International Conference on Robotics and Automation (1994) pp. 2870–2876

    Google Scholar 

  63. JAUS Reference Architecture Specification, Volume II, Part 1 Version 3.2 (available at http://www.jauswg.org/baseline/refarch.html)

  64. JAUS Tutorial Powerpoint slides (available at: http://www.jauswg.org/)

  65. JAUS Domain Model Volume I, Version 3.2 (available at http://www.jauswg.org/baseline/current_baseline.shtml)

  66. E. Gat: ALFA: A Language for Programming Reactive Robotic Control Systems, Proc. IEEE International Conference on Robotics and Automation (1991) pp. 116–1121

    Google Scholar 

  67. R.A. Brooks: Elephants donʼt play chess, J. Robot. Autonom. Syst. 6, 3–15 (1990)

    Article  Google Scholar 

  68. L.P. Kaelbling: Rex- A symbolic language for the design and parallel implementation of embedded systems, Proc. of the 6th AIAA Computers in Aerospace Conference (Wakefield 1987)

    Google Scholar 

  69. E. Gat: Non-Linear Sequencing and Cognizant Failure, Proc. AIP Conference (1999)

    Google Scholar 

  70. E. Gat: On the role of stored internal state in the control of autonomous mobile robots, AI Mag. 14(1), 64–73 (1993)

    MathSciNet  Google Scholar 

  71. J.L. Peterson: Petri Net Theory and the Modeling of Systems (Prentice Hall, Upper Saddle River 1981)

    Google Scholar 

  72. K. Currie, A. Tate: O-Plan: The open planning architecture, Artif. Intell. 52(1), 49–86 (1991)

    Article  Google Scholar 

  73. D.S. Nau, Y. Cao, A. Lotem, H. Muñoz-Avila: SHOP: Simple hierarchical ordered planner, Proc. of the International Joint Conference on Artificial Intelligence (1999) pp. 968–973

    Google Scholar 

  74. S. Chien, R. Knight, A. Stechert, R. Sherwood, G. Rabideau: Using iterative repair to improve the responsiveness of planning and scheduling, Proc. of the International Conference on AI Planning and Scheduling (2000) pp. 300–307

    Google Scholar 

  75. N. Muscettola: HSTS: Integrating planning and scheduling. In: Intelligent Scheduling, ed. by M. Fox, M. Zweben (Morgan Kaufmann, San Francisco 1994)

    Google Scholar 

  76. R. Simmons, J. Fernandez, R. Goodwin, S. Koenig, J. OʼSullivan: Lessons Learned From Xavier, IEEE Robot. Autom. Mag. 7(2), 33–39 (2000)

    Article  Google Scholar 

  77. R. Simmons: Inter Process Communication (Carnegie Mellon Univ., Pittsburgh 2007), www.cs.cmu.edu/ IPC

    Google Scholar 

  78. S.W. Ambler: UML 2 Sequence Diagramms (Ambisoft, Toronto 2007), www.agilemodeling.com/artifacts/sequenceDiagram.htm

    Google Scholar 

  79. D. Kortenkamp, R.P. Bonasso, R. Murphy: Artificial Intelligence and Mobile Robots (AAAI Press/The MIT Press, Cambridge 1998)

    Google Scholar 

  80. R. Murphy: Introduction to AI Robotics (MIT Press, Cambridge 2000)

    Google Scholar 

  81. R. Siegwart, I.R. Nourbakhsh: Introduction to Autonomous Mobile Robots (MIT Press, Cambridge 2004)

    Google Scholar 

  82. 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 

  83. 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, AAAI 2004 Mobile Robot Competition Workshop (AAAI Press, 2004), Technical Report WS-04-11, pp. 15–20

    Google Scholar 

  84. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to David Kortenkamp PhD or Reid Simmons Dr. .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag

About this entry

Cite this entry

Kortenkamp, D., Simmons, R. (2008). Robotic Systems Architectures and Programming. In: Siciliano, B., Khatib, O. (eds) Springer Handbook of Robotics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30301-5_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30301-5_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23957-4

  • Online ISBN: 978-3-540-30301-5

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics