Anda di halaman 1dari 86

Mapa Auto-Organizvel para Controle e

Gerenciamento de Locomoo Artificial.


Por

Orivaldo Vieira de Santana Jnior


Dissertao de Mestrado

Universidade Federal de Pernambuco


posgraduacao@cin.ufpe.br

www.cin.ufpe.br/~posgraduacao

Recife, Agosto/2010

Universidade Federal de Pernambuco


Centro de Informtica
Ps-graduao em Cincia da Computao

Orivaldo Vieira de Santana Jnior

Mapa Auto-Organizvel para Controle e


Gerenciamento de Locomoo Artificial.

Trabalho apresentado ao Programa de Ps-graduao em


Cincia da Computao do Centro de Informtica da Universidade Federal de Pernambuco como requisito parcial para
obteno do grau de Mestre em Cincia da Computao.

Orientador: Aluizio Fausto Ribeiro Arajo

Recife, Agosto/2010

Eu dedico esta dissertao aos meus pais como fruto do


investimento em minha educao.

Agradecimentos
Agradeo ao meu orientador, Aluzio Arajo, pela presena constante, pelo apoio,
pelo incentivo, por ter sido de fato um guia em todos os momentos da execuo deste
trabalho, sem ele este trabalho no teria sido realizado.
A minha me, Girlde Santana, pelo amor de me que se fazer presente mesmo
a centenas de quilmetros de distncia. Ao meu pai, Orivaldo Santana, por ter dado
incio ao meu processo de formao educacional. A minha irm simplesmente por
fazer parte da minha vida e do meu processo de formao como pessoa.
Aos meus tios, Jos Maria, Orlando, Osvaldino, Olderico, aos meus primos Fabrcio
e Aise Anne, aos membros da famlia aqui no citados por estarem disponveis para
ajudar em qualquer momento.
Aos amigos que fiz em Pernambuco, Andr Tiba, Hansenclever, Flvia, Davi, Miguel
e todos os outros aqui no citados, pela horas compartilhadas de trabalho e diverso.
Os professores do Centro de Informtica que contriburam para minha formao no
mestrado.
A toda minha famlia e amigos que direta ou indiretamente contriburam para a
realizao do mestrado.
Aos membros da banca pela contribuies na verso final desta dissertao.

iv

Resumo

Este trabalho esta situado na rea de controle e gerenciamento de locomoo de robs


com membros e apresenta um novo modelo de rede neural, o STRAGIC (Gerador
de Trajetrias de Estados com Inter-Conexes), bem como outros modelos de redes
neurais aplicadas a este domnio do conhecimento. O STRAGIC foi projetado a partir
do STRAGEN, um mapa auto-organizvel de topologia varivel. O STRAGIC controla
a locomoo do rob por meio de uma trajetria de estados que descreve a postura do
rob em intervalos regulares de tempo. Alguns ambientes de teste foram elaborados
para verificar a capacidade do STRAGIC em: controlar o rob com um determinado
modo de locomoo; controlar o rob a partir de dados ruidosos; controlar o rob a
partir de uma base de dados com estados de diferentes trajetrias; gerenciar a transio
entre modos de locomoo; e por fim extrair trajetrias de estados a partir da locomoo
de um animal real. Alm disso, faz um estudo de dois parmetros importantes do
STRAGEN.
Palavras-chave: Gerador Central de Padres, CPG, Redes Neurais, Mapas AutoOrganizveis, Robs com Membros, Locomoo.

Abstract

This work is placed within the area of Control and Management of Legged Robots
locomotion and presents a new model of neural networks: the STRAGIC (States
Trajectories Generator with Inter-Connection) as well as others models and neural
networks applied to this knowledge domain. The STRAGIC was designed from the
STRAGEN that is a self-organized map of variable topology. The STRAGIC controls the
robots locomotion by the states trajectories that describe robots posture in regular intervals of time. Some environments of test were made to verify the STRAGICs capacity
to: control the robot with a determined locomotion mode; control the robot with noisy
data; control the robot from a database with states of different trajectories; manage
transitions between gaits; and finally extract states trajectories from the locomotion of
a real animal. Furthermore, studies two important parameters of the STRAGIC.
Keywords: CPG, Central Pattern Generator, Neural Networks, Self-Organized Maps,
Legged Robots, Locomotion

vi

Sumrio

vii

Lista de Figuras

viii

Lista de Tabelas

ix

Lista de Acrnimos

CCMT Componente Construtor de Mapa Topolgico.


CNN Rede Neural No-linear Celular.
CPG Gerador Central de Padres.
DTW Comparador Dinmico no Tempo (Dynamic Time Warping).
GCS Estruturas Celulares Crescentes (Growing Cells Structures).
GNG Gs Neural Crescente (Growing Neural Gas)
GWR Cresce Quando Necessrio (Grow When Required).
MCL Mdulo Controle de Locomoo.
MGL Mdulo Gerenciamento de Locomoo.
MLR Regio Locomotora Mesenceflica (Mesencephalic Locomotor Region).
NASA Administrao Nacional do Espao e da Aeronutica (National Aeronautics and
Space Administration).
SOM Mapa Auto-Organizvel (Self-Organizing Map).
STRAGEN Gerador de Trajetrias de Estados (State Trajectories Generator).
STRAGIC Gerador de Trajetrias de Estados com Interconexes (State Trajectories
Generator with Interconections).

1
Introduo

Os robs so utilizados com bastante sucesso na produo industrial. Em uma linha de


montagem de uma fbrica, um brao robtico pode mover se com grande velocidade e
preciso para executar tarefas repetitivas como pintar e soldar, Figura ??. De acordo
com ?), apesar do sucesso de aplicao na indstria o espao fsico de ao de um brao
robtico limitado, pois este tipo de rob fica preso em uma determinada posio na
fbrica.
Figura 1.1: Rob manipulador industrial (KUKA).
A caracterstica marcante dos robs mveis justamente a sua capacidade de locomoo por um ambiente. No entanto, robs com membros possuem maior capacidade
de adaptar-se a terrenos diversos. Embora o controle de robs caminhantes seja mais
complexo do que o de mquinas com rodas. Na natureza, de acordo com ?), a locomoo com patas a forma mais comum dos animais deslocarem-se por diversos tipos
de terrenos. Por esta razo, solues biologicamente inspiradas frequentemente so
adotadas para construir robs com membros.
Os robs mveis podem ser aplicados em diversas tarefas tais como guia turstico,
defesa nacional, explorao de recursos, explorao subaqutica, desarmamento de
bomba, busca de sobreviventes em escombros (?). ?) apresentam um rob com rodas
utilizado para a inspeo de dutos de ar e tambm um rob guia de turismo capaz de
interagir com pessoas e apresentar exposies de uma forma educativa. Um exemplo
de rob de seis membros apresentado por ?) para a deteco de minas terrestres,
Figura ??. ?) construram um rob biologicamente inspirado na lagosta para reconhecer
mudanas na gua do mar, localizar e desarmar minas subaquticas, Figura ??.
Este trabalho faz um estudo de tcnicas que utilizam redes neurais no controle
de locomoo de robs com membros inferiores e prope uma abordagem baseada

Figura 1.2:
Rob para detectar minas terrestres (imagem
http://www.iai.csic.es/users/silo6/SILO6_WalkingRobot.htm).

obtida

em

Figura 1.3: Rob biologicamente inspirado na lagosta para localizar minas subaquticas.
em um mapa auto-organizvel para o controle de locomoo robs com membros.
As abordagens mais citadas na literatura para o controle de locomoo de robs com
membros so biologicamente inspiradas em um circuito neural chamado de Gerador
Central de Padres (CPG) (?). Um CPG composto de osciladores neurais que produz
padres (sinais) repetitivos envidados para os msculos dos membros do animal. Como
os osciladores do CPG atuam sincronizadamente, os msculos so ativados de maneira
sincronizada e rtmica provocando o deslocamento do animal. Normalmente um CPG
modelado matemtica atravs de equaes diferenciais, mais especificamente com
equaes de osciladores no-lineares (??). Este tipo de modelagem implica em ajustar
um conjunto de parmetros ou at mesmo modificar equaes para produzir o controle
de locomoo desejado.
A abordagem proposta, chamada de STRAGIC (Gerador de Trajetrias de Estados
com Interconexes), possui algumas caractersticas extradas dos CPGs. So elas:
executar a transio entre velocidades de deslocamento do rob atravs de um simples
comando. No CPG este comando um sinal vindo do tronco cerebral; os sinais de sada
gerados so sincronizados e rtmicos, assim como nos CPGs. A abordagem proposta
neste trabalho inovadora, pois no foi encontrado nenhum registro na literatura de
abordagens semelhantes para robs caminhantes.
O mapa auto-organizvel escolhido foi o STRAGEN (?), pois entre alguns mapas
auto-organizveis de topologia varivel, o STRAGEN foi aplicado com sucesso a um
problema semelhante, o controle de manipuladores robticos. Os dados fornecidos
ao modelo proposto so obtidos de um rob simulado ou um animal real, mas sem
considerar informaes cronolgicas. Estes dados so organizados de maneira autnoma pela rede gerando uma estrutura semelhante a um grafo. Cada neurnio da
rede considerado um n e possui um estado contendo informaes relacionadas ao
posicionamento dos membros.
O controle de locomoo consiste basicamente em construir uma trajetria de estados e utilizar as informaes contidas nos estados para determinar o posicionamento
dos membros do rob durante a locomoo. De maneira simplificada, a abordagem
proposta captura informaes da locomoo de um agente externo, gera uma representao interna e utiliza este representao interna para controlar o rob. O agente

externo pode ser um rob ou animal real e o rob controlado pela abordagem proposta
precisa ser o mais similar possvel ao agente externo.
Este trabalho tem como principal objetivo propor e implementar um modelo para
controle de locomoo de um rob com membros inferiores. O modelo deve tomar
como base um mapa auto-organizvel. Os objetivos especficos podem ser definidos a
seguir:
Investigar a aplicabilidade de modelos de redes neurais baseados em Mapas
Auto-Organizveis (SOM Self-Organizing Maps), derivando adaptaes ou novos
modelos segundo as necessidades inerentes ao problema;
Montar um ambiente de simulao;
Desenvolver mecanismos de simulao e testes para a avaliao do modelo
proposto;
Verificar a capacidade do modelo em gerar os mesmos sinais de sada de um CPG
e gerenciar a mudana de velocidade;
Investigar a capacidade do modelo proposto em lidar com dados extrados da
locomoo de um animal real.
Uma contribuio relevante deste trabalho a proposio de um modelo para o
controle de locomoo de robs articulados baseado em uma abordagem inovadora. A
principal caracterstica desta nova abordagem construir de maneira autnoma um
mecanismo de controle a partir de dados extrados da locomoo de um agente externo,
seja este agente um rob ou um animal real. O modelo tambm capaz de lidar com
dados ruidosos. A autonomia do modelo ocorre por meio da utilizao de uma mapa
auto-organizvel de topologia varivel. Alm disso, a proposta do modelo inclui um
mecanismo para a transio entre diferentes modos de locomoo.
Os experimentos esto divididos em duas partes, uma para dados artificiais extrados de uma locomoo artificial e outra com dados reais. Os dados artificiais foram
gerados para um rob hexpode (com seis pernas) controlado com o algoritmo de ?).
As seguintes questes so consideradas nos experimentos com dados artificiais:
O controle de locomoo e gerenciamento da transio entre modos de locomoo
de um determinando rob hexpode;
Um estudo paramtrico do STRAGIC (Gerador de Trajetrias de Estados com
Interconexes) analisando dois dos seus parmetros, denominados de limiar de

atividade e o fator de poda. O limiar de atividade influencia na quantidade de


neurnios presentes na rede produzida pelo STRAGIC e o fator de poda influencia
na quantidade de conexes;
A capacidade do modelo proposto em gerar uma trajetria de estados para
controlar um determinado modo de locomoo;
Testar a capacidade do modelo em diferenciar alguns modos de locomoo. Para
tanto, dados relativos aos trs modos de locomoo foram armazenados em uma
s base de dados de forma aleatria, sem informao das sequncias dos estados
em cada trajetria;
Comportamento do modelo diante de dados ruidosos;
O gerenciamento da transio entre modos de locomoo. A situao proposta
para avaliar esta questo foi colocar em uma nica base de dados de estados dos
trs modos de locomoo (lento, mdio e rpido). Assim, o modelo teria que
automaticamente identificar a qual trajetria um dado estado pertence, montar
esta trajetria e as transies entre diferentes trajetrias.
A capacidade do modelo em lidar com dados obtidos a partir da locomoo de
um animal real. Os dados sobre a locomoo foram extrados de um vdeo de um
cachorro de mdio porte, obtido no youtube1 .
Esta dissertao est organizada da seguinte maneira, o Captulo ?? caracteriza a
locomoo em animais e robs com membros, faz um contextualizao entre CPGs
e controle de locomoo alm de relacionar o controle de locomoo com trajetrias
de estados. O Captulo ??, em essncia, faz um estudo da abordagem biologicamente
inspirada e da abordagem baseada na CNN (Rede Neural No-linear Celular) para
o controle de locomoo. Antes de propor a soluo do problema no Captulo ?? o
Captulo ?? descreve os mapas auto-organizveis mais relevantes para a proposio do
STRAGEN, base para o STRAGIC. Os experimentos esto descritos no Captulo ??. A
concluso e os trabalhos futuros esto presentes no Captulo ??.

1 http://www.youtube.com/watch?v=-StFMBw3W-U

2
Descrio do Problema

A robtica, um campo relativamente recente da tecnologia moderna, ultrapassa as fronteiras da engenharia tradicional. Entender a complexidade dos robs e suas aplicaes
requer conhecimento em engenharia eltrica, engenharia mecnica, cincia da computao, matemtica etc. O termo rob aplicado a uma grande variedade de dispositivos
mecnicos possuidores de algum grau de autonomia, podendo ser teleoperados (?).
Os robs geralmente so projetados para realizar algum tipo de trabalho, por
exemplo, manipulao industrial. O uso da robtica oferece diversas vantagens, como
a diminuio do custo do trabalho, aumento da preciso e produtividade. Os robs
geralmente so utilizados em trabalhos nos quais o ser humano submetido a condies
montonas, repetitivas ou perigosas. A robtica no aplicada somente na indstria,
mas em reas onde o uso de humanos impraticvel ou indesejado, como: a explorao
do fundo do mar ou de outro planeta; reparo ou resgate de satlite; desarmamento
de dispositivos explosivos e trabalho em ambiente radioativo (?). Eles so aplicados
tambm em reas onde a comercializao de robs vivel, como: polimento no cho;
vigilncia de uma fbrica; corte de grama; passeios em um museu; orientaes em um
supermercado (?).
Em ambientes hostis, perigosos ou inabitveis, a aplicao de sistemas teleoperados torna-se cada vez mais comum. Para explorar a superfcie de Marte, a NASA
(Administrao Nacional do Espao e da Aeronutica National Aeronautics and Space
Administration ) utilizou um rob em modo teleoperado (Controlado a partir da Terra),
Figura ??. A Plustech desenvolveu um rob caminhante para carregar madeira para
fora da floresta, Figura ??, onde a navegao feita por um operador dentro do rob
e a coordenao entre pernas automtica (?). Um exemplo de rob semi-autnomo
capaz de navegar de maneira independente ou teleoperada no ambiente o rob de
seis membros proposto por ?) para a deteco de minas terrestres.

Figura 2.1: Rob mvel Sojourner usado pela NASA durante a misso de explorao
de Marte em 1997.
Figura 2.2: Rob caminhante projetado pela Plustech.
Em robs teleoperados, a complexidade por trs do mecanismo de controle de locomoo geralmente torna impossvel para o operador humano controlar o deslocamento
do rob. O homem executa as atividades cognitivas e de localizao, mas depende do
esquema de controle interno do rob para conduzir sua locomoo (?).
Segundo ?), o controle de locomoo, bem como a reproduo de um determinado
modo de locomoo, em um rob cujos membros inferiores possuam mltiplos graus
de liberdade um problema complexo e desafiador . Algumas das abordagens mais
comuns (??????) para resolver o problema de locomoo de robs com membros
inferiores esto relacionadas ao CPG (Central Pattern Generator). O CPG controla o
movimento peridico executado por cada membro, bem como o sincronismo entre
membros. Sob o ponto de vista da biologia, um CPG um circuito neural capaz de
produzir sinais neurais rtmicos sem receber estmulos rtmicos. Este circuito neural,
constitudo de osciladores neurais, encontrado principalmente na medula espinhal de
animais vertebrados durante a locomoo produz descargas peridicas de impulsos
nervosos. Estes impulsos ativam os motoneurnios produzindo sequncias alternadas
entre flexo e extenso em vrios msculos de um membro.
As caractersticas dos sinais gerados pelo CPG influenciam o movimento de cada
membro. Considerando que o CPG composto de osciladores e que o movimento de
uma articulao controlado por um conjunto de osciladores, as oscilaes geradas
influenciam diretamente o movimento da articulao. Logo, caractersticas como,
frequncia, amplitude e formas dos sinais gerados modulam o movimento de cada
articulao, influenciam na eficincia do controle motor, consequentemente, no modo
de locomoo resultante (?).
Em animais, um determinado modo de locomoo caracterizado pelo ciclo de
trabalho e pela fase relativa de cada membro. Um passo, isto , um ciclo de locomoo
do membro, dividido em duas fases, uma chamada de apoio e outra de balano.
?) caracterizam a fase de apoio pelo contato do membro com o cho e a fase de
balano pelo membro livre no ar e sem contato com o cho. Em cada instante de
tempo, um determinado membro est em um posicionamento dentro da sequncia
de posicionamentos que compe o passo. Cada modo de locomoo tem sua prpria
maneira de posicionar os membros em cada instante. Logo, um modo de locomoo de

2.1. GERADOR CENTRAL DE PADRES - CPG

um ser articulado pode ser descrito como a movimentao coordenada dos membros,
isto , o momento e a localizao de apoiar e levantar cada p coordenados com o
movimento do corpo a fim de conduzir o corpo de um lugar a outro do espao. Um
modo de locomoo determina a velocidade e a direo da movimentao de um
animal ou rob caminhante (??).
?) descrevem alguns modos de locomoo de quadrpedes da seguinte forma: (i)
no modo de locomoo caminhada, cada membro atinge o cho um aps o outro, e o
intervalo entre cada descida de 1/4 do ciclo da durao de um passo; (ii) no modo
trote, os membros nos cantos diagonais do corpo trabalham sincronizadamente; (iii)
no galope leve, um p frontal e um p traseiro diagonal tocam o cho juntos; (iv) um
galope um modo de locomoo rpido no qual a sequncia de passadas acontece em
torno de um ciclo .
A locomoo de robs com pernas caracterizada por uma sequncia de pontos
de contato entre os membros do rob e cho. Durante a locomoo, uma parte dos
membros est em contato com o cho e a outra parte esta livre no ar. A principal
vantagem de um rob com membros a adaptabilidade e a capacidade de manobra em
terrenos irregulares. Pois apenas um conjunto de pontos de contato necessrio para
manter o rob equilibrado e deslocando-se, no importando as caracterstica do solo. O
rob apenas precisa manter os membros livres e distantes do solo de maneira que no
atrapalhe seu deslocamento. Alm disso, um rob caminhante capaz de atravessar
um buraco ou uma fenda enquanto seu corpo passa sobre o buraco (?).
Outra vantagem da locomoo com pernas o potencial de manipular habilidosamente objetos do ambiente. Um exemplo a locomoo do escaravelho, inseto capaz
de rolar uma bola com as patas traseiras enquanto locomove-se habilidosamente com
as patas frontais (?).
A principal desvantagem da locomoo com pernas inclui a complexidade mecnica
e energtica. A perna, que pode possuir vrios graus de liberdade, deve ser capaz de
sustentar uma parte do peso total do rob. Alm disso, alta capacidade de manobra
ser vivel apenas se as pernas possurem um nmero suficiente de graus de liberdade.

