UM ESTUDO COMPARATIVO ENTRE ARQUITETURAS NEURAIS
Transcrição
UM ESTUDO COMPARATIVO ENTRE ARQUITETURAS NEURAIS
Anais do XIX Congresso Brasileiro de Automática, CBA 2012. UM ESTUDO COMPARATIVO ENTRE ARQUITETURAS NEURAIS APLICADAS A UM ROBÔ AUTÔNOMO EM TRAJETÓRIA ORIENTADA Hugo V. D. Silva, Wylliam S. Gongora, Alessandro Goedtel, Marcos B. R. Vallim Universidade Tecnológica Federal do Paraná - UTFPR Programa de Pós-Graduação em Engenharia Elétrica Av. Alberto Carazzai, 1640, Cornélio Procópio, Paraná, Brasil E-mails: [email protected], [email protected], [email protected], [email protected] Abstract— This article has the objective to contribute to the study of artificial neural networks by comparing the different architectures applied to control navigation of a line follower robot. This autonomous navigation R kit, and its goal is to shift on a specific track the trajectory to be device is built with Lego Mindstorms NXT followed. Two different paths are constructed where the networks are trained and validated. This paper presents comparison between the data and the evolution of the robot for each neural network topology. Keywords— Robot line follower, navegation control, artificial neural network, recurrent networks. Resumo— Este artigo tem o objetivo de contribuir para os estudos da redes neurais artificias comparando as diferentes arquiteturas aplicadas ao controle de navegação de um robô seguidor de linha. Este dispositivo de R , e seu objetivo é o deslocamento sobre navegação autônoma é construı́do com o kit Lego Mindstorms NXT uma faixa que especı́fica a trajetória à ser seguida. São construı́dos dois percursos diferentes onde as redes são treinadas e validadas. O artigo apresenta a comparação entre os dados e a evolução do robô para cada topologia de rede neural. Palavras-chave— 1 Robô seguidor de linha, controle de navegação, redes neurais artificiais, redes recorrentes. Introdução No inı́cio dos anos 60 os primeiros robôs foram desenvolvidos com o principal objetivo de substituir os humanos nas realizações de tarefas consideradas perigosas ou em casos de extremo esforço fı́sico, podendo destacar a manipulação e armazenamento de peças utilizadas no ambiente industrial (Pazos, 2002). Atualmente os robôs estão presentes nas mais diversas áreas, sendo que em algumas aplicações, é necessário que o robô seja capaz de definir uma trajetória de deslocamento. O problema de controle de robôs móveis exibe dois subproblemas principais; sendo a navegação, a qual designa a determinação de posição e orientação do veı́culo em um dado instante de tempo, e a guiagem referente ao controle da trajetória (Lora et al., 1998; Chen et al., 2011). Nos últimos anos, com a capacidade computacional aumentada e a minimização dos hardwares, tornou-se possı́vel a entrada dos sistema inteligentes aplicados a navegação de robôs móveis, criando o conceito de navegação autônoma e automática (Steels, 1995; Oliveira, 2010). Segundo Steels (1995), um agente autônomo é definido por um elemento que além de agir por si só, consegue se auto-regular gerando suas próprias regras de controle. Assim, pode-se diferenciar um agente autônomo de um automático. Este, por sua vez, visando realizar as tarefas já estabelicidas, interage com o ambiente a que está inserido. Os sistemas inteligentes têm sido utilizados na resolução dos problemas relativos a trajetória de robôs. Tais sistemas são baseados na Lógica Nebulosa (LN), Algoritmos Genéticos (AG) e Redes ISBN: 978-85-8001-069-5 Neurais Artificias (RNAs). Neste contexto, a LN é empregada para determinar a trajetória a ser seguida, onde suas regras de implicação definem a maneira em que será executado o percurso (Gartner e Astolfi, 1996; Lee et al., 2003; Dongshu et al., 2011). O AG é empregado para determinar as possı́veis trajetórias que o robô pode percorrer. Uma vez determinado o conjunto de soluções, este método tem por objetivo encontrar a resposta ótima ao problema de trajetória (Siciliano, 2006). As RNAs, também se mostram eficazes na sı́ntese de arquiteturas de controle em navegação de robôs. Estas se caracterizam por modelos de aprendizagem que apresentam um grande poder de representação de conhecimento, possuindo ainda as caracterı́sticas de generalização (Cazangi, 2004). A proposta deste trabalho é apresentar um estudo comparativo entre as estruturas neurais aplicadas no controle de trajetória do robô seguidor de linha, construı́do com o kit Lego Mindstorm R NXT . Os sinais dos sensores de luminosidade do robô são as entradas da rede, e as saı́das da RNA são diretamente repassadas aos motores, garantindo a permanência do robô em sua trajetória sobre uma linha. As caracterı́sticas de cada topologia, os parâmetros de treinamento e a organização dos dados são relatadas neste trabalho. O artigo está estruturado da seguinte forma: a Seção 2 descreve os modelos das RNAs utilizadas. Na Seção 3, as caracterı́sticas construtivas do robô e os percursos utilizados são detalhados. A Seção 4 apresenta um estudo comparativo entre as aplicações das arquiteturas. Finalizando, na Seção 5 as conclusões são apresentadas. 3445 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. 2 Modelos das Redes Neurais Artificiais As RNAs são sistemas computacionais para processamento de informações paralelas tendo uma composição simples de unidades de processamento interligadas entre si (Haykin, 2001). As RNAs são modelos computacionais inspirados no sistema nervoso de seres vivos as quais são interligadas por um grande número de conexões conhecidas como sinapses artificiais. Utilizando como base a Figura 1, onde é proposto o modelo do neurônio artificial, tem-se que o processamento das informações ocorre por cálculos matriciais matemáticos onde cada unidade de processamento (ω) imputa um peso ao dado de entrada (x) e este, por sua vez, após um somatório das entradas ponderadas e o bias (θ), é processado por uma função de ativação (f (u)). Assim obtém-se uma resposta (y) a qual a rede foi treinada (Rosenblatt, 1958). Assim pode-se dizer que as RNAs são empregadas para classificar padrões, analisar séries temporais, minerar dados, agrupar resultados e como aproximador universal de funções baseadas no conhecimento previamente adquirido e sua capacidade de generalização das situações (Silva et al., 2010). Quando aplicadas ao controle de trajetória, estas redes utilizam-se da capacidade de generalização para processar os dados não apresentados em seu treinamento na finalidade de manter a orientação ao objetivo definido. 2.1 Redes Perceptron Múltiplas Camadas As redes Perceptrons Múltiplas Camadas (PMC) tem por base a estrutura apresentada por Rosenblatt (1958). A diferença consiste na arquitetura a qual apresenta uma ou mais camadas intermediárias, onde podem estar contidos desde um simples neurônio a inúmeros, como visto na Figura 2. Figura 1. Neurônio Artificial Os modelos matemáticos destas unidades tendem a imitar o processamento de informações de um neurônio cerebral humano (Hebb, 1949), e desta forma adquirem a capacidade de aprendizagem e generalização do conhecimento. As equações 1 e 2 expressam a relação da saı́da (y) com as entradas (xi ) dos neurônios. Sendo o processamento, um somatório do produto das entradas por seus respectivos pesos e considerando n o número total de neurônios, tem-se: u= n X Figura 2. Modelo de uma PMC Considerando que as entradas de cada camada são os valores da multiplicação matricial de todos os elementos da camada anterior pelo seus respectivos pesos, pode-se descreve esta operação pelas equações 3 e 4 (Haykin, 2001; Silva et al., 2010). I1j = ω1ji xi ; j = 1...N1 (3) ω2ji y1i ; j = 1...N2 (4) i=0 (ωi xi ) − θ (1) i=1 y = f (u) (2) Haykin (2001), descreve que uma rede neural extrai seu poder computacional máximo através de sua estrutura e sua habilidade de aprender e generalizar. As saı́das da RNA representam o sistema em questão mesmo recebendo entradas que não estavam no processo de treinamento sem alterar resultados. De acordo com Wasserman e Schwartz (1988), o conhecimento se trata de uma informação ou mesmo um modelo que é utilizado por pessoas ou máquinas a fim de interpretar, prever e responder apropriadamente aos estı́mulos do mundo exterior. ISBN: 978-85-8001-069-5 n X I2j = n X i=0 Sendo que j é o número de entradas da camada, e N1 e N2 são os números de neurônios presentes nas respectivas camadas. A função de ativação de cada neurônio deve ser derivável em todo o seu intervalo. Como exemplo pode-se utilizar a função logı́stica apresentada na equação 5, onde o termo a determina a evolução da reta. Em alguns casos, utiliza-se a variação da saı́da da função de ativação entre −1 e 1, caracterı́stica da função tangente hiperbólica, mostrada na equação 6. 3446 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. f (u) = f (u) = tgh 1 1 + e−ax (5) x 1 − e−x = 2 1 + e−x (6) Logo, aplicando o conjunto de saı́da de cada camada (n) a equação 2, obtém-se os vetores mostrados nas equações 7 e 8. Figura 3. Modelo de uma TDNN y1j = f (I1j ); j = 1..N1 (7) y2j = f (I2j ); j = 1..N2 (8) Também se define que seu treinamento é realizado de forma supervisionada, fazendo com que a rede ajuste adequadamente seus pesos para melhor atender os objetivos determinados. As variações dos pesos são obtidas pelo somatório das diferenças entre os valores calculados e os desejados, multiplicados por um coeficiente de aprendizado (η). Onde p, é o número de amostras utilizadas no treinamento, definido pela equação 9. ∆ω = η. p X (dj (k) − yj (k))x(k) (9) k=1 Assumindo que a diferença entre o valor desejado (dj ) e a saı́da (yj ) da RNA diminui a cada época de treinamento, utiliza-se a função do erro quadrático médio para mensurar o desvio das respostas produzidas pelos neurônios, conforme mostrada na equação 10. p EM = 2.3 PMC com saı́das recorrentes às entradas Esta estrutura PMC, conhecida como Nonlinear Auto-Regressive with Exogenous Inputs (NARX), possui uma lembrança das saı́das anteriores. Suas respostas são atrasadas de uma unidade de tempo e posteriormente reapresentadas as entradas, produzindo uma melhor resposta de generalização da rede (Leontaritis e Billings, 1985). Seus dados são organizados considerando um atraso de (p) amostras para as entradas, que são deslocadas dentro do vetor de entrada. Da mesma forma, as saı́da recorrentes são atrasadas de (q) amostras, e realocadas no sentido decrescente. A topologia desta RNA é mostrada na Figura 4. N 2 1 XX 2 (dj (k) − yj (k)) 2p j=1 (10) k=1 Desta forma é possı́vel acompanhar o desempenho do treinamento da rede e determinar um valor mı́nimo de EM para convergência dos resultados na busca dos melhores pesos. 2.2 PMC com entradas atrasadas no tempo Uma rede neural normalmente utilizada para realizar processamento temporal é a Time Delay Neural Network (TDNN), que utiliza a arquiterura PMC e possui a caracterı́stica de predizer os valores posteriores utilizando as entradas anteriores apresentadas a rede (Lang e Hinton, 1988). As redes TDNN possuem um atraso em suas entradas de p amostras, como apresentado na Figura 3. O processo de aprendizado de uma PMC com entradas atrasadas é semelhante a PMC convencional (Silva et al., 2010). Sendo assim, sua principal diferença está nos conjuntos de dados, onde as amostras são organizadas considerando o atraso entre elas. ISBN: 978-85-8001-069-5 Figura 4. Modelo da rede NARX Assim, pode-se dizer que esta topologia apresenta uma memória, pois utiliza-se dos valores passados que são atualizados a cada passo de cálculo, sendo capaz de produzir respostas atuais e também futuras. Estas estruturas, quando aplicadas ao controle de trajetória do robô, demonstram a capacidade de generalização e melhoram a dinâmica do agente em sua trajetória. 3447 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. 3 O robô e os percursos utilizados O robô seguidor de linha possui como caracterı́stica a movimentação por uma superfı́cie buscando manter-se sobre uma trajetória referencial. Esta trajetória especı́fica ao robô o caminho que deve ser seguido, sendo determinada por uma linha fixa na superfı́cie. 3.1 Sensores e Atuadores R O kit Lego Mindstorms NXT possui vários tipos de sensores, tais como sensor de toque, som, luminosidade, distância, entre outros. Neste trabalho são utilizados dois sensores de luminosidade para determinar a trajetória a seguir, como pode ser observado na Figura 6. Levin e Mioduser (1996), propuseram a montagem de um robô utilizando um sensor de luminosidade e dois motores. Nesta estrutura, a rotina de controle busca encontrar o limite da linha de referência, alternando o acionamento dos motores responsáveis pelo deslocamento. Assim, pode-se dizer que é realizado um controle por histerese, mantendo o sinal do sensor de luminosidade dentro de uma faixa de operação determinada. Neste trabalho, opta-se pela substituição da técnica de controle por histerese por uma proposta de controle inteligente, onde uma RNA é responsável pelo processamento dos sinais do robô. Tendo assim um deslocamento contı́nuo sem realizar paradas alternadas dos motores. O robô seguidor de linha utilizado nesta proposta possui dois sensores de luminosidade, com a função de perceber o ambiente, e dois motores de corrente contı́nua para o seu deslocamento. Com base na plataforma do kit Lego Mindstorm R NXT , o robô tem sua estrutura mostrada na Figura 5. Figura 6. Esquemático do robô seguidor de linha Os sensores de luminosidade operam com um par de emissor e receptor, medindo o grau de reflexão da luz vermelha emitida sobre a superfı́cie. O sinal adquirido pelos sensores (S1 e S2), variam entre 0 a 100%, e estes valores são ponderados e repassados como entradas da rede (x1 e x2 ). Os sinais de controle (y1 e y2 ) são gerados pela RNA e repassados diretamente aos atuadores (Motor A e Motor B), que são responsáveis pelo deslocamento no percurso e correção da trajetória. 3.2 Figura 5. Robô Lego R O kit Lego Mindstorm NXT possui um bloco programável NXT (brick ) que dispõe de quatro entradas para sensores e três saı́das para motores. Um processador ARM 7TM é responsável pela execução do algoritmo, gerenciamento dos drivers de acionamento dos motores e comunicação com os sensores externos. O dispositivo é alimentado por uma bateria interna, o que dispensa a utilização de fontes de energia conectadas ao experimento. ISBN: 978-85-8001-069-5 Processamento e comunicação O processo de aprendizagem para todas as topologias propostas é realizado de modo off-line. Assim o treinamento da rede é realizado fora do ambiente de operação. Os dados coletados são repassados ao computador utilizando uma conexão Bluetooth. O sinal do controlador é processado e então devolvido ao agente, garantindo assim a total liberdade de movimento ao robô desenvolvido. Um dado considerado na velocidade de comunicação é o tempo de envio e retorno dos pacotes, sendo para estes equipamentos de aproximadamente 150 ms. 3.3 Percursos utilizados Para demonstrar a aplicabilidade e desempenho das RNAs em problemas de navegação autônoma com trajetória orientada, foram utilizados dois percursos para testes. O primeiro percurso é um circuito elı́ptico, composto de curvas de 12 cm de raio, com um perı́metro reduzido. Com este percurso busca-se visualizar as tendências dos movimentos do robô. 3448 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Já no percurso avançado, procura-se explorar o desempenho na execução de caminhos sinuosos. Este percurso possui curvas para ambos os lados e, além das curvas abertas, algumas acentuadas que formam ângulos de 90o . Na Figura 7 são apresentados os dois circuitos utilizados para os testes. Figura 7. Circuito elı́ptico e circuito avançado 4 Comparativo entre arquiteturas neurais As redes neurais têm sido aplicadas em problemas associados à navegação autônoma (Cazangi, 2004), tendo em vista sua capacidade de aprendizado, adaptação e generalização (Haykin, 2001). Assim, a proposta deste artigo é apresentar um estudo comparativo entre três arquiteturas neurais aplicadas a um robô seguidor de linha. A Figura 8 apresenta a metodologia proposta neste artigo. Figura 8. Esquemático controle de trajetória As entradas das RNAs são os sinais ponderados dos sensores de luminosidades do robô (x1 e x2 ) e as suas saı́das (y1 e y2 ) são os sinais aplicados aos motores. Para a coleta dos dados de treinamento, o robô é deslocado manualmente pelos circuitos e os valores obtidos dos sensores de entradas juntamente com a leitura dos sinais de saı́das dos atuadores são transmitidos e armazenados em uma matriz de dados no computador pessoal. Utilizando a matriz coletada, esta é reorganizada considerando a topologia da construção da RNA. 4.1 Caracterização das estruturas neurais Três arquiteturas de RNAs foram abordadas neste estudo; a PMC, a TDNN e a NARX. A Tabela 1 apresenta um resumo dos parâmetros das RNAs utilizadas neste artigo. ISBN: 978-85-8001-069-5 Tabela 1. Caracterı́sticas das RNAs Tipo Arquitetura Treinamento No Camada intermediaria Neurônios 1 camada Neurônios saı́da Algoritmo de Treinamento Função de ativação 1 camada Função de ativação saı́da Entradas atrasadas Saı́das recorrentes Rede 1 PMC PS 1 Rede 2 TDNN PS 1 Rede 3 NARX PS 1 10 3 3 2 2 2 BP BP BP Função Logı́stica Tangente Hiperbólica Tangente Hiperbólica Função Logı́stica Função Linear Função Linear - 10 10 - - 10 (BP) Backpropagation (PS) Supervisionada Tais parâmetros foram obtidos através do treinamento supervisionado das redes, aplicando o método de validação cruzada. A organização dos dados e sua apresentação as redes são descritas na Tabela 2. Tabela 2. Organização Entradas Rede1 1 x1 (t) 2 x2 (t) 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - das entradas das RNAs Rede 2 Rede 3 x1 (t) x1 (t) x2 (t) x2 (t) x1 (t − 1) x1 (t − 1) x2 (t − 1) x2 (t − 1) x1 (t − 2) x1 (t − 2) x2 (t − 2) x2 (t − 2) x1 (t − 3) x1 (t − 3) x2 (t − 3) x2 (t − 3) x1 (t − 4) x1 (t − 4) x2 (t − 4) x2 (t − 4) x1 (t − 5) x1 (t − 5) x2 (t − 5) x2 (t − 5) y1 (t − 5) y2 (t − 5) y1 (t − 4) y2 (t − 4) y1 (t − 3) y2 (t − 3) y1 (t − 2) y2 (t − 2) y1 (t − 1) y2 (t − 1) Os parâmetros referentes ao treinamento das redes, tais como o Erro Quadrático Médio (EQM), coeficiente de aprendizado e número de épocas de treinamento são especı́ficos para cada topologia, conforme pode ser visto na Tabela 3. 3449 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Tabela 3. Parâmetros de treinamento das RNA Tipo Rede 1 Rede 2 Rede 3 EQM 10−6 10−9 10−7 Coef. Aprendizado 0,1 0,01 0,001 Épocas 500 300 1000 nado, já para o sentido contrário apresenta erros na execução das curvas. A Rede 1 foi treinada com um EQM objetivo de ε = 10−6 e um coeficiente de aprendizado de η = 0, 1, sendo necessárias 135 épocas de treinamento para convergência. Na Rede 2, a RNA foi treinada com um EQM objetivo de ε = 10−9 e um coeficiente de aprendizado de η = 0, 01, onde a convergência é alcançada com 60 épocas. A Rede 3 foi treinada com um EQM objetivo de ε = 10−7 e um coeficiente de aprendizado de η = 0, 001. A convergência desta estrutura foi alcançada com 350 épocas. 4.2 Teste e validação das estruturas neurais Concluı́do o treinamento da Rede 1 inicia-se a etapa de teste que consiste na implementação da RNA no robô seguidor de linha. O robô mostrouse eficiente realizando corretamente os dois percursos em que foi treinado, nos sentidos horário e anti-horário, mas em baixa velocidade. Após o mesmo treinamento, mas aplicado a Rede 2, o robô apresentou uma melhora significativa principalmente nas saı́das das curvas. Quando comparada com a Rede 1, o robô corrige mais rapidamente sua posição realizando movimentos mais suaves, mas ainda apresentando uma evolução lenta, como pode ser observado na Figura 9. O robô também realizou os dois percursos nos dois sentidos sem apresentar erros. Figura 10. Sinal atuador circuı́to elı́ptico Rede 2 e Rede 3 Tendo em vista as limitações observadas na validação da rede no circuito avançado, um novo treinamento da Rede 3 foi realizado, onde são apresentados somente os dados do percurso elı́ptico. Em um novo teste, o robô completou o percurso somente no sentido treinando diferentemente das Rede 1 e Rede 2. 5 Conclusões Este trabalho apresenta um estudo comparativo entre as topologias de RNAs aplicadas ao controle de trajetória de um robô autônomo. Nesta proposta, as redes com atraso ou recorrência mostraram um melhor desempenho. Figura 9. Sinal atuador Rede 1 e Rede 2 Após a fase de treinamento do percurso avançado, a Rede 3 foi submetida ao teste. O robô apresentou as mesma caracterı́sticas da Rede 2, porém com uma velocidade aproximadamente 30% maior, como pode ser observado na Figura 10. No entanto, a evolução teve os movimentos menos suaves. Um fato a ser considerado nesta topologia, é que o robô realiza corretamente o percurso avançando apenas no sentido que foi o trei- ISBN: 978-85-8001-069-5 A Rede 2 mostrou uma maior aplicabilidade do que a Rede 1 principalmente quando se compara o reinı́cio dos trechos de reta. Devido a sua caracterı́stica de gravar a tendência do percurso, esta retoma a direção do robô aplicando sinais menos oscilatórios. Já para a Rede 3, é possı́vel a execução do percurso com uma velocidade 30% maior do que a Rede 2, mas com sinais de controle mais oscilatórios. Vale ressaltar que a Rede 3 executou com perfeição apenas os percursos no sentido em que foi treinada, não generalizando de forma correta as informações no sentido contrário. 3450 Anais do XIX Congresso Brasileiro de Automática, CBA 2012. Agradecimentos Este trabalho é financiado pela FINEP - Financiadora de Estudos e Projetos (Processo No 4971/2006). O mesmo conta com o apoio da Fundação de Apoio à Educação, Pesquisa e Desenvolvimento Cientı́fico e Tecnológico da UTFPR (FUNTEF), da Fundação Araucária de Apoio ao Desenvolvimento Cientı́fico e Tecnológico do Paraná, do Conselho Nacional de Desenvolvimento Cientı́fico e Tecnológico - CNPq Brasil (Processo No 474290/2008-5, 552269/2011-5, 473576/20112) e bolsas Capes-DS. Referências Cazangi, R. R. (2004). Uma Proposta Evolutiva para Controle Inteligente em Navegação Autônoma de Robôs, Tese de Doutorado, Universidade Estadual de Campinas, Campinas. Chen, F., Ma, C., Ma, W., Zhu, H., Zhu, J. e Yi, L. (2011). Study on mobile robot navigation based on strategy of blind man finding way, Mechatronics and Automation (ICMA), 2011 International Conference on, pp. 1045–1049. Dongshu, W., Yusheng, Z. e Wenjie, S. (2011). Behavior-based hierarchical fuzzy control for mobile robot navigation in dynamic environment, Control and Decision Conference (CCDC), 2011 Chinese, pp. 2419 –2424. Levin, I. e Mioduser, D. (1996). A multipleconstructs framework for teaching control concepts, Education, IEEE Transactions on 39(4): 488–496. Lora, F. A. S., Hemerly, E. M. e Lages, W. F. (1998). Sistema para navegação e guiagem de robôs móveis autônomos, SBA Controle & Automação 9: 107–118. Oliveira, J. R. (2010). Um sistema integrado para navegação autônoma de robôs móveis, Dissertação de Mestrado, Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, São Carlos. Pazos, F. (2002). Automação de sistemas e robótica, Editora Axcel Books do Brasil, Rio de Janeiro. Rosenblatt, F. (1958). The perceptron: A probabilistic model for information storage and organization in the brain, Phisicological Review 65(3): 386–408. Siciliano, A. V. (2006). Determinação de trajetória ótima em navegação robótica móvel, utilizando algoritmo genético, Tese de Doutorado, Universidade Federal do Rio de Janeiro, COPPE, Rio de Janeiro. Silva, I. N., Spatti, D. H. e Flauzino, R. A. (2010). Redes Neurais Artificiais para engenharia e ciências aplicadas, 1 edição, São Paulo : Artliber. Gartner, H. e Astolfi, A. (1996). Stability study of a fuzzy controlled mobile robot, Decision and Control, 1996., Proceedings of the 35th IEEE, Vol. 2, pp. 1121–1126. Steels, L. (1995). When are robots intelligent autonomous agents?, Robotics and Autonomous Systems 15: 3–9. Haykin, S. (2001). Redes Neurais: Princı́pios e Práticas, 2 edição, Porto Alegre : Bookman. Wasserman, P. e Schwartz, T. (1988). Neural networks Part.II. what are they and why is everybody so interested in them now?, IEEE Expert 3(1): 10–15. Hebb, D. (1949). The organization of behavior: a neuropsychological theory, Wiley book in clinical psychology, Wiley. Lang, K. J. e Hinton, G. E. (1988). The development of the time-delay neural network architecture for speech recognition, Tech. report CMU-CS-88-152, Carnegie-Mellon University, Pittsburgh, PA . Lee, T., Lam, H., Leung, F. e Tam, P. (2003). A practical fuzzy logic controller for the path tracking of wheeledmobile robots, Control Systems, IEEE 23(2): 60–65. Leontaritis, I. J. e Billings, S. A. (1985). Inputoutput parametric models for non-linear systems part i: deterministic non-linear systems, International Journal of Control 41(2): 303– 328. ISBN: 978-85-8001-069-5 3451