A robotic molecule can connect to other identical modules to create dynamic three-dimensional structures. It is possible to approximate arbitrary three-dimensional objects by packing robotic molecules. More interesting questions concern how to metamorphose a given structure into a desired structure and how to use self-reconfiguration for locomotion and manipulation. These questions can be all formulated as motion planning problems. We addressed this challenge in two parts. First, we developed a set of device-level primitives for controlling the motion of one module relative to a structure of modules. Second, we developed planning algorithms that use the motion primitives to compile automatically locomotion gaits using self-reconfiguration. The key observation for planning is that our self-reconfiguring systems consist of identical modules. Since all the modules are identical and interchangeable, it is not necessary to compute goal locations for each element. Thus, self-reconfiguration is different than the related warehouse problem (where modules are assigned unique ids and have to be placed at desired locations), which is intractable. Unlike the case of fixed-architecture robots, planning for locomotion also requires dynamic considerations. Self-reconfiguring robots move under gravity and planners have to create stable structures at all times (not just for the initial and final configuration).
An on-line greedy algorithm allows a group of molecules use self-reconfiguration for stable locomotion. The robot moves straight to the goal, by climbing on top of any obstacles along the way (if the number of modules is sufficient to reach the top of the obstacle). Our work in locomotion planning has also resulted in bounds for the minimum number of robotic molecules necessary for translations, rotations, stacking, and stair climbing.
We have built a 4 Molecule Robot system and implemented locomotion algorithms on this system. This work was reported in Robots and Autonomous Systems and in the Communications of the ACM.