Research:
|
What exactly did you do in this project?
We have done two things. First we identified a design of a set of robots that can construct functional copies of themselves given a supply of basic building blocks. We constructed two of them in hardware and made them work, and we showed others in simulation. In principle, there are an infinite number of robots in this set, of increasing sizes and complexities. Our second, more fundamental contribution is that we put forward a mathematical theory for quantifying self replication phenomena. Contrary to previously held views that self-replication is a property that a system either has or has not ("you can't be half pregnant"), our theory suggests that it is actually a continuum, where different systems can self-reproduce to different extents. The extent to which a system is self replicating depends on things like how fast does it self replicate, how accurately does it self replicate, how dependent is it on its environment to self replicate, how complex are its building blocks, how complex it is itself, etc. etc. For example, crystals self replicate, but only in a solution; rabbits self-replicate - less accurately and more slowly than a crystal - but they are less dependent on having a specific environment. This quantification allows us to compare systems and improve their self-replication, and even identify 'trivial' self replication, a question that John von Neumann struggled with.
What are your goals?
We have two goals. First, we are interested in studying the principles of self-replication phenomena in nature, and the principles that cut across various self-replicating systems from chemistry to biology to machines. Our second goal is to see how we can harness these ideas to make machines that are more robust and adaptive.
Who are you?
Team members are Viktor Zykov, Efstathios Mytilinaios, Bryant Adams, and Hod Lipson (see team picture - left to right: Adams, Lipson, Zykov). Former participants are Mark Desnoyer and David Marcus. A new student joining this project is Greg Studer. We work at the Computational Synthesis Lab.
Is this the first instance of a self replicating robot?
No, there have been earlier successes. In 1957, Penrose made a system composed of wooden tiles, in which a certain pattern of tiles, thrown into the mix, would induce more instances of that pattern to appear. In 2001, Greg Chirikjian of John Hopkins University showed a Lego robot capable of driving around a track and assembling four modules into a robot identical to the original. Our new contribution is in that our robots can scale: We show several instances of what is a very large "family" of possible machines that can self-replicate, some in 2D and some in 3D, some physical and some simulated. They have many possible conformations and sizes. Our second new contribution is more mathematical: We put forward a theory that explains that self-replication is not a binary property that a system either possesses or not, but a continuum of grades, depending on how dependent a machine is on its environment to self replicate. This may help resolve the question "what counts as self replication", and instead allows us to systematically compare and improve machine self replication.
Is this project related to the GOLEM project?
In the golem project we produced a system that automatically designed and automatically fabricated robots, using artificial evolution and 3D-printing. But those robots were themselves not able to self-reproduce. In this project, the robots are able to self-reproduce, but they were manually designed and fabricated. In the future, we would like to combine these two traits in a single system.
What can this robot do besides self-reproduce?
Not much. However, it would be fairly easy to add other modules to the robot, like a module with a gripper, or a module with a camera, or a hollow 'cargo' module.
What are the practical applications of this technology?
Self-reproduction is the ultimate form of self-repair. We see that robotic systems are becoming more complex, and in some cases like space exploration, they need to sustain operation for long periods of time without human assistance. If you send a robot to Mars, for example, and it breaks, there is little you can do. But if instead of sending a fixed robot you send a robot with a supply of modules, then that robot may be able to self-repair and even make more and possibly different robots if the mission needs change unexpectedly. Of course, there are many tradeoffs: These robots would not be as optimally designed as a fixed robot for any specific task, and they would be more complex, but maybe overall they would be more robust. We still need to do the exact calculations to see when and where it would be a viable solution.
Are these robots intelligent?
The robots are not very intelligent. They execute a fixed program and cannot adapt to any new situation, or handle any variation. If food is not supplied in the right place, the reproduction process stops. In the future we would like to make their behavior more robust.
What are your next steps?
We're interested in exploring several directions. In our earlier work, we used evolutionary process to adapt morphology and controllers of robots. In this project, we addressed self-reproduction. In the future, we'd like to combine these two traits into a single system, making it a little closer to biology. A second oath is improving self replication factor of these systems. To improve, we'll need to make systems with significantly more modules, and simpler modules. We'd like to explore microscale techniques for making systems that contain 1000's of units.
Is this really like biology? These robots are so simple, and the building blocks so complex.
Clearly our machines are orders of magnitude simpler than biology. But animals also reproduce by consuming building blocks - humans cannot reproduce by eating dirt, rocks, or even water and sugar. We need to consume specific, preassembled building blocks like amino acids, provided in very certain ways. So we humans are also dependent on a supply of building blocks, but we are much more robust in how we can accept them, and the building blocks themselves are much simpler. So we argue that it is essentially the same principle, even though it is a completely different scale of complexity. Our machines are a step in that direction - and maybe there's something about this principle that can teach us how to design better machines.
Are there any ethical concerns with self-replicating machines? Can they proliferate out of control?
These robots were programmed to stop after two generations, because we wanted to show just a proof of concept. Also, they cannot reproduce without a supply of power and more cubes provided at the right place and at the right time, so they are fairly constrained and under control. So there is no danger they will "take over the world". Other forms of artificial self-replication can be more concerning - computer viruses and genetically modified crops, for example, are less controllable. Ray Kurzweil has an interesting discussion on the Ethics and concerns of self-replication technologies.
Where can I read more about self-replication?
A good popular article Go forth and replicate by Moshe Sipper appeared in Scientific American recently. Mark Yim has recently written a popular article about Modular robots. You can read a more extensive overview in Freitas's book on Kinematic Self-Replicating Machines, See more in the more information page.
Who else is working in the area of modular robotics?
There are a handful of research groups. Check out Moshe Sipper, Greg Chirikjian,, Daniela Rus, Mark Yim, Wei-Min Shen, Satoshi Murata, and Jason Lohn,