2.1

Gerador Central de Padres - CPG

Geradores centrais de padres (Central Pattern Generators CPGs) so circuitos neurais


encontrados tanto em animais vertebrados quanto em invertebrados que podem produzir padres rtmicos de atividades neurais de forma autnoma. Estes padres rtmicos
surgem atravs de interaes entre as unidades de processamento deste circuito neural

2.1. GERADOR CENTRAL DE PADRES - CPG

e produzem os padres motores responsveis pelo deslocamento animal. Assim, os


padres rtmicos tornam movimentos peridicos viveis, tais como andar em velocidade constante, mastigar, respirar e digerir. Neste circuito neural, a realimentao
sensorial (vinda do sistema nervoso perifrico) no necessria para gerar oscilaes
rtmicas. Nos animais vertebrados a medula espinhal quem faz o papel dos CPGs.
Embora a realimentao sensorial no seja necessria para gerar os sinais rtmicos, ela
exerce um papel muito importante na formao destes sinais rtmicos e na manuteno
da coordenao entre CPGs e os movimentos do corpo. A existncia dos CPGs j foi
demonstrada em muitos vertebrados tais como peixes, anfbios, gatos e humanos (????).
Um sinal eltrico simples o bastante para induzir uma mudana de comportamento no CPG. Em muitos animais vertebrados, estmulos eltricos vindos de uma
regio especfica no tronco cerebral chamada MLR (Regio Locomotora Mesenceflica
Mesencephalic Locomotor Region) provocam alteraes no comportamento locomotor. A
MLR, uma importante regio locomotora, possui vias de interligao com a Medula
Espinhal. A variao do estmulo aplicado ao CPG permite a modulao da velocidade
e da direo de locomoo. Nveis mais baixos de estmulos na MLR levam a movimentos lentos, e nveis mais altos de estmulos levam a movimentos rpidos. Como a MLR
divida em duas partes, direita e esquerda, ao aplicar nveis diferentes de estmulos na
MLR direita e esquerda a direo de locomoo alterada (??).
Outra questo tratada nos estudos sobre CPGs a integrao da realimentao
sensorial com controle de locomoo. Os sinais sensoriais proprioceptivos1 identificam
a postura e so muito importantes na locomoo de animais com patas. Fatores como
velocidade, carga e posio da perna fornecem impulsos sensoriais que afetam os CPGs.
Por exemplo, uma perna pode deslizar em uma superfcie molhada, representando
uma situao instvel para o sistema que dificilmente pode ser controlada por um
comando padro. Outra situao comportamental crtica para animais caminhantes
a falta repentina de apoio para os ps quando andando. Outro exemplo que ao
ultrapassar obstculos de vrios tipos e localizaes pode exigir um ajuste em tempo
real do padro motor. Assim, a realimentao sensorial modula a atividade do CPG
induzindo o rob a realizar uma locomoo mais estvel em um terreno complexo
(????).
Existem diferentes maneiras de aplicar algoritmos de aprendizagem e otimizao
aos CPGs. As abordagens basicamente so divididas em duas categorias: aprendizagem supervisionada e no-supervisionada. Tcnicas de aprendizagem supervisionada
1 Propriocepo

a capacidade de reconhecer a posio e o movimento dos membros do corpo.


Informaes estas, obtidas atravs da atividade de receptores localizados nos msculos.

2.1. GERADOR CENTRAL DE PADRES - CPG

so aplicadas quando um desejado padro rtmico produzido pelo CPG conhecido.


Tcnicas de aprendizagem no-supervisionada so usadas quando o comportamento
desejado do CPG no definido por um padro especfico, mas por um critrio de
desempenho de alto-nvel, por exemplo, mover o mais rpido possvel. Entre as
tcnicas de aprendizagem no-supervisionada, os algoritmos evolucionrios so extensivamente aplicados para projetar modelos como CPG, apesar de possurem a
desvantagem de serem lentos e necessitarem de um uso prolongado de simulao (?).

2.1.1

Modelos de CPGs

Modelos de CPGs foram construdos principalmente para insetos e vertebrados inferiores. Muitos modelos de CPG so inspirados no circuito de natao da lampreia,
construdos a partir de redes no-lineares celulares ou sistemas de osciladores acoplados. Um CPG muito investigado o da lampreia sendo modelado de vrias maneiras:
biofsica, conexionista, sistemas de osciladores acoplados e simulao neuromecnica
(?).
O interessante trabalho de ?) na linha de robs biologicamente inspirados testa um
modelo de CPG de uma salamandra2 real em um rob anfbio inspirado na salamandra.
Este modelo, baseado no trabalho de ?), composto de 20 osciladores de fase de
amplitude-controlada. Os osciladores recebem um sinal representando o estmulo
descendente da Regio Locomotora Mesenceflica. As sadas do CPG so valores para
o posicionamento angular das articulaes enviados para um controlador proporcionalderivativo para controlar os membros do rob.
O modelo de CPG desenvolvido por ?) utiliza CNNs (Redes No-lineares Celulares
Cellular Nonlinear Networks). Neste caso, as CNNs so transformadas em um conjunto
de osciladores acoplados para compor o CPG. Este modelo tambm prope um novo
mtodo para selecionar um modo de locomoo, onde a transio entre um modo de
locomoo e outro suave. Isto viabilizado atravs de um controle de alto-nvel
baseado em um mapa motor, baseado em um mapa auto-organizado. Este mapa,
inspirado no crtex motor, recebe como entrada a velocidade do rob e produz como
sada os parmetros dos osciladores CNNs, controlando assim o modo de locomoo
resultante.
?) investigaram alguns modelos de neurnios para CPGs, como por exemplo, o modelo sigmoidal. A tratabilidade analtica do modelo sigmoidal facilita o treinamento de
redes feedforward utilizando algoritmos de gradiente descendente como backpropagation,
2 As

salamandras so anfbios possuidores de cauda, assemelham-se aos lagartos e nadam como


serpentes.

2.1. GERADOR CENTRAL DE PADRES - CPG

aplicados ao controle de robs insetos caminhantes. Para ?) ficou claro que modelos
mais completos so mais fceis de treinar para uma tarefa de controle, produzindo
passos repetidos e aparentemente mais estveis. Isto pode estar relacionado com a facilidade de neurnios mais complexos produzirem movimentos oscilatrios e tambm a
simplicidade de evolurem os poucos pesos das redes menores.
?) apresentaram um mtodo de aprendizagem por reforo aplicado ao problema de
controle automtico em um simulador de rob bpede. O rob controlado por seis
torques, cada um aplicado a uma junta. O CPG bsico uma rede composta por seis
osciladores neurais. Cada oscilador neural gera torques de controle para uma junta
correspondente. A recompensa varia de acordo com a altura do p e da cintura, com a
velocidade horizontal da cintura, e com as penalidades aplicadas quando o rob cai.

2.1.2

Projeto de CPGs

Ainda no existe uma metodologia bem estabelecida para projetar CPGs (??) e diferentes abordagens tm sido investigadas tais como osciladores no-lineares, modelagem
biolgica de neurnios, redes celulares no-lineares, etc. Para que o CPG construdo
com algumas destas abordagens comporte-se da maneira desejada necessrio que
os parmetros destas abordagens sejam configurados corretamente. Para chegar a
estes parmetros, algumas tcnicas so utilizadas, como os algoritmos evolucionrios
(???), aprendizagem por reforo (?) ou uma metodologia especfica para ajustar esses
parmetros (?).
?) define alguns itens presentes no projeto de CPGs:
1. A arquitetura geral do CPG, incluindo o tipo e nmero de neurnios;
2. As conexes entre neurnios, que determinam a sincronizao entre os osciladores
e influencia no modo de locomoo resultante;
3. As oscilaes determinando as trajetrias executadas por cada junta durante um
ciclo;
4. O efeito dos sinais de entrada, isto , como o controle de parmetros modula a
frequncia, a amplitude, a fase de movimento das pernas ou as oscilaes;
Para construir CPGs baseados em osciladores no-lineares ou at mesmo em modelos matemticos de neurnios reais necessrio conhecer diversos modelos para
encontrar um que se comporte de maneira desejada. Caso tal modelo no seja encontrado, o modelo possuidor do comportamento mais prximo do desejado escolhido e

10

2.2. TRAJETRIA DE ESTADOS

adaptado. Para conseguir esta adaptao, parmetros das equaes que descrevem o
modelo precisam ser modificados, adicionados ou retirados (?). O Captulo ?? descreve
em detalhes duas abordagens utilizadas para projetar CPGs.

2.2

Trajetria de Estados

Um estado no contexto deste trabalho armazena informaes que definem a postura


do rob. Uma postura determinada pela posio angular de cada articulao ou
espao euclidiano tridimensional de cada articulao. Assim, os estados de um sistema
contm a configurao, situao ou descrio daquele sistema em um dado momento
(?).
Um espao de estados de um sistema, de acordo com ?), o conjunto E de estados
que caracterizam este sistema, onde cada ponto e E uma configurao nica e
no-redundante deste espao de estados. Uma descrio sobre modelo de estado pode
ser encontrada em ??).
Uma trajetria o conjunto de transies entre estados de sistema partindo de
um estado possuidor de uma configurao inicial (eini ) at outro estado com uma
configurao pr-definida ou de destino (edest ). Durante a execuo da trajetria,
diferentes estados intermedirios so assumidos dentro do espao de estados possveis
do sistema. Assim, uma trajetria T definida como uma sequncia finita de estados:
T = {eini , ..., ei , ..., edest },


2.1

onde eini RD um estado do sistema configurado como sendo um vetor de dimenso


D.
De acordo com a Equao ??, a locomoo do rob pode ser descrita por uma
trajetria de estados, onde cada estado contm informaes sobre a postura do rob
durante um passo. O intervalo de tempo de coleta dos estados no precisa ser maior
do que o tempo de um passo completo, j que o movimento executado pelo rob nos
passos seguintes so repetidos. Assim, eini a postura inicial do passo, ei uma postura
intermediria e edest a postura final do passo, que neste caso a mesma postura inicial.

2.3

Consideraes

O controle de locomoo atravs de CPGs requer o conhecimento de alguma metodologia para construir um modelo capaz de gerar padres que se repetem constantemente

11

2.3. CONSIDERAES

durante o tempo, i.e., oscilaes. Os artigos, investigados e publicados antes de 2010,


indicam a no existncia de uma metodologia bem definida para projetar CPGs, ver
Seo ??. A maneira mais comum de construir estes CPGs atravs de equaes
diferenciais no sendo um processo trivial, ver Seo ??.
Por outro lado o STRAGIC evita o esforo de modelagem de equaes matemticas.
Pois no STRAGIC as informaes sobre as oscilaes so passadas como entrada
para o seu treinamento ao invs de criar equaes matemticas para reproduzirem as
oscilaes. Assim, o STRAGIC depois de treinado possui o mesmo comportamento de
um CPG, mesmo no sendo um CPG.

12

3
CPGs e Redes Neurais

Os assuntos tratados nesta seo esto relacionados a duas abordagens utilizadas para
o controle de locomoo de robs com pernas, uma baseada em um modelo de CPG
biolgico e a outra baseada em uma rede no-linear celular. Estas abordagens de
maneira geral so biologicamente inspiradas, cada uma com um nvel de abstrao.
A Seo ?? faz uma breve introduo de alguns estudos sobre CPGs biologicamente
inspirados. J a Seo ?? mostra como alguns CPGs so modelados matematicamente.
A Seo ?? apresenta a abordagem com maior grau de inspirao biolgica. Esta
abordagem abstrai o circuito neural de controle de locomoo biolgico em nvel
de neurnio, modelando o neurnio levando em considerao a organizao dos
neurnios dentro do CPG. A segunda abordagem, descrita na Seo ?? abstrai o CPG,
em nvel de comportamento, projetando uma rede no-linear celular para comportar-se
de maneira semelhante a um circuito neural de controle de locomoo. Para facilitar o
entendimento da segunda abordagem, a rede no-linear celular descrita na Seo ??.

3.1

CPGs Biologicamente Inspirados

Esta seo apresenta alguns modelos de CPGs modelados utilizando uma abordagem
biologicamente inspirados, principalmente os trabalhos relacionados a Ijspeert. Os
primeiros estudos de Ijspeert reportam a aplicao de algoritmos evolucionrios para
ajustar os parmetros de um modelo neural de controlar de locomoo da lampreia em
um ambiente simulao. Este modelo neural foi desenvolvido a partir do modelo biolgico da lampreia proposto por Ekeberg. ?) tambm apresentaram uma abordagem que
utilizava um algoritmo gentico para evoluir a arquitetura de um modelo conexionista
capaz de determinar a atividade muscular durante a execuo do nado da lampreia
simulada. ?) propuseram outra abordagem baseada em programao gentica para

13

3.1. CPGS BIOLOGICAMENTE INSPIRADOS

Figura 3.1: 4 segmentos de rede do controlador biolgico, onde cada segmento de rede
composto de 8 neurnios. Quatro tipos de neurnios esto presente nos osciladores:
trs tipos de interneurnio (EIN, CIN e LIN) e os motoneurnios MN. Os controladores podem receber realimentao das clulas excitatrias (EC). As linhas tracejadas
mostram as interconexes entre segmentos vizinhos. Figura extrada de ?).

evoluir programas que codificavam o crescimento de uma rede neural dinmica.


?), inspirado na rede neural biolgica responsvel pelo movimento do corpo da
lampreia, desenvolveu um modelo de controle neural com neurnios individualmente
simplificados, porm com conectividade semelhante ao modelo biolgico. Neste
modelo, cada unidade representa uma populao de neurnios reais que possuem
funcionalidades semelhantes. Alm disso, Ekeberg tambm descreveu como os sinais
gerados pelo modelo de controle neural so transformados em movimentos.
O controlador neural proposto por ?) biologicamente inspirado no CPG da lampreia
composto de 100 segmentos de rede interconectadas, ver Figura ??. Cada segmento
de rede um oscilador neural feito por dois motoneurnios (MN), dois interneurnios
excitatrios (EIN), dois interneurnios inibitrios contralaterais (CIN) e dois interneurnios inibitrios laterais (LIN). A nomenclatura de cada neurnio descreve suas
conexes eferentes. Cada neurnio, individualmente, representa uma populao de
neurnios funcionalmente similares na lampreia real, que recebem sinais excitatrios
do tronco cerebral. Uma interconexo uma conexo entre dois neurnios pertencentes
a dois segmentos vizinhos na rede.
Um neurnio modelado como um leaky-integrator, ver equaes ??. Sua sada u
equivale a frequncia de disparo ( [0, 1]) calculada como a seguir:
1
+ =
(
u i wi + )
D i


3.1

1
=
(
u i wi )
D i


3.2

1
=
(u )
A


3.3

(
u=

1 exp{( + )} (u > 0)
0
( u 0)


3.4

onde wi o peso sinptico, + e representam os grupos de neurnios excitatrios


e inibitrios pr-sinpticos respectivamente, + e so as reaes atrasadas para
entradas excitatrias e inibitrias, e representa a adaptao da frequncia observada

14

3.2. MODELOS MATEMTICOS DE NEURNIOS DE CPG

em alguns neurnios reais (?). D um limiar para a ativao, uma constante de


ganho, e controla o nvel de adaptao (?).
Prosseguindo os estudos sobre CPG, ?) desenvolveu um modelo de CPG biologicamente plausvel da salamandra. O circuito neural controlador da locomoo da
salamandra semelhante ao CPG da lampreia, mas incrementado com CPGs que controlam os membros. Este modelo era composto de 14 articulaes, 10 distribudas pelo
tronco e cauda, mais 1 para cada membro contabilizando 4 articulaes nos membros.
Os parmetros deste circuito neural eram determinados por algoritmo gentico. O
modelo resultante simulava tanto o corpo quanto o circuito locomotor da salamandra
sendo capaz de fazer a transio do modo de locomoo aqutico para o terrestre.
Ijspeert no se restringiu ao estudo da lampreia e da salamandra, desenvolvendo
seus trabalhos com outros tipos de robs. ?) introduziram uma metodologia para
projetar controladores de robs humanoides rastejantes, baseada no paradigma CPG.
Assim como nos outros trabalhos, esta metodologia segue uma abordagem biologicamente inspirada e apresenta um modelo matemtico de CPG baseado em osciladores
no-lineares acoplados.
Alguns trabalhos elaboram CPGs levando em conta as interaes dos neurnios com
os msculos das pernas como o caso de ??) que prope um modelo biologicamente
inspirado na neurofisiologia da locomoo de gatos. Capaz de controlar habilidosamente um rob quadrpede em terrenos irregulares, fazer a transio entre modos de
locomoo de maneira autnoma e compatvel com a velocidade de deslocamento do
rob.

3.2

Modelos Matemticos de Neurnios de CPG

Alguns modelos matemticos baseados no comportamento dos neurnios reais so


utilizados para compor o CPG. Dentre eles est o famoso modelo H-H de ?), um modelo
complexo e com muitos parmetros (?). Uma simplificao do modelo H-H o modelo
FitzHugh-Nagumo (??) definido por:


x3
x i = c yi + xi + i + f ci ,
3
y i = ( xi a + byi )/c,


3.5

onde xi , o potencial da membrana do i-simo neurnio; f ci um sinal de controle no


neurnio i; a, b e c so constantes e no correspondem a nenhum parmetro fisiolgico.

15

3.2. MODELOS MATEMTICOS DE NEURNIOS DE CPG

Notao x i utilizada para descrever a primeira derivada de x em relao ao tempo.


Um modelo baseado no neurnio real e voltado para a produo de sinal oscilatrio
na sada o modelo de ?), descrito matematicamente por:

x i = a xi +

1 + exp( f ci byi + bzi )

y i = xi pyi ,
z i = xi qzi ,


3.6


3.7

onde xi representa o potencial da membrana do i-simo oscilador; a uma constante


que afeta a frequncia de oscilao; f ci um sinal de controle para o oscilador i; b
permite ao modelo adaptar-se as mudanas de estmulos; q e p controlam a taxa de
adaptao.
O modelo de ?) do tipo Leaky-Integrator definido matematicamente pela Equaes
??, descreve o comportamento bsico dos neurnios reais:
n

Tr u + ui = wij y j vi + si ,
j =1

Ta v i + vi = yi ,
yi = g(ui ) = max(ui , 0),


3.8


3.9

onde ui o potencial da membrana do i-simo neurnio; vi uma varivel que representa o grau de adaptao do neurnio i; Tr e Ta so constantes do tempo de crescimento
e do tempo de adaptao; wij o peso da sinapse inibitria da conexo que sai do
neurnio j para o i; o parmetro que determina a taxa de disparos; si uma entrada
externa, e yi a sada do neurnio.
O neurnio de um CPG pode ser entendido como um oscilador no-linear, pois o
papel do neurnio no CPG justamente produzir periodicamente sinais oscilatrios.
Entre os modelos de osciladores no-lineares esto o modelo de Kuramoto e o de Hopf
(?). O modelo de Kuramoto (?) um oscilador simples que consiste em uma populao
de N osciladores de fase acoplados, descrito matematicamente por:
N

i = wi + Kij sin( j i ),
j =1

i = 1, 2, ..., N,



3.10

onde i a fase do i-simo oscilador; wi a frequncia natural do i-simo oscilador;


Kij > 0 a fora do acoplamento do oscilador j para o oscilador i.

16

3.3. MODELAGEM BIOLGICA DO CPG DA SALAMANDRA

O oscilador de Hopf pode ser descrito por:


x = ( r2 ) x + wy,
y = ( r2 )y + wx,



3.11

p
onde r = x2 + y2 ; > 0 determina a amplitude do sinal de sada; o parmetro w
controla a frequncia do oscilador. O oscilador tem um ciclo limite estvel com raio

e velocidade angular w rad/s.

3.3

Modelagem Biolgica do CPG da Salamandra

?) descrevem um modelo de CPG para controlar a locomoo de um rob salamandra.


Este modelo inspirado no CPG biolgico da salamandra que por sua vez baseado
no modelo biolgico do CPG da lampreia. Alm de controlar o modo de locomoo da
salamandra, este modelo capaz de fazer a transio entre os modos de locomoo
nadar e andar. Para modelar matematicamente este CPG, algumas questes relacionadas ao modo de locomoo de vertebrados foram levantadas. Estas questes tratam:
da estrutura do circuito neural capaz de controlar tanto o modo de locomoo nadar
quanto andar; da coordenao dos membros; e da mudana entre modos de locomoo
apenas alterando intensidade do estmulo eltrico aplicado ao tronco cerebral.
No modelo de CPG da salamandra de ?) a rede distribuda ao longo da medula
espinhal formando uma cadeia dupla de centros oscilatrios localizados em ambos os
lados da medula espinhal. Este conjunto de centros oscilatrios so responsveis por
controlar o nado da salamandra. Os centros oscilatrios encarregados de movimentar
os membros frontais esto localizados no segmento cervical e os membros traseiros
esto localizados no segmento torcico-lombar.
?) explicam o funcionamento da rede CPG da lampreia da seguinte maneira:
1. O CPG do corpo inteiro dividido em dois CPGs, um controla os movimentos ao
longo do corpo e o outro controla o movimento dos membros. O CPG do corpo
semelhante ao da lampreia e espontaneamente produz oscilaes movimentando
o corpo de maneira ondulatria. Quando a rede CPG dos membros entra em
atividade, o CPG do corpo inteiro gera os padres de locomoo para o modo
andar.
2. A rede CPG dos membros capaz de induzir a rede CPG do corpo a mudar do
modo nadar para o modo andar. J que os acoplamentos entre osciladores dos

17

3.3. MODELAGEM BIOLGICA DO CPG DA SALAMANDRA

membros e do corpo so mais fortes que os acoplamentos entre os osciladores


corpo.
3. Ao aumentar a intensidade do estmulo eltrico aplicado ao tronco cerebral acontece a mudana entre os modos de locomoo andar e nadar. Os nveis mais
baixos de estmulos, menores que um determinado limiar, levam a um modo
andar lentamente enquanto estmulos mais intensos induzem a uma mudana
para o modo nadar rapidamente. Em ambos os modos, a frequncia de movimentao proporcional a intensidade do estmulo. Para que ocorra esta transio
os osciladores dos membros no oscilam em altas frequncias. Eles saturam e
param de oscilar para altos nveis de estmulos. Logo, as frequncias do modo
nadar so sistematicamente mais elevadas que as do modo caminhar. Durante
o aumento da intensidade do estmulo, os osciladores passam por trs fases: (i)
uma fase de oscilao abaixo do limiar sem atividade, (ii) uma fase de oscilao
onde a amplitude e a frequncia aumentam de acordo com o estmulo e (iii) uma
fase de saturao onde os centros param de oscilar.
4. As frequncias dos osciladores aumentam rapidamente quando acontece a mudana do modo andar para nadar. J que os osciladores dos membros possuem
menores frequncias que os osciladores do corpo, assim quando os osciladores
dos membros saturam, a frequncia dos osciladores do corpo j est elevada.
O CPG de ?) implementado como um sistema de osciladores no-lineares acoplados baseado no modelo de Kuramoto (?). Semelhante ao modelo da lampreia de ?), os
neurnios so modelados como osciladores de fase com amplitude controlada:
i = 2vi + r j wij sin( j i ij ),
j

ri = ai

a


( Ri ri ) r i ,

4
xi = ri (1 + cos(i )),

onde i e ri so as variveis de estado representando a fase e a amplitude do oscilador i,


vi e Ri determinam a sua frequncia e amplitude intrnseca e ai uma constante positiva.
O acoplamento entre osciladores so definidos pelos pesos wij e a fase enviesada ij . O
sinal oscilatrio xi representa a fase de atividade do centro.
Os parmetros de acoplamento wij e ij so configurados de tal maneira que o CPG
do corpo produza movimentos oscilatrios em forma de ondas e o CPG dos membros
produza os passos da salamandra. Existem acoplamentos unidirecionais vindos dos

18

3.4. REDE CELULAR NO-LINEAR

Figura 3.2: Uma CNN de dimenso MxN

osciladores dos membros para os osciladores do corpo cuja fora maior que a dos
acoplamentos entre os osciladores do corpo, desta maneira o comportamento do CPG
dos membros influencia no comportamento do CPG do corpo (?).

3.4

Rede Celular No-linear

As CNNs ( Cellular Nonlinear Networks Redes Celulares No-lineares) tornam possvel


implementar dinmicas no-lineares atravs de sistemas de osciladores acoplados,
fornecendo caractersticas importantes na implementao de CPG para o controle de
locomoo (?). A clula ou neurnio artificial de uma CNN funciona como um processador analgico dinmico. Duas caractersticas marcantes na CNN so: capacidade de
processamento paralelo e interconexes essencialmente locais entre clulas. No entanto,
devido sua dinmica de propagao, toda a rede interage direta ou indiretamente.
Esta uma caracterstica que distingui a CNN das demais redes (???). Uma CNN de
duas dimenses e de tamanho MxN mostrada na Figura ??. Embora a CNN possa
assumir qualquer dimenso, o foco deste texto em duas dimenses, pois a CNN
estudada neste trabalho para o controle robtico possui tal dimenso.

3.4.1

A Clula CNN

Em vrios trabalhos sobre CPGs baseados em osciladores acoplados, o neurnio representa o oscilador e na CNN ele definido como uma clula (?). Na estrutura de
uma CNN cada clula um sistema dinmico, conectada apenas a sua vizinhana
satisfazendo algumas propriedades: interaes limitadas a uma vizinhana de raio
finito; e todas as variveis de estado so de valores contnuos (??). A vizinhana de
uma clula em uma CNN de tamanho MxN expressa pela Equao ??:
Nr (i, j) = {C (k, l )|max {|k i |, |l j|} 6 r, 1 6 k 6 M, 1 6 l 6 N },



3.12

onde C (i, j) denota a clula da i-sima linha e j-sima coluna. O raio r da CNN utilizada
neste trabalho tem tamanho 1.

19

3.4. REDE CELULAR NO-LINEAR

3.4.2

Modelagem Matemtica

Segundo ?), uma CNN caracterizada pelo conjunto de equaes diferenciais a seguir:
C

dxij (t)
1
= xij (t) +
A(i, j; k, l )ykl (t) + B(i, j; k, l )ukl (t) + zij ,
dt
Rx
C (k,l ) N (i,j)
C (k,l ) N (i,j)
r

1 6 i 6 M; 1 6 j 6 N


3.13


1
yij = f ( xij ) = (| xij + 1| | xij 1|),
2
uij = Eij ,

1 6 i 6 M; 1 6 j 6 N

1 6 i 6 M; 1 6 j 6 N



3.14




3.15

Algumas restries:

| xij (0)| 6 1,

1 6 i 6 M; 1 6 j 6 N

|uij | 6 1,

1 6 i 6 M; 1 6 j 6 N


3.16


3.17





A clula bsica CNN nij possui um estado xij , uma entrada uij , um limiar zij , uma
sada yij e uma corrente de entrada sinptica IijN . Esta corrente sinptica depende da
entrada ui+k,j+l (t) e do estado xi+k,j+l de todas as clulas localizadas na vizinhana
de tamanho r de nij , caso r = 1, k e l {1, 0, 1}. A contribuio vinda da entrada
ui+k,j+l (t) de cada clula vizinha modelada por uma fonte controlada do tipo linear
bkl ui+k,j+l (t). A contribuio de cada estado xi+k,j+l (t) de cada clula vizinha ni+k,j+l
modelada por um fonte controlada do tipo no-linear akl f ( xi+k,j+l ), onde f () descreve
uma funo escalar no-linear, ver Equao ??. Os coeficientes akl pertencem ao template
de retroalimentao A e os coeficientes bkl pertencem ao template de entrada ou de
controle B. O template aparece na forma A(i, j, k, l ), onde: A o nome do template; i e j
identificam a clula; k e l identificam um elemento dentro do template. Um template de
realimentao A de tamanho 3x3 e com uma vizinhana de raio 1 mostrado na Tabela
??. O coeficiente central a0,0 do template A est relacionado realimentao da prpria
clula nij . Uma clula CNN dita autnoma quando no possui entradas externas ou
seja uij = ui+k,j+l = 0.
A modelagem da corrente sinptica em uma clula CNN semelhante ao comportamento biolgico onde cargas eltricas chegam aos dendritos de uma clula vindas
dos axnios de outras clulas, atravs da sinapse. Um ilustrao de como uma clula

20

3.4. REDE CELULAR NO-LINEAR

Figura 3.3: Clula autnoma CNN (uij = ui+k,j+l = 0). Cada sinapse (fonte de corrente
controlada) mostrada como uma funo no-linear de seu estado atual xij e seus
estados vizinhos xi+k,j+l .
a1,1
a0,1
a1,1

a1,0
a0,0
a1,0

a1,1
a0,1
a1,1

Tabela 3.1: Template A

nij relaciona-se com suas vizinhas atravs da corrente sinptica IijN (t), apresentada na
Figura ?? e a definio matemtica na Equao ??.
IijN =

akl f ( xi+k,j+l ) +

kl 6=0,0

bkl ui+k,j+l

kl 6=0,0



3.18

De acordo com ?), a clula bsica pode ser descrita utilizando uma equao de
estado de primeira ordem como a Equao ??:


1 xij
N
a00 f ( xij ) b00 uij zij Iij
x ij =
C R

3.4.3



3.19

Viso de Circuito Eltrico


Figura 3.4: Um circuito eltrico de uma clula CNN.

Sob o ponto de vista eltrico, a clula CNN composta de elementos lineares


como capacitores, resistores e fontes. Possui tambm fontes de corrente no-lineares
como ilustrado na Figura ??. Segundo ?), cada clula C (i, j) da CNN contm: uma
fonte de tenso independente Eij ; uma fonte de corrente independente Z = zij ; um
capacitor linear C; dois resistores lineares R x e Ry ; fontes de correntes lineares Ixu
e Ixy . As fontes de corrente lineares so descritas por Ixy (i, j, k, l ) = A(i, j, k, l )ykl e
Ixu (i, j, k, l ) = B(i, j, k, l )ukl , onde k e l so os ndices para as clulas vizinhas. Para todo
C (k, l ) Nr (i, j), ukl a voltagem de entrada e ykl a voltagem de sada de cada clula
vizinha. Em cada clula o elemento no linear a fonte de corrente controlada por
tenso Iyx = (1/Ry ) f ( xij ) .

21

3.4. REDE CELULAR NO-LINEAR

Figura 3.5: Grfico do estado interno xij versos a sada yij de uma clula CNN.
0
1
0

1
-4
1

0
1
0

Tabela 3.2: Template A

3.4.4

A CNN Difuso de Reao

Na modelagem de CPG proposta por ?), a CNN utilizada do tipo Difuso de Reao.
Esta CNN uma rede simples de duas camadas capaz de gerar ondas autnomas.
Algumas caractersticas marcantes nas ondas autnomas so: possuir forma constante
durante a propagao; e no ser afetadas por interferncias (?). As conexes entre as
clulas so definidas por um template de difuso de reao e cada clula um circuito
no linear de segunda-ordem que independente de sua vizinhana comporta-se como
um oscilador no-linear (?). A autonomia da rede devido ao fato de no existir sinais
de entrada. Ela chamada de difuso de reao porque descrita matematicamente por
uma verso discretizada de um sistema de equaes diferenciais parciais no-lineares,
geralmente referenciadas na literatura como equaes de difuso de reao (?).
As duas camadas da RD-CNN (CNN de Difuso de Reao) interagem dentro
de cada clula gerando oscilaes, sendo que a interao com a vizinhana obtida
separadamente por meio de dois templates de difuso, um para a primeira camada e
outro para a segunda camada. No existe interao direta entre a camada 1 de uma
clula C (i, j) e a camada 2 das clulas de sua vizinhana e vice versa (?). Os templates
de difuso de reao so baseados no Laplaciano, cujo intuito ponderar o efeito das
variveis de estado das clulas vizinhas (??). Para exemplificar, um template Laplaciano
discretizado em duas dimenses apresentado na Tabela ??. As clulas da RD-CNN
para gerar as ondas autnomas so descritas pelo seguinte sistema de segunda ordem
(?):


x 1,i,j = x1,i,j + (1 + + )y1,i,j s1 y2,i,j + i1
3.20


x 2,i,j = x2,i,j + s2 y1,i,j + (1 + )y2,i,j + i2



3.21

Com i = 0, 1, ..., M 1 e j = 0, 1, ..., N 1. A influncia das constantes e s no comportamento de um sistema dinmico autnomo simples, semelhante ao de uma clula
RD-CNN, descrito no apndice ??. Os sinais dos estados internos e das sadas de uma
rede com dois neurnios so expressos nos grficos da Figura ??.

22

3.5. O MODELO DE ARENA

Figura 3.6: Grfico dos valores dos estados internos (x1 e x2 ) e das sadas (y1 e y2 ) para
uma rede CNN com dois neurnios A e B cada um com duas camadas. A linha verde
indica os valores de y e a linha azul indica os valores de x.

A representao vetorial da RD-CNN (??) descrita pela Equao ??:




3.22

x ij = xij + A yij + B uij + I

h
iT
h
iT
h
iT
h
iT
onde x ij = x 1;i,j x 2;i,j , xij = x1;i,j x2;i,j , yij = y1;i,j y2;i,j e uij = u1;i,j u2;i,j
representam a variao no tempo do estado interno, o estado interno propriamente
dito, a sada e a entrada da CNN, respectivamente. A, B e I representam os templates de
realimentao, de controle e de bias, respectivamente. O template A, de difuso discreta,
define a relao das clulas com seus vizinhos sendo expresso da seguinte maneira:
A=

!
A11 A12
;
A21 A22

B = 0;

I=

0 0 0

A12 = A21 = 0 s 0 ,
0 0 0

!
i1
.
i2


3.23

A11 e A22 so matrizes 3x3 e definem a relao com as clulas vizinhas para as camadas
1 e 2 respectivamente. O operador de convoluo bidimensional para um template T
definido por ?) como:
T xij =

C (k,l ) Nr (i,j)

T(k i, l j) xkl ;



3.24

onde T(m, n) um elemento do template cujos ndices m e n pertencem ao conjunto


{1, 0, 1}. T (0, 0), por exemplo, o elemento central da matriz. Esta forma de indexao
melhor ilustrada na Tabela ??.

3.5

O Modelo de Arena

?) investigaram o problema de locomoo artificial em um rob caminhante de seis


patas para reproduzir o caminhar de insetos. Eles utilizaram uma CNN para construir
um gerador central de padres. ?) tambm desenvolveram um mecanismo de controle
adaptativo de alto-nvel capaz de encontrar os parmetros que definem o comporta-

23

3.5. O MODELO DE ARENA

mento do CPG durante a locomoo do rob. Estes parmetros so organizados na


forma de templates, um estudo mais detalhado sobre estes templates apresentado na
Seo ??. O controle adaptativo elaborado com base em um mapa motor, descrito na
Seo ??.
Os movimentos locomotores de um membro so controlados por uma clula da
CNN, j a coordenao entre membros esta relacionada s conexes entre as clulas.
Os neurnios oscilam na mesma frequncia e possuem fase constante entre eles. O que
diferencia um modo de locomoo de outro justamente a defasagem entre perna, ou
seja, a defasagem entre as oscilaes dos neurnios. Modos distintos de locomoo so
executados atravs do uso de conexes distintas, correspondendo a conjuntos distintos
de templates (?).
Os modos de locomoo mais bsicos como andar, mover em velocidade moderada
e correr podem ser combinados para formar um modo de locomoo intermedirio e
consequentemente uma transio mais suave entre estes modos de locomoo bsicos.
Esta transio alcanada ativando mais de um template ao mesmo tempo, j que cada
template define um modo de locomoo (?). O modo de locomoo contnuo definido
atravs do template de realimentao Ar como a seguir:
Ar = A f + Am + Aw ,



3.25

onde o primeiro termo da equao representa o modo de locomoo rpido A f , o


segundo representa o modo de locomoo moderado Am e o terceiro, o modo de
locomoo lento Aw . Os parmetros , e variam entre 0 e 1 (?), sendo o controle
destes parmetros (, e ) feito por meio de um mapa motor, que a partir de uma
velocidade de referncia capaz de determinar cada um deles.

3.5.1

Abordagem Multi-Template

Na RD-CNN, a criao de um determinado modo de locomoo depende de como a


rede esteja estruturada. O sincronismo entre clulas esta relacionado maneira como a
clulas so conectadas. Como cada clula esta conectada a uma perna, o sincronismo
entre clulas dita a defasagem do movimento das pernas. Template determina a estrutura da RD-CNN, logo o modo de locomoo resultante, no entanto escolher o template
apropriado para obter um determinado modo de locomoo no uma tarefa trivial (?)
?) desenvolveram um heurstica chamada de Abordagem Multi-Template para
encontrar a estrutura da RD-CNN que gera o padro de locomoo desejado. Ento,
a partir de uma RD-CNN estruturada em um anel de clulas, vrios padres de

24

3.5. O MODELO DE ARENA

locomoo podem ser obtidos. Bastando apenas reconfigurar as conexes entre as


clulas. Para mudar o padro de locomoo basta usar um nmero diferente de clulas
que constituem o anel e rearrumar as conexes entre neurnios (clulas RD-CNN). Isto
corresponde reorganizao da topologia biolgica da rede neural. As sinapses so
reorganizadas envolvendo novos neurnios ou diminuindo o numero de neurnios na
rede. Para obter o respaldo biolgico o modelo de propagao do sinal (pulso eltrico)
da RD-CNN manteve-se compatvel com uma modelagem matemtica da sinapse
qumica.
Baseado no comportamento da sinapse qumica (?) propuseram uma heurstica para
auxiliar na construo de uma RD-CNN que se comportasse de maneira desejada. Para
facilitar a manipulao da RD-CNN e projetar o CPG, o problema foi decomposto em
uma estrutura simples semelhante a um anel formada por um ncleo composto apenas
de dois neurnios. A partir desta rede simples novos neurnios so acoplados para
alcanar o CPG desejado. As conexes sinpticas entre os neurnios desta rede podem
ser do tipo excitatria ou inibitria. O tipo de sinapse determina o sentido em que a
sequncia de disparos dos neurnios ocorrem, podendo ser horria ou anti-horria. Na
construo desta rede em forma de anel o nmero de fases N contidas em um modo
de locomoo indica a quantidade inicial de neurnios, por exemplo, no modo de
locomoo trpode alternado (trs pernas sincronizadas) que possui duas fases (N = 2)
a quantidade de neurnios no anel ser 2. Mas, ao projetar um CPG a quantidade final
de neurnios n escolhida a mesma quantidades de membros controlados pela rede.
As recomendaes heursticas para montar um CPG, chamadas de abordagem
multi-template (??), so descritas a seguir:
1. A quantidade de diferentes fases N que o CPG gera est relacionada a mesma
quantidade inicial de neurnios N presentes no anel;
2. n N neurnios so adicionados a rede, as conexes so estabelecidas e tambm
o sincronismo dos novos neurnios com os neurnios j existentes;
3. Os pesos sinpticos influenciam no perodo de oscilao. O mesmo valor
escolhido para todas as sinapses da rede. Este peso sinptico escolhido com
o objetivo de garantir a estabilidade do padro de sincronizao no qual cada
neurnio dispara em uma fase diferente. Para que o total de pesos sinpticos na
entrada de um neurnio permanea a mesma em todos os neurnios, /k onde k
a quantidade de pesos na entrada de um neurnio.
Depois de estabelecida a estrutura da rede, o prximo passo escrever o conjunto
de templates correspondente a esta estrutura. Para elaborar estes templates, as conexes

25

3.6. CONSIDERAES

entre neurnios so levadas em conta. Neste caso, o template dependente do espao,


ou seja, da posio que a clula ocupa na rede. Cada conjunto de templates gera um
modo de locomoo, logo, mudar entre modos de locomoo significa alterar o conjunto
de templates atuantes neste sistema (?).

3.5.2

Mapas Motores

A formao da topologia que constitui os mapas motores no crebro fundamentada na


representao de sinais de entrada sensoriais e na habilidade de executar uma ao em
reposta a um dado estmulo. Neurnios no crebro so organizados em agrupamentos
locais aptos a executar tarefas como enviar o sinal apropriado para o msculo. Estes
agrupamentos neurais, inspiradas no paradigma de Mapas de Kohonen, mapeiam as
excitaes em movimentos. Desta forma, estas redes so aptas a reagir s excitaes
disparando um movimento como o crtex motor no crebro (??).
Um Mapa Motor possui uma arquitetura em duas camadas: uma dedicada a armazenar os pesos da entrada e outra dedicada ao pesos da sada. Ao apresentar uma
velocidade de referncia para a rede, um neurnio da camada de entrada ativado
que por sua vez ativa um conjunto de neurnios da camada de sada, selecionando
um conjunto de parmetros definidores dos pesos da Equao ??. Como visto anteriormente, a Equao ?? determina o modo de locomoo corrente, por tanto a velocidade
resultante de deslocamento do rob. A fase de aprendizagem lida com a atualizao
tanto dos pesos de entrada quanto dos da sada, permitindo ao mapa aprender aes
relacionadas ao controle motor. O algoritmo de aprendizagem uma extenso do
algoritmo vencedor-leva-tudo (winner-take-all). O Mapa Motor aprende uma nova
velocidade de referncia apenas se a variao da funo de recompensa, Equao ??,
for maior que um determinado limiar.
Reward = (Vre f v)2

3.6



3.26

Consideraes

Este captulo apresentou duas abordagens usadas na implementao de CPGs, uma


biologicamente inspirada no CPG da lampreia e a outra construda a partir de uma
rede celular no-linear. Em ambas as abordagens, a modelagem matemtica do CPG
foi realizada atravs de equaes diferenciais, mais especificamente equaes de osciladores no-lineares (??). Estas abordagens implicam no ajuste de um conjunto de

26

3.6. CONSIDERAES

parmetros ou at mesmo na modificao destas equaes para produzir o modo de


locomoo desejado.
As tcnicas mais utilizadas para resolver o problema de locomoo so biologicamente inspiradas em CPGs. O objetivo inicial deste trabalho era transformar um
mapa auto-organizvel em um CPG, mas esta estratgia tornou-se invivel, pois as
modelagens dos CPGs encontradas na literatura no so compatveis com as modelagens de mapas auto-organizveis. Os CPGs so descritos por equaes diferenciais
enquanto que os mapas auto-organizveis so descritos algoritmicamente e precisam
de uma base de dados para produzirem alguma resposta. Ento, o caminho seguido
para projetar um modelo de controle de locomoo de robs com membros levando em
conta um mapa auto-organizvel de topologia varivel foi escolher dentre os modelos
de CPGs aquele que tivesse maior relao com os mapas auto-organizveis. O modelo
escolhido foi o de ?) que utiliza em sua modelagem um mapa motor, uma derivao de
mapa auto-organizvel. Embora Arena modele matematicamente os osciladores do
CPG por meio da CNN.
A abordagem proposta nesta dissertao possui duas caractersticas interessantes.
Primeiro, no necessita de modelagem com base em equaes diferenciais. Segundo
inovadora, pois no foi encontrado nenhum registro na literatura de alguma abordagem
semelhante para o controle de locomoo de robs com membros. O STRAGEN
proposto por ?), utilizado como base do modelo apresentado no Captulo ??, destacase dos outros mapas por sua flexibilidade. Pois o critrio de vizinhana pode ser
selecionando de qualquer parte da amostra e o mesmo pode ser feito para o critrio de
atividade.
O Captulo ?? apresenta o modelo proposto nesta dissertao. Este modelo capaz
de construir o movimento oscilatrio a partir de posturas do rob, dadas como amostras
para o modelo, fazendo um mapeamento direto entre o comportamento observado e o
comportamento resultante. Diferentemente do que acontece nas abordagens baseadas
em osciladores no-lineares onde o comportamento observado precisa ser modelado
matematicamente atravs de equaes diferenciais e a partir destas equaes produzir
o comportamento desejado.

27

4
Mapas Auto-Organizveis

Os mapas auto-organizveis em essncia constroem um mapeamento de um espao de


entrada de alta dimensionalidade em um espao de estruturas topolgicas de baixa
dimenso. Neste mapeamento, elementos vizinhos no espao de entrada so mapeados
em regies vizinhas do espao de estruturas topolgicas.
Para melhor entender o STRAGEN (State Trajectories Generator ) utilizado na proposio do modelo tratado nesta dissertao, este captulo apresenta alguns mapas
auto-organizveis relacionados ao STRAGEN. O primeiro modelo apresentado o
clssico modelo de Kohonen, o ponto de partida dos mapas auto-organizveis. Em
seguida apresenta o modelo GCS (Estruturas Celulares Crescentes) projetado para
superar algumas limitaes do modelo de Kohonen, originadas devido a sua estrutura
rgida. Os outros modelos so: o GNG, muito semelhante ao GCS; e o GWR que traz
algumas novidades em relao aos modelos citados anteriormente.

4.1

Algumas Definies

Antes de mostrar os modelos de mapas auto-organizveis algumas definies precisam


ser levadas em conta: (?????):
Estmulo de entrada, sinal de entrada, ou apenas entrada da rede um vetor de
dados n-dimensional, = [ 1 2 ..., n ], isto , uma lista de nmeros que representam os valores do estmulo em cada dimenso;
Neurnio, unidade, n ou clula ni possui um conjunto de valores numricos ou
pesos sinpticos, wi . O vetor wi = [wi1 , wi2 , ..., win ] possui a mesma dimenso de
e pode ser considerado uma posio no espao de entrada;

28

4.2. SOM

O neurnio vencedor s possui vetor sinptico ws , tambm conhecido como neurnio mais adaptado, aquele que possui o maior grau de semelhana com o
estmulo de entrada;
Vrtice ou conexo, um conceito comum nos mapas auto-organizveis, unem os
neurnios para formar a sua vizinhana;

4.2

SOM

Segundo ?), um SOM (Mapa Auto-Organizado Self-Organizing Map ) uma ferramenta matemtica para visualizao de dados de alta-dimensionalidade. Ele cria um
mapeamento de uma distribuio de alta-dimenso em uma grade regular de baixadimenso. Sendo capaz de compactar informaes preservando os relacionamentos
topolgicos e as mtricas mais importantes dos dados originais. Com base nestas
caractersticas dois aspectos so evidenciados, o de abstrao e exibio simplificada
da informao. Estes dois aspectos podem ser utilizados de diversas maneiras em
uma variedade de aplicaes prticas como em reconhecimento de voz, anlise de
imagem, processos industriais de controle, organizao automtica de documentos
numa biblioteca, visualizao de registros financeiros etc
Os estmulos chegam para todas as unidades na rede, no entanto a unidade mais
ativa aquela cujo vetor de pesos wi mais prximo do estmulo de entrada. Esta
unidade chamada de vencedora ws , mantm-se ativa induzindo ativao dos neurnios vizinhos. Um requisito para a auto-organizao que os pesos sinpticos de
uma unidade sejam modificados apenas na vizinhana local da unidade vencedora e
todos os pesos modificados assemelhem-se ao estmulo atual com mais preciso que no
passado. Diferentes sinais de entrada em diferentes tempos afetam regies diferentes
na grade de unidades. Deste modo, depois de muitos passos de aprendizagem, os
pesos sinpticos (wi ) comeam a adquirir valores que se relacionam suavemente dentro
desta grade de maneira equivalente aos estmulos do espao de entrada () (?).
A unidade vencedora ws aquela possuidora do maior grau de semelhana com o
estmulo de entrada. A equao ?? descreve o processo de comparao:

i, k (t) ws (t)k k (t) wi (t)k.


4.1

A mtrica de comparao normalmente escolhida a distncia Euclidiana (???).


O algoritmo SOM modifica os pesos sinpticos das unidades vizinhas da unidade
vencedora de modo a aumentar o grau de semelhana entre estas unidades e estmulo

29

4.3. GCS

de entrada. A vizinhana do neurnio vencedor pode ser descrita pala funo de


vizinhana hci na equao ??, que atinge seu mximo para o vencedor, isto i = s. Esta
funo hsi normalmente descrita pela curva Gaussiana e retorna um valor escalar:

k ri r s k
hsi = (t) exp
,
22 (t)



4.2

onde 0 < (t) < 1 a taxa de aprendizagem, ri R2 e rs R2 so as posies vetoriais


dos elementos na grade, e (t) corresponde a largura ou raio da funo de vizinhana.
Os parmetros (t) e decrescem monotonicamente com o decorrer tempo t (??).
Na etapa de aprendizagem um estmulo de entrada (t) modifica os valores dos
pesos sinpticos wi (t) para novos valores wi (t + 1), t indica a iterao atual. A Equao
?? mostra como a atualizao dos pesos sinpticos da unidade vencedora e de suas
vizinhas dependem dos estmulos de entrada: quanto maior a diferena entre o estmulo
e os pesos sinpticos de uma unidade, maior ser o salto em direo ao vetor que
representa o estmulo de estrada (?).
wi (t + 1) = wi (t) + hsi (t)( (t) wi (t)).

4.3


4.3

GCS

Algumas limitaes do SOM motivaram a criao de um modelo de rede neural de


topologia varivel. As limitaes do SOM esto relacionadas estrutura e dimenso fixa
decididas previamente. Como a distribuio de probabilidade dos dados de entrada
no conhecida, a configurao da estrutura da rede decidida previamente pode no
capturar bem este dados de entrada, consequentemente comprometendo a preciso da
rede. A rede GCS (Growing Cell Structures) proposta por ?), semelhante rede SOM,
capaz de mapear um estmulo de entrada n-dimensional, denotado por V = Rn , em
um estrutura com topologia varivel A de k dimenses. Este mapeamento contm as
seguintes propriedades:
Estmulos similares de entrada so mapeados em unidades de A topologicamente
prximas;
Elementos topologicamente prximos em A possuem sinais similares de entrada;
Regies de V onde a densidade de probabilidade da distribuio do vetor de
entrada alta deve ser representada por muitas unidades correspondentes em A.

30

4.3. GCS

A topologia inicial da rede A um simplex de dimenso k. Para k = 1 o simplex um


segmento de reta, para k = 2 um tringulo e para k = 3 ou maior, um tetraedro ou hipertetraedros. Os vrtices do simplex so os neurnios, as arestas ou conexes representam
a relao de vizinhana topolgica. Durante o processo de auto-organizao, novos
neurnios so adicionadas rede e neurnios no relevantes so removidas. Ao
termino de cada iterao a rede inteira mantm sua estrutura simplex consistente com
dimenso k (?).
Cada neurnio ni est associada a um vetor sinptico wi de dimenso n. Este
vetor pode ser entendido como a posio de ni no espao vetorial de entrada. Um
mapeamento w do espao vetorial de entrada V para a rede A definido como o
mapeamento entre o estmulo de entrada e o neurnio vencedor. Formalmente escrito
por ?):

4.4
w : V A, ( V ) 7 (w ( ) A)

onde w ( ) = ws o vetor sinptico do neurnio vencedor encontrado matematicamente com a equao ??. Com o mapeamento w que associa cada estmulo de entrada
a um vetor sinptico wi , V particionado em regies Fi (i A), cada uma formada
de localizaes que possuem em comum o vetor sinptico wi mais prximo. Este particionamento conhecido como decomposio de Voronoi, e as regies so denotadas
como regies de Voronoi (?).
A princpio, a adaptao dos vetores sinpticos no GCS feita como Kohonen
props:
1. Determine a unidade mais semelhante para o estmulo de entrada atual.
2. Torne a unidade mais semelhante e a sua vizinhana topolgica ainda mais
semelhante a este estmulo.
No modelo de Kohonen, a taxa de aprendizagem, chamada de fora de adaptao
por ?), diminui com o decorrer das iteraes. Alm disso a vizinhana topolgica
escolhida grande no incio e tambm diminui com o tempo. Existem, no entanto, duas
diferenas importantes entre o GCS e o SOM, so elas:
A fora de adaptao constante no tempo, mais especificamente os parmetros
de adaptao s e n relacionados a unidade mais semelhante e aos neurnios
vizinhos respectivamente;
Apenas a unidade mais semelhante e seus vizinhos topologicamente diretos so
adaptados.

31

4.3. GCS

O passo de adaptao do algoritmo GCS pode ser descrita como a seguir ?):
1. Escolha um estmulo de entrada levando em conta a distribuio de probabilidade P( );
2. Encontre o neurnio vencedor s;
3. Mova s e sua vizinhana topolgica direta em direo a :
ws = s ( ws )
wns = n ( wns )

(ns Ns ),


4.5


4.6

onde Ns denota o conjunto dos vizinhos topolgicos do neurnio s;


4. Incremente o contador de vitrias de s,
s = 1,


4.7

5. Decremente todos os contadores de vitrias:


i = i

(i A),


4.8

assim, as vitrias mais recentes recebem uma ponderao mais forte do que os
anteriores.
A distribuio de probabilidade P( ) no conhecida explicitamente, mas pode ser
estimada com contador local de vitrias. Este contador indica a frequncia relativa dos
estmulos de entrada recebidos por um neurnio. A frequncia relativa de vitrias de
um neurnio i dada por

hi = i / j .
4.9

j A

Espera-se que a frequncia relativa de vitrias de cada neurnio seja similar. Um valor
elevado de hi , portanto, indica um boa posio para inserir um novo neurnio desde
que o novo neurnio seja capaz de reduzir este valor elevado ?).
Sempre depois de um nmero fixo de passos de adaptao o neurnio q com a
seguinte propriedade determinado
h q > h i i A ).



4.10

32

4.4. GNG

Depois, o vizinho f de q que possui a maior distncia para o espao de entrada


determinado, de acordo com

k w f w q k > k wi w q k

(i Nq ).



4.11

O novo neurnio r inserido entre q e f . Este novo neurnio conectado com


outros neurnios de maneira que a estrutura da rede continue consistente com simplices
de dimenso k. O vetor sinptico r inicializado como
wr = 0.5(wq + w f ).



4.12

A insero de r gera a uma nova regio de Voronoi Fr dentro do espao de entrada. Ao


mesmo tempo as regies de Voronoi na vizinhana topolgica de r diminuem. Esta
mudana reflete nos contadores, i , da seguinte maneira
(novo )

i =

| Fi

(velho )

| | Fi
(velho )

| Fi

i (para todo i Nr ).



4.13

Onde | Fi | o volume da regio Fi de dimenso n. O valor inicial do contador de vitrias


do novo neurnio definido como
r =

i .

i Nr

4.4



4.14

GNG

A rede GNG (Growing Neural Gas) proposta por ?) outro modelo de topologia varivel
muito semelhante ao GCS e caracterizado da seguinte maneira:
Um conjunto A de neurnios, em que cada neurnio i A tem um vetor sinptico
associado wi Rn .
Um conjunto N de conexes entre pares de neurnios. Estas conexes no ponderadas tm o propsito de definir a estrutura topolgica da rede.
O estmulo de entrada obedece a alguma funo de densidade de probabilidade
P( ) desconhecida
O crescimento do GNG ocorre levando em conta uma avaliao local com medidas
estatsticas obtidas nas iteraes ou passos de adaptao do passado, semelhante ao

33

4.4. GNG

modelo GCS de ?). O algoritmo GNG apresentado a seguir:


1. Inicie com duas unidades a e b em posies aleatrias w a e wb em Rn .
2. Obtenha um estmulo de entrada a partir da distribuio de probabilidade P( );
3. Encontre a unidade vencedora s1 e a segunda unidade vencedora s2 .
4. Incremente a idade de todas as conexes de s1 .
5. Acumule o erro local de s1 :
error(s1 ) = kws1 k2



4.15

6. Mova s1 e seu vizinhos topologicamente diretos na direo de proporcionalmente a s e n , respectivamente, segundo:


ws1 = s ( ws1 )



4.16

wn = n ( wn ), n Ns1



4.17

7. Se s1 e s2 possui uma conexo, atribua o valor zero a esta conexo. Se tal conexo
no existe, crie.
8. Remova conexes com idade maior que amax . Se resultar em neurnios desconexos, remova-os.
9. Se o nmero de estmulos de entrada apresentados a rede at o momento for um
mltiplo de um parmetro , insira um novo neurnio como a seguir:
Determine o neurnio q com o mximo erro acumulado;
Insira um novo neurnio r na metade da distncia entre q e seu vizinho f
com o maior erro:


wr = 0.5(wq + w f ).
4.18


Insira conexes entre novo neurnio r e os neurnios q e f , e remova a
conexo original entre q e f ;
Decremente a varivel de erro de q e f multiplicando por uma constante .
Inicialize a varivel de erro de r com o mesmo valor da varivel de erro de q.
10. Decremente todas as variveis de erro, multiplicando-as por uma constante d.

34

4.5. GWR

11. Se nenhum critrio de parada (exemplo, tamanho da rede ou alguma medida de


desempenho) for atingido retorne ao passo 1.

4.5

GWR

A rede GWR (Grow When Required) proposta por ?) tem dois componentes importantes,
os neurnios e as conexes. Tanto os neurnios quanto as conexes podem ser criados
e destrudos durante o processo de aprendizagem. Diferente do GNG, que adiciona
um neurnio a cada iteraes, o GWR adiciona um neurnio a qualquer momento. O
posicionamento deste novo neurnio depende da entrada e do neurnio vencedor, ao
invs de adicionar onde o erro acumulado maior, como no GNG.
Um novo neurnio adicionado quando a atividade do neurnio vencedor no
alta o suficiente. A atividade de um neurnio calculada atravs da funo de distncia
Euclidiana entre seu vetor de pesos e o vetor de entrada. Cada neurnio equipado
com uma varivel para registrar a sua frequncia de vitrias (?).
Uma maneira de registrar a frequncia de vitrias armazenar o valor 1 em uma
varivel e fazer o valor desta varivel decrescer exponencialmente de 1 para 0 a medida
que o neurnio v vencendo. Deste modo, um neurnio novo ter o valor 1 e os
neurnios que disparam frequentemente tero o valor prximo a 0. Os vizinhos do
neurnio vencedor tambm so atualizados, mas o valor armazenado decresce mais
lentamente (?).
Ao apresentar uma entrada rede, a atividade de cada neurnio no mapa calculada
e o vencedor escolhido. Se este neurnio vencedor representar bem a entrada ento a
atividade deste neurnio ser prxima a 1. Neste caso, o nvel de adaptao aplicado
ao neurnio vencedor bem como sua vizinhana pequeno. Entretanto, se a atividade
da rede menor que o limiar de insero a T , ento o neurnio vencedor foi adicionado
recentemente rede ou ele e o padro de entrada so diferentes ento o neurnio
vencedor precisa ser adaptado. Se o neurnio foi adicionado recentemente ento a
varivel que registra os disparos ter um valor elevado, perto de 1. Caso contrrio, um
novo neurnio adicionado entre o neurnio vencedor e a entrada (?).
Um limiar de ativao identifica quando o estmulo de entrada j foi aprendido pela
rede, caso o estmulo de entrada provoque uma atividade na rede menor que o limiar
estabelecido, ento este estmulo deve ser aprendido pela rede. Assim, baixa atividade
significa pouca semelhana entre a rede e a entrada. O valor do limiar de insero a T
exerce grande influncia na quantidade de neurnios inseridos na rede. Se o valor
configurado bem prximo a 1 ento mais neurnios sero produzidos e a entrada ser

35

4.5. GWR

bem representada. Para valores pequenos de a T poucos neurnios so adicionados (?).


Para o algoritmo descrito a seguir, considere A o conjunto de todos os ns do
mapa e C A A o conjunto de conexes entre ns contidos no mapa. A distribuio
dos dados de entrada representada por p( ), e a entrada por . O vetor de pesos do
neurnio ni como wi (?).
Inicializao: Coloque dois ns no conjunto A
A = { n1 , n2 },



4.19

com n1 e n2 inicializados randomicamente a partir de p( ). O conjunto de conexes C


inicializado vazio


4.20
C = .


O algoritmo apresentado a seguir:
1. Apresente para a rede uma amostra dos dados de entrada;
2. Para cada n i da rede, calcule a distncia para amostra de entrada k wi k.
3. Selecione o n mais semelhante, e o segundo mais semelhante ao padro de
entrada, isto , os ns s1 , s2 A tal que
s1 = arg min k wn k



4.21

s1 = arg min k wn k



4.22

n A

e
n A/{s}

onde wn o vetor de pesos do n n.


4. Caso no exista uma conexo entre s1 e s2 , crie
C = C {(s1 , s2 )},



4.23

caso exista, atribua o valor 0 para a idade da conexo.


5. Calcule a atividade da unidade mais semelhante
a = exp(k ws1 k).



4.24

6. Se a atividade a for menor que o limiar de atividade a T e a quantidade de ativaes


do neurnio for alta (o valor presente na varivel que registra os disparos menor

36

4.5. GWR

que o limiar h T ), ento um novo neurnio deve ser adicionado entre os dois
neurnios mais semelhantes (s1 e s2 ) ao padro de entrada
Adicione um novo neurnio, r
A = {r }.



4.25

Crie o novo vetor de pesos, atribuindo aos pesos a mdia entre pesos do
neurnio vencedor e o vetor de entrada
wr = (ws1 + )/2.



4.26

Insira conexes entre r e s1 , e entre r e s2


C = C {(r, s1 ), (r, s2 )}.



4.27

Remova a conexo entre s1 e s2


C = C/{(s1 , s2 )}.



4.28

7. Se um novo neurnio no for adicionado, ajuste a posio do neurnio vencedor


e dos neurnios conectados a ele, os vizinhos i,
ws1 = b hs1 ( ws1 )



4.29

wi = n hi ( wi ), i Ns1



4.30

onde 0 < n < b < 1 e hs1 o valor do registrador de disparos do n s1 .


8. Incremente a idade das conexes que chegam ao neurnio s1
age(s1 ,i) = age(s1 ,i) + 1



4.31

9. Reduza o registrador de vitrias do neurnio s1 de acordo com


h s1 ( t ) = h 0

S(t)
(1 e(b t/b ) )
b



4.32

37

4.6. CONSIDERAES

e de seus vizinhos (i )
h i ( t ) = h0

S(t)
(1 e(n t/n ) )
n



4.33

onde hi (t) o valor do registrador de disparos do neurnio i, h0 o valor inicial


para o registrador de vitrias, e S(t) a fora do estmulo, normalmente 1. As
constantes n , b , n , e b controlam o comportamento da curva. O registrador de
disparos do vencedor reduz mais rapidamente que dos seus vizinhos. A equao
?? a soluo da seguinte equao diferencial
b

dhs1 (t)
= b [h0 hs1 (t)] S(t),
dt



4.34

que o modelo de reduo da eficcia da sinapse com o passar do tempo.


10. Verifique se existe qualquer neurnio ou conexo a ser deletada, isto , se existe
qualquer neurnio que no possui mais nenhum vizinho, ou conexo que mais
velha que o maior valor permitido, ento delete.
11. Se existirem mais entradas disponveis, ento retorne ao passo 1, caso nenhum
critrio de parada tenha sido alcanado.

4.6

Consideraes

Este captulo apresentou os mapas auto-organizveis mais importantes para entender


o STRAGEN. As caractersticas destes mapas mais marcantes e presentes no STRAGEN
so: a estrutura topolgica varivel, como no GCS, GNG e GWR; o crescimento de
acordo com a resposta da rede a um dado estmulo, caso a rede no responda bem a este
estmulo ento a rede dever aprender este estmulo, semelhante ao comportamento
do GWR.
Os assuntos mais importantes para a compreenso da abordagem proposta no
prximo Captulo, o ??, esto presentes nos Captulos ?? e ??.

38

5
Proposio do Modelo: STRAGIC

A proposta de soluo para o problema tratado no Captulo ?? consiste em construir


trajetrias de estados contendo informaes uteis para o controle de locomoo de um
rob com membros. Estas trajetrias so formadas a partir de dados capturados durante
a locomoo de um rob simulado semelhante ao rob que se deseja controlar. Estes
dados podem ser ngulos das articulaes, sinais de sada dos osciladores aplicados as
articulaes, ou as posies das articulaes no espao Euclidiano 3D. Embora o texto
esteja focando no sinal de sada do CPG por ser uma informao comumente utilizada
para controlar a locomoo de um rob com membros.
A proposta de soluo denominada STRAGIC (Gerador de Trajetrias de Estados
com Interconexes). O STRAGIC um modelo projetado a partir do STRAGEN
(State Trajectories Generator Gerador de Trajetrias de Estados) para desempenhar um
comportamento semelhante a um CPG artificial. A estrutura interna da rede gerada
pelo STRAGIC diferente dos modelos de CPGs artificiais vistos no Captulo ??. No
entanto, o STRAGIC capaz de gerar trajetrias de estados que descrevem o mesmo
sinal produzido por osciladores que compem um CPG. O STRAGEN proposto por ?)
um modelo de Rede Neural Artificial de topologia varivel capaz de gerar trajetrias
de estados a partir do mapeamento do espao de estados de um sistema.
Um trajetria de estados pode ser vista como uma sequncia de estados que parte
de um determinado estado inicial para um estado final desejado. A trajetria de estados
que descreve a locomoo de um rob contm informaes que determinam a postura
do rob durante um passo. Um estado pode conter uma descrio da postura do rob
ou um conjunto de nveis dos sinais gerados pelos CPG que definem a postura. A
postura o conjunto das posies angulares de todas as articulaes dos membros do
rob em um instante de tempo. As informaes contidas nos estados so coletadas
em um intervalo de tempo regular durante um passo do rob. Quanto menor este

39

intervalo de tempo, mais estados estaro contidos na trajetria de estados que descreve
o passo do rob.
A locomoo do rob realizada com a execuo constante dos passos do rob.
Uma trajetria que descreve um passo do rob uma trajetria fechada, j que o incio
do passo coincide com o final. Assim, o rob se locomover ao executar uma trajetria
fechada sucessivas vezes.
Algumas caractersticas ou propriedades do funcionamento dos modelos de CPG
biologicamente inspirados so incorporadas no modelo proposto:
O comportamento da sada dos CPGs so sinais oscilatrios que podem ser
visualizados em cada instante de tempo como um estado. Deste ponto de vista,
o STRAGIC tambm gera sinais oscilatrios contidos em estados. Embora a
estrutura interna dos modelos seja completamente diferente.
Um estmulo eltrico simples vindo do tronco cerebral capaz de controlar
os padres de sada do CPG e consequentemente a velocidade e o modo de
locomoo (?). O STRAGIC pode receber comandos para aumentar ou diminuir a
velocidade sendo que cada velocidade resultante est associada a um modo de
locomoo.
Um CPG composto de osciladores neurais conectados aos neurnios motores.
Estes neurnios motores estimulam os msculos para movimentar os membros
(?). O STRAGIC no reproduz a estrutura interna de um CPG, mas mantm um
comportamento semelhante em relao a sua sada. Ele gera os movimentos
rtmicos nos membros atravs de trajetrias cclicas de estados.
O sincronismo entre osciladores de um CPG determina o modo de locomoo. O
STRAGIC captura um conjunto de amostras de posturas e constri uma trajetria
de estados com a mesma sequncia dos estados originais gerados durante a
locomoo, logo o STRAGIC mantm o mesmo sincronismo presente nas amostras
de entrada.
Alm dessas caractersticas, o STRAGIC capaz de construir trajetrias at mesmo
quando as amostras so originadas de uma fonte ruidosa. A construo dos movimentos pode ser realizada atravs do balbuciamento1 motor (?), um procedimento que
possui plausibilidade no modo que os bebs aprendem seus primeiros movimentos.
Os nodos do STRAGIC podem tratar diferentes tipos de informao, pois a dinmica
1 Balbuciar:

falar imperfeitamente, como as crianas, ou hesitando.

40

5.1. A ESTRUTURA DO STRAGIC

Figura 5.1: Treinamento do STRAGIC.


da rede pode ser modificada atravs da escolha do critrio de vizinhana. O STRAGIC
tem capacidade de lidar com dados que caracterizam a locomoo (ex. postura) no
importando a abordagem utilizada para gerar estes dados.
Uma vantagem do STRAGIC em relao aos modelos tratados no Captulo ?? que
o STRAGIC no precisa preocupar-se com a defasagem entre membros, j que esta
informao est embutida indiretamente nas informaes dos estados.

5.1

A Estrutura do STRAGIC

O STRAGIC est dividido em dois mdulos, o Mdulo de Gerenciamento de Locomoo (MGL) e o Mdulo de Controle de Locomoo (MCL). O MCL constri trajetrias
de estados que determinam os modos de locomoo do rob, j o MGL constri as
interligaes entre trajetrias. O MCL possui um Componente Construtor de Mapa
Topolgico (CCMT), um Montador de Trajetrias e um Identificador de sub-redes. O
MGL possui um Classificador de Sub-Redes e um Gerador de Inter-Conexes, ver
Figura ??.
Para treinar o STRAGIC o primeiro passo fornecer uma base de dados contendo
estados originados de modos de locomoo de um rob. Esta base de dados passada
ao (MCL) que constri sub-redes associadas a um modo de locomoo. O CCMT
constri uma rede contendo sub-redes, o Montador de Trajetrias cria trajetrias cclicas
a partir de uma sub-rede e o Identificador de Sub-Redes a partir dos estados de controle
determina quais neurnios pertencem a uma sub-rede.
Depois de identificadas as sub-redes so passadas para o MGL, o Classificador
de Sub-Redes do MGL identifica a velocidade associada a cada sub-rede ordena. O
Gerador de Inter-Conexes constri interligaes entre redes que representam velocidades prximas. Com a realizao das interligaes a rede resultante capaz de fazer a
transio entre sub-redes ou permanecer em uma sub-rede de acordo com o comando
recebido.

5.1.1

Mdulo de Controle de Locomoo

No Mdulo de Controle de Locomoo (MCL), cada neurnio representa um estado


do rob que na etapa de aprendizagem as amostras (estados) so apresentadas a rede
neural aleatoriamente de acordo com a distribuio uniforme.

41

5.1. A ESTRUTURA DO STRAGIC

O MCL possui um Componente Construtor de Mapa Topolgico (CCMT) implementado com o STRAGEN. No decorrer da fase de aprendizagem o Componente
Construtor de Mapa Topolgico recebe um conjunto de estados aleatrios relacionadoos de maneira a representarem uma trajetria de estados que descreve a locomoo
do rob. Considerando que estados de diferentes trajetrias sejam apresentados, o
Construtor de Mapa Topolgico capaz de construir cada trajetria presente nestes
estados. Considerando que uma trajetria de estado descreve um modo de locomoo,
o CCMT a partir destes estados aprende diferentes modos de locomoo. Depois da
trajetria de estados construda pelo CCMT, as informaes sobre as posturas contidas
nestes estados so utilizadas para determinar as posturas do rob durante a locomoo.
O STRAGEN original foi projetado para gerar trajetrias de estados para representar sistemas que tenham suas configuraes determinadas por estados possveis, e
um conjunto vlido de transies entre estados. Um dos problemas resolvidos pelo
STRAGEN o controle de manipuladores robticos interpretado como um problema
de gerar trajetrias de estados. Redes neurais com topologia varivel como a GCS,
GNG e GWR podem ser utilizadas para aprender um conjunto de dados de exemplos
para representar o espao de estados do problema. No entanto, estas redes modificam as informaes contidas nos estados, em relao aos dados originais, devido a
movimentao dos neurnios (?). Neurnios com informaes diferentes das amostras
originais resultam em trajetrias tambm diferentes das originais.
Para a construo do mapa topolgico, considere C o conjunto de conexes entre
estes nodos, uma amostra de entrada, wi o vetor de pesos associado ao nodo i.
Inicialize o conjunto A com dois nodos n1 e n2 posicionados em wn1 e wn2 , em RD ,
representando dois padres aleatrios do conjunto de dados, sendo D a dimenso dos
dados de entrada, assim A = {n1 , n2 }. Inicialize o conjunto de conexes vazio com
uma conexo entre n1 e n2 , C = {cn1 ,n1 }.
Cada vetor de pesos wi pode conter informaes heterogneas, divididas em m
grupos com elementos pertencentes a um mesmo domnio. Dois destes m grupos tm
maior importncia no algoritmo, so eles o grupo w a usado para calcular a atividade
do neurnio e o grupo wn usado para criar a vizinhana da rede. O grupo w a pode ser
divido em outro l subgrupos, desta forma o limiar de atividade pode conter l elementos,
a = [ a1 a2 ...al ] T . O vetor de pesos associados ao nodo i definido a seguir:
wi = [v1i v2i ...v Di ] T = [w1i ...w ai ...wni ...wmi ] T .
O algoritmo de treinamento do CCMT (STRAGEN) apresentado abaixo (?):

42

5.1. A ESTRUTURA DO STRAGIC

1. Apresente a rede uma amostra j = [ 1j ... a j ... n j ... m j ] T . As amostras so obtidas


da base de dados de maneira aleatrias e sem informar a sua posio cronolgica;
2. Para cada vetor de peso wi na rede, calcule a distncia Euclidiana para o estmulo
de entrada j , empregando o grupo que define a vizinhana. Determine o nodo
mais prximo, s1 , e o segundo mais prximo, s2 , da amostra de entrada:

k n w n s1 k k n w n i k , i A


5.1

k n w n s2 k k n w n i k , i A { s 1 }


5.2

3. Atualize o nmero de vitrias do vencedor, s1 = s1 + 1;


4. Insira uma nova conexo entre s1 e s2 , se ainda no existir, C = C (s1 , s2 );
5. Calcule a atividade do estmulo de entrada j em relao ao nodo vencedor (s1 )
para cada subgrupo k do grupo de atividade considerando:
as1 ,k = exp(k a j ,k ws1 ,k k), 1 k l


5.3

onde l o total de subgrupos de atividade, w ai = [w ai ,1 w ai ,2 ... w ai ,l ] T e j =


[ j,1 j,2 ... j,l ]T .
6. Se a atividade de qualquer subgrupo de n for menor que um limiar estabelecido
para este subgrupo, ento adicione um novo nodo na localizao descrita pelo
exemplo de entrada:
(a) Adicione o novo nodo r ao conjunto A: A = A {r };
(b) Crie um novo vetor de pesos para o nodo r, ou seja, wr = j ;
(c) Remova a conexo (s1 , s2 ), C = C {(s1 , s2 )};
(d) Calcule as distncias, D = {Dst(r, s1 ), Dst(r, s2 ), Dst(s1 , s2 )}, onde a distncia
entre dois nodos n a e nb dado por:
Dst(n a , nb ) = kwna wnb k,
(e) Selecione as duas menores distncias Dst1 e Dst2 :
Dst1 = arg min( D ), Dst2 = arg min( D {Dst1 }).

43

5.1. A ESTRUTURA DO STRAGIC

(f) Insira duas novas conexes, uma entre os nodos de Dst1 e outra entre os
nodos de Dst2 :
C = C {arg(Dst1 )}
C = C {arg(Dst2 )}
7. Se um novo nodo no for inserido no passo anterior (6), atualize o vetor de pesos
do nodo vencedor s1 :
(
ws1 = ( j ws1 ), onde : =

(s1 /max )

eb f

s1 max

eb f

s1 > max

0 < eb < 1 a taxa de aprendizagem; f 0 a taxa de aprendizagem final; s1


o contador de disparos do nodo vencedor; max o nmero mximo de disparos,
sugerido como max = 2 Imax /L, Imax o nmero mximo de iteraes e L a
quantidade de amostras na base de dados.
8. Calcule o tamanho mdio (s1 ) e o desvio padro (s1 ) de todas as conexes
emanando do nodo vencedor s1 :
| Ns |

1 Dst(s1 , ni )
s1 = i =1
;
| Ns1 |
v
u | Ns |
u
t i=11 (Dist(s1 , ni ) s1 )2
s1 =
,
| Ns1 | 1
onde | Ns1 | o nmero de vizinhos, Ns1 o conjunto de vizinhos de s1 e ni um
nodo vizinho de s1 , i.e, ni Ns1 .
9. Se | Ns1 | > 2, remova todas as conexes (cs1 ,ni ) do conjunto C para as quais:
Dst(s1 , ni ) > s1 + f p s1 , ni Ns1 ,
onde f p o fator de poda da rede, cujo valor recomendado 0, 8 de acordo com
os experimentos do Captulo ??.
10. Remova todos os nodos sem vizinhos, | Nni | = 0, ni A.
11. Repita todos os passos a partir do passo (1) at que um nmero mximo de
iteraes tmax , ou algum outro critrio de parada tenha sido atingido.

44

5.1. A ESTRUTURA DO STRAGIC

A trajetria entre dois estados gerada de acordo com uma funo para propagao
de energia (Equao ?? ). Para utiliz-la, assinala-se um nodo alvo e um nodo inicial
que representa o estado de partida no CCMT. O nodo alvo tem energia de valor 1, 0
e todos os demais so inicializados com energia zero. A energia iterativamente flui
atravs da rede, de vizinho em vizinho at atingir o ponto inicial. O Algoritmo de
Gerao de Trajetrias entre dois estados pr-determinados o seguinte:
1. Inicialize a funo de difuso f ni (0) = 0, ni A/ni 6= ntarg e f ntarg (0) = 1, 0.
2. Repita para todo ni A at f ninit (k ) 6= 0
(
f ni ( k + 1) =

1
k, if ni = ntarg
n j Nn f n j (k ) if ni 6= ntarg


5.4

onde Nni o conjunto de todos os nodos que so vizinhos de ni , | Nni | sua cardinalidade, e = 1(| Nni | + 1). O valor de f ntarg permanece em 1,0 em todas as iteraes
k.
O Componente Montador de Trajetria constri uma trajetria cclica a partir de
um conjunto C = {c1 , c2 , ..., cn } de estados de controle. Estes estados, aos pares so
enviados para o Algoritmo de Gerao de Trajetrias do CCMT que devolve uma subtrajetria para cada par. O Montador de Trajetria agrupa as sub-trajetrias fornecidas
pelo ao algoritmo de gerao de trajetrias formando uma Trajetria Cclica. Os
estados de controle C, so processados pelo Montador de Trajetria como mostra o
algoritmo a seguir:
1. Repita para i de 1 at n 1:
(a) Execute o algoritmo de gerao de trajetria passando como o alvo ci e como
estado inicial ci+1
(b) Salve a trajetria entre ci e ci+1 ;

5.1.2

Mdulo de Gerenciamento de Locomoo

O Mdulo de Gerenciamento de Locomoo atua depois que o Mdulo de Controle


de Locomoo aprende diferentes trajetrias. O MGL tem o papel de escolher qual
destas trajetrias deve ser executadas pelo rob. Para tanto, preciso um mecanismo
que permita a transio de um modo de locomoo para outro. Esta transio torna-se
vivel devido a existncia de conexes entre neurnios pertencentes a duas sub-redes

45

5.1. A ESTRUTURA DO STRAGIC

distintas. Com estas conexes inter-trajetrias, o MGL torna-se apto a gerenciar a


transio de um modo de locomoo para outro.
Antes de gerar as conexes inter-trajetrias preciso identificar qual o modo de
locomoo contido em cada trajetria. Esta identificao pode ser feita atravs alguma
mtrica aplicada s informaes contidas nos estados, como por exemplo a velocidade
mdia de deslocamento angular dos membros ou a quantidade de estados da trajetria.
Depois de identificadas, as trajetrias so organizadas de acordo com a mtrica estabelecida em ordem crescente de velocidade. As interconexes so construdas tomando
as trajetrias duas a duas, primeiro em ordem crescente de velocidade e em seguida na
ordem decrescente.
importante criar as interconexes tanto no sentido crescente de velocidade quanto
no sentido decrescente, para garantir que cada nodo de cada trajetria possua um
interconexo. Pois, se utilizar apenas uma direo, algum estado da trajetria de
destino poder ficar sem interconexo, j que mais de um estado da trajetria de
origem pode escolher o mesmo estado da trajetria de destino. Alm disso, a trajetria
de destino pode conter menos estados que a trajetria alvo. Para que a transio ocorra
de qualquer estado necessrio que cada neurnio da trajetria de partida possua uma
conexo com o neurnio mais prximo da trajetria de destino.
Para evitar a reconstruo da mesma trajetria repetidas vezes foi elaborado uma
etapa de memorizao. Nesta etapa a trajetria gravada juntamente com o seu
sentido. importante gravar o sentido da trajetria, pois se a trajetria for processada
no sentido invertido o modo de locomoo resultante ser diferente do original. Esta
etapa de memorizao consiste em utilizar trs estados obtidos dos dados originais
um do incio do passo, outro do meio e o terceiro do final. Estes estados de controle
so passados como entrada para o CCMT, e como sada o CCMT retorna a trajetria
completa considerando a ordem contida nos estados de controle. Para cada novo
conjunto de estados de controle o MGL armazena a trajetria gerada para evitar o
clculo desnecessrio de trajetrias que j foram geradas.
Algoritmo para construir as interconexes entre trajetrias:
1. Identifique trajetrias por velocidade, utilizando uma mtrica, como:
(a) A velocidade angular dos membros:
np

v=

(t)/n p ,

t =1


5.5

onde v o vetor velocidade angular mdia dos membros, n p a quantidade

46

5.1. A ESTRUTURA DO STRAGIC

de estados da trajetria, o vetor posio angular dos membros. O valor de


n p s pode ser determinado depois que o Montador de Trajetria construir a
trajetria cclica;
(b) Ou, a quantidade de estados na trajetrias. Pois levando em conta que estes
estados so coletados em intervalos constantes de tempo, uma trajetria com
velocidade mais elevada descreve um passo com menos estados.
2. Ordene cada trajetria Ti , i = 1, ..., ntraj de acordo como a mtrica escolhida em
ordem crescente, resultando em T = { T1 , T2 , ..., Tntraj }, onde ntraj a quantidade
de trajetrias;
3. Construa o mapa inter-trajetrias:
(a) Para i = 1 at ntraj 1:
Crie as interconexes entre Ti e Ti+1 , para o aumento da velocidade ;
(b) Para i = ntraj at 1:
Crie as interconexes entre Ti e Ti1 , para a reduo da velocidade;
Algoritmo para criar as conexes entre duas trajetrias identificando a melhor
conexo:
1. Informe as trajetrias Ta origem e Tb destino;
2. Para cada estado ai Ta , onde Ta = { a1 , ..., al } e l nmero de estados em Ta , faa:
(a) Encontre o estado b j mais prximo de ai , onde b j Tb = {b1 , ..., bm } e m
nmero de estados em Tb ;
(b) Crie a conexo entre ai e b j ;
(c) Guarde os dois estados ( ai , b j ) que possurem a menor distncia em ( aimin , b jmin );
3. Crie a conexo entre aimin e b jmin , definindo esta conexo como a melhor transio
entre as trajetrias Ta e Tb .
Figura 5.2: Diagrama de utilizao do STRAGIC para um modo de locomoo.

Depois do treinamento, o STRAGIC pode ser utilizado de duas maneiras dependendo da quantidade de modos de locomoo aprendida. A forma mais simples de
utilizao quando apenas um modo de locomoo for ensinado para o sistema, ver

47

5.2. DISCUSSES

Figura 5.3: Diagrama de utilizao do STRAGIC para mais de um modo de locomoo.

Figura ??. Quando mais de um modo de locomoo for aprendido o STRAGIC receber
comandos para alterar a velocidade de locomoo do rob ??. Os comandos de entrada
do STRAGIC so: aumentar a velocidade, diminuir a velocidade, aumentar ou diminuir
a velocidade da maneira mais suave possvel. Como sada o STRAGIC fornece em cada
intervalo de tempo o estado atual do rob.

5.2

Discusses

Esta seo faz uma breve discusso sobre o algoritmo do Construtor do Mapa Topolgico focando em dois importantes parmetros, o limar de atividade e o fator de
poda.
A inicializao do conjunto de conexes pode ser vazia ou com a conexo entre os
dois nodos iniciais do conjunto A. J que depois da primeira passagem pelo passo (6),
durante a criao do primeiro nodo e terceiro inserido no conjunto A, restaro na rede
as duas melhores conexes. Alm disso, o passo (4) cria uma conexes entre os dois
nodo mais prximos da amostra, caso ainda no exista.
O passo (2) determina os dois nodos mais prximos do amostra de entrada. Estes
nodos so utilizados em outros passos do CCMT, os passos (4) e (6) utilizam os dois, j
os passos (5), (7), (8) e (9) utilizam apenas o nodo mais prximo.
O nmero de vitrias de um determinado nodo calculado no passo (3) utilizado
no passo (7), para modificar o tamanho do passo de adaptao, tambm chamada de
taxa de aprendizagem. Quanto maior for a quantidade de vitrias menor ser o passo
de adaptao. O passo (4) garante a existncia de uma conexo entre os dois nodos
mais prximos do padro de entrada.
O passo (5) calcula a atividade da amostra, valores menores de atividade significam
que a amostra esta mais distante do nodo vencedor e valores elevados a amostra est
mais prxima do nodo vencedor. O passo (6) verificar se a atividade menor que um
limiar estabelecido, caso verdadeiro, adiciona a amostra rede em forma de nodo.
Ento quanto maior o valor pr-estabelecido para o limiar de atividade mais nodos so
adicionados a rede.
Quando o limar de atividade alto o suficiente para deixar a rede aprender todos as
amostras da base de dados o passo (7) de adaptao do Construtor do Mapa Topolgico
fica inutilizado. J que novos padres apresentados a rede cairo na mesma localizao

48

5.2. DISCUSSES

Figura 5.4: Diagrama desvio padro, fonte Wikipdia.


de algum nodo da rede e no existiro mais amostra para inserir. Desta maneira a
rede convergir poucos passo depois da iterao de nmero cujo valor o mesmo do
tamanho da base de dados.
O termo fator de poda foi criado durante a execuo dos experimentos desta dissertao, pois verificou-se que o valor do fator de poda exercia uma grande influncia na
formao da rede e consequentemente nos resultados gerados. Na verso original do
STRAGEN, o fator de poda era um valor fixo em 1, 5.
A distribuio de probabilidade do tamanho das conexes desconhecida, mas
para simplificar a anlise e facilitar o entendimento do passo (7) a distribuio de
probabilidade normal foi escolhida, Figura ??. Assim, o fator de poda esta diretamente
relacionado ao desvio padro. O passo (7), para o nodo s1 , exclui conexes maiores
que a mdia mais o fator de poda vezes o desvio padro das conexes ligadas a s1 .
Considerando 1,0 como sendo o valor do fator de poda, as conexes tm apenas 15, 8%
de probabilidade de serem excludas, por outro lado considerando 2, 0 para o fator
de poda a probabilidade passa para 97, 8%.
Uma boa opo para o critrio de parada o nmero de conexes no crescer por
um determinado nmero de interaes. A escolha por conexes ao invs de nodos
feita devido ao fato de que uma conexo pode ser criada tanto no passo (4) quanto no
passo (6), mas um novo nodo s pode ser criado no passo (6).

49

6
Experimentos

Um dos objetivos desta seo verificar a capacidade do STRAGIC em aprender a


controlar diferentes modos de locomoo independente da fonte de dados. Os dados
podem ser originados de uma locomoo real ou artificial. Outro objetivo mostrar
a capacidade do STRAGIC em gerenciar a transio entre modos de locomoo para
dados artificiais. Os objetivos especficos so: testar a capacidade do STRAGIC em
lidar com dados ruidosos e fazer um estudo paramtrico do Componente Construtor
de Mapa Topolgico.
Os experimentos esto divididos em duas sees, uma para dados artificiais extrados de uma locomoo artificial e outra com dados reais. Os dados artificiais foram
gerados para um rob hexpode controlado com o algoritmo de ?). Os dados reais
foram extrados de um vdeo de um cachorro andando numa esteira.
Figura 6.1: Os graus de liberdade dos membros do rob hexpode.

6.1

Dados Artificiais

Esta seo contm experimentos que tratam do controle de locomoo e da transio entres modos de locomoo de um rob hexpode. O Mdulo de Controle de Locomoo
(MCL) do STRAGIC constri uma trajetria de estados a partir de dados artificiais para
controlar a locomoo do rob, j a transio entre modos de locomoo realizada
pelo Mdulo de Gerenciamento de Locomoo (MGL) do STRAGIC. Alm disso, o
experimento de controle de locomoo verifica a capacidade do STRAGIC em lidar
com dados ruidosos. Antes de explicar o experimento de controle de locomoo, uma
breve seo investiga o comportamento do Construtor de Mapa Topolgico diante da
variao do valor de dois parmetros.

50

6.1. DADOS ARTIFICIAIS

Figura 6.2: Captura de tela com a janela do simulador.


O simulador utilizado nos experimentos o Gazebo, descrito em mais detalhes no
Apndice ??. Gazebo um simulador de alta fidelidade para ambientes dinmicos ao
ar livre. Cada objeto simulado possui massa, velocidade, atrito e outros atributos que
tornam o comportamento mais realstico quando empurrados, puxados, em queda ou
carregados. Os robs so estruturas dinmicas composta de corpos rgidos conectados
atravs de articulaes. O ambiente de simulao proporcionado pelo Gazebo pode
conter paisagens, construes estruturadas e outros objetos criados pelo usurio.
O ambiente de simulao foi configurado da seguinte maneira: Ubuntu Linux 8.10,
processador Pentium Dual Core de 1.6GHz, placa de vdeo Geforce 9600. O simulador
Gazebo foi instalado a partir do cdigo fonte obtido do repositrio na verso 7551.
As principais dependncias do Gazebo so as bibliotecas Ogre (Motor Grfico 3D de
Cdigo Aberto) e ODE (Motor de Dinmica de Cdigo Aberto), tambm instaladas a
partir do cdigo fonte.
A modelagem 3D do rob foi elaborada dentro de um arquivo XML que carregado
no momento que o simulador executado. Este XML descreve todo o ambiente que
envolve o rob inclusive o prprio rob. O rob formado cubos com dimenses
modificadas. Possui seis membros, cada membro com trs partes associada a uma
articulao, chamadas de , e , como visto na Figura ??. O rob possui um total
de 18 articulaes, mas 12 graus de liberdade controlados pelos sistema, j que as 6
articulaes foram mantidas numa posio angular constante de -100 graus (-1,4
radiano). A Figura ?? mostra uma captura de tela do simulador no momento em que o
rob hexpode est sendo controlado pelos osciladores de ?) e se deslocando no modo
de locomoo mdio. A Figura ?? mostra os quadros gerados durante a simulao do
modo de locomoo mdio e escolhidos a cada 2 unidades de tempo de simulao.
Os sinais gerados pelos osciladores CNN para as articulaes em cada um dos trs
modos de locomoo esto presentes nos grficos das Figuras ??, ?? e ??.
Os osciladores de ?) controlam as articulaes livres do rob atravs da relao
contida na Equao ??. O sinal de sada dos osciladores CNN controla as articulaes
e o estado interno dos osciladores CNN controla as articulaes :

= 0, 2 y2

= 0, 8 h( x1 ) 0, 1

= 1, 4


6.1

51

6.1. DADOS ARTIFICIAIS

Figura 6.3: Quadros do modo de locomoo mdio.


(a)
(b)
(c)
Legenda.

Figura 6.4: Grficos dos sinais aplicados s articulaes obtidos de osciladores CNN:
(a) de uma articulao; (b), de todas as articulaes no modo de locomoo lento.
x1 estado interno da camada 1 e y2 sada da camada 2, estas camadas fazem parte da
clula da CNN.

if x 1,
1,
h( x ) =
x,
if 0, 5 < x < 1,

0, 5,
if x 0, 5.
As bases de dados utilizadas nos experimentos com o rob hexpode foram geradas
a partir de estados capturados dos sinais gerados pelos osciladores que controlam
cada articulao do rob. Estes sinais so o estado interno x1 e a sada y2 de cada
oscilador CNN, como para cada membro do rob hexpode existe um oscilador CNN,
a dimenso dos dados 12, R12 . Estes sinais foram coletados em um intervalo de
tempo regular (330 milissegundos) durante execuo de um passo do rob controlado
pelo algoritmo de ?). Os trs modos de locomoo gerados foram o lento, mdio e
rpido, seus estados armazenados em suas respectivas bases de dados sem considerar a
posio cronolgica do estado durante a locomoo. Assim, cada amostra era passada
para o STRAGIC aleatoriamente sem informar a sua posio temporal. A Figura ??
mostra trs redes de tamanhos diferentes formadas pelo STRAGIC. Os nomes dos
nodos foram atribudos no momento de sua criao, logo o primeiro n recebeu o
nome de 1 o segundo de 2 e assim sucessivamente. Como a ordem temporal dos
estados no foi apresentada durante a etapa de criao da rede, os nodos apresentam

(a)
(b)
(c)
Legenda.

Figura 6.5: Grficos dos sinais aplicados s articulaes obtidos de osciladores CNN:
(a) de uma articulao; (b) de todas as articulaes no modo de locomoo mdio.

52

6.1. DADOS ARTIFICIAIS

(a)
(b)
(c)
Legenda.

Figura 6.6: Grficos dos sinais aplicados s articulaes obtidos de osciladores CNN:
(a) de uma articulao; (b) de todas as articulaes nos modos de locomoo rpido.
(a)
(b)
(c)

Figura 6.7: Trs redes de tamanhos diferentes construdas pelo STRAGIC: (a) com 36
nodos, (b) com 27 e (c) com 15.
uma relao de vizinhana aleatria, considerando seus nomes. O algoritmo de ?) foi
implementado em C++ validado com os resultados presentes em ??) e com o auxilio
do simulador Gazebo desenvolvido por ?). Os valores dos parmetros de configurao
dos osciladores CNN tambm esto presentes em ?).
As configuraes do STRAGIC comum a todos os experimentos desta Seo ??:
O procedimento de balbuciamento motor (motor babbling) no precisou ser utilizado, j que as bases de dados so pequenas e a rede normalmente converge
depois que todas as amostras so apresentadas;
O critrio de parada do treinamento foi a quantidade de conexes da rede no
aumentar por 300 iteraes.
Taxa de aprendizagem inicial de 0,1 e final de 0,001;
Nmero mximo de disparos para o nodo vencedor de 40;
Grupo de vizinhana e de atividade como sendo todo o vetor de caractersticas;
Nenhum subgrupo de atividade;
Fator de poda em 0, 8.
Quantidade de estados na trajetria como mtrica para ordenar as trajetrias por
velocidade.
Para cada experimento cada configurao foi executada no mnimo 30 vezes.

53

6.1. DADOS ARTIFICIAIS

Tabela 6.1: Limiar de Atividade e Tamanho da Rede.


Config.
1
2
3

Fator de Poda
0,80
0,80
0,80

Limiar de Atividade
0,66
0,40
0,30

Mdia de Nodos
36,0
27,133
15,100

desvio
0,0
0,77608
0,88474

O algoritmo DTW (Dynamic Time Warping) encontrado em ?), ?) e ?), utilizado para
comparar as trajetrias geradas pelos STRAGIC com as trajetrias dos dados originais,
fornece uma medida de distncia entre duas sequncias que variam no tempo. O
DTW uma algoritmo bastante popular e eficiente para calcular similaridade entre
sries temporais minimizando o efeito do deslocamento e a distoro no tempo. O
calculo da similaridade realizado atravs de operaes sobre as sries temporais
com o intuito de detectar padres semelhantes em diferentes fases. Quanto menor o
valor da comparao calculada pelo DTW mais semelhantes so as trajetrias. Este
algoritmo modifica o eixo temporal de uma ou das duas trajetrias de modo a encontrar
eficientemente um alinhamento entre as trajetrias.

6.1.1

Estudo Paramtrico do CCMT

Esta seo investiga dois parmetros do Componente Construtor de Mapa Topolgico


