A self-reconfigurable robot is a robot that is made up of a number of physically connected modules that can rearrange their connections to change the global shape of the robot. Given their morphological flexibility, self-reconfigurable robots have the potential to display a high degree of versatility: to move fast on flat terrain, modules may reconfigure into a circular shape and roll; to move in confined spaces, the modules may reconfigure into a snake and creep; and to manipulate an object, the modules may reconfigure into a shape specialized to the characteristics of the object and/or to the type of manipulation required.
Research on self-reconfigurable robots started in the late 1980s when the idea of cellular robots emerged [
The book Self-Reconfigurable Robots—An Introduction by Stoy, Brandt, and Christensen is the first book on self-reconfigurable robots to appear. The authors have divided the material into 10 chapters covering topics ranging from the history of self-reconfigurable robotics and hardware to different approaches to self-reconfiguration and future research challenges. The book is aimed at graduate students and researchers. The material is, however, presented in language and at a level of technical detail that allow anyone with an interest in self-reconfigurable robots to enjoy the book.
Chapter 1 introduces the reader to the field of self-reconfigurable robotics by providing two possible scenarios in which such robots could be particularly useful: (i) a planetary exploration scenario, in which a self-reconfigurable robot's morphological flexibility enables it to navigate in different environments, and (ii) a morphing production line scenario, in which reconfigurable robots autonomously assemble furniture. The authors then present examples of two self-reconfigurable robots, namely the CONRO [
Chapter 2 is titled “Designing Self-Reconfigurable Robots.” In this chapter, the authors stress the interdependences between hardware, control, morphology, task(s), and environment(s). Some of the tradeoffs that have to be made in the design of self-reconfigurable robotic systems are also discussed. A distinction is made between design goals and characteristics of systems. Versatility, adaptability, robustness, and cheapness are listed as desirable design goals for most robotic systems, whereas systems can be characterized according to their degrees of reconfigurability, scalability, and responsiveness, and how well they meet the functional requirements in their domain of application. Although the distinction between design goals and characteristics seems slightly arbitrary (systems could arguably be categorized according to their degree of robustness, while scalability could be a design goal for some systems, for instance), the discussion of the individual items is relevant and provides valuable insight to system designers.
Chapter 3 focuses on the mechanical design of self-reconfigurable robotic systems. The purpose of the chapter, as stated by the authors, is to “enlighten software designers about the cost of implementing a solution at the hardware level … [and] to provide the hardware designer with a starting point for designing self-reconfigurable robots.” The chapter starts off with a discussion of the different types of self-reconfigurable robots, namely chain-type, lattice-type, and hybrids. The authors introduce different aspects of mechanical design: reconfiguration in two dimensions and in three dimensions, module geometry, module autonomy, the use of submodules, heterogeneous modules, bipartite designs, and actuator strength. Different types of connectors—magnetic connectors, mechanical connectors, and electrostatic connectors—are also discussed.
Chapter 3 spans 42 pages and is more than twice as long as most of the other nine chapters in the book. The space is devoted to an overview of mechanical design and its many facets rather than to low-level technical details. The chapter provides a good overview of existing designs and systems, and it discusses several of the considerations and tradeoffs that must be made in the mechanical design of self-reconfigurable robotic systems. A table of 21 self-reconfigurable robots, with the number and the type of connectors used in each system and references to the publication(s) on the respective systems, is provided. For readers who wish to dive into more technical details, the authors conveniently list 33 categorized references to publications covering the topics discussed in the chapter.
Chapter 4 is titled “Electrical Design of Self-Reconfigurable Robots.” The majority of the chapter is devoted to a discussion of communication and to discussions of the advantages and disadvantages of different types of communication: local communication, global communication, and multimode communication. The authors briefly debate the use of external power supplies versus on-board batteries. A table summarizing the computational hardware, type of communication technology, and on-board sensors for 20 different self-reconfigurable robots is also provided.
Chapter 5 is an introduction to the problem of self-reconfiguration. Self-reconfiguration is difficult for several reasons: (i) modules are often subject to motion constraints, (ii) modules can get trapped inside or outside hollow substructures, (iii) a robot usually has to remain in one piece during reconfiguration, and (iv) when multiple modules move at the same time, congestion can arise. An overview of approaches to simplify the problem of self-reconfiguration is then provided, namely (i) the use of metamodules, that is, larger modules that are composed of a number of smaller modules, (ii) reducing the size of the space of global configurations by only allowing for a limited set of local configurations, (iii) the use of scaffolds of modules on which other modules can move, and (iv) the use of a few predefined intermediate configurations during reconfiguration. For each of the simplification approaches, the authors discuss why the approach simplifies the reconfiguration problem and at what cost. The authors then consider the problem of self-reconfiguration from three different perspectives: self-reconfiguration as a search problem (Chapter 6), self-reconfiguration as a control problem (Chapter 7), and self-reconfiguration as a by-product of task execution (Chapter 8).
In Chapter 6, the problem of how to find a sequence of module moves that will reconfigure the robot from an initial configuration to a goal configuration is discussed. Configurations of a robot can be represented as nodes in a graph while edges between nodes represent the move (or moves) necessary to go from one configuration to another. The self-reconfiguration problem as seen from a search perspective essentially boils down to finding a path from the node presenting the initial configuration to the node representing the goal configuration. However, as the authors demonstrate, the exponential growth in the size of the search space makes brute-force approaches infeasible—even for systems composed of relatively few modules. Various heuristics and distance metrics are discussed. The authors give examples of how simplifications, such as metamodules and scaffolds, have been used in order to make search a feasible approach to the problem of self-reconfiguration. As noted at the end of Chapter 6, the use of search often necessitates centralized control and a global view of the system.
Self-reconfiguration viewed as a distributed control problem is the topic of Chapter 7. In the discussion, the authors assume that modules know their current location and their goal location with respect to the other modules. The challenge for each module is to determine how and where to move next in order to close the distance to its goal location. Different movement strategies are discussed: random movements, local rules, coordinate attractors, gradient attractors, and recruitment. The authors also discuss different representations of the goal locations and how a target shape can be grown using transition rules.
Chapter 8 is on the topic of self-reconfiguration as a side effect of task execution. The authors discuss several simulation-based works on cluster flow. In cluster flow, a robot as a whole moves forward by continuously letting modules from the back of the robot wander to the front. The authors then present Bojinov et al.'s simulation-based work on task-driven self-reconfiguration through growth [
Chapter 9 discusses control of self-reconfigurable robots in fixed configurations. The focus is mainly on locomotion, but one page is devoted to a discussion of issues associated with manipulation. The authors discuss some of the approaches that have been proposed and studied—namely, gate control tables, hormone-based control, and role-based control—and the challenges related to distributed control. The PolyPod and the CONRO are used as examples.
Chapter 10 is titled “Research Challenges,” and the authors discuss some of the main challenges that need to be overcome before self-reconfigurable robots can be used in real-world applications. It is argued that while we may soon see systems of up to tens of modules (pack robots) outside of labs, a number of fundamental research questions, such as how to program and control large systems, still have to be addressed before self-reconfigurable swarm systems can take on real-world tasks. The focus of the chapter is therefore on challenges for systems of tens of modules (pack robots) and for systems of hundreds of modules (herd robots). After a discussion of the complexities associated with carrying out real-world tasks, the authors advocate a transition toward a common framework for the control of self-reconfigurable robots. Under such a framework, it should be possible to discuss how to move from isolated low-level behaviors, such as a gait, to controllers capable of solving more advanced tasks. The authors outline what such a framework could be: a behavior-based-like framework that takes the distributed and modular nature self-reconfigurable robots into account. The authors discuss the role of basic behaviors, behavior adaptation, behavior selection, and a novel concept called the behavior mode. A behavior mode corresponds to a set of basic behaviors and a robot shape. A switch from one behavior mode to another causes the robot to execute a new set of basic behaviors and triggers self-reconfiguration. In this way, a complex task may be divided into a number of simpler subtasks, for each of which a dedicated behavior mode can be designed. The authors end the book by stating that this is an exciting time for self-reconfigurable robots because several fundamental problems have been solved and because self-reconfigurable robots may soon be used in real-world scenarios.
Self-Reconfigurable Robots—An Introduction is a well-structured and easily comprehensible introduction to the field of self-reconfigurable robots. The book is the first of its kind, and it brings together much of the research related to self-reconfigurable robots that has taken place over the past two decades in a single, coherent, introductory text. The book covers a lot of ground—from module geometry to distributed control of complex gaits. Each chapter contains a “Further Reading” section with categorized references to publications on the topics and systems discussed in the chapter. Both beginners and experienced researchers will therefore find the book a valuable addition to their personal library.