CoolBOT: A Component Model and Software Infrastructure for Robotics

  • Antonio C. Domínguez-Brito
  • Daniel Hernández-Sosa
  • José Isern-González
  • Jorge Cabrera-Gámez
Part of the Springer Tracts in Advanced Robotics book series (STAR, volume 30)


In general, we face recurrently some common problems when programming robotic systems: multithreading and multiprocessing, distributed computing, hardware abstraction, hardware and software integration, multiple levels of abstraction and control, the development of a programming tool for a group of users which may become wide and diverse, etc. In this document we will introduce CoolBOT, a component oriented programming framework implementing primitives and mechanisms aimed to support the resolution of some of these common problems. This framework allows building systems by integrating “off-the-shelf” software components following a port automata model [SVK97] that fosters controllability and observability. Next section, Section 2, will introduce some of the recurrent problems we can find when developing the software infrastructure aimed to control a robotic system. In Section 3 we introduce a component oriented programming framework for programming robotic systems called CoolBOT which is the main subject of this chapter. In Section 4 we will outline the use of CoolBOT for building a real example. Finally in Section 5 we outline some of the conclusions we have drawn along the way of building and using CoolBOT.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [CGDBHS02]
    J. Cabrera-Gámez, A. C. Domínguez-Brito, and D. Hernández-Sosa, Coolbot: A component-oriented programming framework for robotics, Lecture Notes in Computer Science, Sensor Based Intelligent Robots: International-Workshop Dagstuhl Castle, Germany, October 15–20, 2000 Selected Revised Papers, vol. 2238, pp. 282–304, Springer Berlin / Heidelberg, January 2002.Google Scholar
  2. [DBHTCG00]
    A. C. Domínguez-Brito, F. M. Hernández-Tejera, and J. Cabrera-Gámez, A Control Architecture for Active Vision Systems, Frontiers in Artificial Intelligence and Applications: Pattern Recognition and Applications, M.I. Torres and A. Sanfeliu (eds.), pp. 144–153, IOS Press, Amsterdam., 2000.Google Scholar
  3. [DBAC00]
    A. C. Domínguez-Brito, M. Andersson, and H. I. Christensen, A Software Architecture for Programming Robotic Systems based on the Discrete Event System Paradigm, Technical Report CVAP 244, Centre for Autonomous Systems, KTH-Royal Institute of Technology), S-100 44 Stockholm, Sweden, September 2000.Google Scholar
  4. [DBCGHS+01]_A. C. Domínguez-Brito, J. Cabrera-Gámez, D. Hernández-Sosa, M. Castrillón-Santana, J. Lorenzo-Navarro, J. Isern-González, C. Guerra-Artal, I. Pérez-Pérez, A. Falcón-Martel, M. Hernández-Tejera, and J. Méndez-Rodríguez, Eldi: An Agent Based Museum Robot, Systems Science, ISSN 0137-1223 27 (2001), no. 4, 119–128.Google Scholar
  5. [DB03]
    A. C. Domínguez-Brito, CoolBOT: a Component-Oriented Programming Framework for Robotics, Ph.D. thesis, Dpto. Informática y Sistemas, Universidad de Las Palmas de Gran Canaria (, September 2003.Google Scholar
  6. [DBHSIGCG04]
    A. C. Domínguez-Brito, D. Hernández-Sosa, J. Isern-González, and J. Cabrera-Gámez, Integrating Robotics Software, IEEE International Conference on Robotics and Automation, New Orleans, USA, April 2004.Google Scholar
  7. [FHC97]
    S. Fleury, M. Herrb, and R. Chatila, G en oM: A Tool for the Specification and the Implementation of Operating Modules in a Distributed Robot Architecture, Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (Grenoble, Francia), September 1997, pp. 842–848.Google Scholar
  8. [FHM]
    S. Fleury, M. Herrb, and A. Mallet, G en oM: User’s Guide,,-.Google Scholar
  9. [Gat92]
    E. Gat, Integrating Planning and Reacting in a Heterogeneous Asynchronous Architecture for Controlling Real-World Mobile Robots, Proceedings of the Tenth National Conference on Artificial Intelligence (San Jose, CA, USA), July 1992, pp. 809–815.Google Scholar
  10. [GHJV95]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design patterns: Elements of reusable object-oriented software, Addison-Wesley Professional Computing Series, Addison-Wesley, 1995.Google Scholar
  11. [Gop01]
    K. Gopalan, Real-Time Support in General Purpose Operating Systems, ECSL Technical Report TR92, Experimental Computer Systems Labs, Computer Science Department. State University of New York at Stony Brook, 2001.Google Scholar
  12. [HTCGCS+ 99]_M. Hernández-Tejera, J. Cabrera-Gámez, M. Castrillón-Santana, A. C. Domínguez-Brito, C. Guerra-Artal, D. Hernández-Sosa, and J. Isern-González, DESEO: an Active Vision System for Detection, Tracking and Recognition, vol. 1542, pp. 376–391, International Conference on Vision Systems, Las Palmas de Gran Canaria, Spain. Springer-Verlag Lecture Notes on Computer Science, January 1999, ISBN 3-540-65459-3.Google Scholar
  13. [HSDBGACG05]
    D. Hernández-Sosa, A. C. Domínguez-Brito, C. Guerra-Artal, and J. Cabrera-Gámez, Runtime self-adaptation in a component-based robotic framework, IEEE/RSJ International Conference on Inteligent Robots and Systems (IROS 2005), August 2–6, Edmonton, Alberta, Canada, 2005.Google Scholar
  14. [LM94]
    F. Lu and E. Milios, Robot pose estimation in unknown environments by matching 2d range scans, Proc. IEEE Comp. Soc. Conf. on Computer Vision and Pattern Recognition, Seattle, USA, 1994.Google Scholar
  15. [LM97]
    F. Lu and E. Milios, Globally consistent range scan alignment for environment mapping, Autonomous Robots 4 (1997), no. 4, 333–349.CrossRefGoogle Scholar
  16. [MFB02]
    A. Mallet, S. Fleury, and H. Bruyninckx, A specification of generic robotics software components: future evolutions of G en oM in the orocos context, IROS 2002 Conference, 2002.Google Scholar
  17. [MH01]
    R. Monson-Haefal, Enterprise JavaBeans, O’Reilly, September 2001.Google Scholar
  18. [Rof01]
    Jason T. Roff, Ado: Activex data objects, O’Reilly, 2001.Google Scholar
  19. [RS98]
    K. Ramamritham and C. Shen, Using Windows NT for Real-Time Applications: Experimental Observations and Recommendations, IEEE Real-Time Technology and Applications Symposium (, 1998.Google Scholar
  20. [SAM83]
    M. Steenstrup, M. A. Arbib, and E. G. Manes, Port automata and the algebra of concurrent processes, Journal of Computer and System Sciences 27 (1983), 29–50.zbMATHCrossRefMathSciNetGoogle Scholar
  21. [Sch06]
    C. Schlegel, Communication Patterns as Key Towards Component Interoperability, In D. Brugali (Ed.) Software Engineering for Experimental Robotics, Spinger STAR series, 2006Google Scholar
  22. [Sch03]
    C. Schlegel, Overview of the OROCOS::SmartSoft Approach,, 2003.Google Scholar
  23. [Sch04]
    C. Schlegel, Navigation and execution for mobile robots in dynamic environments: An integrated approach, Ph.D. thesis, University of Ulm, 2004.Google Scholar
  24. [Ste94]
    D. B. Stewart, Real-Time Software Design and Analysis of Reconfigurable Multi-Sensor Based Systems, Ph.D. thesis, Carnegie Mellon University, Dept. Electrical and Computing Engineering, Pittsburgh, 1994.Google Scholar
  25. [SVK97]
    D. B. Stewart, R. A. Volpe, and P. Khosla, Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects, IEEE Transactions on Software Engineering 23 (1997), no. 12, 759–776.CrossRefGoogle Scholar
  26. [SW99]
    C. Schlegel and R. Wörz, Interfacing Different Layers of a Multilayer Architecture for Sensorimotor Systems using the Object Oriented Framework Smart-Soft, Third European Workshop on Advanced Mobile Robots-Eurobot99. Zürich, Switzerland, September 1999.Google Scholar
  27. [Szy99]
    C. Szyperski, Component software: Beyond object-oriented programming, Addison-Wesley, 1999.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Antonio C. Domínguez-Brito
    • 1
  • Daniel Hernández-Sosa
    • 1
  • José Isern-González
    • 1
  • Jorge Cabrera-Gámez
    • 1
  1. 1.IUSIANIUniversidad de Las Palmas de Gran Canaria (ULPGC)Spain

Personalised recommendations