Evolutionary Developmental Soft Robotics: towards adaptive and ...
Evolutionary Robotics
description
Transcript of Evolutionary Robotics
Evolutionary Robotics
Gabriela Ochoa
Robotics - Introduction
Robots in the movies (C3P0, Terminator): fantastic, intelligent, even dangerous forms of artificial life
Robots of today are not walking, talking intelligent machines
Today, we find most robots working for people in factories, warehouses, and laboratories
In the future, robots may show up in other places: our schools, our homes, even our bodies.
Mainstream Robotics Most robots: a helping hand. Help
people with tasks that would be difficult, unsafe, or boring for a real person
A robot have 5 main components Controller Arm Drive End-Effector Sensor
Autonomous Robotics
Robot: A versatile mechanical device equipped with effectors and sensors under the control of a computing system
Human: eyes, ears (sensors); hands, legs, mouth (effectors)
Robot: cameras, infrared range finders (sensors); various motors (effectors)
Autonomous Robots: those that make decisions on their own, guided by the feedback they get from their physical sensors
Classic AI Approach
PERCEPTION
REPRESENTATION
IN
WORLD MODEL
-- REASONING
ACTION
Divide & Conquer: a complex problem is decomposed into separate, less daunting subproblems
Clasical approaches tu robotics, assume a primary decomposition into Perception, Planning and Action Modules
Subsumtion Architecture (Rodney Brooks) Problems with the classical approach:
It is not clear how a robot control system should be decomosed
Complex Interactions between subsystems, not only direct links, also mediated via the environment
Subsumtion Architecture: slow and and careful building up of a robot control system layer by layer Get something simple working (debugged) first Then try and add extra 'behaviours'
The Evolutionary Approach
Brooks' subsumption architecture is 'design-by-hand', but inspired by an incremental, evolutionary approach
Alternative: explicitly use evolutionary techniques to incrementally evolve increasingly complex robot control systems
When evolving robot 'nervous systems' with some form of GA, then the genotype ('artificial DNA') will have to encode: The architecture of the robot control system Also maybe some aspects of its body/motors/sensors
Evolutionary Robotics
The use of evolutionary (genetic) algorithms to develop `artificial nervous systems' for robots.
ER can be done for Engineering purposes - to build useful robotsfor Scientific purposes - to test scientific theories
It can be donefor Real orin Simulation
Approaches to Evolutionary Robotics
R. D. Beer: Agent control using NNs (continuous-time recurrent NNs) Tasks: Chemotaxis, locomotion control 6-legged insect-like
M. Colombeti, M. Dorigo: Classifier Systems D. Floreano: Kephera robots, simple recurrent NNs J. Koza, C. Raynolds: GP to develop S. Arch. R. Watson: Embodied Evolution I. Harvey, P. Husband U. Sussex: continuous-time
recurrent NNs CTRNN
Sussex Approach to ER
Robot as a whole: body, sensors, motor and control system (or “nervous system”) – as a dynamical system coupled with a dynamic environment
Continuos time recurrent NN, with temporal delays on links
Genotypes: specify the architecture of the NN
A top-down view of the simulated agent, showing bilaterally symmetric sensors (“photoreceptors”). Reversing the sensor connections will initially have a similar effect to moving the light source as shown.
Dynamic Recurrent Neural Networks DRNNs
This is just ONE possible DRNN, which ONE specific genotype specified.
DRNNs, or CTRNNs
• Convenient way of specifying a class of dynamical systems
• Different genotypes will specify different DSs, giving robots different behaviours.
DRNN Basics
The basic components of a DRNN are these(1 to 4 definite, 5 optional)
NNs Equations
)()(1
tIywydt
dyijj
n
jjii
ii
CTRNNs (continuous-time recurrent NNs), where for each node (i = 1 to n) in the network the following equation holds:
yi = activation of node ii = time constant, wji = weight on connection from node j to node i(x) = sigmoidal = (1/1+e-x)
i= bias, Ii = possible sensory input.
Genotypes
Finite number of nodes Thresholds or details of non linear activatation
function Links and connections between nodes: sepecifying
weights and time-delays on the links Optional: Weight-changing rules Subset of the nodes, designed as input nodes,
receiving sensory inputs Output or motor nodes Other nodes (“hidden”) arbitrary number
Genetic Encoding Scheme
Example of an Experiment Simulation: round, two-wheeled, mobile robot with
touch sensors and two visual sensors Task: robot need to reach the centre of a simulated
circular arena (white walls and black floor and ceiling)
Fitness function: robots are rated on the basis of how much time they spent
at or near the centre. Measuring the distance d of the robot from the centre, and
weighting this distance by a Gaussian G Over 100 time steps, G is summed to give a final score Robot starts near the perimeter, facing in a random
direction
Evaluating a robotWhen you evaluate each robot genotype, youDecode it into the network architecture and parametersPossibly decode part into body/sensor/motor parametersCreate the specified robotPut it into the test environmentRun it for n seconds, scoring it on the task.
Any evolutionary approach needs a selection process, whereby the different members of the population have different chances of producing offspring according to their fitness
ResultsTypical path of a succesfully evolved robot wich heads fairly directly for the centre of the room and circles there, using input from 2 photoreceptors.
The direction the robot is facing is indicated by arrows for each time step
Real Robot vs. Simulation
Evaluate on a real robot, or Use a Simulation ?
On a real robot it is expensive, time-consuming -- andfor evolution you need many many evaluations.
On a simulation it should be much faster
BUT AI (and indeed Alife) has a history of toy, unvalidated simulations, that 'assume away' all the genuine problems that must be faced.
Eg: grid worlds "move one step North“, Magic sensors "perceive food"
Principled Simulations ?
How do you know whether you have included all that is necessary in a simulation?
-- only ultimate test, validation, is whether what works in simulation ALSO works on a real robot.
How can one best insure this, for Evolutionary Robotics ?
Noise: put an envelope-of-noise, (through variations driven by random numbers), around crucial parameters whose real values you are unsure of.
“Evolve for more robustness than strictly necessary"