Buscar

2018_Otimização com base em programação matemática aplicada a robótica industrial

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 130 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 130 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 130 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Continue navegando