Towards a Programmable Material

Radhika Nagpal
Amorphous Computing Group
MIT Artificial Intelligence Lab
(1999, Slide Show)

Imagine a flexible substrate, consisting of millions of tiny interwoven programmable fibers, that can be programmed to assume a large variety of global shapes. Rather than build precisely engineered mechanical structures, a programmable material would allow one to program precise complicated structures starting from a single flexible mechanical base. Not only could one design many complex static structures by programming a single substrate, but also create dynamic structures that react to, and affect, the environment. For example, a flexible car surface that can change structure exactly at the point of impact, rather than having specifically engineered crumple points; an airplane wing that can dynamically change shape to resist shear; a programmable assembly line that can move objects around by producing ripples in specific directions; a reconfigurable robot that changes it shape based on what function it needs to perform; or a manufacturing line that replaces precise mechanical engineering with programming. Programmable materials would make possible a host of novel applications that blur the boundary between computation and the environment.

Biology, in particular morphogenesis, gives us many examples of complex structures formed from the cooperation of large numbers of cells. One example are epithelial cell sheets that can organize into complex structures such as branching tubes, neural folds and other structures through the actuation of many individual epithelial cells, each cell having limited force. Here we propose a model inspired by epithelial cell sheets - the programmable material is composed of identically programmed, connected, mechanical cells that organize into complex structures through the coordination of local shapes changes.

A Single Active Cell

Odell, Oster, Alberch, and Burnside[1] present a mechanical model for how embryos form structures during neurulation and gastrulation, through the local deformations of epithelial cells. Each cell consists of fibers and contains a slightly compressible fluid. Apical (top) fibers can actively contract, and cause what is known as a purse string contraction. The cells are connected to each other and can cause invaginations when several neighboring cells contract.

We use the cell model proposed by Odell et al, but allow all fibers to actively contract, or loosen. By programming the active fibers, one can create many simple shape changes - long columnar cells, short fat cells, triangular or conical cells. When these cells are connected together, many global shapes can be expressed, simply as compositions of these local shapes.

Various single cell deformations

Structures Composed of Active Cells

The active cells can be connected together to form a flexible substrate which can then be programmed to form different global structures.

Structure I: A Ring of Active Cells

Here we present some biologically inspired shapes formed by a ring of cells. The 2D ring can represent a sphere or cylinder. These are not meant to model exact biology. In fact practically any shape can be formed, given the limitation of the number of cells and that they are connected in a ring. Understanding the underlying general organizational principles for reliable global behavior present in biological systems will have important implications for applications that embed computation into the environment.

Each of these shapes can be described as simple local shape changes by individual cells. Combining this with simple pattern formation techniques (chemical tropisms, coordinate systems,etc) from amorphous computing, one can program the cells to coordinate to form the desired mechanical pattern.
Gastrulation and Ventral Furrow Formation: The first example approximates gastrulation in organisms such as a sea urchin. The active cells contract their apical and lateral fibers, with more contraction happening at the tip of the invagination. Eventually the invagination goes all the way through the body to form the gut. The second picture shows ventral furrow formation in drosophilia, where cells use apical contraction to form a tube on the ventral side of the cylinderical embryo (similar to example in [1]).
Cleaving into Two and the formation of Eyefolds: In a manner similar to gastrulation, the ring (or sphere) can form two smaller rings. This could represent the cleaving of a cell through the actions of fibers distributed in the cell membrane. The second example shows the formation of folds in the ring through alternating cells with apical contractions and basal contractions. Folds are common during development (chick cornea), however usually due to differential growth.
Bulb Formation, and Three fingers: Bulb formation is simply the opposite of ventral furrow. The fingers are also similar to bulbs, however with deepening invaginations (similar mechanisms to gastrulation) between the fingers.

Programming the Ring of Cells

Several languages have been developed for programming amorphous algorithms at the level of the individual processors. For this example we use a language developed by Weiss for programming biological cells. The main advantage of this language is it provides a very simple way for expressing the program for a single cell and incorporates many amorphous computing ideas.

The program for a cell consists of a unordered set of independent rules and each rule consists consists of a triggering event, a condition and actions. The state of a cell consists of boolean markers and timers.  Events consist of recieving a message from a neighboring cell, a marker whose timer expired or a sensor triggering. The condition is a boolean expression of markers. The possible actions are to affect the state, send a message, and set actuators. Underlying this language are gradients (see self-organising coordinate systems). that can be used to mark regions. All inter-cellular communication is through gradients.

A Cell Program for Initiating Eyefolds:
The result of this program is that folds (or invaginations) appear at random places on the ring with a separation of between 3 to 6 cells. The program uses the clubs algorithm (see publications), which uses short range inhibition to ensure that folds appear with some preferred spacing. 

The program can be extended to cause cells close to the fold points to also contract their apical fibers. This program generates folds that are slightly different from this simulation example, where the folds are equidistant.

The language currently does not have all the features necessary to implement general shapes. Other amorphous ideas, such as tropism, gradient slopes, etc can be added to allow one to express cell programs for all of the shapes mentioned above.

Structure II: A Sheet of Active Cells

The shapes that can be formed with a ring are limited. A more interesting structure is a flexible sheet. One can imagine a wide
variety of shapes that can achieved by folding the sheet in various ways. Currently the focus is on experimenting with different basic shapes and studying  limitations on shapes that can be achieved. The next step is to determine mechanisms for composing basic shapes to produce more complex static and dynamic shapes. For example folds could be composed to generate more complex geometric structures - cubes, ridges, or, more ambitiously origami. Another area of investigation is dynamic shapes like a ring that locomotes by extending pseudopodia or traveling waves on the cell sheet that result either in movement of the sheet or movement of an object on the sheet.



This project is part of the amorphous computing project[2]. The challenge is to identify general principles for achieving coherent and reliable global behavior from the local interactions of large numbers of programmable parts. Each part has limited resources, limited reliablity and only local sensory information and limited-range actuator impact. The goal of the amorphous computing project is both to identify new parallel programming paradigms and to invent the computational substrates that can support this kind of engineering.


[1] The Mechanical Basis of Morphogenesis, 1. Epithelial Folding and Invagination, G.M. Odell, G. Oster, P.Alberch, B. Burnside, Developmental Biology, vol 85, 1981.

[2] Amorphous Computing, H. Abelson, T. Knight and G. Sussman, white-paper Oct 1995.