39
Robótica Evolutiva uma População de Robôs Reais que Fazem Amor e Geram Descendentes Enquanto Aprendem a Realizar Tarefas Eduardo Simões Mestrado em Microeletrônica – UFRGS Doutorado em Robótica – University of Kent at Canterbury, UK Prof. Dr. Instituto de Ciências Matemáticas e de Computação – ICMC http://www.icmc.usp.br/~simoes/seminars email: [email protected]

Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

  • Upload
    dinhdan

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Robótica Evolutivauma População de Robôs Reais que Fazem Amor e Geram Descendentes

Enquanto Aprendem a Realizar Tarefas

Eduardo Simões

Mestrado em Microeletrônica – UFRGS

Doutorado em Robótica – University of Kent at Canterbury, UK

Prof. Dr. Instituto de Ciências Matemáticas e de Computação – ICMC

http://www.icmc.usp.br/~simoes/seminars

email: [email protected]

Page 2: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

“Quem acreditaria em uma Formiga em teoria?”

S. J. Gould, 1950

… Como se projeta uma Girafa?

… O que é Vida Artificial?

...”

Pensamento:

Page 3: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Sumário1- Computação Evolutiva

1.1 – Conceito1.2 – Inspiração na Natureza1.3 – O Papel da Computação Evolutiva1.4 – Redes Neurais Artificiais

2- Aplicações da Computação Evolutiva na Robótica2.1 – Robótica Evolutiva2.2 – Implementação2.3 – Primeiros Experimentos2.4 – Análise dos Dados Experimentais2.5 – Predação

3- Conclusões

Page 4: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

1- Computação Evolutiva

Page 5: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Sistemas de Computação Tradicionais:

� Tentar exaustivamente todas as possíveis soluções e escolher a mais adequada

ProblemaUniverso de

PossíveisSoluções

1.1- Computação Evolutiva: Conceito

Page 6: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Algoritmos Genéticos

� Teste de um critério definidoe interrompimento do processoquando uma solução aceitávelé produzida.

1.1- Computação Evolutiva: Conceito

Problema 1o Grupo deSoluções

Universo depossíveisSoluções

Problema 2o Grupo deSoluções

Combinaçãodas melhores

Soluções

Page 7: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Computação Evolutiva

� Teste de um critério definidoe interrompimento do processoquando um desempenho aceitávelé produzido.

Ambiente1o Grupo de

Agentes

2o Grupo deAgentes

Combinação dosMelhores Agentes

Ambiente

1.1- Computação Evolutiva: Conceito

Page 8: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Computação Evolutiva:

� Uma Seleção Natural artificial dos mais adequados agentes ou soluções

g Premissa mais importante:

� Especificar o que é desejado do robô, sem definir como ele deve fazer para obter esse comportamento

1.1- Computação Evolutiva: Conceito

Page 9: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Nível Microscópico (Molecular):– Algoritmos Genéticos

g Nível Macroscópico (Comportamental):– Complementaridade entre o ambiente natural e

os organismos

Busca de inspiração na natureza:

1.2- Inspiração na Natureza

Page 10: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Comportamento: propriedade emergente da interação entre organismo e meio ambiente

g “O ambiente não é apenas uma entidade complexa e variável, mas um mundo de oportunidades”

por J.J. Gibson (1950)

Interação entre Organismo e Ambiente:

1.2- Inspiração na Natureza

Page 11: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

1.3- O Papel da Computação Evolutiva

Evolução através da Seleção Natural

Características:- Tamanho;- Cor da Pele...

Mecanismos de Estímulo-Resposta:

SensoresProcessa-

mento Atuadores

Ambiente

Organismo

Page 12: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g O Aparecimento da Inteligência:– Biologia: Mecanismos � neurônios, cérebro...– Psicologia: Mecanismos � cognição– Informática: Modelos de Inteligência Artificial

���� Suprema Ferramenta para a Sobrevivência

1.3- O Papel da Computação Evolutiva

Page 13: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Separação:

AmbienteOrganismo

Ambiente

Organismo

Desenvolvimento Humano

1.3- O Papel da Computação Evolutiva

Page 14: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Redes Neurais Artificiais (cérebro dos Robôs):

ooo

1.4- Redes Neurais Artificiais

Page 15: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Modelos inspiradosna organização docérebro

g Aprendizado e Teste

g Generalização e Classificação

1.4- Redes Neurais Artificiais

Page 16: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2- Aplicações da Computação Evolutiva na Robótica

Page 17: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.1- Robótica Evolutiva

Page 18: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Estação de Trabalho Estação de Reprodução

• Testar a habilidade de Executar a tarefa

• Seleção dos Parceiros-- Canto de acasalamento

• Troca de Cromossomos

• Reconfiguração dos Robôs

Processo Evolucionário:

2.1- Robótica Evolutiva

Page 19: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.1- Robótica Evolutiva

Page 20: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.1- Robótica Evolutiva

Page 21: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Circuito de Controle

g Configuração da Rede Neural

Morfologia

g Velocidade de movimento

g Seleção dos Sensores

Material Genético Memória

2.1- Robótica Evolutiva

Page 22: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.2- Implementação

SensoresMódulo

dosSensores

RedeNeural

Módulodos

MotoresMotores

Configuraçãoda Rede Neural

("Instinto")

Posição eAlcance dos

Sensores

Velocidade eManobras

g Arquitetura do Robô

Page 23: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Controle por Solução Tradicional

