Most of these robots will perform repetitive tasks that require little or no intelligence, but a huge range of useful jobs need robots that can adapt and learn on their own. That’s why we’re using Darwinian evolution as the basis of our robot design process.
Robots are often used in what we might call a “structured” environment – somewhere that conditions are predictable and controllable, with no hidden surprises.
Think of a robot arm on an assembly line. It can perform a repetitive task, for example mounting a door onto a chassis, with relative ease because the environment it works in is tightly controlled. Intelligence is not required here, and it is easy for us to design robots for these types of tasks.
But robots struggle when we take them outside. Australia is a prime location for deploying robots outdoors, whether performing long term biodiversity studies in rain forests or providing vital information to first responders following a natural disaster. Robots would be incredibly helpful in these “unstructured” environments, which are unpredictable and uncontrollable.
To build robots that are ready to handle the challenges of unstructured environments, we need a design process that focuses on adaptation and intelligence. Luckily, we know of an incredibly powerful algorithm that creates intelligent, robust, and adaptive machines already: evolution.
Let’s consider a high level description of evolution: genes define creatures, and creatures exist in an environment. Creatures automatically adapt to their environmental niches because genes that allow them to survive and procreate in that environment are passed on to the next generation.
Instead of a population of birds or plants, what if we used Darwin’s principles to evolve a population of robots that automatically improve their performance in an environment?
We can do this either by creating a computer simulation of the robots – which saves time and money – or by creating them in real life. Either way, we need the following components:
A genome defines what the robot looks like and how it behaves. It is made up of a list of numbers, or genes. A leg might be defined by three genes – the numbers <250,3,2> – which gives us a leg 250mm in length, with three joints, and two toes. Further numbers might tell us how many legs the robot has, where they are placed in relation to the body, what sensors the robot has and how they are wired up, and how the robot translates its sensor readings into movements to produce a behaviour.
A population of robots
We make our robots according the instructions in their genomes. Each robot initially has random numbers in its genome.
Let’s say we want our robots to count wombats in a certain region. We define an equation called a fitness function. Fitness is a score that tells us how well the robot is performing – for instance, how many wombats it counts per hour. The robots attempt the task, which gives us a fitness score for each robot. Some robots will be fitter than others, and the fittest robots are more likely to be picked as “parents”.
Our parents create children. Crossover combines genes from both parents into a new “child” genome. Mutation slightly changes some of these genes as they pass from parent to child. We can make the children and get a fitness score for each, as before. Because the genomes of the children are similar to the genomes of fit parents, they are likely to be good at the task.
We perform this loop many times, incrementally optimising the population of robots to be suited to their task and environment.
‘Endless forms most beautiful’
This is an exciting time to be evolving robots – advances in 3D printing help us create a huge range of different robot designs, and new types of sensors and actuators only add to this burgeoning field of research.
The image below is a “feature map” for a legged robot performing a simple mapping task in an environment with uneven terrain. Each pixel represents a combination of six parameters related to the shape of the robot, such as leg length, body mass, and number of joints per leg. Lighter colours represent fitter combinations. More of this map is filled in as evolution proceeds and new combinations are discovered. This kind of map helps designers to locate good body designs.
Crucially, artificial evolution gives us a tool to adapt robots to their environmental niches, which might be key to successfully deploying robots for useful tasks in the harshest environments Australia has to offer.