Baixe o app para aproveitar ainda mais
Prévia do material em texto
UTILIZAÇÃO DE REDES NEURAIS ARTIFICIAIS NA RESOLUÇÃO DA CINEMÁTICA INVERSA DE UM MANIPULADOR ROBÓTICO COM 5 GRAUS DE LIBERDADE Francisco Erivaldo Fernandes Junior1, Marconi Kolm Madrid 2 1 Universidade de Campinas Av. Albert Einstein - 400 13083-852 – Campinas – SP 2 Universidade de Campinas Av. Albert Einstein - 400 13083-852 – Campinas – SP Resumo: No presente trabalho é mostrado o desenvolvimento e os resultados obtidos no estudo sobre o uso de redes neurais para a resolução da cinemática inversa de manipuladores robóticos, mais precisamente para o caso de um manipulador com 5 graus de liberdade. A cinemática inversa é um ramo com grandes desafios devido ao problema das equações não serem lineares, dificultando a determinação de soluções de uma forma fechada. Portanto, diversos pesquisadores, ao longo dos anos, tentam resolver esse problema evitando o uso de inversões de equações. Nesse sentido, o uso de Redes Neurais Artificiais se mostra uma alternativa atraente. Para se atingir este objetivo, o estudo foi realizado para o caso de um robô manipulador educacional com 5 graus de liberdade, composto de uma estrutura de alumínio e seis servomotores. Além disso, utilizou-se o MATLAB para o desenvolvimento e treinamento da Rede Neural. Palavras Chaves: Robótica, Redes Neurais Artificiais, Cinemática Inversa. Abstract: The present work shows the development and the results obtained of a study about the use of Neural Networks to solve the inverse kinematics of robotic manipulators, more specifically to a robotic manipulator with 5 degree of freedom. The inverse kinematics is a field of study with challenges due the fact that the equations aren't linear which become a problem to obtain closed form solution. Therefore, many scientists try to solve this problem with methods that don't use equation inversions. In this sense, the use of Artificial Neural Networks proves to be an interesting alternative for this purpose. To achieve this goal, an educational robotic manipulator with 5 degree of freedom was used as the object of study. This robot has an aluminum structure and six servomotors. Furthermore, the software MATLAB was used to develop and train the Neural Network. Keywords: Robotics, Artificial Neural Networks, Inverse Kinematics. 1 INTRODUÇÃO A robótica é um campo de pesquisa tecnológica relativamente jovem que não é limitada pelas tradicionais fronteiras existentes entre as diversas engenharias. Para o entendimento das complexidades e aplicações que envolve o estudo dos robôs é necessário conhecimentos de engenharia elétrica, engenharia mecânica, engenharia industrial e de sistemas, ciências da computação, economia e matemática [Spong et al, 2004]. Além disso, os robôs são as principais ferramentas utilizadas em automação da produção industrial, em tarefas perigosas, em tarefas no espaço sideral e/ou em qualquer tarefa em que se deseja que uma máquina substitua um ser humano [Mittal, 2003; Siciliano et al, 2010]. Por isso, o estudo dessas máquinas tem vital importância para o desenvolvimento das áreas de tecnologia em mecatrônica e automação. A cinemática é o estudo do movimento de um robô em relação a um referencial cartesiano fixo ignorando as forças e os momentos que causam o movimento da estrutura. A formulação da cinemática de um robô, permite o estudo de dois problemas chaves na robótica. O problema da cinemática direta e o problema da cinemática inversa. O modelo cinemático direto permite determinar a posição e orientação da garra do robô, em relação a um referencial cartesiano fixo, a partir dos valores das suas juntas. Por outro lado, o modelo cinemático inverso permite determinar os valores das juntas do robô a partir da posição e orientação da garra. A cinemática direta pode ser facilmente obtida pela convenção de Denavit- Hartenberg. Entretanto, não existe uma forma simples de se obter o modelo cinemático inverso de um manipulador robótico [Spong et al, 2004; Siciliano et al, 2010; Corke, 2011]. Na literatura é possível encontrar diversas técnicas clássicas para resolver o problema da cinemática inversa. Para manipuladores robóticos simples, as soluções algébricas e geométricas são as abordagens mais comuns para este fim [Siciliano et al, 2010]. Enquanto que o desacoplamento cinemático é um exemplo de uma técnica clássica utilizada em robôs mais complexos [Spong et al, 2004]. Mostra Nacional de Robótica (MNR) 1 Entretanto, existem alguns problemas ao se utilizar de tais abordagens. Problemas que são inerentes a própria natureza da cinemática inversa, por exemplo [Siciliano et al, 210]: • As equações são em gerais não lineares e, por isso, nem sempre é possível encontrar soluções de forma fechada; • Múltiplas soluções podem existir; • Infinitas soluções podem existir, por exemplo, no caso de um manipulador redundante; • Podem não existir soluções admissíveis. Devido a esses problemas, torna-se interessante tentar encontrar outras maneiras para encontrar uma solução para a cinemática inversa. Com esse problema em mente que em 1997 foi publicado um artigo sobre um método de busca heurística para solução de cinemática inversa escrito por Madrid e Badan [Madrid e Badan, 1997]. Posteriormente, esse método foi aperfeiçoado por Nicolato em 2007 [Nicolato, 2007]. Além desses, existem os métodos baseados em Redes Neurais Artificiais, RNA. O uso de RNA em robótica é algo relativamente novo, uma das primeiras publicações que relaciona o uso de RNA com robótica data de 1989 [Kung et al, 1989]. Enquanto que em 1995, Tzafestas publicou um estudo da arte do uso de RNA em robótica [Tzafestas, 1995]. No caso especial do uso de RNA para resolução de cinemática inversa pode-se citar os trabalhos de Ito, Karlik, Wei, Koker, Oyama, Youssef, Daya e Dash [Ito, 1995; Karlik et al, 200; Wei et al, 2003; Koker et al, 2004; Oyama et al, 2005; Youssef et al, 2008; Daya et al, 2010; Dash et al 2011]. Existem também trabalhos nos quais os autores usam uma combinação de algoritmos genéticos com RNA [Martin et al, 2007; Koker, 2013]. Essas publicações provam que o estudo da cinemática inversa utilizando-se das Redes Neurais Artificiais é uma área de interesse para diversos pesquisadores. Segundo Gurney [Gurney, 1997], uma rede neural é um conjunto interconectado de elementos de processamento simples, chamados de nós, cuja funcionalidade é livremente baseada em neurônios animais. A capacidade de processamento da rede é armazenada nas forças de ligação entre as unidades, denominadas de pesos, obtidas pelo processo de adaptação ou aprendizagem de um conjunto de treinamento. Além disso, as Redes Neurais Artificiais também são conhecidas como aproximadores universais de funções [Hornik et al, 1989; Krose et al, 1996]. Portanto, são boas candidatas para serem usadas na resolução da cinemática inversa de manipuladores robóticos. Tipicamente, uma rede neural artificial é composta por um conjuntos de entradas e um conjunto de saídas. Uma RNA pode ser composta por camadas de neurônios entre as entradas e as saídas. Essas camadas intermediárias de neurônios são conhecidas pelo nome de Camadas Escondidas, do inglês Hidden Layers. Uma RNA pode ter um número arbitrário de camadas escondidas e cada uma delas podem ter um número arbitrário de neurônios [Gurney, 1997; Krose et al, 1996]. Por exemplo, na Figura 1 é mostrada uma RNA com 4 entradas, 2 saídas e 1 camada escondida com 3 neurônios. Figura 1: Exemplo de uma Rede Neural Artificial, adaptado de Gurney, 1997. Portanto, visando a compreensãodo leitor sobre os passos que foram seguidos para se atingir o objetivo de resolver a cinemática inversa de um manipulador robótico com 5 graus de liberdade, segue a estrutura do presente artigo: • O método de Denavit-Hartenberg para obtenção do modelo cinemático direto do robô em estudo é apresentado na seção 2; • A teoria das Redes Neurais Artificiais é apresentada na seção 3; • Os métodos e materiais utilizados para a realização do presente trabalho são apresentados na seção 4; • Os resultados obtidos estão expostos na seção 5; • Por último, a conclusão e considerações finais estão apresentadas na seção 6. 2 MODELAGEM CINEMÁTICA DIRETA Obter o modelo cinemático direto de um robô é tão importante quanto seu modelo cinemático inverso. Isso se deve ao fato de que com a cinemática direta é possível obter a cinemática inversa, o jacobiano e o modelo dinâmico do manipulador [Spong et al, 2003; Siciliano et al, 2010]. Portanto, o primeiro passo para a realização do presente trabalho foi a obtenção do modelo cinemático direto do robô em estudo, mostrado na Figura 2. Ao contrário da cinemática inversa, a obtenção do modelo cinemático direto de um manipulador robótico é um processo simples que faz uso de matrizes de transformação homogênea. A forma mais comum para obtenção desse modelo é através do uso da convenção de Denavit-Hartenberg, DH [Spong et al, 2003; Siciliano et al, 2010]. Nessa convenção, um sistema de coordenadas é fixado em cada junta do robô. Essas juntas podem possui movimentos de rotação ou translação em torno de seu eixo. Uma matriz de transformação homogênea é atribuída para cada sistema de coordenadas fixado. Essas matrizes contém informações de orientação e posição do sistema coordenado atual em relação ao sistema anterior e pode ser escrita da seguinte forma: Ai=[cos(θi) −sin(θ i)cos(αi) sin(θi)sin(αi) ai cos(θ i)sin(θi) cos(θi)cos(αi) −cos(θi)sin(αi) ai sin(θ i)0 sin(αi) cos(αi) d i0 0 0 1 ], (1) onde θi, αi, ai e di, são parâmetros DH associados com o elo i e a junta i. Geralmente, os nomes dados a esses parâmetros são: link length, link twist, link offset e joint angle. Mais informações sobre esses parâmetros podem ser encontradas em Mostra Nacional de Robótica (MNR) [Siciliano et al, 2010, Corke, 2011, Spong et al, 2004]. Portanto, para se determinar as matrizes de cada elo é necessário montar uma tabela com esses parâmetros que, no caso do robô em estudo, encontra-se na Tabela I. Figura 2: Robô manipulador com 5 graus de liberdade. Por último, para se determinar a orientação e a posição final da garra do robô é necessário multiplicar todas as matrizes ao longo da cadeia cinemática. Para o caso do robô em estudo, tem-se: T 5 1=A1 A2 A3 A4 A5 . (2) Tabela I - Parâmetros DH para o robô em estudo. Link ai αi di θi 1 0 90º 72 mm θ1 * 2 105 mm 0 0 θ2 * 3 95 mm 0 0 θ3 * 4 30 mm -90º 0 θ4 * 5 0 0 153 mm θ5 * Portanto, o modelo cinemático direto do robô em estudo é o seguinte: T 5 1=[n x sx a x xn y s y a y yn z sz a z z 0 0 0 1 ] , (3) onde: n x=−s1 s5−c5(c4(c1 s2 s3−c1 c2 c3)+s4(c1 c2 s3+c1c3 s2)) ; n y=c1 s5−c5(c4(s1 s2 s3−c2 c3 s1)+s4(c2 s1 s3+c3 s1 s2)) ; n z=s234 c5 ; sx=s5(c4(c1 s2 s3−c1 c2 c3)+ s4(c1 c2 s3+c1 s2))−c5 s1 ; sy=c1c5+ s5(c4(s1 s2 s3−c2c3 s1)+s4(c2 s1 s3+c3 s1 s2)) ; s z=−s123 s5 ; a x=−s123 c1 ; a y= c123 2 − c123 2 ; x=c1(30c234−153 s234+95 c23+105 c2) ; y=s1(30 c234−153 s234+95c23+105 c2) ; z=153 c234+30 s234+95 s23+105 s2+72 . Sendo que a notação utilizada tem o seguinte significado: • ci=cos(θi) ; • si=sin (θi) ; • cijk=cos(θi+θ j+θ k ) ; • sijk=sin (θ1+θ2+θ3) . 3 REDES NEURAIS ARTIFICIAIS As redes neurais artificiais são baseadas nos neurônios naturais encontrados nos animais. As RNAs são consideradas sistemas de computação paralela e possuem a habilidade de se adaptar, aprender, aproximar funções, generalizar, agrupar e organizar dados [Gurney, 1997; Krose et al, 1996]. Devido a essas características que esse tipo de rede se mostra promissor para a resolução de uma infinidade de problemas. Historicamente, os primeiros trabalhos a introduzir esse assunto datam de 1943 [McCulloch e Pitts, 1943]. Entretanto, houve uma época de desinteresse no estudo das RNAs devido ao trabalho de Minsky e Papert de 1969 em que mostrava as deficiências do modelo perceptron. Entretanto, na década de 80, o interesse pelas redes neurais reapareceu devido a evolução dos sistemas computacionais e a descoberta da retropropagação, uma técnica importante para o treinamento de redes neurais [Krose et al, 1996]. Como dito na introdução deste trabalho, uma rede neural artificial é um conjunto de nós interconectados, sendo cada nó chamado de neurônio. Entretanto, a força da rede neural não está no nó em si, mas sim no peso de suas conexões. Para obtenção dos pesos adequados para uma determinada tarefa é necessário que a rede passe por um processo de adaptação ou treinamento. Nesse processo, são apresentados a rede um conjunto de treinamento, que consistem nas entradas e saídas desejadas. Portanto, durante o processo de treinamento, os pesos da rede são ajustados até que o valor predito pela rede seja menor que o erro desejado em relação aos valores reais. Após o processo de treinamento, a rede será capaz de generalizar os dados, não apenas para as entradas e saídas utilizadas durante o treinamento, mas, também, para entradas desconhecidas [Gurney, 1997; Krose et al, 1996]. 4 MATERIAIS E MÉTODOS Os materiais utilizados para a realização do presente trabalho foram os seguintes: • Um robô manipulador com 5 graus de liberdade, acionado por quatro servomotores do tipo TR213 e dois servomotores do tipo TR205, mostrado na Figura 2; • Um microcontrolador Arduino Uno Rev. 3, semelhante ao mostrado na Figura 3; • Uma fonte para alimentar os servomotores do tipo ATX; • Software MATLAB; • Neural Networks Toolbox; Mostra Nacional de Robótica (MNR) 3 • Robotics Toolbox [Corke, 1996]. Figura 3: Arduino Uno Rev. 3. Além disso, o método seguido foi trabalhar de forma simulada no software do MATLAB e, ao obter-se resultados satisfatórios, transferir o trabalho para o robô real. Sendo assim, foram seguidos os seguintes passos para o treinamento e teste da rede neural artificial: • Levantamento do modelo cinemático do robô em estudo; • Obtenção dos dados de treinamento da rede neural pela utilização do espaço de trabalho do robô. Sendo os dados de treinamento compostos por; • Dados de entrada: todos os valores possíveis para a orientação e a posição da garra do robô; • Dados de saída: os valores correspondentes de cada junta do robô; • Treinamento da rede neural para diferentes parâmetros; • Elaboração de uma trajetória para testar os resultados do treinamento da rede neural. Seguindo os passos citados acima foram obtidos resultados satisfatórios que serão detalhados na próxima seção. 5 RESULTADOS Devido ao número de páginas limitados para a escrita deste artigo serão apresentados nesta seção apenas os melhores resultados obtidos na realização do trabalho. Além disso, a rede neural foi treinada apenas com 4 graus de liberdade, pois o 5º grau de liberdade constitui apenas uma rotação em torno do eixo Z do sistema de referência da garra do robô. Para testar os resultados obtidos no treinamento das redes neurais utilizadas no presente trabalho, foi elaborada a trajetória mostrada na Figura 5. Essa trajetória seria a realização de umasimples tarefa de transporte, pegar um objeto em um local e colocá-lo em outro local. Para a obtenção dos melhores resultados, foi utilizada uma rede neural do tipo feedforward, Figura 1, com 3 camadas escondidas, contendo, respectivamente, 17, 15 e 12 neurônios. Além disso, em cada camada escondida foi utilizada a função de transferência log-sigmoid. Essa rede possui 12 entradas e 4 saídas, Figura 5. Sendo as entradas os valores da orientação e posição final da garra do robô. Enquanto que as saídas são os valores de cada junta do robô. O treinamento da rede foi feito utilizando a função trainbr e um conjunto de treinamento com 86016 dados de entrada e 28672 dados de saída. Esses dados foram divididos de forma randômica sendo 15% usados na validação e 85% usados no teste da rede. A taxa de aprendizagem foi de 0,2 e a rede foi treinada por 3000 iterações. Utilizando-se desses parâmetros se obteve um erro de treinamento da ordem de 10−10 , conforme ilustrado na Figura 6. Por fim, ao aplicar a rede neural treinada na trajetória desejada, foi obtido um erro da ordem de 10−2 mm, conforme apresentado na Figura 7. Portanto, o método estudado no presente artigo pode ser utilizado até em tarefas que requerem um alto nível de precisão. Além disso, sendo o treinamento da rede neural a única etapa do processo que exige grande poder computacional, o método em estudo pode ser aplicado para solucionar a cinemática inversa de um manipulador em tempo real, durante a realização da tarefa. Mostra Nacional de Robótica (MNR) Figura 4: Arquitetura da rede utilizada. Figura 5: Trajetória do robô. Figura 7: Resultado final. 6 CONCLUSÃO E DISCUSSÃO Conforme demonstrado pelos resultados, a utilização de redes neurais para resolução da cinemática inversa de manipuladores robóticos é bastante satisfatório. Com um erro entre o valor desejado e o predito pequenos, as RNAs podem ser usadas em tarefas que requerem bastante precisão. Ao longo do desenvolvimento deste trabalho foram feitas algumas constatações interessantes. Da forma como apresentada nesse artigo, as RNAs não são adequadas para resolução de cinemática inversa de manipuladores redundantes, manipuladores que possuem mais graus de liberdade do que o seu espaço de trabalho. O exemplo típico desse fato é quando se tenta utilizar a metodologia apresentada em um robô planar com 3 graus de liberdade. Devido as redundâncias acaba-se criando um conjunto de dados de treinamento confuso para a rede e, por isso, a rede não consegue convergir para o resultado esperado. Portanto, a maneira como foi desenvolvida o presente trabalho apresenta bons resultados apenas para robôs não redundantes. Como um robô planar com 2 graus de liberdade ou um robô 3D com no máximo 6 graus de liberdade. REFERÊNCIAS BIBLIOGRÁFICAS Spong, M. W.; Hutchinson, S.; Vidayasagar, M. Robot Dynamics and Control. 2nd. ed. John Wiley & Sons, Inc, 204. 496p. ISBN 978-0471612438. Mittal, R. K. Robotic and Control. Tata McGraw – Hill, 2003. Siciliano, B. et al. Robotics: Modelling, Planning and Control. Springer, 2010. Corke, P. Robotics, Vision and Control: Fundamental Algorithms in Matlab. Springer, 2011. Madrid, M.; Badan, A. Heuristic Search method for continuous-path tracking optimization on high- performance industrial robots. Control Engineering Practice, 1997. v. 5, n. 9, p. 1261-1271, set. 1997. ISSN 09670661. Nicolato, F. Estudo e Implementação de um Método de Cinemática Inversa Baseado em Busca Heurística para Robôs Manipuladores: Aplicação em Robôs Redundantes e Controle Servo Visual. 87 p., Tese (Doutorado) – Universidade de Campinas, 2007. Tzafestas, S. Neural networks in robotics: state of the art. Proceedings of the IEEE International Symposium on Industrial Electronics. Atenas. IEEE, 1995. v. 1, p 12- 20. ISBN 0-7803-2683-0. Ito, K. Regularization of inverse kinematics for redundant manipulator using neural networks inversions. Proceedins of ICNN'95 – International Conference on Neural Networks. IEEE, 1995. v. 5, p. 2726-2731. Karlik, B.; Aydin, S. An improved approach to the solution of inverse kinematics for robot manipulators. Engineering Applications of Artificial Intelligence, 2000, v. 13, n. 2, p. 153-164, abr. 2000. ISSN 09521976. Wei., L.-X.; Wang, H.-R.; Li, Y. L. A new solution for inverse kinematics of manipulator based on neural network. Proceedings of the 2003 International Conference on Machine Learning and Cybernetics. IEEE, 2003, v. 2, n. 1, p. 1201-1203. Köker, R. et al. A study of neural network based inverse kinematics solution for a three-joint robot. Robotics and Autonomous Systems, 2004, v. 49, n. 3-4, p. 227-234, dez. 2004. ISSN 09218890. Oyama, E. et al. Inverse kinematics learning for robotic arms with fewer degrees of freedom by modular neural network systems. 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE, 2005. p. 1791-1798. ISBN 0-7803-8912-3. Youssef, K.; Woo, P.-Y. Robotic position/orientation control using neural networks, 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence). Hong Kong: IEEE, 2008. p 310-314. ISBN 978-1-4244-1820-6. Daya, B.; Khawandi, S.; Chauvet, P. Neural network system for inverse kinematics problem in 3 DOF robotics. In: 2010 IEEE Fifth International Conference on Bio-Inspired Computing: Theories and Applications (BIC-TA). IEEE, 2010. p. 155001557. ISBN 978-1-4244-6437-1. Mostra Nacional de Robótica (MNR) 5 Figura 6: Erro quadrático médio do treinamento da rede neural. Dash, K. et al. A neural network based inverse kinematic problem. 2011 IEEE Recent Advances in Intelligent Computational Systems, 2011, Ieee, p. 471-476, 2011. Martín, J. A. H.; Lope, J.; de Santos, M. Evolution of Neuro- controllers for Multi-link Robots. Innovations in Hybrid Intelligent Systems, 2007, v. 44, p. 175-182, 2007. Köker, R. A genetic algorithm approach to a neural-network- based inverse kinematics solution of robotic manipulators based on error minimization. Information Sciences, 2013, v. 222, p. 528-543, fev. 2013. ISSN 00200255. Gurney, K. An Introduction to Neural Networks. London: UCL Press. 1997. 148 p. ISBN 0203451511. Hornik, K.; Stinchcombe, M.; White, H. Multilayer feedforward networks are universal approximators. Neural Networks, 1989, v. 2, p. 359-366, 1989. Krose, B.; Smagt, P. V. D. An Introduction to Neural Networks. Eighth. Amsterdam: University of Amsterdam, 1996. 135 p. McCulloch, W. S., Pitts, W. (1943). A logical calculus of the immanent in nervous activity. Bulletin of Mathematical Biophysics, 5, 115-133. Minsky, M., Papert, S. (1969). Perceptrons: An Introduction to Computational Geometry. The MIT Press. Corke, P. I. A robotics toolbox for MATLAB. IEEE Robotics & Automation Magazine, 1996, v. 3, p. 24-32, mar 1996. Mostra Nacional de Robótica (MNR) Utilização de redes neurais artificiais na resolução da cinemática inversa de um manipulador robótico com 5 graus de liberdade 1 Introdução 2 Modelagem cinemática direta 3 Redes neurais Artificiais 4 MATERIAIS E MÉTODOS 5 RESULTADOS 6 conclusão E DISCUSSÃO
Compartilhar