Left = Right = 0;If (Sensor4=1) then Left = Left + 1;If (Sensor3=1) then Left = Left + 1;If (Sensor2=1) then Left = Left + 1;If (Sensor6=1) then Right = Right + 1;If (Sensor7=1) then Right = Right + 1;If (Sensor8=1) then Right = Right + 1;If (Left > Right) then Command = TRS1;If (Left = Right) then Command = FF;If (Left < Right) then Command = TLS1;If (Sensor1=1) then Command = TRS2;

2.2- Implementação

S1S2

S3

S4

S5

S6

S7

S8

MotorLeft Right

Motor

30o60o

90o

-30o-60o

-90o

180o

0o

Page 24: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Controle porRede Neural

NeuronGroup 1(Class FF)

S1

S2

S3

S4

S6

S7

S8

Li1

Lj1N1,1 N2,1 N3,1 N4,1

Li2

Lj2N1,2 N2,2 N3,2 N4,2

Li3

Lj3N1,3 N2,3 N3,3 N4,3

Li4

Lj4N1,4 N2,4 N3,4 N4,4

Li5

Lj5N1,5 N2,5 N3,5 N4,5

Li6

Lj6N1,6 N2,6 N3,6 N4,6

Li7

Lj7N1,7 N2,7 N3,7 N4,7

NeuronGroup 2

(Class TLS1)

NeuronGroup 3

(Class TRS1)

NeuronGroup 4

(Class TRS2)

O1Adder

/ / / /

O2Adder

O3Adder

O4Adder

7777

Winner Takes All Block

2.2- Implementação

Page 25: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Sensor Control Module

A/D2 bits

Sensor 1Control Module

If C1 = 0And

C2 = 0Output = S1

ElseOutput = 0

Sensor1Bit0Bit1

Bit0Bit1

0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1

Chromosome

C1 C2

NeuralNetwork

2.2- Implementação

Page 26: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.2- Implementação

Motor Control Module

Medium SlowFast

0 1 0 1 0 1 1 1 0 0 0 1 1 1 0 0 1 1 1

Pulse Modulation

Command Interpretation

Signal to Motor1

Signal to Motor2

Command from

Neural Network

Chromosome

Page 27: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Função de Fitness

1- Começa com 5000 pontos;

2- Recompensa: + 1 pontos para cada 1 seg. de movimento à Frente;

3- Punição: - 10 pontos a cada colisão.

2.2- Implementação

Page 28: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.3- Primeiros Experimentos

Page 29: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

2.3- Primeiros Experimentos

g Objetivo: Navegação sem Colisões

Robôs

Simples Complexo

Page 30: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Simple Environment

0

50

100

150

200

250

300

350

400

1 21 41 61 81 101

Generations

Fitn

ess

Complex Environment

0

50

100

150

200

250

300

350

1 21 41 61 81 101

Generations

Fitn

ess

g 120 Gerações: (1 min.)g Pontuação do Melhor Robô

Média da População

2.3- Primeiros Experimentos

Page 31: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

Simple Environment

0

50

100

150

200

250

300

350

400

1 21 41 61 81 101

Generations

Fitn

ess

Complex Environment

0

50

100

150

200

250

300

350

1 21 41 61 81 101

Generations

Fitn

ess

Espécie 1 – Um sensor frontalEspécie 2 – Dois sensores, um frontal e outro lateralEspécie 3 – Três sensores, um frontal e dois laterais

2.3- Primeiros Experimentos

Page 32: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Robôs Reais

39003950400040504100415042004250430043504400445045004550460046504700

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150Generation

Fitness

Robot1Robot2Robot3Robot4Robot5Robot6PopAv

2.4- Analise dos Dados Experimentais

Page 33: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Efeito da Mutação:

2.4- Analise dos Dados Experimentais

4140

4150

4160

4170

4180

4190

4200

4210

4220

4230

0 50 100 150 200 250 300Simulated Generations

Fitness

Av0.1%Best0.1%Av0.5%Best0.5%Av1%Best1%Av3%Best3%

Page 34: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Efeito da Mutação:

2.4- Analise dos Dados Experimentais

4140

4155

4170

4185

4200

4215

4230

0 2 4 6 8 10 12 14 16 18 20Simulated Generations

Fitness

Robot1Robot2Robot3Robot4Robot5Robot6

Page 35: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

g Diferentes Populações:

41004120414041604180420042204240426042804300432043404360

0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500Simulated Generations

Fitness

Pop100Pop80Pop60Pop45Pop35Pop25Pop15Pop10Pop8Pop6

2.4- Analise dos Dados Experimentais

Page 36: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

M ut a t io n R a t e = 0 . 0 %

4180

4200

4220

4240

4260

4280

4300

1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301S imula t e d G e ne ra t io ns

F i t ne s s

PredationNoPredation

2.5- Predação

Page 37: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

3- Conclusão

Page 38: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

3- Conclusão

g A Computação Evolutiva pode contribuir muito com a Robótica– Evolução Contínua X Busca de Solução– Produz soluções aceitáveis para problemas de

navegação e desvio de obstáculos– Possibilita auto-programação de sistemas complexos– Construção de infraestrutura para realização de

experimentos com 40 robôs móveis autônomos– Construção de um time de futebol contendo 5 robôs

Page 39: Robótica Evolutiva - ICMCicmc.usp.br/~simoes/web/seminars/iea1.pdf · Morfologia g Velocidade de movimento g Seleção dos Sensores Material Genético Memória ... 2.4- Analise dos

http://www.icmc.usp.br/~simoes/seminars

email: [email protected]

FIM

Cópia das transparências e referências bibliográficas podem ser obtidas no site: