Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

MINISTÉRIO DA DEFESA
EXÉRCITO BRASILEIRO
DEPARTAMENTO DE CIÊNCIA E TECNOLOGIA
INSTITUTO MILITAR DE ENGENHARIA
CURSO DE PÓS-GRADUAÇÃO EM ENGENHARIA MECÂNICA
CARLOS LUIZ MACHADO DE SOUZA JUNIOR
MODELAGEM, CONTROLE E CONSTRUÇÃO DE UM ROBÔ SERIAL ACOPLADO
A UM ROBÔ MÓVEL DO TIPO DIFERENCIAL
Rio de Janeiro
2019
INSTITUTO MILITAR DE ENGENHARIA
CARLOS LUIZ MACHADO DE SOUZA JUNIOR
MODELAGEM, CONTROLE E CONSTRUÇÃO DE UM ROBÔ
SERIAL ACOPLADO A UM ROBÔ MÓVEL DO TIPO DIFERENCIAL
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. Gustavo Simão Rodrigues - D.Sc.
Rio de Janeiro
2019
C2019
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 arquiva-
mento.
É 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 autor e do orientador.
xxx.x Junior, Carlos Luiz Machado de Souza
Jxxs MODELAGEM, CONTROLE E CONSTRUÇÃO DE
UM ROBÔ SERIAL ACOPLADO A UM ROBÔ MÓVEL
DO TIPO DIFERENCIAL/ Carlos Luiz Machado de Souza
Junior. – Rio de Janeiro: Instituto Militar de Engenharia,
2019.
?? p.:il, graf., tab.
Dissertação (mestrado) – Instituto Militar de Engenharia
– Rio de Janeiro, 2019.
1. Engenharia Mecânica – teses, dissertações. 2.
Cinemática. 3. Robótica Industrial. 4. Robótica Industrial
. II. MODELAGEM, CONTROLE E CONSTRUÇÃO
DE UM ROBÔ SERIAL ACOPLADO A UM ROBÔ
MÓVEL DO TIPO DIFERENCIAL. III. Instituto Militar
de Engenharia.
CDD xxx.x
1
INSTITUTO MILITAR DE ENGENHARIA
CARLOS LUIZ MACHADO DE SOUZA JUNIOR
MODELAGEM, CONTROLE E CONSTRUÇÃO DE UM ROBÔ
SERIAL ACOPLADO A UM ROBÔ MÓVEL DO TIPO DIFERENCIAL
Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Engenharia Me-
câ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. Gustavo Simão Rodrigues - D.Sc.
Aprovada em 09 de Setembro de 2019 pela seguinte Banca Examinadora:
Prof. Gustavo Simão Rodrigues - D.Sc. do IME - Presidente
Prof. Maurício Gruzman - D.Sc. do IME
Prof. Mauro Speranza Neto - D.Sc. da PUC-Rio
Prof. Victor Santoro Santiago - Ph.D. do IME
Prof. Marco Antonio Meggiolaro - Ph.D. do PUC-Rio
Rio de Janeiro
2019
2
3
Aos meus pais, irmãs, minha namorada Paula e a to-
dos da minha família que, com muito carinho e apoio,
não mediram esforços para que eu chegasse até esta
etapa da minha vida.
4
AGRADECIMENTOS
Agradeço a Deus, a minha família, a minha mãe, Lúcia, ao meu pai, Carlos, as minhas irmãs
Luana, Laís, Laíza e Letícia. Nada disso seria possível sem o apoio de vocês.
A minha namorada, Paula, pela compreensão, pelo suporte e por todo amor.
Ao meu orientador professor Gustavo Simão, primeiramente por aceitar me orientar, também
por todo suporte e atenção dada ao longo do mestrado.
A todos do IDR Lab, Felipe Laborde, Rafael Rosenberg, Felipe Macedo, Michel Alba, Bruno
Miranda, Leonardo Marque, Alexandre Soares, leandro de Almeida, pelo apoio, carinho,
suporte e ensinamentos. Ao Cel Ribeiro por ter me acolhido, seus ensinamentos foram muito
importantes para essa caminhada.
Ao professor Marco Meggiolaro, por me fazer crescer tanto academicamente quanto
pessoalmente, através de seus ensinamentos.
Ao meu cunhado, João Ramos, sem seus ensinamentos e apoio nada disso seria possível.
A equipe RioBotz por todo apoio e momentos de distração e alegria.
A todos do LabRob, obrigado por me abrigar, por todo apoio e paciência.
A todos os funcionários do Instituto Militar de Engenharia que, de alguma forma, colaboraram
com esta etapa que se encerra.
Ao IME e a PUC-Rio, pela estrutura oferecida e pela oportunidade que me foi dada de
ingressar e me formar no mestrado.
À CAPES por todo suporte financeiro dado ao longo do curso.
5
“A tarefa não é tanto ver aquilo que ninguém viu, mas
pensar o que ninguém ainda pensou sobre aquilo que
todo mundo vê.” Arthur Schopenhauer
6
SUMÁRIO
LISTA DE ILUSTRAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Formulação do problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4 Resultados esperados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.5 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6 Revisão bibliográfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2 FUNDAMENTOS TEÓRICOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1 Graus de liberdade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Tipos de robôs industriais de cadeia aberta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.1 Referenciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.2 Representação da posição em função da mudança de orientação . . . . . . . . . . . . . . . . 28
2.2.3 Rotações Elementares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.2.4 Rotação de um vetor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.2.5 Composição de Matrizes de Rotação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.6 Ângulos de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.2.7 Ângulos ZYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.8 RPY (Roll - Pitch - Yaw) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.9 Representação da localização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 METODOLOGIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1 Modelagem do robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1 Restrições não holonômicas de um robô móvel do tipo diferencial . . . . . . . . . . . . . . 42
3.1.2 Modelagem cinemática do robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.1.3 Modelagem dinâmica do robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.2 Modelagem dinâmica do motor DC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.3 Modelagemdo robô Serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
7
3.3.1 Modelagem cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.2 Convenção de Denavit-Hartenberg para a modelagem cinemática de mani-
puladores seriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.3 Modelagem dinâmica do manipulador serial de 2 GdL . . . . . . . . . . . . . . . . . . . . . . . . 59
3.4 Modelagem do sistema base + manipulador acoplados . . . . . . . . . . . . . . . . . . . . . . . . 63
3.4.1 Cinemática acoplada do Sistema robótico base móvel - manipulador . . . . . . . . . . . . 64
3.4.2 Tabela com os parâmetros de DH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4.3 Matrizes de Transformação Homogênea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.4.4 Resultado da Cinemática Direta em home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3.5 Obtenção de trajetória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.1 Obtenção de trajetória da base móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.5.2 Obtenção de trajetória do robô serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.5.3 Trajetórias no espaço das juntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.5.4 Trajetória no espaço operacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6 Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.6.1 Controle do robô serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
3.6.2 Controle do robô móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4 PROJETO, CONSTRUÇÃO E OPERAÇÃO DO SISTEMA ROBÓTICO MA-
NIPULADOR + BASE MÓVEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.1 ROS- Robot Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.2 Projeto e construção da base móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.3 Odometria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.3.1 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.3.2 Reactivision - Visão computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.4 Projeto e construção do braço robótico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.5 Controladores de potência e processadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.6 Análise de custos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1 Controle do sistema robótico serial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.1.1 Dados experimentais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
5.2 Sistema robótico base móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2.1 Resultados experimentais da dinâmica base + manipulador . . . . . . . . . . . . . . . . . . . . 107
8
5.2.2 Otimização de trajetória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.1 Contribuições científicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.2 Considerações finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.3 Perspectivas para trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7 REFERÊNCIAS BIBLIOGRÁFICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8 APÊNDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.1 Teoria dos Helicoides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.1.1 Rotação pura de um Helicoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.1.2 Deslocamento Helicoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.1.3 Método dos deslocamentos dos helicoides sucessivos . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.1.4 Modelagem cinemática através da Teoria dos Helicoides . . . . . . . . . . . . . . . . . . . . . . 139
8.2 Cinemática diferencial e inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
9
LISTA DE ILUSTRAÇÕES
FIG.1.1 Planta baixa fabrica tradicional. Adaptado de Mads Hvilshoj- 2009 . . . . . . . . . . 17
FIG.1.2 Planta baixa fabrica com manipulador móvel. Adaptado de Mads Hvilshoj-
2009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
FIG.2.1 Junta prismática ou linear. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . 23
FIG.2.2 Junta rotacional. Fonte: SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . 23
FIG.2.3 Junta esférica. Fonte: SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FIG.2.4 Junta cilíndrica. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FIG.2.5 Junta planar. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FIG.2.6 Junta parafuso.SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
FIG.2.7 Robô cartesiano. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
FIG.2.8 Robô cilíndrico. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
FIG.2.9 Robô esférico. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FIG.2.10 Robô scara. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
FIG.2.11 Robô antropomórfico. SICILIANO et al. (2010) . . . . . . . . . . . . . . . . . . . . . . . . . . 27
FIG.2.12 Representação de um corpo rígido no espaço . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
FIG.2.13 Representação de um corpo rígido no espaço . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
FIG.2.14 Representação da rotação de um referencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
FIG.2.15 Significado das linhas e colunas de uma matriz de rotação . . . . . . . . . . . . . . . . . . 32
FIG.2.16 Representação da rotação de um vetor em um plano . . . . . . . . . . . . . . . . . . . . . . . 33
FIG.2.17 Ângulos de Euler (ZYZ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
FIG.2.18 Ângulos de Euler (RPY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 37
FIG.2.19 Representação de um ponto em diferentes sistemas de coordenadas . . . . . . . . . . 38
FIG.3.1 Parâmetros da roda. Fonte:Dhaouadi, Hatab.2013) . . . . . . . . . . . . . . . . . . . . . . . . 43
FIG.3.2 Robô diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
FIG.3.3 Parâmetros de DH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
FIG.3.4 Manipulador móvel dois graus de liberdade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
FIG.3.5 Esquemático Manipulador móvel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
FIG.3.6 Simulação Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
FIG.3.7 Trajetória definida por um polinômio de terceira ordem . . . . . . . . . . . . . . . . . . . 73
FIG.3.8 Trajetória definida por um polinômio de quinta ordem . . . . . . . . . . . . . . . . . . . . 74
10
FIG.3.9 Representação paramétrica de um caminho no espaço . . . . . . . . . . . . . . . . . . . . . 76
FIG.3.10 controle por torque computado na malha. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
FIG.3.11 Diagrama de blocos da malha do controle por torque computado . . . . . . . . . . . . 80
FIG.3.12 Controle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
FIG.3.13 Erro de Trajetória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
FIG.3.14 Diagrama de controle do sistema assumindo sistemas desacoplados . . . . . . . . . . 84
FIG.4.1 Render da base móvel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
FIG.4.2 CAD base móvel com suporte de motores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
FIG.4.3 - Base móvel com componentes instalados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
FIG.4.4 Funcionamento de um encoder ótico incremental. Fonte: Bharat Joshi. . . . . . . 88
FIG.4.5 Sistema de odometria com auxilio de câmera. Adaptado de João(2014) . . . . . . 89
FIG.4.6 Fiducial makers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
FIG.4.7 - Esboço do braço robótico com dois graus de liberdade. . . . . . . . . . . . . . . . . . . . 90
FIG.4.8 Esboço 3D do braço robótico com dois graus de liberdade - vista isométrica.
91
FIG.4.9 Protótipo do braço robótico com dois graus de liberdade - vista isométrica.
91
FIG.4.10 Esboço do braço robótico com dois graus de liberdade - vista frontal. . . . . . . . . 91
FIG.4.11 Protótipo do braço robótico com dois graus de liberdade - vista frontal. . . . . . . 91
FIG.4.12 Esboço do braço robótico com dois graus de liberdade. Vista lateral. . . . . . . . . . 92
FIG.4.13 Protótipo do braço robótico com dois graus de liberdade - vista lateral. . . . . . . . 92
FIG.4.14 Controlador de motores Odrive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
FIG.5.1 Trajetória circular dois graus de liberdade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
FIG.5.2 Posição de juntas para trajetória circular do efetuador . . . . . . . . . . . . . . . . . . . . . 98
FIG.5.3 Velocidade das juntas para trajetória circular do efetuador . . . . . . . . . . . . . . . . . . 98
FIG.5.4 Erro de posição e orientação para trajetória circular do efetuador final . . . . . . . . 99
FIG.5.5 Sinal de entrada: sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
FIG.5.6 - Sinal de entrada: sin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
FIG.5.7 Comparação entre a trajetória simulada e a trajetória real obtida com o
protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
FIG.5.8 Comparação entre a trajetória simulada (x,y) e a trajetória real (x,y)
obtida com o protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
11
FIG.5.9 Comparação entre a trajetória de θb simulada e a trajetória real de θb
obtida com o protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
FIG.5.10 Comparação entre as velocidades das rodas simuladas e as velocidades
reais obtida com o protótipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
FIG.5.11 Esquemático Manipulador móvel a paralelo em relação a base. . . . . . . . . . . . . . 107
FIG.5.12 Esquemático Manipulador móvel a 180 graus em relação a base. . . . . . . . . . . . . 107
FIG.5.13 Módulo da corrente dos motores da base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
FIG.5.14 Convergência da função objetivo ao longo das iterações. . . . . . . . . . . . . . . . . . . . 109
FIG.5.15 Trajetória otimizada a partir do método PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
FIG.8.1 Representação de um helicoide associado a um corpo rígido . . . . . . . . . . . . . . . . 126
FIG.8.2 Representação da rotação de um helicoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
FIG.8.3 Projeção de SPP r2 sobre SPP1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
FIG.8.4 Rotação e translação em torno de um único eixo . . . . . . . . . . . . . . . . . . . . . . . . . . 132
FIG.8.5 Deslocamento de um corpo com dois helicoides sucessivos . . . . . . . . . . . . . . . . . 137
FIG.8.6 Deslocamento de um corpo por n helicoides sucessivos . . . . . . . . . . . . . . . . . . . . 139
FIG.8.7 Representação do fechamento de cadeia de um manipulador serial com
n juntas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
12
LISTA DE TABELAS
TAB.3.1 Parâmetros de Denavit Hartenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
TAB.4.1 Parâmetros Odrive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
TAB.4.2 Tabela de custo dos componentes utilizados no protótipo . . . . . . . . . . . . . . . . . . 94
TAB.5.1 Tabela de parâmetros reais do manipulador robótico . . . . . . . . . . . . . . . . . . . . . . 96
TAB.5.2 Tabela de parâmetros PSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
13
RESUMO
A constante evolução e aperfeiçoamento tecnológico permitem que plantas fabris sejam
completamente robotizadas. Mas, devido ao alto custo agregado, muitas vezes tal implemen-
tação torna-se inviável, sobretudo em países com baixo desenvolvimento tecnológico. Visto
isso, o desenvolvimento de tecnologia nacional que possibilite a melhor utilização dos recur-
sos robóticos, visando a diminuição do custo de instalação e operação dos mesmo se torna
altamente desejado. Com isso, a proposta desta dissertação consiste na implementação de um
sistema robótico de baixo custo e alta confiabilidade, que torne possível a ampliação do vo-
lume de trabalho de robôs industriais, otimizando as possibilidades de uso dos mesmos. Para
tornar isso possível, o presente trabalho mostra o desenvolvimento da metodologia que inclui a
modelagem, controle, projeto e construção de um sistema constituído por um robô móvel não
holonômico com tração diferencial e um manipulador serial de 2 graus de liberdade acoplado
a esse robô. Para viabilizar a tarefa, esta dissertação aborda também o problema da movimen-
tação autônoma do manipulador móvel - envolvendo a geração e execução de trajetórias entre
os pontos de interesse. Para o rastreamento e controle de trajetória do manipulador móvel,
optou-sepor uma técnica que se baseia no modelo cinemático do robô e utiliza um modelo de
referência para calculo da lei de controle. Para lidar com os possíveis obstáculos foi adotado
um gerador de trajetórias baseado no uso da técnica de PSO - Particle Swarm Optmization, que
leva em consideração os obstáculos detectados a partir de um sistema de sensoriamento por
câmeras presente no ambiente. Técnicas de controle por torque computado foram utilizadas
para a estabilização do braço robótico de 2 graus de liberdade, possibilitando movimentos com
alta precisão e repetibilidade. Em um primeiro momento, simulações em ambiente MATLAB
e ROS - Robot Operating System foram feitas, demostrando a estabilidade e robustez da so-
lução sugerida, viabilizando assim a validação com a construção e controle do protótipo, que
conseguiu realizar a tarefa go-to-goal em 3 dimensões.
Palavras chaves: Robôs Móveis; Robôs Industriais; Differential Drive; Automação.
14
ABSTRACT
Constant tecnological improvement has allowed factories to robotize their tasks, but that
is a step that not all companies can take due to the high cost of industrial robots, specially in
countries with low tecnological development. Knowing that, the development of a national tech-
nology aiming for a better use of robotic features and a lower cost of installation and operation
of such robots is highly desirable. Thereby, this dissertation proposal consist on implementation
of a low cost and highly reliable robotic system that could expand the workload of industrial
robots, optimizing their possibilities. In order to achieve that, this paper shows the metodology,
modeling, control, project and construction of a non-holonomic differential drive mobile robot
attached to a 2 DOF serial robot manipulator. This dissertation adresses as well the problem of
autonomous movement of the mobile manipulator. Such problem involves trajectory generation
and execution between setpoints. For tracking and controlling the trajectory of the mobile ma-
nipulator, it was chosen a technique based on the kinematic model of the robot, which uses a
reference model to calculate the control law. To deal with possible obstacles, a trajectories gen-
erator based on PSO – Particle Swarm Optimization technique was applied. That method takes
into account the detected obstacles through camera sensoring, installed on the surroundings.
Computed-Torque control methods were used to stabilize the 2 DOF manipulator, enabling
movements with high precision and repeatability. At first, simulations conducted in MATLAB
and ROS demonstrate the stability and robustness of the sugested solution. Thus allowing the
validation with the construction and control of the prototype, which was able to accomplish a
go-to-goal task in 3 dimensions (X ,Y ,Z).
Keywords: Mobile robots; Industrial Robots; Differential Drive; Automation.
15
1 INTRODUÇÃO
Com o constante crescimento das indústrias, começou a tornar-se grande a demanda por
soluções que facilitem os processos de fabricação e também aumentem a eficiência dos mesmos;
devido a essa necessidade, o uso de sistemas de automação e sistemas robóticos começaram a
ser cada vez mais necessários e difundidos. Desde 1956, diversas gerações de robôs têm sido
desenvolvidas e amplamente utilizadas, entretanto, mesmo nesse cenário onde a automação e
a robótica se fazem presentes, a necessidade de novas soluções para dar mais mobilidade e
versatilidade a esses sistemas robóticos tornou-se necessária.
Dentre os inúmeros tipos de robôs, dois tipos vêm se desenvolvendo rapidamente: os robôs
industriais e os robôs móveis. Em um primeiro momento a robótica industrial com a grande
demanda por robôs manipuladores teve seu desenvolvimento acelerado. Após o grande cresci-
mento da robótica industrial outro grupo - os robôs móveis - teve crescimento expressivo. Isto
se deu pela capacidade desses sistemas robóticos terem autonomia e mobilidade suficiente para
reagir e colaborar com o ambiente no qual estão inseridos, possibilitando assim diversas apli-
cações para os mesmos.
Os robôs industriais, segundo a INTERNATIONAL ORGANIZATION FOR STANDARD-
IZATION (2011), são manipuladores multipropósito controlados automaticamente, programáveis,
reprogramáveis e possuem três ou mais eixos. Esta categoria de robôs usualmente é dividida
em 6 subcategorias, sendo elas definidas de acordo com o número, tipo e disposição dos elos e
das juntas.
Já os robôs móveis, de acordo com SIEGWART & NOURBAKHSH (2004a), pertencem a
um campo de pesquisa recente e vêm se tornando alvo de diversos pesquisadores. Sua utilização
é ampla, desde robôs equipados com utensílios de limpeza que agilizam a vida das pessoas a
robôs com ferramentas que podem ser utilizados em missões como o desarmamento de bombas
ou salvamento em locais perigosos. Tais mecanismos podem ser equipados com rodas, pernas,
hélices ou até mesmo turbinas para permitir a sua locomoção. Uma classificação amplamente
aceita pela sociedade acadêmica é a que robôs móveis são divididos em grupos de acordo com
o ambiente que operam e a sua forma de locomoção. Quanto ao ambiente, pode-se classificar
os robôs móveis em 3 categorias:
• Robôs aéreos.
16
• Robôs terrestres.
• Robôs subaquáticos.
Quanto ao tipo de locomoção, os mesmos podem ser subdivididos em 4 classes:
• Pernas.
• Rodas.
• Esteiras.
• Propulsão.
Com o advento dos robôs colaborativos, tornou-se possível a relação mais próxima entre
robôs e os seres humanos, viabilizando assim o uso de plataformas móveis trabalhando em con-
junto com robôs industriais para a expansão da área de trabalho dos mesmos. Como visto na
figura 1.1, uma fábrica com 3 estações de trabalho necessita tradicionalmente de 3 robôs indus-
triais para atender à demanda de operação. Já com a adaptação de uma base móvel, somente
um robô passa a ser necessário, como visto na figura 1.2
FIG. 1.1: Planta baixa fabrica tradicional. Adaptado de Mads Hvilshoj- 2009
17
FIG. 1.2: Planta baixa fabrica com manipulador móvel. Adaptado de Mads Hvilshoj- 2009
Através do uso dessas plataformas móveis, os mesmos robôs industriais que comumente
cobriam uma área de trabalho limitada agora podem ampliar significativamente a área útil de
execução de suas atividades programadas, aliando as vantagens da mobilidade dos robôs móveis
com a alta capacidade de manipulabilidade dos robôs industriais. Tais sistemas permitem as
mais usuais missões de robótica, pois são sistemas que possuem habilidades tanto de locomoção
quanto de manipulação (Arai 1996; Khatib 1997).
Entretanto, a união dessas duas tecnologias por se tratar de uma tarefa com alto custo e
esforço computacional, foi implementada apenas por poucas empresas, tornando-se assim, uma
tecnologia financeiramente inviável para a adoção em larga escala.
1.1 MOTIVAÇÃO
Mesmo com expansão da robotização na indústria mundial, o Brasil, mesmo sendo um
dos países mais populosos do mundo, avança de forma lenta no desenvolvimento e uso dessa
tecnologia. Segundo a IFR (2017a), o Brasil representa somente 0, 55% da instalação de novos
robôs industriais no mundo, quantidade irrisória se comparada a países muito menores como
Coreia do Sul e Japão, que estão entre as 5 nações com o maior consumo dessa tecnologia.
18
Segundo a Confederação Brasileira da Indústria (2018), o principal impedimento para a
instalação de novos robôs pela indústria brasileira é o alto custo agregado com a compra, ins-
talação e treinamento de profissionais especializados para operar tal tecnologia. Desenvolver
um sistema robótico nacional poderia viabilizar a instalação de robôs na indústria brasileira,
trazer avanços tecnológicos e empregos para o país. Além da aplicação em robôs industriais,
diversas outras são possíveis. A incorporação de um robô móvel a um manipulador robótico
pode propiciar melhorias em diversos problemas que demandam que o ser humano se submeta
a situações de risco, como no caso de acidentes e conflitos com alto poder bélico. Desdeo
acidente de Fukushima em 2011, onde um terremoto afetou uma planta de geração de energia
nuclear, o crescimento de sistemas robóticos que tenham destreza suficiente e capacidade de se
locomover para áreas não conhecidas de modo a executar tarefas impróprias para os seres hu-
manos se tornou muito necessário. O veículo robótico proposto nessa dissertação é capaz, desde
que com algumas adaptações, de ser usado não somente em situações desse tipo do acidente no
Japão, como também no desarmamento de minas subterrâneas e artefatos explosivos.
Segundo a Política Nacional de Defesa (2018), não é independente o país que não possui
domínio das tecnologias sensíveis, tanto para a defesa, quanto para o desenvolvimento. Tais
avanços tecnológicos citados também colocariam o país em outro patamar quando o assunto é
tecnologia militar. A nacionalização e criação de novos dispositivos para o auxílio de nossas
tropas seria possível além de altamente desejada.
1.2 FORMULAÇÃO DO PROBLEMA
De acordo com a ISO10218 (2011), robôs industriais são dispositivos mecânicos programáveis
que podem executar diversas tarefas. A incorporação de uma base móvel aos robôs industriais
tradicionais, além de permitir que os mesmos possam executar novas tarefas, possibilita que
o mesmo possa fazer isso em um ambiente mais amplo do que a área de trabalho de um robô
industrial convencional.
Diversos fatores podem ser considerados como empecilhos para a implementação do sis-
tema proposto. Como os robôs devem ser capazes de se localizarem no ambiente, tomar de-
cisões, planejar e executar rotas independente de intervenções humanas, o sensoriamento do
sistema robótico assim como o controle de estabilidade do manipulador são grandes desafios.
19
1.3 OBJETIVOS
Tendo em vista o alto custo e baixo desenvolvimento de tecnologia voltada para robótica no
Brasil e sabendo também da necessidade de desenvolver novos sistemas robóticos, mesmo com
toda a dificuldade de produzir novas tecnologias e o custo das mesmas, este trabalho tem como
objetivos:
• Desenvolver, simular e construir um protótipo de um sistema robótico móvel, composto
por um braço robótico (manipulador serial) e uma base móvel do tipo diferencial.
• Obter todo equacionamento cinemático e dinâmico necessário para a construção do mo-
delo matemático do sistema robótico proposto.
• Desenvolver a metodologia para a execução do projeto do sistema robótico de modo que
esse tenha custo significativamente menor aos praticados atualmente.
1.4 RESULTADOS ESPERADOS
Ao final dessa dissertação, espera-se como resultado do trabalho de pesquisa e desenvolvi-
mento a:
• Construção de protótipo funcional do sistema robótico composto por um braço robótico
e uma base móvel (manipulador móvel).
• Validação da metodologia proposta com o auxílio do protótipo construído.
1.5 ORGANIZAÇÃO DO TRABALHO
Este trabalho está organizado de forma que o capítulo 1 mostra a introdução, a motivação, os
objetivos e os resultados esperados, assim como a formulação do problema proposto e a revisão
bibliográfica feita. No capítulo 2, a fundamentação teórica para compreendimento do trabalho é
apresentada. O capítulo 3 aborda a modelagem cinemática e dinâmica usada na implementação
do sistema robótico proposto, assim como a metodologia e as leis de controle utilizadas.
No capítulo 4 é feita a apresentação do protótipo proposto, mostrando seu hardware, eletrônica
e também o sistema de odometria, que auxilia na obtenção da posição e orientação do sistema
robótico.
20
Os resultados numéricos e experimentais são mostrados e analisados ao longo do capítulo
5. Finalmente no sexto capítulo é apresentada a viabilidade do projeto, as conclusões obtidas,
os problemas encontrados durante a execução do projeto e as perspectivas de estudos futuros.
1.6 REVISÃO BIBLIOGRÁFICA
Devido a sua alta mobilidade e versatilidade, os manipuladores móveis tornaram-se matéria
de pesquisa YU; CHEN, 2002. Estudos realizados por FUKUSHIMA; HIROSE; HAYASHI,
1998, trazem a integração entre o manipulador e o controlador de movimento como o principal
objetivo de pesquisa. MAILA; PITOWARNO; JAMALUDDIN, 2005 concentram seus estudos
na dinâmica dos manipuladores móveis.
YAMAMOTO E YUN - 1999 mostram o estudo de movimento de um manipulador móvel
de forma desacoplada, mostrando que tratar o movimento da base isolado ao movimento do
manipulador robótico torna a abordagem mais simples e fácil, com a possibilidade de resultados
muito próximos aos trabalhos realizados por NAGASAKA et al em 2010 - que propõe o controle
do dois sistemas de forma acoplada. Para isso, eles sugerem duas técnicas: GID - Generalized
Inverse Dynamics e a IJU Idealized Joint Unit. Ambas as técnicas propostas demostram um
aumento da capacidade de interação física de um robô, sendo que a IJU garante uma resposta
mais precisa quanto ao torque aplicado.
Diversos outros autores também abordam a modelagem dinâmica e cinemática de manipu-
ladores móveis, entre os mais difundidos: SICILIANO E KHATIB 2008, SIDEK E SARKAR
- 2008, GARCIA 2009, PETROV EM 2010.
Ainda em 2010, HAMNER et al. desenvolve um manipulador autônomo a fim de realizar
tarefas em ambiente de linha de produção de veículos, fazendo o uso de sistemas de visão e
força para obter informações sobre o ambiente no qual é utilizado.
IDE et al. (2011) estabelece um sistema de planejamento de trajetória em tempo real e
para resolver tal sistema abordam o planejamento de trajetória como problema de programação
quadrática a fim de otimizar as entradas da malha de controle de movimento. Ainda que a
teoria sobre manipuladores móveis já seja objeto de pesquisa a mais de duas décadas, trabalhos
recentes mostram que o assunto possui ainda uma ampla gama de possibilidades de pesquisa.
LIAN DING et al. 2017 sugere técnicas de controle adaptativo para viabilizar robôs mani-
puladores móveis a abrir portas em situações de risco. Já TAO e FENGFENG 2018 demonstram
a análise de um manipulador móvel considerando condições não ideais, como o deslizamento
das rodas do mesmo.
21
2 FUNDAMENTOS TEÓRICOS
Nesse capítulo são apresentados conceitos importantes para o entendimento da metodologia
apresentada nessa dissertação. Entre os principais tópicos abordados, estão:
• Graus de liberdade - DoF (Degrees of Freedom)
• Tipos de juntas
• Referenciais
• Representação da posição em função da mudança de orientação
• Ângulos de Euler
• Localização de corpos rígidos no espaço
Os tópicos listados acima são fundamentos essenciais para o entendimento da metodologia
deste trabalho. Conceitos adicionais como a modelagem através da teoria dos helicoides suces-
sivos e cinemática inversa de manipuladores seriais podem ser vistos no capítulo de apêndices
dessa dissertação.
2.1 GRAUS DE LIBERDADE
De acordo com SICILIANO & KHATIB (2008), a mobilidade de um manipulador é garan-
tida com a presença de juntas, assim a articulação entre dois elos consecutivos pode acontecer.
Em robôs de cadeia serial aberta, cada junta de rotação ou prismática é responsável por fornecer
um grau de liberdade (DoF - Degree of freedom do inglês) ao robô; sendo que a junta de revo-
lução cria um movimento relativo de rotação entre dois elos e as juntas prismáticas criam um
movimento de translação entre esses dois elos. A destreza de um robô está diretamente ligada ao
número de graus de liberdade que ele possui. Segundo SICILIANO & KHATIB (2008), para se
executar uma tarefa em um ambiente tridimensional - ou seja, no espaço - 6 graus de liberdade
são necessários: 3 responsáveis pela posição do corpo e outros 3 responsáveis pela orientação
do mesmo. Com mais do que 6 graus de liberdade, os robôs redundantes são conhecidos por
poder executar mais tarefas e/ou executar tarefas similares com poses diferentes, o que auxilia
22
no processo de evitar colisões com os demais objetos do ambiente, além de evitar regiões de
singularidade (propiciando maior precisão e robustez).
A seguir serão apresentadosos tipos de juntas encontrados nos manipuladores robóticos.
Segundo TENENBAUM (1997), juntas são as articulações que conectam os elos e permitem
o movimento do mesmo em relação ao elo anterior. Essas juntas podem ser dos tipos:
JUNTA PRISMÁTICA OU LINEAR
Junta que possui movimento linear, normalmente compostas de duas hastes que deslizam
entre si (figura 2.1).
FIG. 2.1: Junta prismática ou linear. SICILIANO et al. (2010)
JUNTA ROTACIONAL
Junta que gira em torno de uma linha imaginária estacionária chamada de eixo de rotação.
Ela gira como uma cadeira giratória, abre e fecha como uma dobradiça (figura 2.2).
FIG. 2.2: Junta rotacional. Fonte: SICILIANO et al. (2010)
A associação dessas juntas permite a criação de novas juntas, sendo que as mais difundidas
atualmente, são:
JUNTA ESFÉRICA
Funciona com a combinação de três juntas de rotação, realizando rotação em torno de três
eixos (figura 2.3);
23
FIG. 2.3: Junta esférica. Fonte: SICILIANO et al. (2010)
JUNTA CILÍNDRICA
É composta por duas juntas: uma rotacional e uma prismática (figura 2.4);
FIG. 2.4: Junta cilíndrica. SICILIANO et al. (2010)
JUNTA PLANAR
É composta por duas juntas prismáticas e realiza movimentos em duas direções (figura 2.5);
FIG. 2.5: Junta planar. SICILIANO et al. (2010)
JUNTA PARAFUSO
É constituída de um parafuso que contém uma porca que executa um movimento semelhante
ao da junta prismática, porém com movimento no eixo central (figura 2.6).
FIG. 2.6: Junta parafuso.SICILIANO et al. (2010)
24
2.2 TIPOS DE ROBÔS INDUSTRIAIS DE CADEIA ABERTA
Robôs industriais de cadeia aberta são os robôs mais usados nas indústrias; os mesmos po-
dem ser classificados de acordo com o número de juntas, graus de liberdade e disposição dessas
juntas no robô. Essas juntas podem estar dispostas paralelamente(‖) ou ortogonalmente(⊥) em
relação uma a outra.
CARTESIANO
Robô composto por 3 juntas prismáticas (P ) na configuração P ⊥ P ⊥ P . Esse tipo de
robô possui 3 graus de liberdade (figura 2.7).
FIG. 2.7: Robô cartesiano. SICILIANO et al. (2010)
CILÍNDRICO
Robô composto também por 3 juntas (figura 2.8), mas se difere do robô prismático pelo
fato de a primeira junta ser do tipo rotativa(R), tendo esse uma configuração de juntas do tipo
R ‖ P ⊥ P. Esse tipo de robô possui 3 graus de liberdade.
FIG. 2.8: Robô cilíndrico. SICILIANO et al. (2010)
25
ESFÉRICO
Robô composto por 3 juntas, mas com uma disposição do tipo R ‖ R ⊥ P (figura 2.9).
Esse tipo de robô possui 3 graus de liberdade.
FIG. 2.9: Robô esférico. SICILIANO et al. (2010)
SCARA
Robô com 3 juntas: esse tipo de robô foi criado para executar tarefas de Capim-de-planta e
possui 3 juntas dispostas paralelamente entre elas, ou seja, R ‖ R ‖ P (figura 2.10); Esse tipo
de robô possui 3 graus de liberdade.
FIG. 2.10: Robô scara. SICILIANO et al. (2010)
ANTROPOMÓRFICO
Robô industrial que mais se aproxima da configuração de um braço humano: esse tipo de
robô possui no mínimo 3 juntas de rotação, dispostas na maioria das vezes da formaR ⊥ R ‖ R
(figura 2.11). Esses robôs podem possuir mais juntas, sendo comum robôs com 6 juntas, e
também robôs antropomórficos redundantes com 7 juntas.
26
FIG. 2.11: Robô antropomórfico. SICILIANO et al. (2010)
2.2.1 REFERENCIAIS
Um corpo rígido pode ser definido por um corpo em que a distância entre todas as partículas
componentes permanecem fixas sob a ação de uma força, mantendo a sua forma durante o
movimento. Segundo TENENBAUM (1997), o corpo rígido é uma abstração da realidade, um
modelo da mecânica, onde os deslocamentos relativos entre pontos sucessivos pertencentes ao
corpo podem ser desprezados frente ao movimento global do corpo como um todo.
Antes de iniciar qualquer tratativa de localização de um corpo rígido no espaço tridimen-
sional, é necessário estabelecer algumas definições.TENENBAUM (1997)
Definição 1 – Referencial – é definido como um conjunto de pontos não colineares, que
guardam entre si distâncias invariantes com o tempo, podendo se associar um sistema de eixos
cartesianos .
Definição 2 – Referencial Absoluto – é definido como um sistema fixo de eixos coordenados
de referência, permitindo a localização de um corpo rígido no espaço tridimensional .
Definição 3 – Referencial Relativo ou Móvel – é definido como um sistema de eixos co-
ordenados que se movimenta, em relação ao referencial absoluto ou a outro referencial móvel,
sendo útil na determinação da localização de sistemas com múltiplos corpos ligados por juntas.
Esses sistemas coordenados se movem usualmente solidários a elos .
Seja O0 − x0y0z0 o referencial absoluto no espaço tridimensional, com origem O0 e seus
três eixos x0, y0 e z0 ortogonais entre si, e O1 − x1y1z1 um referencial móvel associado a um
determinado ponto de um corpo rígido, com origem O1 e seus três eixos x1, y1 e z1 igualmente
ortogonais entre si, conforme figura 2.12.
Segundo SICILIANO et al. (2009b), a localização de um corpo rígido no espaço tridimen-
27
FIG. 2.12: Representação de um corpo rígido no espaço
sional é determinada quando conhecidas sua posição e orientação com respeito a um dado refe-
rencial. A localização de todos os pontos pertencentes ao corpo rígido podem ser determinadas
quando se conhece a localização do referencial móvel, solidário ao corpo, em relação ao refe-
rencial absoluto.
2.2.2 REPRESENTAÇÃO DA POSIÇÃO EM FUNÇÃO DA MUDANÇA DE ORIENTAÇÃO
Para facilitar a análise, em um primeiro momento, considere que os dois referenciais tenham
origens coincidentes, como ilustrado na figura 2.13. A posição do ponto P , com respeito ao
referencial absoluto O0 − x0y0z0, pode ser descrita por um vetor (3x1) p0, do seguinte modo:
FIG. 2.13: Representação de um corpo rígido no espaço
p0 =

p0x
p0y
p0z
 = p0xi+ p0yj + p0zk (2.1)
28
A representação com um super-índice 0 significa que o vetor p0 tem coordenadas do ponto
P relativas ao referencial absoluto O0 − x0y0z0.
De maneira análoga, a posição do ponto P , com respeito ao referencial móvelO1−x1y1z1,
também pode ser descrita por um vetor (3x1) p1, no seguinte modo:
p1 =

p1x
p1y
p1z
 = p0xu+ p1yv + p1zw (2.2)
A orientação de um corpo rígido é determinada através da representação de seu referencial
móvel em função do absoluto, visto que o mesmo acompanha os movimentos desse corpo,
sendo solidário ao corpo. Inicialmente, considera-se que a movimentação entre o referencial
móvel e o absoluto se dá com um ponto em comum, ou seja, a origem em comum. Isto é
conhecido como rotação ou movimento esférico.
Assumindo que o referencial absoluto O0 − x0y0z0 possua vetores unitários (i, j,k) e o
móvel O1 − x1y1z1, vetores unitários (u,v,w), é possível representar (u,v,w) em função de
(i, j,k), através das respectivas projeções no referencial absoluto, ou seja:
u = uxi + uyj + uzk (2.3)
v = vxi + vyj + vzk (2.4)
w = wxi + wyj + wzk (2.5)
Substituindo os vetores unitários (u,v,w), em função das suas projeções no referencial
fixo (i, j,k), apresentados nas EQ. 2.3, 2.4 e 2.5 , na EQ. 2.1, e agrupando as componentes em
(i, j,k), tem-se
p0 = p1x(uxi + uyj + uzk) + p
1
y(vxi + vyj + vzk) + p
1
z(wxi + wyj + wzk) (2.6)
p0 = (p1xux + p
1
yvx + p
1
zwx)i + (p
1
xuy + p
1
yvy + p
1
zwy)j + (p
1
xuz + p
1
zwz + p
1
yvz)k (2.7)
29
Dessa maneira, comparando as EQs. 2.2 e 2.7, é possível escrever:
p0x = p
1
xux + p
1
yvx + p
1
zwx (2.8)
p0y = p
1
xuy + p
1
yvy + p
1
zwy (2.9)
p0z = p
1
xuz + p
1
yvz + p
1
zwz (2.10)
Agrupando na forma matricial, tem-se:
p0x
p0y
p0z
 =

ux vx wx
uy vy wy
uz vz wz


p1x
p1y
p1z
 (2.11)
Assim, a orientação de um corpo rígido sobre um ponto fixo pode ser determinado através
de uma transformação ortonormal, representada da seguinte forma
p0 = R01 p
1 (2.12)
onde,
R01 =

ux vx wx
uy vy wy
uz vz wz
 =

a11 a12 a13
a21 a22 a23
a31 a32 a33
 (2.13)
A matriz R01 é denominada Matriz de Rotação que move o referencial 1 em relação ao
referencial 0, capaz derepresentar completamente a variação da orientação do corpo, sendo for-
mada por 3 vetores coluna unitários ortogonais, em que as seguintes condições são observadas:
u2 = uTu = 1 (2.14)
v2 = vTv = 1 (2.15)
w2 = wTw = 1 (2.16)
uTv = vTw = wTu = 0 (2.17)
u× v = w = −(v × u) (2.18)
v ×w = u = −(w × v) (2.19)
w × u = v = −(u×w) (2.20)
det(R01) = 1 (2.21)
30
R01 =
[
u0 v0 w0
]
=

i1
T
j1
T
k1
T
 (2.22)
R10 = R
0
1
−1
= R01
T (2.23)
2.2.3 ROTAÇÕES ELEMENTARES
Supondo que o referencial móvel O1−x1y1z1, inicialmente coincidente com O0−x0y0z0,
seja rotacionado por um ângulo α em torno do eixo z comum a ambos, conforme figura 2.14.
FIG. 2.14: Representação da rotação de um referencial
Os vetores unitários do referencial rotacionado, descritos em termos do referencial absoluto,
são obtidos em função das projeções, ou seja:
x1 =

cosα
sinα
0
 (2.24)
y1 =

− sinα
cosα
0
 (2.25)
z1 =

0
0
1
 (2.26)
Sendo assim, a matriz Rz(α), que representa a rotação do referencial O1 − x1y1z1 em
relação a O0 − x0y0z0 em torno de z0 ≡ z1 de um ângulo α é determinada por:
31
R01 = Rz(α) =

cosα − sinα 0
sinα cosα 0
0 0 1
 (2.27)
Note-se que, enquanto as colunas da matriz Rz(α) correspondem às projeções dos vetores
unitários do referencial móvel em relação ao absoluto, as linhas representam as projeções dos
vetores unitários do referencial absoluto em função do móvel, conforme a EQ. 2.13, cujo sig-
nificado físico da forma matricial encontra-se ressaltado na figura 2.15.
FIG. 2.15: Significado das linhas e colunas de uma matriz de rotação
De maneira análoga, é possível obter as matrizes para a rotação elementar em torno de x
de um ângulo β; e em torno de y de γ, que encontram-se representadas conforme descrito nas
EQ. 2.28 e 2.29, respectivamente.
Rx(β) =

1 0 0
0 cos β − sin β
0 sin β cos β
 (2.28)
Ry(γ) =

cos γ 0 sin γ
0 1 0
− sin γ 0 cos γ
 (2.29)
2.2.4 ROTAÇÃO DE UM VETOR
Uma matriz de rotação pode ser interpretada como um operador que rotaciona um deter-
minado vetor em torno de um eixo arbitrário no espaço em dois instantes de tempo distintos
assumindo um super-índice 0 e 1. Como exemplo, seja p1 um vetor cujo referencial encontra-
se em O − xyz, representado na figura 2.16.
O vetor p0 tem as seguintes componente:
32
FIG. 2.16: Representação da rotação de um vetor em um plano
p0x = p
1
x cosα− p1y sinα (2.30)
p0y = p
1
x sinα + p
1
y cosα (2.31)
p0z = p
1
z (2.32)
Observa-se, portanto, que p0 pode ser expresso como:
p0 = Rz(α)p1, (2.33)
onde Rz(α) é a matriz que representa a rotação do vetor em torno de um eixo z comum.
Segundo SICILIANO et al. (2009b), uma matriz de rotação além de funcionar como um
operador que rotaciona um vetor em um mesmo sistema de coordenadas, apresenta outros dois
significados geométricos equivalentes: (1) descreve uma orientação mútua em dois sistemas
de coordenadas, sendo o vetor coluna os cossenos diretores do eixo rotacionado em relação ao
eixo original; (2) representa uma transformação de coordenadas de um ponto expresso em dois
diferentes sistemas de referência, caso a origem seja comum para os dois sistemas.
2.2.5 COMPOSIÇÃO DE MATRIZES DE ROTAÇÃO
SejamO0−x0y0z0,O1−x1y1z1 eO2−x2y2z2 sistemas de referência com origem comum,
ou seja, O0 ≡ O1 ≡ O2 ≡ O. O vetor p descreve a posição de um ponto no espaço em três
instantes distintos, representando sua localização como sendo p0, p1 e p2, respectivamente.
Considerando a relação da expressão p2 do vetor p no referencial 2 e p1 o mesmo vetor no
referencial 1, se Rji denota a matriz de rotação de um referencial i em relação ao referencial j,
então
p1 = R12p
2 (2.34)
33
Analogamente, tem-se que
p0 = R01p
1 (2.35)
p0 = R02p
2 (2.36)
Substituindo a EQ. 2.34 em 2.35 e comparando com a EQ. 2.36, têm-se que
R02 = R
0
1R
1
2 (2.37)
A EQ. 2.37 é interpretada como a composição de rotações sucessivas. Considerando a
posição inicial alinhada com o referencial absolutoO0−x0y0z0, a rotação expressa pela matriz
R02 representa duas rotações sucessivas:
• uma primeira rotação representada pela matriz R01, em um instante 1, onde o referencial
móvel assume O1 − x1y1z1;
• uma segunda rotação, com a qual o referencial passa para O2− x2y2z2, de acordo com a
matriz R12, em relação ao instante anterior.
A composição de sucessivas rotações é obtida pela pós-multiplicação das matrizes de ro-
tação, desde que sejam respeitadas as ordens das rotações, tendo como base a posição do refe-
rencial anterior. Utilizando as propriedades de ortonormalidade e adotando uma notação mais
geral, essa regra pode ser reescrita por:
Rij = (R
j
i)
−1 = (Rji)
T (2.38)
Vale destacar que a composição de rotações é representada sempre por um produtório de
matrizes que não é comutativo, ou seja, sua composição depende da ordem das rotações (SI-
CILIANO et al., 2009b).
2.2.6 ÂNGULOS DE EULER
É usual a utilização dos Ângulos de Euler para representar a orientação de um corpo rígido
por meio de três rotações consecutivas em torno de eixos escolhidos. Matrizes de Rotação pos-
suem uma descrição redundante para a orientação de um sistema, sendo caracterizada por nove
elementos que não são independentes, mas relacionam-se através de seis condições de ortogo-
nalidade. Com isso, três parâmetros são suficientes para descrever a orientação de um corpo
34
rígido no espaço. A representação da orientação através de três parâmetros independentes é de-
nominada representação mínima para um espaço tridimensional, que pode ser obtida utilizando
três ângulos
φ =
[
ϕ ϑ ψ
]T
(2.39)
Considerando uma Matriz de Rotação que represente uma rotação elementar em torno de um
eixo de coordenadas como função de um único ângulo, é possível obter uma Matriz de Rotação
genérica através da composição de três rotações elementares, desde que mais de uma rotação
não ocorra em torno de eixos paralelos. Com isso, SICILIANO et al. (2009b) afirma serem
possíveis 12 conjuntos de ângulos, além de outras 27 combinações. Dois desses conjuntos são
os mais utilizados, sendo comumente denominados de ZYZ e RPY (Roll-Pitch-Yaw, ou ZYX),
que encontram-se analisados a seguir.
2.2.7 ÂNGULOS ZYZ
A rotação descrita pelos ângulos de Euler de ZYZ (movido), exemplificados na figura 2.17,
pode ser obtida da composição das seguintes rotações elementares:
FIG. 2.17: Ângulos de Euler (ZYZ) (Adaptado de SICILIANO et al. (2009b))
• uma rotação do sistema de referência em um ângulo ϕ em torno do eixo z, descrita pela
matriz Rz(ϕ);
• seguida de uma rotação do novo sistema de referência em um ângulo ϑ em torno do eixo
y′ (y movido), representado pela matriz Ry′(ϑ);
35
• realizando uma terceira rotação do sistema de referência obtido em um ângulo de ψ
em torno do eixo z′′ (z movido das duas rotações anteriores), determinado pela matriz
Rz′′(ψ).
O resultado consiste na pós-multiplicação das matrizes correspondentes às rotações indi-
cadas acima, ou seja:
R(φ) = Rz(ϕ)Ry′(ϑ)Rz′′(ψ) (2.40)
A multiplicação das três rotações elementares resulta em:
R(φ) =

cϕcϑcψ − sϕsψ −cϕcϑsψ − sϕcψ cϕsϑ
sϕcϑcψ + cϕsψ −sϕcϑsψ + cϕcψ sϕsϑ
−sϑcψ sϑsψ cϑ
 =

r11 r12 r13
r21 r22 r23
r31 r32 r33
 (2.41)
onde c e s correspondem a uma notação compacta para cos e sin, respectivamente.
Considerando os elementos r13 e r23 não nulos, é possível obter os ângulos ZYZ através de:
ϕ = tan−1(r23/r13) (2.42)
ϑ = tan−1(
√
r213 + r
2
23 /r33) (2.43)
ψ = tan−1(r32/− r31) (2.44)
2.2.8 RPY (ROLL - PITCH - YAW)
Já a rotação descrita pelos os ângulos RPY, representada na figura 2.18, pode ser obtida da
composição das seguintes rotações elementares:
• uma primeira rotação em torno do eixo x do referencial absoluto, representada pela matriz
de rotação R̄x(ψ);
• seguida de uma rotação em torno do eixo y do referencial absoluto, descrito pela matriz
R̄y(ϑ); e
• de uma rotação em torno do eixo z do referencial absoluto, determinado pela matriz
R̄z(ϕ).
36
FIG. 2.18: Ângulosde Euler (RPY) (Adaptado de SICILIANO et al. (2009b))
Como as rotações ocorrem em torno do referencial absoluto, e não do referencial movido, o
resultado consiste na pré-multiplicação de Rx(ψ) pela matriz Ry(ϑ), por sua vez, pré-multiplicada
por Rz(ϕ), resultando em:
R(φ) = Rz(ϕ)Ry(ϑ)Rx(ψ) (2.45)
R(φ) =

cϕcϑ cϕsϑsψ − sϕcψ cϕsϑcψ − sϕsψ
sϕcϑ sϕsϑsψ + cϕcψ sϕsϑcψ − cϕsψ
−sϑ cϑsψ cϑcψ
 =

r11 r12 r13
r21 r22 r23
r31 r32 r33
 (2.46)
Relacionando os elementos da matriz R(φ), é possível obter a solução inversa para o pro-
blema, ou seja:
ϕ = Atan2(r21, r11) (2.47)
ϑ = Atan2(−r31,
√
r232 + r
2
33) (2.48)
ψ = Atan2(r32, r31) (2.49)
2.2.9 REPRESENTAÇÃO DA LOCALIZAÇÃO
Em todo raciocínio até então descrito considerou-se que as origens dos referenciais são
necessariamente coincidentes. Na prática, isto pode não ocorrer de fato, ou seja, pode haver
variação da posição em instantes distintos de tempos entre as origens dos referenciais.
Assim sendo, considera-se um único ponto P associado ao corpo rígido no espaço, con-
forme apresentado na figura . 2.19, onde:
• p0 é o vetor que expressa a localização desse ponto em relação ao referencial absoluto
37
O0 − x0y0z0;
• p1 o vetor que localiza o mesmo ponto em com respeito ao referencial móvel O1 −
x1y1z1;
• o01 o vetor que descreve a origem do referencial móvel O1 − x1y1z1 em relação à O0 −
x0y0z0; e
• R01 a matriz de rotação do referencial movido (1) em relação ao absoluto (0).
FIG. 2.19: Representação de um ponto em diferentes sistemas de coordenadas
Analisando a geometria do problema, a posição do ponto P em função do referencial abso-
luto pode ser expressa por:
p0 = o01 + R
0
1p
1 (2.50)
Objetivando uma representação mais compacta da relação entre as coordenadas de um
mesmo ponto em diferentes referenciais, a representação de um vetor genérico p3×1 pode ser
feita introduzindo um quarto componente unitário, passando a ser reescrito como p̃4×1, onde:
p̃ =
[
p
1
]
(2.51)
Adotando esta representação para os vetores p0 e p1, a localização expressa na EQ. 2.50
podem ser reescritas em termos de uma matriz (4 × 4), A01, podendo ser reescrita na forma
compacta:
p̃0 = A01p̃
1 (2.52)
38
onde A01 é denominada MTH- Matriz de Transformações homogêneas, com as seguintes com-
ponentes:
A01 =
[
R01 o
0
1
0T 1
]
(2.53)
É possível obter a transformação inversa através da pré-multiplicação de ambos os lados por
R01
T , de maneira que
p1 = −R01
T
o01 + R
0
1
T
p0 (2.54)
que através da relação expressa pela EQ. 2.23, pode ser reescrita como
p1 = −R10o01 + R10p0 (2.55)
Sendo assim, p1 toma a forma
p̃1 = A10p̃
0 = (A01)
−1p̃0 (2.56)
onde a matriz A10 pode ser expressa como
A10 =
[
R01
T −R01
T
o01
0T 1
]
=
[
R10 −R10o01
0T 1
]
(2.57)
Vale salientar que:
A−1 6= AT (2.58)
Como observado, a MTH expressa a localização entre dois referenciais em uma forma com-
pacta e, analogamente ao que foi demonstrado para as matrizes de rotação, também pode ser
associada a uma sequência de transformações de coordenadas através do produtório de todas
transformações.
p̃0 = A01A
1
2 . . .A
n−1
n p̃
n (2.59)
O conceito de MTH é a base para localização de múltiplos corpos rígidos no espaço tridimen-
sional. Como a cadeia cinemática serial do robô industrial, sua modelagem pode ser feita por
duas metodologias principais: utilizando a convenção de Denavit e Hartenberg (detalhada no
39
capitulo 3 dessa dissertação) ou baseada na Teoria dos Helicoides (detalhada no apêndice dessa
dissertação).
40
3 METODOLOGIA
Neste capítulo é apresentada a metodologia proposta para a modelagem cinemática e dinâmica
de robôs seriais e robôs móveis do tipo diferencial e será feita também a apresentação da no-
tação de Denavit&Hartenberg de modo a possibilitar a definição da posição e orientação de
um sistema de múltiplos corpos rígidos no espaço. Como o modelo para robôs seriais apresen-
tado não se aplica aos robôs móveis diferenciais, o equacionamento necessário para a obtenção
do modelo desse sistema robótico também será apresentada. Como a formulação da dinâmica
Lagrangeana será utilizada para descrever a dinâmica tanto do manipulador robótico quanto
do robô móvel, a mesma será apresentada ao longo desse capítulo, porém, com algumas adap-
tações devido a restrições de movimento que os robôs móveis do tipo diferencial estão sujeitos.
A dinâmica do motor DC também será apresentada, possibilitando assim obter um modelo o
mais próximo possível.
3.1 MODELAGEM DO ROBÔ MÓVEL
De acordo com CAMPION & CHUNG (2008) robôs móveis do tipo diferencial pertencem
a uma classe de sistemas mecânicos caracterizados por restrições cinemáticas que não são in-
tegráveis e não podem ser eliminadas das equações do modelo. Por conta dessa restrição, a
abordagem tradicional para modelagem dinâmica de sistemas robóticos deixa de ser aplicável
para esse tipo de robô. Para resolver esse problema surge a necessidade da adequação do equa-
cionamento para a dinâmica de sistemas robóticos. Entre várias diferentes técnicas de modela-
gem possíveis, uma adaptação da mecânica lagrangiana clássica foi usada para modelar o robô
diferencial usado nessa dissertação.
Segundo DHAOUADI & SLEIMAN (2011), para descrever a posição de um robô, dois
sistemas de coordenadas são necessários e precisam ser definidos.
41
• O primeiro sistema, chamado de sistema de coordenadas inercial, denotado como XI , YI
é fixo ao plano e responsável por guardar as coordenadas do robô em relação ao plano.
• O segundo sistema, chamado de sistema de coordenadas do robô, denotado como XrYr
é o sistema de coordenadas local do robô; sua origem se movimenta junto com o próprio
robô.
A pose do robô no sistema inercial pode ser definida como:
qI =

xa
ya
θ
 (3.1)
Onde xa e ya são as coordenadas dor robô no sistema inercial e θ a orientação do robô também
no plano inercial.
A qualquer momento esses dois sistemas de coordenadas podem ser correlacionados, para
isso, utiliza-se a relação XI = R(θ)Xr, onde
Xr =
[
xr yr θr
]T
(3.2)
XI =
[
xI yI θI
]T
(3.3)
R(θ) =

cos θ − sin θ 0
sin θ cos θ 0
0 0 1
 (3.4)
3.1.1 RESTRIÇÕES NÃO HOLONÔMICAS DE UM ROBÔ MÓVEL DO TIPO DIFEREN-
CIAL
O robô móvel diferencial tem seu movimento restrito devido ao fato de não poder se movi-
mentar lateralmente, ou seja, ele não pode se mover no sentido ortogonal ao plano de suas rodas.
Essa restrição se dá pelo fato do comportamento natural de rolagem das suas rodas não permitir
o escorregamento lateral da mesma. No sistema de coordenadas do robô isso significa dizer que
a velocidade do centro do eixo das rodas ao longo do eixo lateral é zero (Eq.:3.19).
42
Ẏ ra = 0 (3.5)
Usando a matriz de rotação R(θ) e a velocidade do robô no sistema inercial pode-se chegar
a equação 3.6:
ẋ sin θ − ẏ cos θ = 0 (3.6)
A segunda restrição, leva em consideração que nao há deslizamento entre as rodas e o chão,
essa restrição é chamada de restrição de rolagem pura e se deve ao fato da roda ter somente um
ponto de contato com o solo, como visto na figura 3.1. A velocidade do ponto de contato da
roda (P ) pode ser relacionada com a velocidade angular da roda(ϕ̇R) no sistema de coordenadas
do robô pelas Eqs. 3.7 .
FIG. 3.1: Parâmetros da roda. Fonte:Dhaouadi, Hatab.2013)

vpR = rϕ̇R
vpL = rϕ̇L (3.7)
E no sistema de coordenada inercial através das equações 3.8 e 3.9:
ẋpR = ẋa + Lθ̇ cos θ
ẎpR = ẏa + Lθ̇ sin θ (3.8)

ẋpL = ẋa + Lθ̇ cos θ
ẎpL = ẏa + Lθ̇ sin θ (3.9)
Com o auxilio da matriz de rotaçãoR(θ) (3.4), as restrições de rolagem podem ser definidas
43
de acordo com as equações 3.10:
ẋpR cos θ + ẏpR sin θ = rϕ̇R
ẋpL cos θ + ẏpL sin θ = rϕ̇L (3.10)
As equações 3.6 e 3.10 podem ser escritas na forma matricial de acordo com a matriz 3.11:
Λ(q)q̇ = 0 (3.11)
onde:
Λ(q) =

− sin θ cos θ 0 0 0
cos θ sin θ L −r 0
cos θ sin θ −L 0 −r
 (3.12)
q̇ =

ẋa
ẏa
θ̇
ϕ̇R
ϕ̇L
(3.13)
Essas matrizes são de grande importância no processo da modelagem dinâmica do veículo.
3.1.2 MODELAGEM CINEMÁTICA DO ROBÔ MÓVEL
A modelagem cinemática é necessária pois é preciso saber como as entradas do sistema
- que no caso do robô móvel diferencial são as velocidades de cada motor - irão contribuir
para a posição, velocidade e orientação do robô em relação ao sistema de coordenadas inercial.
Essas informações podem ser extraídas por meio de um conjunto de equações que são conhe-
cidas como cinemática direta, diferencial e inversa. De acordo com DUDEK et al. (2000), um
conceito importante para a formulação dessas equações é o de ICC-Instantaneous Center of
Curvature, que é o nome dado ao ponto sob o qual o robô esta rotacionando; esse ponto ne-
cessariamente está alinhado com o eixo comum às duas rodas do robô. Tanto o ICC, quanto
alguns outros parâmetros necessários para o desenvolvimento da cinemática de robôs diferen-
ciais podem ser vistos na figura 3.2.
44
FIG. 3.2: Robô diferencial
A posição do ICC pode ser escrita de acordo com a equação 3.14.
ICC = [x−R sin θ, y +R cos θ] (3.14)
A variação da velocidade das rodas pode variar a trajetória do robô; como a taxa de rotação
de ω ao redor do ICC é sempre a mesma para ambas as rodas, podemos escrever:
ω(R +
L
2
) = Vr (3.15)
ω(R− L
2
) = Vl (3.16)
onde l é a distância entre as duas rodas, Vr e Vl são as velocidades lineares das rodas direita
e esquerda respectivamente e R é a distância entre o ICC e o ponto médio entre as duas rodas.
A qualquer instante pode-se escrever as equações para determinar R, ω e V .
R =
L
2
Vl + Vr
Vr − Vl
(3.17)
45
ω =
Vr − Vl
L
(3.18)
V =
Vr + Vl
2
(3.19)
Com esse sistema de equações determinado, algumas considerações podem ser feitas:
• Quando Vr = Vl, o robô descreve um movimento em linha reta, enquanto R tende a
infinito e ω = 0;
• Quando Vr = −Vl, o robô gira em seu próprio eixo, ou seja, uma rotação em torno do
ponto central entre as duas rodas. R = 0;
• Quando Vr = 0 e Vl 6= 0, o robô passa a descrever uma rotação ao redor da roda direita,
fazendo com que R = l
2
. A mesma condição é valida para quando Vl = 0 e Vr 6= 0.
Pode-se escrever a pose do robô no instante t+ δt usando a Eq.(3.20)
x′
y′
θ′
 =

