What is Evolvable Hardware?
Evolvable hardware uses reconfigurable electronics and an adaptive process to design circuits ideal for specific applications. The most popular commercially available type of reconfigurable electronics is the FPGA (field-programmable gate array). By setting fitness metrics for the circuit, evolvable hardware can be programmed to automatically adapt to the task at hand. One prominent application of evolvable hardware is in the creation of control circuits for robots. Imagine a robot equipped with an evolvable circuit whose task is to navigate through a room filled with obstacles. The hardware is programmed to evolve in real time; circuits that minimize collisions with obstacles are “rewarded” and future directions for evolution are based upon features of the successful variants. One motivation for using evolvable hardware is that as our robotics systems become increasingly complex, modelling circuit designs using inefficient general-purpose computers will become tiresome. By using evolv
Evolvable hardware [4, 10, 8, 9, 20, 24] is a reconfigurable electronic circuit, which can be changed by an adaptive process such as a genetic algorithm. This paper considers the evolution of hardware to control an autonomous mobile robot; initially by examining exactly what evolvable hardware is, and what its advantages over software systems are, and then by concentrating on one of these benefits: the exploitation of the physics of the implementation, and how this may be maximised. Finally, early results are presented for the first ever evolution of real hardware to control a real robot, which benefits from the change of perspective that I claim evolvable hardware justifies. A type of commercially available VLSI chip called a Field Programmable Gate Array (FPGA) [25] will provide a good illustration of how hardware may be subject to adaptation, although many other evolvable hardware architectures (both analogue and digital) are possible. A typical FPGA consists of an array of hundreds
The objective of evolvable hardware (EHW) is to design systems that can self-adapt as necessary to compensate for changing operational environments or to survive and recover from faults. EHW uses simulated evolution to search for new hardware configurations. The evolution is performed by a variety of different stochastic search algorithms such as genetic algorithms (GAs), evolutionary programming (EP) or evolution strategies (ES). The EHW is implemented on reconfigurable devices such as field programmable gate arrays (FPGAs), field programmable analog arrays (FPAAs) or field programmable transistor arrays (FPTAs). Each device is configured with a binary bit-stream that determines the architecture (and thus function) and the purpose of the simulated evolution is to find the best performing architecture for the given application. EHW techniques have been successfully used for both original system design and online adaptation of existing systems.