• Nenhum resultado encontrado

Computação Evolutiva aplicada a Robôs Reais

N/A
N/A
Protected

Academic year: 2021

Share "Computação Evolutiva aplicada a Robôs Reais"

Copied!
52
0
0

Texto

(1)

Computação Evolutiva aplicada a

Robôs Reais

Eduardo D. V. Simões

Mestrado em Microeletrônica – UFRGS

Doutorado em Robótica – University of Kent at Canterbury, UK Recém-Doutor no Laboratório de Robotica Inteligente - UFRGS http://www.inf.ufrgs.br/~simoes/seminars/compev/

(2)

“Quem acreditaria em uma Formiga em teoria?

… Em uma Girafa em projeto?

… Mil Cientistas não imaginariam metade da selva a partir de um ser vivo”

S. J. Gould

(3)

Sumário

1- Computação Evolutiva

1.1 – Conceito

1.2 – Inspiração na Natureza

1.2 – O Papel da Computação Evolutiva 1.3 – Opinião Pessoal

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

2.1 – Robótica Evolutiva 2.2 – Implementação 2.3 – Primeiros Experimentos 2.4 – Problemas Encontrados 2.5 – Solução Final 3- Futebol de Robôs 4- Conclusões

(4)
(5)

g Sistemas de Computação Tradicionais:

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

Problema

Universo de Possíveis Soluções

(6)

g Computação Evolutiva

 Teste de um critério definido

e interrompimento do processo quando um desempenho aceitável é produzido. Ambiente 1 o Grupo de Agentes 2o Grupo de Agentes Combinação dos Melhores Agentes Ambiente

(7)

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

(8)

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:

(9)

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:

(10)

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:

Sensores Processa-mento Atuadores

Ambiente

(11)

g O Aparecimento da Inteligência:

– Biologia: Mecanismos  neurônios, cérebro... – Educação: Mecanismos  cognição

– Informática: Modelos de Inteligência Artificial

  

 Suprema Ferramenta para a Sobrevivência

(12)

g Dispersão: Organismos (Nós) Mar Ar Espaço Barc o Avião Fogu ete

(13)

2- Aplicações da Computação

Evolutiva na Robótica

(14)
(15)

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:

(16)
(17)
(18)

Circuito de Controle g Configuração da Rede Neural Morfologia g Velocidade de movimento

g Seleção dos Sensores

Material Genético Memória

(19)

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

S1 S2 S3 S4 S5 S6 S7 S8 Motor Left Right Motor 30o 60o 90o -30o -60o -90o 180o 0o

(20)

g Controle por Rede Neural – Estruturado Neuron Group 1 (Class FF) S1 S2 S3 S4 S6 S7 S8 Li1 Lj1 N1,1 N2,1 N3,1 N4,1 Li2 Lj2 N1,2 N2,2 N3,2 N4,2 Li3 Lj3 N1,3 N2,3 N3,3 N4,3 Li4 Lj4 N1,4 N2,4 N3,4 N4,4 Li5 Lj5 N1,5 N2,5 N3,5 N4,5 Li6 Lj6 N1,6 N2,6 N3,6 N4,6 Li7 Lj7 N1,7 N2,7 N3,7 N4,7 Neuron Group 2 (Class TLS1) Neuron Group 3 (Class TRS1) Neuron Group 4 (Class TRS2) O1 Adder / / / / O2 Adder O3 Adder O4 Adder 7 7 7 7

Winner Takes All Block

(21)

g Controle por Black Box – Não Estruturado. Encoding of the Commands: 000 -- FF 001 -- TRS1 010 -- TLS1 011 -- TRS2 100 -- TLS2 101 -- TRL 110 -- TLL 111 -- FS Sensor Module Black Box S1 1 bit S2 1 bit S3 1 bit S4 1 bit S5 1 bit S6 1 bit S7 1 bit S8 1 bit 3-bit Output Motor Drive Module

2.2- Implementação

(22)

Black Box 256-bit Lookup Table 256-bit Lookup Table 256-bit Lookup Table 1 bit 1 bit 1 bit 3-bit Command 8 bits 8 bits f ro m the Sensor s 8 bits 8 bits

2.2- Implementação

(23)

Black Box

Memory (256-bytes)

Address

8 bits from the Sensors

8 bit 1 bit 3-bit Command 1 bit 1 bit b0,b1,b2,b3,b4,b5,b6,b7 1 Byte

2.2- Implementação

(24)

g Controle por Black Box implementado em C:

Command = Mem(Sensors)

g Assembler:

ldab sensors ; b receives content of variable sensors ldx #$8000 ; x receives Base Address

abx ; Add b to x

ldaa 0,X ; Retrieve the Data from memory

anda #%00000111 ; Filter the first 3 bits containing the Command staa command ; Store the result to variable command

(25)

g Função de Fitness

1- Comeca com 4100 pontos;

2- Recompensa: + 5 pontos para cada 3 seg. de movimento à Frente; 3- Punição: - 10 pontos a cada colisão.

(26)
(27)

2.3- Primeiros Experimentos

g Objetivo: Navegação sem Colisões

Robôs

(28)

Simple Environment 0 50 100 150 200 250 300 350 400 1 21 41 61 81 101 Generations F it n ess Complex Environment 0 50 100 150 200 250 300 350 1 21 41 61 81 101 Generations F itn ess g 120 Gerações: (1 min.)

g Pontuação do Melhor Robô

Média da População

(29)

Simple Environment 0 50 100 150 200 250 300 350 400 1 21 41 61 81 101 Generations F it n ess Complex Environment 0 50 100 150 200 250 300 350 1 21 41 61 81 101 Generations F itn ess

Espécie 1 – Um sensor frontal

Espécie 2 – Dois sensores, um frontal e outro lateral Espécie 3 – Três sensores, um frontal e dois laterais

(30)

g Robôs Reais:

2.5- Problemas Encontrados

3900 3950 4000 4050 4100 4150 4200 4250 4300 4350 4400 4450 4500 4550 4600 4650 4700 0 10 20 30 40 50 60 70 80 90 Generation Fitness Robot1 Robot2 Robot3 Robot4 Robot5 Robot6 PopAv

(31)

g Robôs Reais:

2.5- Problemas Encontrados

3900 3950 4000 4050 4100 4150 4200 4250 4300 4350 4400 4450 4500 4550 4600 4650 4700 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 Generation Fitness Robot1 Robot2 Robot3 Robot4 Robot5 Robot6 PopAv

(32)

g Robôs Reais - Solução: Estratégia de Herança

– HfRn = (FitnessRnG0 + FitnessRnG-1 + FitnessRnG-2)/3

2.5- Problemas Encontrados

3900 3950 4000 4050 4100 4150 4200 4250 4300 4350 4400 4450 4500 4550 4600 4650 4700 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 Generation Fitness Robot1 Robot2 Robot3 Robot4 Robot5 Robot6 PopAv

(33)

g Simulação:

2.5- Problemas Encontrados

Fitness Evaluation "0,0,0,0,0,0,0,0" to "1,1,1,1,1,1,1,1" 3-b it Com mand

Simulated Input Vector

8 bits 8 bits 3-bit C ommand Increment Fitness if both Commands are the same Hand-designed Controller Evolving Controller Crossover and Mutation Select Best Robot Fitness Evaluation Initialise Population New Population

(34)

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 300

Sim ulated Generations Fitness Av0.1% Best0.1% Av0.5% Best0.5% Av1% Best1% Av3% Best3%

(35)

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 300

Sim ulated Generations Fitness Av10% Best10% Av20% Best20% Av50% Best50% Av80% Best80%

(36)

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 20

Sim ulated Generations Fitness Robot1 Robot2 Robot3 Robot4 Robot5 Robot6

(37)

g Reprodução Sexuada (S1) x Assexuada (S2):

2.5- Problemas Encontrados

4140 4150 4160 4170 4180 4190 4200 4210 4220 4230 4240 4250 4260 0 50 100 150 200 250 300

Sim ulated Generations Fitness S2Av0.1% S2Best0.1% S2Av0.5% S2Best0.5% S1Av0.1% S1Best0.1% S1Av0.5% S1Best0.5%

(38)

g Reprodução Sexuada:

2.5- Problemas Encontrados

4100 4120 4140 4160 4180 4200 4220 4240 4260 4280 4300 4320 4340 4360 0 5000 10000 15000 20000 25000 30000

Sim ulated Generations Fitness Av6RobMr0.1% Best6RobMr0.1% Av6RobMr0.5% Best6RobMr0.5% Best100RobMr0.1% Best100RobMr0.5%

(39)

g Reprodução Assexuada: 4100 4120 4140 4160 4180 4200 4220 4240 4260 4280 4300 4320 4340 4360 0 5000 10000 15000 20000 25000 30000

Sim ulated Generations Fitness Av0.1% Best0.1% Av0.5% Best0.5%

2.5- Problemas Encontrados

(40)

g Solução1: reprodução por Triplets

2.5- Problemas Encontrados

0 0 0 1 1 1 Triplet 8 comandos FF FS

(41)

g Reprodução Sexuada Normal (S1) x Sexuada por Triplets (S3):

2.5- Problemas Encontrados

4100 4120 4140 4160 4180 4200 4220 4240 4260 4280 4300 4320 4340 4360 0 1000 2000 3000 4000 5000 6000 7000 8000 9000

Sim ulated Generations Fitness

S3Av0.5% S3Best0.5% S1Av0.5% S1Best0.5%

(42)

g Solução2: Prevenção de Back-mutation

2.5- Problemas Encontrados

(43)

g Reprodução Sexuada e Assexuada por Triplets com prevenção de Back-mutations:

2.5- Problemas Encontrados

4100 4120 4140 4160 4180 4200 4220 4240 4260 4280 4300 4320 4340 4360 0 500 1000 1500 2000 2500 3000 3500

Sim ulated Generations Fitness

AsexualAv AsexualBest SexualAv SexualBest

(44)

g Diferentes Populações com Rep. Assexuada:

2.6- Solução Final

4100 4120 4140 4160 4180 4200 4220 4240 4260 4280 4300 4320 4340 4360 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 1300 1400 1500

Sim ulated Generations Fitness Pop100 Pop80 Pop60 Pop45 Pop35 Pop25 Pop15 Pop10 Pop8 Pop6

(45)

g Predação: M u t a t i o 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 301 S i m u l a t e d G e n e r a t i o n s F i t n e s s Predation NoPredation

2.6- Solução Final

(46)

g Reprodução Sexuada, controlador Black Box, por Triplets e prevenção de Back-mutations:

3000 3100 3200 3300 3400 3500 3600 3700 3800 3900 4000 4100 4200 4300 4400 4500 4600 4700 0 20 40 60 80 100 120 140 160 180 200 Generation Fitness Robot1 Robot2 Robot3 Robot4 Robot5 Robot6

2.6- Solução Final

(47)
(48)

g Situação Atual:

– Definição das Regras a serem empregadas

– Aquisição de material para construção do Campo e sensoriamento remoto – Camera + Placa de vídeo... – Construção de um time de 5 robôs (2 semanas)

– Desenvolvimento do algoritmo de controle por quadrantes (tradicional)

– Aplicação de técnicas de Computação Evolutiva

(49)
(50)

4- Conclusão

g A Computação Evolutiva pode contribuir muito

com a Robótica

– Produz soluções aceitáveis para problemas de navegação e desvio de obstáculos

– Possibilita auto-programação de sistemas complexos

– LRI já possui infraestrutura para realização de experimentos com 7 robôs móveis autônomos

– Em duas semanas disporemos de um time de futebol contendo 5 robôs

(51)

4- Conclusão

g Processo de contínua adaptação às mudanças do

Ambiente x Solução Fixa

g Estamos MUITO longe de sermos perfeitos!

(52)

http://www.inf.ufrgs.br/~simoes/seminars/compev/ email: [email protected]

FIM

Cópia das transparências e referências

Referências

Documentos relacionados

Os resultados indicam: (a) baixa utilização de referências que abordem as teorias da contabilidade gerencial, baixa incidência de referências a artigos publicados em

Para nível diário incluiu intercepto e 20 diferenças defasadas.. Para diferença diária incluiu 19

Na literatura considera-se que essas práticas de manipulação da informação contabilística tendem a influenciar os resultados líquidos, pois estes são vistos,

O acelerômetro Biotrainer II não identifica atividades realizadas sentadas ou deitadas, logo, para que as comparações entre os dados obtidos pelo acelerômetro com o R24AF

A infecção leva a formas sintomáticas em até 70% dos infectados, sendo suas formas clínicas, nos pacientes sintomáticos, divididas em três fases: aguda ou febril, com duração de

TRANSPORTE DOS ANIMAIS ATÉ O ABATEDOURO. a) O transporte dos animais vivos provenientes do manejo realizado sob qualquer sistema com fins comerciais até o abatedouro

Outro ponto crítico para o fechamento controlado de disjuntores de transformadores de potência sem carga é que o fluxo prospectivo criado pela tensão no instante do fechamento

Após o jornal Financial Times estimar a conta em EUR 100 bilhões, o negociador britânico David Davis afirmou que o Reino Unido não teria nada a pagar caso saísse do bloco sem