Towards a Programmable Material

Radhika Nagpal
Amorphous Computing Group
MIT Artificial Intelligence Lab
(2000)

Structures composed of Active Cells

Origami as a Language for Constructing Global Shapes

Thesis Proposal(ps)

Amorphous Computing HomePage

It is possible to imagine a flexible substrate, consisting of millions of tiny interwoven programmable fibers, that can be programmed to assume a large variety of global shapes. 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. 

Developments in microfabrication and microelectronic mechanical devices (MEMS) are already making it possible to bulk manufacture tiny computing elements integrated with microsensors and microactuators. It will soon become feasible to create programmable materials by embedding massive numbers of these computational elements into bulk materials or fabrics. 

Fabrication, however, is only one part of the story. A question that still remains unanswered is - how does one program coherent and reliable global behavior from the local interactions of large numbers of identically programmed parts? Each individual element is likely to have limited resources, limited reliability and only local communication, sensor information and actuator impact. Current parallel programming assumptions, such as precisely engineered geometric interconnects and perfectly reliable parts, limit the ability to manufacture and embed large systems. New approaches are required that are insensitive to precise arrangement, make use of the corrective effects of feedback from the environment, and focus on coherent global behavior rather than precise individual answers. 

Biology may hold the key to creating programmable materials. Biological systems regularly achieve coherent, reliable and complex behavior from the cooperation of large numbers of identically programmed (DNA) unreliable cells.  Pattern formation and morphogenesis (creation of form) in developmental biology can provide insights for creating programmable materials that can change shape.

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. We investigate algorithms, languages and frameworks for programming static and dynamic global shapes using only local communication, local sensing and local actuation. The ultimate goal is to develop a programming language (with primitives, means of combination and abstraction) for engineering global shape change on a programmable material.