An evolution friendly modular architecture to produce feasible robots

https://doi.org/10.1016/j.robot.2014.07.014Get rights and content

Highlights

  • We present a modular architecture to produce feasible robots through evolution.

  • The architecture is based on a set of a heterogeneous modules.

  • The modules contain a large number of connection faces per module.

  • The design and the implementation of prototype modules is described in detail.

  • Different experiments show its potential for evolving robot morphologies and control.

Abstract

This paper proposes the use of a modular robotic architecture in order to produce feasible robots through evolution. To this end, the main requirements the architecture must fulfill are analyzed and a top-down methodology is employed to obtain the different types of modules that make it up. Specifically, the problem of how to increase the evolvability or evolution friendliness of the system is addressed by considering a heterogeneous modular architecture with a large number of connection faces per module. Afterwards, a prototypical implementation of these modules with the required features is described and different experiments provide an indication of how versatile the architecture is for evolving robot morphologies and control for specific tasks and how easy it is to build them.

Introduction

Designing a robot for a specific task and environment is a complex process that relies heavily on the expertise of designers. It usually involves two isolated steps where the morphology of the robot is first selected according to the environment and task features and, afterwards, the controller is programmed. These two isolated phases for designing the morphology of the robot and its behavior do not exploit the fact that morphology, controller, and environment are highly interdependent. In fact, several authors have pointed out that embodiment is a key aspect for developing really intelligent robots  [1], [2]. Complex, robust, and well adapted behaviors can be obtained with simpler controllers by exploiting the “morphological intelligence” of the robots  [3], [4], [5].

One of the main approaches to address this complex design process is based on evolution. In fact, in the last three decades, several examples can be found where evolutionary algorithms have been successfully employed to design controllers for robots. On one hand, some authors have resorted to fixed morphologies  [6], [7], [8]. These embodiment approaches use the interrelations between the morphology of the robot and its environment to find a suitable controller which provides the desired behavior. On the other hand, in order to automate the whole robot design process for a task and environment, some authors have introduced the morphology of the robot as part of the search space and they simultaneously co-evolve morphology and control. As commented above, the main advantage of this approach is that it exploits the interrelations between the morphology, the control and the environment for a specific task.

Following this second approach, authors such as Sims, in their seminal work, coevolved the morphology and the control of virtual creatures for tasks such as walking, swimming or jumping  [9]. His work was based on cubic bodies joined by hinges, neural networks as a control system and a generative encoding. After his work, other authors have coevolved robots for different tasks in a similar way  [10], [11], [12]. Nevertheless, these approaches only produce virtual creatures that cannot be transferred to reality without an ad hoc adaptation. Furthermore, as the algorithms do not take into account any physical constraint, most of the solutions are unfeasible. For example, most of these approaches employ joints with high torque motors, very light weight structures and dynamic engines configured to achieve fast evaluations, but with low accuracy.

Other authors have studied how to achieve feasible morphological designs automatically. To this end, one interesting approach was employed in the Golem project  [13]. Here, the morphological shape and the control parameters of virtual structures based on bars (some of them with telescopic actuators) and ball–socket joints were coevolved. Afterwards, some selected morphologies were processed by an algorithm to obtain feasible designs which could be built using a 3D printer. After manually removing the support material and installing the motors, these robots were able to operate using an external control structure. More recently, Cheney et al.  [14] have coevolved soft robots using generative encodings. These robots can be built using an ad hoc process and they can be actuated varying the external pressure  [15].

A different approach to automatically obtain feasible robots is to make use of some kind of blocks as a basic set of elementary building parts for the morphological evolution. This approach implies a discrete search space, but it guarantees that all solutions can be built. In this line, some authors employ Lego bricks as the basic element for morphological construction. A point in case is  [16], which is more focused on morphology than on control or, more recently  [17], that employs three different types of parts (a hinge joint, a controller block and several Lego bricks) for evolving the robots. Apart from Lego bricks  [18], proposed using bars and circular sockets (actuated or fixed) as basic elements to design robots using a generative encoding based on Lindenmayer systems.

The main drawback of these approaches is that, although the robots they produce are feasible and can be built, they are only a proof of concept to show that coevolution can achieve successful robots for simple tasks like locomotion on flat surfaces in laboratory environments. Furthermore, most of the robots need a laborious building process to obtain the desired morphologies and, obviously, Lego bricks are not a suitable architecture to generate useful robots in any real industrial environment.

This paper shares with the previous approach its use of predefined blocks, but with a different perspective. The work presented here is based on robotic modules, which allow us to quickly deploy useful modular robots for complex tasks and environments. Modular robots are built by joining some relatively simple devices called modules. They are autonomous devices with a few actuators, sensors, communications, and some computational capabilities. Complex robots with different morphologies can be created by combining a small set of predesigned modules. There are a lot of different modular architectures that have shown high versatility for building different morphologies  [19], [20], [21], [22], [23]. The use of modular robots to coevolve the morphology and control guarantees that all the solutions obtained are feasible and they make building the robots easier and faster. Nevertheless, compared to using simple blocks such as Lego parts, the new search space these modules induce makes evolution harder due to the increased deceptiveness. Evolution is still discrete but its resolution is decreased as the blocks are larger. Consequently, the addition or deletion of one of the modules generates more pronounced changes in the behavior of the robot.

The first attempts to design modular robots tried to obtain the configuration by only evaluating the morphological features of serial manipulators  [24], [25], [26]. That is, the controller and dynamic properties of the system were not taken into account and were replaced by an analysis of the kinematics of the system. Similarly, Farritor and Dubowsky  [27] explored this approach to develop robots for industrial tasks based on a kinematic analysis and a set of features of the task like, for example, the tallest obstacle that the robot had to go over. Leger  [28] resorted to kinematic and dynamic analyses to generate field robots based on a base element with several serial manipulators, where the paths for the end effectors of the manipulator were predefined as a part of the task. Similar to this work, Chocron coevolved modular robots for rough explorations using dynamic simulators  [29].

Despite the fact that all of these approaches generate feasible robots, they are mostly based on simulated modular architectures and they lack a physical implementation. Only a few authors have experimented with designing modular robots using real modular architectures. In this line, Lund coevolved the morphology and control of line-follower robots based on modules built using assemblies of Lego parts  [30] (in this case they use modules with sensing and acting capabilities, and not only Lego blocks). Also, Marbach and Ijspeert coevolved simulated virtual robots using central pattern generators and Yamor modules, an homogeneous architecture based on hinge joints  [31].

While simulated robotic modular architectures present interesting properties in order to increase their versatility, and in some cases, even their evolvability, real implemented modular architectures generally lack these features. In fact, almost every real modular architecture did not take evolvability as a design parameter when they were being designed. For example, most simulated architectures are heterogeneous or present a high number of connecting faces. However, most modular architectures implemented in the real-world rely on homogeneous modules with only a few connecting faces per module. On the other hand, simulated architectures do not address most of the issues that are faced in real-world architectures such as power transmission, computational and communication capabilities, structural stability, robustness, etc.

This work seeks to fill this gap by developing a modular architecture that is appropriate for building robots through evolution. Therefore, the architecture must face real hardware issues and, at the same time, it must provide a high level of versatility to build different robot morphologies and a series of characteristics that can help evolution. The architecture will provide a basic tool to generate feasible and useful robots with robust and well-adapted behaviors taking into account the interrelation between the environment, the morphology, and the controller of the robot.

The paper is structured as follows: Section  2 contains the initial requirements established for the architecture with the aim of promoting evolvability and feasibility and the design principles adopted to fulfil them. Section  3 is devoted to the details of the specific implementation of the architecture in a set of prototype modules. In Section  4, the capabilities of the implemented modules are shown through the construction of several real robotic structures. Section  5 contains a summary and discussion of the main results obtained when the architecture was applied to the evolutionary design of robots in linear and static missions. Finally, the main conclusions of this work and future directions in this line are commented in Section  6.

Section snippets

Requirements and design of the architecture

The requirements that a modular robotic architecture must fulfil in order to facilitate the evolution of real robots able to work in different and useful tasks were analyzed in depth. Whereas most modular architectures only take into account requirements related to the deployment and operation of modular robots, here the interest is also in making the architecture more evolution friendly. Thus, the combination of the two types of desires lead to the following requirements:

  • Evolvability: in order

Implementation of prototype modules

In the previous section, the main features and components of the modular architecture were presented. Here a description of the different solutions for the actuator modules that have been adopted is given through the presentation of a specific prototype implementation. Throughout this section, the design and morphology of the prototype modules will be explained as well as the different systems needed for the operation of the robot, such as the energy supply system, communications, control

Some modular robots for useful tasks

The aim of this section is to show how useful robots can be easily built for different tasks by assembling the implemented modules in ad hoc configurations. In all of these cases the robots were powered through an external power supply attached by a cable to one of the modules and orders were given to them through a USB cable connected to the same module as the power supply. This module was taken as the master module and by means of messages through the CAN bus it discovers the other modules

Evolving robots using this architecture

One of the design requirements of this modular architecture was its adequateness for use within evolutionary processes. Consequently, a verification of whether it meets this requirement is necessary. It can be postulated that an architecture is amenable to evolution when it allows for easier and more successful evolutionary processes. This implies being able to provide for a large number of possible variations in the resulting robots when they are evolved to solve a given task and ensuring that

Conclusions

This work has presented a modular robotic architecture that can be employed as a basic element to build evolutionary robots. Unlike other approaches, this method guarantees feasibility and rapid deployment of the solutions. In addition, the requirements of the architecture have been analyzed taking into account the evolvability or evolution friendliness of the system. This has led to the determination that a heterogeneous architecture would be better from an evolutionary perspective due to the

Andrés Faiña received the M.S. degree in Industrial Engineering in 2006 and Ph.D. in 2011 from the University of A Coruña, Spain. He is currently working as a post-doctoral researcher in the IT University of Copenhagen. His main interests include modular and self-reconfigurable robotics, mobile robotics and electronic and mechanical design.

