Designing a robot is fun, and not necessarily difficult. While there have been zilliions of robots designed, there are relatively few basic paths that most robots follow. A robot that is supposed to move over land often have legs or wheels. A legged robot often has 3 or 4 legs.
But a whole robot has to have all the pieces work together, and these dependencies can be complicated. For example, N-legged locomotion is a difficult problem, though it has been solve many ways.
When a human designs a robot for a specific task, they use design patterns and heuristics, and then implicitly search to optimize the design. Expert designers are able to mentally simulate design choices, to select a handful of candidates to prototype. These days, initial prototyping is done in software, allowing multiple candidates to be tested virtually, in order to identify which prototypes to build.
This fall, researchers at Northwestern demonstrate a system that does autonomously executes this design process, deriving the basic body of a robot using evolutionary design [1]. The process is quick, it takes 30 seconds from start to finish. The result can be fabricated and tested.
The designs produced are rather interesting. They look nothing like anything a Carbon-based unit would create, but they actually work when you build them.
Cool!
Basically, the system runs thousands of simulations, searching for the best virtual robot. The search starts with a rectangular block of material, with 64 “voids” and 64 patches of “muscle” distributed randomly within the block. The design optimizes the location of the voids and muscles. Crucially, they use a fitness function, and that lets them do a gradient search which rapidly converges on an optimal solution.
Unsurprisingly, with a simple fitness function (speed of locomotion), the designs rapidly evolved, and the results were very effective on that dimension. The researchers note that “in nature, diverse selection pressures simultaneously act on species.” ([1], p. 4)
The researchers hope to extend the work to other design dimensions. This will require fitness functions that measure the performance of the design on those dimensions. Which will be challenging, especially when multiple dimensions have to be simultaneously optimized.
But it is cool to design a robot “in seconds” [2]. And the resulting designs are weird looking, the product of non-human intelligence.
It is interesting, too, that the design system “discovered” legs, even though it had no specific template or knowledge of walking. At least part of this may be some kind of unintended bias in the void/muscle parameters. I.e., the starting point is given very “walky” muscles (they certainly don’t resemble the drive of a wheel). Also, the fitness function is ‘speed of locomotion across a plane’, which definitely favors walking over crawling or slithering or whatever.
It would be interesting to experiment with alternative kinds of voids/muscles, and different fitness functions.
I’ll note that this AI is totally different from the AI in ChatGPT. The latter has only a vague idea of how to design a robot. This is a case that shows just how limited the intelligence of Chatbots is.
- David Matthews, Andrew Spielberg, Daniela Rus, Sam Kriegman, and Josh Bongard, Efficient automatic design of robots. Proceedings of the National Academy of Sciences, 120 (41):e2305180120, 2023/10/10 2023. https://doi.org/10.1073/pnas.2305180120
- Amanda Morris, Instant evolution: AI designs new robot from scratch in seconds, in Northwestern News, October 3, 2023. https://news.northwestern.edu/stories/2023/10/instant-evolution-ai-designs-new-robot-from-scratch-in-seconds/