Post on 03-Sep-2019
Robótica Evolutiva
Introducción a la Robótica Inteligente
Álvaro Gutiérrez26 de abril de 2019
aguti@etsit.upm.es
www.robolabo.etsit.upm.es
N
Índice
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Robótica Evolutiva
I La Robótica Evolutiva (RE) es la generación desistemas de control (y/o morfologías) para robotsautónomos basados en el principio Darviniano dereproducción selectiva del más adecuado
I Motivación: Es difícil diseñar sistemas autónomos usandotécnicas ingenieriles porque la iteracción entre un robotautónomo y su entorno es compleja y difícil de predecir
I En la robótica evolutiva definimos los componentes delsistema de control (sensores y actuadores) y un criterio deselección, y dejamos a la evolución artificial descubrir losindividuos más adecuados mientras el robot interactúa conel entorno
N
RE - Codificación
S2 S3 S4 S5 S6 S8S7S1
ijW
M l M r
W W12
W13
W14
W15
W16
W17
W18
W2111
W22
W23
W24
W25
W26
W27
W28
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Evitador de Obstáculos
Automatic Creation of an Autonomous Agent: Genetic Evolutionof a Neural Network Driven Robot (Floreano y Mondada, 1994)
N
Evitador de Obstáculos
I 8 Sensores de InfrarrojoI 2 MotoresI PerceptrónI Neuronas: Sigmoide
ni =∑
j
ωjixi
yi =1
1 + e−(ni−θi)
I Cromosoma:I Pesos de la redI Sesgos
S2 S3 S4 S5 S6 S8S7S1
ijW
M l M r
N
Evitador de Obstáculos
I 8 Sensores de InfrarrojoI 2 MotoresI PerceptrónI Neuronas: Sigmoide
ni =∑
j
ωjixi
yi =1
1 + e−(ni−θi)
I Cromosoma:I Pesos de la red (16)I Sesgos (2)
S2 S3 S4 S5 S6 S8S7S1
ijW
M l M r
N
Evitador de Obstáculos
I Función de Fitness
I PROPUESTAS!!!!I Nolfi-Floreano: F = V(1−
√∆v)(1− i)
Wr,l ∈ [−0.5, 0.5] (Velocidad)V = |Wr|+ |Wl| (Máxima Velocidad)∆v = |(Wr + 0.5)− (Wl + 0.5)| (Máximo Recto)i ∈ [0, 1] (Máximo IR)
N
Evitador de Obstáculos
I Función de Fitness
I PROPUESTAS!!!!
I Nolfi-Floreano: F = V(1−√
∆v)(1− i)
Wr,l ∈ [−0.5, 0.5] (Velocidad)V = |Wr|+ |Wl| (Máxima Velocidad)∆v = |(Wr + 0.5)− (Wl + 0.5)| (Máximo Recto)i ∈ [0, 1] (Máximo IR)
N
Evitador de Obstáculos
I Función de Fitness
I PROPUESTAS!!!!I Nolfi-Floreano: F = V(1−
√∆v)(1− i)
Wr,l ∈ [−0.5, 0.5] (Velocidad)V = |Wr|+ |Wl| (Máxima Velocidad)∆v = |(Wr + 0.5)− (Wl + 0.5)| (Máximo Recto)i ∈ [0, 1] (Máximo IR)
N
Evitador de Obstáculos
I 100 generacionesI 100 individuosI 100 seg. de evaluaciónI Mutación: pm = 0.05I Crossover: pc = 1I Elite: e = 5
0 20 40 60 80 100
0.0
0.4
0.8
1.2
Generations Evolution
Generations
Fitness
BestAverage
Worst
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
IRSIM
ANN: Exp 21
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Identidad yi = xi
I Sigmoide
ni =∑
j
ωjixi + Ii
yi =1
1 + e−(ni−θi)
CTRNN: Exp 24
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Identidad yi = xi
I Sigmoide
τini = −ni +∑
j
ωjixi + giIi
yi =1
1 + e−βi(ni−θi)
N
IRSIM
ANN: Exp 21
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Parámetros Sigmoides:ω, θ
CTRNN: Exp 24
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Parámetros Sigmoides:ω, g, θ, β, τ
N
IRSIM
ANN: Exp 21
I experiments/testneuronexp.*I controllers/nndistributedcontroller.*I controllers/layercontroller.*
CTRNN: Exp 24
I experiments/ctrnnexp.*I controllers/ctrnndistributedcontroller.*I controllers/ctrnnlayercontroller.*
N
IRSIM
Fichero Configuración
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% MORPHOLOGY%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%PROX. SENSORS (8 sensors: 0 OFF, 1 ON) = 1 1 0 0 0 0 1 1CONTACT SENSORS (8 sensors: 0 OFF, 1 ON) = 1 1 1 1 1 1 1 1LIGHT SENSORS (8 sensors: 0 OFF, 1 ON) = 1 1 1 1 1 1 1 1BLUE LIGHT SENSORS (8 sensors: 0 OFF, 1 ON) = 1 1 1 1 1 1 1 1RED LIGHT SENSORS (8 sensors: 0 OFF, 1 ON) = 1 1 1 1 1 1 1 1GROUND SENSORS (3 sensors: 0 OFF, 1 ON) = 1 1 1
N
IRSIM
Fichero Configuración
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% GENETIC%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CHROMOSOME LENGTH = 10POPULATION SIZE = 20NUMBER OF GENERATIONS = 101EVALUATION TIME = 100DO CROSSOVER ( 0 No, 1 Yes ) = 1NUMBER OF CROSSOVERS ( Always 1 ) = 1CROSSOVER DISTANCE ( Always 1 ) = 1MUTATION RATE = 0.02NUMBER OF ELITES = 1FITNESS FUNCTION = 1SAMPLES PER CHORMOSOME = 1RANDOM POS/ORIEN (0 NO, 1 YES) = 0RANDOM INIT AREA X = 1.2RANDOM INIT AREA Y = 1.2
N
IRSIM
Fichero Configuración
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NEURAL%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%WEIGTH UPPER BOUND = 5.0WEIGTH LOWER BOUND = -5.0NUMBER OF LAYERS= 2SENSOR TO LAYER 0 ( NONE 0, C. 1, P. 2, L. 3, BAT. 4, GM 5, G 6,BL 7, RL 8, BBAT 9, RBAT 10) = 2SENSOR TO LAYER 0 ( NONE 0, C. 1, P. 2, L. 3, BAT. 4, GM 5, G 6,BL 7, RL 8, BBAT 9, RBAT 10) = 0ACTIVATION FUNCTION LAYER 0 ( 0 IDENTITY, 1 SIGMOID, 2 STEP, 3LINEAR, 4 PROGRAM ) = 0ACTIVATION FUNCTION LAYER 1 ( 0 IDENTITY, 1 SIGMOID, 2 STEP, 3LINEAR, 4 PROGRAM ) = 1NUMBER OF OUTPUTs LAYER 0 = 4NUMBER OF OUTPUTs LAYER 1 = 2RELATION LAYER 0 = 0 1RELATION LAYER 1 = 0 0
N
IRSIM
ANN: Exp 21
I EvoluciónI ./irsim -E 21 -p <PARAM_FILE> -e
I EjecuciónI ./irsim -E 21 -p <PARAM_FILE> -c <CHROM_FILE>
CTRNN: Exp 24
I EvoluciónI ./irsim -E 24 -p <PARAM_FILE> -e
I EjecuciónI ./irsim -E 24 -p <PARAM_FILE> -c <CHROM_FILE>
N
IRSIM
Datos
I Evolución:I En el directorio geneticDatatFiles
I bestX.log: El mejor individuo de la generación XI currentbest: El mejor individuo de todo el procesoI fitness.log: Histórico de la evolución de la fitnessI generationX.log: Fichero con todos los individuos de la
generación XI maxgeneration: La última generación ejecutada
I EjecuciónI En el directorio outputFiles
I layerXoutput: Fichero con el tiempo, entradassensoriales, pesos y salidas de cada capa
I robotPosition: Fichero con el tiempo, coordenadaX,coordenadaY y Orientación del robot
I robotWheels: Fichero con el tiempo, velocidad de la ruedaizquierda y velocidad de la rueda derecha
N
IRSIM
Fitness
I 0: NoneI 1: Avoid experiments
I
fitnessfunctions/avoidcollisionsfitnessfunction.*I 2: Garbage experiments
I fitnessfunctions/garbagefitnessfunction.*I 4: VUESTRA FITNESS
I fitnessfunctions/irifitnessfunction.*I 5: Light Experiments
I fitnessfunctions/lightfitnessfunction.*
N
IRSIM
Varios
I Reiniciar generación: Modificar variableg_bRestartEvolution. Reinicia la simulación desde laque indique el fichero maxgeneration
I Tipo Mutación:I Aleatoria: En el ficheropopulations/standardgapopulation.cpp, lineas302 y 327:
I fGene = Random2::nextDouble();I Gausiana sobre el valor del gen actual: En el ficheropopulations/standardgapopulation.cpp, lineas302 y 327:
I fGene = fGene +Random2::nextGaussian(0,0.1);
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Ejemplo evitación de obstáculos
ANN: Exp 21
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Nolfi-Floreano:F = V(1−
√∆v)(1− i)
I Exp1:I Cromosoma:
10I Población: 20I Mutación: 2 %I Tiempo eval: 100 s.I Elites: 1
I Exp2:I Mutación: 5 %
I Exp3:I Población: 50I Mutación: 2 %
I Exp4:I Obstáculos
N
Ejemplo evitación de obstáculos
ANN: Exp 21
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Nolfi-Floreano:F = V(1−
√∆v)(1− i)
I Exp1:I Cromosoma: 10I Población: 20I Mutación: 2 %I Tiempo eval: 100 s.I Elites: 1
I Exp2:I Mutación: 5 %
I Exp3:I Población: 50I Mutación: 2 %
I Exp4:I Obstáculos
N
Ejemplo evitación de obstáculos
ANN: Exp 21 - 100 generaciones
I Exp1: 0.77 Exp2: 0.73 Exp3: 0.76 Exp4: 0.71
0 20 40 60 80 100
0.5
00
.60
0.7
0
Generations Evolution
Generations
Fitness
exp1
exp2
exp3
exp4
N
Ejemplo evitación de obstáculos
CTRNN: Exp 24
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Nolfi-Floreano:F = V(1−
√∆v)(1− i)
I Exp1:I Cromosoma:
14I Población: 20I Mutación: 2 %I Tiempo eval: 100 s.I Elites: 1
I Exp2:I Mutación: 5 %
I Exp3:I Población: 50I Mutación: 2 %
I Exp4:I Capa motora
recurrenteI Cromosoma:
N
Ejemplo evitación de obstáculos
CTRNN: Exp 24
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Nolfi-Floreano:F = V(1−
√∆v)(1− i)
I Exp1:I Cromosoma: 14I Población: 20I Mutación: 2 %I Tiempo eval: 100 s.I Elites: 1
I Exp2:I Mutación: 5 %
I Exp3:I Población: 50I Mutación: 2 %
I Exp4:I Capa motora
recurrenteI Cromosoma:
N
Ejemplo evitación de obstáculos
CTRNN: Exp 24
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Nolfi-Floreano:F = V(1−
√∆v)(1− i)
I Exp1:I Cromosoma: 14I Población: 20I Mutación: 2 %I Tiempo eval: 100 s.I Elites: 1
I Exp2:I Mutación: 5 %
I Exp3:I Población: 50I Mutación: 2 %
I Exp4:I Capa motora
recurrenteI Cromosoma:
N
Ejemplo evitación de obstáculos
CTRNN: Exp 24
N 01 N 0
2 N 03 N 0
4
N 11 N 1
210
IR0 IR1 IR6 IR7
VL VR
I Nolfi-Floreano:F = V(1−
√∆v)(1− i)
I Exp1:I Cromosoma: 14I Población: 20I Mutación: 2 %I Tiempo eval: 100 s.I Elites: 1
I Exp2:I Mutación: 5 %
I Exp3:I Población: 50I Mutación: 2 %
I Exp4:I Capa motora
recurrenteI Cromosoma: 18
N
Ejemplo evitación de obstáculos
CTRNN: Exp 24
I Exp1: 0.710 Exp2: 0.830 Exp3: 0.930 Exp4: 0.934
0 20 40 60 80 100
0.4
0.5
0.6
0.7
0.8
0.9
Generations Evolution
Generations
Fitness
exp1
exp2
exp3
exp4
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Navegar hacia una luz
ANN: Exp 1
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18
N21 N2
2
IR0 IR1 IR6 IR7 L0 L1 L7
VL VR
F =
Nsteps∑i=0
V · (1−√
∆v) · (max{Li})
Nsteps·(
1− min{
Ncoll, 1010
})
N
Navegar hacia una luz
ANN: Exp 1
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18
N21 N2
2
IR0 IR1 IR6 IR7 L0 L1 L7
VL VR
I Cromosoma:
26I Población: 50I Mutación: 5 %I Tiempo eval: 400 s.I Elites: 5
F =
Nsteps∑i=0
V · (1−√
∆v) · (max{Li})
Nsteps·(
1− min{
Ncoll, 1010
})
N
Navegar hacia una luz
ANN: Exp 1
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18
N21 N2
2
IR0 IR1 IR6 IR7 L0 L1 L7
VL VR
I Cromosoma: 26I Población: 50I Mutación: 5 %I Tiempo eval: 400 s.I Elites: 5
F =
Nsteps∑i=0
V · (1−√
∆v) · (max{Li})
Nsteps·(
1− min{
Ncoll, 1010
})
N
Navegar hacia una luz
ANN: Exp 1
0 20 40 60 80 100
0.0
0.2
0.4
0.6
0.8
Generations Evolution
Generations
Fitness
best
mean
worst
N
Navegar hacia una luz
CTRNN: Exp 1
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18
N21 N2
2
IR0 IR1 IR6 IR7 L0 L1 L7
VL VR
F =
Nsteps∑i=0
V · (1−√
∆v) · (max{Li})
Nsteps·(
1− min{
Ncoll, 1010
})
N
Navegar hacia una luz
CTRNN: Exp 1
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18
N21 N2
2
IR0 IR1 IR6 IR7 L0 L1 L7
VL VR
I Cromosoma:
30I Población: 50I Mutación: 2 %I Tiempo eval: 400 s.I Elites: 4
F =
Nsteps∑i=0
V · (1−√
∆v) · (max{Li})
Nsteps·(
1− min{
Ncoll, 1010
})
N
Navegar hacia una luz
CTRNN: Exp 1
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18
N21 N2
2
IR0 IR1 IR6 IR7 L0 L1 L7
VL VR
I Cromosoma: 30I Población: 50I Mutación: 2 %I Tiempo eval: 400 s.I Elites: 4
F =
Nsteps∑i=0
V · (1−√
∆v) · (max{Li})
Nsteps·(
1− min{
Ncoll, 1010
})
N
Navegar hacia una luz
CTRNN: Exp 1
0 20 40 60 80 100
0.0
0.1
0.2
0.3
0.4
0.5
Generations Evolution
Generations
Fitness
best
mean
worst
N
Oscilación entre luces
ANN: Exp 2
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18 N2
1 N22 . . . N2
8
N31 N3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
ANN: Exp 2
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18 N2
1 N22 . . . N2
8
N31 N3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
I Cromosoma:
42I Población: 100I Mutación: 20 %I Tiempo eval: 400 s.I Elites: 6
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
ANN: Exp 2
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18 N2
1 N22 . . . N2
8
N31 N3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
I Cromosoma: 42I Población: 100I Mutación: 20 %I Tiempo eval: 400 s.I Elites: 6
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
ANN: Exp 2
0 20 40 60 80 100
0.0
0.2
0.4
0.6
0.8
Generations Evolution
Generations
Fitness
best
mean
worst
N
Oscilación entre luces
CTRNN: Exp 2
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18 N2
1 N22 . . . N2
8
N31 N3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
CTRNN: Exp 2
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18 N2
1 N22 . . . N2
8
N31 N3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
I Cromosoma:
46I Población: 100I Mutación: 20 %I Tiempo eval: 400 s.I Elites: 6
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
CTRNN: Exp 2
N01 N0
2 N03 N0
4 N11 N1
2 . . . N18 N2
1 N22 . . . N2
8
N31 N3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
I Cromosoma: 46I Población: 100I Mutación: 20 %I Tiempo eval: 400 s.I Elites: 6
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
CTRNN: Exp 2
0 20 40 60 80 100
0.0
0.2
0.4
0.6
0.8
Generations Evolution
Generations
Fitness
best
mean
worst
N
Oscilación entre luces
CTRNN: Exp 3
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 22 ... N 2
8
N 31 N 3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
CTRNN: Exp 3
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 22 ... N 2
8
N 31 N 3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
I Cromosoma:
50I Población: 100I Mutación: 20 %I Tiempo eval: 400 s.I Elites: 6
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
CTRNN: Exp 3
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 22 ... N 2
8
N 31 N 3
2
IR0 IR1 IR6 IR7 L0 L1 L7 BL0 BL1 BL7
VL VR
I Cromosoma: 50I Población: 100I Mutación: 20 %I Tiempo eval: 400 s.I Elites: 6
F =Nsteps∑i=0
[14
V(1−√
∆v) +34
[BLon(BL0 + BL7) + BLoff (L0 + L7)
]]Nsteps
(1− min
{Ncoll, 10
10
})
N
Oscilación entre luces
CTRNN: Exp 3
0 20 40 60 80 100
0.0
0.2
0.4
0.6
0.8
Generations Evolution
Generations
Fitness
best
mean
worst
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Recolección
ANN: Exp 1
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28
N31 N3
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
VL VR
F =
Nsteps∑i=0
GMoff
[V(1−
√∆v)(1− max{Ii})
]+ GMon (max{Li})
NstepsN
Recolección
ANN: Exp 1
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28
N31 N3
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
VL VR
I Cromosoma:
42I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 4
F =
Nsteps∑i=0
GMoff
[V(1−
√∆v)(1− max{Ii})
]+ GMon (max{Li})
Nsteps
N
Recolección
ANN: Exp 1
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28
N31 N3
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
VL VR
I Cromosoma: 42I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 4
F =
Nsteps∑i=0
GMoff
[V(1−
√∆v)(1− max{Ii})
]+ GMon (max{Li})
NstepsN
Recolección
ANN: Exp 1
0 20 40 60 80 100
0.0
0.2
0.4
0.6
Generations Evolution
Generations
Fitness
best
mean
worst
N
Recolección
ANN: Exp 2
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 10
10
})
N
Recolección
ANN: Exp 2
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
I Cromosoma:
74I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 5
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 10
10
})
N
Recolección
ANN: Exp 2
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
I Cromosoma: 74I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 5
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 10
10
})
N
Recolección
ANN: Exp 2
0 20 40 60 80 100
0.0
0.2
0.4
0.6
0.8
Generations Evolution
Generations
Fitness
best
mean
worst
N
Recolección
ANN: Exp 3
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
ANN: Exp 3
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
I Cromosoma: 74I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 5
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
ANN: Exp 4
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
F =
Nsteps∑i=0
V(1−√
∆v)[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
ANN: Exp 4
N01 N0
2 N03 N0
4 N11
N21 N2
2 . . . N28 N3
1 N32 . . . N3
8
N41 N4
2
IR0 IR1 IR6 IR7 GM0
L0
L1
L7
BL0
BL1
BL7
VL VR
I Cromosoma: 74I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 5
F =Nsteps∑i=0
V(1−√
∆v)(1− max{IRi})[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
ANN: Exp 5
N01 N0
2 N03 N0
4 N11 N2
1 N22 . . . N2
8 N31 N3
2 . . . N38
N41 N4
2 N43 N4
4
N51 N5
2
IR0 IR1 IR6 IR7 GM0L0
L1
L7
BL0
BL1
BL7
VL VR
F =
Nsteps∑i=0
V(1−√
∆v)[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
ANN: Exp 5
N01 N0
2 N03 N0
4 N11 N2
1 N22 . . . N2
8 N31 N3
2 . . . N38
N41 N4
2 N43 N4
4
N51 N5
2
IR0 IR1 IR6 IR7 GM0L0
L1
L7
BL0
BL1
BL7
VL VR
I Cromosoma:
90I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 4
F =Nsteps∑i=0
V(1−√
∆v)(1− max{IRi})[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
ANN: Exp 5
N01 N0
2 N03 N0
4 N11 N2
1 N22 . . . N2
8 N31 N3
2 . . . N38
N41 N4
2 N43 N4
4
N51 N5
2
IR0 IR1 IR6 IR7 GM0L0
L1
L7
BL0
BL1
BL7
VL VR
I Cromosoma: 90I Población: 50I Mutación: 5 %I Tiempo eval: 300 s.I Elites: 4
F =Nsteps∑i=0
V(1−√
∆v)(1− max{IRi})[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 6
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 31 N 3
2 ... N 38
N 41 N 4
2 N 43 N 4
4 N 51 N 5
2 N 53 N 5
4
N 61 N 6
2
IR0 IR1 IR6 IR7 L0 L1 L7 GM0 BL0 BL1 BL7
VL VR
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 6
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 31 N 3
2 ... N 38
N 41 N 4
2 N 43 N 4
4 N 51 N 5
2 N 53 N 5
4
N 61 N 6
2
IR0 IR1 IR6 IR7 L0 L1 L7 GM0 BL0 BL1 BL7
VL VR
I Cromosoma:
158I Población: 50I Mutación: 10 %I Tiempo eval: 500 s.I Elites: 6I Generaciones: 2000
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 6
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 31 N 3
2 ... N 38
N 41 N 4
2 N 43 N 4
4 N 51 N 5
2 N 53 N 5
4
N 61 N 6
2
IR0 IR1 IR6 IR7 L0 L1 L7 GM0 BL0 BL1 BL7
VL VR
I Cromosoma: 158I Población: 50I Mutación: 10 %I Tiempo eval: 500 s.I Elites: 6I Generaciones: 2000
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 6Evolución por partes
F0:100 =
Nsteps∑i=0
BL0 + BL7
2
Nsteps·(
1− min{
Ncoll, 1010
})
F101:1000 =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 10
10
})
F1001:2000 =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 6
0 500 1000 1500 2000
0.0
0.2
0.4
0.6
0.8
1.0
Generations Evolution
Generations
Fitness
best
mean
worst
N
Recolección
CTRNN: Exp 8
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 31 N 3
2 ... N 38
N 41 N 4
2 N 43 N 4
4 N 51 N 5
2 N 53 N 5
4
N 61 N 6
2
IR0 IR1 IR6 IR7 L0 L1 L7 GM0 BL0 BL1 BL7
VL VR
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 8
N 01 N 0
2 N 03 N 0
4 N 11 N 1
2 ... N 18 N 2
1 N 31 N 3
2 ... N 38
N 41 N 4
2 N 43 N 4
4 N 51 N 5
2 N 53 N 5
4
N 61 N 6
2
IR0 IR1 IR6 IR7 L0 L1 L7 GM0 BL0 BL1 BL7
VL VR
I Muestras porcromosoma: 4
I Entorno AleatorioI Generaciones: 3000
F =
Nsteps∑i=0
[GMoff (BL0 + BL7) + GMon(L0 + L7)
]Nsteps
(1− min
{Ncoll, 30
30
})( Fobj
5
)
N
Recolección
CTRNN: Exp 8
0 500 1000 1500 2000 2500 3000
0.0
0.2
0.4
0.6
0.8
Generations Evolution
Generations
Fitness
best
mean
worst
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Evolución de Morfología
I El genotipo especifica comose genera el fenotipo
I Forma, longitud, tipo deuniviones, ángulos, etc, etc,etc, sujetos a variacióngenética
I Fitness: Nadar, caminar,saltar, seguir objetos, coger elcontrol de un cubo, ....
N
Cooperación
Evolution of Acustic Communication Between Two CooperatingRobots (Tuci y Ampatzis, 2007)
N
Cooperación
I 2 MotoresI 5 Sensores de
InfrarrojoI 2 Sensores de LuzI 1 Sensor de SueloI 1 MicrófonoI 1 Altavoz
N
1 Robótica Evolutiva
2 Un primer ejemplo
3 IRSIMObstáculosLucesRecolección
4 Otros ejemplos
5 Conclusiones
N
Conclusiones
I Por quéI No somos buenos diseñando sistemas emergentesI La robótica evolutiva puede ser la solución
I Sin embargo:I Los comportamientos evolucionados son normalmente
difíciles de analizarI Aún no se ha demostrado una diferencia con respecto a los
diseños manualesI Aún no sabemos si se pueden evolucionar
comportamientos complejosI Es posible que solo sea una herramienta más
N