Stochastic Modular Assembly
Figure: Concept image of reconfigurable structure made out of cube shaped building blocks. Reconfiguration from wrench shape to humanoid shape.
Imagine thousands of little building blocks autonomously assembling into any shape you want; that's the idea behind Programmable Matter: A substance that is able to change its physical properties (e.g. shape, stiffness, color) as directed by the user. This idea has been around in science fiction for a long time, think of the Terminator, or the Sandman in Spiderman 3 who can both repair themselves and assume different shapes (the Terminator is analog and the Sandman is made of a digital material).
Outside the movies, Programmable Matter systems could have real-world advantages: Objects can be assembled or repaired on-the-fly, and deconstructed to be recycled into new objects once they are no longer needed. Programmable matter would open up new possibilities for rapid prototyping, space exploration, sustainable technology, and evolutionary design. In our work, we focuses on shape-programmability with the goal of developing modules from which self-reconfigurable structures can be built. Our approach to programmable matter involves the assembly of components with embeded electronics by manipulating the flow of fluid through an assembly chamber. The fluidic environment makes this approach inherently stochastic, requiring new assembly
Our work so far has focussed on developing centimeter scale modules that contain the mechanical and electrical functionality needed for controlled self-assembly. Further, we have develped a C++ based simulator to develop control strategies capable of dealing with the stochasticity in the assembly environment.
Stochastic Assembly of Minimalistic Modules
In this project, the construction of programmable shapes is attempted with minimalistic modules. This means, that the cube shaped modules have no active components. Through controlling flow in and out of flow sinks and sources on a substrate at the bottom of a water tank, modules can be manipulated to assemble into shapes. We have shown assembly of up to four modules and the repair of preexisting structures that have been damaged as shown in the image sequences below.
Figure: Assembly sequences (taken from videos): (a) Cube manipulation. (b) Two cube assembly. (c) Three cube assembly. (d) Four cube assembly. (e) Repair of a damaged pre-existing structure.
Stochastic Assembly Simulation
Attempting self-assembly of a shape in a fluid environment (i.e. “under water”) introduces stochasticity into the process. Because the assembly process relies on new modules arriving at the required position autonomously, one cannot know in advance, when a module arrives. This makes the decision, in which sequence to attract new modules by flow-modulation non-trivial.
We are using a custom C++ simulator based on the Open Dynamics Engine (ODE) to model the stochastic interactions of 3D components in a fluidic environment. Simplified fluidic forces are applied to the components in order to obtain a computationally-efficient simulation.
Movie: Simulation: Fluidic assembly and reconfiguration. This simulation demonstrates the fluidic assembly of 3D cubes into an initial C-shape and the subsequent reconfiguration of this assembly into a U-Shape. Components are attracted by opening sinks on the bottom of the chamber. Once a component is attached, it opens internal valves to direct the fluid flow and attract new components where they are needed to assemble the target structure.
Movie: Strategies for Stochastic Fluidic Assembly. This video (with narration) describes the development of our custom, computationally efficient stochastic fluidic assembly simulator. This simulator was then used to develop a set of assembly strategies to compensate for the unpredictable module availability. Please see our paper in IEEE Transactions on Robotics for details.
Stochastic Assembly using Active Modules
Figure: 2D illustration of Active Modules for Fluidic Assembly: Given sufficient flow, modules with internal channels and valves can grow a structure that extends away from the substrate. (a) One valve of the substrate is opened to attract one of the floating modules. (b) Once attached the docked module opens a valve on one of its sides to attract a second cube. (c) and (d): A third cube can now be attracted on a surface not adjacent to the substrate by an appropriate way of directing flow through the existing structure.
With minimalistic modules, assembly is constraint to the space on or near the substrate. Cubes with internal channels and valves can redirect fluid flow through the already assembled portions of a shape. Instead of attracting new modules to any free location on the substrate, such active cubes allow for attracting new cubes to anywhere on the surface of the already assembled structure. That makes it possible (in theory, so far) to grow larger more complex structures. Completing such a fluidic assembly system composed of active modules is our next goal. So far, we have developed a valve as well as a connection mechanism for modules with a side length of under one inch.
Each of the modules also accommodates six valves in a very small space of one cubic inch. Using commercially available miniature valves, there would barely be enough space for one valve, let alone all internal channels and all the other functions we try to fit into our module. We developed a valve that outsources much of its function into the working fluid. The fluid in our assembly tank has thermorheological propertie; that means the fluid turns into a gel when heated but has relatively low viscosity at room temperature. Mixing a commercial product called Pluronic® otherwise used in the pharmaceutical industry into water results in a fluid with thermorheological properties. Now all that is required to form a functioning valve, is to heat the modules' internal channels thereby blocking flow through them.
In addition to valves, modules requires a method of forming a bond to each other and the substrate, reversible and fits into a 1in cube six times. We developed as system with no moving parts that provides a mechanical and electrical bond. An alloy of 32.5% Bi, 51 % In, and 16.5 % Sn with a melting temperature of 60°C (140°F) is deposited onto the tin pads of a printed circuit board (PCB). On the opposite site of the PCB a resistor is mounted under each pad. Applying a current to this resistor network is sufficient to bring the alloy to melt. If placed adjacently this effectively solders two cubes together yielding a very strong mechanical bond as well as an electrical connection.
The brain of the cube is a flexible circuit board wrapped around the cube that is sandwiched between the connector board and the valve board. Modules are unpowered while floating but become active as soon as they connect to the structure. A slow and simple communication bus is sufficient because communication is much faster than all physical processes in the system. One line is shared by all cubes for serial communication. The base acts as the master and assigns addresses to all members of the structure.
Tolley, M. and Lipson, H. (2011) "On-line assembly planning for stochastically reconfigurable systems", International Journal of Robotics Research, to appear.
Tolley, M. T., Hiller, J. and Lipson, H. (2010) "Evolutionary Design and Assembly Planning for Stochastic Modular Robots," in Bredeche, N., Doncieux, S. and Mouret J.-B. (Eds.), New Horizons in Evolutionary Robotics: post-proceedings of the 2010 EvoDeRob workshop (in press). Berlin, Germany: Springer.
Tolley M. T., Kalontarov M., Neubert J., Erickson D., Lipson H. (2010) "Stochastic Modular Robotic Systems: A Study of Fluidic Assembly Strategies", IEEE Transactions on Robotics, Vol. 26, pp. 518-530.
Kalontarov, M., Tolley M. T., Lipson, H., Erickson, D. (2010) "Hydrodynamically Driven Docking of Blocks for 3D Fluidic Assembly", Microfluidics and Nanofluidics, vol. 9, pp. 551-558.
Neubert, J., Cantwell, A., Constantin, S., Kalontarov, M., Erickson, D., Lipson, H. (2010) "A Robotic Module for Stochastic Fluidic Assembly of 3D Self-Reconfiguring Structures", Proc. Int. Conf. on Robotics and Automation (ICRA'10), Anchorage AK, May 2010, pp 2479-2484.
Tolley, M. T., Lipson, H. (2010) "Fluidic Manipulation for Scalable Stochastic 3D Assembly of Modular Robots", Proc. Int. Conf. on Robotics and Automation (ICRA'10), Anchorage AK, May 2010, pp. 2473-2478.
Krishnan M, Tolley M. T., Lipson H., Erickson D., (2009) "Hydrodynamically Tunable Affinities for Fluidic Assembly", Langmuir, Vol. 25, pp. 3769-3774.
Tolley, M. T., Hiller, J., Lipson, H. (2009) "Evolutionary Design and Assembly Planning for Stochastic Modular Robots", Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems (IROS), Exploring New Horizons in Evolutionary Design of Robots Workshop, Oct. 11-15 2009, St. Louis, MO, USA, pp. 73-78.
Krishnan M., Tolley M. T., Lipson H., Erickson D. (2008), "Increased Robustness for Fluidic Self Assembly", Physics of Fluids, 20, 073304.
Krishnan M., Tolley M. T., Lipson H., Erickson D. (2008) "Dynamically Tunable Affinities for Fluidic Self Assembly", Proceedings of the American Institute of Chemical Engineers (AICHE) Annual Meeting, Philadelphia PA, Nov. 2008, 485e.
Tolley M. T., Krishnan M., Lipson H., Erickson D. (2008), "Advances Towards Programmable Matter", Proceedings of the 12th International Conference on Miniaturized Systems for Chemistry and Life Sciences (µTAS), San Diego CA, Oct. 2008, pp. 653-655.
Tolley M. T., Baisch A., Krishnan M., Erickson D., Lipson H., (2008) "Interfacing Methods for Fluidically Assembled Microcomponents", Proceedings of IEEE International Conference on Micro Electro Mechanical Systems (MEMS), Tucson AZ, Jan 2008, pp. 1073-1076.
Krishnan M., Tolley M. T., Lipson H., Erickson D., (2007) "Directed Hierarchical Self Assembly - Active Fluid Mechanics at the Micro and Nanoscales", Proceedings of ASME International Mechanical Engineering Congress and Exposition (IMECE), Seattle WA, Nov. 2007, 41784.
Tolley M. T., Zykov V., Lipson H., Erickson D., (2006) "Directed Fluidic Self-Assembly of Microscale Tiles" Micro-Total Analysis Systems (µTAS), Tokyo, Japan, Oct. 2006, pp. 1552-1554.
Are there any existing Programmable Matter systems?
The concept of Programmable Matter is inspired from nature. Each living cell could be considered programmed for a certain task within an organism. In science and engineering, some existing technologies can be considered “Programmable Matter”: LCD displays, for example, are programmed to change their visual appearance. Self-assembling and self-reconfiguring systems are subject of active research in many fields from chemistry to synthetic biology. Often times such projects fit the definition of Programmable Matter.
What is your motivation for trying to build a Programmable Matter system?
Programmable Matter has the potential to dramatically change the way we think about tools and objects. Imagine a hammer that can morph into a wrench of any given size on demand. We are still far away from building such programmable tools, but we are beginning to explore the mechanisms that might make them possible. Our current work focuses on understanding stochastic assembly processes and exploring the possibilities of self-assembly in fluid environments.
What do you mean by “stochastic assembly”?
A stochastic assembly process is a process where some object is being built in an uncertain environment. In the case of our fluid systems, “stochastic” relates to the random timing of arrival of new building blocks at the structure. This is equivalent to building a house where bricks arrive in random locations on top of the walls you already built. Developing methods to deal with this stochasticity is one of the challenges we are working on.