I have high confidence that economically-valuable self-replicating robots are possible with existing technology: initially, something similar in size and complexity to a RepRap, but able to assemble a copy of itself from parts ordered online with zero human interaction. This is important because more robots could provide the economic growth needed to solve many urgent problems. I've held this idea for long enough that I'm worried about being a crank, so any feedback is appreciated.

I care because to fulfill my naive and unrealistic dreams (not dying, owning a spaceship) I need the world to be a LOT richer. Specifically, naively assuming linear returns to medical research funding, a funding increase of ~10x (to ~$5 trillion/year, or ~30% of current USA GDP) is needed to achieve actuarial escape velocity (average lifespans currently increase by about 1 year each decade, so a 10x increase is needed for science to keep up with aging). The simplest way to get there is to have 10x as many machines per person.

My vision is that someone does for hardware what open-source has done for software: make useful tools free. A key advantage of software is that making a build or copying a program takes only one step. In software, you click "compile" and (hopefully) it's done and ready to test in seconds. In hardware, it takes a bunch of steps to build a prototype (order parts, screw fiddly bits together, solder, etc.). A week is an insanely short lead time for building a new prototype of something mechanical. 1-2 months is typical in many industries. This means that mechanical things have high marginal cost, because people have to build and debug them, and typically transport them for thousands of miles from factory to consumer.

Relevant previous research projects include trivial self-replication from pre-fabricated components and an overly-ambitious NASA-funded plan from the 1980s to develop the Moon using self-replicating robots. Current research funding tends to go toward bio-inspired systems, re-configurable systems using prefabricated cubes (conventionally-manufactured), or chemistry deceptively called "nanotech", all of which seem to miss the opportunity to use existing autonomous assembly technology with online ordering of parts to make things cheaper by getting rid of setup cost and building cost.

I envision a library/repository of useful robots for specific tasks (cleaning, manufacturing, etc.), in a standard format for download (parts list, 3D models, assembly instructions, etc.). Parts could be ordered online. A standard fabricator robot with the capability to identify and manipulate parts, and fasten them using screws, would verify that the correct parts were received, put everything together, and run performance checks. For comparison, the RepRap takes >9 hours of careful human labor to build. An initial self-replicating implementation would be a single fastener robot. It would spread by undercutting the price of competing robot arm systems. Existing systems sell for ~2x the cost of components, due to overhead for engineering, assembly, and shipping. This appears true for robots at a range of price points, including $200 robot arms using hobby servos and $40,000+ robot arms using optical encoders and direct-drive brushless motors. A successful system that undercut the price of conventionally-assembled hobby robots would provide a platform for hobbyists to create additional robots that could be autonomously built (e.g. a Roomba for 1/5 the price, due to not needing to pay the 5x markup for overhead and distribution). Once a beachhead is established in the form of a successful self-replicating assembly robot, market pressures would drive full automation of more products/industries, increasing output for everyone.

This is a very hard programming challenge, but the tools exist to identify, manipulate and assemble parts. Specifically, ROS is an open-source software library whose packages can be put together to solve tasks such as mapping a building or folding laundry. It's hard because it would require a lot of steps and a new combination of existing tools.

This is also a hard systems/mechanical challenge: delivering enough data and control bandwidth for observability and controllability, and providing lightweight and rigid hardware, so that the task for the software is possible rather than impossible. Low-cost components have less performance: a webcam has limited resolution, and hobby servos have limited accuracy. The key problem - autonomously picking up a screw and screwing it into a hole - has been solved years ago for assembly-line robots. Doing the same task with low-cost components appears possible in principle. A comparable problem that has been solved is autonomous construction using quadcopters.

Personally, I would like to build a robot arm that could assemble more robot arms. It would require, at minimum, a robot arm using hobby servos, a few webcams, custom grippers (for grasping screws, servos, and laser-cut sheet parts), custom fixtures (blocks with a cutout to hold two parts in place while the robot arm inserts a screw; ideally multiple robot arms would be used to minimize unique tooling but fixtures would be easier initially), and a lot of challenging code using ROS and Gazebo. Just the mechanical stuff, which I have the education for, would be a challenging months-long side project, and the software stuff could take years of study (the equivalent of a CS degree) before I'd have the required background to reasonably attempt it.

