## 1 Introduction  
Organizing the capabilities of autonomous systems is an old, recurrent, and still open problem in artificial intelligence based systems, and in service robotics in particular, where this paper is focused. These different ways of organization are usually known as the architecture of the robot. Both software and cognitive architectures form the backbone of complete robotic systems [1]. From a historical perspective, Shakey ([[https://www.sri.com/case-studies/the-man-the-myth-the-legend-meet-shakey-the-robot-the-worlds-first-ai-based-robot/](https://www.sri.com/case-studies/the-man-the-myth-the-legend-meet-shakey-the-robot-the-worlds-first-ai-based-robot/)]([https://www.sri.com/case-studies/the-man-the-myth-the-legend-meet-shakey-the-robot-the-worlds-first-ai-based-robot/](https://www.sri.com/case-studies/the-man-the-myth-the-legend-meet-shakey-the-robot-the-worlds-first-ai-based-robot/))) is considered as the first service robot to embody an artificial intelligence system. Its cognitive architecture was based on symbolic principles. It used the Stanford Research Institute Problem Solver (STRIPS) planner [2] as the center of their control system. The Shakey project generated a lot of remarkable results, including the development of the A* search algorithm; the Hough transform, or the visibility graph method for calculating 2-D trajectories to a predefined goal. [PERSON]'s top-down approach was criticized for not being able to deal wit real world through perception and action in real-time. According to [PERSON] [3], the problem was that [PERSON]'s cognitive architecture was based on the idea of decomposing the intelligent system into information processing units which had to interact with each other via a symbolic representation. This approach led to the emergence of behavior-based robotics during the 80 s and 90 s, that basically proposes that artificial intelligent systems should be decomposed into independent and parallel activity producers which interface directly to the world through perception and action, rather than interface to each other [4]. Using combinations of behaviors rather than reasoning over world models seem to be robust, modular, and adequate for real-time robot control, but the ability to reason about world models, map making, or long-term planning were still required for many tasks, notably in human-robot interaction tasks. In addition, behavior-based architectures introduced the new problem of how to compose behavior interactions. This lead to introduce the concept of hybrid architectures, which means how to introduce high-level capabilities without losing low-level advantages. Hybrid architectures usually consist of three layers: a set of reactive control mechanisms, a monitoring execution mechanism, and an upper layer for time-consuming deliberative computations [5]. A well known example of hybrid architecture is Autonomous Robot Architecture (AuRA) [6]. The goal of this architecture is how to introduce high-level capabilities without losing low-level advantages. Once reactive execution begins, deliberation is deactivated, unless it detects a failure. Failure recovery works up the hierarchy, that is, it revises the plan sequence based on input available so far. The previous taxonomy of robot control architectures refers to the \"cognitive\" dimension, each of them having different origins. Therefore, behavior-based architectures have a biological inspiration, symbolic approaches are more related to psychology, and hybrid ones could be considered engineer inspired. A complete analysis of different and more detailed ways of classifying architectures can be found in [7]. Another dimension analysis robotic architecture has to do with their software implementation. Originally, each architecture was developed for a specific robot. However, the need for re-configuring and re-using robot's behaviors has lead to the emergence of frameworks for implementing this architectures.