cos (ωδt) − sin (ωδ) 0
sin (ωδt) cos (ωδt) 0
0 0 1


x− ICCx
y − ICCy
θ
+

ICCx
ICCy
ωδt
 (3.20)
Todas essas equações resultam na relação entre a velocidade angular das rodas e a veloci-
dade/posição do robô. Considerando a pose de um robô, não é prático pensar nas velocidades
das rodas como entrada do sistema. Com isso surge a questão de como controlar a pose (x, y, θ)
de um robô, sem pensar em termos da velocidade angular das rodas. A cinemática inversa
tem como entrada a pose do robô e como saída as velocidades angulares das rodas. Segundo
DUDEK et al. (2000), a cinemática inversa de robôs diferenciais é definida pela equação 3.21:
x(t) = 1
2
∫ t
0
[vr(t) + vl(t)] cos(θ(t))dt
y(t) = 1
2
∫ t
0
[vr(t) + vl(t)] sin(θ(t))dt
θ(t) = 1
l
∫ t
0
[vr(t)− vl(t)]dt
(3.21)
Robôs diferenciais possuem restrições que impedem o contole direto de sua pose(x, y, θ). Al-
guns casos especiais permitem simplificações que permitem o controle da pose do robô, os
quais serão apresentados a seguir.
46
• Quando vr = vl = v, a seguinte equação se torna válida:
x′
y′
θ′
 =

x+ v cos (θ)δt
y + v sin (θ)δt
θ
 (3.22)
• Quando vr = −vl = v:

x′
y′
θ′
 =

x
y
θ + 2vδt
l
 (3.23)
3.1.3 MODELAGEM DINÂMICA DO ROBÔ MÓVEL
Como na seção anterior as forças que atuam sobre o robô móvel não foram necessárias para
o cálculo da cinemática, as mesmas precisam ser consideradas nesse capítulo. O estudo dessas
forças é essencial para a análise do movimento, comportamento dinâmico e também para o
desenvolvimento de algoritmos de controle para esses sistemas. Um robô não holonômico do
tipo diferencial com n coordenadas generalizadas (q1, q2..., qn) e sujeito a m restrições pode ser
descrito por meio da equação 3.24.
M(q)q̈ + V (q, q̇)q̇ + F (q̇) +G(q) + τd = B(q)τ − ΛT (q)λ (3.24)
Onde: M(q) é uma matriz simétrica n× n definida como matriz de inércia, V (q, q̇) a matriz de
forças centrípetas e Coriolis, F (q̇) a matriz que contem os atritos, G(q) o vetor gravitacional,
τd é o vetor de pertubações do sistema, B(q) é a matriz de entradas do sistema, τ o vetor de
entradas, ΛT a matriz que relaciona as restrições cinemáticas mostradas no capítulo anterior e
λ é o vetor com os multiplicadores de Lagrange.
Como dito anteriormente, dentro de diferentes abordagens possíveis a dinâmica de Lagrange
foi escolhida para a modelagem dinâmica desse robô. Essa escolha se deu pelo fato de ser
uma técnica que, embora precise ser modificada para poder tratar as restrições cinemáticas do
modelo, ainda se mostra uma solução viável e confiável. Além disso é amplamente difundida
na literatura, o que facilita futuros aperfeiçoamentos. Esse método, introduzido por Lagrange
em 1788, leva em consideração as energias cinéticas e potenciais do sistema e pode ser escrita
de acordo com a Eq.(3.25)
47
d
dt
(
∂L
∂q̇i
)
− ∂L
∂qi
= F − ΛT (q)λ (3.25)
Onde L = T − V é a função de Lagrange. T é a energia cinética do sistema, V a energia
potencial, qi as coordenadas generalizadas, F o vetor das forças generalizadas, Λ a matriz com
as restrições cinemáticas e λ o vetor com os multiplicadores de Lagrange associados com as
restrições. Com isso, o próximo passo para obtenção do modelo dinâmico do robô diferencial
é obter as energias cinética e potencial a qual o modelo está sujeito. Como o robô se move no
plano XI , YI a energia gravitacional pode ser considerada nula, ou seja, V = 0.
As coordenadas generalizadas do sistema são definidas como:
q =
[
xa ya θ ϕR ϕL
]T
(3.26)
A energia cinética do robô é a soma da energia cinética do corpo do robô, com a energia
cinética de cada um dos dois sistema de locomoção. Sendo elas definidas pelas equações 3.27,
3.28 e 3.29
Tc =
1
2
mcv
2
c +
1
2
Icθ̇
2 (3.27)
TwR =
1
2
mwv
2
wR +
1
2
Imθ̇
2ϕ̇2R (3.28)
TwL =
1
2
mwv
2
wL +
1
2
Imθ̇
2ϕ̇2L (3.29)
onde mc é a massa do robô sem os sistemas de locomoção (motores e rodas), mw é a massa
de cada sistema de locomoção, Ic é o momento de inércia do robô em relação ao eixo vertical
através do centro de inércia, Iw é o momento de inércia de cada locomoção e Im é o momento
de inércia de cada roda. vc é a velocidade ro robô e vwR, vwL são as velocidades da roda direita
e esquerda respectivamente. Todas as velocidades foram nesse primeiro momento escritas em
função das coordenadas generalizadas; a equação 3.30 é usada para descrever as velocidades no
sistema de coordenadas inerciais.
v2i = ẋ
2
i + ẏ
2
i (3.30)
As componentes x e y(no sistema de coordenadas inercial) do centro de massa do robô e
48
das rodas podem ser obtidas em termo das coordenadas generalizadas como:xc = xa + d cos θyc = ya + d sin θ (3.31)
xwR = xa + L cos θywR = ya + L cos θ (3.32)xwL = xa + L cos θywL = ya + L cos θ (3.33)
Pode-se reescrever as equações acima com o auxilio das equações 3.27, 3.28 e 3.29 da
forma:
T =
1
2
m(ẋ2a + ẏ
2
a)−mcdθ̇(ẏa cos θ − ẋa sin θ) +
1
2
Iw(ϕ̇
2
R + ϕ̇
2
L) +
1
2
Iθ̇2 (3.34)
Onde m = mc + 2mw é a massa total do robô e I = Ic +mcd2 + 2mwL2 + 2Im é a inércia
total do sistema.
Usando a equação 3.25 e fazendo L=T, pode-se escrever as equações de movimento do robô
como:

mẍa −mdθ̈ sin θ −mdθ̇2 cos θ = C1
mÿa −mdθ̈ cos θ −mdθ̇2 sin θ = C2
Iθ̈ −mdẍa sin θ +mdÿa cos θ = C3
Iwϕ̈R = τR + C4
Iwϕ̈L = τL + C5
(3.35)
Onde (C1, C2, C3, C4eC5) são as funções relacionadas com as restrições cinemáticas, e po-
49
dem ser escritos em termos dos multiplicadores de Lagrange λ:
ΛT =

c1
c2
c3
c4
c5

(3.36)
Com isso, o sistema pode ser escrito na forma geral dada pela equação 3.24, como Eq. 3.37:
M(q)q̈ + V (q, q̇)q̇= B(q)τ − ΛT (q)λ (3.37)
onde:
M(q) =

m 0 −md sin θ 0 0
0 m md cos θ 0 0
−md sin θ md cos θ I 0 0
0 0 0 IwR 0
0 0 0 0 IwL

(3.38)
V (q, q̇) =

0 −mdθ̇ cos θ 0 0 0
0 −mdθ̇ sin θ 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0

(3.39)
B(q) =

0 0
0 0
0 0
1 0
0 1

(3.40)
50
ΛT (q)λ =

− sin θ cos θ cos θ
cos θ sin θ sin θ
0 L −L
0 −r 0
0 0 −r

×

λ1
λ2
λ3
λ4
λ5

(3.41)
3.2 MODELAGEM DINÂMICA DO MOTOR DC
A modelagem de um motor DC é amplamente difundida em livros sobre robótica. Segundo
TSAI (1999a) a mesma pode ser escrita como na Eq.3.42: L
di
dt
+Ri +Kωφ̇ = E
Isφ̈−Kti+ νφ̇− τ = 0
(3.42)
Onde i é a corrente, E a tensão da armadura do motor, R e L são respectivamente a re-
sistência e a indutância da armadura do motor, enquanto Is é a inércia do eixo do motor,φ̇ é a
velocidade angular do motor, ν o coeficiente de atrito viscoso, τ a carga dinâmica aplicada no
motor, Kt a constante de torque e Kw a constante de tensão.
Através da observação do comportamento dinâmico do motor elétrico, pode-se concluir que
a constante elétrica L
R
é muito menor do que a constante mecânica I
ν
. Considerando L = 0,
um modelo reduzido para a dinâmica do motor pode ser escrito. A primeira equação em 3.42
pode ser reduzida de acordo com a eq. 3.43. Assim é possível reescrever a primeira equação da
dinâmica do motor 3.42 na forma:
i =
E −Kwφ̇
R
(3.43)
onde o i pode ser substituído na segunda equação do motor 3.42, o que fornece o modelo
reduzido representado na equação 3.44
Isφ̈+ (
KtKw
R
+ ν)φ̇− Kt
R
E = τ (3.44)
51
3.3 MODELAGEM DO ROBÔ SERIAL
Da mesma forma como a modelagem do robô móvel se faz necessária para a conclusão dos
objetivos dessa dissertação, a modelagem do sistema robótico serial também se faz necessária,
visando obter as posições, velocidade e acelerações do sistema a todo momento. Como a fer-
ramenta do robô é o elemento que efetivamente realizará a tarefa, é importante conhecer a
sua localização em função da variação dos atuadores. Assim são apresentados os modelos
matemáticos usualmente empregados para este fim.
3.3.1 MODELAGEM CINEMÁTICA
Um conceito teórico fundamental da Robótica é a modelagem cinemática de manipulados
através da convenção desenvolvida por Jacques Denavit e Richard Hartenberg, denominada
metodologia de Denavit e Hartenberg. A cinemática constitui um ramo da Física voltado para
o estudo dos movimentos sem considerar suas causas, o que possibilita o estudo da posição,
velocidade e aceleração como funções do tempo a eles associado. Para um manipulador, esta
análise pode ser feita em relação às juntas ou em relação à ferramenta, podendo ser divida,
segundo SICILIANO et al. (2009), em:
1. cinemática direta: cujo objetivo é determinar a posição da ferramenta em relação ao refe-
rencial absoluto, tendo como parâmetros as variáveis de juntas;
2. cinemática inversa: onde, a partir da localização conhecida do efetuador final, determina-
se as variáveis das juntas.
Nessa seção será mostrada toda a sistemática por trás da convenção de D&H. Os conceitos
para a a obtenção da cinamética direta e inversa através da metodologia de D&H por ser tópico
amplamente difundido, podem ser revistos em SICILIANO et al. (2009b). Já a metodologia
para a obtenção da cinemática direta e inversa através do método dos helicoides sucessivos
pode ser encontrada no capítulo de apêndices dessa dissertação.
3.3.2 CONVENÇÃO DE DENAVIT-HARTENBERG PARA A MODELAGEM CINEMÁ-
TICA DE MANIPULADORES SERIAIS
Esta seção apresenta a sistematização da modelagem cinemática de robôs seriais utilizando
a convenção de Denavit-Hartenberg para cadeias cinemáticas abertas. Essa técnica de mode-
lagem, assim como diversas outras, tem o objetivo de relacionar sistemas de eixos cartesianos
52
valendo-se de produtórios de matrizes de transformações homogêneas que utilizam quatro pa-
râmetros (a, d, α, θ) conhecidos como parâmetros de Denavit-Hartenberg, de modo a localizar
a posição e orientação da ferramenta em relação ao referencial absoluto. Essa metodologia pro-
posta por Jacques Denavit e Richard Hartenberg, mesmo sendo introduzida em 1955, ainda é
uma das técnicas de modelagens mais usadas e aceitas pela comunidade acadêmica até os dias
de hoje. A modelagem através da metodologia do deslocamento dos Helicoides sucessivos tam-
bém é apresentada no apêndice dessa dissertação, comprovando que independente do método
utilizado, as equações que regem a cinemática do modelo têm o mesmo resultado.
Esta convenção tem como objetivo apresentar regras para se definir a posição e orientação
relativa entre dois elos consecutivos ligados por uma junta, ou seja, um par cinemático. Assim
sendo, o movimento relativo entre pares cinemáticos é definido em função da:
1. escolha de um eixo alinhado ao referencial i − 1 e uma translação di ao longo do eixo
zi−1 do referencial escolhido;
(
Ai−1i′
)
Translação =

1 0 0 0
0 1 0 0
0 0 1 di
0 0 0 1
 (3.45)
2. seguida por uma rotação ϑi em torno do eixo zi−1. Essa primeira sequência de movimen-
tações alinha o referencial atual ao referencial i′
(
Ai−1i′
)
Rotação =

cϑi −sϑi 0 0
sϑi cϑi 0 0
0 0 1 0
0 0 0 1
 (3.46)
de maneira que sua transformação pode ser descrita na forma homogênea através do pro-
duto dessas duas matrizes
53
Ai−1i′ =

1 0 0 0
0 1 0 0
0 0 1 di
0 0 0 1


cϑi −sϑi 0 0
sϑi cϑi 0 0
0 0 1 0
0 0 0 1
 =

cϑi −sϑi 0 0
sϑi cϑi 0 0
0 0 1 di
0 0 0 1
 (3.47)
3. Logo após uma nova translação ai agora alinhada com o referencial i′ ao longo de xi′
(
Ai
′
i
)
Translação
=

1 0 0 ai
0 1 0 0
0 0 1 0
0 0 0 1
 (3.48)
4. e uma outra revolução αi em torno do mesmo eixo xi′
(
Ai
′
i
)
Rotação
=

1 0 0 0
0 cαi −sαi 0
0 sαi cαi 0
0 0 0 1
 (3.49)
Esta segunda sequência alinha o corrente referencial ao referencial i e é descrito pela
seguinte MTH
Ai
′
i =

1 0 0 ai
0 1 0 0
0 0 1 0
0 0 0 1


1 0 0 0
0 cαi −sαi 0
0 sαi cαi 0
0 0 0 1
 =

1 0 0 0
0 cαi −sαi ai
0 sαi cαi 0
0 0 0 1
 (3.50)
O resultado dessa transformação de coordenadas é obtido pela pós-multiplicação de todas
transformações
54
Ai−1i (qi) =

cϑi −sϑicαi sϑisαi aicϑi
sϑi cϑicαi −cϑisαi aisϑi
0 sαi cαi di
0 0 0 1
 (3.51)
Vale salientar que a matriz de transformação da Eq. 3.51 é função de uma única variável qi
que é ϑi para juntas de revolução e di para as de translação.
FIG. 3.3: Parâmetros de DH (Adaptado de SICILIANO et al. (2009b))
A notação de D-H é apresentada na forma de uma série de etapas que possibilitam a deter-
minação dos parâmetros de Denavit-Hartenberg e sua posterior utilização na composição das
Matrizes de Transformação Homogêneas.
ETAPAS PARA A DETERMINAÇÃO DOS PARÂMETROS DE DENAVIT-HARTENBERG
1. identificar elos, juntas e eixos: numerar os elos de 0 (base) até n (efetuador-final); juntas
são numeradas de 1 até n, sabendo que a junta i conecta os elos i− 1 e i; escolher o eixo
zi sobre o eixo da junta i+ 1, para i = 0, ..., n− 1.
55
2. determinar o sistema de coordenadas absoluto 0 (zero): O0 é definido sobre a direção
do eixo z0, na menor distância entre z0 e z1. Logo, quando z0⊥z1, O0 estará na interseção
dos dois eixos. Quando não for possível utilizar essa regra, coincidir O0 com a interseção
do eixo z0 com a base do robô; escolher o sentido de z0 sempre da base para a junta 1 e
x0 e y0 seguindo a regra da mão direita.
Os passos de 3 a 6 a seguir devem ser repetidos para i = 1, ..., n− 1.
3. determinação do pontoOi′: determinar o pontoOi′ (sistema linha) na interseção do eixo
zi−1 e a junta i com a normal comum dos eixos zi−1 e zi, observando se, zi for colinear a
zi−1 e a junta i + 1 for de translação, definir Oi′ no limite da junta i + 1, e.g. na posição
de zero da junta (Home).
4. determinação do sistemaOi: determinar a origem do sistema de coordenada Oi na
interseção do eixo zi com a normal comum aos eixos zi−1 e zi, observando-se: (1) zi−1 ‖
zi, e a junta i for de rotação, escolher Oi, tal que di = 0 (Ou seja, a coordenada de Oi′
sobre o eixo zi−1); (2) zi−1 ‖ zi, e a junta i for de translação, escolher Oi em uma posição
de limite de junta, e.g. na posição de zero da junta (home).
56
5. determinação dos eixos xi e yi: escolher o eixo xi sobre a normal comum aos eixos
zi−1 e zi. Se zi−1 for colinear a zi adotar xi de forma que fique no mesmo sentido do
adotado nesta direção pelo referencial da base; escolher o eixo yi obedecendo a regra da
mão direita;
6. determinação dos eixos xi′ e yi′ do sistema linha: determinar zi′ e xi′ , sabendo que zi′
é colinear a zi−1, e xi′ a xi;
7. determinação do sistema n: definir o sistema n da seguinte forma:
• o ponto On se encontra no TCP - ool center point do robô;
• determinar o eixo zn, de forma que o efetuador-final ataque o objeto alvo;
• determinar xn e yn conforme o passo 5;
57
8. definição dos parâmetros de DH: definir os quatro parâmetros de Denavit-Hartenberg
construindo uma tabela para i = 1, ..., n, onde:
• ai - distância entre Oi e Oi′;
• αi - ângulo entre os eixos zi−1 e zi em torno do eixo xi;
• di - coordenada de Oi′ sobre o eixo zi−1, e;
• ϑi - ângulo entre os eixos xi−1 e xi em torno do eixo zi−1.
É importante ressaltar que dentre os 4 parâmetros, 2 são sempre constantes (ai e αi), os
outros dois, um deles vai variar de acordo com o tipo de junta que conecta o elo i− 1 ao elo i,
enquanto o outro fica constante, ou seja:
• Se junta i for de rotação, o parâmetro variável é ϑi, tendo um parâmetro fixo, calculado
pela regra do passo 8, e um adicional de θi que representa a rotação da junta i.
• Se junta i for prismática, o parâmetro variável é di, tendo um valor fixo, calculado pela
regra do passo 8, e um adicional de ti que representa a translação de junta i.
Em seguida, determina-se o produtório das MTH de cada junta para a determinação da
localização do último elo em função do movimento de cada junta. De forma genérica, tem-se:
T 0n = A
0
1(q1)A
1
2(q2)...A
i
i−1(qi)...A
n−1
n (qn) (3.52)
onde n é o número de juntas do robô.
58
Também é facultativo determinar uma MTH T ne entre o efetuador final e a última junta,
comum em manipuladores seriais, assim como uma MTH T b0 (q) que desloque o referencial do
robô de um referencial absoluto. Com isso, tem-se que:
T be (q) = T
b
0 (q)T
0
n(q)T
n
e (q) (3.53)
Para ilustrar esta sistematização, nas seções seguintes são apresentadas as modelagens para
os cinco tipos de manipuladores seriais.
3.3.3 MODELAGEM DINÂMICA DO MANIPULADOR SERIAL DE 2 GDL
A dinâmica do manipulador pode ser descrita em termos da taxa de variação da configu-
ração do braço em relação aos torques exercidos nas juntas pelos motores. Esta relação pode
ser expressa por um conjunto de equações diferenciais, também conhecidas por equações de
movimento, que determinam a resposta dinâmica do braço para valores de torques nas juntas.
Entre muitos métodos sugeridos na literatura, dois métodos se destacam para obter as equações
de movimento: Newton-Euler e Euler-Lagrange. A formulação Newton-Euler tem origem na
interpretação direta da Segunda Lei de Newton, que descreve sistemas dinâmicos em termos
de força e momento. As equações levam em consideração todas as forças e momentos atuando
nos elos individuais do braço, incluindo as forças de acoplamento e momentos entre os elos.
As equações também incluem as forças de restrição que atuam entre elos adjacentes, sendo
assim necessárias operações aritméticas adicionais para eliminar esses termos e chegar a re-
lações explícitas entre os torques das juntas e do movimento resultante do deslocamento das
juntas. Já na formulação de Euler-Lagrange, o comportamento dinâmico do sistema é descrito
em termos do trabalho e da energia por meio de coordenadas generalizadas. Todas as forças
sem trabalho e as forças de restrição são automaticamente eliminadas. As equações resultantes
são geralmente compactas e fornecem uma expressão de forma fechada em termos de torques
e deslocamentos das juntas. Além disso, a derivação é mais simples e sistemática do que no
método Newton-Euler.
Levando em consideração que o manipulador serial irá ter movimento somente quando a
base do robô estiver completamente estabilizada e imóvel, e também considerando que a massa
do robô móvel é muito maior do que a do manipulador serial, a dinâmica do mesmo pode ser
modelada de forma isolada. Entre os dois métodos citados anteriormente, a formulação de
Euler-Lagrange foi usada para modelar a dinâmica do sistema proposto nesse trabalho.
59
FIG. 3.4: Manipulador móvel dois graus de liberdade
Considerando o manipulador plano da Figura 3.4, o braço manipulador é posicionado no
plano x-y e a equação cinemática que relaciona a posição do efetuador (x,y) ao deslocamento
das juntas (θ1 θ2) é dada pelas equações 3.54.
x(θ1, θ2) = l1 cos(θ1) + l2 cos(θ1 + θ2)
y(θ1, θ2) = l1 sin(θ1) + l2 sin(θ1 + θ2)
(3.54)
O Jacobiano: Para deslocamentos infinitesimais do efetuador (ponto localizado na extremi-
dade final do manipulador) deriva-se parcialmente a equação3.54 em função dos deslocamentos
das juntas (θ1 θ2), formando a matriz que representa a relação infinitesimal entre o desloca-
mento da junta e a localização do efetuador. A matriz Jacobiano do manipulador J é obtida pela
equação eq.3.55
[
−l1 sin(θ1)− l2 sin(θ1 + θ2) −l2 sin(θ1 + θ2)
l1 cos(θ1) + l2 cos(θ1 + θ2) l2 cos(θ1 + θ2)
]
(3.55)
Considerando o instante onde as duas juntas do manipulador plano de 2 graus de liberdade
movem-se com velocidades θ̇ = [θ̇1, θ̇2], e sendo v = [ẋ, ẏ] o resultado do vetor velocidade
resultante do efetuador. O Jocobiano representa a relação entre a velocidade das juntas e o
resultado das velocidades do efetuador, assim como relação da posição infinitesimal.
Velocidade dos centroides:
Pode-se escrever a velocidade dos centroides através das equações 3.56 e 3.57
60
Vc1 =
[
ẋc1
ẏc1
]
=
[
−lc1 sin(θ1)θ̇1
lc1 cos(θ1)θ̇1
]
(3.56)
Vc2 =
[
ẋc2
ẏc2
]
=
[
−l1 sin(θ1)θ̇1 − lc2 sin(θ1 + θ2)θ̇1 − lc2 sin(θ1 + θ2)θ̇2
−l1 cos(θ1)θ̇1 − lc2 cos(θ1 + θ2)θ̇1 − lc2 cos(θ1 + θ2)θ̇2
]
(3.57)
Energia Cinética:
T =
1
2
m1|Vc1|2 +
1
2
I1ω
2
1 +
1
2
m2|Vc2|2 +
1
2
I2ω
2
2 (3.58)
Onde |Vc1|2 e |Vc2|2 são os quadrados dos módulos das velocidades lineares dos centroides
de cada elo.
|Vc1|2 = l2c1θ̇1
2
(3.59)
|Vc2|2 = l2c1θ̇1
2
+ l2c2(θ̇1 + θ̇2)
2 (3.60)
ω1 e ω2 são as velocidades angulares de cada elo, dadas pelas equações abaixo.
ω1 = θ̇1 (3.61)
ω2 = θ̇1 + θ̇2 (3.62)
Os efeitos das massas de cada elo atuam nos eixos das juntas. Cada elo tem sua influência
sobre cada junta e a matriz tensor de inércia H incorpora todas as massas características da
formação do braço. A matriz tensor de inércia é uma matriz simétrica onde seus elementos são
determinados nas equações abaixo;
H12 = m2l
2
c2 +m2l
2
c2 + l1 cos(θ2)] + I2 (3.63)
H12 = m2l
2
c2 +m2l
2
c2 + l1 cos(θ2)] + I2 (3.64)
H21 = m2l
2
c2 +m2l
2
c2 + l1 cos(θ2)] + I2 (3.65)
61
H22 = m2l
2
c2 + I2; (3.66)
Após a determinação dos elementos da matriz H, pode-se reescrever a equação 3.97 da
seguinte forma:
T =
1
2
H11θ̇1
2
+H12θ̇1θ̇2 +
1
2
H22θ̇2
2
(3.67)
Com os elementos da equação 3.67 determinados anteriormente dá-se início ao cálculo da ener-
gia potencial inerente ao sistema.
Energia Potencial: A energia potencial do braço é dada pela equação 3.68
U = m1glc1 sin(θ1) +m2g[l1 sin(θ1 + lc2) sin(θ1 + θ2)] (3.68)
Efeitos Gravitacionais: Derivando parcialmente a energia potencial obtêm-se os termos rela-
tivos aos efeitos gravitacionais dados nas equações 3.75.
G1 = m1glc1 cos(θ1) +m2g[l1 cos(θ1 + lc2) cos(θ1 + θ2)] (3.69)
G2 = m2glc2 cos(θ1 + θ2) (3.70)
A partir dos cálculos anteriores pode-se determinar o Lagrangeano do manipulador plano
de 2 graus de liberdade da pela equação 3.71.
L = (θ1,θ̇1, θ2, θ̇2) = T − U (3.71)
Derivando o Lagrangeano em relação ao tempo, como mostra a equação 3.72, encontramos
as forças generalizadas correspondentes as juntas.
d
dt
=
∂L
∂θ̇i
− ∂L
∂θi
= Qi (3.72)
Onde pode-se destacar por meio das derivadas para cada elo os efeitos centrífugos e de
Coriolis apontados abaixo.
Para o elo 1:
d
dt
=
∂L
∂θ̇i
+G1 = Q1 (3.73)
62
d
dt
=
∂L
∂θ̇1
= H11θ̈1 +H12θ̈2 − h1(θ̇2
2
+ θ̇1θ̇2)−−h1(θ̇2
2
+ θ̇1θ̇2) (3.74)
onde:
h1 = m2l1lc2 sin(θ2) (3.75)
Para o elo 2:
d
dt
=
∂L
∂θ̇i
+G2 = Q2 (3.76)
d
dt
=
∂L
∂θ̇2
= H12θ̈1 +H22θ̈2 − h1(θ̇1θ̇2) (3.77)
3.4 MODELAGEM DO SISTEMA BASE + MANIPULADOR ACOPLADOS
Considerar a manipulação e o movimento do manipulador móvel como problemas indi-
viduais torna a tarefa de criar o controle do sistema mais fácil (YAMAMOTO; YUN, 1999).
Tipicamente o movimento do manipulador serial pode ser controlado de maneira mais precisa
do que o movimento da base móvel, com isso, o tipo mais comum de manipulação móvel en-
volve movimentar a base até o local desejado, frenar a mesma, realizar as tarefas desejadas com
o manipulador serial e então movimentar novamente a base para a próxima posição desejada.
(Lynch and Park)
Entretanto, diversas vezes é vantajoso ou até mesmo necessário que o movimento do efetu-
ador do robô seja alcançado com a combinação entre os movimentos da base e do manipulador
serial. Para possibilitar isso, definem-se 4 referenciais, onde:
1. S define o referencial global;
2. B o referencial do robô móvel;
3. O é o referencial da base do manipulador serial; e
4. E o referencial do atuador final (garra).
X(q, θ) = Tse(q, θ) = Tsb(q)TbOTOe(θ) (3.78)
63
Onde θ é o conjunto de variáveis de junta do sistema acoplado, TOe(θ) é a MTH oriunda da
obtenção da cinemática direta do manipulador serial, TbO é o offset entre o referencial O a partir
do referencial B, q = (θ, x, y) é a configuração planar da base móvel e
Tsb(q) =

cos(θ) − sin(θ) 0 x
sin(θ) cos(θ) 0 y
0 0 1 z
0 0 0 1
 (3.79)
onde z é a constante que indica a altura do referencial B em relação ao referencia S.
Técnicas de Whole Body Control desenvolvidas em NAGASAKA et al. (2010) são técnicas
que demostram grande eficiência.A tecnica GID - (Generalized Inverse Dynamics) considerada
uma das formas mais efetiva de controle que conforme resultados de simulações propicia au-
mento na capacidade da interação física de um robô. Já a IJU (Idealized Joint Unit) permite
uma resposta mais precisa em relação ao torque. A aplicação destas técnicas tem por objetivo
controlar o manipulador móvel considerando o mesmo como um único manipulador frente às
suas restrições não holonômicas.
3.4.1 CINEMÁTICA ACOPLADA DO SISTEMA ROBÓTICO BASE MÓVEL - MANIPU-
LADOR
Considerando as colocações de (YAMAMOTO; YUN,1999), o controle do sistema robótico
proposto é feito através do controle dos dois sistemas de forma desacoplada, onde em um
primeiro momento a cinemática do conjunto base móvel + manipulador serial é resolvida como
sistema acoplado e em um segundo momento, a saída de dados da cinemática inversa (sistema
acoplado) é utilizada como entrada para as malhas de controle dos sistemas da base móvel e do
manipulador serial de forma desacoplada
Para a obtenção da cinemática do sistema acoplado, pode-se considerar o manipulador
móvel como a união de 5 juntas, sendo duas esféricas e uma rotacional pertencente a base
móvel e duas juntas rotacionais pertencentes ao manipulador serial. Dessa forma o sistema
pode ser modelado na configuração: P⊥P⊥R‖R‖R, assim como na figura 3.5.
64
FIG. 3.5: Esquemático Manipulador móvel.
3.4.2 TABELA COM OS PARÂMETROS DE DH
TAB. 3.1: Parâmetros de Denavit Hartenberg
Ji a α d θ
J1 0 −π2 x 0
J2 0 −π2 y 0
J3 0 0 0 θb
J4 0 0 0 θ1
J5 0 0 0 θ2
3.4.3 MATRIZES DE TRANSFORMAÇÃO HOMOGÊNEA
T 0b =

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
 (3.80)
65
T 01 =

1 0 0 0
0 0 1 0
0 −1 0 d1 + x
0 0 0 1
 (3.81)
T 12 =

1 0 0 0
0 0 1 0
0 −1 0 d2 + y
0 0 0 1
 (3.82)
T 23 =

cos (θb + d3) − sin (θb + d3) 0 0
sin (θb + d3) cos (θb + d3) 0 0
0 0 1 0
0 0 0 1
 (3.83)
T 34 =

cos (θ1 + d4) − sin (θ1 + d4) 0 0
sin (θ1 + d4) cos (θ1 + d4) 0 0
0 0 1 0
0 0 0 1
 (3.84)
T 45 =

cos (θ2 + d5) − sin (θ2 + d5) 0 0
sin (θ2 + d5) cos (θ2 + d5) 0 0
0 0 1 0
0 0 0 1
 (3.85)
T 5f =

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
 (3.86)
Tr =

cos (θ1 + θ2 + θb + d3 + d4 + d5) − sin (θ1 + θ2 + θb + d3 + d4 + d5) 0 0
− sin (θ1 + θ2 + θb + d3 + d4 + d5) − cos (θ1 + θ2 + θb + d3 + d4 + d5) 0 d2 + y
0 0 −1 d1 + x
0 0 0 1

(3.87)
66
3.4.4 RESULTADO DA CINEMÁTICA DIRETA EM HOME
T1 =

1 0 0 0
0 0 1 0
0 −1 0 x
0 0 0 1
 (3.88)
T2 =

1 0 0 0
0 0 1 0
0 −1 0 y
0 0 0 1
 (3.89)
T3 =

cos (θb) − sin (θb) 0 0
sin (θb) cos (θb) 0 0
0 0 1 0
0 0 0 1
 (3.90)
T4 =

cos (θ1) − sin (θ1) 0 0
sin (θ1) cos (θ1) 0 0
0 0 1 0
0 0 0 1
 (3.91)
T5 =

cos (θ2) − sin (θ2) 0 0
sin (θ2) cos (θ2) 0 0
0 0 1 0
0 0 0 1
 (3.92)
Tf =

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
 (3.93)
Tr =

cos (θ1 + θ2 + θb) − sin (θ1 + θ2 + θb) 0 0
− sin (θ1 + θ2 + θb) − cos (θ1 + θ2 + θb) 0 y
0 0 −1 x
0 0 0 1
 (3.94)
67
3.5 OBTENÇÃO DE TRAJETÓRIA
O requisito básico de um manipulador é que o mesmo seja capaz de se mover de uma
postura inicial até uma outra determinada. Entre os dois estados são adotadas diversas posturas
na base do tempo e essa transição pode ser caracterizada por leis de movimento que demandam
que os atuadores exerçam nas juntas do robô um conjunto de forças generalizadas que não
violem seus limites de saturação (SICILIANO et al., 2009b). A trajetória corresponde a um
caminho definido em função do tempo, associando ao movimento as grandezas da velocidade
e/ou aceleração em cada ponto.
De forma a otimizar o deslocamento de robôs móveis, diversas técnicas de obtenção de
trajetória foram desenvolvidas, e o rápido aumento da capacidade de processamento dos com-
putadores possibilitou um grande avanço na otimização e no planejamento dessas trajetórias.
O método para obtenção de trajetórias baseado em técnicas de PSO - Particle Swarm Opti-
mization demostra grande eficácia ao determinar a melhor solução para robôs móveis do tipo
diferencial, sendo o mesmo de fácil implementação, rápida convergência e poucos parâmetros
a serem ajustados.
3.5.1 OBTENÇÃO DE TRAJETÓRIA DA BASE MÓVEL
O primeiro problema de planejamento de trajetória foi abordado por Dubins em 1957, onde
os autores tinham o objetivo de encontrar o menor caminho entre um ponto inicial A até um
ponto final B não levando em consideração a presença de obstáculos. Já em 1996, Santilli
e Laumond usaram a mesma abordagem de Dubins para o problema acima, mas incluíram
obstáculos no ambiente. Para resolver esse problema, essa dissertação faz o uso da técnica
denominada PSO - Particle Swarm Optimization , que explora todas as soluções possíveis para
o problema da obtenção de trajetória e encontra a que leva o robô de um ponto A a um ponto B
através do menor caminho possível.
O algoritmo PSO é um método evolucionário proposto por Kennedy e Eberhart (1995) que
utiliza conceitos de otimização por enxames. Segundo Colaço et al. (2006) a ideia original deste
método veio da observação do comportamento social de populações de pássaros buscando um
local ideal para se aninhar. O método visa equilibrar a individualidade e a sociabilidade da po-
pulação para encontrar o local ótimo. Quando a individualidade aumenta, consequentemente a
procura por locais alternativos para o aninhamento cresce. Entretanto, quando a individualidade
da população fica muito alta, os indivíduos podem nunca encontrar o melhor local. Por outro
68
lado, quando a sociabilidade da população é aumentada, o indivíduo aprende mais com a expe-
riência do vizinho e tende a não buscarnovos locais para aninhar-se. Porém, se a sociabilidade
fica muito alta, todos os indivíduos podem convergir para o primeiro local de mínimo encon-
trado, que possivelmente seja um mínimo local. Assim, no PSO, as partículas ou indivíduos
de uma população, são constantemente melhoradas graças a experiência de partículas vizinhas,
mas também permitindo que cada partícula busque novas soluções que podem ser melhores que
a solução das outras partículas. Neste método as partículas responsáveis pelo melhor valor da
função objetivo daquela posição (pbest) e da história (gbest) são armazenadas e a cada iteração
k varia-se a velocidade das partículas para tender a pbest e gbest, de forma que:
Xk+1i = X
k
i + V
k+1
i (3.95)
V ik+1 = αV ik + β1r1, i(pbest−Xik) + β2r2, i(gbest−Xik) (3.96)
Parâmetros: α em (0,1) e β1 e β2 ∈ (1,2);
Dados: n , ∈
Passo 1: Criação da população
Inicializar vetor de n partículas de dimensão D com valores aleatórios dentro do
intervalo de restrição.
Passo 2: Avaliar a função objetivo de dimensão D para cada partícula
Caso a função objetivo da partícula seja a melhor daquela posição, armazená-la em
pbest. Caso seja a melhor entre todas as partículas da história, armazená-la também
em gbest. Se gbest < ∈, parar o algoritmo.
Passo 3: Mudar a velocidade de cada partícula Calcular aleatoriamente valores de r1 e
r2 ∈ (0, 1) e calcular a velocidade de cada partícula pela Eq.3.96
Passo 4: Alterar os valores de cada partícula
Utilizar a Eq. 3.95 para atualizar os valores de cada partícula e voltar para o Passo 2.
Levando em consideração o algoritmo acima, e sabendo que (Xg,Yg) e (Xo,Yo) são as coor-
denadas do ponto de destino e a de um obstáculo qualquer respectivamente, o próximo passo é
a obtenção da função objetivo, que para o problema proposto pode ser dada pela equação 3.97
f(pi) = α1
1
|pi −Omin|
+ α2 ∗ |pi −G| (3.97)
Na relação apresentada na eq. 3.97, o valor absoluto da distância entre dois pontos pode ser
representado de acordo com a eq.3.98
69
|pi −Omin| =
√
(Xpi − Ypi)2 + (Xomin − Yomin)2 (3.98)
A figura 3.6 mostra a trajetória ótima para o robô sair do ponto 1 demarcada com um X
na figura e ir até a posição 2, demarcada por um losango. Para isso o algoritmo de otimização
levou em consideração e evitou a rota onde os 4 obstáculos mostrado pelos círculos na figura
estavam localizados.
FIG. 3.6: Simulação Matlab
3.5.2 OBTENÇÃO DE TRAJETÓRIA DO ROBÔ SERIAL
Segundo SICILIANO et al. (2009b), o planejamento consiste na geração de uma sequência
de valores obtidos através de uma função geralmente polinomial para a trajetória desejada e,
para isso, é necessário considerar três tipos de restrições:
• Espaciais: o ponto inicial e o ponto final do caminho;
• Temporais: duração de cada trecho da trajetória.
• Mecânicas: a trajetória deve ser suave, com o maior número possível de derivadas con-
tínuas. Por outro lado, os pontos da trajetória gerada devem corresponder a pontos dentro
do espaço de trabalho do manipulador.
Os modos de movimentação de robôs industriais de um ponto ao outro mais frequentes são,
modo:
70
• Junta: todas as juntas iniciam e finalizam a movimentação simultaneamente, porém a
trajetória exata da ferramenta não é conhecida;
• Caminho primitivo: a ferramenta se movimenta de um ponto a outro através de uma
trajetória definida por formas geométricas primitivas. As mais comuns são segmentos de
retas e arcos.
3.5.3 TRAJETÓRIAS NO ESPAÇO DAS JUNTAS
No planejamento de uma trajetória considerando o espaço das juntas, os valores das vari-
áveis das juntas são determinados para todas as posturas entre as posições inicial e final. O
algoritmo de planejamento implementado gera uma função q(t) interpolando os vetores das
variáveis das juntas em cada ponto da trajetória. Em geral, o algoritmo não demanda grande
esforço computacional e requer que as funções das posições das juntas e suas velocidades sejam
contínuas no tempo. Dessa forma, o manipulador se move a partir da configuração inicial para
a final em um tempo tf .
SICILIANO et al. (2009b) sugerem a adoção de um polinômio de terceira ordem como
função que represente a trajetória da junta.
Em robôs industriais, este tipo de movimentação apresenta ao usuário apenas os parâmetros
de postura inicial e final, e a velocidade angular da junta em função de um percentual da veloci-
dade máxima do atuador (motor). Utilizando o perfil de interpolação sugerido por SICILIANO
et al. (2009b), tem-se:
q(t) = a0 + a1t+ a2t
2 + a3t
3 (3.99)
onde as velocidades e acelerações são determinadas, respectivamente, pelas EQs. 3.100 e 3.101.
{
q̇(t) = a1 + 2a2t+ 3a3t
2
q̈(t) = 2a2 + 6a3t
(3.100)
(3.101)
Deseja-se que o único parâmetro que o usuário tenha acesso seja o percentual da velocidade
71
máxima da junta, sendo assim, impõem-se ao sistema as seguintes restrições:
Duração=tf
Posição de junta inicial=qi
Posição de junta final=qf
Velocidade de junta inicial=0
Velocidade de junta final=0
(3.102)
onde nas condições de contorno, tem-se:
q(0) = qi = a0
q̇(0) = 0 = a1
q̈(0) = 0 = a2
q(tf ) = qf = qi + a2t
2
f + a3t
3
f
q̇(tf ) = 2a2tf + 3a3t
2
f
q̈(tf ) = (2a2 + 6a3tf )
(3.103)
Sendo assim, é possível chegar ao sistema composto pelas EQs. 3.104 a 3.106

q(t) = qi + a2t
2 + a3t
3
q̇(t) = 2a2t+ 3a3t
2
q̈(t) = 2a2 + 6a3t
(3.104)
(3.105)
(3.106)
e os coeficientes da função são determinados pelas seguintes relações
tf =
3∆q
2q̇max
(3.107)
a2 = −
2q̇max
tf
(3.108)
a3 = −
4q̇max
3t2f
(3.109)
onde ∆q = qf − qi e q̇max é a máxima velocidade permitida à junta.
As formas dos comportamentos da posição, velocidade e aceleração encontram-se represen-
tados na figura 3.7.
Alternativamente, SICILIANO et al. (2009b) sugerem um polinômio de quinta ordem como
72
FIG. 3.7: Trajetória definida por um polinômio de terceira ordem
forma de designar também as acelerações inicial e final.

q(t) = a0 + a1t+ a2t
2 + a3t
3 + a4t
4 + a5t
5
q̇(t) = a1 + 2a2t+ 3a3t
2 + 4a4t
3 + 5a5t
4
q̈(t) = 2a2 + 6a3t+ 12a4t
2 + 20a5t
3
(3.110)
(3.111)
(3.112)
É necessário acrescentar às restrições feitas para o polinômio de terceira ondem valores
inicial e final às acelerações, ou seja:{
Aceleração de junta inicial = 0
Aceleração de junta final = 0
(3.113)
Sendo assim, para essa função de quinta ordem, tem-se as seguintes condições de contorno:
q(0) = qi = a0
q̇(0) = 0 = a1
q̈(0) = 0 = a2
q(tf ) = qf = qi + a3t
3
f + a4t
4
f + a5t
5
f
q̇(tf ) = 3a3t
2
f + 4a4t
3
f + 5a5t
4
f
q̈(tf ) = 6a3tf + 12a4t
2
f + 20a5t
3
f
(3.114)
73
e assim, chega-se ao seguinte sistema de equações:

q(t) = qi + a3t
3 + a4t
4 + a5t
5
q̇(t) = 3a3t
2 + 4a4t
3 + 5a5t
4
q̈(t) = 6a3t+ 12a4t
2 + 20a5t
3
(3.115)
(3.116)
(3.117)
Assim sendo, é possível determinar tf , a3, a4 e a5 através das seguintes relações:
tf =
8∆Qq̇Max
15
(3.118)
a3 =
16q̇Max
3t2f
(3.119)
a4 =
−8q̇Max
t3f
(3.120)
a5 =
16q̇Max
5t4f
(3.121)
O comportamentos da posição, velocidade e aceleração utilizando polinômios de quinta
ordem encontram-se representados na figura 3.8.
FIG. 3.8: Trajetória definida por um polinômio de quinta ordem
Na trajetória entre dois pontos de um manipulador com n juntas, almeja-se que todas as
juntas iniciem e terminem sua movimentação simultaneamente. Os algoritmos propostos deter-
minam as trajetórias das n juntas, atribuindo a velocidade máxima q̇Max (como percentual da
velocidade máxima do atuador) determinada pelo usuário à junta que executará maior deslo-
74
camento e, assim, impor a velocidade máxima das demais juntas, definindo completamente as
trajetórias de todas as juntas.
3.5.4 TRAJETÓRIA NO ESPAÇO OPERACIONAL
Um algoritmo de planejamento de trajetória no espaço das juntas gera uma sequência de
valores para as variáveis de junta q̇ do manipulador, porém o movimento resultante do efetuador
final não é facilmente previsto, devido aos efeitos não lineares da cinemáticadireta. Em alguns
casos, geralmente deseja-se que o efetuador final siga um caminho geométrico específico no
espaço operacional. Se a ferramenta do manipulador deve seguir uma trajetória prescrita para
o seu movimento, ela deve ser expressa analiticamente. Para isso, é necessário estabelecer o
movimento definindo as características geométricas do caminho primitivo em função do tempo.
Para a definição do caminho primitivo é conveniente utilizar sua descrição parametrizada
no espaço. Seja p um vetor (3x1) e f(σ) uma função vetorial constante definida no intervalo
[σi, σf ].
p = f(σ) (3.122)
e considerando um caminho aberto, a sequência de valores de p com σ variando em [σi, σf ]
define completamente o caminho no espaço. A função da EQ. 3.122 refere-se a representação
paramétrica do caminho Γ, tendo o escalar σ como parâmetro.
Seja pi o ponto inicial do caminho aberto Γ com a sua direção fixada e o comprimento de
um arco s de um ponto genérico p ao longo do caminho estabelecido, com extremos pf e pi,
com pf > pi. O ponto pi é dito a origem do arco (s = 0).
Dessa forma, a EQ. 3.122 é reescrita e toma a forma de
p = f(s) (3.123)
Seja p um ponto pertencente ao caminho Γ descritos na EQ. 3.123, exceto em alguns casos,
p também permite a representação de 3 vetores unitários. A orientação desses vetores depende
exclusivamente da geometria do caminho, enquanto a direção depende também da direção ado-
tada na EQ. 3.123.
Considerando-se t um vetor unitário tangente ao caminho - Em outras palavras, sua orien-
tação ao longo da direção do caminho em s - o segundo vetor unitário n é denominado normal
e é orientado ao longo da intercessão de p com t. Um terceiro vetor b, mutuamente ortogonal a
t e a n. Com este vetor é estabelecida a completa representação de um sistema de coordenadas
75
(t,n,b), conforme esquematizado na FIG. 3.9.
FIG. 3.9: Representação paramétrica de um caminho no espaço (Adaptado de SICILIANO et al.
(2009b))
Sendo assim, os vetores unitários (t,n,b), matematicamente correspondem a
t =
dp
ds
(3.124)
n =
1∣∣∣∣∣∣d2pds2 ∣∣∣∣∣∣
d2p
ds2
(3.125)
b = t× n (3.126)
3.6 CONTROLE
A partir da saída da cinemática inversa pode-se obter o vetor q = (Xb, Yb, θb, θ1, θ2), onde as
3 primeiras componentes do mesmo, Xb, Yb, θb, são utilizadas como entrada para o controlador
de trajetória do robô móvel, e a partir do momento que o mesmo alcança a posição desejada,
o controlador responsável pelo controle do manipulador robótico recebe como entrada as duas
últimas componentes do vetor q, θ1, θ2. Com isso, o manipulador móvel é capaz de alcançar a
posição x,y,z, que é a entrada da cinemática inversa do manipulador móvel.
3.6.1 CONTROLE DO ROBÔ SERIAL
O requisito básico de um manipulador é que o mesmo seja capaz de se mover de uma
postura inicial até uma outra determinada com velocidades e acelerações controladas, de modo
76
a evitar mudanças bruscas e que possam ser perigosas e ou causar desconforto ao usuário. Para
isso o braço robótico com dois graus de liberdade utilizado no sistema necessita de tecnicas
de controle para determinar os imputs aplicados a cada junta. Nesse trabalho, uma técnica de
controle chamada PD - proporcional derivative foi utilizada. Essa técnica se mostra suficiente
para obter um controle rápido e com overshoot baixo. Entretanto, para se chegar a resultados
satisfatórios, é necessário ajustar (tuning) os ganhos dos controladores de cada junta.
Aplicações com baixas tolerâncias para overshoot fazem uso, geralmente, de controles do
tipo PD (Olsson,2016), que são mais simples de ajustar e apresentam resultados semelhantes ao
PID, exceto pelo erro em regime permanente, que é corrigido pelo ganho integral.
Com este tipo de controle, é possível determinar as posições desejadas para as juntas, porém
os efeitos de coriolis e centrífugos, a inércia do manipulador robótico e os termos gravitacionais
aos quais o mesmo está sujeito, provocam oscilações que afetam o desempenho do controlador,
fazendo com que o mesmo não chegue à posição desejada. Essas forças interferem no desem-
penho do controlador pois representam uma força não computada no momento da definição dos
pesos do PD, que normalmente é realizada em um ambiente sem efeitos dinâmicos.
Visando sanar esses efeitos citados, uma solução proposta é a utilização da técnica de con-
trole por torque computado, solução essa que tem por objetivo adicionar à malha de controle os
efeitos dinâmicos de forma a compensá-los (LEWIS, F. L.; DAWSON,2004).
Considerando a modelagem dinâmica do manipulador robótico de 2 graus de liberdade, a
equação de movimento é dada pela EQ. 3.10 (Kurfess,2015).
τ = H(q)q̈ + h(q, q̇) +G(q) (3.127)
onde:
• H é a matriz denominada matriz de inércia do manipulador, incorpora todas as pro-
priedades da massa de toda a cadeia do braço e tem características similares às matrizes
de inércia individuais: simétrica e definida positiva. Contudo, a matriz de inércia do ma-
nipulador é dependente da configuração e representa as propriedades relativas as massas
instantâneas de toda a cadeia na configuração atual;
• G(q) os termos referente ao vetor de forças gravitacionais;
• h(q), referente aos de termos de Cristoffen que representam as forças de coriolis e as
77
forças centrífugas.
Pode-se deduzir que a aceleração angular é dada pela equação 3.128 , (Ogata,2009).
q̈ = H−1(q)(τ.h(q, q̇) +G(q)) (3.128)
Como a ideia central por trás do controle por torque computado é a linearização por reali-
mentação dinâmica, ou seja, encontrar uma relação diferencial linear entre a saída do sistema e
uma nova entrada que cancele as não linearidades encontradas durante o processo de determi-
nação da saída (Ogata,2009).
Assumindo a trajetória do manipulador, qdes(t), definida por um gerador de trajetórias e
qa(t) a posição aferida pelo encoder, o erro da posição é dado pela equação 3.129 (Cheng,
2008).
e(t) = qdes(t)− qa(t) (3.129)
Se um sistema linear na forma de espaço de estados ẋ = Ax+Bu pode ser definido como
ẋ =
[
0 1
0 0
]
x+
[
0
1
]
U (3.130)
Sendo U = H−1(q).h(q, q̇) + H−1(q).τ , conhecido como a forma canônica de Brunousky.
Com as equações 3.129 e 3.130 a forma canônica de Brunousky pode ser rescrita em termos do
estado x =
[
eT ėT
]T
como a equação 3.131 (Kurfess,2015).
d
dt
[
e
ė
]
=
[
0 1
0 0
]
.
[
e
ė
]
+
[
0
1
]
+ U (3.131)
Com
U = q̈d +H
−1(q).(h(q, q̇)− τ) (3.132)
Então pode-se obter o torque (equação3.133) a ser aplicado em cada junta através da inversa da
equação 3.132
τ = H(q)(q̈d − U) + h(q, q̇) (3.133)
Sendo essa a lei de controle que garante a trajetória do braço robótico.
Agregando um controlador PD a lei de controle por torque computado Eq.3.133, tem-se o
78
controlador PD-Torque computado da equação 3.134 (Siciliano, 2008).
τ = H(q)(q̈d +Kv.ė+Kpe) + h(q, q̇) (3.134)
Sendo Kp e Kv os ganhos do controlador, que ao serem ajustados corretamente, garantem a
convergência do erro para 0 (Siciliano, 2008).
Através desse processo pode-se chegar a um sistema de controle baseado no fluxograma
3.10 apresentado a seguir.
FIG. 3.10: controle por torque computado na malha.
O fluxograma mostra a malha proposta, sendo que q representa a variável a ser controlada e
u a saída do controlador proposto. Os termos a serem compensados são todos funções de q e q̇,
que podem ser aferidos através dos encoders instalados em cada junta do manipulador robótico.
A malha de controle realimentada final pode ser escrita de acordo com o diagrama de blocos
3.11.
79
FIG. 3.11: Diagrama de blocos da malha do controle por torque computado
Mostrando assim, uma malha de controle que contem todas as compensações necessárias
(dos efeitos dinâmicos) para levar o manipulador a uma determinada posição e velocidade de
junta.
Vale lembrar que qualquer força externa aplicada ao robô também prejudica o controle
de forma similar as componentes dinâmicas citadas acima, mas tais forças externas não serão
tratadas nesse trabalho.
Sabendoque a matriz de inércia tem a seguinte forma (equação 3.135):
H(q) =
[
H11 H12
H21 H22
]
(3.135)
Onde:
H11 = (m1 +m2)l
2
1 +m2l
2
2 + 2ml1l2c2
H12 = m2l
2
2 +m2l1l2c2
H21 = m2l
2
2 +m2l1l2c2
H22 = m2l
2
2
O vetor com os efeitos de coriolis e forças centrípetas (equação 3.136)
h(q) =
[
h11
h21
]
(3.136)
Onde:
80
h1,1 = −2m2l1l2S2q̇1q̇2 −m2l1l2S2q̇22
h2,1 = m2l1l2S2q̇
2
1
E o termo gravitacional (equação 3.137)
G(q) =
[
G11
G21
]
(3.137)
Onde:
G1,1 = (m1 +m2)gl1s1 +m2gl2S12
G2,1 = m2gl2s2
3.6.2 CONTROLE DO ROBÔ MÓVEL
De modo a possibilitar a navegação do robô de um ponto A = (x, y, θ) a um ponto B= x1 ,
y1, θ1, um algoritmo de controle é proposto com objetivo de se obter u = [V, ω] que faça com
que o robô móvel seja capaz de alcançar tal objetivo em um intervalo finito de tempo.
Um controlador (figura 3.12) com dois loops é proposto, sendo o controlador usado para
corrigir erros de trajetórias o loop externo e um controlador PID que recebe as correções oriun-
das do controlador de trajetórias e as transforma em sinais de controle para as rodas do robô.
FIG. 3.12: Controle
Onde qr é a posição de referência do robô e q a posição atual do mesmo, onde qr=[xr, yr, θr]T
e q=[x, y, θ]T . O controlador cinemático usa a posição desejada do robô e a posição real do
mesmo para calcular as correções de velocidade necessárias.
81
Tal controlador foi utilizado por ser capaz de estabilizar a velocidade da base móvel, sendo
o mesmo eficiente em tratar a dinâmica do robô.
Essas correções de velocidade são usadas para computar os torques de roda necessários para
o acionamento diferencial.
Considerando o robô móvel a executar uma determinada trajetória como visto na figura
3.13, o erro na orientação e na posição do robô é dado de acordo com a equ.3.138
FIG. 3.13: Erro de Trajetória

ex
ey
eθ
 =

cos(θr) − sin(θr) 0
− sin(θr) cos(θr) 0
0 0 1


x− xr
y − yr
θ − θr
 (3.138)
Derivando o erro de posição, obtemos a equação 3.139
ėx
ėy
ėθ
 =

ωded − vd + vr cos(eθ)
−ωdex + vr sin(eθ)
ωr − ωd
 (3.139)
Com o objetivo de encontrar soluções para vd e ωd que tornem ex= 0, ey= 0 e θ = 0 de
forma estável, pode-se usar o método direto de Lyapunov para obter tais valores de vd e ωd.
Considerando a função de Lyapunov 3.140 como candidata,
V =
1
2
(e2x + e
2
y) +
1
ky
(1− cos(eθ)) (3.140)
82
Pode-se ver que a função candidata é estritamente positiva para erros diferentes de 0. Derivando
a equação 3.140 em conjunto com a equação 3.139, pode-se obter a eq.3.144
V̇ = (vr cos(eθ)− vd)ex +
1
ky
(sin(eθ))(kyvrey + ωr − ωd) (3.141)
As velocidade lineares 3.142 e angulares 3.143 desejadas são:
vd = vr cos(eθ) + kxey (3.142)
ωd = ωr + kyvrey + kθ sin eθ (3.143)
Onde kx,ky e kθ são ganhos positivos, então V̇ é negativa semi-definida.
V̇ = −Kxex −
kθ
ky
(sin2(eθ)) (3.144)
Isso implica em convergência de ex , ey e eθ para zero.
Definindo ev=vd-v e eω=ωd-ω. Se v e ω são respectivamente a velocidade linear e a veloci-
dade angular do robô , pode-se obter:
ėv = ėd −
τL
mt
(3.145)
ėω = ω̇d −
τA
It
(3.146)
Considerando os torques τL(equação 3.145) e τA(equação 3.146)
τl = mtv̇d + kl(vd − v) (3.147)
τA = Itω̇d + ka(ωd − ω) (3.148)
As equações que determinam o erro de velocidade pode ser escritas de acordo com eq.3.149
e eq.3.150
mtėv + klev = 0 (3.149)
Itėw + kaew = 0 (3.150)
83
A escolha dos ganhos kl e ka positivos, implicam em ev = 0 e ew = 0 exponencialmente
estáveis. Através da formulação da dinâmica do modelo do robô móvel, pode-se concluir que
os torques a serem aplicados nas rodas são:
τl = (τL +
1
2b
τA)r/2 (3.151)
τr = (τL −
1
2b
τA)r/2 (3.152)
Esses torque são aplicáveis somente quando consideramos o comportamento de rolagem
pura das rodas do robô móvel, comportamento esse que é possibilitado pelo uso de baixas
velocidades lineares e angulares no robô.
Pode-se ver a malha de controle do sistema completo figura 3.14. Onde a posição de um
objeto (x,y,z) é a entrada do sistema e as velocidades comandadas aos 4 atuadores do sistema
robótico são as saídas.
FIG. 3.14: Diagrama de controle do sistema assumindo sistemas desacoplados
84
4 PROJETO, CONSTRUÇÃO E OPERAÇÃO DO SISTEMA ROBÓTICO
MANIPULADOR + BASE MÓVEL
Apoiando-se na iniciativa CDIO, que foi originalmente concebida no MIT - Massachussets
Instituite of Technology no inicio dos anos 00, sendo a mesma difundida amplamente nas me-
lhores escolas de Engenharia do mundo e introduzida no IME em 2016. A ideia por trás dessa
dissertação foi elaborada e desenvolvida seguindo os 4 pilares estabelecidos pela metodologia:
• Conceiving - Conceber
• Designing - Projetar
• Implementing - Implementar
• Operating - Operar
A partir desses 4 pilares, este capítulo apresentará todos os passos necessários para viabilizar a
construção do protótipo do robô móvel com manipulador acoplado.
4.1 ROS- ROBOT OPERATING SYSTEM
Sistema operacional de código aberto baseado em Linux, o ROS é utilizado por pesquisadores
e industrias para viabilizar soluções de robótica tanto em simulação quanto em sistemas robóti-
cos físicos. Através de ferramentas implementadas em C++ e Python o sistema permite realizar
diversos estudos em cinemática, dinâmica, otimização, controle e diversos outros tópicos de
robótica. ROS pode ser facilmente entendido como um sistema dividido em diversos nós que se
comunicam entre si, enviando e recebendo informações relevantes à execução e monitoramento
da tarefa a ser realizada.
4.2 PROJETO E CONSTRUÇÃO DA BASE MÓVEL
O projeto da base móvel foi pensado de forma com que a mesma tivesse um chassi rígido
e leve, capaz de suportar diversos tipos diferentes de manipuladores industriais. Para possibil-
itar a visualização e construção do protótipo, foi realizada a modelagem 3D com o auxilio do
85
software SOLIDWORKS. Através do modelo obtido, pode-se extrair informações importantes
como momento de inércia, peso, centro de massa entre outras informações disponíveis.
O protótipo consiste em uma base que abriga dois motores equipados com encoder e rodas
presas em seu eixo. Esses motores serão os responsáveis por aplicar o torque necessário as
rodas e consequentemente fazendo o robô alcançar a posição desejada como visto no capítulo
anterior. A base abriga também toda a eletrônica embarcada e baterias. O projeto da base
mostrada na figura 4.1 foi feito de forma a evitar ângulos vivos, já que o sistema robótico prevê
a interação com seres humanos, este deve ser inócuo aos mesmos.
FIG. 4.1: Render da base móvel
FIG. 4.2: CAD base móvel com suporte de motores
A construção da mesma se deu através da soldagem de placas de alumínio para formar
uma estrutura circular. Essa técnica de fabricação foi usada visando diminuir os custos com a
aquisição de material e usinagem. O perfil circular foi então soldado a uma chapa de alumínio,
para abrigar os componentes internos do robô. A disposição dos mesmos, como pode ser vista
86
na 4.3, foi planejada de forma com que a massa de cada um deles colabore na distribuição
interna de peso da base móvel, fazendo com que o centro de massa do veículo seja o mais
próximo possível ao eixo das rodas, contribuindo assim para aliviar a carga que o robô exerce
nas rodas de apoio (castor wheel), que são passivas e não contribuem para o controle do robô.
Com essa disposição de componentes também é possível obter maior tração das rodas com o
solo, evitando o deslizamento das rodas.
FIG. 4.3: - Base móvel com componentes instalados
O centro de massa localizado perto do eixo das rodas, também traz uma grande contribuições
na dinâmica da base móvel, evitando assim que o mesmo incline (empinamento), contribuindo
assim para o robô se manter estável mesmo sem o auxilio das rodas de apoio.
4.3 ODOMETRIA
A verificação da postura do robô é uma das maneiras de verificar se a saída do sistema está
de acordo com o que foi determinado, e essencial para a realimentação do sistema de controledo robô. Para tal tarefa, sistemas de sensoriamento são utilizados. Entretanto, tais sistemas
que possibilitem o alcance de níveis desejados de precisão ainda estão em fase embrionária de
desenvolvimento e apresentam altos custos. Uma solução usual para lidar com essa limitação
é o uso de dados provenientes de diferentes sensores concomitantemente, que se mostra uma
87
maneira conveniente para compensar erros ou atrasos, e obter melhores estimativas de uma
variável aferida. Fernandez et al. (2015), apresentam diversos tipos de estudos na aplicação da
fusão de sensores. Odometria através de encoder, sistemas de visão, GPS - Global Positioning
Systems, IMU - Inertial Measurement Unit e LIDAR - Light Detection and Ranging são alguns
exemplos de sensores comummente utilizados em robótica, sendo que a fusão de sistemas de
visão computacional e encoder são utilizadas nessa dissertação.
4.3.1 ENCODER
Arbitrar a posição angular de uma junta é uma tarefa muito complicada, por isso encoder de
rotação como o visto na figura 4.4 são amplamente usados. Encoder de rotação são dispositivos
que convertem a posição angular ou o movimento dos eixos desses motores em pulsos que
podem ser interpretados por um microcontrolador e posteriormente convertidos para radianos,
unidade que permite a interpretação do movimento do motor.
Dados provenientes da odometria do robô são utilizados tanto para a obtenção da veloci-
dades das juntas do robô, tanto como na malha de controle aplicada no protótipo.
FIG. 4.4: Funcionamento de um encoder ótico incremental. Fonte: Bharat Joshi.
4.3.2 REACTIVISION - VISÃO COMPUTACIONAL
Infelizmente, somente encoders não são suficientes para determinar a posição do robô móvel
do tipo diferencial. Como a maior parte dos veículos e robôs que se movimenta com o auxilio
de rodas, esse sistema está susceptível ao deslizamento das rodas, o que gera erros na leitura da
posição do robô. Para solucionar esse problema, um método de odometria com auxilio de um
sistema de câmera foi usado. O sistema de visão computacional é mostrado na figura 4.5
88
FIG. 4.5: Sistema de odometria com auxilio de câmera. Adaptado de João(2014)
O sistema chamado de ReacTIVision consiste em um algoritmo opensource que fica cons-
tantemente verificando etiquetas coladas no robô. Essas etiquetas, chamadas Fiducial makers
(figura 4.6), possuem diversos pontos espalhados dentro de uma perímetro e a leitura desses
pontos permite o algoritmo obter a posição, orientação e velocidade do robô. Essas informações
são passadas para o ROS através do protocolo TUIO, que usa o JAVA Engine para poder fazer
toda a análise da imagem.
FIG. 4.6: Fiducial makers
4.4 PROJETO E CONSTRUÇÃO DO BRAÇO ROBÓTICO
O braço robótico foi projetado de modo a ser o mais leve e resistente possível. Em um
primeiro esboço feito em 2D, chegou-se na ideia de colocar os dois motores colineares, evitando
assim que o motor do primeiro elo tenha que suportar todo o momento que a instalação do motor
89
do segundo elo poderia gerar caso a mesma fosse feita diretamente na junta. Foi proposto então
a configuração que pode ser vista no esboço da figura 4.7
FIG. 4.7: - Esboço do braço robótico com dois graus de liberdade.
O passo seguinte ao esboço em 2D foi a modelagem do braço robótico em 3D-SolidWorks.
Para a construção do mesmo foram utilizadas placas de madeira compensada (MDF) cortadas
a laser e unidas com o auxilio de cola epoxi e parafusos. O projeto do braço robótico, assim
como o mesmo construído podem ser vistos nas figuras 4.8, 4.9, 4.10, 4.11, 4.12 e 4.13
Assim como no projeto da base móvel, também é possível determinar as massas, os centros
de massas e os momentos de inércia para cada grau de liberdade, permitindo assim estimar
informações importantes tanto para determinação da dinâmica quanto para o controle do braço
robótico. Essas informações também são muito importantes para a escolha dos atuadores do
sistema.
90
FIG. 4.8: Esboço 3D do braço robótico
com dois graus de liberdade - vista
isométrica.
FIG. 4.9: Protótipo
do braço robótico com
dois graus de liberdade
- vista isométrica.
FIG. 4.10: Esboço do braço robótico com dois
graus de liberdade - vista frontal.
FIG. 4.11: Protótipo
do braço robótico com
dois graus de liberdade
- vista frontal.
91
FIG. 4.12: Esboço do braço robótico com dois
graus de liberdade. Vista lateral.
FIG. 4.13: Protótipo
do braço robótico com
dois graus de liberdade
- vista lateral.
92
4.5 CONTROLADORES DE POTÊNCIA E PROCESSADORES
O controlador de potência foi escolhido de forma a possibilitar a implementação do con-
trole de velocidade dos motores escolhidos, sendo também possível a futura implementação do
controle de torque em cada uma das rodas da base e do manipulador. Também foram levadas
em consideração a oferta do mesmo no mercado, seu preço e potência. A analise da tabela 4.1
com as informações do Odrive figura 4.14, modelo escolhido para essa dissertação, mostra que
o mesmo atende todas os requisitos minimos de torque e velocidade obtidos através do modelo
dinâmico, tendo potência e latência suficientes para permitir o controle de velocidade e torque
do robô.
FIG. 4.14: Controlador de motores Odrive
TAB. 4.1: Parâmetros Odrive
Controlador Max cur-
rent
Max voltage Latencia
A V Khz
Odrive 48V 100 48 100
Para viabilizar o comando do controlador foi desenvolvido um protocolo de comunicação
onde a segurança foi pensada em primeiro plano. Diversas rotinas de limite de velocidade e
torque foram desenvolvidas, além de rotinas para paradas de segurança caso o robô precise fre-
nar ou ficar com as rodas livres (rodas em coast). Essas rotinas podem ser acionadas através de
comandos enviados para o controlador, como podem ser vistos abaixo. odrv0.axis0.motor.config
.currentlim = XX - Comando que limita corrente máxima que o controlador pode fornecer ao
motor. odrv0.axis0.requestedstate = AXISSTATECLOSEDLOOPCONTROL - Comando que
aciona o modo de controle em malha fechada. odrv0.axis0.requestedstate = AXISSTATEIDLE
- Comando que aplica coast nas rodas (deixando assim o robô livre, sem torque em suas rodas).
93
odrv0.axis0.controller.config.vellimit = XX - Comando que limita a velocidade máxima que o
controlador pode fornecer ao motor.
4.6 ANÁLISE DE CUSTOS
Com o objetivo de construir um protótipo com custo acessível e com potencial de ser di-
fundido na indústria e também para o ensino em escolas e universidades, a escolha dos com-
ponentes utilizados é uma tarefa que demanda muito tempo e pesquisa. Em um mercado onde
as tecnologias se atualizam de forma muito rápida, produzir um protótipo que possa ser capaz
de acompanhar todo avanço tecnológico e ser atual mesmo com o passar dos anos se torna
muito importante para o mesmo ter aceitação do mercado e nas redes de ensino. Visando al-
cançar esses objetivos e também a durabilidade do protótipo, os seguintes componentes foram
escolhidos:
Quantidade Item Valor
1 Bateria Lipo - 6s (22,3V) - 8Ah - 300c descarga - Maxamps 300 usd
2 Rapsberry PI3 25 usd
1 Motor elétrico p5067 69 usd
3 Motor elétrico p7076 300 usd
1 Cabos diversos 200 usd
4 Encoder 8192 pulsos 160 usd
2 Controlador de velocidade - ODRIVE 329 usd
1 Perfil de MDF cortado a laser 100 usd
2 Polias síncronas - SHCENEIDER 100 usd
4 Correias síncronas -SHCENEIDER 100 usd
1 Alumínio para a construção da base 150 usd
2 Rodas 5 polegadas de diâmetro 50 usd
Total 1883 usd
TAB. 4.2: Tabela de custo dos componentes utilizados no protótipo
O custo final do protótipo ao adicionar as 2080 horas de desenvolvimento por parte de um
engenheiro, 101.796,00 BRL(CREA-RJ), chega ao valor aproximado de 24.500,00 usd (1 usd
= 4,5BRL).
Como não existe nenhum robô similar ao protótipo desenvolvido disponível para venda no
mercado, e como o custo de fabricação de um protótipo é muito diferente do custo de fabri-
cação de robôs em larga escala, se torna inviável a comparação de custos com outros sistemas
94
robóticos. Entretanto, pode-se verificarque a instalação do robô de base fixa IRB120 da fabri-
cante suíça ABB Robotics alcança valores em torno de 20 mil usd(ABB USA), valor esse que
se aproxima ao valor empregado no desenvolvimento do protótipo proposto nessa dissertação.
95
5 RESULTADOS
Neste capítulo serão apresentados os resultados obtidos durante as fases de simulações,
testes e execução das tarefas realizadas pelo protótipo apresentado nessa dissertação. As simu-
lações realizadas com o braço robótico foram todas realizadas em ambiente MatLab, onde todo
o modelo foi implementado e simulado. Já os resultados experimentais foram obtidos através
da implementação do protótipo no ROS, e todos os dados coletados foram analisados e trata-
dos no software Matlab. Os resultados serao divididos e apresentados em 5 etapas, onde na
primeira serão apresentados os resultados simulados do braço robótico, na segunda etapa serão
apresentados os resultados experimentais obtidos com o braco robótico. Ja em um terceiro mo-
mento, os resultados experimentais e simulados obtidos através da execução de uma tarefa com
o sistema robótico da base móvel serão confrontados e discutidos. Em um quarto momento
serão apresentados o resultados que mostram como a configuração do manipulador serial não
interfere na dinâmica da base móvel e por ultimo, serão apresentados os resultados obtidos da
implementação do algoritmo de otimização de trajetória da base móvel.
5.1 CONTROLE DO SISTEMA ROBÓTICO SERIAL
Com os dados da tabela 5.1 o sistema foi modelado em ambiente MATLAB, e os resultados
obtidos da simulação foram oriundos da execução de uma trajetória circular com raio de 0,25m,
origem no ponto x = -0.5 m e y = 0.5 m e centro no ponto x = 0.3 m e y = 0.5 m. A trajetória
simulada pode ser vista na figura 5.1
Parâmetros do manipulador protótipo: Onde: m é a massa total do link, l o comprimento
Parametro Link 1 Link 2
m(kg) 0.8 0.4
l(m) 0.25 0.25
Lci(m) 0.12 0.10
Ganho PD - Kp 25 28
Ganho PD - kd 11 18
Ganho torque computado - Kp 1579 1984
Ganho torque computado - Kd 232 323
TAB. 5.1: Tabela de parâmetros reais do manipulador robótico
96
total dos mesmo, Lci a distancia do centro de massa de cada link,
FIG. 5.1: Trajetória circular dois graus de liberdade
Pode-se notar que com os ganhos otimizados com o auxilio da ferramenta de obtenção de
ganhos PID do Matlab, o sistema é estável, sendo o mesmo capaz de realizar a trajetória circular
dada como imput para o sistema sem entrar em zonas instáveis de controle. Os ganhos obtidos
através do MatLab são utilizados como elementos da diagonal principal das matrizes de Kp e
Kd definidas no espaço do manipulador.
Pode-se observar as variação de posição das juntas 1 e 2 do manipulador no gráfico 5.2
e as variações de velocidades para cada junta do manipulador no gráfico 5.3. Já os erros de
orientação e posição do efetuador final podem ser visto nos gráficos da figura 5.4.
97
FIG. 5.2: Posição de juntas para trajetória circular do efetuador
FIG. 5.3: Velocidade das juntas para trajetória circular do efetuador
98
FIG. 5.4: Erro de posição e orientação para trajetória circular do efetuador final
99
5.1.1 DADOS EXPERIMENTAIS
Os dados experimentais foram obtidos através da entrada de duas funções senoidais dife-
rentes como sinal para cada junta. Como os dados simulados na seção anterior são fieis aos do
protótipo do sistema, pode-se considerar os parâmetros da tabela 5.1 como os do protótipo. A
figura 5.5 mostra as posições das juntas 1 e 2 para as funções senoidais aplicadas como entrada
enquanto a figura 5.6 mostra as velocidades angulares das juntas 1 e 2 para o mesmo input.
100
FI
G
.5
.5
:S
in
al
de
en
tr
ad
a:
si
n
FI
G
.5
.6
:-
Si
na
ld
e
en
tr
ad
a:
si
n
101
Pode-se se notar que a lei de controle e os ganhos calculados permitem resultados satis-
fatórios quando aplicados ao manipulador robótico proposto, pode-se notar também que o over-
shoot e tempo de acomodação são aceitáveis quando comparados com experimentos similares
PILTAN et al. (2012).
102
5.2 SISTEMA ROBÓTICO BASE MÓVEL
Para a base móvel uma trajetória de forma retangular foi simulada em ambiente MATLAB e
executada em ROS com o protótipo. Tal trajetória foi composta por um ponto inicial localizado
nos pontos (2.2, 1) percorrendo um caminho retilíneo até alcançar o ponto de trajetória (1, 1) e
assim sucessivamente ate chegar novamente no ponto (2.2, 1), o fim do percurso. Uma tolerân-
cia de 0,2 m foi utilizada para com o robô e o ponto de trajetória. A simulação e os dados de
trajetória do protótipo podem ser vistos na figura 5.7.
FIG. 5.7: Comparação entre a trajetória simulada e a trajetória real obtida com o protótipo
103
Tanto na simulação quanto no experimento com o protótipo os objetivos foram alcançados,
sendo o protótipo capaz de realizar a trajetória determinada com velocidades e precisão dentro
do esperado e satisfatórios quando comparado com trabalhos similares FERNANDES et al.
(2017). O erro apresentado entre a simulação e o trajeto realizado pelo robô se da devidos a
características implícitas do sistema de odometria visual - calibração e qualidade do sistema de
câmera utilizado e também pelo deslizamento das rodas - fenômeno que não foi tratado nessa
dissertação. Tais discrepâncias podem ser melhor analisadas nas figuras 5.8 e 5.9 que mostram
a evolução da posição de x e y e também a orientação thetab ao longo do decorrer da trajetória.
FIG. 5.8: Comparação entre a trajetória simulada (x,y) e a trajetória real (x,y) obtida com o
protótipo
104
FIG. 5.9: Comparação entre a trajetória de θb simulada e a trajetória real de θb obtida com o
protótipo
Pode-se observar que os dados oriundos do protótipo, seguem perfis muito parecidos com
os dado obtidos através das simulações. As deformações de trajetórias de x, y ,θb apresentadas
são esperadas devido as taxas de amostragem (sample rate) diferentes entre a simulação e os
dados obtidos pelo protótipo POPIL (2017).
Como saída para o sistema robótica, as velocidades das rodas geradas como output do sis-
tema de controle podem ser vistas na figura 5.10.
105
FIG. 5.10: Comparação entre as velocidades das rodas simuladas e as velocidades reais obtida
com o protótipo
O sinal oriundo do protótipo, apesar de não filtrado para possíveis ruídos indica que o perfil
de velocidade do protótipo segue o mesmo perfil obtido na simulação. A figura 5.10 também
mostra o efeito de quantização, fenômeno ocorrido devido a taxas de amostragens altas demais
para a resolução finita dos encoders utilizados. Tal fenômeno poderia ser evitado com uso de
tacômetros para a aferição das velocidades das juntas.
106
5.2.1 RESULTADOS EXPERIMENTAIS DA DINÂMICA BASE + MANIPULADOR
Para comprovar que a dinâmica do manipulador serial sugerido no protótipo nao afeta con-
sideravelmente a dinâmica do robô móvel, dois testes foram realizados. Em um primeiro mo-
mento foi realizada uma trajetória com o manipulador serial completamente paralelo em relação
a base, como visto na figura 5.11. Em um segundo momento, a mesma trajetória foi realizada
com o manipulador robótico totalmente erguido (perpendicular a base móvel) - como pode ser
visto na figura 5.12. Foi analisada a corrente em mA consumida pelos atuadores da base móvel
para executar a mesma trajetória (perfis de velocidade iguais em ambos os teste), como pode
ser visto na figura 5.13. Pode-se concluir que a configuração do manipulador serial acoplado
FIG. 5.11: Es-
quemático Manipu-
lador móvel a paralelo
em relação a base.
FIG. 5.12: Es-
quemático Manipu-
lador móvel a 180
graus em relação a
base.
não contribui significativamente na dinâmica do robô móvel. Tal fenômeno é devido a grande
diferença de peso entre o manipulador robótico e a base móvel proposta nessa dissertação, as-
sim como as baixas velocidades aplicadas ao protótipo. Altas acelerações, caso não previsto por
FIG. 5.13: Módulo da corrente dos motores da base
107
essa dissertação, poderiam fazercom que a configuração da posição do manipulador pudesse
interferir com a dinâmica da base móvel.
108
5.2.2 OTIMIZAÇÃO DE TRAJETÓRIA
O algoritmo de PSO executado com os parâmetros da tabela 5.2 demostrou capacidade de
obter uma trajetória ótima para o robô móvel, de forma com que o mesmo fosse capaz de ir de
um ponto A a um ponto B com o menor caminho possível, evitando obstáculos identificados
pelo sistema. Tais obstáculos foram inseridos de forma a considerar uma região de exclusão ao
redor dos mesmos, essa região possui um raio determinado nos parâmetros da otimização.
Parâmetro Valor
Limite de iterações 300
Tamanho da população 600
Peso de inércia 1m
Fator de amortecimento 0.98
Coeficiente de aprendizado individual 1.5
Coeficiente de aprendizado coletivo 1.3
TAB. 5.2: Tabela de parâmetros PSO
O algorítimo de otimização que foi rodado no computador que gerencia toda a malha de
controle, conseguiu convergir em uma função custo com o menor valor possível em 50 iterações
a evolução da função custo em relação as iterações pode ser vista na figura 5.14
FIG. 5.14: Convergência da função objetivo ao longo das iterações.
A figura 5.15 mostra o resultado do processo de otimização da trajetória realizada pela base
móvel para ir de um ponto A até um ponto B, evitando o obstaculo demarcado pela região de
exclusão em azul. A posição do robô assim como as posições do obstáculo e do ponto B de
destino foram todas captadas através do sistema de odometria visual com taxa de aquisição em
120 Hz.
109
FI
G
.5
.1
5:
Tr
aj
et
ór
ia
ot
im
iz
ad
a
a
pa
rt
ir
do
m
ét
od
o
PS
O
110
6 CONCLUSÕES
Este capítulo apresenta as conclusões pertinentes ao trabalho, assim como as contribuições
científicas, as considerações finais e as perspectivas de trabalhos futuros para essa dissertação.
Um controlador baseado na realimentação da dinâmica foi proposto e avaliado para ambos
os robôs apresentados nesse dissertação (robô móvel do tipo diferencial e robô serial). Para
testar a estratégia de controle foi projetado e construído um manipulador móvel de alumínio
6061 e madeira, atuados por motores DC. O sistema final teve tamanho aproximado de 500
mm de raio e 600 mm de altura e 20 kg, tendo o mesmo área de atuação limitada somente
pela área coberta pela câmera utilizada para odometria do mesmo. Todo controle, assim como
o processamento de imagens, foi realizado em um microcomputador Raspberry pi4 utilizando
o sistema operacional ROS. O gerenciamento de trajetória do manipulador móvel (também
implementado em ROS) foi realizado utilizando técnicas de otimização a partir de técnicas de
PSO. Para avaliar a metodologia proposta, foi verificada a capacidade de o protótipo sair de um
ponto A até um ponto B, evitando obstáculos detectados através do sistema de odometria visual
e também a capacidade do mesmo de pegar um objeto e manter o manipulador robótico estável.
Em ambos os casos, o sistema foi capaz de realizar as tarefas propostas, com velocidades,
precisão e repetibilidade aceitáveis para o sistema proposto inicialmente. O manipulador móvel
proposto no presente trabalho oferece uma alternativa promissora para a ampliação da área de
trabalho dos robôs industriais tradicionais; aliando baixo custo e fácil adaptação do ambiente.
Os códigos desenvolvidos ao longo desta dissertação estarão disponíveis para consulta e
livre utilização em SOUZA 2019.
6.1 CONTRIBUIÇÕES CIENTÍFICAS
Esta dissertação apresenta como maior contribuição científicas a formulação, aplicação e
análise de uma metodologia prática, segura e acessível a construção de sistemas robóticos
acoplados. O produto final é um protótipo de manipulador robótico integrado a uma base móvel
do tipo diferencial.
1. Modelo cinemático considerando um manipulador móvel como um robô industrial de
cadeia aberta
111
2. Metodologia para obtenção de trajetória ótima de um robô móvel baseada em otimização
pela técnica de PSO
3. Protótipo com custos consideravelmente reduzido.
As contribuições científicas citadas são evidências objetivas de conformidade com os obje-
tivos específicos desta dissertação.
6.2 CONSIDERAÇÕES FINAIS
Pode-se concluir que a abordagem utilizada para lidar com a falta de mobilidade dos robôs
industriais trouxe resultados satisfatórios. Ao utilizar formulação, modelagem e implementação
relativamente simples, esse trabalho aborda de forma objetiva diversos tópicos essenciais para
o controle e operação de robôs moveis e seriais.
6.3 PERSPECTIVAS PARA TRABALHOS FUTUROS
A metodologia se mostrou bastante promissora, entretanto, como preconiza a abordagem
CDIO, o projeto demanda constante aperfeiçoamento. O sistema robótico final obtido nessa
dissertação, tanto o software quanto o hardware, pode ser aperfeiçoado e diversas funciona-
lidades adicionadas futuramente. Entre algumas das possíveis futuras implementares pode-se
citar:
• SLAM visual para mapeamento
• Junção da base móvel com um manipulador industrial tradicional
• Controle para evitar deslizamento das rodas em altas velocidades
• Implementação de sistema de servo visão
• Projeto e construção de Teach Pendant para o sistema, viabilizando assim sua operação
manual
• Uso educacional do projeto desenvolvido nessa dissertação
• Implementação de controle de torque visando evitar o deslizamento das rodas
112
Entre todos os itens citados, vale ressaltar que o projeto e o protótipo do do sistema robótico,
por se tratar de um sistema de baixo custo, Open Source e amplamente documentado, pode ser
usado como uma poderosa ferramenta de auxilio a pesquisa e ensino de robótica avançada e
robótica industrial tanto no IME como em outras universidades.
113
7 REFERÊNCIAS BIBLIOGRÁFICAS
AHMAD ABU HATAB, R. D. Dynamic Modelling of Differential-Drive Mobile Robots using
Lagrange and Newton-Euler Methodologies: A Unified Framework. Advances in Robotics
& Automation, 02(02), 2013. ISSN 21689695. URL https://www.omicsgroup.org/journals/
dynamic-modelling-of-differentialdrive-mobile-robots-using-lagrange-and-newtoneuler-methodologies-a-unified-framework-2168-9695.
1000107.php?aid=19201.
ALBU-SCHÄFFER, A., HADDADIN, S., OTT, C., STEMMER, A., WIMBÖCK, T. e
HIRZINGER, G. The DLR lightweight robot: design and control concepts for robots in
human environments. Industrial Robot: an international journal, 34(5):376–385, 2007.
ALMEIDA, R. Z. H. Modelagem dinâmica e controle de robô manipulador de arquitetura par-
alela assimétrica de três graus de liberdade. pág. 179, 2013.
ALONSO, M., FINN, E. J. e GUIMARÃES, M. A. Física: um curso universitário. 1972.
AMATROL. Flexible manufacturing system. Technical Report v. 2, Jeffersonville, USA, 2009.
AMATROL. Robotics and computer programming 1: basic robot programming. Jeffersonville,
EUA: Amatrol, Inc, 2013.
ANVARI, I. Non-holonomic Differential Drive Mobile Robot Control & Design Critical Dy-
namics and Coupling Constraints. (November):134, 2013.
BAERVELDT, A. J., SALOMONSSON, T. e ASTRAND, B. Vision-guided mobile robots for
design competitions. IEEE Robotics Automation Magazine, 10(2):38–44, June 2003. ISSN
1070-9932.
BALCH, T., SUMMET, J., BLANK, D., KUMAR, D., GUZDIAL, M., O’HARA, K.,
WALKER, D., SWEAT, M., GUPTA, G., TANSLEY, S., JACKSON, J., GUPTA, M.,
MUHAMMAD, M. N., PRASHAD, S., EILBERT, N. e GAVIN, A. Designing personal
robots for education: Hardware, software, and curriculum. IEEE Pervasive Computing, 7(2):
5–9, April 2008. ISSN 1536-1268.
BARBOSA, E. F. e DE MOURA, D. G. Metodologias ativas de aprendizagem na educação
profissional e tecnológica. Boletim Técnico do Senac, 39(2):48–67, 2013.
BASTOS, C. D. C. Metodologias ativas, 2006. URL http://educacaoemedicina.blogspot.com/
2006/02/metodologias-ativas.html. 05 set. de 2018.
BENITTI, F. B. V. Exploring the educational potential of robotics in schools: A systematic
review. Computers and Education, 58(3):978 – 988, 2012. URL http://www.sciencedirect.
com/science/article/pii/S0360131511002508.
BERG, A., BUFFIE, E. e ZANNA, L.-F.Robots, growth and inequality. Finance & Develop-
ment, 53(3):46, 2016.
114
BISCHOFF, R., KURTH, J., SCHREIBER, G., KOEPPE, R., ALBU-SCHÄFFER, A., BEYER,
A., EIBERGER, O., HADDADIN, S., STEMMER, A., GRUNWALD, G. e OTHERS. The
KUKA-DLR lightweight robot arm - a new reference platform for robotics research and
manufacturing. Em Robotics (ISR), 2010 41st international symposium on and 2010 6th
German conference on robotics (ROBOTIK), págs. 1–8, 2010.
BONFIM, M. Code kata: How to become a better developer, Apr 2016. URL http://www.
devmedia.com.br/o-que-e-o-coding-dojo/30517.
BOSTON CONSULTING GROUP. The robotics revolution,
2015. URL https://www.bcgperspectives.com/content/articles/
lean-manufacturing-innovation-robotics-revolution-next-great-leap-manufacturing/. 06
jun. 2017.
BRASIL, M. D. D. Estratégia nacional de defesa, 2012a. URL http://www.defesa.gov.br/
arquivos/estado\_e\_defesa/END-PND\_Optimized.pdf. 30 jun. de 2017.
BRASIL, M. D. D. Estratégia nacional de defesa, 2012b. URL http://www.defesa.gov.br/
arquivos/estado\_e\_defesa/END-PND\_Optimized.pdf. Acesso em 30/06/2017.
CALMEIRO, C. e BRANCO, C. ROBÓTICA NA CONSTRUÇÃO – UMA APLICAÇÃO
PRÁTICA ROBÓTICA NA CONSTRUÇÃO – UMA APLICAÇÃO. (March), 2014.
CALVO, I., CABANES, I., QUESADA, J. e BARAMBONES, O. A multidisciplinary pbl ap-
proach for teaching industrial informatics and robotics in engineering. IEEE Transactions on
Education, 61(1):21–28, Feb 2018. ISSN 0018-9359.
CAMPION, G., BASTIN, G. e DANDREA-NOVEL, B. Structural properties and classification
of kinematic and dynamic models of wheeled mobile robots. IEEE Transactions on Robotics
and Automation, 12(1):47–62, 1996. ISSN 1042-296X.
CAMPION, G. e CHUNG, W. Wheeled Rob. Robotics, págs. 391–410, 2008.
CAMPOS, A., GUENTHER, R. e MARTINS, D. Differential kinematics of serial manipulators
using virtual chains. Journal of the Brazilian Society of Mechanical Sciences and Engineer-
ing, 27(4):345–356, 2005.
CERQUEIRA, J., REZENDE, A., WALDEMAR, B. M. e GUNNARSSON, S. Introducing
CDIO at The Military Institue of Engineering in Brazil. Linköping University Electronic
Press, 2016.
CHEN, N. A vision-guided autonomous vehicle: an alternative micromouse competition. IEEE
Transactions on Education, 40(4):253–258, Nov 1997. ISSN 0018-9359.
CHINA DAILY. Top 10 robotics companies in the world, 2017. URL http://www.chinadaily.
com.cn/business/2017top10/2017-05/16/content\_29359368.htm. Acesso em 02/04/2018.
CITISYSTEMS. Servomotores, 2017. URL ttps://www.citisystems.com.br/servo-motor. 04
out. de 2017.
115
CNI. Indústria 4.0: novo desafio para a indústria brasileira, 2016. URL http://www.
portaldaindustria.com.br/estatisticas/sondesp-66-industria-4-0/. Acesso em 25/04/2018.
COCOTA, J. A. N., D’ANGELO, T. e DE BARROS MONTEIRO, P. M. A project-based learn-
ing experience in the teaching of robotics. IEEE Revista Iberoamericana de Tecnologias del
Aprendizaje, 10(4):302–309, Nov 2015. ISSN 1932-8540.
CODAS, M. M. B. Development of project management in brazil - a historical overview. In-
ternational Journal of Project Management, 5(3):144 – 148, 1987. ISSN 0263-7863. URL
http://www.sciencedirect.com/science/article/pii/0263786387900184.
COLGATE, J. E., WANNASUPHOPRASIT, W. e PESHKIN, M. A. Cobots: Robots for collab-
oration with human operators. Em Proceedings of the 1996 ASME International Mechanical
Engineering Congress and Exposition, págs. 433–439. ASME, 1996.
CRAIG, J. J. Introduction to robotics: mechanics and control, volume 3. Pearson Prentice Hall
Upper Saddle River, 2005a.
CRAIG, J. J. Introduction to robotics: mechanics and control, volume 3. Pearson Prentice Hall
Upper Saddle River, 2005b.
DAVIDSON, J. K. e HUNT, K. H. Robots and screw theory: applications of kinematics and
statics to robotics. Oxford University Press on Demand, 6 edition, 2004.
DHAOUADI, R. e SLEIMAN, M. A. Development of a modular mobile robot platform: Ap-
plications in motion-control education. IEEE Industrial Electronics Magazine, 5(4):35–45,
2011. ISSN 19324529.
DHILLON, B., FASHANDI, A. e LIU, K. Robot systems reliability and safety: A review.
Journal of quality in maintenance engineering, 8(3):170–212, 2002.
DOCHY, F., SEGERS, M., VAN DEN BOSSCHE, P. e GIJBELS, D. Effects of problem-based
learning: A meta-analysis. Learning and instruction, 13(5):533–568, 2003.
DRATH, R. e HORCH, A. Industrie 4.0: Hit or hype?[industry forum]. IEEE industrial elec-
tronics magazine, 8(2):56–58, 2014.
DRIVE, D., NOTE, R., PRINCIPLES, C. e ROBOTICS, M. 1 Differential Drive Kinematics 2
Forward Kinematics for Differential Drive Robots. Small, 1(3):1–5.
DUDEK, G., JENKIN, M. e JENKIN, M. Computational Principles of Mobile Robotics.
Computational Principles of Mobile Robotics. Cambridge University Press, 2000. ISBN
9780521568760. URL https://books.google.com.br/books?id=\_aGjcRQ5XMMC.
FAA. Human factors design standard. Technical report, 2016. URL http://hf.tc.faa.gov/
publications/2016-12-human-factors-design-standard/full_text.pdf. Acesso em 18/02/2019.
FANUC CORPORATION. Annual report 2015, 2015. URL https://www.fanuc.co.jp/en/ir/
annualreport/pdf/annualreport2015\_e.pdf. Acesso em 02/04/2018.
116
FAYEK, H. M. e ELAMVAZUTHI, I. Real-time implementation of a type-2 fuzzy logic con-
troller to control a dc servomotor with different defuzzification methods. Em Methods and
Models in Automation and Robotics (MMAR), 2013 18th International Conference on, págs.
86–91. IEEE, 2013.
FERNANDES, R. O., FONSECA, M. e CONCEIÇÃO, A. G. Visual servoing with fiducial
landmarks for differential drive mobile robot. Em 2017 Latin American Robotics Symposium
(LARS) and 2017 Brazilian Symposium on Robotics (SBR), págs. 1–6. IEEE, 2017.
FIGUEIREDOI;, L. C. e JOTAI, F. G. Introdução ao controle de sistemas não- holonômicos.
2015. ISBN 1759200600020.
FOR STANDARDIZATION, I. O. ISO 8373:2012, robots and robotic devices - vocabu-
lary. Technical report, 2012. URL https://www.iso.org/obp/ui/\#iso:std:iso:8373:ed-2:v1:en.
Acesso em 20/06/2017.
FRANZONI OKUYAMA, I., PINTO, S. C. e MAXIMO, M. R. O. A. Trajectory Optimization
for a Differential Drive Soccer Robot. 2017.
FRYMAN, J. e MATTHIAS, B. Safety of industrial robots: From conventional to collaborative
applications. Em Robotics; Proceedings of ROBOTIK 2012; 7th German Conference on,
págs. 1–5. VDE, 2012.
GALHARDO, B. H. M. e RIBEIRO, L. P. G. OCOTS: Sistema de treinamento de operadores
de guindaste offshore - modelagem de cenário. Revista Sodebras, 12(141):208–213, 2017.
GALIJAŠEVIĆ, S., MAŠIĆ, Š., SMAKA, S., AKŠAMOVIĆ, A. e BALIĆ, D. Parameter iden-
tification and digital control of speed of a permanent magnet dc motors. Em Information,
Communication and Automation Technologies (ICAT), 2011 XXIII International Sympo-
sium on, págs. 1–7. IEEE, 2011.
GILLESPIE, R. B., COLGATE, J. E. e PESHKIN, M. A. A general framework for cobot control.
IEEE Transactions on Robotics and Automation, 17(4):391–401, 2001.
GONÇALVES, P. C. Protótipo de um robô móvel de baixo custo para uso educacional. 2007.
87f. Tese de Doutorado, Dissertação (Mestrado em Ciência da Computação)–Universidade
Estadual de Maringá, Maringá, Paraná, 2007.
GRAF, B., HANS, M. e SCHRAFT, R. D. Care-o-bot ii—development of a next generation
robotic home assistant. Autonomous robots, 16(2):193–205, 2004.
HÄGELE, M., NEUGEBAUER, J. e SCHRAFT, R. D. From robots to robot assistants. Em
Proc. of the 32nd ISR (International Symposium on Robotics), págs. 19–21, 2001.
HÄGELE, M., SCHAAF, W. e HELMS, E. Robot assistants at manual workplaces: Effective
co-operation and safety aspects. Em Proceedings of the 33rd ISR (International Symposium
on Robotics), volume 7, 2002.
117
HELANDER, M. G. Ergonomics and safety considerations in the design of robotics workplaces:
a review and some priorities for research. International journal of industrial ergonomics, 6
(2):127–149, 1990.
HERSKOVITS, J. A View on Nonlinear Optimization. Book, Chapter, págs. 1–46, 1995.
HIGHFIELD, K., MULLIGAN, J. e HEDBERG, J. Early mathematicslearning through explo-
ration with programmable toys. Em Proceedings of the Joint Meeting of PME, volume 32,
págs. 169–176. Citeseer, 2008.
HINDS, P. J., ROBERTS, T. L. e JONES, H. Whose job is it anyway? A study of human-robot
interaction in a collaborative task. Human-Computer Interaction, 19(1):151–181, 2004.
HOOKER, J. B., DRUSCHKE, M. V. e KUHL, S. A. Enhancing industrial robotics education
with open-source software. American Society for Engineering Education, 2017.
HULL, T. e MINARCIN, M. A. Considerations in collaborative robot system designs and safe-
guarding. SAE International Journal of Materials and Manufacturing, 9(2016-01-0340):545–
551, 2016.
IFR. Executive summary world robotics 2017 industrial robots, 2017a. URL https://ifr.
org/downloads/press/Executive\_Summary\_WR\_2017\_Industrial\_Robots.pdf. Acesso em
06/11/2017.
IFR. Executive summary world robotics 2017 industrial robots, 2017b. URL https://ifr.org/
downloads/press/Executive\_Summary\_WR\_2017\_Industrial\_Robots.pdf. 06 nov. 2017.
IFR. The impact of robots on productivity, employment and jobs, Abr 2017c. URL
https://ifr.org/img/office/IFR\_The\_Impact\_of\_Robots\_on\_Employment.pdf. Acesso em
06/06/2017.
IFR. The impact of robots on productivity, employment and jobs, Abr 2017d. URL https:
//ifr.org/img/office/IFR\_The\_Impact\_of\_Robots\_on\_Employment.pdf. 06 jun. 2017.
IFR. Executive summary world robotics 2017 industrial robots, 2018a. URL https://ifr.org/
downloads/press2018/Executive\_Summary\_WR\_2018\_Industrial\_Robots.pdf. 05 dez.
2018.
IFR. Executive summary world robotics 2018 industrial robots, 2018b. URL https://ifr.org/
downloads/press2018/Executive\_Summary\_WR\_2018\_Industrial\_Robots.pdf. Acesso
em 06/11/2017.
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO 12100:2010, Safety
of machinery - General principles for design - Risk assessment and risk reduction. Technical
report, Genebra, 2010.
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO 10218-1:2011,
Robots for industrial environments - Safety requirements". Technical report, Genebra, 2011.
118
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO 10218-2:2011,
Robots for industrial environments - Robot systems and integration. Technical report, Gene-
bra, 2011.
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION. ISO/TS 15066:2016,
robots and robotic devices - collaborative robots. Technical report, 2016. URL https:
//www.iso.org/obp/ui/\#iso:std:iso:ts:15066:ed-1:v1:en. Acesso em 02/04/2018.
JAMBERSI, A. B. e SILVA, S. D. The subtlety of the quaternions on the rigid body rotations.
Revista Brasileira de Ensino de Física, 38(2):1–14, 2016.
JAZAR, R. N. Theory of applied robotics: kinematics, dynamics, and control. Springer Science
& Business Media, 2 edition, 2010.
JOHNSON, K. L. Contact mechanics. Cambridge university press, 1987.
JUNG, S. Experiences in developing an experimental robotics course program for undergraduate
education. IEEE Transactions on Education, 56(1):129–136, 2013.
KIM, J., LEE, A. S., CHANG, K. e SCHWARZ, B. Dynamic Modeling and Motion Control of
a Three-Link Robotic Manipulator. 4(Icarob):380–383, 2017.
KNOLL, M. The project method: Its vocational education origin and international development.
Journal of Industrial Teacher Education, 34:59–80, 1997.
KROTKOV, E. Robotics laboratory exercises. IEEE Transactions on Education, 39(1):94–97,
Feb 1996. ISSN 0018-9359.
KUMAR, V. Kinematics of Wheeled Robots. (2):1–9, 2006.
LORENZ, W. A., PESHKIN, M. A. e COLGATE, J. E. New sensors for new applications: force
sensors for human/robot interaction. Em Robotics and Automation, 1999. Proceedings. 1999
IEEE International Conference on, volume 4, págs. 2855–2860. IEEE, 1999.
MACEDO, E. e RIBEIRO, L. P. Robótica industrial: vantagem estratégica e desafios. Revista
Sodebras [on line]. v. 10, n.116, Ago./2015, p. 139-144. ISSN 1809-3957, 2015.
MACEDO, F. A. A. Robô Motoman MH5F: Modelagem, simulação e programação auxiliadas
por computador, 2018a.
MACEDO, F. A. A., SOARES, A. G., SANTOS, R. R., SANTOS, F. L. M. e RIBEIRO, L. P. G.
Sistema CARPA: Utilização das cadeias virtuais de Assur no posicionamento de modelos em
CAD 3D do CIM-MECATRIME. Sodebras, 13(147):179–185, 2018.
MACEDO, F. A. D. A. Robô motoman mh5f: modelagem, simulação e programação auxiliadas
por computador, 2018b. 14 set. de 2018.
MADDAHI, Y., SEDDIGH, M., POUR, M. M. e MALEKI, M. Simulation Study and Labora-
tory Results of Two-wheeled Mobile Robot.
119
MALU, S. K. e MAJUMDAR, J. Kinematics, Localization and Control of Differential Drive
Mobile Robot. Global Journal of Researches in Engineering, 14(1):1–8, 2014.
MANUFACTURING TOMORROW. Collaborative robots working in manufac-
turing, 2017. URL https://www.manufacturingtomorrow.com/article/2016/02/
collaborative-robots-working-in-manufacturing/7672/. Acesso em 10/04/2018.
MANYIKA, J., CHUI, M., MIREMADI, M., BUGHIN, J., GEORGE, K., WILLMOTT, P.
e DEWHURST, M. A future that works: Automation, employment, and productivity.
McKinsey Global Institute, New York, NY, "", 2017. URL http://www.mckinsey.com/
global-themes/digital-disruption/harnessing-automation-for-a-future-that-works. 06 nov.
2017.
MARQUES, L. C. O. Metodologia de auxí ao ensino e à aprendizagem em robótica baseada em
helicoides, 2019. 04 mar. de 2019.
MATTHIAS, B. Abb robotics customer days 2013 workshop: Safety status of stardadization,
2013. URL https://library.e.abb.com/public/aa1ce86396e64e73a72cb6dc442108c0/3C%
20Segment%20presentation%20VPC%20Europe_customer%20days_public.pdf. Acesso em
16/02/2019.
MÁXIMO, M. Model Predictive Controller for Trajetory Tracking By Differential Drive Robot
With Actuation Constraints. XII Simpósio Brasileiro de Automação Inteligente (SBAI), págs.
1–6, 2015.
MICHALOS, G., MAKRIS, S., TSAROUCHI, P., GUASCH, T., KONTOVRAKIS, D. e
CHRYSSOLOURIS, G. Design considerations for safe human-robot collaborative work-
places. Procedia CIrP, 37:248–253, 2015.
MINISTÉRIO DA DEFESA. Política Nacional de Defesa, 2012. URL www.defesa.gov.br/
estado-e-defesa/politica-nacional-de-defesa. Acesso em 25/04/2018.
MITNIK, R., NUSSBAUM, M. e SOTO, A. An autonomous educational mobile robot mediator.
Autonomous Robots, 25(4):367–382, 2008.
MOORE, C. A., PESHKIN, M. A. e COLGATE, J. E. A controller for simu-
lating freedom of motion for a cobot. Em Proceedings of the 7th Mechatron-
ics Forum International Conference, 2000. URL https://pdfs.semanticscholar.org/5f66/
7ef7f97ed1602f522fd950d722d151481be2.pdf. 28 abr. 2018.
MOURA, D. G. e BARBOSA, E. F. Trabalhando com projetos: planejamento e gestão de
projetos educacionais. Editora Vozes Limitada, 2017.
MURASHOV, V., HEARL, F. e HOWARD, J. Working safely with robot workers: Recommen-
dations for the new workplace. Journal of occupational and environmental hygiene, 13(3):
D61–D71, 2016.
MURO, M. e ANDES, S. Robots seem to be improving productivity, not costing jobs, 2015.
URL https://hbr.org/2015/06/robots-seem-to-be-improving-productivity-not-costing-jobs.
06 nov. 2017.
120
MYINT, C. e WIN, N. N. TABLE I EFFECTS OF INCREASING EACH OF THE PID PA-
RAMETERS Response Rise Time Overshoot Settling Time Steaty-state Error. International
Journal of Science, Engineering and Technology Research, 5(9):2278–7798, 2016.
NAGAI, K. Learning while doing: practical robotics education. IEEE Robotics Automation
Magazine, 8(2):39–43, Jun 2001. ISSN 1070-9932.
NOF, S. Handbook of Industrial Robotics. Number v. 1. Wiley, 1999.
NORTON, R. L. Cinemática e dinâmica dos mecanismos. AMGH Editora, 2010.
ORE, F. Human-industrial robot collaboration: Simulation, visualisation and optimisation of
future assembly workstations, 2015.
PACK, D. J., AVANZATO, R., AHLGREN, D. J. e VERNER, I. M. Fire-fighting mobile robotics
and interdisciplinary design-comparative perspectives. IEEE Transactions on Education, 47
(3):369–376, Aug 2004. ISSN 0018-9359.
PAN, Z., POLDEN, J. e LARKIN, N. et al. Recent progress on programming methods for in-
dustrial robots. In: INTERNATIONAL SYMPOSIUM ON ROBOTICS(ISR), 41 /GERMAN
CONFERENCE ON ROBOTICS, 6, 2010. 2012. p. 619-626. ISBN: 978-3-8007-3273-9.
PASSOS, A. C., NETO, W. B. M. e DIAS, M. H. C. O processo de transformação do instituto
militar de engenharia no contexto do sistema defesa, indústria e academia. Revista Militar
de Ciência e Tecnologia, 34, 2017. URL http://rmct.ime.eb.br/arquivos/revistas/RMCT\_1\
_sem\_2017.pdf\#page=21. 09 no. de 2017.
PEDROCCHI, N., VICENTINI, F., MATTEO, M. e TOSATTI, L. M. Safe human-robot coop-
eration in an industrial environment. International Journal of Advanced Robotic Systems, 10
(1):27, 2013.
PIEPMEIER, J. A., BISHOP, B. E. e KNOWLES, K. A. Modern robotics engineering instruc-
tion. IEEE Robotics Automation Magazine, 10(2):33–37, June 2003. ISSN 1070-9932.
PIGNATO, C.; OSTETTI, V. Importação e exportação: o desempenho dos países
e dos produtos, 2016. URL https://www.nexojornal.com.br/grafico/2016/12/21/
Importacao-e-exportacao-o-desempenho-dos-paises-e-dos-produtos. Acesso em
27/11/2017.
PILTAN, F., YARMAHMOUDI, M. H., SHAMSODINI, M., MAZLOMIAN, E. e HOSAIN-
POUR, A. Puma-560 robot manipulator position computed torque control methods using
matlab/simulink and their integration into graduate nonlinear control and matlab courses.
2012.
POPIL, R. Physical Testing of Paper. Smithers Information Limited, 2017. ISBN
9781910242933. URL https://books.google.com.br/books?id=lQJNDwAAQBAJ.
RIA. Abb introduces yumi, world’s first truly collaborative dual-arm robot,
2015. URL https://www.robotics.org/content-detail.cfm/Industrial-Robotics-News/
ABB-introduces-YuMi-world-s-first-truly-collaborative-dual-arm-robot/content\_id/5325.
Acesso em 03/04/2018.
121
RIBEIRO, L. R. C., ESCRIVÃO FILHO, E. e MIZUKAMI, M. Uma experiência com a pbl
no ensino de engenharia sob a ótica dos alunos. Em Congresso Brasileiro de Ensino de
Engenharia, 2003.
RIBEIRO, L. P. G. Modelagem Cinemática de Sistemas Robóticos Cooperativos: Proposta de
um Jacobiano de Cooperação. Tese de Doutorado, Universidade Federal de Santa Catarina,
Santa Catarina, 2010.
RIBEIRO, M. I. e LIMA, P. Kinematics models of mobile robots. Instituto de Sistemas e Robot-
ica, págs. 1000–1049, 2002. ISSN 1042-296X. URL http://www.gajest.com/attachment/
cfile23.uf@2013BD154C886C7057FC4A.pdf.
ROCHA, C., TONETTO, C. e DIAS, A. A comparison between the denavit–hartenberg and
the screw-based methods used in kinematic modeling of robot manipulators. Robotics and
Computer-Integrated Manufacturing, 27(4):723–728, 2011.
SANTOS, F., SANTOS, R. e RIBEIRO, L. P. Fatores de influência da programação on-line no
tempo de execução de uma tarefa realizada pelo robô pegasus. Sodebras [online], 11(129):
174–179, 2016a.
SANTOS, F. L. M., SANTOS, R. R., MACEDO, F. A. A., MARQUES, L. C. O. e RIBEIRO, L.
P. G. Capron: Avaliação da eficiência do simulador na aprendizagem de programação on-line
do robô pegasus. Em XXXVII International Sodebras Congress, págs. 193–198, Fortaleza,
2017a. Sodebras. URL http://www.sodebras.com.br/edicoes/N141.pdf. 30 set. de 2017.
SANTOS, F. L. M., SANTOS, R. R., MACEDO, F. A. A., MARQUES, L. C. O. e RIBEIRO,
L. P. G. CAPRON: Avaliação da eficiência do simulador na aprendizagem de progra-
mação on-line do robô pegasus. Em XXXVII International Sodebras Congress, págs. 193–
198, Fortaleza, 2017b. Sodebras. URL http://cbsoft2013.unb.br/wp-content/uploads/2013/
10/SBES-completo.pdf. 30 set. de 2017.
SANTOS, F. L. M. Modelagem e simulação de robôs seriais baseadas em helicóides, 2017. 30
set. de 2017.
SANTOS, R. R., MACEDO, F., SANTOS, F. L. e RIBEIRO, L. P. G. O uso de cad 3d no
planejamento da programação on-line de uma operação de montagem usando robô pegasus.
Revista Sodebras [on line], 12(135):185 –190, Mar. 2016b.
SATO, D. T., CORBUCCI, H. e BRAVO, M. V. Coding dojo: An environment for learning
and sharing agile practices. Em Agile, 2008. AGILE’08. Conference. IEEE, págs. 459–464,
2008.
SAUPPÉ, A. e MUTLU, B. The social impact of a robot co-worker in industrial settings. Em
Proceedings of the 33rd annual ACM conference on human factors in computing systems,
págs. 3613–3622, 2015.
SCHRAFT, R. D., MEYER, C., PARLITZ, C. e HELMS, E. Powermate–a safe and intuitive
robot assistant for handling and assembly tasks. Em Robotics and Automation, 2005. ICRA
2005. Proceedings of the 2005 IEEE International Conference on, págs. 4074–4079. IEEE,
2005.
122
SHEA, R. N. Collaborative robot technical specification iso/ts 15066 up-
date, 2016. URL http://me.umn.edu/courses/me5286/robotlab/Resources/
12-TR15066Overview-SafetyforCollaborativeApplications-RobertaNelsonShea.pdf. Acesso
em 16/02/2019.
SICILIANO, B., SCIAVICCO, L., VILLANI, L. e ORIOLO, G. Robotics: Modelling, Planning
and Control. Advanced Textbooks in Control and Signal Processing. Springer London, 2010.
ISBN 9781846286414. URL https://books.google.com.br/books?id=jPCAFmE-logC.
SICILIANO, B. e KHATIB, O. Springer handbook of robotics. Springer, 2008.
SICILIANO, B., SCIAVICCO, L., VILLANI, L. e ORIOLO, G. Robotics: modelling, planning
and control, volume 26. Springer, 2009a.
SICILIANO, B., SCIAVICCO, L., VILLANI, L. e ORIOLO, G. Robotics: modelling, planning
and control, volume 26. Springer, 2009b.
SIEGWART, R. e NOURBAKHSH, I. R. Introduction to Autonomous Mobile Robots, vo-
lume 23. 2004a. ISBN 026219502X.
SIEGWART, R. e NOURBAKHSH, I. R. Introduction to Autonomous Mobile Robots, vo-
lume 23. 2004b. ISBN 026219502X.
SILVA, A. F. D. RoboEduc: uma metodologia de aprendizado com robótica educacional. 2009.
127 f. Tese de Doutorado, Tese (Doutorado em Engenharia Computacional)–Pós-graduação
em Engenharia Elétrica. Universidade Federal do Rio Grande do Norte, Natal, 2009.
SILVA, F., LUNA-FINKLER, C. e FINKLER, L. Ferramentas da qualidade no desenvolvimento
de novos produtos alimentícios. Blucher Chemical Engineering Proceedings, 1(2):3193–
3200, 2015.
SLACK, N., BRANDON-JONES, A. e JOHNSTON, R. Administração da produção (2a. ed.).
Grupo Gen - Atlas, 2002a.
SLACK, N., BRANDON-JONES, A. e JOHNSTON, R. Administração da produção (2a. ed.).
Grupo Gen - Atlas, 2002b.
SOARES, J. C. V. Graph Optimization and Probabilistic SLAM of Mobile Robots using an
RGB-D Sensor João Carlos Virgolino Soares Graph Optimization and Probabilistic SLAM
of Mobile Robots using an RGB-D Sensor. Technical Report March, 2018.
SPONG, M. W., HUTCHINSON, S. e VIDYASAGAR, M. Robot Dynamics and Control. John
Wiley and Sons, 2 edition, 2004.
SPRINGER. 2 Derivative Filter Design 2.1. 2006. URL http://www.springer.com/
987-1-84628-585-1.
STEFFEN, H. H. Robótica pedagógica na educação: Um recurso de comunicação, regulagem e
cognição. Tese de Doutorado, Universidade de São Paulo, SP, 2002.
123
TAN, J. T. C., DUAN, F., ZHANG, Y., WATANABE, K., KATO, R. e ARAI, T. Human-robot
collaboration in cellular manufacturing: Design and development. Em Intelligent Robots
and Systems, 2009. IROS 2009. IEEE/RSJ International Conference on, págs. 29–34. IEEE,
2009.
TENENBAUM, R. A. Dinâmica. Editora UFRJ, 1997.
THOMAS, D. Code kata: How to become a better developer, abril 2016. URL http://codekata.
com/.
TOPIWALA, A. Modeling and Simulation of a Differential Drive Mobile Robot. 7:1410–1415,
2016.
TORRES, E. O. C. Traction Modeling and Control of a Differential. Technical report, 2013.
TRINDADE, M. e SAMPAIO, R. Uma revisão sobre a parametrização de rotações finitas na
dinâmica de corpos rígidos. Journal of the Brazilian Society of Mechanical Sciences, 22(2):
341–377, 2000.
TSAI, L.-W. Robot analysis: the mechanics of serial and parallel manipulators. John Wiley &
Sons, 1999a.
TSAI, L.-W. Robot analysis: the mechanics of serial and parallel manipulators. John Wiley &
Sons, 1999b.
UNIVERSAL ROBOTS. E-series online training, 2019. URL https://www.universal-robots.
com/academy/. Acesso em 04/03/2019.
WADA, T., ISHIKAWA, M., KITAYOSHI, R., MARUTA, I. e SUGIE, T. Practical modeling
and system identification of r/c servo motors. Em Control Applications,(CCA) & Intelligent
Control,(ISIC), 2009 IEEE, págs. 1378–1383. IEEE, 2009.
WANNASUPHOPRASIT,W., GILLESPIE, R. B., COLGATE, J. E. e PESHKIN, M. A. Cobot
control. Em Robotics and Automation, 1997. Proceedings., 1997 IEEE International Confer-
ence on, volume 4, págs. 3571–3576. IEEE, 1997.
WEISS, J. W. e WYSOCKI, R. K. Five 5-phase Project Management: A Practical Planning &
Implementation Guide. Addison-Wesley, 1992.
WHITTY, M. Robotics, Vision and Control. Fundamental Algorithms in MATLAB, vo-
lume 39. 2012. ISBN 3540221085. URL http://www.emeraldinsight.com/doi/10.1108/ir.
2012.04939faa.005.
ZANCHETTIN, A. M., CERIANI, N. M., ROCCO, P., DING, H. e MATTHIAS, B. Safety in
human-robot collaborative manufacturing environments: Metrics and control. IEEE Trans-
actions on Automation Science and Engineering, 13(2):882–893, 2016.
124
8 APÊNDICES
125
8.1 TEORIA DOS HELICOIDES
Inicialmente é apresentado o conceito de helicoide, o que possibilitará determinar as ma-
trizes de rotação e de transformação homogênea baseadas nos parâmetros dos helicoides, para
tal, segue a formalização de sua definição.
Segundo DAVIDSON & HUNT (2004), um helicoide é um ente geométrico definido por:
1. uma reta no espaço que representa a direção do seu eixo, em torno do qual rotaciona ou
ao longo do qual translada, designada pelo vetor unitário s;
2. um vetor s0, ligando a origem do referencial, a qualquer ponto pertencente ao eixo do
helicoide;
3. um ângulo θ, cuja variação caracteriza o movimento de rotação em torno do eixo do
helicoide; e
4. um comprimento d, cuja variação representa a translação ao longo do eixo do helicoide.
Utilizando estes quatro parâmetros é possível caracterizar completamente o deslocamento
de um ponto solidário a um corpo rígido que execute uma trajetória helicoidal, conforme repre-
sentado na figura . 8.1.
FIG. 8.1: Representação de um helicoide associado a um corpo rígido e sua análise vetorial
(Adaptado de MACEDO (2018b))
Segundo o Teorema de Chasles, o movimento de um ponto a outro de qualquer corpo
rígido pode ser interpretado como uma rotação em torno de um eixo RAB concomitante a uma
126
translação ao longo do mesmo qA. Essa movimentação, partindo de um posição conhecida pB
para uma posição alvo pA, está diretamente associada a um deslocamento helicoidal, sendo
representado por:
pA = RABp
B + qA (8.1)
A generalização da relação estabelecida na Eq. 8.1 permite que a mesma seja representada
na forma compacta, ou seja:
p̃A = TABp̃
B (8.2)
onde o vetor p̃A = [ pAT 1 ]T representa a posição alvo (ou posição após deslocamento )
em sua forma homogênea; p̃B = [ pBT 1 ]T a forma homogênea do vetor que representa a
posição de referência (ou posição anterior ao deslocamento); TAB a MTH, composta pela rotação
RAB e da translação q
A, de maneira que
p̃A =
[
pA
1
]
=
[
RAB q
A
0 1
][
pB
1
]
=
[
RAB q
A
0 1
]
p̃B (8.3)
Conforme indicado por TSAI (1999b), tanto RAB quanto q
A são definidos em função dos
quatro parâmetros de um helicoide. Essas definições encontram-se deduzidas e apresentadas
nas seções seguintes.
8.1.1 ROTAÇÃO PURA DE UM HELICOIDE
O eixo, em torno do qual um corpo rotaciona, pode ser representado por meio de um heli-
coide e um ponto sobre esse eixo não sofre mudanças de coordenadas, sendo possível associar
uma matriz de rotação entre duas posições distintas, em função do ângulo de rotação θ em torno
do eixo do helicoide e as componentes do vetor unitário s.
127
FIG. 8.2: Representação da rotação de um helicoide (Adaptado de TSAI (1999b))
Para isso, admite-se o vetor unitário s = [sx, sy, sz]T e o sistema de eixos cartesianos
(x, y, z) sendo o referencial fixo. Seja P1 a posição inicial de um ponto P pertencente ao corpo
rígido e P r2 corresponda à posição final do ponto P entre dois deslocamentos sucessivos. Neste
caso ocorre uma rotação em torno do eixo do helicoide s da posição P1 para P r2 . Seja SP um
ponto sobre o eixo do helicoide pertencente ao plano perpendicular e que contenha os pontos
P1 e P r2 . A análise da geometria representada pela figura 8.2, têm-se as seguintes expressões
vetoriais:
OP1 = OSP + SPP1 (8.4)
OP1 = p1 (8.5)
OSP = sp = (p1 · s)s (8.6)
Assim sendo, tem-se que:
SPP1 = p1 − (p1 · s)s (8.7)
De maneira análoga, têm-se que:
SPP
r
2 = p
r
2 − (pr2 · s)s (8.8)
Considera-se a interseção do plano perpendicular à s, passando pelos pontos P1, P r2 e Sp
representados na figura 8.3, onde SpN é a projeção de SPP r2 sobre SPP1. Logo, NP
r
2⊥SPP1
e:
SPN = SPP
r
2 cos θ (8.9)
128
Porém, SPP r2 equivale à SPP1, pois corresponde ao raio de uma semi-circunferência devido
a rotação de θ em torno de SP . Então,
SPN = SPP1 cos θ (8.10)
FIG. 8.3: Projeção de SPP r2 sobre SPP1 (Adaptado de TSAI (1999b))
Sabendo ainda que:
s× SPP r2 = s× [p1 − (p1 · s) s] =
= s× p1 − s× (p1 · s) s =
= s× p1 − (p1 · s) (s× s) =
= s× p1
(8.11)
129
uma vez que (s× s) = 0.
Deseja-se escrever a seguinte soma vetorial:
SPP
r
2 = SPN +NP
r
2 (8.12)
Para isso, tem-se que:
NP r2 = |NP r2 |
[
s× SPP1
|SPP1|
]
(8.13)
Como:
|NP r2 | = |SPP r2 | senθ = |SPP1| senθ (8.14)
Assim:
NP r2 = (s× SPP1) senθ (8.15)
Os outros dois termos são:
SPN = SPP1 cos θ (8.16)
SPP
r
2 = p
r
2 − (pr2 · s)s (8.17)
Logo, a soma vetorial desejada fica:
SPP
r
2 = SPN +NP
r
2 (8.18)
pr2 − (pr2 · s)s = SPP1 cos θ + (s× SPP1) senθ (8.19)
Como:
SPP1 = p1 − (p1 · s)s (8.20)
p1 · s = pr2 · s (8.21)
Tem-se que:
pr2 − (p1 · s)s = (p1 − (p1 · s)s) cos θ + (s× (p1 − (p1 · s)s)) senθ (8.22)
130
Isolando pr2, tem-se:
pr2 = (p1 · s)s− (p1 · s)s cos θ + p1 cos θ + (s× p1 − (p1 · s) (s× s)) senθ (8.23)
pr2 = p1 cos θ + (1− cos θ) (p1 · s)s + (s× p1) senθ (8.24)
A EQ. 8.24 é conhecida como fórmula de Rodrigues para o deslocamento esférico (TSAI,
1999b).
É possível colocar na forma do Teorema de Euler (pA = RABp
B), de modo a determinar as
componentes da matriz de rotação, fazendo p1 = pB e pr2 = p
A:
pA = pB cos θ + (1− cos θ) (pB · s)s +
(
s× pB
)
senθ (8.25)
Ficando, dessa forma, igual à: 
pAx
pAy
pAz
 = RAB

pBx
pBy
pBz
 (8.26)
Onde:
RAB =

cθ + s
2
x(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θ sxsz(1− cθ) + sysθ cθ + s2z(1− cθ)
 (8.27)
sendo sθ e cθ notações utilizadas para a representação compacta de senθ e cos θ, respectiva-
mente.
8.1.2 DESLOCAMENTO HELICOIDAL
Ao londo do deslocamento helicoidal completo, o ponto P dispõem-se em três posições
distintas: P1, P r2 e P2, conforme representado na figura 8.4. Existe uma rotação θ entre P1 e
P r2 , e uma translação d entre P
r
2 e P2. A direção do eixo do helicoide é dada pelo vetor s, onde
ocorrerá a translação e a rotação. A localização do eixo do helicoide é representada pelo vetor
131
s0 que aponta da origem para qualquer ponto do eixo do helicoide, determinado-o no espaço
tridimensional. Dessa forma, o deslocamento helicoidal é completamente determinado por s,
s0, θ e d.
FIG. 8.4: Rotação e translação em torno de um único eixo (Adaptado de TSAI (1999b))
Analisando a figura 8.4, são estabelecidas as seguintes somas vetoriais:
p1 = s0 + S0P1 (8.28)
p2 = S0P
r
2 + s0 + ds (8.29)
que substituídas na Fórmula de Rodrigues, representada na EQ. 8.24, passam ter a seguinte
forma
s0P
r
2 = s0P1 cos θ + (1− cos θ) (s0P1 · s)s + (s× s0P1) sin θ
p2 − s0 − ds = (p1 − s0) cos θ + (1− cos θ) ((p1 − s0) · s) s + (s× (p1 − s0)) sin θ
p2 = s0 + ds + (p1 − s0) cos θ + (1− cos θ) ((p1 − s0) · s) s + (s× (p1 − s0)) sin θ
p2 = p1 cos θ + (1− cos θ) (p1 · s) s + (s× p1) sin θ+
+ s0 + ds− s0 cos θ − (1− cos θ) (s0 · s) s− (s× s0) sin θ
(8.30)
Colocando na forma do Teorema de Chasles, fazendo p1 = pB e pr2 = p
A.
pA = RAB p
B + qA
pA = pB cos θ + (1− cos θ)
(
pB · s
)
s +
(
s× pB
)
sin θ+
+ s0 + ds− s0 cos θ − (1− cos θ) (s0 · s) s− (s× s0) sin θ
(8.31)
132
O termo da rotação é idêntico ao analisado na rotação em torno de um ponto, o que implica
que as componentes da matriz de rotação são as mesmas, o que não poderia deixar de ser, vistoque é uma soma vetorial:
Apx
Apy
Apz
 =
=

cos θ + s2x (1− cos θ) sysx (1− cos θ)− sz sin θ szsx (1− cos θ) + sy sin θ
sxsy (1− cos θ) + sz sin θ cos θ + s2y (1− cos θ) szsy (1− cos θ)− sx sin θ
sxsz (1− cos θ)− sy sin θ sysz (1− cos θ) + sx sin θ cos θ + s2z (1− cos θ)
 .
.

pBx
pBy
pBz
+

Aqx
Aqy
Aqz
 (8.32)
Associando ainda os termos da translação, é possível encontrar:
Aqx
Aqy
Aqz
 = s0 + ds− s0 cos θ − (1− cos θ) (s0 · s) s− (s× s0) sin θ =
=

s0x
s0y
s0z
+ d

sx
sy
sz
−

s0x
s0y
s0z
 cos θ+
− (1− cos θ) (sxs0x + sys0y + szs0z)

sx
sy
sz
−
∣∣∣∣∣∣∣∣
i j k
sx sy sz
s0x s0y s0z
∣∣∣∣∣∣∣∣ sin θ =
=

s0x(1 + cos θ) + sx (d− (1− cos θ) (sxs0x + sys0y + szs0z))− (sys0z − szs0y) sin θ
s0y(1 + cos θ) + sy (d− (1− cos θ) (sxs0x + sys0y + szs0z))− (szs0x − sxs0z) sin θ
s0z(1 + cos θ) + sz (d− (1− cos θ) (sxs0x + sys0y + szs0z))− (sxs0y − sys0x) sin θ
 =
133
=

d sx + s0x(1 + cos θ)− (1− cos θ) (s2xs0x + sxsys0y + sxszs0z)− (sys0z − szs0y) sin θ
d sy + s0y(1 + cos θ)− (1− cos θ)
(
sysxs0x + s
2
ys0y + syszs0z
)
− (szs0x − sxs0z) sin θ
d sz + s0z(1 + cos θ)− (1− cos θ) (szsxs0x + szsys0y + s2zs0z)− (sxs0y − sys0x) sin θ
 =
=

d sx + s0x (1− (cos θ + (1− cos θ) s2x))
d sy − s0x (sz sin θ + (1− cos θ) sysx)
d sz − s0x (−sy sin θ + (1− cos θ) szsx)
∣∣∣∣∣∣∣∣+
+
∣∣∣∣∣∣∣∣
−s0y ((1− cos θ) sxsy − sz sin θ)
s0y
(
1−
(
cos θ + (1− cos θ) s2y
))
−s0y ((1− cos θ) szsy + sx sin θ)
∣∣∣∣∣∣∣∣+
+
∣∣∣∣∣∣∣∣
−s0z ((1− cos θ) sxsz + sy sin θ)
−s0z ((1− cos θ) sysz − sx sin θ)
s0z (1− (cos θ + (1− cos θ) s2z))
 =
=

d sx + s0x (1− a11)− s0ya12 − s0za13
d sy − s0xa21 + s0y (1− a22)− s0za23
d sz − s0xa31 − s0ya32 + s0z (1− a33)
 =
=

d sx + s0x − s0xa11 − s0ya12 − s0za13
d sy + s0y − s0xa21 − s0ya22 − s0za23
d sz + s0z − s0xa31 − s0ya32 − s0za33
 =
=

d sx
d sy
d sz
+

s0x
s0y
s0z
−

a11 a12 a13
a21 a22 a23
a31 a32 a33


s0x
s0y
s0z
 =
= d s + s0 −RABs0
Assim:
qA = d s + [I−RAB]s0 (8.33)
Para calcular s0, tem-se:
qA − d s = [I−RAB]s0 (8.34)
134
s0 = [I−RAB]−1
[
qA − d s
]
(8.35)
Assim, para o deslocamento helicoidal, tem-se que a equação do Teorema de Chasles pode
ser reescrita como:
pA = RAB p
B + qA (8.36)
qA = d s + [I−RAB]s0 (8.37)
pA = RAB p
B + d s + [I−RAB]s0 (8.38)
A Matriz de Transformação Homogênea baseada em Helicoides pode ser escrita como:
TAB =

a11 a12 a13 q
A
x
a21 a22 a23 q
A
y
a31 a32 a33 q
A
z
0 0 0 1
 =
=
[
RAB d s + [I−RAB]s0
0 1
] (8.39)
onde:
qAx = d sx + s0x − s0x a11 − s0y a12 − s0z a13 (8.40)
qAy = d sy + s0y − s0x a21 − s0y a22 − s0z a23 (8.41)
qAz = d sz + s0z − s0x a31 − s0y a32 − s0z a33 (8.42)
A forma homogênea do vetor pA =
[
pAx , p
A
y , p
A
z
]T é representada por p̃A = [pAx , pAy , pAz , 1]T .
Assim, tem-se que:
p̃A = TABp̃
B (8.43)
A Matriz de Transformação Homogênea possui inversa, embora não seja ortogonal, ou seja,
[TAB ]
−1 6= [TAB ]T , e pode ser calculada pré-multiplicando a fórmula do teorema de Chasles pelo
inverso da matriz de rotação, como segue:
[RAB]
−1 pA = [RAB]
−1 RAB p
B + [RAB]
−1 qA (8.44)
135
Como a matriz de rotação é ortogonal, sua inversa é igual a sua transposta:
[RAB]
−1 = [RAB]
T (8.45)
pB = [RAB]
−1 pA − [RAB]−1 qA (8.46)
p̃B = [TAB]
−1p̃A (8.47)
Logo:
[TAB]
−1 =

[RAB]
T −d[RAB]T s −
[
[RAB]
T − I
]
s0
0 1
 (8.48)
Outra alternativa para a utilização do Teorema de Chasles é a sua representação completa,
em termos não só das posições pA e pB do corpo rígido, mas também em função de sua orien-
tação. Dessa forma, a EQ. 8.43 passa a ser reescrita como
TA = TABT
B = TAB
[
I pB
0 1
]
(8.49)
onde TA e TB representam as matrizes com as informações de localização (posição e orien-
tação) alvo e de referência do corpo rígido, respectivamente.
8.1.3 MÉTODO DOS DESLOCAMENTOS DOS HELICOIDES SUCESSIVOS
A análise proposta anteriormente foi feita para apenas um único ponto, entretanto, para uma
cadeia cinemática composta por múltiplos corpos rígidos unidos por juntas, se faz necessária a
utilização do Método dos Deslocamentos dos Helicoides Sucessivos (MDHS) para a determi-
nação da posição e da orientação do último corpo pertencente a cadeia, ou seja, a ferramenta.
Esse método propõe a existência de um helicoide resultante, oriundo de deslocamentos heli-
coidais sucessivos, ou seja, do produtório das MTH relativas aos helicoides que compõem sua
cadeia cinemática.
Seja um corpo rígido composto de dois pares cinemáticos, como mostra a figura 8.5. A
primeira junta conecta o “elo móvel 1” ao eixo fixado à base, e a segunda junta conecta o “elo
móvel 2” ao eixo móvel, que é solidário ao elo móvel 1. O movimento os corpos sucessivos
ocorre ao longo e em torno dos helicoides $1 e $2.
Portanto, o corpo rígido pode se deslocar sobre dois eixos, que são completamente definidos
pelos vetores s e s0 de cada um dos helicoides $1 e $2 . O deslocamento pode ser simultâneo,
136
FIG. 8.5: Representação do deslocamento de um corpo com dois helicoides sucessivos (Adap-
tado de RIBEIRO (2010))
ou seja, o corpo pode girar de um ângulo θ1 e θ2 em torno dos helicoides $1 e $2, bem como,
pode ocorrer a translação de d1 e d2 sobre cada um dos eixos de juntas ou sobre cada um dos
helicoides $1 e $2.
Considerando o deslocamento (θ1, d1) sobre o eixo s do Helicoide $1 posicionado em re-
lação a um dado referencial pelo vetor s0, fica representado devidamente pelo próprio Helicoide
$1, ou seja, função de $1(s, s0, θ1, d1) tendo a sua matriz de transformação homogênea dada por
T1, de maneira que
T1 =

R1(3×3) d1s$1(1×3) + (I(3×3) −R1(3×3))3×3s0$1 (1×3)
0 1
 (8.50)
onde
R1 =

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θ sxsz(1− cθ) + sysθ cθ + s2y(1− cθ)
 (8.51)
137
e
d1s$1(1×3)+(I(3×3)−R1(3×3))3×3s0$1 (1×3) =

d1sx + s0x(1− a11)− s0ya12 − s0za13
d1sy − s0xa21 + s0y(1− a22)− s0za23
d1sz − s0xa31 − s0ya32 + s0z(1− a33)
 (8.52)
Partindo de uma posição inicial ocorrem deslocamentos sucessivos, onde primeiro há um
giro de θ2 em torno do helicoide $2 e uma translação d2 sobre o mesmo, que tem associada a
matriz de transformação homogênea T2. Esta junta por sua vez é passível de sofre variação de
posição por conta da junta 1, ou seja, outro giro de θ1 e uma translação de d1 sobre o helicoide
$1, que, por sua vez, tem associada a matriz de transformação homogênea T1. Assim, existe
um helicoide $ resultante que tem associada a matriz de transformação homogênea resultante,
dada por Tr, resultado do produtório das respectivas matrizes relacionadas aos deslocamentos
de helicoides sucessivos, respeitando a ordem em que ocorrem, conforme a sequência da cadeia
cinemática, ou seja:
Tr = T1T2 (8.53)
A mesma metodologia se aplica para n-elos, sendo a ordem do deslocamento observada,
onde o elo mais suscetível ao deslocamento dos anteriores tem sua matriz de transformação
homogênea pré-multiplicada pelas n − 1 matrizes que a influenciam, e assim sucessivamente
até ser pré-multiplicada pela matriz de transformação homogênea do primeiro deslocamento.
Essa teoria é adequada para determinação da cinemática direta de manipuladores seriais de
mais de um elo, como mostra a figura 8.6. É usual (TSAI, 1999b) numerar os helicoides em
ordem crescente da base em direção à ferramenta, podendo assim obter o helicoide resultante,
ou seja:
Tr = T1T2 . . .Tn−1Tn (8.54)
onde n é o número de juntas do robô a ser analisado.
Vale ressaltar que esta metodologia se aplica de maneira instantânea, ou seja, conhecida
uma posição de referência conhecida, o manipulador se desloca da mesma para uma posição
alvo desejada, por meio de uma série de deslocamentos de helicoides finitos sucessivos sobre
os eixos das juntas. Em outras palavras, a rotação do n-ésimo eixo da junta,seguido por outro
sobre o (n− 1)-ésimo eixo da junta, e assim por diante.
138
FIG. 8.6: Deslocamento de um corpo por n helicoides sucessivos (TSAI, 1999b)
8.1.4 MODELAGEM CINEMÁTICA ATRAVÉS DA TEORIA DOS HELICOIDES
Assim como SICILIANO et al. (2009b) apresentam uma sistematização para o processo de
modelagem de manipuladores seriais pela convenção de D-H, ROCHA et al. (2011) propõem
uma sequência de passos para a realização da modelagem de robôs industriais utilizando a
Teoria dos Helicoides e MDHS. Estes passos encontram-se listados abaixo:
1. Escolher um sistema de coordenadas fixo (Referencial Absoluto);
2. identificar corpos, juntas e eixos;
3. identificar os parâmetros dos helicoides;
4. construir MTH de cada junta, assim como a matriz com a localização de referência da
ferramenta;
5. aplicar o MDHS com a MTHde cada junta; e
6. multiplicar o resultado do MDHS com a matriz da ferramenta.
139
8.2 CINEMÁTICA DIFERENCIAL E INVERSA
A representação completa de um helicoide é feita pelo símbolo $, de maneira que:
$ = q̇$̂ (8.55)
onde $̂ é o helicoide unitário e q̇ é a sua intensidade. A intensidade, pode ser q̇ = θ̇ para um
caso de movimento rotacional e q̇ = ḋ para deslocamento linear, ou prismático.
O vetor unitário $̂ é definido por duas coordenadas:
$̂ =
[
s
s0 × s+ hs
]
=

sx
sy
sz
(s0ysz − s0zsy) + hsx
(s0zsx − s0xsz) + hsy
(s0xsy − s0ysx) + hsz

(8.56)
onde s é o eixo da direção da rotação de um ponto, s0 é o vetor posição instantâneo de s em
relação ao referencial absoluto. Já h é a razão entre a translação ao longo do eixo de helicoide
e o sua rotação, sendo h = d/θ para o deslocamento finito ou h = ḋ/θ̇ para deslocamento
infinitesimal. Nos casos de rotação e translação puras, a EQ. 8.56 passa a ser reescrita conforme
representado nas EQ. 8.57 e 8.58, respectivamente.
$̂rot =
[
s
s0 × s
]
(8.57)
$̂trans =
[
0
s0 × s+ hs
]
(8.58)
CINEMÁTICA DIFERENCIAL DIRETA E INVERSA
A Cinemática Diferencial tem como objetivo determinar e relacionar as velocidades linear e
angular do efetuador final em função das velocidades das juntas, ou seja, a variação da posição
na base do tempo da garra do robô em função da variação da magnitude de cada junta do robô.
Em geral, busca-se a relação entre
140
ve =
[
ω
ṗ
]
=
[
ωx ωy ωz ṗx ṗy ṗz
]T
(8.59)
onde ve é o vetor que representa a velocidade generalizada do efetuador, com componentes de
velocidade angular, ωx, ωy e ωz, e componentes de velocidade linear, ṗx, ṗy e ṗz, e
q̇ =
[
q̇1 q̇2
... q̇n−1 q̇n
]T
(8.60)
com o vetor das juntas q̇ que consolida as velocidades individuais de cada junta.
Segundo SICILIANO et al. (2009b), existe uma matriz que representa a transformação lin-
ear entre o espaço das juntas e o operacional, de maneira que
ve = J(q)q̇ (8.61)
J(q) é uma matriz (6 × n), para o caso do espaço euclidiano, chamada de Jacobiano, que
pode ser subdividida em duas partes: uma relacionada à velocidade angular, Jω(q), e outra à
velocidade linear, Jv(q). Para o caso de um deslocamento helicoidal, o Jacobiano pode ser
rescrito como
J(q) =
[
Jw(q)
Jv(q)
]
(8.62)
Por outro lado, a Equação 8.61 admite a possibilidade da análise do problema inverso, onde,
conhecidas as velocidades da ferramenta, busca-se encontrar as velocidades de cada junta. Para
isso, basta a inversão da matriz jacobiana e, assim, a Equação 8.61 toma a forma de
q̇ = J−1(q)ve (8.63)
Através do conceito de CVA -cadeias virtuais de Assur, enunciado por CAMPOS et al.
(2005), é possível realizar o fechamento da cadeia cinemática de um manipulador serial, origi-
nalmente aberta e, sendo possível utilizá-las para a determinação da cinemática diferencial. A
Figura 8.7 representa a cadeia cinemática de um robô com n juntas, fechada através de uma
CVA ortogonal, descrita por três translações (3P) ao longo dos eixos x, y e z, Px, Py e Pz,
seguidas por três rotações (3R) em torno de x, y e z, Rx, Ry e Rz.
141
FIG. 8.7: Representação do fechamento de cadeia de um manipulador serial com n juntas
Segundo a Lei de Circulação de Kirchhoff-Davies, “a soma algébrica das velocidades rel-
ativas dos pares cinemáticos ao longo de uma cadeia serial fechada é zero” (CAMPOS et al.,
2005).
De forma geral, a representação do movimento relativo entre os elos n e n−1 pode ser feita
por meio do helicoide $n. Com isso, a Lei de Circulação de Kirchhoff-Davies, obedecendo o
sentido e a ordem da circulação, pode ser descrita por
[
$1 . . . $n−1 $n −$Rz −$Ry −$Rx −$Pz −$Py −$Px
]
= 0 (8.64)
e através da Equação 8.55, a Equação 8.64 pode ser reescrita em função dos helicoides unitários
e suas respectivas magnitudes
142
[
$̂1 . . . $̂n−1 $̂n −$̂Rz −$̂Ry . . . −$̂Py −$̂Px
]

q̇1
. . .
q̇n−1
q̇n
−q̇Rz
−q̇Ry
...
−q̇Py
−q̇Px

= 0 (8.65)
Agrupando os termos da Equação 8.65 na forma matricial, têm-se que
NΨ = 0 (8.66)
onde N é a matriz que contém os helicoides unitários e Ψ a matriz que agrupa as magnitudes.
Considera-se conhecida a posição ocupada pelo efetuador final, sendo a mesma comple-
tamente determinada pela pelas juntas que compõem a cadeia virtual. A matriz Ψ pode ser
reescrita, de maneira que as magnitudes primárias, ou conhecidas, e as secundárias, ou descon-
hecidas, sejam rearranjadas, Ψ =
[
ΨS
... ΨP
]T
e, de forma coerente, N =
[
NS
... NP
]
.
Sendo assim, a Equação 8.66 toma a forma de
[
NS
... NP
]
ΨS
. . .
ΨP
 = 0 (8.67)
Com isso, têm-se que
NPΨP = NSΨS (8.68)
e, como NP é passível de inversão
ΨP = N
−1
P NSΨS (8.69)
143
Comparando as Equações 8.69 e 8.61, têm-se que o Jacobiano pode ser reescrito como
J$ = N
−1
P NS (8.70)
De modo a garantir a inversão do Jacobiano, utiliza-se a inversa de Moore-Penrose, assim
como em SICILIANO et al. (2009b), de forma que
J+ =
[
[N−1P NS]
T [N−1P NS]
]
[N−1P NS]
T (8.71)
e de uma forma generalizada
q̇ = J+ve (8.72)
CINEMÁTICA INVERSA
O objetivo da cinemática inversa é obter as variáveis de junta necessárias para que o efetu-
ador final esteja na localização desejada e, assim como em SICILIANO et al. (2009b), pode ser
obtida numericamente utilizando o método numérico de integração de Euler, determinado por
qt+1 = qt + q̇t∆t (8.73)
e, através da Equação 8.71, têm-se que
qt+1 = qt +
[
[N−1P NS]
T [N−1P NS]
]
[N−1P NS]
Tve∆t (8.74)
A determinação das variáveis de junta dessa forma trazem um erro oriundo desse método
de 1a ordem e, como ∆t, apesar de pequeno não é infinitesimal, resulta em um desvio da
localização do efetuador final. Esse erro pode ser representado, no caso espacial, por um vetor
6× 1, que corresponde à diferença entre a posição desejada e a real, ou seja,
e = xd − x (8.75)
Derivando e, têm-se que
ė = ẋd − ẋ (8.76)
Visando a convergência desse sistema, é desejável que o erro se comporte da seguinte forma
144
ė+Ke = 0 (8.77)
e que K seja uma matriz positiva definida. Isso garante que o sistema seja assintoticamente
estável.
Substituindo as Equações 8.75 e 8.76 em 8.77, têm-se que
ẋ = ẋd +K(xd − x) (8.78)
e, substituindo a Equação 8.78 em 8.74, chega-se a
qt+1 = qt +
[
[N−1P NS]
T [N−1P NS]
]
[N−1P NS]
T [ve +K(xd − x)]∆t (8.79)
Com isso, é possível determinar o vetor das juntas para uma trajetória desejada.
145

Mais conteúdos dessa disciplina