I'm not sure what to do with this idea. Getting a CS degree on top of a mechanical engineering degree (so I could know enough to build this) seems like a good career choice for interesting work and high pay (even if/when this doesn't work). Previous ideas like this I've had that are mostly outside my field have been unfeasible for reasons only someone familiar with the field would know. It's challenging to stay motivated to work on this, because the payoff is so distant, but it's also challenging not to work on this, because there's enough of a chance that this would work that I'm excited about it. I'm posting this here in the hopes someone with experience with industrial automation will be inspired to build this, and to get well-reasoned feedback.

New Comment
27 comments, sorted by Click to highlight new comments since:

Self-replication isn't critical since what matters is having a low marginal cost of making robots and self-replication is just one possible path to this.

Self-replication is special because it decouples output from human labor.

A large part of the cost of existing automated factories is the human labor to set up the factory. Self-replication would eliminate this setup cost (for some specific products), making the products cheaper than similar ones from a conventional factory.

I agree that there are many paths to improving output per labor unit, including improving processes, materials, and designs. I also agree that assembly robots will become increasingly widely-used and easy to program without being self-replicating. However, these improvements are incremental. If self-replication works for one product, it would apply market pressure to make similar products self-replicating. This process ends with full automation of the economy, providing greatly increased productivity. Admittedly, this is a vague and somewhat low-confidence prediction.

I can imagine a world with 20x as many machines (due to self-replication) but struggle to imagine a world with machines that are 20x as productive (due to other technology improvements). This isn't evidence though.

I can imagine a world with 20x as many machines (due to self-replication) but struggle to imagine a world with machines that are 20x as productive (due to other technology improvements).

A world where I can simply book a fuel efficient car via my smart phone and don't have to worry about issues like car maintenance and parking spots would probably have fewer cars than our world where car ownership is the standard.

Today my smartphone means that I don't have to carry around a street map. It serves as a audio recording device. It serves as a photo camera. It serves as a radio. It saves as a clock. It serves as a kitchen timer. It serves as my alarm clock. It serves as a telephone. It serves as an answering machine. It serves as a gaming console.

20 years ago I might have to carry around 20 different machines to do what I can do know with my smart phone.

Being wealthy isn't about having more stuff but about having better stuff that does what you want it to do.

The reason humans are used to set up factories is precisely because it's cheaper than using robots. As more robots are built, humans will get more expensive in comparison, and robots will replace them.

I generally agree. I'm proposing a particular way some robots could be cheaper than humans. You're saying more robots --> less expensive robots; I'd say more open-source software --> less expensive robots will have the greater impact.

I don't get the point of self-replicating robots able to assemble a copy of itself from parts ordered online with zero human interaction.

Why wouldn't you just have the robot available for order on line. Then a robot that can order a copy of itself is self-replicating?

The point is to build something useful, for less cost -- using self-replication to undercut the price of cheap imported robots.


"Self-replicating" will not undercut the price for robots for the same reason 3D printers don't undercut the market for cheap plastic items. Large scale manufacture has huge cost advantages from using specialized equipment.

I only partly agree. 3D printing undercuts the market for low-volume cheap plastic items. Similarly, self-replicating robots could undercut the market for low-volume robot arm designs.

For factories in conventional situations, I agree that non-self-replicating equipment would be cheaper than self-replicating equipment for manufacturing the same goods.

Self-replicating robots are clearly cheaper than non-self-replicating ones in a few situations:

  • If there is a high cost to scaling up or down a factory, and demand often changes suddenly.
  • If it's expensive or impossible to ship new equipment from a large scale manufacturing plant to the location it's needed (e.g. Mars).
  • If there are natural resources to support an exponential growth scenario (e.g. a fully automated factory that can take in raw materials from a resource-rich planet to build more factory parts).
  • If the production equipment (including repair equipment) is often damaged and requires constant repair (e.g if individual self-replicating units are routinely destroyed by viruses or cosmic rays).

I'm not sure what to do with this idea. Getting a CS degree on top of a mechanical engineering degree (so I could know enough to build this) seems like a good career choice for interesting work and high pay (even if/when this doesn't work).

This assumes that you need to have all kind of technical skills to do a project like this. I don't think that's true. I think you would learn a lot more relevant knowledge by spending your time in a hackerspace like NYC resistor than by spending your time getting a CS degree.

The project is big enough that you couldn't do it all on your own. It requires managing a team. If you want to do it open source, you need to interact with open source people who usually care more for your github than for whether or not you have a CS degree.

I'd like to find some partners for this project but it doesn't seem convincing yet.

Yes, in general it seems like management is a good move for higher pay and impact.

Good point that the key thing I would need to demonstrate CS knowledge for this project is useful work completed, not a degree. (I'm not arguing against CS degrees in general.)

I know one person who has a company doing open source software for hardware and as far as he's concerned a CS degree doesn't give you the kind of skills that are important. When choosing whether to hire someone he looks at the code that the person actually wrote for real projects to evaluate the skill level of the person.

I'd like to find some partners for this project but it doesn't seem convincing yet.

How much time do you spent in hackerspaces where you would find the kind of people with both the interest and the skills to do such a project with you?

Convincing people isn't only about your domain knowledge it's also about your communication skills. I heard people saying that Linus Torvald became as influential as he was because of good writing skills.

Bre Pettis is a great public speaker and not so much a person with great CS knowledge. He got his degree in Education. He leads MakerBot industries and is responsible for Thingiverse. He might be the person with the most influence in the Maker scene.

Suppose you have a self-replicating robot. You might make it more efficient by making multiple designs that specialize. A mining robot, a refining robot, a power-generating robot, etc. Then you greatly scale up most of the robots so they're more efficient. Then you add in robots that specialize in transportation, and let any other robots stay put. Then you add in robots specifically for long-distance transportation, so that mining robots are near good ore, power-generating robots are near good power sources, etc. Then you replace some of the robots with humans, so you can speed up the exponent for their reproduction, at least until you run out of humans.

In other words, you just do what we're doing now. A few percent growth in GDP per year may not look like much, but self-replication is hard. If you tried to make one robot do all of that, it would grow even slower.

Interesting. So nanotech will be less efficient than today's industry? Then why do some people consider it more dangerous?

Self-replication should not imply nanotechnology. I'm not proposing self-replicating nanomachines here. Nanotechnology pseudoscience gives self-replication a bad name. It's straightforward to build machines using other machines. It's currently impossible to build synthetic machines anywhere close to animal-level complexity.

Presumably nanomachines (e.g. stuff like animal tissue) would be more efficient than today's industry, just as a walking human uses less energy than a car driving the same distance. Problem is, biology is really complicated: nanomachines would presumably be like existing bacteria/viruses, or human cells, and no one has made synthetic life larger than a few cells. It's also totally outside my field.


no one has made synthetic life larger than a few cells

Not even that. Plenty of tweaking things that already exist but to call anything that's been done today "synthetic" is just marketing hype.

The Craig Venter Institute chemically synthesized the already-known genome of one bacterial species (no small feat, putting all the short fragments you can directly chemically synthesize together in the right order is HARD, they mostly did it inside yeast cells using the yeast's DNA repair machinery) and blasted billions of copies of it into billions of bacteria of another species, and after a few days a probably single-to-double-digit number of the bacteria that got the synthesized genome blasted into them had lost their original genome and were running the new one and were built like the new genome's species and made colonies. Their procedure for genome replacement only works on that particular species. They also have their 'minimal genome project', where they deleted genes from an existing bacterium one by one until they found the smallest viable set under laboratory conditions.

Numerous groups have synthesized viruses or particles-made-mostly-from-viral-proteins using synthetic DNA blasted into cells, but I hardly think that counts since again its mostly wild sequence and viruses often have single-digit numbers of proteins.

There was a big kadoo recently about E. coli bearing a single synthetic nucleotide pair in their genome (non ATGC) and while very cool and potentially useful in the future for attempts to expand the genetic code, it was also mutagenic and they needed to be kept in very specific conditions and coddled to keep it and not 'repair' the 'defect'.

Modifying existing living things is another matter and has been done to all manner of single cell and multicellular creatures and I literally just did it yesterday. EDIT THE NEXT DAY: Success! The yeast integrated the DNA into the chromosome, now to check and make sure the protein fusion is actually doing what it's supposed to do...


It's the capability that nanotech (atomically precise mechanisms) provides.

I'm not comparing futuristic nanotech with today's industry. I'm comparing today's self-replicating technology with today's industry. You could also compare futuristic nanotech with futuristic industry, which will likely involve lots of nanotech. It will also most likely involve things that are not nanotech. There aren't necessarily benefits from centralization, but presumably something would benefit. You can't exactly fit a fusion generator inside a nanobot. You might be able to make a generator out of them, but it would be a lot easier to make it out of regular materials, and it's not like you're going to need to turn it into something else at a moment's notice.

There's more to danger than efficiency though. If humans are an integral part of the system, it's all controlled. If they're not, then if something goes wrong, you could at least blow up the powerplant or something. If it's all stuff that works on a small scale, you'd have to get rid of every little group of nanomachines or they'd start reproducing again when you're not looking.

naively assuming linear returns to medical research funding

Likely the returns in medical research would be not even close to linear. The Law of diminishing returns will hit you hard. Spending 10x more on research will likely net you far less than a 10x increase, you would likely be lucky if you got half or a quarter of that. Science comes in steps and part of the process that reduces so much waste is peer reviewing and replication of results. Some processes simply cannot be sped up, regardless of funding. Even with infinite funding, I would be impressed to see a 10x growth.

My main question to you is: Why is it better to have a million robots that are all able to do "X" and build themselves instead of one factory that builds robots and a million robots that do "X"?

Obviously replication in certain circumstances is very useful (mars/space exploration for example where "shipping costs" are not only astronomically expensive but nearly impossible on large scale). In the same way 3D printers are useful not because they can replicate themselves (the cant), but because they can create custom things in short amounts of time wherever and whenever they are needed. It is because the jobs they are doing is small scale that they are efficient. You can ship one thing and have it create 100s of other things.

Spending 10x more on research will likely net you far less than a 10x increase, you would likely be lucky if you got half or a quarter of that.

I'd really like to see published research on this. I did some searching and found that there's a lot of uncertainty because the problem isn't well-defined (different research has different values), it's hard to experiment with (very long lead-times), and there's no political value in knowing the truth (research spending is politically equivalent to highway repair spending). No one even really knows the value of current research.

Science comes in steps and part of the process that reduces so much waste is peer reviewing and replication of results. Some processes simply cannot be sped up, regardless of funding.

Research isn't a defined process (there are different ways to get to useful results), and people respond to incentives...it's possible (though very unlikely) that a 10x increase in research funding would have more than a 10x improvement due to attracting much more productive researchers who currently go to better-paid industries.

It's cheaper in some situations (hard to say which without a design study), due to reducing shipping costs (as you note), maintenance costs, and cost to scale production up or down.

For "better", well, it puts the project within reach of a small team of inventors/hobbyists with minimal funding, and allows everyone who buys a self-replicating robot to own a bit of the means of production. The alternative, monolithic non-self-replicating factories, are usually owned by amoral narcissists who succeeded in a highly political company, and the technologies produced are typically licensed, not sold. I'd rather be an owner than a subletter.

This is important because more robots could provide the economic growth needed to solve many urgent problems

Isn't the problem that you can't have economic growth with robots? Robots don't get paid and don't participate in the circular economy. You need a whole bunch of new people that have a salary that will spend money to pay for all the robots. Which apparently we don't have.

s/robots/machinery/ and think again.

You can't have (per-capita) economic growth without robots.

Robot owners get paid, and make things for other people using their robots.

I am not sure your idea is fesdible, but I do wish you luck. I know mit has been doing interesting work on modular robots and of all that I have encountered I would direct your attention there. Good luck.


[This comment is no longer endorsed by its author]Reply