Self-reconfiguring Robots

YouTube Preview Image

The goal of this project is to develop distributed control strategies to automatically reconfigure an ensemble of individual robotic modules from an initial configuration into a desired target configuration. A configuration in our work is a three-dimensional geometric arrangement of cubic modules where a cubic module is the basic building block of our system.

Modular or self-reconfigurable robotics describes the assembly of simple individual, independent modules into larger, functional robots that can perform tasks such as locomotion or reconfiguration. The benefit of constructing such modular robots out of smaller building blocks is that they can be rearranged into  different configurations that can perform different functions and have different capabilities. A modular robot can, therefore, adapt to changing environments and task specifications. With ever increasing computational power to control such high-dimension-of-freedom-robots and the decreasing cost of producing a large number of modules, modular robots are becoming a viable alternative to fixed morphology robots.

Fig. 1: This figure shows a complete reconfiguration sequence from an initial chair configuration to a table configuration.

Figure 1 shows an image sequence of a complete reconfiguration from an initial chair configuration to a target table configuration. Our reconfiguration approach is based on the representation of the configuration as a graph and the use of graph grammars to rewrite the graph — and therefore reconfigure our configuration. We generate a ruleset or graph grammar given the initial and the target configuration that encodes the complete reconfiguration sequence in local rules. Local in a sense that each module only relies on information from neighboring modules in order to decide its next reconfiguration step. The advantage of this approach is that the modules do not need global knowledge about the whole configuration. We propose a two stage reconfiguration process composed of a centralized planning stage and a decentralized, rule-based reconfiguration stage. In the first stage, paths are planned for each module and then rewritten into graph grammar. Global knowledge about the configuration is available to the planner. In stage two, these rules are applied in a decentralized fashion by each node individually and with local knowledge only. Each module can check the ruleset for applicable rules in parallel. This approach has been implemented in Matlab and currently, we are able to generate rulesets for arbitrary homogeneous input configurations.

Fig. 2: This figure shows the runtimes and ruleset sizes of reconfiguration sequences that contain between 20 and 500 modules.

Figure 2 shows the dependency of planning time and ruleset size on the configuration size. The initial configuration was generated randomly and the target configuration was a rectangular three-dimensional prism. The shown results suggest a linear dependency of the ruleset size on the configuration size and a cubic dependency of the planning time.

Currently, we are able to automatically reconfigure homogeneous configurations of modules, switch rulesets on the fly, reconfigure in obstacle-constrained space. Future research will investigate parallel motion of multiple modules, configurations containing heterogeneous modules, as well as a distributed planning approach.

Related Publications

  • D. Pickem and M. Egerstedt, “Self-reconfiguration using graph grammars for modular robotics ,” 4th IFAC Conference on Analysis and Design of Hybrid Systems 2012
  • D. Pickem, “3D Reconfiguration Using Graph Grammars for Modular Robotics,” Master Thesis, 2011