XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
IMPLEMENTAÇÃO DE UM ROBÔ SIMULADO CONTROLADO POR UMA REDE DE
NEURÔNIOS PULSANTES PARAMETRIZADA POR MEIO DE UM ALGORITMO
GENÉTICO
Maria Clara Fernandes Cheng Shuen - mariaclaracheng@gmail.com
Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MG
30510-000 - Belo Horizonte, MG, Brasil
Dr. Bruno André Santos - bruno@decom.cefetmg.br
Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MG
30510-000 - Belo Horizonte, MG, Brasil
Dr. Rogério Martins Gomes - rogerio@decom.cefetmg.br
Centro Federal de Educação Tecnológica de Minas Gerais – CEFET-MG
30510-000 - Belo Horizonte, MG, Brasil
Resumo.Este trabalho apresenta o desenvolvimento de um robô simulado controlado por uma rede
de neurônios pulsantes parametrizada por meio de algoritmos genéticos. A tarefa do robô é moverse no ambiente em direção a um objeto. É escolhido o modelo computacional de neurônio pulsante
proposto por Izhikevich por ser eficiente computacionalmente e representar com acurácia a dinâmica de neurônios reais. Parâmetros da rede - matriz de ligação dos neurônios, peso dos sensores
e peso dos motores - são otimizados por meio do algoritmo genético Microbial. Com 10 neurônios,
sendo dois conectados aos sensores, e os demais aos motores, e após cerca de 2000 torneios do
algoritmo genético, o agente obtém um fitness de 0.92, movendo-se em direção ao objeto com sucesso a partir de diferentes posições no ambiente. Apesar de ser relativamente simples, o modelo
computacional aqui proposto é uma versão inicial de modelos mais complexos que se pretende
construir e que poderão ser utilizados para estudar dinâmicas oscilatórias neurais na geração de
coordenações sensório-motoras.
Palavras-chave: Robótica evolucionária, Rede de neurônios pulsantes, Algoritmo Microbial, Izhikevich
Os autores agradecem o suporte financeiro do Centro Federal de Educação Tecnológica de
Minas Gerais.
1.
INTRODUÇÃO
A robótica evolucionária é técnica relativamente nova, utilizada na criação automática de robôs
autônomos. Inspirada pelo princípio darwinista da reprodução seletiva do mais apto, ela vê os
robôs como organismos artificiais autônomos que desenvolvem suas próprias habilidades em estreita interação com o meio ambiente e sem a intervenção humana. A robótica evolucionária, ou
evolucionary robotics (ER), tem ganhado espaço desde o início da década de 90 devido a estudos
baseados na teoria da evolução darwiniana para o projeto de robôs ou agentes simulados [9]. A
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
ER tem sido utilizada no desenvolvimento de modelos computacionais que buscam entender como
comportamentos funcionais são gerados a partir da dinâmica de sistemas neurais [7, 1, 4, 5, 6].
Santos et al. [5], por exemplo, desenvolveram um modelo de um agente computacional capaz
de realizar fototaxia e analisaram como a dinâmica metaestável das oscilações neurais são moduladas e modulam a dinâmica comportamental do agente. Eles mostraram que a modulação dos
sensores pelos motores é essencial para a rede neural convergir para um padrão estável e funcional de oscilações neurais. Moioli et al. [4] modelaram um agente com capacidade de apresentar
os comportamentos de aproximar-se ou afastar-se de um objeto de acordo com sua forma (círculo
ou losango). Eles estudaram o papel da sincronização neural no desempenho comportamental do
agente. Fernandez-Leon [1] desenvolveu um agente executando uma tarefa de percepção categórica e analisou a robustez do comportamento do agente quando gerado por controladores neurais
monoestáveis e biestáveis. Esses trabalhos ilustram o uso da robótica evolucionária no estudo de
sistemas neurais gerando coordenações sensório-motoras.
Similarmente, este trabalho utiliza a fundamentação de robótica evolucionária para desenvolver um modelo computacional que poderá ser utilizado no estudo de dinâmicas neurais gerando
comportamentos sensório-motores. Particularmente, será apresentado um modelo computacional
de um robô controlado por uma rede neural de neurônios pulsantes [2]. O comportamento desejado
do robô é mover-se em direção a um objeto posicionado no centro de um ambiente simulado de 2
dimensões. Os parâmetros do modelo, tais como os pesos das conexões entre os neurônios da rede,
serão otimizados por meio de um algoritmo genético.
Neste trabalho não se pretende fazer uma análise de como a dinâmica neural gera o comportamento do robô. O objetivo é desenvolver uma plataforma computacional que servirá de base
para estudos mais detalhados de dinâmicas neurais mais complexas, conforme será argumentado
na seção de Discussões.
Antes de apresentar o modelo computacional desenvolvido, na próxima seção será apresentado
o modelo de neurônio pulsante proposto por Izhikevich [2] o qual será implementado como unidade
básica do controlador do robô.
2.
Neurônios pulsantes
Izhikevich [2] propos um modelo computacional de neurônios pulsantes que representa satisfatoriamente a dinâmica de neurônios biológicos com boa eficiência computacional. O modelo
contém alguns parâmetros que, quando combinados, resultam em vários padrões de pulsos. O
modelo é descrito pelas equações diferenciais representadas em Eq. 1, 2 e 3.
v ′ = 0.04v 2 + 5v + 140 − u + I
(1)
u′ = a(bv − u)
(2)
{
Se v ≥ 30mV , então
v←c
u←u+d
(3)
Onde a variável v representa o potencial de membrana do neurônio; a variável u representa a
recuperação da membrana; o parâmetro a descreve a escala de tempo da variável de recuperação
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
u (valores menores resultam em recuperação mais lenta); o parâmetro b representa a sensibilidade
de u em relação a v; o parâmetro c é o valor dado a v após um pulso; o parâmetro d trata do valor
atribuído a u após um pulso; e a variável I representa os estímulos recebidos pelo neurônio. Após o
pulso atingir o ápice de 30 mV, as variáveis v e u são recalculadas conforme a Eq. 3. A combinação
dos parâmetros a, b, c e d resulta em diferentes padrões de pulsos, como visto em Izhikevich [3].
Na próxima seção será visto como este modelo de neurônio foi utilizado para controlar o robô,
e como os parâmetros do controlador foram otimizados.
3.
Modelo Computacional
3.1 Robô e ambiente simulados
O modelo computacional desenvolvido consiste em um robô simulado se movendo em um
ambiente bidimensional. O robô possui um formato circular, com 2 sensores e 2 motores, como
mostra a Fig. 1, e sua tarefa é se aproximar de um objeto localizado no centro do ambiente. O raio
do robô é de 1.25 u. m. (unidade de medida), e o raio da roda, 0.375 u. m. O ângulo dos sensores
refere-se a posição dos mesmos em relação ao ângulo zero (frente do robô). Os sensores estão
localizados nas extremidades esquerda e direita do robô, ou seja, nos ângulos (-π/2), para o sensor
1, e (π/2) para o sensor 2. O robô é controlado por uma rede de neurônios pulsantes baseada no
modelo de Izhikevich [2]. Para obter um comportamento adequado do robô (aproximar do objeto),
os parâmetros do modelo foram ajustados por meio de um algoritmo genético.
Figura 1: Desenho esquemático do robô. O robô possui dois sensores e dois motores posicionados no
mesmo eixo horizontal.
3.2 Controlador
O controlador do robô consiste em uma rede formada 10 neurônios pulsantes. A rede foi
divida em dois grupos simétricos de 5 neurônios cada, como mostra a Figura 2. Cada sensor
está conectado a um único neurônio de cada grupo (neurônios 0 e 5, respectivamente). Os quatro
neurônios restantes em cada grupo estão conectados aos motores. Dessa forma, o grupo neuronal
1 recebe dados do sensor 1 e controla o motor 1; e o grupo neuronal 2 recebe dados do sensor 2 e
controla o motor 2.
Os neurônios ligados aos sensores são tipo Class 1 Excitable, pois esta classe de neurônios
tem a frequência de pulsos aumentada conforme a entrada cresce continuamente (Fig. 3). Este tipo
de dinâmica é útil para detectar a distância entre o sensor e o objeto. Os parâmetros deste tipo de
neurônio valem: a = 0.02, b = -0.1, c = -55 e d = 6.
Os neurônios ligados aos motores são da classe Resonator porque, como visto na Fig. 4,
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
Figura 2: Esquema da rede, juntamente com os sensores e motores.
os pulsos são gerados de acordo com entradas degrau fornecidas, o que favorece que ele tenha
neurônios pré-sinápticos. O nome Resonator é devido ao fato de que esse neurônio responde a
entradas com frequencias similares (ou ressonantes) a oscilações de subthreshold (ou subliminares)
[3]. Nesta classe de neurônio, os parâmetros a, b, c e d valem, respectivamente, 0.1, 0.26, -60 e -1.
A leitura obtida pelos sensores é equivalente à distância euclidiana entre cada um deles e o
objeto no ambiente. Tal distância é multiplicada por um parâmetro específico, que será evoluído
pelo algoritmo genético. A diferença de ativação entre os sensores é essencial para rede identificar
a posição do objeto e, desta maneira, controlar o comportamento do robô.
Para a conversão dos pulsos dos neurônios para os motores, foi utilizado o mecanismo de uma
janela deslizante, o qual contabiliza o número de spikes de 4 neurônios em cada grupo respectivamente (neurônios 1-4 do grupo 1 e neurônios 6-9 do grupo 2) nas últimas 100 iterações da rede, e
envia para cada motor, conforme apresentado no esquema da Fig. 2.
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
Figura 3: Class 1 Excitable
Figura 4: Resonator.
3.3 Otimização dos parâmetros: algoritmo genético.
Para otimização dos parâmetros do modelo foi utilizado o algoritmo genético Microbial [10].
Os cromossomos, ou elementos evoluídos com o algoritmo genético, foram:
• A matriz de ligação entre os neurônios. Os elementos da matriz de ligação entre os neurônios
foram gerados na faixa de 0 a 10, a partir da qual o algoritmo genético fez sua busca. No
caso da matriz, cada gene é um número da matriz.
• O peso dos sensores. O peso dos sensores foi gerado entre 2.5 e 10.
• O peso dos motores. O peso dos motores foi variado entre 0 e 50.
O cruzamento entre os indivíduos foi realizado recebendo um gene do vencedor com a taxa de
60%. A mutação foi feita através da soma ou subtração de um certo valor nos genes, respeitando-se
os limites superiores e inferiores de cada um. Foram mutados 5% dos indivíduos. O tamanho da
população foi de 100, e o número de torneios foi de 2000.
Cada agente selecionado para participar dos torneios realizou 8 provas (trials). Cada prova
durou 20000 iterações da rede de Izhikevich. Como o passo de integração do modelo foi de 0.001,
cada prova corresponde a 20 segundos (tempo de vida do robô). Em cada prova, o robô foi posicionado em diferentes posições ângulos e em relação ao objeto. Os ângulos foram variados aleatoriamente entre 0 e 2 π radianos, sendo que o ângulo 0 equivale ao sentido direito do observador. Foi
mantida fixa apenas a distância inicial entre o objeto e o robô, a qual foi de 50 unidades. Ao final
de cada prova, calculava-se o fitness do agente e, em seguida, era obtida a média do fitness das oito
provas. O cálculo do fitness foi feito da seguinte maneira:
f itness =
di − df
,
di
(4)
onde, di representa a distância inicial e df a distância final do robô ao objeto. Quando o robô
se afasta do objeto (ou seja, df > di), o valor fitness é zero. Assim, o melhor robô obtem fitness 1,
e o pior, 0. Não houve nenhuma razão específica para escolha do Microbial. Por ser um problema
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
relativamente simples (controlar o comportamento do robô para se aproximar de um objeto), outros
algorimos de otimização também poderiam ser utilizados.
Resumindo, o robô se move em um ambiente bidimensional por meio da ativação dos dois
motores, que são controlados pelos grupos de neurônios pulsantes, os quais, por sua vez, são estimulados pelos sensores. Tanto a ativação dos motores quanto a dos sensores são multiplicadas por
parâmetros específicos. Os valores desses parâmetros, assim como os pesos entre os neurônios da
rede, são otimizados por meio de um algoritmo genético.
Na próxima seção serão vistos os resultados obtidos com a utilização deste modelo de controle
e a otimização dos parâmetros do mesmo.
4.
RESULTADOS
Ao final dos 2000 torneios do algoritmo genético, o fitness do melhor indivíduo foi de 0.92,
e a média da população, 0.61. A Fig. 5 apresenta como o fitness do melhor indivíduo e o fitness
médio da população variam ao longo dos torneios. Inicialmente, o fitness do melhor indivíduo é de
0.77 e a média da população é 0.23. Após 200 torneios, o fitness do melhor indivíduo aumenta para
0.87 e a média da população para 0.35. Após aproximadamente 1300 torneios, o fitness do melhor
indivíduo se estabiliza em 0.92 e a média da população em torno de 0.63. O melhor indivíduo da
população foi escolhido para estudo das dinâmicas comportamental e interna.
Figura 5: Fitness do melhor indivíduo e da população (eixo Y) em relação ao torneio do algoritmo genético
(eixo X).
A Fig. 6 mostra o comportamento de 4 execuções (ou "trials", em inglês) do melhor robô obtido por meio do genético. Cada robô começou em uma posição e angulos aleatórios e se aproximou
do centro do ambiente onde o objeto estava localizado. Todos os robôs interagiram no ambiente
durante 20 segundos (correspondente a 20000 passos de integração da rede). As trajetórias de cada
robô no ambiente se diferem em suas formas devido às diferentes condições inicias dos robôs.
A Fig. 7 apresenta a distância euclidiana do robô ao objeto para 8 execuções (provas) de um
robô. Em cada execução, o robô é iniciado em uma posição e ângulos aleatórios. O gráfico mostra
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
Algumas trajetórias do melhor indivíduo
60
40
20
0
−20
−40
−60
−80
−60
−40
−20
0
20
40
Figura 6: Quatro execuções do melhor robô após a otimização dos parâmetros. O círculo representa onde
começou a trajetória do robô e o * representa o objeto.
apenas as 3000 primeiras iterações de um total de 20000. Após 1500 iterações, todos os robôs já
haviam se aproximado do objeto. No caso do sétimo robô (ver legenda do gráfico), inicialmente
ele se afasta do objeto e somente após 500 itearações é que ele vira e muda de direção. O motido
deste afastamento é que o robô inicia-se de “costas” para o objeto fazendo com que os sensores da
direita e da esquerda apresentem a mesma leitura e, consequentemente, não detectem de qual lado
o objeto se encontra. Somente após 500 iterações é que a diferença de ativação dos sensores se
torna grande o suficiente para que o robô detecte a posição do objeto e mude de direção.
Em todas as execuções realizadas, o robô se aproximou do centro e menor distância para o
objeto foi de 2.8 unidades. A média das distâncias finais nas provas foi de 4 unidades de medida.
Distâncias do robô até o objeto em cada prova
160
Primeira prova
Segunda prova
Terceira prova
Quarta prova
Quinta prova
Sexta prova
Sétima prova
Oitava prova
140
Distância
120
100
80
60
40
20
0
0
500
1000
1500
2000
2500
3000
3500
Tempo
Figura 7: Distâncias do robô ao objeto considerando 8 execuções (provas) do melhor indivíduo.
A Fig. 8 apresenta a ativação dos neurônios num intervalo de tempo, para o melhor indivíduo.
Nos últimos instantes, o robô está se aproximando do objeto, e o número de firings começa a
diminuir, pois a rede não precisa mais pulsar para ativar os motores. Devido a este mecanismo, a
partir de uma determinada distância do robô ao objeto, a rede para de pulsar, o que explica o robô
sempre parar de se mover a uma determinada distância.
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
9
8
7
Neurônio
6
5
4
3
2
1
0
950
1000
1050
1100
1150
1200
1250
1300
1350
1400
Iteração
Figura 8: Firings, ou ativação dos neurônios no tempo
Frequência (Hertz)
Por fim, a Fig. 9 exibe a frequência de disparos (firings) na janela de tempo, para cada grupo
neuronal, juntamente com a trajetória do robô no mesmo intervalo de tempo. Pode-se observar
que em uma parte do tempo o grupo 1 pulsa mais que o grupo 2, significando que o robô faz uma
curva em torno do motor 2 (motor da direita do robô). Quando o grupo 1 pulsa em frequências
similares à do grupo 2, significando que a diferença entre eles tende a zero, o robô tende a se
mover para a frente, em linha reta. Portanto, tal dinâmica neural pode ser percebida na dinâmica
do comportamento do robô, como mostram as figuras.
Frequência média de cada grupo neuronal x tempo
100
Grupo 1
Grupo 2
50
0
100
200
300
400
500
600
700
800
Tempo (ms)
Trajetória robô
20
0
−20
−60
−50
−40
−30
−20
−10
0
Figura 9: Frequência de disparos na janela de tempo, para cada grupo neuronal, e trajetória do robô
Como exemplo, na Fig. 9 pode-se verificar que, aproximadamente no momento 280 ms, o
grupo neuronal 2 começa a ter mais pulsos que o grupo 1. Devido a isso, o robô começou a girar
para a direita, para ir em direção ao objeto, como mostra a figura da trajetória. Depois disso os
mesmos ficam por um tempo com o mesmo valor, para andar em linha reta, e depois as diferenças
surgem novamente, até o robô aproximar-se finalmente do objeto.
A próxima seção apresenta uma discussão dos resultados apresentados.
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
5.
DISCUSSÃO E CONCLUSÃO
Neste trabalho, foi criada uma rede de neurônios pulsantes baseado no modelo de Izhikevich
[2] com o objetivo de controlar um robô simulado computacionalmente. Seus parâmetros foram
evoluídos através do algoritmo genético microbial. Com 10 neurônios, sendo dois conectados aos
sensores, e os demais aos motores, e após cerca de 2000 torneios, o agente apresentou um fitness
de 0.92. Assim, o robô move-se em direção ao objeto com sucesso, de forma robusta, a partir de
diferentes posições no ambiente. O controlador do robô foi modelado com apenas 10 neurônios
pois, como o tipo de comportamento desejado do robô é relativamente simples (aproximar de um
objeto no ambiente), seria desnecessário utilizar uma rede com muitos neurônios.
Durante o desenvolvimento deste trabalho, uma das dificuldades encontradas foi relacionada
à maneira de ligar os sensores à rede, e a mesma aos motores. Foi necessário utilizar um tipo de
neurônio (Class 1 Excitable) cuja dinâmica variasse em função da entrada contínua dos sensores.
Já os motores, tiveram que ser controlados pela taxa de disparos do grupo neuronal dentro de uma
janela de tempo deslizante de tamanho 100 – correspondente a 100 iterações da rede. Inicialmente,
o objetivo era controlar os motores por meio de uma função que variasse de acordo com o tempo de
disparo entre os neurônios do grupo neuronal. Desta forma, um grupo sincronizado, por exemplo,
poderia gerar um sinal de intensidade máxima para os motores, enquanto que um grupo totalmente
desincronizado poderia gerar um sinal nulo. Como este tipo de função possui uma complexidade
um pouco maior, em termos de modelagem e implementação, e como o modelo utilizando a taxa de
disparos já apresentava inúmeras outras variáveis que tinham que ser otimizadas, optou-se por um
modelo um pouco mais simplificado para controlar os motores. Como trabalho futuro, pretende-se
utilizar o nível de sincronia entre os neurônios para controlar os motores.
Também houve dificuldades em como estruturar a rede internamente, quais tipos de neurônios utilizar, e quais seriam ligados aos sensores (pré-sinápticos) e aos motores (pós-sinápticos).
Além disso, foi necessário estudar os espaços de busca a fim de aplicar corretamente o algoritmo
genético. Os espaços de busca foram definidos analisando a dinâmica da rede individualmente e
o comportamento do robô no ambiente. Nas primeiras rodadas do algoritmo genético, por exemplo, observou-se que o intervalo de busca dos pesos sinápticos estava abaixo do necessário para
informação ser transferida dos sensores para os motores, por meio da rede.
Apesar de ter sido utilizado o algoritmo genético para evoluir os parâmetros, o robô já apresentava um comportamento relativamente adequado mesmo antes da evolução, conforme medido pelo
fitness em torno de 0.77 apresentado na Fig. 5. A justificativa para isto é que modelo foi projetado
de tal forma que a aproximação do robô ao objeto era algo já esperado. Cada motor é controlado
por redes simétricas estimuladas pelos sensores da direita e da esquerda, respectivamente. Então,
quando o valor do sensor 1 é maior (ou seja, a distância do sensor 1 para o objeto é maior), o
número de spikes do grupo 1 é também mais elevado. Desta forma, o motor 1 tem uma velocidade
maior do que o motor 2, e o robô faz uma curva para o lado do grupo 2 (que é o lado mais próximo
do objeto naquele momento). Esta maneira de ligar os sensores aos grupos neurais e estes aos
motores, faz com que o sistema sempre busque um equilíbrio nas ativações dos grupos neuronais
1 e 2. Toda vez em que ocorre um desequilíbrio, o grupo com maior taxa de disparos faz com que
o robô se rotacione de tal forma que o equilíbrio seja reestabelecido. Apesar de já ser esperado
um comportamento adequado do robô devido a forma como foi projetado, o algoritmo genético foi
essencial para realizar um ajuste fino no comportamento do robô.
É importante ressaltar que o modelo computacional apresentado neste trabalho é uma versão
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
inicial de um modelo mais complexo que se pretende desenvolver. O próximo passo deste trabalho
é deixar de utilizar as redes simétricas no controlador do robô tornando, desta forma, o uso do algoritmo genético essencial para otimização dos parâmetros. O desenvolvimento futuro deste trabalho
poderá contribuir para o entendimento de sistemas cognitivos, particularmente para o estudo de
mecanismos gerativos de coordenações sensório motoras funcionais, dinâmicas de neurônios pulsantes, dinâmica informacional em redes oscilatórias, relevância causal dos componentes oscilatórios do sistema na geração de comportamentos, relação entre dinâmica neural e comportamentos
no ambiente, mecanismos neurais de percepção, adaptação e memória. Poderá contribuir também
para o desenvolvimento de controladores para robôs reais. Ou seja, esse estudo poderá contribuir
tanto para a área de inteligência artificial, como na área de robótica, e até mesmo na Psicologia
e Biologia, através da reprodução de fenômenos psicológicos e desenvolvimento de redes neurais
artificiais inspiradas em redes neurais biológicas.
O objetivo deste trabalho, que foi desenvolver um robô simulado controlado por uma rede
neural de neurônios pulsantes com parâmetros evoluídos por um algoritmo genético, foi obtido, e
de maneira satisfatória. O modelo aqui apresentado servirá como base para elaboração de modelos
mais complexos e, consequentemente, para o estudo de redes de neurônios pulsantes controlando
dinâmicas de coordenações sensório-motoras.
Referências
[1] Fernandez-Leon, Jose A., 2011. Evolving cognitive-behavioural dependencies in situated
agents for behavioural robustness. Biosystems, vol. 106, n. 2-3, pp. 94–110.
[2] Eugene M. Izhikevich, 2003. Simple model of spiking neurons.
Networks, vol. 14, n. 6, pp. 1569–1572.
IEEE Trans. Neural
[3] Eugene M. Izhikevich, 2004. Simple model of spiking neurons.
Networks, vol. 15 n. 5, pp. 1063–1070.
IEEE Trans. Neural
[4] Moioli, Renan C. and Vargas, Patrícia Amâncio and Husbands, Phil, 2012. Synchronisation
effects on the behavioural performance and information dynamics of a simulated minimally
cognitive robotic agent. Biosystems, vol. 106, n. 6-7, pp. 407–427.
[5] Santos, Bruno A. and Barandiaran, Xabier E. and Husbands, Philip and Aguilera, Miguel and
Bedia, Manuel Glez, 2012. Sensorimotor coordination and metastability in a situated HKB
model. Connect. Sci., vol. 24, n. 4, pp. 143–161.
[6] Agmon, E. and Beer, R. D. 2014. The evolution and analysis of action switching in embodied
agents Adaptive Behavior, vol. 22, n. 1, pp. 3–20.
[7] Hagras, H., Pounds-cornish, A., Colley, M., Callaghan, V., Clarke, G., 2004. Evolving Spiking Neural Network Controllers for Autonomous Robots Proceedings of the 2004 IEEE
International Conference on Robotics and Automation, pp. 4620–4626.
[8] Floreano D., Nolfi S., Mondada F. 1998. Competitive Co-Evolutionary Robotics: From Theory to Practice. MIT Press
[9] Harvey, I., Di Paolo, E., Rachel W., Matt Q., Elio T., Elio T. Evolutionary robotics: A new
scientific tool for studying cognition MIT Press, vol. 11, n. 1-2, pp. 79–98.
XVII Encontro de Modelagem Computacional
V Encontro Ciência e Tecnologia de Materiais
Universidade Católica de Petrópolis (UCP), Petrópolis/RJ, Brasil. 15-17 out. 2014
[10] Harvey, Inman Artificial Evolution: A Continuing SAGA Springer, vol. 2217, pp. 94–109.
IMPLEMENTATION OF A SIMULATED ROBOT CONTROLLED BY A SPIKING NEURON
NETWORK PARAMETERIZED BY A GENETIC ALGORITHM
Abstract. This work aims to develop a simulated robot, controlled by a spiking neural network,
parameterized by genetic algorithms. Its task is to move to a certain object. The Izhikevich computacional model was chosen, due to its simplicity and computational efficiency, in addition to it
representing with accuracy, from the biological view, a spiking neural network. There is a research
for methods to connect the network with the two robot sensors and motors, and the robot had a
circular format. Network parameters - neuron connectivity matrix, sensors and motors weight - are
tuned with the Microbial genetic algorithm, which is simple and efficient, like the network. With 10
neurons, being two connected to the sensors, and the others to the motors, and after 2000 tournaments, the agent gets a fitness of 92%. This way, the robot successfully goes to the object, starting
from different positions in the environment.
Palavras-chave: Evolucionary robotics, Spiking neural network, Microbial algorithm, Izhikevich
Download

355 - Programa de Pós-Graduação em Modelagem Computacional