Using cellular automata and gradients to control self-reconfiguration
Introduction
Reconfigurable robots are robots built from modules. These robots can be reconfigured by changing the way these modules are connected. If a robot is able to change the way the modules are connected autonomously, the robot is a self-reconfigurable robot.
Self-reconfigurable robots are versatile because they can adapt their shape to fit the task. Self-reconfigurable robots are also robust because, if a module fails, it can be ejected from the system and be replaced by a spare module. Potential applications for such robots include search and rescue missions, planetary exploration, building and maintaining structures in space, and entertainment. In order to realize these applications, research has to focus both on the development of the hardware of self-reconfigurable robots and on their control. The latter is the focus of this paper.
One of the fundamental control problems of self-reconfigurable robots is control of the self-reconfiguration process: the process by which the robot changes from one shape to another. An example of a self-reconfiguration process is shown in Fig. 1, where a simulated self-reconfigurable robot reconfigures from a random initial configuration to a configuration resembling a chair.
The method proposed here consists of two steps. In the first step a three-dimensional (3D) CAD model, representing the desired configuration, is transformed into a cellular automaton representation. The desired configuration and the corresponding cellular automaton is made porous to ensure that it does not contain local minima, hollow, or solid sub-configurations which can trap spare modules.
The second step is the actual self-reconfiguration process. The desired configuration is grown from a seed using the cellular automaton to guide the growth process. If a cellular automaton rule indicates that a neighbouring module is needed at an unfilled position, a gradient is created in the system using local communication. Spare modules then descend this gradient to reach the unfilled position. A local, distributed algorithm is also implemented to ensure that the self-reconfigurable robot stays connected during the self-reconfiguration process.
The solution to the self-reconfiguration problem presented here is a new combination of existing ideas. The combination we present provides a scalable, systematic, and convergent solution to the self-reconfiguration problem.
The paper proceeds as follows. In Section 2, the related work is described. In Section 3, we describe the algorithm we use to transform the 3D CAD model into a cellular automaton representation. Section 4 describes how the cellular automaton interacts with the other components of the system to realize the self-reconfiguration algorithm. Finally, in Section 6, the system is evaluated using a simulated self-reconfigurable robot where scalability and convergence properties are documented.
Section snippets
Related work
The self-reconfiguration problem is: given a start configuration, possibly a random one, how to move the modules in order to arrive at the desired final configuration. It is computationally intractable to find the optimal solution (see [1] for a discussion). Therefore, self-reconfiguration planning and control are open to heuristic-based methods.
Chirikjian, Pamecha, and Chiang propose iterative improvement as a way around the computational explosion [1], [2], [3]. The idea is to find a
Cellular automaton generator
It is difficult to hand-code local rules, which result in a desired configuration being assembled. Therefore, we need a systematic and automatic way of transforming a human-understandable description of a desired configuration into the local rules, which we will use for control. In our system, the desired configuration is specified using a connected three-dimensional volume in the Wavefront .obj file format. Most CAD programs can export in this format and can therefore be used to specify the
From cellular automaton to desired configuration
Starting from a random configuration, the robot needs to reconfigure into the desired configuration specified by the CA. The self-reconfiguration algorithm consists of three components: a state propagation mechanism; a mechanism to create gradients in the system; and a mechanism the modules use to move without getting disconnected from the structure. We will look at these in turn.
Simulated system
In our simulation, we use modules that are more powerful than any existing hardware platforms, but do fall within the definition of a Proteo module put forward by Yim et al. [16].
The modules are cubic and, when connected, form a lattice structure. They have six hermaphrodite connectors and can connect to six other modules in the directions: east, west, north, south, up, and down. Modules directly connected to a module are referred to as neighbours. A module can sense whether there are modules
Experiments
We pick two self-reconfiguration tasks taken from [16]. The two tasks are to reconfigure from a rectangular plane to a disk orthogonal to that plane and to a sphere. The rules for these configurations are automatically generated using the cellular automaton generator based on a mathematical description of a sphere and a disk. This automaton is then downloaded into the modules of the simulation and the assembly process is started.
We repeated the experiments twenty times with changing numbers of
Conclusion and future work
We have presented the cellular automaton generator which takes as input a 3D CAD model of a desired configuration and outputs a cellular automaton that represents this configuration. A specific sub-structure is enforced on the desired configuration, making it porous. This reduces the complexity of the self-reconfiguration problem, guarantees convergence, and improves the efficiency of the self-reconfiguration algorithm. The efficiency is further improved by using gradients to guide the
Acknowledgements
This research is in part funded by the EU contract IST-2001-33060 and the Danish Technical Research Council contract 26-01-0088.
Kasper Stoy is an Assistant Professor at The Maersk Institute for Production Technology, University of Southern Denmark. He received his MSc. in computer science from University of Aarhus, Denmark in 1999. He worked as a research scientist at University of Southern California’s Robotics Labs, conducting research on biologically inspired multi-robot coordination. He received his Ph.D. from the University of Southern Denmark in 2003. His research interests include self-reconfigurable robots,
References (22)
- et al.
Evaluating efficiency of self-reconfiguration in a class of modular robots
Robotics Systems
(1996) - et al.
Useful metrics for modular robot motion planning
IEEE Transactions on Robotics and Automation
(1997) - et al.
Modular robot motion planning using similarity metrics
Autonomous Robots
(2001) - D. Rus, M. Vona, Self-reconfiguration planning with compressible unit modules, in: Proc., IEEE Int. Conf. on Robotics...
- K. Kotay, D. Rus, Algorithms for self-reconfiguring molecule motion planning, in: Proc., IEEE/RSJ Int. Conf. on...
- et al.
A modular self-reconfigurable bipartite robotic system: Implementation and motion planning
Autonomous Robots
(2001) - K. Prevas, C. Unsal, M. Efe, P. Khosla, A hierarchical motion planning strategy for a uniform self-reconfigurable...
- C. Ünsal, P. Khosla, A multi-layered planner for self-reconfiguration of a uniform group of i-cube modules, in: Proc.,...
- Z. Butler, S. Byrnes, D. Rus, Distributed motion planning for modular robots with unit-compressible modules, in: Proc.,...
- S. Vassilvitskii, M. Yim, J. Suh, A complete, local and parallel reconfiguration algorithm for cube style modular...
Cited by (78)
Self-reconfiguration of shape-shifting modular robots with triangular structure
2022, Robotics and Autonomous SystemsModularity for the future in space robotics: A review
2021, Acta AstronauticaCitation Excerpt :This model considers intermodular connections to be beams and assumes no-sliding contact between the modules and the ground, and was physically verified in small scale using the modular robotic system “Blinky Blocks” [68]. The concept of “Cellular Automata” has also been used as a guide for reconfiguration strategies in a simulated three-dimensional modular lattice where the desired configuration was “grown” from an initial seed module that produces growth by creating a gradient in the system [69]. In all the above approaches, there is still the problem of validation against mission and technological requirements and verification of the reconfiguration solution, which will likely require human oversight at least at the high level of reconfiguration for the foreseeable future.
Engineering efficient and massively parallel 3D self-reconfiguration using sandboxing, scaffolding and coating
2021, Robotics and Autonomous SystemsDeterministic scaffold assembly by self-reconfiguring micro-robotic swarms
2020, Swarm and Evolutionary ComputationCitation Excerpt :In order to aid self-reconfiguration, researchers introduced the notion of scaffolding in Refs. [17], where the ensemble could be made porous thanks to the construction of multi-module structures so that modules could easily flow internally, simplifying planning, reducing the number of modules to displace, and therefore accelerating reconfiguration altogether. Scaffolding was further studied in Refs. [28,29] with a very simple scaffold geometry thanks to the simplicity of their cubic sliding and rotating robotic model. They proposed an elegant deterministic reconfiguration method based on cellular automata and simple gradients.
A survey of autonomous self-reconfiguration methods for robot-based programmable matter
2019, Robotics and Autonomous SystemsA distributed and parallel control mechanism for self-reconfiguration of modular robots using L-systems and cellular automata
2017, Journal of Parallel and Distributed Computing
Kasper Stoy is an Assistant Professor at The Maersk Institute for Production Technology, University of Southern Denmark. He received his MSc. in computer science from University of Aarhus, Denmark in 1999. He worked as a research scientist at University of Southern California’s Robotics Labs, conducting research on biologically inspired multi-robot coordination. He received his Ph.D. from the University of Southern Denmark in 2003. His research interests include self-reconfigurable robots, embodied artificial intelligence, and biologically inspired multi-robot coordination.