Coordinating Software Components in a Component-Based Architecture for Robotics

Component-based software is a major design trend in robot software. It brings many benefits to system design, implementation and maintenance. One step in using component-based methods in designing the structure of a robot program is managing the components and the connections between them over time, known as coordination. In this paper we present a framework for coordinating component networks using the OpenRTM-aist software architecture, implemented using the concurrent Erlang language. The framework provides a coordination system that mimics the internal state-change notification system of OpenRTMaist. Rather than being a fixed- structure coordinator, it allows robot developers to implement a coordinator matching the style of coordination they need. This paper shows that Erlang has potential in robotics.

[1]  Takashi Suehiro,et al.  A Software Platform for Component Based RT-System Development: OpenRTM-Aist , 2008, SIMPAR.

[2]  Alexei Makarenko,et al.  Towards component-based robotics , 2005, 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[3]  Reid G. Simmons,et al.  A task description language for robot control , 1998, Proceedings. 1998 IEEE/RSJ International Conference on Intelligent Robots and Systems. Innovations in Theory, Practice and Applications (Cat. No.98CH36190).

[4]  Herman Bruyninckx,et al.  Open robot control software: the OROCOS project , 2001, Proceedings 2001 ICRA. IEEE International Conference on Robotics and Automation (Cat. No.01CH37164).

[5]  Byoungyoul Song,et al.  An Introduction to Robot Component Model for OPRoS ( Open Platform for Robotic Services ) , 2008 .

[6]  Kurt Konolige COLBERT: A Language for Reactive Control in Sapphira , 1997, KI.

[7]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[8]  Brian C. Williams,et al.  Model-based programming of intelligent embedded systems and robotic space explorers , 2003, Proc. IEEE.

[9]  Tara A. Estlin,et al.  CLARAty and challenges of developing interoperable robotic software , 2003, Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003) (Cat. No.03CH37453).

[10]  Bernhard Nebel,et al.  KI-97: Advances in Artificial Intelligence , 1997, Lecture Notes in Computer Science.

[11]  Steve Vinoski,et al.  Advanced CORBA® Programming with C++ , 1999 .

[12]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .