Showing posts with label Autonomous Robot Evolution. Show all posts
Showing posts with label Autonomous Robot Evolution. Show all posts

Monday, April 20, 2020

Autonomous Robot Evolution: an update

It's been over a year since my last progress report from the Autonomous Robot Evolution (ARE) project, so an update on the ARE Robot Fabricator (RoboFab) is long overdue. There have been several significant advances. First is integration of each of the elements of RoboFab. Second is the design and implementation of an assembly fixture, and third significantly improved wiring. Here is a CAD drawing of the integrated RoboFab.

The ARE RoboFab has four major subsystems: up to three 3D printer(s), an organ bank, an assembly fixture and a centrally positioned robot arm (multi-axis manipulator). The purpose of each of these subsystems is outlined as follows:
  • The 3D printers are used to print the evolved robot’s skeleton, which might be a single part, or several. With more than one 3D printer we can speed up the process by 3D printing skeletons for several different evolved robots in parallel, or – for robots with multi-part skeletons – each part can be printed in parallel.
  • The organ bank contains a set of pre-fabricated organs, organised so that the robot arm can pick organs ready for placing within the part-built robot. For more on the organs see previous blog post(s).
  • The assembly fixture is designed to hold (and if necessary rotate) the robot’s core skeleton while organs are placed and wired up.
  • The robot arm is the engine of RoboFab. Fitted with special gripper the robot arm is responsible for assembling the complete robot.
And here is the Bristol RoboFab (there is a second identical RoboFab in York):


Note that the assembly fixture is mounted upside down at the top front of the RoboFab. This has the advantage that there is a reasonable volume of clear space for assembly of the robot under the fixture, which is reachable by the robot arm.

The fabrication and assembly sequence has six stages:
  1. RoboFab receives the required coordinates of the organs and one or more mesh file(s) of the shape of the skeleton.
  2. The skeleton is 3D printed.
  3. The robot arm fetches the core ‘brain’ organ from the organ bank and clips it into the skeleton on the print bed. This is a strong locking clip.
  4. The robot arm then lifts the core organ and skeleton assemblage off the print bed, and attaches it to the assembly fixture. The core organ has metal disks on its underside which are used to secure the assemblage to the fixture with electromagnets.
  5. The robot arm then picks and places the required organs from the organ bank, clipping them into place on the skeleton.
  6. Finally the robot arm wires each organ to the core organ, to complete the robot.



Here is a complete robot, fabricated, assembled and wired by the RoboFab. This evolved robot has a total of three organs: the core ‘brain’ organ, and two wheel organs.
Note especially the wires connecting the wheel organs to the core organ. My colleague Matt has come up with an ingenious design in which a coiled cable is contained within the organ. After the organs have been attached to the skeleton (stage 5), the robot arm in turn grabs each organ's jack plug and pulls the cable to plug into the core organ (stage 6). This design minimises the previously encountered problem of the robot gripper getting tangled in dangling loose wires during stage 6.

And here is a video clip of the complete process:



Credits

The work described here has been led by my brilliant colleague Matt Hale, very ably supported by York colleagues Edgar Buchanan and Mike Angus. The only credit I can take is that I came up with some of the ideas and co-wrote the bid that secured the EPSRC funding for the project.

References

For a much more detailed account of the RoboFab see this paper, which was presented at ALife 2019 last summer in Newcastle: The ARE Robot Fabricator: How to (Re)produce Robots that Can Evolve in the Real World.

Related blog posts

First automated robot assembly (February 2019)
Autonomous Robot Evolution: from cradle to grave (July 2018)
Autonomous Robot Evolution: first challenges (Oct 2018)

Thursday, February 21, 2019

First automated robot assembly

This month saw the first important milestone toward Autonomous Robot Evolution: the Bristol and York team demonstrated automated assembly of a complete working robot, from evolved and 3D printed parts. In essence we demonstrated one robot assembling another.

Our evolved robots consist of 3 elements:

* pre-designed modules which we call organs (for sensors, actuators, controllers, etc),
* an evolved and 3D printed skeleton, and
* cables (with 3.5mm jack plugs) to connect the organs and the controller.

Note that the organs are not evolved but hand designed; the rationale for this approach is outlined here.

Here are 3 basic organs:

On the left is a sensor, in the middle a controller and on the right a motor + wheel assembly.









And here are screenshots from the video showing the steps involved:











Step 1 shows the skeleton in the process of 3D printing. In step 2 the skeleton has been manually moved from the print bed onto the assembly area: note the organ and cable bank at the back of the assembly area. Step 3 shows the robot arm inserting the organs into the skeleton. Step 4 shows the robot arm connecting the cables. Step 5 shows the wheels being manually added, and in step 6 the robot is complete. Step 7 shows the assembled robot powered and running.

And here is the complete video:



Our aim is of course to automate the whole process and right now the team are working on the two problems of (1) how to remove the 3D printed skeleton from the print bed ready for transfer to the assembly area, and (2) how best to secure the skeleton in the assembly area ready for the processes outlined above.



Related blog posts:

Autonomous Robot Evolution: from cradle to grave (July 2018)
Autonomous Robot Evolution: first challenges (Oct 2018)

Friday, October 26, 2018

Autonomous Robot Evolution: first challenges

Just spent an exciting two days at the first 'all hands meeting' of our new EPSRC funded project: Autonomous Robot Evolution (ARE): from cradle to grave (read here for an introduction). There are eleven of us in total: 4 postdocs (one from each partner university), 2 PhD students, 1 technician, and the four seniors (co-investigators).


Much of the meeting was spent discussing the fundamental (and tough) questions of (1) how we design the genotype, and the mapping between genotype and phenotype, and (2) how exactly we will physically create the robots. 

Let me outline where we are going with these two questions.

1. Genotype-phenotype mapping. As I explained here most evolutionary robotics research has, to date, used a direct mapping approach, in which each parameter of a robot's genome specifies one feature of the real robot (phenotype). For the robot's controller those parameters might be the weights of the robot's artificial neural network, and for the robot's body they might each specify some physical characteristic of the body (such as the length of leg segments in the illustration here). Of course in biology the mapping is indirect; to put it very simply, the genome determines how an organism develops, rather than the organism itself. And because the expression of genes is affected by the environment in which the organism is developing, identical genotypes give rise to non-identical phenotypes (albeit very similar as with identical twins); this is called phenotypic plasticity.

Because we are looking for both biological plausibility and phenotypic plasticity in this project, we have decided on an indirect mapping from genotype to phenotype. Exactly how this will work is still to be figured out, but I feel sure the genotype will need to be split into two parts: one for the robot's controller and the other for its body, and I rather suspect the mapping will be different for those two parts.

2. How to create the robots. In ARE we will adopt the engineering approach 'in which the process is embodied but takes place in a kind of evolution factory'. Now, in theory we could evolve every part of a robot's hardware, listed below.


But in practice this would be impossible; evolving any one of these subsystems would be a research project in its own right, and we're not attempting to re-run the whole of evolution in this project. Instead we will be designing and fabricating discrete modules for sensing, signalling, actuation and control, that we call 'organs'. So what will we actually evolve? It will be:
  • the number, type and position of sensing, signalling and actuation subsystems, and
  • the 3D shape of the robot’s physical structure or chassis.
At this point you're probably thinking: hang on a minute - if you're designing the organs then what's left to evolve? It's a fair question, but in fact evolution will still have huge freedom to choose which and how many organs and where to position them in the body. And when we bear in mind that we will be co-evolving the robot's controller then the space of all possible phenotypes is vast. Of course we may need to introduce some constraints: for instance that there must be at least one controller. But in general we want as few constraints as possible so that evolution is free to explore the phenotypic space to find the best robots, bearing in mind that we will be breeding robots to be able to operate in challenging environments.

And I would argue that in specifying and designing organs we have not compromised on biological plausibility at all. Biological evolution is, after all, highly modular. Most of the organs (and systems of organs) in your body were evolved long before hominids: livers, hearts, eyes, noses, vascular systems, digestive systems, central nervous systems; all of those evolved in early vertebrates (with some repurposing along the way*). Architecturally humans have a huge amount in common with all mammals. My dog is not so different from me (and in some aspects superior: her senses of hearing and smell are much better); our key differences are in morphology and intelligence. These are the two properties that we will be exploring through co-evolution in this project.

