Fast in-place reconfiguration of expand-contract modular robots

Manuel Perera and Vera Sacristán

Goal

We prove universal in-place reconfiguration (i.e., in-place reconfiguration between any two robot configurations of the same number of 2x2 meta-modules) of 2- and 3-dimensional Crystalline or Telecube modular robotic systems, by means of a distributed algorithm. All meta-modules apply the same set of local rules (in a manner similar to cellular automata), and move relative to each other. The algorithm relays on the expand-contract capability of the Crystal and Telecube atoms. When organized into 2x2 meta-modules this allows two meta-modules to occupy one single grid position. Reconfiguration is carried out while keeping the robot connected at all times, and uses exactly the union of the positions of the intial and the goal shapes. If executed synchronously, any reconfiguration of a connected system of n modules is carried out in O(n) time steps, with O(n) basic moves per module, using O(1) force per module, and O(n) communication per module.

References

You can read how and why the reconfiguration algorithm works in the following documents:

The simulator and the simulations

You can download our simulator for square-lattice robotic systems. It comes with all the rules necessary to perform the reconfiguration, and initial initial and goal shapes. The program only requires a JAVA Runtime Environment 1.4 or greater.
  1. Download the CrystalSimulation.rar file anywhere in your computer.
  2. Unzip the file. This will create the required subdirectories.
  3. Run the CrystalSimulator.jar file to start the simulator.
  4. The simulator comes with the set of rules (rules.txt) to perform the reconfiguration, together with an example of sets of modules (agents.txt) to try them on. More examples can be found in the "files\Exp_Agents" folder. In addition, other versions of the distributed algorithm, not as efficient as the current one can be found in the "files\Other algorithms" folder. See Manuel Perera's degree thesis for details.
  5. The User Guide contains all the information required to use the simulator.

Experimentation

All examples, programs and scripts used in the experimentation phase of our project can be found here:

Create your own examples

If you want to create your own examples and see how they reconfigure using our set of rules, you need to take into account the following conditions. They are due to the fact that we need to also simulate the process of the modules getting the information of the goal shape. This is done in the simulator through what we call the mirror of the goal shape, i.e., a translation of the goal configuration, which gets processed and is used by the modules to "read" the goal information, hence simulating that they got it somehow.

Source files for the simulator

Our simulator is open source. You are allowed to modify it, as long as the following requirements are fulfilled:
  1. The source code of your modified version of the simulator must be made public.
  2. Acknowledgment to the original version and authors of the simulator must be included.
  3. A notice must be sent by e-mail to the authors of the original simulator, explaining what your modification does and where it is available.
The source files of the simulator can be downloaded here: CrystalSimulation_Source.rar

Related work


Last update of this page: