Efficient automatic design of robots

David Matthews, Andrew Spielberg, Daniela Rus, Sam Kriegman, Josh Bongard
6/5/2023
cs.ROcs.AI

No official code found. Best implementation: robodiff/robodiff (47 stars, last commit 2023-10-12).

Abstract

Robots are notoriously difficult to design because of complex interdependencies between their physical structure, sensory and motor layouts, and behavior. Despite this, almost every detail of every robot built to date has been manually determined by a human designer after several months or years of iterative ideation, prototyping, and testing. Inspired by evolutionary design in nature, the automated design of robots using evolutionary algorithms has been attempted for two decades, but it too remains inefficient: days of supercomputing are required to design robots in simulation that, when manufactured, exhibit desired behavior. Here we show for the first time de-novo optimization of a robot's structure to exhibit a desired behavior, within seconds on a single consumer-grade computer, and the manufactured robot's retention of that behavior. Unlike other gradient-based robot design methods, this algorithm does not presuppose any particular anatomical form; starting instead from a randomly-generated apodous body plan, it consistently discovers legged locomotion, the most efficient known form of terrestrial movement. If combined with automated fabrication and scaled up to more challenging tasks, this advance promises near instantaneous design, manufacture, and deployment of unique and useful machines for medical, environmental, vehicular, and space-based tasks.

View on arXivView PDF

Code Implementations(1)

robodiff/robodiffCommunity70%

Efficient automatic design of robots

475C#, Python3 years ago

Similar Papers

Cite this paper

@article{matthews2023efficient,
  title  = {Efficient automatic design of robots},
  author = {David Matthews and Andrew Spielberg and Daniela Rus and Sam Kriegman and Josh Bongard},
  year   = {2023},
  eprint = {2306.03263},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2306.03263v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2306.03263.svg)](https://codeofpaper.com/paper/2306.03263)

Discussion