robótica evolutiva - uspconteudo.icmc.usp.br/pessoas/simoes/web/seminars/iea1.pdfalgoritmos...

Post on 25-Dec-2019

21 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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: simoes@icmc.usp.br

“Quem acreditaria em uma Formiga em teoria?”

S. J. Gould, 1950

… Como se projeta uma Girafa?

… O que é Vida Artificial?

...”

Pensamento:

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

1- Computação Evolutiva

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

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

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

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

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

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

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

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

g Separação:

AmbienteOrganismo

Ambiente

Organismo

Desenvolvimento Humano

1.3- O Papel da Computação Evolutiva

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

ooo

1.4- Redes Neurais Artificiais

g Modelos inspiradosna organização docérebro

g Aprendizado e Teste

g Generalização e Classificação

1.4- Redes Neurais Artificiais

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

2.1- Robótica Evolutiva

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

2.1- Robótica Evolutiva

2.1- Robótica Evolutiva

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

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ô

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

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

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

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

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

2.3- Primeiros Experimentos

2.3- Primeiros Experimentos

g Objetivo: Navegação sem Colisões

Robôs

Simples Complexo

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

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

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

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%

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

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

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

3- Conclusão

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

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

email: simoes@icmc.usp.br

FIM

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

top related