Michael T. Tolley, Ph.D.
On this page:
I'm interested in the concept of programmable matter, a substance that is able to change its physical properties as directed by the user. Imagine a system that assembles a pile of regular, mass-produced components into an iPod, computer, robot, or tool with embedded sensing and computation. Objects can be assembled or repaired on-the-fly, and deconstructed to be recycled into new objects when they are no longer needed. This technology would open up new possibilities for rapid prototyping, space exploration, sustainable technology, and evolutionary design.
Our approach to programmable matter involves the assembly of components with embeded electronics by manipulating the flow of fluid through an assembly chamber. My work has involved the development of a custom simulator to develop control strategies capable of overcoming the stochasticity in the assembly environment (see Programmable Matter Simulation below). Additionally, I have performed experiments in which 500 by 500 by 30 micron silicon tiles are assembled automatically into pre- determined structures (see Dynamically Programmable Fluidic Assembly below).
Please check out an interview Jonas Neubert and I gave on our research in Programmable Matter to Robots Podcast.
I have written a simulator in C++ based on the Open Dynamics Engine (ODE) to model the interactions of 3D programmable matter components in a fluidic environment. Simplified fluidic forces are applied to the components in order to obtain a computationally-efficient simulation. Using this simulator, my collegues and I were able to develop various strategies for the fluidic assembly of programmable matter. Please see this video or the associated paper for more details: Stochastic Modular Robotic Systems: A Study of Fluidic Assembly Strategies.
One of the challenges with assembling many modules into a target structure stochastically is finding assembly sequences that are quick and do not lead to errors (e.g. holes in the structure). Our approach to tackling this problem is inspired by the experience of how much easier it is to take puzzle apart than to put it back together. Thus we begin with a representation of the target geometry, and disassemble it virtually by pulling one piece off at a time and remembering the order of pieces. This gives us one assembly sequence that is guaranteed not to result in errors. Since our assembly process is stochastic, we do not know exactly when and where assembly modules will be available. Therefore, we speed up assembly by planning out many possible assembly routes and following whichever option presents itself first. The following diagram describes this process. Details can be found in this video or the following paper: On-line Assembly Planning for Stochastically Reconfigurable Systems.
A major challenge in fluidic assembly is the dynamically programmable fabrication of arbitrary geometries from basic components. Current approaches require predetermination of either the assembly machinery or the component interfaces for the specific target geometries. This research persues an alternative concept that exploits self-assembly forces locally but directs these forces globally, allowing fabrication and manipulation of target structures without tailoring the substrate or interfaces. By controlling the flow in a microfluidic chamber, components are directed to their target locations where local interactions align and bond them. Following this approach, we have so far demonstrated the experimental assembly of structures composed of two to ten components.
Please see my Videos page for videos of these experiments.