The idea of machines that build machines can be traced back to Von Neumann’s Theory of Self-Reproducing Automata, and the field has spawned a series of research and development that range from self-replicating space probes to 3-D printers. Much development in the last few years has been done in the aerospace industry, where assembly of structures is both critical and dangerous. Some recent advances include modularization of both the machines and the structures they build, as well as developments in digital fabrication (which expands the frontiers of what can be built and from which raw materials).
A parallel can be drawn with molecular biology: such modules are comparable to a small set of amino acids, which, joined by ribosomes to form peptides, can perform a multitude of tasks (including assembling other ribosomes).
Current work from the collaboration between the Center for Bits and Atoms and NASA’s Coded Structures Lab has built multiple forms of such ribosomes, or machines that take in modules to build structures (in this specific case, those structures are not machines). Different forms and compositions of those modules (called voxels) represent different tradeoffs between structural and assembly properties, while resulting lattices (a crystal-like structure composed of those modules) have been shown to have properties adequate for many contexts of the aerospace industry.
This part of the class aims to build a machine that builds parts to build structures, and, in particular, to feed the machines that we mentioned. In molecular biology terms, it will be building the source of a specific type of amino acids, the modules that other machines (ribosomes) use to build structures.
The ultimate goal of this project is to demonstrate that voxels can be built (and, if time permits, transferred to the robots) from the minimal pieces of raw materials (full struts and nodes - which might be further divided). The milestones of the project are as follows:
An unintentional class project emerged from my final project of How to Make and the results of MakeMIT (see the next project): working on programming machines. The idea is also a common one in CBA and is directly related to the idea of universal machines. The scenario is as follows: we currently are very limited to have machines doing what they were “hardcoded” to do - similar to the first computers, there wouldn’t be programs capable of generating other programs or programs that would allow one to write programs and so on. Today, we are able to virtually use programs to change programs to do arbitrary things.
The idea of the project is to go one step physical and have each modular component of a machine being represented by a program object, such that one can easily write programs to make machines do (more) arbitrary things (of course, this considerably more complicated than what is possible to do in one semester, and we will only start to explore the possibilities). The milestones are less tight than those for the project above: