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.
Keywords
- Robot System
- Architectural Style
- Planning Component
- 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.
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 subscriptionsAbbreviations
- 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
I. Jacobson, G. Booch, J. Rumbaugh: The Unified Software Development Process (Addison Wesley Longman, Reading 1998)
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)
R.A. Brooks: A robust layered control system for a mobile robot, IEEE J. Robot. Autom. 2(1), 14–23 (1986)
R.J. Firby: An Investigation into Reactive Planning in Complex Domains, Proc. of the Fifth National Conference on Artificial Intelligence (1987)
R. Simmons: Structured control for autonomous robots, IEEE Trans. Robot. Autom. 10(1), 34–43 (1994)
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)
B. Kuipers: The spatial semantic hierarchy, Artif. Intell. 119, 191–233 (2000)
R. Orfali, D. Harkey: Client/Server Programming with JAVA and CORBA (Wiley, New York 1997)
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)
R. A. Brooks: The Behavior Language: Userʼs Guide, Technical Report AIM-1227, MIT Artificial Intelligence Lab (1990)
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)
E. Gat: ESL: A Language for Supporting Robust Plan Execution in Embedded Autonomous Agents, Proc. of the IEEE Aerospace Conference (1997)
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)
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)
National Instruments: LabVIEW (National Instruments, Austin 2007), http://www.ni.com/labview/
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
N.J. Nilsson: Principles of Artificial Intelligence (Tioga, Palo Alto 1980)
P.E. Agre, D. Chapman: Pengi: An implementation of a theory of activity, Proc. of the Fifth National Conference on Artificial Intelligence (1987)
R.C. Arkin: Behavior-Based Robotics (MIT Press, Cambridge 1998)
J.H. Connell: SSS: A Hybrid Architecture Applied to Robot Navigation, Proc. IEEE International Conference on Robotics and Automation (1992) pp. 2719–2724
M. Mataric: Integration of Representation into Goal-Driven Behavior-Based Robots, Proc. IEEE International Conference on Robotics and Automation (1992)
I. Horswill: Polly: A Vision-Based Artificial Agent, Proc. of the National Conference on Artificial Intelligence (AAAI) (1993)
D.W. Payton: An Architecture for Reflexive Autonomous Vehicle Control, Proc. IEEE International Conference on Robotics and Automation (1986)
J.K. Rosenblatt: DAMN: A Distributed Architecture for Mobile Robot Navigation. Ph.D. Thesis (Carnegie Mellon Univ., Pittsburgh 1997)
R.C. Arkin: Motor schema-based mobile robot navigation, Int. J. Robot. Res. 8(4), 92–112 (1989)
M. Arbib: Schema Theory. In: Encyclopedia of Artificial Intelligence, ed. by S. Shapiro (Wiley, New York 1992) pp. 1427–1443
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
R.C. Arkin: Integrating behavioral, perceptual, and world knowledge in reactive navigation, Robot. Autonom. Syst. 6, 105–122 (1990)
R.C. Arkin, T. Balch: AuRA: Principles and practice in review, J. Exp. Theor. Artif. Intell. 9(2/3), 175–188 (1997)
R.J. Firby: Adaptive Execution in Complex Dynamic Worlds. Ph.D. Thesis (Yale Univ., New Haven 1989)
R.J. Firby: Task Networks for Controlling Continuous Processes, Proc. of the Second International Conference on AI Planning Systems (1994)
R.P. Bonasso: Integrating Reaction Plans and layered competences through synchronous control, Proc. International Joint Conferences on Artificial Intelligence (1991)
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)
L.P. Kaelbling: Goals as parallel program specifications, Proc. of the Sixth National Conference on Artificial Intelligence (1988)
L. P. Kaelbling: Compiling Operator Descriptions into Reactive Strategies Using Goal Regression, Technical Report, Teleos Research, TR90-10, (1990)
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)
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)
G.N. Saridis: Architectures for Intelligent Controls. In: Intelligent Control Systems: Theory and Applications, ed. by Gupta, Sinhm (IEEE Press, Piscataway 1995)
R. Alami, R. Chatila, S. Fleury, M. Ghallab, F. Ingrand: An architecture for autonomy, Int. J. Robot. Res. 17(4), 315–337 (1998)
M. Ghallab, H. Laruelle: Representation and control in IxTeT, a temporal planner, Proc. of AIPS-94 (1994)
P. Laborie, M. Ghallab: Planning with sharable resource constraints, Proc. of the International Joint Conference on Artificial Intelligence (1995)
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
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)
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)
B.C. Williams, P.P. Nayak: A Model-based Approach to Reactive Self-Configuring Systems, Proc. of AAAI (1996)
J.S. Albus: Outline for a theory of intelligence, IEEE Trans. Syst. Man Cybernet. 21(3), 473–509 (1991)
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
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)
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)
D.R. Blidberg, S.G. Chappell: Guidance and control architecture for the EAVE vehicle, IEEE J. Ocean Eng. 11(4), 449–461 (1986)
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)
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)
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)
R. Knight, G. Rabideau, S. Chien, B. Engelhardt, R. Sherwood: CASPER: Space Exploration through Continuous Planning, IEEE Intell. Syst. 16(5), 70–75 (2001)
R. Simmons, D. Apfelbaum: A Task Description Language for Robot Control, Proc. of Conference on Intelligent Robotics and Systems (Vancouver 1998)
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
D. Musliner, E. Durfee, K. Shin: World modeling for dynamic construction of real-time control plans, Artif. Intell. 74(1), 83–127 (1995)
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)
B. Espiau, K. Kapellos, M. Jourdan: Formal Verification in Robotics: Why and How?, Proc. International Symposium on Robotics Research (Herrsching 1995)
G. Berry, G. Gonthier: The Esterel synchronous programming language: Design, semantics, implementation, Sci. Comput. Program. 19(2), 87–152 (1992)
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
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
JAUS Reference Architecture Specification, Volume II, Part 1 Version 3.2 (available at http://www.jauswg.org/baseline/refarch.html)
JAUS Tutorial Powerpoint slides (available at: http://www.jauswg.org/)
JAUS Domain Model Volume I, Version 3.2 (available at http://www.jauswg.org/baseline/current_baseline.shtml)
E. Gat: ALFA: A Language for Programming Reactive Robotic Control Systems, Proc. IEEE International Conference on Robotics and Automation (1991) pp. 116–1121
R.A. Brooks: Elephants donʼt play chess, J. Robot. Autonom. Syst. 6, 3–15 (1990)
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)
E. Gat: Non-Linear Sequencing and Cognizant Failure, Proc. AIP Conference (1999)
E. Gat: On the role of stored internal state in the control of autonomous mobile robots, AI Mag. 14(1), 64–73 (1993)
J.L. Peterson: Petri Net Theory and the Modeling of Systems (Prentice Hall, Upper Saddle River 1981)
K. Currie, A. Tate: O-Plan: The open planning architecture, Artif. Intell. 52(1), 49–86 (1991)
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
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
N. Muscettola: HSTS: Integrating planning and scheduling. In: Intelligent Scheduling, ed. by M. Fox, M. Zweben (Morgan Kaufmann, San Francisco 1994)
R. Simmons, J. Fernandez, R. Goodwin, S. Koenig, J. OʼSullivan: Lessons Learned From Xavier, IEEE Robot. Autom. Mag. 7(2), 33–39 (2000)
R. Simmons: Inter Process Communication (Carnegie Mellon Univ., Pittsburgh 2007), www.cs.cmu.edu/ IPC
S.W. Ambler: UML 2 Sequence Diagramms (Ambisoft, Toronto 2007), www.agilemodeling.com/artifacts/sequenceDiagram.htm
D. Kortenkamp, R.P. Bonasso, R. Murphy: Artificial Intelligence and Mobile Robots (AAAI Press/The MIT Press, Cambridge 1998)
R. Murphy: Introduction to AI Robotics (MIT Press, Cambridge 2000)
R. Siegwart, I.R. Nourbakhsh: Introduction to Autonomous Mobile Robots (MIT Press, Cambridge 2004)
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)
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
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)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights 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)