robótica evolutiva - uspconteudo.icmc.usp.br/pessoas/simoes/web/seminars/iea1.pdfalgoritmos...
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: [email protected]
“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: [email protected]
FIM
Cópia das transparências e referências bibliográficas podem ser obtidas no site: