Baixe o app para aproveitar ainda mais
Prévia do material em texto
MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA INSTITUTO MILITAR DE ENGENHARIA PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA MICHEL HENRIQUE MACHADO ALBA OTIMIZAÇÃO COM BASE EM PROGRAMAÇÃO MATEMÁTICA APLICADA À ROBÓTICA INDUSTRIAL Rio de Janeiro 2018 INSTITUTO MILITAR DE ENGENHARIA MICHEL HENRIQUE MACHADO ALBA OTIMIZAÇÃO COM BASE EM PROGRAMAÇÃO MATEMÁTICA APLICADA À ROBÓTICA INDUSTRIAL Dissertação de Mestrado apresentada ao Programa de Pós- Graduação em Engenharia Mecânica do Instituto Militar de Engenharia, como requisito parcial para obtenção do título de Mestre em Ciências em Engenharia Mecânica. Orientador: Prof. José Herskovits Norman - Dr. Ing. Co-orientador: Prof. Luiz Paulo Gomes Ribeiro - Dr. Eng. Rio de Janeiro 2018 c2018 INSTITUTO MILITAR DE ENGENHARIA Praça General Tibúrcio, 80 – Praia Vermelha Rio de Janeiro – RJ CEP: 22290-270 Este exemplar é de propriedade do Instituto Militar de Engenharia, que poderá incluí-lo em base de dados, armazenar em computador, microfilmar ou adotar qualquer forma de arquivamento. É permitida a menção, reprodução parcial ou integral e a transmissão entre bibliotecas deste trabalho, sem modificação de seu texto, em qualquer meio que esteja ou venha a ser fixado, para pesquisa acadêmica, comentários e citações, desde que sem finalidade comercial e que seja feita a referência bibliográfica completa. Os conceitos expressos neste trabalho são de responsabilidade do(s) autor(es) e do(s) orientador(es). 629.892 Alba, Michel Henrique Machado A325o Otimização com base em programação matemática aplicada à robótica industrial / Michel Henrique Machado Alba; orientado por José Herskovits Norman; Luiz Paulo Gomes Ribeiro – Rio de Janeiro: Instituto Militar de Engenharia, 2018. 129p.: il. Dissertação (Mestrado) – Instituto Militar de Engenharia, Rio de Janeiro, 2018. 1. Curso de Engenharia Mecânica – teses e dissertações. 2. Robótica. 3. Cinemática. I. Norman, José Herskovits. II. Ribeiro, Luiz Paulo Gomes. III. Instituto Militar de Engenharia. 2 AGRADECIMENTOS Agradeço primeiramente a Deus, por prover proteção e me fortalecer, permitindo buscar e alcançar os meus objetivos. A toda minha família e, especialmente, minha mãe, Alessandra, meu pai, Jolnei, minha irmã, Alexsandra, e minha avó materna, Mariza, por não medirem esforços para apoiar meu crescimento pessoal e profissional. Vocês foram e sempre serão fundamentais na minha vida. A Alessandra Galimberti e família, cujo carinho, apoio e compreensão nos momentos de ausência também foram fundamentais para a concretização deste trabalho. Ao Prof. José Herkovits Norman, meu orientador, pelo incentivo ao ingresso no Mestrado e por dedicar seu tempo e atenção para transmitir conhecimentos e apontar o melhor caminho a ser seguido. Ao Prof. Cel. Luiz Paulo Gomes Ribeiro, meu co-orientador, pela recepção no Laborató- rio de Robótica Industrial e de Defesa (IDR Lab) e pela paciência e dedicação em transmitir ensinamentos e palavras de apoio. A todos os amigos do IDR Lab pelo companheirismo ao longo desta caminhada. Aos docentes e servidores do Instituto Militar de Engenharia que de alguma maneira cola- boraram com a conclusão deste trabalho. A Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES), pelo suporte financeiro. 4 In times of change, learners inherit the earth, while the learned find themselves beautifully equipped to deal with a world that no longer exists. Eric Hoffer 5 SUMÁRIO LISTA DE ILUSTRAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 LISTA DE ABREVIATURAS E SÍMBOLOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.2 Formulação do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4 Organização da Dissertação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2 FUNDAMENTOS DE ROBÓTICA INDUSTRIAL . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1 Aspectos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.1 Histórico e estatísticas recentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.1.2 Aplicabilidade e Objetivos de Desempenho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.1.3 Áreas de pesquisa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.1.4 O Robô Industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.5 Programação de Robôs Industriais: On-line e Off-line . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.1.6 Simuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.1.6.1 Software CARPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.2 Resolução cinemática de manipulador seriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.1 Cinemática Direta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.2.2 Cinemática Diferencial Direta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 2.2.3 Cinemática Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.2.4 Redundância Cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 2.2.4.1 Métodos de Resolução da Redundância . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.3 Planejamento de Trajetórias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.3.1 Trajetórias no Espaço Operacional e no Espaço das Juntas . . . . . . . . . . . . . . . . . . . . . 46 2.3.2 Movimentos Ponto-a-Ponto e de Caminho Prescrito . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3 FUNDAMENTOS DE OTIMIZAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.1 Aspectos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 6 3.1.1 Problemas de Otimização: Definição e Histórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.1.2 Notações e Conceitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.1.3 Formulação do Problema Geral de Otimização com Restrições . . . . . . . . . . . . . . . . . 57 3.1.4 Iterações pelo Método de Newton para Sistemas Não-Lineares . . . . . . . . . . . . . . . . . 59 3.2 Algoritmo FDIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 3.2.1 Cálculo da Direção de Busca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2.2 Busca Linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.3 Atualizações. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.2.4 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 3.3 Sobre Otimização na Robótica Industrial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4 METODOLOGIA PARA RESOLUÇÃO CINEMÁTICA POR OTIMIZAÇÃO 72 4.1 Modelagem do robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.2 Definição da tarefa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4.3 Formulação do problema de otimização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.4 Resolução pelo Algoritmo FDIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.5 Pós-Processamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5 ESTUDOS DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.1 ESTUDO DE CASO 1: Robô Planar Redundante . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.1.1 Obtenção de Postura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 5.1.2 Cálculo de Trajetória Otimizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.2 ESTUDO DE CASO 2: Robô Tridimensional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.2.1 Obtenção de Postura - Posição e Orientação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.2.2 Pontos fora do volume de trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 6 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6.1 Recapitulação Sintetizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 6.2 Contribuição Científica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 6.3 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.4 Perspectivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 7 REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7 8 APÊNDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 8.1 APÊNDICE 1: Condições de Otimalidade no Cálculo da Direção de Busca . . . . . . . 119 8.1.1 Problemas de Otimização sem Restrições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 8.1.2 Problemas de Otimização com Restrições de Igualdade . . . . . . . . . . . . . . . . . . . . . . . 120 8.1.3 Problemas de Otimização com Restrições de Desigualdade . . . . . . . . . . . . . . . . . . . . 122 8.2 APÊNDICE 2: Resolução da Cinemática Inversa pela Inversão do Jaco- biano baseado em Helicoides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 8 LISTA DE ILUSTRAÇÕES FIG.2.1 Estatísticas de instalações de robôs industriais. Adaptado de IFR (2017) . . . . . 24 FIG.2.2 Objetivos de desempenho e seus efeitos (SLACK et al., 2002). . . . . . . . . . . . . . 25 FIG.2.3 Classificação robôs industriais quanto à cadeia cinemática. . . . . . . . . . . . . . . . . . 27 FIG.2.4 Componentes de um sistema robótico. Adaptado de SPONG et al. (2005) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 FIG.2.5 Classificação de robôs industriais seriais (SANTOS, 2017). . . . . . . . . . . . . . . . . 29 FIG.2.6 Modelos de Teach Pendant Unit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 FIG.2.7 Cenário virtual do IDR Lab no CARPA (SANTOS, 2017). . . . . . . . . . . . . . . . . 34 FIG.2.8 Deslocamento Helicoidal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 FIG.2.9 Deslocamentos de Helicoides Sucessivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 FIG.2.10 Localização do TCP após deslocamento a partir da postura de referên- cia. (SANTOS, 2018) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 FIG.2.11 Problemas de planejamento de trajetórias no espaço operacional (CRAIG, 2005). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 FIG.2.12 Obstáculo no espaço operacional e das juntas (SICILIANO et al., 2009). . . . . . 47 FIG.2.13 Tipos de ponto em uma tarefa pick-and-place (SANTOS, 2018). . . . . . . . . . . . . 49 FIG.3.1 Região viável (HERSKOVITS, 1995) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 FIG.3.2 Direção de descida (HERSKOVITS, 1995) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 FIG.3.3 Direção de Busca viável (HERSKOVITS, 1995). . . . . . . . . . . . . . . . . . . . . . . . . . 62 FIG.3.4 Movimentos de um manipulador redundante (CHIAVERINI, 2013) . . . . . . . . . . 70 FIG.4.1 Modelo de análise: robô planar 3R (SICILIANO et al., 2009) . . . . . . . . . . . . . . 73 FIG.4.2 Esquemático do robô posicionado no início da trajetória desejada. . . . . . . . . . . . 75 FIG.4.3 Trajetória obtida na resolução da cinemática inversa. . . . . . . . . . . . . . . . . . . . . . 79 FIG.4.4 Resultados da abordagem por otimização. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 FIG.4.5 Resultados da abordagem adaptadda de SICILIANO et al. (2009). . . . . . . . . . . . 80 FIG.5.1 Modelo de manipulador planar 4R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 FIG.5.2 Minimização da função objetivo e dos erros nos Casos (1) e (2). . . . . . . . . . . . . 87 FIG.5.3 Minimização da função objetivo e do erro de posição Caso (3). . . . . . . . . . . . . . 89 FIG.5.4 Trajetória otimizada para o movimento de caminho prescrito. . . . . . . . . . . . . . . . 91 FIG.5.5 Perfis de ângulo de junta obtidos no Caso (4). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 9 FIG.5.6 Perfis de velocidade de junta obtidos no Caso (4). . . . . . . . . . . . . . . . . . . . . . . . . 92 FIG.5.7 Trajetória obtida para o caminho prescrito na forma de quadrado. . . . . . . . . . . . 93 FIG.5.8 Trajetória otimizada para o movimento ponto-a-ponto. . . . . . . . . . . . . . . . . . . . . 95 FIG.5.9 Resultado obtido das variáveis de junta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 FIG.5.10 Modelo do MH5F em Home no software CARPA. . . . . . . . . . . . . . . . . . . . . . . . . 97 FIG.5.11 Ponto alvo com o ajuste da orientação desejada. . . . . . . . . . . . . . . . . . . . . . . . . . . 99 FIG.5.12 GUI Principal do módulo FDIPA implementada no CARPA. . . . . . . . . . . . . . . . 99 FIG.5.13 Mensagem exibida após obtenção da solução. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 FIG.5.14 Valores obtidos por iteração. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 FIG.5.15 Minimização de β e os erros de posição e orientação do Caso (7). . . . . . . . . . . . 102 FIG.5.16 Postura obtida no Caso (7). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 FIG.5.17 Ponto alvo fora do alcance do robô. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 FIG.5.18 Mensagem exibida após não alcançar o ponto. . . . . . . . . . . . . . . . . . . . .. . . . . . . 105 FIG.5.19 Minimização de β e os erros de posição e orientação do Caso (8). . . . . . . . . . . . 106 FIG.5.20 Postura obtida no Caso (8). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 FIG.8.1 Algoritmo de cinemática inversa baseado na inversão do Jacobiano (SI- CILIANO et al., 2009). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 FIG.8.2 CVA e a metodologia de Kirchhoff-Davies para o robô 3R (SANTOS, 2018). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 10 LISTA DE TABELAS TAB.4.1 Parâmetros da modelagem por helicoides do robô planar 3R. . . . . . . . . . . . . . . . 73 TAB.4.2 Iterações do algoritmo FDIPA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 TAB.5.1 Parâmetros dos helicoides para a modelagem do robô planar 4R. . . . . . . . . . . . . 82 TAB.5.2 Posturas obtidas no Caso (1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 TAB.5.3 Posturas obtidas no Caso (2). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 TAB.5.4 Posturas obtidas no Caso (3). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 TAB.5.5 Parâmetros dos helicoides para a modelagem do robô Motoman MH5F. . . . . . . 97 TAB.5.6 Limites mecânicos do robô Motoman MH5F. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 11 LISTA DE ABREVIATURAS E SÍMBOLOS ABREVIATURAS IME - Instituto Militar de Engenharia FDIPA - Feasible Direction Interior Point Algorithm IoT - Internet of Things IIoT - Industrial Internet of Things JIF - Journal Impact Factor JCR - Journal Citation Reports PND - Política Nacional de Defesa END - Estratégia Nacional de Defesa OND - Objetivos Nacionais de Defesa BID - Base Industrial de Defesa IFR - International Federation of Robotics VR - Virtual Reality AR - Augmented Reality RIA - Robot Institute of America DOF - Degree of Freedom TPU - Teach Pendant Unit IHM - Interface Homem-Máquina CARPA - Computer-Aided Serial Robots Programming, Modelling and Sim- ulation Analysis IDR LAB - Laboratório de Robótica Industrial e de Defesa IDE - Integrated Development Environment OOP - Object-Oriented Programming EOP - Event-Oriented Programming MDHS - Método dos Deslocamentos dos Helicoides Sucessivos CAD - Computer-Aided Design MTH - Matriz de Transformação Homogênea TCP - Tool Center Point CRS - Cooperative Robotic System GPM - Gradient Projection Method PNS - Parametrização do Espaço Nulo 12 FSP - Full Space Parametrization PRM - Probabilistic Roadmap LSPB - Linear Segments with Parabolic Blends SQP - Sequential Quadratic Programming GA - Genetic Algorithm SA - Simulated Annealing DE - Differential Evolution KKT - Karush-Kuhn-Tucker BL - Busca Linear BFGS - Broyden-Fletcher-Goldfarb-Shanno MVN - Minimum Velocity Norm WMVN - Weighted Minimum Velocity Norm MAN - Minimum Acceleration Norm WMAN - Weighted Minimum Acceleration Norm GUI - Graphical User Interface 13 RESUMO Na atualidade, novas tecnologias estão surgindo e se consolidando com alta velocidade, em face a demanda por processos industriais cada vez mais eficientes, confiáveis e flexíveis. Ao longo das últimas décadas a Robótica Industrial aparece como uma área de conhecimento estratégica, servindo como um dos pilares deste dinâmico cenário tecnológico. Apesar das diversas vantagens auferidas pelo robô industrial, seu uso ainda apresenta alta complexidade e demanda conhecimento e habilidade do operador para garantir resultados efici- entes. Uma importante ferramenta que permite a obtenção de resultados com maior eficiência e contribui com a tomada de decisão em diversas áreas é o uso de métodos de otimização por programação matemática. Dessa forma, esta dissertação visa contribuir aprimorando a resolução cinemática e viabili- zando a otimização de trajetórias de robôs industriais, propondo uma metodologia que engloba: a modelagem da cadeia cinemática do robô serial baseada na Teoria dos Helicoides; a formula- ção de problemas de otimização; sua resolução valendo-se do algoritmo FDIPA (Feasible Direc- tion Interior Point Algorithm); e o pós-processamento gráfico para visualização dos resultados. Finalmente são apresentados estudos de caso com diferentes critérios e restrições, aplicados a robôs planares e espaciais, permitindo a análise da eficiência da metodologia proposta. Com os resultados gerados, observa-se... Palavras-chave: Resolução Cinemática, Otimização de Trajetória, FDIPA, Robótica Indus- trial,Teoria dos Helicoides. 14 ABSTRACT Nowadays, new technologies are emerging and consolidating with high speed, due to the demand for increasingly efficient, reliable and flexible processes. Over the last few decades, Industrial Robotics has emerged as a strategic area of knowledge, serving as one of the pillars of this dynamic technological scenario. In spite of the many advantages obtained by the industrial robot, its use still presents high complexity and demands knowledge and skill of the operator to guarantee efficient results. An important tool for achieving more efficient results and improving decision making in several areas is the use of optimization methods by mathematical programming. Thus, this dissertation aims to contribute to improve kinematic resolution and enable tra- jectory optimization of industrial robots. For this, a methodology is proposed including: the modeling of the kinematic chain of the serial robots based on Screw Theory; the formulation of optimization problems; its resolution using FDIPA (Feasible Direction Interior Point Algo- rithm); and graphical post-processing to visualize the results. Finally, case studies with different criteria and constraints are presented, applied to planar and spatial robots, allowing the analysis of the efficiency of the proposed methodology. Keywords: Kinematic Resolution, Trajectory Optimization, Industrial Robotics, FDIPA, Screw Theory. 15 1 INTRODUÇÃO Nesta dissertação são abordadas duas áreas de pesquisa e suas importantes contribuições na indústria: a Robótica e a Otimização, propondo uma metodologia para integração e solução de problemas de Robótica Industrial por Otimização. No estudo de robótica são recorrentes pro- blemas matemáticos de obtenção de valor mínimo ou máximo de funções, bem como problemas que requerem técnicas numéricas para a obtenção de soluções aproximadas. Estes aspectos e a constante demanda por eficiência nos processos produtivos da indústria são problemas caracte- rísticos para a aplicação de métodos de otimização, qualificando-os como importante ferramenta na Robótica Industrial. A flexibilidade de formulação dos problemas de otimização e a multidisciplinaridade associ- ada ao estudo da robótica permitem que diversas linhas de pesquisa possam ser seguidas. Neste trabalho busca-se explorar a aplicabilidade dos conceitos de otimização especificamente para a Robótica Industrial, visando obter contribuições científicas para a viabilização e execução de tarefas de forma simples e otimizada. A sequência deste capítulo introdutório está organizada em seções, iniciando pela motivação (Seção 1.1), que descreve a conjuntura do desenvolvimento deste trabalho com o atual cenário tecnológico e as contribuições propostas. Na Seção 1.2 formula-se o problema e as limitações associados a Robótica Industrial que se propõe contribuir através da utilização de conceitos de Otimização. Na Seção 1.3 são formalizados os objetivos gerais e específicos e, por fim, a Seção 1.4 apresenta a estrutura dos capítulos e apêndices da dissertação. 1.1 MOTIVAÇÃO Primeiramente, destaca-se como motivação o acelerado cenário de evolução tecnológica da atualidade, responsável por empresas buscarem aprimorar continuamente seus processos e métodos, acirrando as disputas de mercado.Dessa forma, entender as necessidades do con- sumidor, atender às suas exigências e, consequentemente, destacar-se frente à concorrência são fundamentais para a sobrevivência de empresas. Todavia, nos últimos anos essa disputa tem alcançado níveis jamais experimentados, especialmente devido à alta velocidade com que no- vas tecnologias têm surgido e se consolidado, causando mudanças drásticas até nos modelos de negócios mais tradicionais. 16 Na indústria costumam ser encontrados os maiores efeitos do surgimento e da rápida im- plementação de novas tecnologias. Atualmente, estes fatores vêm apontando para uma nova revolução no setor, da qual surgem os conceitos de Fábrica Inteligente (Smart Factory), Ma- nufatura Avançada (Advanced Manufacturing), e Indústria 4.0, onde estreita-se ainda mais a relação entre computação e automação, principalmente pelo armazenamento e processamento de dados em nuvem e as chamadas Internet das Coisas (Internet of Things - IoT) e Internet Industrial das Coisas (Industrial Internet of Things - IIoT). Essas mudanças vêm alterando a forma com que os processos físicos nas fábricas são monitorados e controlados, permitindo a descentralização das tomadas de decisão (SADIKU et al., 2017; MARR, 2016). As principais vantagens da Indústria 4.0 estão relacionadas à otimização, customização e impulso em pesquisas (CLEVERISM, 2017). Conforme BCG (2016), atualmente existem 9 tecnologias guiando esta transformação da produção industrial e, entre elas, quatro podem ser correlacionadas com o presente trabalho: a robótica colaborativa, onde robôs passam a comu- nicar entre si e trabalhar lado-a-lado ao ser humano de forma participativa e segura; simulações, que permitem aos operadores testar e otimizar produtos em ambiente virtual antes da imple- mentação física; manufatura aditiva, como a impressora 3D, que viabiliza a prototipagem e a produção individual, customizada e com uso otimizado de materiais; e Realidade Virtual ou Aumentada, que possibilitam simulações e treinamentos, além da obtenção de informações em tempo real, aprimorando a tomada de decisões e os procedimentos durante a produção. Dessa forma, este cenário credencia o uso de robôs industriais e de técnicas de otimiza- ção como áreas estratégicas para que empresas de diversos setores alinhem-se com as atuais tendências tecnológicas. De forma geral, a robótica aufere vantagens tanto econômicas (rela- cionadas à redução de custos e ao aumento de produtividade, de confiabilidade e padronização da qualidade de produtos) quanto em relação preservação da saúde e segurança do trabalhador humano, retirando-o de ambientes insalubres. Além disso, a otimização é uma área de conhecimento que se encaixa em inúmeras apli- cações da engenharia, de forma geral, utilizando a computação para a sistematização de cál- culos, permitindo simular, prever, comparar e analisar inúmeros cenários de maneira rápida e eficiente. Conforme LUENBERGER & YE (2008), caso seja possível isolar algum aspecto de determinado problema como um objetivo a ser alcançado e as devidas restrições, a aplicação de otimização viabiliza a tomada de decisão de forma automatizada ou, ao menos, fornece um melhor panorama de análise, provendo indicadores, diminuindo a complexidade e facilitando a tomada de decisão por parte do engenheiro. 17 É possível afirmar ainda que a Robótica Industrial e o estudo de Otimização possuem se- melhanças em relação à multidisciplinaridade. Enquanto a Robótica é considerada a sinergia de diversas áreas de conhecimento (especialmente mecânica, elétrica, eletrônica e computação) e tem aplicações em diferentes setores, como automobilístico, eletrônico, químico e farmacêu- tico, entre outros, a Otimização utiliza conceitos matemáticos e computacionais para resolução de problemas nas mais variadas áreas de conhecimento, como em estruturas, materiais, econo- mia e finanças, devido à flexibilidade da definição do problema de otimização. Assim sendo, o estudo integrado destas áreas pode agregar robustez aos processos e elevar o nível de com- petitividade dos produtos fabricados, auferindo vantagens às indústrias, o que motiva, em um contexto mais amplo, o desenvolvimento desta dissertação. Ademais, dada a alta demanda de pesquisa nos temas abordados neste trabalho, motiva-se pela possibilidade de contribuição científica e tecnológica consequente do mesmo. Segundo o Journal Citation Reports (JCR) de 2017, que apresenta os dados relativos a publicações em 33.000 revistas científicas do ano de 2016, a categoria com o maior aumento agregado de pon- tuação no fator de impacto (Journal Impact Factor - JIF) foi a Robótica (CLARIVATE, 2017). Assim, infere-se a possibilidade de contribuição em uma área de conhecimento que atualmente representa expressivo interesse da comunidade científica. Esta dissertação utiliza na resolução de problemas de otimização o Método de Pontos Inte- riores e Direções Viáveis, através do algoritmo FDIPA (Feasible Direction Interior Point Algo- rithm), implementado de maneira genérica para o Problema Geral de Otimização. Isso permite sua utilização em diversas áreas de pesquisa, entretanto, na revisão bibliográfica, não foi encon- trado nenhum material que relatasse o uso do algoritmo FDIPA em Robótica Industrial. Grande parte dos problemas de otimização associados a robôs industriais encontrados na literatura específica são relacionados ao planejamento e controle de trajetórias, que incluem estudos de: minimização do tempo de execução de tarefas e/ou do consumo de energia, ma- ximização de medidas de manipulabilidade, entre outros. O tópico encontrado com maior fre- quência é a resolução de redundância cinemática, no qual o sistema redundante tem mais graus de liberdade que o mínimo necessário para execução de determinada tarefa. Esta característica é encontrada em diversas tarefas executadas por robôs industriais e em outros tipos de mecanis- mos. Apesar de elevar a complexidade da resolução, a redundância permite a adoção de critérios adicionais que viabilizam a execução das tarefas de maneira mais favorável aos mecanismos. Neste contexto, são encontradas na literatura diversas abordagens que utilizam conceitos de otimização nas resoluções, entretanto, em geral são explorados para problemas específicos. 18 Por fim, dando foco para aplicações duais, outra motivação é o alinhamento do tema com os objetivos do Instituto Militar de Engenharia (IME) e do Laboratório de Robótica In- dustrial e de Defesa (IDR Lab), que forneceram estrutura para o desenvolvimento desta dis- sertação e que seguem as diretrizes estabelecidas pela Política Nacional de Defesa (PND) e a Estratégia Nacional de Defesa (PND & END, 2016). A PND é "baseada nos princípios constitu- cionais e alinhados às aspirações e aos Objetivos Nacionais Fundamentais do Estado Brasileiro e trata, subsidiariamente, da interação e da cooperação em outras atividades que, embora não sejam diretamente ligadas à Defesa, são relacionadas com a manutenção do bem-estar e da segurança da população em seu sentido mais amplo". Os objetivos traçados na PND direcionam a formulação da END, que estabelece as ações necessárias para cumprimento de seus objetivos. Destaca-se entre os Objetivos Nacionais de Defesa (OND) o item 7, "promover a autonomia produtiva e tecnológica na área de defesa", que tem o intuito de "manter e estimular a pesquisa e buscar o desenvolvimento de tecnologias autóctones, sobretudo no que se refere a tecnologias críticas, bem como o intercâmbio com outras nações detentoras de conhecimentos de interesse do País". Refere-se, adicionalmente, à "qualificação do capital humano, assim como ao desenvolvimento da Base Industrial de De- fesa (BID) e de produtos de emprego dual (civil e militar), além da geração de empregos e renda". 1.2 FORMULAÇÃO DO PROBLEMA Como citado anteriormente, o uso de robôs industriais aufere diversas vantagens aos se- tores produtivos e atualmente é consideradauma tecnologia estratégica, sendo uma das bases do estado da arte na indústria. Entretanto, como qualquer tecnologia aplicada, sua eficiência depende do modo com o qual é utilizada e, para alcançar os objetivos almejados, é necessário dispor de pessoal treinado e de conhecimentos aprofundados acerca do robô. Características como funcionalidades e limitações podem variar muito entre marcas e modelos e, em especial, a programação do robô industrial costuma ser uma tarefa demorada e de alta complexidade, de- vido, principalmente, à dependência da habilidade do programador e à diferença de linguagem utilizada nos códigos de programação de cada fabricante. Por tais motivos, se faz necessária a pesquisa sobre formas de superar os vieses da utilização de robôs industriais e promover um uso mais eficiente (otimizado) deste tipo de sistema meca- trônico. Entre as diversas atividades que podem ser realizadas, alguns aspectos são comuns, ou seja, as tarefas devem: ser executadas de maneira precisa; em geral no menor tempo possível; 19 livres de colisão com obstáculos; e que não atinjam singularidades do mecanismo ou limites dos atuadores das juntas, garantindo segurança ao operador e a todos os equipamentos envolvidos no processo. Partindo destas premissas, a formulação do problema que esta dissertação visa solucionar pode ser definida, em síntese, em: como contribuir com o uso otimizado de robôs industriais, utilizando, para isso, o algoritmo de otimização FDIPA. 1.3 OBJETIVOS Os objetivos desta dissertação consistem em contribuir com a atenuação da complexidade associada ao uso de robôs industriais citada anteriormente e promover um uso otimizado deste tipo de mecanismo, em especial, pela resolução cinemática e a otimização de trajetórias. Para isso, visa-se formular problemas de otimização correspondentes e resolvê-los uti- lizando um algoritmo determinístico baseado em programação matemática. Mais especifica- mente, propõe-se apresentar a fundamentação teórica e a implementação computacional de oti- mização através do algoritmo FDIPA e da modelagem de robôs seriais baseada na Teoria dos Helicoides, seguindo uma metodologia formulada para sistematizar e simplificar o processo. Primeiramente, a metodologia proposta nesta dissertação é apresentada e validada. Na sequência, são apresentados outros estudos de caso baseados nesta metodologia, formulando funções objetivo e restrições para a resolução cinemática e a geração de trajetórias otimizadas, utilizando também outros modelos de robô. Com isso, busca-se abordar diferentes situações de uso do robô industrial, demonstrando a aplicabilidade do algoritmo e a flexibilidade da metodologia. Em síntese, os objetivos gerais consistem em • abordar duas áreas de concentração - Robótica Industrial e Otimização - potencializando os benefícios que a integração entre elas agrega aos processos da indústria; • demonstrar a aplicabilidade dos conceitos de otimização no contexto de Robótica Indus- trial e as vantagens que a flexibilidade de formulação deste tipo de problema fornece; • propor uma metodologia que simplifique a formulação e forneça soluções otimizadas para problemas recorrentes neste contexto, fornecendo saídas mais eficientes com base em diferentes objetivos desejados. e os objetivos específicos: 20 • detectar e equacionar problemas de otimização na resolução cinemática de robôs industri- ais baseada na Teoria dos Helicoides, definindo funções objetivo adequadas e as devidas restrições; • resolver estes problemas através do algoritmo FDIPA, visando a obtenção de trajetórias otimizadas; • implementar adaptações no algoritmo que se façam necessárias para as diferentes apli- cações propostas; • analisar os benefícios da abordagem proposta na otimização dos modelos computacionais e avaliar a viabilidade de implementação em robôs reais. 1.4 ORGANIZAÇÃO DA DISSERTAÇÃO Esta seção destina-se a descrever a organização da presente Dissertação de Mestrado, cuja estrutura inicia com este capítulo introdutório, onde apresenta-se motivações e objetivos. No Capítulo 2 é feita a revisão bibliográfica sobre a Robótica Industrial, iniciando com aspectos gerais, uma breve descrição da evolução da robótica ao longo da história, estatísticas de ins- talações de robôs industriais na atualidade, os campos de pesquisa que constituem a área de robótica, classificação e estrutura de um robô industrial, vantagens e objetivos buscados através da robotização na indústria e, por fim, aspectos relacionados à programação e ao uso de simu- ladores para auxílio no aprendizado e na programação de robôs. Posteriormente, aprofunda-se nas áreas de aplicação desta dissertação, que incluem a cinemática de manipuladores seriais, o planejamento e otimização de trajetórias e a redundância cinemática, com foco na Teoria dos Helicoides. No Capítulo 3 é apresentada a revisão bibliográfica da área de Otimização. São inicialmente revisados o histórico dos métodos de otimização na engenharia, as vantagens do emprego deste tipo de abordagem, notações e conceitos fundamentais. Em sequência, revisa-se o conceito de iterações de Newton e a formulação do Problema Geral de Otimização com Restrições, baseado nas devidas condições de otimalidade. Por fim, apresenta-se o algoritmo FDIPA e são feitas considerações finais sobre os conceitos de Otimização abordados no estudo de Robótica Industrial. No Capítulo 4, a metodologia do trabalho é apresentada. Para tal, utiliza-se um exemplo clássico da literatura de resolução da cinemática inversa de um manipulador planar. São apre- 21 sentadas as etapas da metodologia que, em síntese, consiste em modelar o robô com base na Teoria dos Helicoides, definir e formular o problema que se deseja otimizar e resolvê-lo com a implementação no algoritmo FDIPA, além do pós-processamento apropriado. O Capítulo 5 apresenta os estudos de caso e as soluções obtidas através da metodologia pro- posta. Para tal, as análises são divididas em duas partes: primeiramente utiliza-se um modelo de robô planar, onde os estudos são conduzidos na versão do FDIPA em MATLAB, com as devi- das adaptações na implementação; depois, realizam-se estudos com o modelo tridimensional de robô industrial Motoman MH5F, da fabricante Yaskawa, na versão do algoritmo desenvolvida ao longo da dissertação, com implementação computacional incorporada ao software CARPA (Computer-Aided Serial Robots Programming, Modelling and Simulation Analysis). Por fim, o Capítulo 6 apresenta as conclusões desta dissertação. Nele está contida uma recapitulação sintetizada dos capítulos anteriores, para permitir o desencadeamento lógico das contribuições científicas alcançadas. Em seguida são feitas as considerações finais acerca da relação dos objetivos propostos com as vantagens e limitações encontradas e, finalmente, as perspectivas de continuidade em trabalhos futuros. 22 2 FUNDAMENTOS DE ROBÓTICA INDUSTRIAL Neste capítulo encontra-se a revisão bibliográfica sobre a Robótica Industrial, iniciando pela revisão de aspectos gerais do tema, incluindo histórico e estatísticas recentes; estrutura, aplicabilidade e tipos de programação de um robô industrial; e aspectos relacionados ao uso de simuladores. Em seguida, a formulação e resolução cinemática de manipuladores seriais, em especial, baseada na Teoria dos Helicoides, é apresentada. Por fim, revisa-se a redundância cinemática e o planejamento de trajetórias de robôs industriais. 2.1 ASPECTOS GERAIS Primeiramente, nesta seção são apresentados os aspectos gerais da revisão bibliográfica referente à robótica industrial. 2.1.1 HISTÓRICO E ESTATÍSTICAS RECENTES O surgimento da robótica pode ser associado ao primeiro registro de uso da palavra robô (robot), datado do início da década de 1920, proveniente de uma peça teatral. O termo foi utilizado em um contexto de ficção pelo autor Karel Capek, em sua peça R.U.R (Rossum’s Universal Robots), para designar trabalhadores não-humanos, em referênciaao termo robota, que significa "trabalho escravo" nas línguas eslavas. Efetivamente, data-se de 1961 o primeiro registro de instalação bem sucedida de um robô industrial: o Unimate, um manipulador de peças em processos de fundição, instalado em uma planta automobilística (NOF, 1999). Ao longo das décadas seguintes deu-se continuidade ao desenvolvimento de mecanismos controlados ou auxiliados por dispositivos eletrônicos e computação. Ainda segundo NOF (1999), três tecnologias criadas durante a Segunda Guerra Mundial tornaram a robótica eco- nomicamente viável e foram cruciais para seu sucesso: a teoria de servo mecanismos, a com- putação digital e os componentes eletrônicos de estado sólido. Mais à frente, o início da dé- cada de 1980 foi marcado por grande popularização de equipamentos robóticos, e o final da mesma década apresentou um breve recuo, demonstrando as oscilações econômicas sofridas como qualquer outro mercado. A partir da década de 1990 o preço de robôs e componentes passou a decrescer, ao passo que o custo do trabalho humano aumentou (CRAIG, 2005). So- 23 mando isso ao aumento da precisão, rapidez e flexibilidade relativo à evolução dos componentes eletrônicos, o robô industrial passou a ser o sistema mecatrônico mais vendido e utilizado no mundo (SICILIANO & KHATIB, 2008). Atualmente, o crescimento do mercado e de pesquisas científicas na área de Robótica In- dustrial mantêm-se expressivos. Além dos dados referentes a publicação científica citados na Seção 1.1, destaca-se também estatísticas levantadas pela Federação Internacional de Robótica (International Federation of Robotics - IFR): entre 2011 e 2016, a cada ano foram instalados em média 212.000 novos robôs industriais no mundo, chegando a 294.312 no último ano, o que representou um aumento de 16% em relação ao ano anterior. Neste período, a média anual de instalações subiu cerca de 84% em relação ao período 2005-2008 (IFR, 2017). Por outro lado, o mesmo levantamento evidencia um elevado desequilíbrio ao se analisar o número de instalações por país, conforme ilustrado na Fig. 2.1. Apenas cinco países são res- ponsáveis por cerca de 75% do total de instalações de robôs em 2016: China (30%), República da Coreia (14%), Japão (13%), EUA (11%) e Alemanha (7%). No Brasil, o total de robôs instalados no mesmo ano foi de 1.207, o que representa uma participação de 0,41%. FIG. 2.1: Estatísticas de instalações de robôs industriais. Adaptado de IFR (2017) 2.1.2 APLICABILIDADE E OBJETIVOS DE DESEMPENHO O autor NOF (1999) enuncia, através das Leis de Aplicabilidade dos Robôs, os principais tipos de atividade onde os robôs devem substituir os seres humanos, que são: 24 • perigosas: que envolvam níveis excessivos de ruído, temperatura, pressão ou radiação, ou sempre que existam riscos físicos e outras periculosidades; • indesejáveis ou impossíveis: repetitivas, complexas ou em escalas micrométrica ou ma- crométrica, onde o ser humano não tem capacidade de atuar diretamente; • onde são mais produtivos ou econômicos: situações em que a repetibilidade, a padroniza- ção da qualidade e a ininterrupção do trabalho do robô superam o trabalhador humano, sujeito a desgastes físico ao longo da jornada de trabalho ou ausência por motivos emo- cionais ou particulares. O objetivo primário da industria pode ser considerado o aspecto econômico. A utilização de mecanismos automatizados como o robô industrial, que podem trabalhar em tempo integral e com desgaste mecânico relativamente baixo, viabiliza um nível de produtividade incomparável ao do trabalhador humano, o que gera grande atratividade na indústria. Segundo SLACK et al. (2002), existem cinco objetivos de desempenho utilizados como indicadores para um produto ou serviço: custo, confiabilidade, flexibilidade, qualidade e ve- locidade, conforme ilustrado na Fig. 2.2 juntamente com os efeitos internos e externos que produzem. Este indicadores possuem influência entre si e pode-se notar que a utilização do robô industrial permite alcançar vantagens associadas a cada um deles. FIG. 2.2: Objetivos de desempenho e seus efeitos (SLACK et al., 2002). 25 Por outro lado, o emprego de processos automatizados por robô permite que o ser humano seja substituído em atividades inapropriadas à sua natureza. Tarefas amplamente praticadas na atualidade, como soldagem, pintura, processos de fundição e diversas outras caracterizam-se como insalubres ou perigosas e podem ser classificadas como passíveis de substituição, per- mitindo resguardar ao homem atribuições mais adequadas e nobres. É importante ressaltar que, apesar das grandes vantagens que o robô pode auferir, a au- tomação otimizada de determinados processos industriais pode apresentar altos níveis de com- plexidade associados. Para que a robotização traga os benefícios almejados, é importante que todas as etapas sejam bem conhecidas, que o modelo de robô seja adequado e, principalmente, que o operador tenha habilidade e experiência, visto que as etapas de programação podem de- mandar atenção, conhecimento e elevado tempo. 2.1.3 ÁREAS DE PESQUISA Conforme SICILIANO & KHATIB (2008), atualmente a Robótica pode ser dividida em duas principais áreas: Robótica Avançada e Robótica Industrial, que são diferenciadas pelo tipo de ambiente onde são aplicadas. Na Robótica Avançada são tratadas aplicações em ambientes considerados pouco ou não estruturados, ou seja, onde não se tem conhecimento prévio e de- talhado do ambiente em que são operados, sendo necessário que o robô tenha autonomia para coletar e analisar dados ao longo da execução de suas tarefas e, com base nessas informações, tomar decisões em tempo real. Em geral, são estudados robôs móveis, veículos autônomos, VANTs, exoesqueletos e humanoides, aplicáveis em sistemas logísticos, de defesa e na medi- cina, onde o foco de pesquisas é usualmente voltado para a eletrônica embarcada e a autonomia energética, incluindo sensoriamento, controle, processamento de imagens, entre outros. Já na Robótica Industrial são utilizados robôs em situações que o ambiente é estruturado, tendo-se conhecimento das propriedades geométricas e físicas a priori. Assim, esta é conside- rada uma área em que necessita-se menor grau de autonomia, onde os mecanismos desenvolvi- dos - manipuladores seriais e paralelos (Fig. 2.3 (a) e (b), respectivamente), atualmente possuem elevada precisão, velocidade e repetibilidade. Apesar da maturidade tecnológica, ainda existe grande interesse em aspectos relacionados à segurança, eficiência e autonomia, em especial, visando diminuir a ainda elevada complexidade de planejamento, sincronização e programação do robô para automatizar tarefas. Para tal, diversas linhas de pesquisa focam em temas como o desenvolvimento de simuladores, programação off-line, robótica cooperativa e robótica colab- orativa, que incluem diversos conhecimentos, como modelagem 3D, Realidade Virtual (Virtual 26 Reality - VR), Realidade Aumentada (Augmented Reality - AR), redundância cinemática, de- senvolvimento de software, inteligência artificial e diversos outros. (a) Serial: Yaskawa Motoman MH5F (YASKAWA, 2018) (b) Paralelo: ABB IRB 360 Flex- Picker (ABB, 2018a) FIG. 2.3: Classificação robôs industriais quanto à cadeia cinemática. Apesar de abordar conceitos comuns às duas áreas, esta dissertação tem como foco principal a Robótica Industrial e, em especial, visa contribuir com o aumento da eficiência nas etapas de programação e execução de tarefas por meio do robô industrial serial. O desenvolvimento de simuladores e a aplicação de técnicas de otimização, como a proposta nesta dissertação, se encaixam como facilitadores na Robótica Industrial, permitindo vantagens como o aumento de produtividade pela otimização de trajetórias e a diminuição do tempo ocioso de produção devido à etapa de programação quando se utiliza o próprio robô (programação on-line). 2.1.4 O ROBÔ INDUSTRIAL Segundo SICILIANO et al. (2009), a definição derobô industrial mais amplamente aceita foi estabelecida em 1980 pelo Robot Institute of America (RIA) como "um manipulador multi- funcional reprogramável projetado para manipular materiais, peças, ferramentas ou dispositivos especializados através de movimentos programados variáveis e desempenhar uma variedade de tarefas". Segundo ROMANO & DUTRA, uma definição mais detalhada é dada pela norma ISO 10218: "uma máquina manipuladora com vários graus de liberdade controlada automati- camente, reprogramável, multifuncional, que pode ter base fixa ou móvel para utilização em aplicações de automação industrial". 27 Segundo CRAIG (2005), os principais elementos de um sistema robótico industrial po- dem ser classificados, em geral, da seguinte maneira: (1) o manipulador ou braço mecânico, incluindo sensores internos; (2) o efetuador final ou ferramenta; (3) sensores e efetuadores ex- ternos (I/O como: sistemas de transporte e de visão, alimentadores de peças, entre outros); (4) o controlador. Em SPONG et al. (2005) complementa-se essa definição, incluindo a fonte de energia, um componente para armazenamento de dados, que pode ser feito pela conexão do sistema a uma rede, e dispositivos do tipo Teach Pendant. Na Fig. 2.4 ilustra-se o esquemático de um sistema robótico característico. FIG. 2.4: Componentes de um sistema robótico. Adaptado de SPONG et al. (2005) Ainda, segundo CRAIG (2005), diferentes modelos costumam ser projetados de acordo com o tipo de tarefa que se deseja executar. Assim, seu tamanho, quantidade e arranjo de juntas e tipos de atuadores, sensores e controlador podem ter grande variedade. Os critérios utilizados para classificá-los incluem o número de graus de liberdade, o volume do espaço de trabalho, a capacidade de carga, velocidade, repetibilidade e precisão. Atualmente, destacam-se como as principais fabricantes de robôs industriais no mundo: ABB (Suécia/Suíça), KUKA e Reis (Alemanha), FANUC e Yaskawa (Japão), Staubli (Suíça) e COMAU (Itália) (SANTOS, 2017). Ainda, o robô industrial é considerado um componente típico de Sistemas Automáticos Pro- gramáveis e que também é utilizado nos Sistemas Automáticos Rígidos ou nos Flexíveis (SI- CILIANO et al., 2009). Nestes sistemas, o robô é parte do conjunto de equipamentos que pode incluir um ou mais manipuladores, além de diversos outros componentes elétricos e eletrônicos, conhecido como célula de trabalho. Quanto à cadeia cinemática, os robôs industriais são classificados em dois tipos: serial, quando possui cadeia aberta, isto é, existe apenas uma sequência de corpos que conecta as duas extremidades, ou paralelo, quando a sequência de corpos forma um loop, caracterizando uma cadeia fechada. O espaço de trabalho é definido como a parte do ambiente que o manipulador 28 pode alcançar, sendo seu volume e formato dependentes da estrutura do manipulador e dos limites de junta. O tipo dos graus de liberdade elementares são de revolução (R) ou prismáticos (P). Sua sequência, a partir da junta de base, permite a classificação dos manipuladores seriais, conforme ilustrado na Fig. 2.5 juntamente com os respectivos volumes de trabalho. As tarefas que o robô executa também podem ser classificadas de acordo com o número e o tipo de grau de liberdade (Degree of Freedom - DOF) que requerem, sendo o caso mais geral, no espaço tridimensional, necessários seis DOF: três para o posicionamento e outros três para a orientação (SICILIANO & KHATIB, 2008). Entretanto, destaca-se que, mesmo nos casos tridimensionais, existem tarefas que não re- querem todos os seis graus de liberdade. A situação mais comum ocorre quando existe um eixo de simetria: a aplicação de pintura por spray, por exemplo, não é influenciada caso o ma- nipulador gire a ferramenta em torno do eixo de aplicação. O mesmo ocorre para o corte a laser, soldagem a arco, polimento e outros. Nestes casos, o robô industrial com 6 ou mais DOF é considerado redundante para determinada tarefa, o que pode lhe garantir maior destreza e versatilidade, entretanto, também pode elevar consideravelmente a complexidade dos cálculos realizados para a resolução cinemática (SICILIANO et al., 2009; CRAIG, 2005), como será melhor abordado ao longo desta dissertação. (a) Cartesiano: P⊥P⊥P (b) Cilíndrico: R‖P⊥P (c) SCARA: R‖R‖P (d) Esférico: (R⊥R⊥P) (e) Antropomórfico: R⊥(R‖R) FIG. 2.5: Classificação de robôs industriais seriais (SANTOS, 2017). 29 2.1.5 PROGRAMAÇÃO DE ROBÔS INDUSTRIAIS: ON-LINE E OFF-LINE A programação é um tópico de grande importância dentro do estudo de robótica industrial, visto que, para executar tarefas por meio do robô e alcançar os objetivos citados anteriormente, é necessário que a programação seja feita de maneira correta e eficiente. Segundo NOF (1999), existem dois métodos para realizar a programação de um robô: on-line e off-line, que são de- scritos a seguir. A programação on-line é realizada na própria célula de trabalho e utiliza o próprio robô, bem como os demais componentes e dispositivos do sistema robótico necessários à realização da tarefa. Para isso, são utilizados os chamados Métodos de Aprendizagem, que podem ser realizados de forma direta ou indireta, conforme detalhado em (NOF, 1999). Em síntese, na forma direta, o operador manobra o robô, manualmente, até posicioná-lo com a postura (nomenclatura dada ao conjunto das posições instantâneas das juntas do robô) desejada ou percorrer o caminho desejado, sendo conhecida também como aprendizagem lead- through; já na forma indireta, mais comum, o operador movimenta o robô utilizando os chama- dos TPU Teach Pendant Unit, que são unidades de programação portáteis que executam coman- dos no controlador, atuando sobre as juntas e dispositivos periféricos ao longo do processo de aprendizagem. Na Fig. 2.6 são ilustrados modelos destas unidades de diferentes fabricantes. (a) Teach Pendant do robô Pegasus. (AMA- TROL, 2018) (b) Programming Pendant do Motoman. (YASKAWA, 2018) (c) FlexPendant da ABB. (ABB, 2018b) FIG. 2.6: Modelos de Teach Pendant Unit. Após posicionar o robô em uma postura desejada, o operador armazena as coordenadas de posição das juntas (valores dos encoders) no controlador. Este procedimento é conhecido como 30 "ensinar o ponto", e é repetido até que uma "nuvem" de pontos necessários seja ensinada. Após realizada a etapa de armazenamento dos pontos no controlador, o operador necessita programar a tarefa em si, que consiste em definir parâmetros como o tipo de movimento entre um ponto e outro, a velocidade e a sequência em que os pontos devem ser percorridos, além de definir pausas, acionamentos da ferramenta e dos dispositivos de input e output da célula de trabalho. Para isto, devem ser utilizados comandos da linguagem nativa da fabricante do robô. Por fim, com o programa gravado na memória do controlador, é possível executar a tarefa, seguindo os pontos e dados funcionais (pausas, estruturas condicionais, verificações de status, etc.) através de sequências e subsequências lógicas (NOF, 1999). Os tipos de movimento que o operador pode selecionar para movimentar o robô também são aspectos de elevada importância na programação. Em geral, os comandos pré-programados pelas principais fabricantes permitem que o movimento seja feito basicamente de três maneiras: linear, percorrendo uma reta para sair de um ponto e chegar a outro; circular, no qual o robô percorre um segmento de circunferência, a partir de três pontos definidos pelo usuário; ou no "modo junta", em que a trajetória percorrida de um ponto ao outro é definida pelo robô, visando a maneira computacionalmente mais eficiente. Dessa forma, as etapas da programação on-line costumam demandar extrema concentração para que o ensinamento dos pontos ao robô seja feito de forma precisa e para garantir a segu- rança do usuário, do robô e da operação. Por esse motivo, o tempo despendido para a progra- mação de uma tarefa complexa pode ser muito elevado, se comparado ao tempode execução da mesma. Segundo PAN et al. (2012), para programar os processos de soldagem a arco em uma grande linha automotiva, cujo tempo de execução é de 16 horas, o tempo de programação on-line pode chegar a 8 meses, ou seja, resulta-se em uma relação entre o tempo de progra- mação e o de execução de 360 vezes. Uma vez que a utilização do robô é interrompida durante este tempo de programação, salienta-se a importância de que ela seja feita de forma eficiente e otimizada, caso contrário, a aplicabilidade e a viabilidade econômica do robô industrial podem ser comprometidas. Já a programação off-line precede, ou substitui em parte, em alguns casos, o uso do robô, visto que fornecem modelos computacionais que representam o sistema robótico e permitem visualizar e validar, em primeira análise, a programação das tarefas a serem executadas pelo robô real. As etapas off-line da programação possibilitam reutilizar dados provenientes de pro- gramas CAD para a criação de ambientes virtuais, nos quais simula-se uma variedade de robôs e espaços de trabalho, o que permite conhecer particularidades de determinado modelo ou apli- 31 cação. Assim, também permite-se verificar e corrigir de maneira prévia eventuais erros (como colisões) e diminuir a elevada complexidade de determinadas tarefas (SANTOS, 2017). Apesar das vantagens associadas a este tipo de programação, as etapas de Validação e Testes são necessárias para garantir que os modelos desenvolvidos estejam em conformidade com o espaço de trabalho real. Para que a programação off-line de fato permita otimizar o uso dos robôs reais, também é importante obter: • um modelo tridimensional com geometria detalhada do espaço de trabalho e da relação com cada componente; • conhecimentos do processo e da tarefa a ser programada, além da geometria, cinemática e dinâmica do robô; • interface apropriada entre o simulador e o controlador do robô, além de amigável e robusta para o operador (Interface Homem-Máquina (IHM)). 2.1.6 SIMULADORES Uma das maneiras de simplificar a programação de um robô industrial é através do uso de softwares de simulação. Por este motivo, atualmente o desenvolvimento de simuladores tem sido centro de diversas pesquisa. Em geral, estes softwares visam contribuir tanto com o ensino de conceitos de robótica em geral, quanto com o treinamento de operadores para manipular e programar robôs reais. O ensino e treinamentos em ambiente de simulação permitem que o aluno ou operador, antes de utilizar o robô real, se familiarize com os conhecimentos de robótica e com os comandos do robô de forma segura, facilitando a compreensão, acelerando o aprendizado e permitindo a diminuição do tempo de programação on-line. Adicionalmente, parte dos simuladores desenvolvidos busca auxiliar também na progra- mação das tarefas de maneira off-line, permitindo, por exemplo, que etapas do planejamento da programação, como a criação do código e testes preliminares, sejam feitos sem a utilização do robô, evitando as longas interrupções nas linhas de produção e aumentando sua produtividade. São exemplos de softwares comerciais de simulação e programação off-line desenvolvidos por fabricantes de robôs industriais: o RobotStudio (ABB, 2018a); MotoSim (YASKAWA, 2018); KUKA.Sim Layout e KUKA.Sim Pro (KUKA, 2018), entre outros. Também destaca-se simuladores comerciais genéricos como o RobCAD (Siemens, previamente UGS e Tecnoma- trix); Robotmaster (Hypertherm Inc.), DELMIA (Dassault Systèmes) e RoboDK. Por fim, são 32 exemplos de softwares voltados em especial ao emprego acadêmico: V-REP - Virtual Robot Ex- perimentation Platform (FREES et al., 2013), RoboAnalyzer (RAJEEVLOCHANA & SAHA, 2011) e o CARPA (Computer-Aided Serial Robots Programming, Modelling and Simulation Analysis) (SANTOS, 2017), desenvolvido no IDR Lab. Nos trabalhos de PAN et al. (2012) e OTHAYOTH et al. (2017) encontram-se revisões detalhadas acerca dos principais métodos de programação e de simuladores citados anterior- mente, destacando as principais vantagens e funcionalidades de cada. Em SANTOS et al. (2016, 2017b,a) são avaliados aspectos da programação on-line e a influência do uso de modelagens 3D e simuladores no tempo de programação, através de estudos de caso com o robô educacional Pegasus, da Amatrol. 2.1.6.1 SOFTWARE CARPA Em conformidade com os objetivos citados anteriormente, relativos ao uso de simuladores e a programação off-line, o software CARPA foi criado e vem sendo desenvolvido no Labora- tório de Robótica Industrial e de Defesa (IDR Lab). O principal objetivo do software é con- tribuir com o aprendizado de conceitos de robótica e com a própria programação de robôs industriais, possibilitando dispensar a necessidade de conhecimento aprofundado por parte do usuário/programador na utilização do robô em ambiente virtual (SANTOS, 2017). A implementação computacional é feita utilizando a versão acadêmica do Ambiente de Desenvolvimento Integrado (Integrated Development Environment - IDE) RAD Studio Berlin, onde foi incorporada a biblioteca gráfica livre GLScene, baseada em OpenGL, para criação e manipulação de objetos e componentes visuais em 3D, permitindo o desenvolvimento de cenários virtuais tridimensionais. Utilizando conceitos de Programação Orientada a Objetos (OOP - Object-Oriented Pro- gramming) e de Programação Orientada a Eventos (EOP - Event-Oriented Programming), o CARPA compõe uma metodologia que auxilia a modelagem cinemática e a programação de robôs industriais, possibilitando que as etapas associadas possam ser auxiliadas, por meio de computador, com uma interface amigável e intuitiva (SANTOS, 2017). Sua biblioteca possui modelos de robôs de diferentes fabricantes, porém, também permite a inclusão de modelos CAD em formato 3DS de qualquer robô ou de componentes de cenário, além de ser possível programar o robô Pegasus para realização de tarefas e geração automática de código em sua linguagem. A fundamentação teórica da modelagem baseia-se na Teoria dos Helicoides, mais especificamente, o Método dos Deslocamentos dos Helicoides Sucessivos 33 (MDHS), que serão abordados nas seções seguintes. Em síntese, suas principais funcionalidades são: 1. inserir diferentes modelos de robôs seriais; 2. inserir objetos modelados em CAD e construir diferentes cenários; 3. alterar propriedades de qualquer componentes, como posição relativa, arquivo 3D do corpo e a cor; 4. movimentar o robô e ensinar pontos; 5. programar o robô Pegasus através da geração de arquivos com código na linguagem própria do robô, permitindo a exportação para o modelo real. Adicionalmente, o desenvolvimento do CARPA tem como objetivo a continuidade de pesquisa científica, permitindo que estudos de diferentes linhas sejam seguidos, como os de métodos de otimização propostos nesta dissertação. Na Fig. 2.7 ilustra-se o modelo computacional do IDR Lab, desenvolvido como um cenário no CARPA, onde foram incluídos também alguns modelos de robôs industriais. FIG. 2.7: Cenário virtual do IDR Lab no CARPA (SANTOS, 2017). 34 2.2 RESOLUÇÃO CINEMÁTICA DE MANIPULADOR SERIAIS A partir desta seção, são revisados os conceitos físicos e matemáticos da robótica industrial necessários aos estudos de caso desenvolvidos na presente dissertação. Inicia-se pela cinemática, que é definida como a ciência que estuda o movimento, seja em termos de deslocamento, velocidade, aceleração ou qualquer outra derivada de maior ordem das variáveis de posição (CRAIG, 2005). No estudo de manipuladores, a cinemática é dada pela relação entre o espaço vetorial das variáveis de juntas e o espaço vetorial de execução de determinada tarefa através do efetuador final, chamado de espaço operacional. Mais especificamente, o cálculo da localização da ferramenta por meio das posições das juntas é chamado de Cinemática Direta, enquanto o cálculo de velocidades da ferramenta por meio das respectivas variáveis de junta é chamado de Cinemática Direta Diferencial.Por outro lado, quando o problema consiste em calcular as variáveis de junta que correspondam a deter- minada posição ou movimento desejado da ferramenta, este é chamado de Cinemática Inversa. A seguir são descritas a Cinemática Direta, Diferencial e Inversa de manipuladores seriais. 2.2.1 CINEMÁTICA DIRETA Em um manipulador serial, como citado anteriormente, cada DOF é tipicamente associ- ado a uma junta e constitui uma variável elementar de junta, usualmente de revolução (R), ou translação no caso de juntas prismáticas (P). O cálculo das variáveis do efetuador final (fer- ramenta) em nível de Cinemática Direta objetiva encontrar sua localização (isto é, posição e orientação) como função das variáveis de junta, e depende dos parâmetros que definem a ge- ometria da cadeia cinemática do robô. Definindo todas as localizações e tipos das juntas é possível definir a transformação de coordenadas até o efetuador final, pela combinação dos DOF de cada junta e dos corpos (elos) entre elas. Assim, em nível de posição, usualmente a cinemática é formulada como: p = k(q) (2.1) onde p denota o vetor de localização generalizada da ferramenta, contendo, no caso tridimen- sional, três variáveis de posição e três de orientação; k(·) representa a função de cinemática direta; e q = [q1, · · · , qn]T é o vetor de variáveis de junta, que podem ser qi = θi ou qi = di, para juntas de revolução ou prismáticas, respectivamente. Com base no Teorema de Chasles (BOTTEMA & ROTH, 1979), que afirma que qualquer 35 deslocamento de um corpo rígido no espaço pode ser representado pela combinação de uma rotação em torno e uma translação ao longo de um mesmo eixo, é possível estabelecer a seguinte relação para o chamado Deslocamento Helicoidal de um ponto pA para outro ponto pB pA = RAB.p B + qA (2.2) onde RAB é a chamada Matriz de Rotação, relativa aos sistemas referenciais com origem nos pontos A e B, e qA representa as componentes de translação. Na forma homogênea, ou seja, assumindo p̃A = [pA 1]T e p̃B = [pB 1]T , a Eq. (2.2) pode ser reescrita como: p̃A = [ pA 1 ] = [ RAB q A 0 1 ][ pB 1 ] = TAB p̃ B (2.3) onde TAB é a Matriz de Transformação Homogênea (MTH), dada por: TAB = [ n s a qA 0 0 0 1 ] (2.4) onde n, s e a representam os vetores unitários da rotação do sistema de coordenadas e qA o vetor que refere-se à translação. Neste trabalho, a cadeia cinemática do robô é modelada com base na Teoria dos Helicoides (DAVIDSON & HUNT, 2004; TSAI, 1999). Esta metodologia utiliza o ente geométrico Heli- coide para representar cada junta de um manipulador. Para isso, quatro parâmetros são utiliza- dos: o vetor s = [sx, sy, sz]T que denota o vetor unitário apontado na direção do eixo helicoidal, s0 = [s0x, s0y, s0z] T que denota o vetor de posição de um ponto sobre o eixo helicoidal em re- lação a um referencial global (fixo) e os escalares θ e d que representam a rotação e a translação em torno e ao longo do eixo helicoidal, respectivamente. Assim, conhecendo-se os parâmetros s, s0, θ e d de determinada junta i, representada pelo helicoide $i, a MTH correspondente T$i pode ser calculada de tal forma que T$i = [ RAB ds+ [I −RAB]s0 0 0 0 1 ] = a11 a12 a13 q A x a21 a22 a23 q A y a31 a32 a33 q A z 0 0 0 1 (2.5) ou 36 T$i = cθ + s2x(1− cθ) sysx(1− cθ)− szsθ szsx(1− cθ) + sysθ sxsy(1− cθ) + szsθ cθ + s2y(1− cθ) szsy(1− cθ)− sxsθ sxsz(1− cθ)− sysθ sysz(1− cθ) + sxsθ cθ + s2z(1− cθ) 0 0 0 . . . . . . dsx + s0x(1− a11)− s0ya12 − s0za13 dsy − s0xa21 + s0y(1− a22)− s0za23 dsz − s0xa31 − s0ya32 + s0z(1− a33) 1 (2.6) onde cθ = cos(θ) e sθ = sen(θ). Na Fig. 2.8 exemplifica-se um deslocamento helicoidal do ponto P1 ao ponto P2, composto pela rotação de θ em torno de si e pela translação de d ao longo deste mesmo eixo, ou seja, na forma homogênea: p̃2 = T$i p̃1 (2.7) FIG. 2.8: Deslocamento Helicoidal. Representando cada junta i = 1, . . . , n de um manipulador serial por meio de helicoides unitários, denotados $̂i e completamente definidos pelos vetores si e s0i, o Método dos Desloca- mentos dos Helicoides Sucessivos garante que existirá um helicoide resultante $r(sr, s0r , dr, θr) que representa o movimento total, consequente dos deslocamentos helicoidais associados a cada 37 junta, ou seja, rotações de θi e/ou translações de di, como ilustrado na Fig. 2.9. FIG. 2.9: Deslocamentos de Helicoides Sucessivos. A MTH associada a este helicoide resultante, T$r , pode ser calculada pelo produtório das MTH de cada junta, seguindo a ordem da cadeia cinemática, de forma que T$r = T$1T$2 . . . T$n−1T$n (2.8) Assim sendo, define-se uma postura de referência do manipulador, geralmente escolhida de forma que sejam facilmente identificados os eixos das juntas, ou seja, determinados todos os vetores si e s0i. A localização de um ponto desejado, geralmente chamado ponto alvo, é dada em relação à postura de referência, ou seja, é calculada pelos deslocamentos de cada junta a partir de sua posição de referência. A Fig. 2.10 ilustra um robô deslocado da postura de referência após deslocamentos quaisquer de junta, onde o TCP (Tool Center Point) é posicionado em P com orientação definida pelos vetores unitários n, s e a, cujos valores são calculados por: [ n s a p 0 0 0 1 ] = T$r [ n0 s0 a0 p0 0 0 0 1 ] (2.9) Anteriormente representou-se a orientação de um sistema de coordenadas em relação ao sistema referencial (fixo) através da matriz de rotação R = [ n s a ] , de dimensões 3 × 3. No entanto, conforme abordado em detalhes no tutorial apresentado em MECADEMIC, essa representação não é uma maneira compacta e intuitiva de definir orientação, embora muitas vezes necessária. A maneira mais comum de informar uma orientação no espaço para o usuário, ou para permitir que este defina uma orientação (situação recorrente em softwares de simulação e pro- gramação off-line), é através de um conjunto (mais especificamente, uma sequência) de três 38 FIG. 2.10: Localização do TCP após deslocamento a partir da postura de referência. (SANTOS, 2018) ângulos, que podem representar rotações sequenciais em torno dos eixos do sistema fixo (x, y ou z) ou dos eixos do sistema móvel (x′, y′ ou z′). Esta representação através das diferentes combinações de rotações que podem ser adotadas usualmente é referida como ângulos de Eu- ler. Como exemplo, as rotações de α em torno do eixo x, β em torno de y e γ em torno de z correspondem às três matrizes de rotação elementares: Rx(α) = 1 0 0 0 cα −sα 0 sα cα (2.10) Ry(β) = cβ 0 sβ 0 1 0 −sβ 0 cβ (2.11) Rz(γ) = cγ −sγ 0 sγ cγ 0 0 0 1 (2.12) onde ci = cos(i) e si = sen(i), para i = α, β, γ. Assim, a matriz de rotação resultante pode ser calculada pela multiplicação das matrizes 39 elementares. Cada rotação subsequente deve corresponder a uma pós-multiplicação da matriz atual pela da próxima rotação, se a rotação é em torno de um eixo do sistema móvel, ou pela pré- multiplicação, se a rotação é em torno do sistema fixo. Neste caso, a relação entre os ângulos de Euler e a matriz de rotação para a sequência x→ y → z, por exemplo, é dada por: R(α, β, γ) = Rz(γ)Ry(β)Rx(α) = cγcβ cγsβsα − sγcα cγsβcα + sγsα sγcβ sγsβcα + cγcα sγsβcα − cγsα −sβ cβsα cβcα (2.13) Conhecida a Matriz de Rotação resultante que represente uma orientação desejada, os ân- gulos de Euler correspondentes podem ser calculados por: α = Atan2(r32, r33) β = Atan2(−r31, √ r232 + r 2 33) γ = Atan2(r21, r11) (2.14) para β na faixa de (−π/2, π/2), ou de forma equivalente por α = Atan2(−r32,−r33) β = Atan2(−r31,− √ r232 + r 2 33) γ = Atan2(−r21,−r11) (2.15) para β na faixa de (π/2, 3π/2), onde rij representa o elemento da linha i, coluna j da Matriz de Rotação. Dessa forma, pode ser estabelecida a relação direta entre as posições das juntas (postura do robô) e a localização correspondente da ferramenta por meio da Cinemática Direta, isto é, a posição da ferramentaé definida pelo vetor p da Eq. (2.9), enquanto a orientação pode ser representada pela Matriz de Rotação R = [ n s a ] desta mesma equação ou por sequências de rotações axiais como nas Eq. (2.14)-(2.15). 2.2.2 CINEMÁTICA DIFERENCIAL DIRETA A Cinemática Diferencial Direta de um manipulador em nível de velocidade, baseando-se na Teoria dos Helicoides, pode ser representada pela seguinte relação: v = JH(q)q̇ (2.16) 40 onde, no caso tridimensional, v representa o vetor 6 × 1 das velocidades generalizadas (três componentes lineares e três angulares) de um ponto pertencente ao corpo do manipulador; q̇ é o vetor n × 1 das magnitudes de velocidade de junta (q̇ = θ̇ para de revolução e q̇ = ḋ para as prismáticas), sendo n a quantidade de juntas do robô e JH(q) é a Matriz do Jacobiano baseado em Helicoides (TSAI, 1999), de dimensão 6×n, que representa a transformação linear entre os dois espaços vetoriais. Cada helicoide do manipulador fica completamente determinado quando uma amplitude ou intensidade de velocidade é multiplicada pelo respectivo helicoide unitário, de forma que $ = $̂q̇. As componentes de cada helicoide unitário representam as velocidades (angulares e lineares) de um ponto que pertence a uma extensão virtual do corpo rígido e instantaneamente coincide com a origem do referencial fixo, que trata-se de uma abstração onde mede-se sua velocidade linear (DAVIDSON & HUNT, 2004; TSAI, 1999). Assim, para um manipulador de n juntas, o Jacobiano baseado em Helicoides é descrito por JH = [ $̂1 $̂2 . . . $̂n−1 $̂n ] (2.17) onde cada coluna representada pelo helicoide unitário associado às juntas assume, caso a junta seja de revolução: $̂ = [ s s0 × s ] (2.18) e caso seja uma junta prismática: $̂ = [ 0 s ] (2.19) A Cinemática Diferencial é considerada de grande importância na resolução da Cinemática Inversa, visto que, em geral, os métodos mais utilizados baseiam-se na solução em nível de velocidade. O método mais tradicional para este tipo de problema utiliza a resolução com base na inversão do Jacobiano, entretanto, existem diversos aspectos que aumentam a complexidade deste tipo de problema inverso, que são abordados na seção seguinte. 41 2.2.3 CINEMÁTICA INVERSA A Cinemática Inversa é considerada um problema fundamental na robótica, visto que, nat- uralmente, na prática, deseja-se alcançar determinado alvo no espaço operacional e, para isso, é necessário que o robô calcule as respectivas variáveis no espaço das juntas. Segundo SICIL- IANO et al. (2009), a complexidade é maior nestes casos devido as seguintes razões: • as equações a serem resolvidas geralmente são não-lineares, sendo assim difícil ou im- possível se obter uma solução analítica do tipo closed-form; • há possibilidade de existirem múltiplas ou infinitas soluções para um mesmo problema; e • há casos em que não existe uma solução admissível, dependendo da estrutura cinemática do manipulador. Em geral, a cinemática inversa é resolvida em nível diferencial, onde os métodos mais utilizados baseiam-se na inversão da Matriz do Jacobiano, que representa o mapeamento de velocidades do espaço das juntas para o espaço operacional. A natureza desse mapeamento muda à medida em que a configuração do manipulador varia e, em algumas situações, não é possível invertê-lo diretamente para obter a resolução da Cinemática Inversa do tipo q̇ = JH −1v (2.20) Evidentemente, um exemplo deste tipo de situação é quando o Jacobiano não possui forma quadrada, inviabilizando sua inversão, como no caso de manipuladores redundantes em que n > r, sendo r associado às dimensões do espaço operacional. Na prática, caso o manipulador tenha mais DOF que o necessário para realização de uma tarefa, implicará que existirão infinitas posturas do robô correspondentes a uma mesma localização da ferramenta, onde uma ou mais juntas podem movimentar-se sem que a posição ou a orientação do efetuador final se altere. Outros importantes aspectos relativos a redundância cinemática e sua resolução são abordados na próxima seção. Uma outra situação em que a cinemática inversa apresenta complexidade na resolução é no caso das configurações de singularidade do mecanismo serem atingidas. Estas ocorrem, por exemplo, quando duas juntas ficam alinhadas durante o movimento de um determinado manipulador. Dessa forma, apesar de cada junta configurar um DOF, um destes é perdido devido ao alinhamento, o que, numericamente, implica que uma ou mais linhas ou colunas do Jacobiano deixam de ser linearmente independentes. 42 Uma abordagem amplamente utilizada para resolução de cinemática inversa foi proposta em SICILIANO et al. (2009). Os autores apresentam um algoritmo de cinemática inversa para obtenção das variáveis de junta em nível de posição. Para contornar os erros de aproximação associados ao método de integração numérica de primeira ordem que utiliza, o algoritmo usa uma malha de realimentação do erro no espaço operacional, ou seja, o erro relativo à localização desejada da ferramenta. Para garantir convergência assintótica do erro, utiliza-se uma matriz de ganho positiva definida, cujos elementos usualmente são definidos por tentativa e erro, podendo variar muito de acordo com a geometria do manipulador e as unidades de medida adotadas, o que traz di- ficuldades para a generalização do método. Outra importante questão é o uso da Matriz do Jacobiano que, como citado anteriormente, pode não possuir todas as linhas e colunas linear- mente independentes, como no caso de posições de singularidade de um manipulador, ou por não ser quadrada, no caso de manipuladores redundantes, não sendo passível de inversão. Para este último caso, mais especificamente, é utilizada a Inversa Generalizada, ou Pseudoinversa (BEN-ISRAEL & GREVILLE, 2002), do Jacobiano, que fornece uma solução das velocidades de junta q̇ que minimiza uma função custo quadrática do tipo g(q̇) = 1 2 q̇TWq̇ (2.21) onde W é uma matriz de peso simétrica e definida positiva. Ainda segundo os autores, o pro- blema formulado desta maneira pode ser associado à resolução de um problema linear de oti- mização com restrições. A fim de comparar resultados e compreender o potencial de aplicação dos métodos de oti- mização, como o utilizado nesta dissertação, a solução obtida por SICILIANO et al. (2009) para um estudo de caso de um robô planar foi reproduzida, sendo adaptada para a modelagem baseada na Teoria dos Helicoides e encontra-se apresentada no Apêndice 2. 2.2.4 REDUNDÂNCIA CINEMÁTICA Como citado, a redundância cinemática é caracterizada quando um mecanismo possui mais graus de liberdade (DOF) do que o necessário para execução de determinada tarefa. Este aspecto é abordado em diversas áreas de pesquisa dentro da robótica, onde encontram-se diferentes métodos para sua resolução, e utiliza-se os graus de liberdade redundantes para exploração de diferentes critérios adicionais. 43 No contexto de robótica industrial, a redundância cinemática é amplamente explorada para o controle, planejamento e otimização de trajetórias, especialmente tratando-se de ambientes con- finados e/ou atividades altamente restritas. Para estes casos costuma ser conveniente a utilização de manipuladores com quantidade superior de juntas, onde a pesquisa de redundância se faz al- tamente necessária (KEMENY, 2003; SHIMIZU et al., 2008; WILLIAMS, 1994; ANANTHA- NARAYANAN & ORDÍÑEZ, 2015). Ainda no contexto industrial, outro tema que tem grande influência da resolução de redundância é o de Sistemas Robóticos Cooperativos (Cooperative Robotic System - CRS), nos quais dois ou mais manipuladores realizam de forma simultânea e integrada uma mesma tarefa e, para tal, a modelagem é feita com base na tarefa, assumindo os manipuladores como um único sistema redundante (JIN et al., 2004; MARTÍNEZ-ROSAS & ARTEAGA, 2008; RIBEIRO, 2010). Os DOF redundantes garantem a um manipulador maior destreza e versatilidade, permitindo, em algumas situações, movimentos não realizáveis
Compartilhar