Evolutionary and Adaptive Robotics - LDC

oregontrimmingΤεχνίτη Νοημοσύνη και Ρομποτική

2 Νοε 2013 (πριν από 4 χρόνια και 1 μήνα)

95 εμφανίσεις

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

P
E
R
C
E
P
TI
O
N

REPRESENTATION


IN

WORLD MODEL


--

REASONING


A
C
TI
O
N

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 robots


for Scientific purposes
-

to test scientific theories


It can be done


for Real or


in 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

CTRNNs
(continuous
-
time recurrent NNs), where for
each node (i = 1 to n) in the network the following
equation holds:


y
i

= activation of node i


i

= time constant, w
ji
= weight on connection from node j to node i


(x) = sigmoidal = (1/1+e
-
x
)


i
= bias,

I
i

= 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 robot

When you evaluate each robot genotype, you


Decode it into the network architecture and
parameters


Possibly decode part into


body/sensor/motor parameters


Create the specified robot


Put it into the test environment


Run 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

Results

Typical 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
--

and

for 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"