Advertisement

Robotic Systems Architectures and Programming

  • David Kortenkamp
  • Reid Simmons
  • Davide Brugali

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

Keywords

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

American Association for Artificial Intelligence

AI

artificial intelligence

AIS

artificial intelligence system

API

application programming interface

aRDnet

agile robot development network

ATLANTIS

a three layer architecture for navigating through intricate situations

AuRA

autonomous robot architecture

BIP

behavior-interaction-priority

BRICS

best practice in robotics

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

CNRS

Centre National de la Recherche Scientifique

CORBA

common object request broker architecture

common object request broker architecture

CSAIL

Computer Science and Artificial Intelligence Laboratory

DDS

data distribution service

DLR

German Aerospace Center

DOF

degree of freedom

ESL

execution support language

FSA

finite-state acceptor

GAPP

goal as parallel programs

GenoM

generator of modules

GRACE

graduate robot attending conference

HTN

hierarchical task network

ICE

internet communications engine

IC

integrated chip

IDL

interface definition language

IPC

interprocess communication

IxTeT

indexed time table

JAUS

joint architecture for unmanned systems

LCD

liquid-crystal display

MIR

mode identification and recovery

MIT

Massachusetts Institute of Technology

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 unit

ORCCAD

open robot controller computer aided design

OROCOS

open robot control software

PID

proportional–integral–derivative

PLEXIL

plan execution interchange language

PNT

Petri net transducer

PRS

procedural reasoning system

PTU

pan–tilt unit

QOS

quality of service

RAP

reactive action package

RCS

real-time control system

ROS

robot operating system

RPC

remote procedure call

RTI

real-time innovation

RTS

real-time system

RTT

real-time toolkit

RWI

real-world interface

SLICE

specification language for ICE

SPA

sense-plan-act

TAP

test action pair

TCP

transfer control protocol

TC

technical committee

TDL

task description language

UDP

user datagram protocol

UML

unified modeling language

VME

Versa Module Europa

XML

extensible markup language

YARP

yet another robot platform

References

  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) http://www.ni.com/labview/
  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, http://www.sri.com
  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: http://www.jauswg.org/baseline/refarch.html
  65. 12.65
    JAUS Tutorial Powerpoint slides: http://www.jauswg.org/
  66. 12.66
    JAUS Domain Model Volume I, Version 3.2: http://www.jauswg.org/baseline/current_baseline.shtml
  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), http://www.cs.cmu.edu/IPC
  79. 12.79
    S.W. Ambler: UML 2 Sequence Diagramms (Ambisoft, Toronto 2007) http://www.agilemodeling.com/artifacts/sequenceDiagram.htm
  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
  • 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