Evolving Soft Robots for Control Using a Gene Regulatory Network

For my BSc Computer Science degree, I completed a research project focused on evolving soft modular robots using an Artificial Intelligence Gene Regulatory Network (GRN) model.

This project involved three main stages: (1) Replicating an existing GRN model, (2) Applying this model to control soft-bodied robots, and (3) Refining the model to improve its performance.

As part of this project, I designed and implemented a developmental model and a decentralised controller in Python, which allows the GRN to generate the robot’s design and control its behaviour. I also implemented evolutionary algorithms to optimise a population of robots, which were simulated and evaluated using the EvoGym Simulator.

I achieved a score of 86% (First class) for the report.

See my report See the source code


Key Technical Achievements

  • Successfully replicated a GRN model in Python from a relevant research paper to verify their results.

  • Designed and implemented a GRN developmental model which co-evolves the robot’s design and controller.

  • Developed my program to work on multiple processor cores by integrating my methods with Python’s multiprocessing library. This led to a dramatic improvement in efficiency and reduced runtime.

  • Followed an iterative development methodology throughout when researching, implementing, and testing different approaches to improve the model’s performance.

  • Conducted non-parametric tests using R Studio to statistically evaluate the model’s performance against a benchmark algorithm.


Background

One vision within the robotics community is to develop machines that can operate autonomously without human supervision. This has important applications for tasks such as search-and-rescue missions, which are often too dangerous or infeasible for humans. Soft robots have several advantages as they can morph and adapt to the environment’s terrain and are more robust than rigid robots, which are constrained by their fixed joints.

Gene Regulatory Networks (GRN) are inspired by the complex biological mechanisms which enable cells to ‘switch’ particular genes on/off in response to environmental signals, yielding dynamic cellular behaviour. GRNs also have a memory capacity, which allows them to store and recall different patterns. These properties could make GRNs an effective mechanism for controlling soft-bodied robots on different objectives.



Through my initial background research, I discovered that GRNs had already been applied to control rigid-body 2D agents. Previous work ranges from controlling a simple robot which can navigate towards changing light sources to more complex tasks such as driving a simulated race car. However, I found that many previous studies do not apply GRNs to control soft-bodied agents and the few that do only evolve the robot for simple locomotion tasks, where the objective is to control the robot to move the quickest in one direction.

To address these gaps in research, my project investigated the effectiveness of Gene Regulatory Networks for evolving soft-bodied robots for locomotion and object-manipulation tasks.




Demonstration

The following short clip shows how the best GRN robots performed at each stage of the project after being evolved. The first two stages of the project were conducted using ‘hand-designed’ robot designs, whereas the final stage used a different approach that co-evolves the robot’s design and behaviour.

Experiments were conducted on simulated tasks provided by the EvoGym Simulator:

  • Walker-v0 - The objective is for the robot to travel the fastest on flat terrain.

  • UpStepper-v0 - The objective is slightly harder as the robot must climb up stairs of varying lengths.

  • Carrier-v0 – The objective is for the robot to travel the fastest on flat terrain while carrying a block.



As you can see, the initial performance is poor, as the robots appear to move sporadically and inefficiently. The robots from the second stage performed much better as the model was tweaked to reduce noise in the network, and a different evolutionary algorithm was implemented. The final stage shows that the co-evolved robots present unique robot designs optimised for the tasks, and the robots generally achieve well.



Summary

Overall, I really enjoyed this project as it allowed me to explore research focused on developing autonomous artificial agents. I also enjoyed implementing the developmental model and seeing how a Gene Regulatory Network can be evolved to generate very animal-like soft-bodied robot designs with different materials, albeit within the limitations of a voxel-based representation.

However, one major challenge I faced within this project was managing experiment times, as some evolutionary experiments took multiple days to optimise robots for a single task, even when taking advantage of multiprocessing. To accommodate this, I conducted experiments on three different machines concurrently.

There are many ways to expand this work. It would be interesting to explore whether Gene Regulatory Networks could allow robots to adapt to different tasks by recalling stored memories for different tasks. Future work could also evolve the robot’s sensor configuration so that the robot has sensors which are optimised for particular tasks.