So, in the coming few months we have some big mechanical and electronic engineering challenges in this part of the project. Here are just a few:
  • experiment with 3D printing materials and print heads,
  • specify, design and prototype the organs (including their packaging and interconnects),
  • decide on how to power the organs (i.e. a single central power organ, or a battery per organ) and figure out how to re-charge the batteries,
  • determine how to connect the organs with the controller and each other (i.e. with wires or wirelessly), and
  • work out the best way of picking and placing organs within the robot as it is 3D printed.
Challenging? For sure, but we have a wonderful team.

*See Neil Shubin's wonderful book Your Inner Fish.

Related blog posts:

Saturday, July 07, 2018

Autonomous Robot Evolution: from cradle to grave

A few weeks ago we had the kick-off meeting, in York, of our new 4 year EPSRC funded project Autonomous Robot Evolution (ARE): cradle to grave. We - Andy Tyrrell and Jon Timmis (York), Emma Hart (Edinburgh Napier), Gusti Eiben (Free University of Amsterdam) and myself - are all super excited. We've been trying to win support for this project for five years or so, and only now succeeded. This is a project that we've been thinking, and writing about, for a long time - so to have the opportunity to try out our ideas for real is wonderful.

In ARE we aim to investigate the artificial evolution of robots for unknown or extreme environments. In a radical new approach we will co-evolve robot bodies and brains in real-time and real-space. Using techniques from 3D printing new robot designs will literally be printed, before being trained in a nursery, then fitness tested in a target environment (a mock nuclear plant). The genomes of the fittest robots will then be combined to create the next generation of ‘child' robots, so that – over successive generations – we will breed new robot designs in a process that mirrors the way farmers have artificially selected new varieties of plants and animals for thousands of years. Because evolving real robots is slow and resource hungry we will run a parallel process of simulated evolution in a virtual environment, in which the real world environment is used to calibrate the virtual world, and reduce the reality gap*. A hybrid real-virtual process under the control of an ecosystem manager will allow real and virtual robots to mate, and the child robots to be printed and tested in either the virtual or real environments.

The project will be divided into five work packages, each led by a different partner: WP1 Evolution (York), WP2 Physical Environment (UWE), WP3 Virtual Environment (York), WP4 Ecosystem Manager (Napier) and WP5 Integration and Demonstration (UWE).

Here in the Bristol Robotics Lab we will focus on work packages 2 and 5. The goal of WP 2 is the development of a purpose designed 3D printing system – which we call a birth clinic – capable of printing small mobile robots, according to a specification determined by a genome designed in WP1. The birth clinic will need to pick and place a number of pre designed and fabricated electronics, sensing and actuation modules (the robot’s ‘organs’) into the printing work area which will be over printed with hot plastic to form the complete robot. The goal of WP5 will be to integrate all components, including the real world birth clinic, nursery, and mock nuclear environment with the virtual environment (WP3) and the ecosystem manager (WP4) into a working demonstrator and undertake evaluation and analysis.

Here is an impression of what the birth clinic might look like















One of the most interesting aspects of the project is that we have no idea what the robots we breed will look like. The evolutionary process could come up with almost any body shape and structure (morphology). The same process will also determine which and how many organs (sensors, actuators, etc) are selected, and their positions and orientation within the body. Our evolved robot bodies could be very surprising indeed.

And who knows - maybe we can take a step towards Walterian Creatures?


*Anyone who uses simulation as a tool to develop robots is well aware that robots which appear to work perfectly well in a simulated virtual world often don't work very well at all when the same design is tested in the real robot. This problem is especially acute when we are artificially evolving those robots. The reason for these problems is that the model of the real world and the robot(s) in it inside our simulation is an approximation. The Reality Gap refers to the less-than-perfect fidelity of the simulation; a better (higher fidelity) simulator would reduce the reality gap.

Related materials

Article in de Volkskrant (in Dutch) De robotevolutie kan beginnen. Hoe? Moeder Natuur vervangen door virtuele kraamkamer (The robot evolution can begin. How? Replacing Mother Nature with virtual nursery), May 2018.

Eiben and Smith (2015) From evolutionary computing to the evolution of things, Nature.

Winfield and Timmis (2015) Evolvable Robot Hardware, in Evolvable Hardware, Springer.

Eiben et al. (2013) The Triangle of Life, European Conference on Artificial Life (ECAL 2013).