NaoTH Software Architecture for an Autonomous Agent

Abstract

An appropriate architecture (i.e., framework) is the base of each successful heterogeneous software project. It enables a group of developers to work at the same project and to organize their solutions. From this point of view, the artificial intelligence and/or robotics related research projects are usually more complicated, since the actual result of the project is often not clear. In particular, a strong organization of the software is necessary if the project is involved in education. Obviously, there is no perfect framework which could satisfy all the needs of the developers. In this paper we present a modular software architecture designed to implement an autonomous agent. In particular, it is used to develop software which is used simultaneously at several platforms (e.g., humanoid robot, simulated agent). One of the main aspects considered in our design is a strong code modularization which allows for re-usability, transparency and easily testing. Other important aspects are real-time applicability and simple usage. This paper presents the main concepts and the particular implementation of the important parts. We also provide a qualitative comparison with other existing robotics frameworks.

@InProceedings{SCPR2010,
  Title                    = {NaoTH Software Architecture for an Autonomous Agent},
  Author                   = {Heinrich Mellmann and Yuan Xu and Thomas Krause and Florian Holzhauer},
  Booktitle                = {International Workshop on Standards and Common Platforms for Robotics (SCPR 2010)},
  Year                     = {2010},

  Address                  = {Darmstadt},
  Month                    = {November},

  Abstract                 = {An appropriate architecture (i.e., framework) is the base of each successful heterogeneous software project. It enables a group of developers to work at the same project and to organize their solutions. From this point of view, the artificial intelligence and/or robotics related research projects are usually more complicated, since the actual result of the project is often not clear. In particular, a strong organization of the software is necessary if the project is involved in education.
Obviously, there is no perfect framework which could satisfy all the needs of the developers. In this paper we present a modular software architecture designed to implement an autonomous agent. In particular, it is used to develop software which is used simultaneously at several platforms (e.g., humanoid robot, simulated agent). One of the main aspects considered in our design is a strong code modularization which allows for re-usability, transparency and easily testing. Other important aspects are real-time applicability and simple usage.
This paper presents the main concepts and the particular implementation of the important parts. We also provide a qualitative comparison with other existing robotics frameworks.},
  Timestamp                = {2010.11.21}
}
Authors:
Heinrich Mellmann, Yuan Xu, Thomas Krause, Florian Holzhauer
Category:
Conference Paper
Year:
2010
Location:
International Workshop on Standards and Common Platforms for Robotics (SCPR 2010)