(CCMT), o limiar de atividade e a fator de poda. O limiar de atividade influncia
na quantidade de nodos presentes na rede produzida pelo CCMT e o fator de poda
influncia na quantidade de conexes. Quanto maior o limiar de atividade maior ser
a quantidade de nodos presentes na rede. No entanto, a partir de um determinado
valor do limiar de atividade, todas amostras da base de dados de treinamento so
transformadas em nodos, neste caso a quantidade de nodos na rede no aumenta. A
Figura ?? mostra trs redes de tamanhos diferentes uma para cada configurao da
Tabela ??.
O fator de poda est relacionado ao desvio padro do conjunto de conexes do
nodo a ser podado, sendo que o valor da conexo a distncia euclidiana entre os
dois nodos unidos pela conexo. Duas situaes para o fator de poda foram testadas:
uma para o valor de 2, 5, com este valor o CCMT falha ao criar redes capazes de gerar
uma trajetria que descreva o modo de locomoo original; outra situao com o fator
de poda em 0, 8, permitiu ao CCMT criar redes com sucesso. A Figura ?? mostra um
resultado obtido com a configurao 1 da Tabela ?? onde o CCMT falha ao construir a
trajetria que descreve o modo de locomoo original. Com a configurao 2, o CCMT

54

6.1. DADOS ARTIFICIAIS

Tabela 6.2: Fator de Poda e Quantidade de Conexes.


Config.
1
2

Limiar de Atividade
0,66
0,66

Fator de Poda
2,5
0,80

Mdia de Conexes
41,100
36,000

desvio
1,3734
0,0

(b)
(a)
Rede
TraConsjetruda
tria
Gerada
(c)
Trajetria
gerada
pelo
STRAGIC
e
original

Figura 6.8: Situao em que o STRAGIC falhou ao tentar construir a trajetria original.
em todas as execues construiu uma trajetria idntica a original.
As configuraes elaboradas neste experimento esto presentes nas Tabelas ?? e ??.
Durante a anlise do limiar de atividade, o fator de poda foi fixado em 0, 8 e durante
a anlise do fator de poda o limiar de atividade permaneceu configurado em 0, 66. A
base de dados escolhida foi extrada do modo de locomoo rpido. Cada configurao
foi executada 30 vezes obtendo assim a mdia e o desvio padro para a quantidade de
nodo e tambm para a quantidade de conexes.
A falha ilustrada na Figura ?? acontece por que o STRAGIC foi configurado com um
fator de poda que no retira conexes que representam mal a relao de vizinhana dos
estados. A rede contida na figura ?? gera trajetrias incompletas, Figura ??. O grfico
da Figura ?? faz uma comparao entre o sinal oscilatrio gerado por esta rede, linha
contnua, e o sinal original, linha tracejada.

55

6.1. DADOS ARTIFICIAIS

(a)
(b)
(c)
(d)
(e)
(f)
(g)
Legenda.

Figura 6.9: Trajetrias dos osciladores CNN construdas pelo STRAGIC com fator de
poda 0,8 e limiar de atividade de 0,65.
Tabela 6.3: Distncia entre as trajetrias geradas pelo CCMT e as trajetrias geradas
pelos osciladores CNN.
Trajetria
Modo de locomoo lento
Modo de locomoo mdio
Modo de locomoo rpido

6.1.2

DTW
0,0
0,0
0,0

Controle de Locomoo

Nesta seo os experimentos investigam a capacidade do STRAGIC em gerar uma


trajetria de estados para controlar um determinado modo de locomoo. As bases de
dados, como descritas anteriormente, so para os modos de locomoo lento, mdio e
rpido. A Tabela ?? apresenta as distncias calculadas com o DTW entre cada base de
dados e sua respectiva trajetria de estado gerada pelo STRAGIC, provando que estas
trajetrias so idnticas.
A Figura ?? mostra os grficos das trajetrias de estados construdas pelo CCMT
para os modos de locomoo lento, mdio e rpido. Os Grficos ??, ?? e ?? so idnticos
aos os sinais dos osciladores CNN aplicados s articulaes e os grficos ??, ?? e
?? aos sinais aplicados s articulaes para os modos de locomoo lento, mdio e
rpido respectivamente.

6.1.3

Trs Modos de Locomoo numa Base de Dados

Nesta etapa do experimento os dados relativos aos trs modos de locomoo foram
armazenados em uma s base de dados de forma aleatria, sem informao das sequncias dos estados em cada trajetria. O CCMT gerou cada uma das trs trajetrias a
partir dos estados armazenados. A Figura ?? ilustra a relao de vizinhana entre

56

6.1. DADOS ARTIFICIAIS

Figura 6.10: Cada n no grafo representa um nodo do CCMT, logo um estado. A figura
mostra os trs modos de locomoo. O fator de poda foi configurado para 0,8 e o limiar
de atividade para 0,65.
Figura 6.11: Exemplo de uma criao de rede mal sucedida a partir de uma base de
dados com estados dos trs modos de locomoo e com o fator de poda em 1,2 e limiar
de atividade de 0,65.
os nodos resultante ao final do treinamento do CCMT com sucesso. J a Figura ??
mostra uma situao em que o CCMT falha ao construir a rede para os trs modos de
locomoo.
O limiar de atividade do CCMT foi configurado para 0, 65, valor com o qual as redes
geradas passaram a ter uma quantidade de nodos equivalente a quantidade de estados
das trajetrias originais. O fator de poda foi ajustado para 0, 8. Antes o valor padro do
fator de poda no CCMT era de 1,2. Com fator de poda em 1,2 o CCMT sempre falhava
ao construir as redes, j que com este valor do fator de poda, conexes entre estados
no vizinhos eram mantidas na etapa de poda do CCMT. Em todas as execues, o
CCMT com fator de poda em 0, 8 construiu as trs trajetrias completamente.
A Figura ?? deveria mostrar trs redes cclicas separadas, mas como o CCMT
no removeu conexes que representam de maneira inadequada a relao entre os
estados. Neste caso a rede contm estados conectados dois a dois que no representam
a sequncia de estados da trajetria original.

6.1.4

Dados Ruidosos

Esta etapa dos experimentos testa a capacidade do CCMT em lidar com dados ruidosos.
A partir das trs bases de dados originais, nove novas bases de dados foram criadas,
assim para cada modo de locomoo trs bases de dados foram elaboradas uma para
cada nvel de rudo. Os dados ruidosos foram criados a partir dos dados originais com

(a)
(b)
(c)

Figura 6.12: Os grficos da variao do sinal aplicado as articulaes beta no modo


de locomoo lento em trs nveis de rudo com fator de poda em 0,8: (a) = 0, 001
e limiar de atividade em 0,9; (b) = 0, 01 e limiar de atividade em 0,89; (c) = 0, 1 e
limiar de atividade em 0,46.

57

6.1. DADOS ARTIFICIAIS

(a)
(b)
(c)

Figura 6.13: Os grficos da variao do sinal aplicado as articulaes beta no modo de


locomoo mdio em trs nveis de rudo com fator de poda em 0,8: (a) = 0, 001 e
limiar de atividade em 0,54; (b) = 0, 01 e limiar de atividade em 0,55; (c) = 0, 1 e
limiar de atividade em 0,465.
(a)
(b)
(c)

Figura 6.14: Os grficos da variao do sinal aplicado as articulaes beta no modo


de locomoo rpido em trs nveis de rudo com fator de poda em 0,8: (a) = 0, 001
e limiar de atividade em 0,7; (b) = 0, 01 e limiar de atividade em 0,66; (c) = 0, 1 e
limiar de atividade em 0,48.
auxlio da funo gaussiana. Em cada dimenso dos dados originais era somado um
nmero real calculado com a funo gaussiana configurada com mdia igual a 0 ( = 0)
e desvio padro () de 0, 001, 0, 01 e 0, 1, Tabela ??. Cada configurao foi executada no
mnimo 30 vezes e com os resultados foram gerados os grficos sada (Figuras ??, ??,
?? e ??). O CCMT foi configurado com: parmetro de poda para 0, 8; trs estados de
controle, cada um escolhido a cada 1/3 do total de amostras de treinamento; para cada
configurao, um limar de atividade diferente conforme a Tabela ??.
(a)
(b)

Figura 6.15: Resultados para os nveis mais altos de rudo: (a) o rudo criado com a
funo gaussiana com desvio padro de 0,01 no modo de locomoo mdio; (b) rudo
criado com a funo gaussiana com desvio padro 0,1 no modo de locomoo lento.
Os resultados obtidos neste experimento esto expressos nos grficos das Figuras
??, ?? e ?? para diferentes nveis de rudo e modos de locomoo. O grfico ?? foi obtido
com a configurao 1, o grfico ?? com a configurao 2 e assim sucessivamente. O
em 0, 1 gera um rudo intenso o bastante para misturar duas amostras que antes eram
representadas por nodos diferentes. Logo, o limiar de atividade precisou ser reduzido
para que cada nodo representasse uma regio maior do espao. Consequentemente
uma quantidade menor de nodos passou a representar uma trajetria. Valores mais
elevados de rudo resultam em trajetrias mais distantes das originais, j que os nodos

58

6.1. DADOS ARTIFICIAIS

Tabela 6.4: Setup experimental para os trs modos de locomoo


Configurao
1
2
3
4
5
6
7
8
9

Locomoo
Lento
Lento
Lento
Mdio
Mdio
Mdio
Rpido
Rpido
Rpido

Rudo
0,001
0,010
0,100
0,001
0,010
0,100
0,001
0,010
0,100

Limiar de Atividade
0,900
0,890
0,460
0,540
0,550
0,465
0,700
0,660
0,480

DTW
6, 0103 106
5, 5686 104
1, 6560 101
7, 0740 106
6, 6158 104
1, 9200 101
4, 3887 106
3, 2041 103
1, 8443 101

so criados a partir de amostras ruidosas e distantes das originais, Tabela ??. A Figura
?? contm grficos do sinal do estado interno do oscilador CNN, o grfico ?? compara
a trajetria original do modo de locomoo mdio com a trajetria gerada pelo CCMT
a partir de dados ruidosos gerado com em 0,01, j o grfico ?? compara os dados
originais do modo de locomoo lento com a trajetria obtida pelo CCMT a partir de
dados com ruidosos gerados com em 0,1.
Em cada configurao contida na Tabela ?? o limiar de atividade precisou ser
ajustado. J que valores mais elevados do limiar de atividade a rede aprendia uma
quantidade maior de amostras ruidosas e baixos valores do limiar de atividade a rede
aprendia uma quantidade menor dos estados originais.
Em todas as situaes o CCMT conseguiu recuperar a trajetria original. Particularmente, nas situaes em que o rudo aplicado era mais elevado ( = 0, 1), linhas 3,
6 e 9 da Tabela ??, o CCMT conseguiu recuperar a trajetria original e ainda manteve
a distncia DTW prxima de zero. Com em 0, 01 e 0, 001, o CCMT gerou trajetrias
muito prximas s originais valores de DTW menores que 104 , ver grficos ??, ??, ??,
??, ??, ?? e Tabela ??. Por exemplo, para uma trajetria com dados ruidosos gerados
com em 0,01 e a mesma trajetria sem rudo os grficos ficam sobrepostos, ver Figura
??.

6.1.5

Gerenciamento de Locomoo

Esta seo descreve os resultados obtidos com o STRAGIC no gerenciamento de transio entre modos de locomoo. As trs bases de dados dos modos de locomoo lento,
mdio e rpido foram agrupadas em uma nica base de dados. STRAGIC identificou e
construiu uma sub-rede neural para cada um dos trs modos de locomoo, semelhante

59

6.1. DADOS ARTIFICIAIS

ao experimento da seo ??.


As transies foram realizadas utilizando os seguintes critrios: transio imediata
e transio mais suave. Na transio imediata o prximo estado escolhido o estado da
trajetria alvo que possui menor distncia euclidiana do estado atual. A transio mais
suave aquela que possui menor distncia euclidiana de todas as conexes viveis
entre os nodos da trajetria alvo e de destino.
Depois das trs redes criadas o STRAGIC gerou as interconexes entre nodos
de duas trajetrias diferentes. O STRAGIC executa a transio entre os modos de
locomoo atravs dos estados mais prximos das trajetrias que representam modos
de locomoo. Para sair do modo lento para o modo rpido preciso passar pelo modo
moderado e em seguida para o rpido, pois no existem conexes entres os modos
rpido e lento diretamente.
As transies imediatas e as transies mais suaves foram testadas para diferentes
mudanas de modos de locomoo. A Figura ?? mostra os grficos das oscilaes
aplicadas s articulaes de cada membro nas transies: lento para mdio, Grfico ??;
mdio para rpido, Grfico ??; rpido para mdio, Grfico ??; mdio para lento, Grfico
??. Em todas os grficos da Figura ??, a transio ocorreu no passo 100 da simulao,
indicada pela linha vertical pontilhada. As transies aconteciam no momento que
o STRAGIC recebia um comando UP ou DOWN. O comando UP executa a
transio do modo de locomoo atual para o modo de locomoo que possui a
velocidade superior mais prxima, o comanda DOWN faz o inverso, executa a
transio para a velocidade inferior mais prxima. Caso a velocidade solicitada no
exista o STRAGIC continua no modo de locomoo atual.
A Figura ?? mostra os grficos das transies mais suaves: lento para mdio ocorrida
no passo 102, grfico ??; mdio para rpido ocorrida no passo 57, grfico ??; rpido
para mdio ocorrida no passo 56, grfico ??; mdio para lento ocorrida no passo 69,
grfico ??. Em cada uma destas situaes a velocidade atual foi mantida at o passo de
simulao 40, em seguida o comando de executar a melhor transio foi enviado.
A conexo que representa a transio imediata pode coincidir com a transio mais
suave. Entretanto, o algoritmo utilizado para construir as interaes garante que a
transio mais suave a que possui a menor distncia entre os dois estados que fazem
parte das interconexes.

60

6.1. DADOS ARTIFICIAIS

(b)
(a)
Lento
Mpara
dio
para
mdio.
rpido.
(d)
(c)
RMpido
dio
para
lento.
(e)
Legenda.

Figura 6.16: Transies imediatas entre os modos de locomoo.

(b)
(a)
Lento
Mpara
dio
para
mdio.
rpido.
(d)
(c)
RMpido
dio
para
mlento.
dio.
(e)
Legenda.

Figura 6.17: Melhor transio entre modos de locomoo.

61

6.2. DADOS REAIS

Figura 6.18: Quadros da locomoo de um cachorro com as articulaes marcadas com


verde.

6.2

Dados Reais

Este experimento testa a capacidade do STRAGIC em ligar com dados obtidos a partir
da locomoo de um animal. O animal escolhido foi um cachorro de mdio porte, os
dados sobre a locomoo foram extrados de um vdeo, obtido no youtube. O vdeo
mostra um cachorro andando numa esteira, como visto na Figura ??. A base de dados1
armazena a posio ( x, y) de cada articulao dos membros esquerdos do cachorro. O
ponto (0, 0) est localizado no canto superior esquerdo da imagem, sendo que todos os
outros pontos da imagem assumem valores positivos. A Figura ?? serve de referncia
para identificar as articulaes dos membros do cachorro nas imagens obtidas a partir
do vdeo. As articulaes foram marcadas com a cor verde, para facilitar a segmentao
j que a cor verde aparentemente no esta presente nos quadros originais do vdeo.
A base de dados contm as coordenadas ( x, y) das articulaes do lado esquerdo
do animal coletadas de um passo do cachorro, contabilizando 17 quadros convertidos
em 17 amostras. Os quadros foram convertidos em imagens do tipo jpeg, ver Figura
??, as articulaes de cada imagem marcadas manualmente com uma ferramenta livre
de edio de imagem, Gimp2 (GNU Image Manipulation Program). O Algoritmo de
segmentao de imagem e deteco das regies marcadas e descrito a seguir:
1. Carregue um quadro do vdeo;
2. Faa uma varredura na imagem avaliando cada pixel, comeando do ponto (0, 0);
3. Caso o pixel encontrado seja verde, faa:
(a) Verifique se possui algum pixel vizinho verde;
(b) Se falso, crie um grupo para este pixel;
(c) Se verdadeiro, adicione este pixel ao grupo do seu vizinho;
4. Grupos com um tamanho abaixo de um determinado limiar so considerados
rudos e descartados;
5. Calcule a coordenada mdia de cada grupo e armazene em uma linha do arquivo
de dados;
1 http://orivaldo.net/web/dissertacao/experimentos/video.dat
2 http://www.gimp.org/

62

6.2. DADOS REAIS

Tabela 6.5: Taxa de xito ao criar a rede.


Fator de Poda
0,4
0,8
1,2

Taxa de xito Mdia (%)


17,567
19,960
0,220

Desvio Padro
1,14000
1,02590
0,17403

Figura 6.19: Anatomia lateral do esqueleto de um cachorro usada como referncia para
marcar a posio das articulaes, fonte Wikipdia.
6. Volte ao passo 1, se ainda existir quadro para avaliar;
O STRAGIC foi configurado como descrito no incio da Seo ??. Mas, com um
limiar de atividade alto o suficiente para permitir que todos os estados fossem representados pelos nodos, valor do limiar de atividade foi de 0, 000001. O critrio de parada
utilizado foi a rede no crescer durante 15 iteraes consecutivas.
A Tabela ?? mostra a taxa de xito do STRAGIC ao criar uma rede capaz de gerar a
trajetria original. A taxa de xito definida como a porcentagem do total de execues
em que as redes resultantes so capazes de gerar um trajetria de estado idnticas a
original. O parmetro que influncia a taxa de xito o fator de poda, trs valores
diferentes do fator de poda foram avaliados, Tabela ??. Para obter esta taxa de xito, o
STRAGIC foi executado 1000 vezes. Para obter a taxa de xito mdia, 15 taxas de xitos
foram geradas. A melhor configurao dos parmetros obteve uma taxa de xito mdia
igual a 19,96 porcento.

6.2.1

Discusso sobre Taxa de xito

Nos experimentos com dados artificiais a taxa de xito foi de 100%, isto significa dizer
que em todas as execues do STRAGIC com dados artificiais as redes resultantes
eram capazes de gerar uma trajetria de estados semelhante original. No entanto, as
trajetrias resultantes nem sempre eram idnticas (DTW = 0) as originais.
No experimento com dados reais os resultados no foram como esperado, j que a
taxa de xito foi muito baixa. Para o STRAGIC gerar um trajetria cclica com sucesso
um requisito bsico que todos os ns da rede tenham no mnimo dois vizinhos.
Algumas configuraes foram testadas e a melhor configurao rodada milhares de
vezes, obtendo assim uma taxa de xito em torno de 20%.
Figura 6.20: Marcao das articulaes do cachorro.

63

6.3. CONSIDERAES

Figura 6.21: Situao em que o CCMT falha ao criar uma conexo.


Figura 6.22: Situao em que o CCMT consegue criar uma conexo que possui uma
distncia maior.
As falhas acontecem quando o CCMT no cria uma conexo entre dois estados
consecutivos na trajetria real, por estes dois estados estarem mais prximos, segundo
a distncia Euclidiana, de outros estados da trajetria real. Isto acontece por que o
movimento da pata do animal durante um passo possui diferentes velocidades. Como
os quadros do vdeo so gerados em uma velocidade constante, a diferena da posio
espacial da pata do animal em quadros consecutivos pode variar muito. Quadros em
que a velocidade de deslocamento da pata do rob pequena a distncia euclidiana
entre a posio das patas tambm ser pequena. Assim, estados de baixa velocidade
esto mais prximos de se do que dos estados de alta velocidade.
Um exemplo de uma situao em que o CCMT pode falhar est presente nas Figuras
?? e ??. A Figura ?? ilustra uma situao em que o CCMT falha ao criar uma conexo
entre dois nodos que representam estados consecutivos na trajetria real. J a Figura
?? mostra os mesmos estados s que devido ordem em que eles foram inseridos o
CCMT conseguiu criar a conexo, mesmo tendo uma distncia maior do que a das
outras conexes.

6.3

Consideraes

Este captulo apresentou e avaliou os experimentos com dados artificiais e reais. Os