References (32)

  • C. Paul

    Morphological computation: a basis for the analysis of morphology and control requirements

    Robot. Auton. Syst.

    (2006)
  • M. Matarić et al.

    Challenges in evolving controllers for physical robots

    Robot. Auton. Syst.

    (1996)
  • Andrés Faíña et al.

    EDHMoR: Evolutionary designer of heterogeneous modular robots

    Eng. Appl. Artif. Intell.

    (2013)
  • R. Pfeifer et al.

    New robotics: design principles for intelligent systems

    Artif. Life

    (2005)
  • R. Pfeifer et al.

    How the Body Shapes the Way We Think: A New View of Intelligence

    (2007)
  • R. Pfeifer et al.

    Morphological computation: connecting body, brain and environment

  • K. Matsushita, M. Lungarella, C. Paul, Locomoting with less computation but more morphology, 2005, pp....
  • D. Floreano et al.

    Evolution of homing navigation in a real mobile robot

    IEEE Trans. Syst. Man Cybern. B

    (1996)
  • D. Floreano et al.

    Evolution of adaptive behaviour in robots by means of Darwinian selection

    PLoS Biol.

    (2010)
  • K. Sims, Evolving virtual creatures, in: Proceedings of the 21st Annual Conference on Computer Graphics and Interactive...
  • M. Komosin’ski

    The Framsticks system: versatile simulator of 3D agents and their evolution

    Kybernetes

    (2003)
  • N. Chaumont et al.

    Evolving virtual creatures and catapults

    Artif. Life

    (2007)
  • M. Mazzapioda, A. Cangelosi, S. Nolfi, Evolving morphology and control: a distributed approach, in: IEEE Congress on...
  • J.B. Pollack, H. Lipson, The GOLEM project: evolving hardware bodies and brains, in: Proceedings of the Second NASA/DoD...
  • N. Cheney, R. MacCurdy, J. Clune, H. Lipson, Unshackling evolution, in: Proceeding of the Fifteenth Annual Conference...
  • J. Hiller et al.

    Automatic design and manufacture of soft robots

    IEEE Trans. Robot.

    (2012)
  • Cited by (17)

    • Fusing non-conservative kinetic market models and evolutionary computing

      2020, Physica A: Statistical Mechanics and its Applications
      Citation Excerpt :

      To avoid overpopulation and limit the computing resources, a criterion is applied to select the states to be kept in the population, which frequently are the best individuals. Within this paradigm, this soft computing technique was successful in evolving many different entities [14–18]. Evolutionary computing has a large body of knowledge with many algorithmic variations around Darwinian principles [13].

    • Concurrent controller and Simulator Neural Network development for a differentially-steered robot in Evolutionary Robotics

      2016, Robotics and Autonomous Systems
      Citation Excerpt :

      A robot’s behaviour is affected not only by its controller but also by the robot’s morphology. A coevolutionary approach can be taken where controllers and robot morphologies are improved together [16,17]. Evolving a robot’s morphology usually necessitates changing the model of what the robot looks like and evolving the physics model parameters of the simulator [14,18].

    • Practical hardware for evolvable robots

      2023, Frontiers in Robotics and AI
    • A Novel Connection Mechanism for Dynamically Reconfigurable Modular Robots

      2022, Proceedings of the International Conference on Informatics in Control, Automation and Robotics
    View all citing articles on Scopus

    Andrés Faiña received the M.S. degree in Industrial Engineering in 2006 and Ph.D. in 2011 from the University of A Coruña, Spain. He is currently working as a post-doctoral researcher in the IT University of Copenhagen. His main interests include modular and self-reconfigurable robotics, mobile robotics and electronic and mechanical design.

    Francisco Bellas is a Profesor Titular at the University of A Coruña, Spain. He received the B.S. and M.S. degrees in Physics from the University of Santiago de Compostela, Spain, in 2001, and a Ph.D. in Computer Science from the University of A Coruña in 2003. He is a member of the Integrated Group for Engineering Research at the University of A Coruña. His current research activities are related to evolutionary algorithms applied to artificial neural networks, multiagent systems and robotics.

    Félix Orjales received the M.S. degree in Industrial Engineering in 2010 from the University of León, Spain. He is currently working towards a Ph.D. degree in the Department of Industrial Engineering at the University of A Coruña. He is currently a researcher at the Integrated Group for Engineering Research. His research activities are related to electronics and unnamed aerial vehicles.

    Daniel Souto received the M.S. degree in Industrial Engineering in 2007 from the University of A Coruña, Spain. He is currently working towards a Ph.D. degree in the Department of Industrial Engineering at the same University. He is currently a researcher at the Integrated Group for Engineering Research. His research activities are related to automatic design and mechanical design of robots.

    Richard J. Duro received an M.S. degree in Physics from the University of Santiago de Compostela, Spain, in 1989, and a Ph.D. in Physics from the same University in 1992. He is currently a Catedrático de Universidad in the Department of Computer Science and Head of the Integrated Group for Engineering Research at the University of A Coruña. His research interests include higher order neural network structures, signal processing and autonomous and evolutionary robotics.

    View full text