The claytronics project is working on realizing programmable matter.
Programmable matter is any substance which can be programmed to effect a change in one or more of its physical characteristics. In claytronics, the substance is a collection of individual units, each of which can sense, compute, communicate, and actuate. The long range goal for claytronics is for the collection to behave as a coherent mass and mimic, with high-fidelity and in 3-dimensional solid form, the look, feel, and motion of macro-scale objects. In this talk, I will describe some of the hardware and software challenges in realizing claytronics.
One of the main hardware challenges is to scale the individual units down in size while still including all the necessary functionality and allowing the entire ensemble to scale up in the number of units it contains. To achieve our goals units must be able to compute, communicate, move, attach and detach from other units, and sense the environment. To better understand the issues involved we are working on both sub-mm units as well as larger cm-scale modular robots.
In parallel with our effort to develop scalable hardware we are working on algorithms and programming languages which can scale to large ensembles. In an effort to reduce programming complexity we are developing declarative languages which automatically handle data distribution and communication. These languages have been used to implement planning, localization, network routing, and debugging tools.