resultados obtidos com os dados artificiais demonstram que o STRAGIC capaz de
controlar a locomoo de um rob simulado e gerenciar a transio entre modos de
locomoo. Alm disso, os resultados indicam que o STRAGIC comporta-se bem diante
de dados ruidosos. Com dados reais, o desempenho no foi to bom como nos dados
artificiais, j que a taxa de xito para os dados reais foi em torno de 20 %, enquanto que
nos dados artificiais a taxa de xito foi 100%. Investigando as possveis causas para o
valor baixo da taxa de xito com dados reais surgiu algumas ideias para melhorar o
CCMT do STRAGIC, discutidas em mais detalhes na Seo ??.

64

7
Concluso e Trabalhos Futuros

Esta dissertao tratou do controle de locomoo de robs com membros inferiores


por meio de redes neurais. Para tanto, foi realizado um estudo de dois modelos de
redes neurais e a proposio de uma nova abordagem para o controle de locomoo de
robs com membros. A grande maioria dos trabalhos encontrados na literatura sobre
controle de locomoo com redes neurais utilizam alguma abordagem relacionada
a CPGs. Duas destas abordagens receberam destaques. A abordagem baseada na
CNN de ?), por possuir uma relao com mapas auto-organizveis e a abordagem
biologicamente inspirada de ?) por ser um tipo de abordagem muito referenciada na
literatura de controle de locomoo com redes neurais.
O modelo proposto, o STRAGIC, baseado num mapa auto-organizvel de topologia varivel chamado de STRAGEN. Sem contar com o STRAGEN, todo o projeto do
STRAGIC foi realizado durante o trabalho nesta dissertao. O STRAGIC foi separado
em dois mdulos uma para o controle de locomoo e outro para o gerenciamento do
modo de locomoo.
o STRAGIC capaz de construir trajetrias de estado at mesmo quando as amostras so originadas de uma fonte ruidosa. A construo dos movimentos pode ser
realizada atravs do balbuciamento motor ?), um procedimento que possui plausibilidade no modo que os bebs aprendem seus primeiros movimentos. Os nodos do
STRAGIC podem tratar diferentes tipos de informao, pois a dinmica da rede pode
ser modificada atravs da escolha do critrio de vizinhana. O STRAGIC tem capacidade de lidar com dados que caracterizam a locomoo (ex. postura) no importando
a abordagem utilizada para gerar estes dados.
Uma vantagem de trabalhar com estados que contm informaes que descrevem
a postura do rob que o STRAGIC no precisa definir a defasagem entre membros
como nos modelos vistos no Captulo ??. A informao da defasagem j esta embutida

65

7.1. CONTRIBUIES PARA O STRAGEN

indiretamente nas informaes dos estados.


A avaliao dos experimentos com dados gerados artificialmente positiva, visto
que o STRAGIC foi capaz de construir trajetrias de estados para o controle de diferentes modos de locomoo at mesmo quanto estes dados possuam rudo e com
uma taxa de xito de 100%. Alm disso, o STRAGIC foi capaz de executar a transio
entre modos de locomoo com um simples comando de controle. No entanto, com os
dados extrados da locomoo de um animal real o STRAGIC apresentou um resultado
abaixo do esperado com uma taxa de exito em torno de 20%. Este desempenho abaixo
do esperado sugere mudanas no STRAGIC, mais especificamente no STRAGEN que
responsvel diretamente pelo controle de locomoo. Algumas sugestes de melhorias
no STRAGEN so analisadas na Seo ??.
Alguns fatores provavelmente contriburam para o exito com dados artificiais do
STRAGIC e consequentemente do STRAGEN. A alta dimensionalidade da amostra
contribuiu para gerar uma distribuio dos dados tal que a distncia entre amostras
ficassem equivalente a sequncia de estados da locomoo. O modo como os valores
dos ngulos variam em cada modo de locomoo possibilitou ao modelo gerar as
diferentes trajetrias at mesmo quando os dados destas trajetrias estavam todos
misturadas em um nica base de dados. Assim, o STRAGEN foi capaz de capturar
uma propriedade emergente, o sincronismo entre membros para diferentes modos de
locomoo, j que no era uma informao explicita nos dados de treinamento.

7.1

Contribuies para o STRAGEN

Os resultados dos experimentos com dados reais sugerem que a maioria das redes
geradas no capaz de criar uma trajetria cclica, deste modo falhando ao controlar a
locomoo do rob. Este problema acontece quando a rede resultante possui neurnios
com um s vizinho, impossibilitando o algoritmo de gerao de trajetrias construir
trajetrias fechadas.
Alm do passo de insero de novos nodos, existem dois outros passos no algoritmo
STRAGEN onde as conexes podem ser modificadas. Um passo o de adaptao (passo
7) e o outro o passo de poda (passo 9). Durante a fase de treinamento quando todas
as amostras da base de dados so convertidas em nodos na rede, o passo de adaptao
no provoca nenhuma mudana na rede. J que a ao executada por este passo
mover o neurnio vencedor em direo a amostra de entrada, mas o neurnio vencedor
e a amostra de entrada so iguais, na situao descrita.
De acordo com anlise do comportamento do passo 7 e do passo 9, uma modificao

66

7.2. TRABALHOS FUTUROS

sugerida no passo de adaptao a seguinte, caso o n vencedor possua apenas um


vizinho ento, crie uma conexo entre o neurnio vencedor e o neurnio mais prximo
que possuir apenas um vizinho. Assim, evitaria que as redes resultantes possussem
nodos com apenas um vizinho. No passo de poda, a modificao sugerida seria no
sentido de no retirar uma quantidade l de ns que possuem as menores distncias
para o n vencedor ao invs de amarrar a quantidade de ns excludos ao fator de
poda.
O comportamento atual do passo de poda permite que a rede possua ns com
diferentes quantidades de vizinhos. Deste modo, um nodo com apenas um vizinho
inviabiliza o controle de locomoo e ns com mais de dois vizinhos dificulta a construo das trajetrias cclicas. Alm disto, o passo de poda pode corrigir eventuais
conexes criadas incorretamente no passo de adaptao. J que a poda retira conexes
que possuem os valores mais elevados do desvio padro.
A modificao no passo garante que a rede resultante possua uma estrutura homognea ou que tenha um nmero mximo de vizinhos. No caso do problema de
controle de locomoo interessante que a rede seja homognea, isto , cada n da rede
possuindo dois vizinhos. Uma estrutura homognea facilita a construo de trajetrias
cclicas.

7.2

Trabalhos Futuros

Com os resultados dos experimentos ficou claro que algumas questes ainda precisam
ser tratadas no STRAGIC:
Realizar experimentos para diferentes tipos de robs com membros com o objetivo
de testar a capacidade do modelo em lidar com diferente anatomias de robs
caminhantes. Verificando assim, a capacidade do modelo proposto em controlar
diferentes robs independente da quantidade de membros e da anatomia.
Elaborar novos experimentos com dados reais e aprimorar a tcnicas de aquisio
de dados.
Durante a realizao dos experimentos com dados artificiais com rudo ou at
mesmo sem rudo o limiar de atividade precisou ser ajustado para maximizar a
taxa de exito. Uma possvel contribuio para o modelo gerar um mecanismo
ajuste automtico do limiar de atividade para gerar a melhor taxa de xito ou
uma taxa tima.

67

7.2. TRABALHOS FUTUROS

Aprofundar os estudos com osciladores neurais biologicamente inspirados implementlos e compar-los com o STRAGIC.
Investigar uma maneira de unir a modelagem matemtica de CPGs e os mapas
auto-organizveis.
Aprofundar a abordagem proposta no sentido de buscar plausibilidade biolgica
no funcionamento do sistema nervoso. Entender e modelar biologicamente,
na medida do possvel, o controle de um membro individualmente bem como
coordenao de todos os membros.
Implementar as modificaes no STRAGEN propostas na Seo ?? realizar experimentos para avaliar o resultado destas modificaes.
Sobre a instalao do ambiente de simulao, devido as dificuldades iniciais de
instalao principalmente em relao s dependncias de bibliotecas. Muitas
bibliotecas no esto instaladas por padro no sistema operacional utilizado e
no trivial encontrar qual biblioteca resolve um erro apresentado durante a compilao. Diante disto, um tarefa importante para facilitar novas instalaes gerar
um pacote de instalao (exemplo pacote Debian) do Gazebo para automatizar a
instalao do simulador sem necessitar compilar o cdigo fonte.

68

Appendices

69

A
Comportamento Dinmico de um
Sistema Autnomo

O comportamento dinmico de um sistema autnomo de duas clulas descrito pelas


equaes de estado a seguir:
x 1 = x1 + (1 + ) y1 s y2 + i1 ;
x 2 = x2 + s y1 + (1 + ) y2 + i2 ;


A.1

Este sistema de equaes possui dois termos de bias, i1 e i2 , um para cada equao de
estado. Para uma determinado valor dos parmetros e s este sistema no-linear oscila
estvel dentro de um ciclo limite no plano de fase. Este plano de fase possui como eixo
das abscissas o x1 e o das ordenas x2 ?).
Na regio linear Rl nenhuma varivel de estado est saturada:
Rl = { x R2 : | xi | < 1, i = 1, 2};


A.2

Nesta regio linear a matriz Jacobina Jl identifica o ponto de equilbrio:


Jl =

!
s
;
s


A.3

Para que o ponto de equilbrio esteja sempre dentro da regio linear os parmetros e
s tero sempre valores positivos ?).
O sistema de equaes no lineares ?? de uma clula CNN, para valores pequenos
dos estados internos, comporta-se semelhante a um sistema linear com autovalores
complexos. Isto porque, para x1 e x2 [1, 1] a funo de sada (ver figura ??) tem

70

(a)
(b)
plano
osdecifase
lax1es
vsx1
x2e
x2
variando
no
tempo
t

Figura A.1: Plano de fase e oscilaes no tempo, para assumindo valores negativos.
o comportamento exatamente igual ao estado interno, assim yi = xi para i {1, 2}.
Considerando i1 = 0 e i2 = 0 possvel chegar equao ?? na forma matricial a partir
do sistema de equaes ??.
!
s
x
s

x =


A.4

Ao calcular a soluo do sistema linear ?? os autovalores encontrados sero do tipo


h
iT
h
iT
is, onde e s so reais, x = x 1 x 2 e x = x1 x2 . O mesmo sistema ?? pode
ser reescrito da na forma escalar:
x 1 = x1 sx2 ,

x 2 = x1 + sx2 .


A.5

Introduzindo coordenadas polares r, dadas por


r2 = x12 + x22 ,

tg = x1 /x2 .

Diferenciando essas equaes, resultam em


rr = x1 x 1 + x2 x 2 ,

(sec2 ) = ( x1 x 2 + x2 x 1 )/x12 .


A.6

Substituindo as equaes ?? na primeira das equaes ??, obtm-se


r = r,


A.7

71

(a)
(b)
plano
osdecifase
lax1es
vsx1
x2e
x2
variando
no
tempo
t

Figura A.2: Plano de fase e oscilaes no tempo para assumindo valores positivos.
e resolvendo a diferencial da equao ?? acima, resulta em:

A.8

r = cet ,

onde c uma constante. Repetindo o procedimento anterior, substituindo as equaes


2
?? na segunda equao de ?? e usando sec2 = cos12 = xr 2 da trigonometria, tem-se
1

= s.
Logo,
= st + 0 ,


A.9



A.10

onde 0 o valor de quando t = 0 ?).


As equaes ?? e ?? so equaes paramtricas em coordenadas polares das trajetrias do sistema ??. Analisando estas equaes observa-se que est inversamente
relacionado com s e raio r est diretamente relacionado com . Estas equaes definem
a trajetria de uma espiral que se afasta ou se aproxima da origem e que cresce no
sentido horrio ou anti-horrio. Considerando s > 0, para valores grande de s, inicialmente assume valores pequenos. Para valores positivos de o raio cresce quando o
tempo tende ao infinito (figura ??), j para valores negativos de o raio tende a zero,
com o passar do tempo, ver figura ??. Logo, se um dos autovalores possurem parte real
positiva, ento o ponto de equilbrio instvel. Caso contrrio, se todos os autovalores
possurem parte real negativa, ento o ponto de equilbrio assintoticamente estvel ?).
A figura ?? mostra o plano de fase e as oscilaes para um autovalor cuja parte real

72

(a)
(b)
plano
osdecifase
lax1es
vsx1
x2e
x2
variando
no
tempo
t

Figura A.3: Plano de fase e oscilaes no tempo para = 0.


positiva, j a figura ?? mostra a situao em que a parte real negativa.
No caso em que = 0 o sistemas possuir apenas autovalores imaginrios puros. A
primeira equao em ?? passara a ser r = c, onde c uma constante. Logo, as trajetrias
se tornam crculos centrados na origem, percorridos no sentido horrio se s > 0 e
no sentido anti-horrio caso s < 0. Quando os autovalores so imaginrios puros as
trajetrias so elipses centradas na origem. Esta situao ilustrada na figura ??.
Quando os valores do estado interno xi saem do intervalo [1, 1] a CNN entra
numa regio de saturao Rs . Nesta regio Rs , se existir um ponto de equilbrio ento a
regio toda pertence bacia atratora do ponto de equilbrio. Ou seja, qualquer trajetria
dentro de uma regio de saturao ir convergir assintoticamente para o ponto de
equilbrio correspondente a esta regio ?).
A regio saturada Rs e definida por:
Rs = { x R2 : | xi | > 1, i = 1, 2};



A.11

73

B
O Simulador

O projeto Gazebo um simulador de alta fidelidade de ambientes dinmicos ao ar livre.


Ele surgiu para complementar os projetos Player e Stage. O Player um servidor de
dispositivos em rede e o Stage apropriado para simular uma enorme populao de
robs moveis em complexos ambientes 2D. Gazebo projetado para reproduzir com
preciso ambientes dinmicos. Todos os objetos simulados possuem massa, velocidade,
atrito, e outros atributos que tornam seu comportamento realstico quando empurrados,
puxados, cados ou carregados (?).
Os robs so estruturas dinmicas compostas de corpos rgidos conectados atravs
de articulaes. Foras lineares e angulares podem ser aplicadas a superfcies e articulaes para gerar locomoo e interao com o ambiente. Este ambiente pode conter
paisagens, construes estruturadas e outros objetos criados pelos usurio. Quase
todos os aspectos da simulao so controlveis, desde as condies de iluminao at
coeficientes de atrito (?).
Gazebo software de cdigo aberto, logo disponvel livremente. Ele oferece um
ambiente rico o suficiente para rapidamente desenvolver e testar sistemas multi-robs.
Sendo, uma ferramenta simples, escalvel e eficiente que tem o potencial de levar o
campo de pesquisa em robtica a um nmero maior de pesquisadores (?).
Gazebo compatvel com o servidor de dispositivos, Player, desde o desenvolvimento de sua base. O hardware simulado no Gazebo projetado para refletir com
preciso o comportamento do dispositivo fsico equivalente. Como resultado, um
programa cliente v uma interface idntica comparando o rob real e o simulado (?).
Gazebo geralmente usado em conjunto com o Player. O Player trata o Gazebo como
um dispositivo normal capaz de enviar e receber dados. Do ponto de vista do usurio,
a interface para os modelos simulados no Gazebo so equivalentes a dos dispositivos
reais. A interface do Gazebo no limitada ao Player apenas. Uma biblioteca de baixo-

74

nvel fornece um mecanismo para dispositivos robticos de terceiros interagirem com


o Gazebo (?).
Gazebo d suporte a uma API simples: para adio de robs, atuadores, sensores e
objetos arbitrrios; e pontos de acesso para interao com os programas clientes. Uma
camada abaixo desta API encontra-se as bibliotecas que manipulam a simulao fsica
e a visualizao. As bibliotecas de terceiros utilizada no simulador foram escolhidas
baseadas em seu status de cdigo aberto, base de usurio ativa e maturidade (?).
As interfaces fornecem o meio pelo qual os programas clientes podem acessar e
controlar modelos. Comandos enviados para uma interface pode instruir um modelo
para mover uma articulao, mudar a configurao de sensores, ou requisitar dados.
Um rob no pode executar tarefas sem sensores. Um sensor no Gazebo um dispositivo abstrato sem uma representao fsica. Existem trs sensores implementados:
odomtrico, de distncia, e cmera (?).
Figura B.1: Estrutura Geral dos componentes do Gazebo obtida em ?)

A arquitetura do simulador ilustrada na figura ??. O componente World representa o conjunto de todos os modelos e as condies do ambiente como iluminao e
gravidade. As bibliotecas de terceiros fazem interface com o gazebo no mais baixo nvel
da arquitetura. Com isto, evita-se que os modelos criados para o gazebo se tornem
dependes de ferramentas especficas que podem mudar no futuro. Os clientes enviam
comandos e recebem dados atravs de uma interface de memria compartilhada. Um
modelo pode ter muitas interfaces para funes como controle de articulaes e captura
de imagens da cmera ?).
A ODE (Open Dynamics Engine) o motor de fsica mas amplamente utilizado na
comunidade de cdigo aberto (open source). Ele projetado para simular a dinmica e a
cinemtica relacionadas a corpos rgidos articulados. Este motor inclui muitos recursos,
tais como diversas articulaes, deteco de coliso, massa, funes de rotao e muitas
geometrias. Gazebo utiliza destes recursos fornecendo uma camada de abstrao
situada entre a ODE e seus modelos. Esta camada facilita a criao tanto de objetos
simples quanto abstratos mantendo toda as funcionalidades fornecidas pela ODE ?).
Para a visualizao o Gazebo utiliza a OpenGL e a GLUT (OpenGL Utility Toolkit)
por atender o requisito de ser rpido e sofisticado. A OpenGL uma biblioteca padro
para a criao de aplicaes 2D e 3D interativas. Ela uma plataforma independente,
altamente escalvel, estvel, e evolui continuamente. GLUT um conjunto de componentes bsicos para construo de interface grfica (janelas) para as aplicaes OpenGL.

75

Ele tambm fornece um mecanismo para interao com o usurio atravs de mouse e
teclado ?).
Um ambiente completo essencialmente uma coleo de modelos e sensores. O
cho e as construes representam modelos estacionrios enquanto o rob e outros
objetos so dinmicos. Os componentes gerais envolvidos na simulao so: modelos,
corpos e articulaes. Um modelo um objeto que mantm uma representao fsica.
Ele engloba desde uma simples forma geomtrica a complexos robs. Os modelos
so compostos de no mnimo um corpo rgido, zero ou mais articulaes, sensores,
e interfaces para facilitar o fluxo de dados. Os corpos representam os blocos bsicos
de um modelo. Sua representao fsica assume formas geomtricas como caixas,
esferas, cilindros, planos e linhas. Cada corpo possui massa, atrito, fator de elasticidade
e propriedades de renderizao (cor, textura, transparncia, etc.). As articulaes
fornecem o mecanismo para conectar corpos e formar relacionamentos cinemticos e
dinmicos. Vrias articulaes esto disponveis incluindo articulaes de rolagem.
Um cuidado especial precisa ser tomado quando muitas articulaes so conectadas
pois, a simulao pode perder a estabilidade se parmetros incorretos forem escolhidos
?).
A criao de modelos feita a mo. O processo comea com a escolha dos corpos
apropriados e das articulaes necessrias para construir um modelo correto em aparncia e funcionalidade. O passo seguinte juntar corpos utilizando articulaes. O
resultado final uma representao fsica completa de um modelo ?).

76

Anda mungkin juga menyukai