Você está na página 1de 115

UNIVERSIDADE FEDERAL DO ACRE

CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS


CURSO DE BACHARELADO EM ENGENHARIA ELÉTRICA

TRABALHO DE CONCLUSÃO DE CURSO

CURSO DE BACHARELADO EM ENGENHARIA ELÉTRICA

DESENVOLVIMENTO DE UM BRAÇO ROBÓTICO MÍMICO DE QUATRO GRAUS


DE LIBERDADE

Uendel Diego da Silva Alves

Prof.ª Dra. Ana Beatriz Alvarez Mamani

RIO BRANCO – ACRE


2015
UNIVERSIDADE FEDERAL DO ACRE
CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS
CURSO DE BACHARELADO EM ENGENHARIA ELÉTRICA

DESENVOLVIMENTO DE UM BRAÇO ROBÓTICO MÍMICO DE


QUATRO GRAUS DE LIBERDADE

Uendel Diego da Silva Alves


Orientadora: Prof.ª Dra. Ana Beatriz Alvarez Mamani

Trabalho de Conclusão de Curso apresentado ao


Curso de Bacharelado em Engenharia Elétrica como
parte dos requisitos exigidos para a obtenção do
título de Bacharel em Engenharia Elétrica.

Banca Examinadora:
Prof.ª Dra. Ana Beatriz Alvarez Mamani
Prof. Dr. Anselmo Fortunato Ruiz Rodriguez
Prof. Dr. Roger Fredy Larico Chavez

Rio Branco – AC
2015
Ficha catalográfica elaborada pela Biblioteca Central da UFAC

A474d Alves, Uendel Diego da Silva, 1987-


Desenvolvimento de um braço robótico mímico de quatro graus de
liberdade / Uendel Diego da Silva. – 2015.
115 f. : il. ; 30 cm.

TCC (Graduação) – Universidade Federal do Acre, Centro de


Ciências Exatas e Tecnológicas, Curso de Bacharelado em
Engenharia Elétrica. Rio Branco, 2015.
Inclui referências bibliográficas.
Orientadora: Prof.ª Dra. Ana Beatriz Alvarez Mamani.

1. Arduino (controlador programável). 2. Robótica. 3. Cinemática.


I. Título.

CDD: 629.895

Bibliotecária: Vivyanne Ribeiro das Mercês Neves CRB-11/600

ii
COMISSÃO JULGADORA
TRABALHO DE CONCLUSÃO DE CURSO

Autor: Uendel Diego da Silva Alves

Data de Defesa: 18 de Setembro de 2015

Título do Trabalho: DESENVOLVIMENTO DE UM BRAÇO ROBÓTICO


MÍMICO DE QUATRO GRAUS DE LIBERDADE

______________________________________________
Prof.ª Dra. Ana Beatriz Alvarez Manani (Presidente)
CCET/UFAC

_________________________________________________
Prof. Dr. Anselmo Fortunato Ruiz Rodriguez
Bionorte/UFAC

______________________________________________
Prof. Dr. Roger Fredy Larico Chavez
CCET/UFAC

iii
À minha filha Maraisa Maria.

iv
AGRADECIMENTOS

A Deus, pelas oportunidades que me foram concedidas e pela saúde que me


possibilitou percorrer este caminho.
Aos meus pais, por terem me amparado material e financeiramente durante
todos estes anos de vida.
A minha esposa Marijara M. Maciel pelo companheirismo, suporte emocional
e por ter dado à luz a minha fonte de motivação e força diárias na busca por um futuro
melhor: minha filha Maraisa Maria.
Aos meus amigos Thiago M. de Lima e Vanderson N. Barros que nunca se
omitiram no apoio, conselho e horas de estudos que por diversas vezes romperam
madrugadas.
Aos meus amigos Andrei O. M. Porfiro e Ronaldo F. R. Pereira por terem
bravamente liderado esta verdadeira expedição acadêmica em busca do
conhecimento. Me sinto honrado de fazer parte desta turma.
A Universidade Federal do Acre pela oportunidade que me foi dada.
A coordenação do Curso de Engenharia Elétrica que sempre demonstrou
empenho e dedicação em fornecer aos alunos as condições suficientes no que tange
à vida acadêmica.
Aos professores que já se faziam presentes nesta instituição quando do início
do curso, e aos que vieram posteriormente de outros estados ou país, pelo
conhecimento transmitido, credibilidade e dedicação concedida ao curso de
Engenharia Elétrica da UFAC, em especial a minha orientadora, Professora Dra. Ana
Beatriz. A. Mamani por sua contribuição em meu trabalho e ao Professor Dr. Omar A.
C. Vilcanqui pelas ideias e apontamentos que, sem dúvidas, foram de suma
importância.

v
RESUMO

O presente trabalho tem por finalidade o desenvolvimento de um braço


robótico de quatro graus de liberdade que imita os movimentos realizados por outro
braço articulado. Para isto, o trabalho compreende a modelagem do sistema para
análise da estrutura, simulação do modelo em ambiente computacional e finalmente
o seu desenvolvimento experimental.
Para análise dos movimentos do braço, é realizada a modelagem por meio da
cinemática direta pelo uso da metodologia de Denavit-Hartenberg, ferramenta
utilizada para sistematizar a descrição cinemática de sistemas mecânicos articulados
com n graus de liberdade. Após a modelagem, os valores obtidos pela cinemática
direta desenvolvida são comparados aos resultados provenientes de simulação em
ambiente Simulink® Matlab®. Para construção do protótipo foram utilizados
componentes como placa de prototipagem eletrônica de código aberto Arduino™,
sensor MPU-6050™ (giroscópio de três eixos + acelerômetro de três eixos),
servomotores e elementos estruturais produzidos em material acrílico e MDF
(Medium-Density Fiberboard - placa de madeira de densidade média) projetados com
o auxílio da ferramenta AutoCAD® 2013. Dentre as aplicações possíveis deste
protótipo, é possível destacar o uso para a inspeção de artefatos explosivos e
materiais nocivos à saúde e integridade física das pessoas.
Ao final do trabalho são discutidos os resultados da simulação computacional
e demonstração da operação do braço robótico desenvolvido em bancada
experimental.

Palavras-chave: Arduino™; Braço robótico; Cinemática Direta; Denavit-Hartenberg;


Robótica Mímica.

vi
ABSTRACT

The present work aims to develop a robotic arm of four degrees of freedom
that mimics the movements performed by another articulated arm. For this, the work
includes the system modeling for the structure analysis, model simulation in computing
environment and its experimental development.
For the analysis of arm movements, it is performed the modeling through
forward kinematics by using the Denavit-Hartenberg methodology, tool used to
organize the kinematic description of articulated mechanical systems with n degrees
of freedom. After that, the values obtained by forward kinematics developed are
compared to the results from simulation in Matlab® Simulink® environment. For the
construction of the prototype were used components such as open source electronic
prototyping board Arduino™, MPU-6050™ sensor (three-axis gyroscope + three-axis
accelerometer), servomotors and structural elements produced in acrylic and MDF
(Medium-Density Fiberboard) designed with the help of the AutoCAD® 2013. Among
the possible applications of this prototype, it can highlight the use for inspection of
explosive devices and harmful materials to health and physical integrity of persons.
At the end of the work are discusses the results of the computational simulation
and demonstration of the robot arm operation developed in experimental bench.

Keywords: Arduino™; Robotic Arm; Forward Kinematics; Denavit-Hartenberg;


Mimicking Robotics.

vii
LISTA DE FIGURAS

Figura 1.1 – Sistema robótico da Vinci® Surgical System .................................................... 19


Figura 1.2 – Detalhe do console do da Vinci® Surgical System ........................................... 19
Figura 1.3 – Robô militar Dragon Runner® .......................................................................... 20
Figura 1.4 – Robô militar TALON® ...................................................................................... 20
Figura 1.5 – Tactical Robot Controller - TRC ....................................................................... 21
Figura 1.6 – Correlação entre braços humano e robótico proposto por Serrano et al. (2010)
............................................................................................................................................ 22
Figura 2.1 – Braço robótico comparado ao braço humano ................................................... 28
Figura 2.2 – Esquema de notação de elos e juntas em um braço robótico ilustrativo ........... 28
Figura 2.3 – Esquema representativo de braços articulados com 1 GL e 2 GL .................... 29
Figura 2.4 – Tipos de vínculos ou juntas empregadas em robôs.......................................... 30
Figura 2.5 – Representação esquemática das juntas ........................................................... 31
Figura 2.6 – Representação tridimensional de um robô cartesiano PPP (3GL) .................... 33
Figura 2.7 – Volume de trabalho de um robô cartesiano de três graus de liberdade ............ 33
Figura 2.8 – Representação tridimensional de um robô de coordenadas cilíndricas RPP (3 GL)
............................................................................................................................................ 34
Figura 2.9 – Volume de trabalho de um robô de coordenadas cilíndricas de três graus de
liberdade .............................................................................................................................. 34
Figura 2.10 – Representação tridimensional de um robô articulado RRR (3 GL) ................. 35
Figura 2.11 – Áreas de trabalho de um robô articulado RRR de três graus de liberdade ..... 36
Figura 2.12 – Representação tridimensional de um robô de coordenadas esféricas RRP (3 GL)
............................................................................................................................................ 37
Figura 2.13 – Volume de trabalho de um robô de coordenadas esféricas de 3 graus de
liberdade .............................................................................................................................. 37
Figura 2.14 – Representação tridimensional de um robô SCARA (RRP) de 3 GL ................ 38
Figura 2.15 – Volume de trabalho de um robô SCARA de 3 graus de liberdade .................. 38
Figura 2.16 – Configuração de um punho RT na forma compacta ....................................... 39
Figura 2.17 – Configuração de um punho TRT na forma compacta ..................................... 39
Figura 2.18 – Definição dos ângulos de orientação roll, pitch e yaw (ϕ, θ, Ψ) ...................... 40
Figura 2.19 – Garras de dois dedos (formas de movimentação) .......................................... 41
Figura 2.20 – Garra de três dedos ....................................................................................... 42
Figura 2.21 – Garra para preensão de objetos cilíndricos .................................................... 43
Figura 2.22 – Modelo de garra articulada ............................................................................. 43
Figura 2.23 – Sistema de referência utilizado ...................................................................... 45

viii
Figura 2.24 – Representação de um sistema de coordenadas de um robô (θ 1, θ2, θ3) ......... 47
Figura 2.25 – Notação de Denavit-Hartenberg (geometria e parâmetros de juntas rotativas)
............................................................................................................................................ 49
Figura 2.26 – Algoritmo resumido de Denavit-Hartenberg.................................................... 54
Figura 3.1 – Alocação de frames intermediários {P}, {Q} e {R} ............................................. 57
Figura 3.2 – Representação por imagem computacional do braço robótico ......................... 59
Figura 3.3 – Representação dos quatro eixos de revolução do braço robótico .................... 60
Figura 3.4 – Representação dos eixos de revolução e extração dos frames de coordenadas
(dimensões em milímetros) .................................................................................................. 60
Figura 3.5 – Detalhe dos eixos coordenados e alocação dos frames (dimensões em
milímetros) ........................................................................................................................... 61
Figura 3.6 – Comandos para a elaboração em ambiente Matlab® do braço robótico com
auxílio da ferramenta Robotics Toolbox ............................................................................... 66
Figura 4.1 – Imagem ilustrando alguns produtos Arduino™: (a) Arduino™ Uno; (b) Arduino™
Mega; (c) Arduino™ Micro; (d) Arduino™ Nano; (e) Arduino™ Lilypad ................................ 70
Figura 4.2 – Vista frontal de uma placa Arduino™ Uno ........................................................ 70
Figura 4.3 – Especificações técnicas da placa Arduino™ Uno ............................................. 72
Figura 4.4 – Exemplos dos componentes de um servomotor ............................................... 74
Figura 4.5 – Exemplo de pulsos de controle de um servomotor ........................................... 76
Figura 4.6 – Servomotores: (a) TowerPro™ SG90; (b) TowerPro™ SG-5010 ..................... 77
Figura 4.7 – Especificações técnicas dos servomotores utilizados ...................................... 77
Figura 4.8 – Placa GY-525 composta pelo sensor InvenSense® MPU-6050™.................... 79
Figura 4.9 – Diagrama de blocos do MPU-6050™ ............................................................... 79
Figura 4.10 – (a) Braço robótico atuador; (b) Braço articulado controlador .......................... 81
Figura 4.11 – Esquema de ligação elétrica dos componentes no software Fritzing .............. 82
Figura 4.12 – Ângulos de operação do braço robótico ......................................................... 83
Figura 4.13 – Região de operação do braço robótico ........................................................... 83
Figura 5.1 – Comandos para a elaboração da cinemática direta no Matlab®: valores dos
ângulos de juntas θ1 = θ2 = θ3 = θ4 = 0 (destaque) ............................................................... 85
Figura 5.2 – Resultados da cinemática direta no Matlab® para ângulos θ 1 = θ2 = θ3 = θ4 = 0
............................................................................................................................................ 86
Figura 5.3 – Simulação gráfica do braço robótico para valores de θ 1 = θ2 = θ3 = θ4 = 0 (valores
em milímetros) ..................................................................................................................... 87
Figura 5.4 – Comandos para a elaboração da cinemática direta no Matlab®: valores dos
ângulos de juntas θ1 = θ3 = 90º e θ2 = θ4 = -90 (destaque) ................................................... 88

ix
Figura 5.5 – Resultados da cinemática direta no Matlab® para ângulos θ 1 = θ3 = 90º e θ2 = θ4
= -90 .................................................................................................................................... 89
Figura 5.6 – Simulação gráfica do braço robótico para valores de θ 1 = θ3 = 90º e θ2 = θ4 = -90
(valores em milímetros) ....................................................................................................... 89
Figura 5.7 – Comandos para a elaboração da cinemática direta no Matlab®: valores dos
ângulos de juntas θ1 = 180º, θ2 = -60º, θ3 = -45 e θ4 = 30º (destaque) .................................. 91
Figura 5.8 – Resultados da cinemática direta no Matlab® para ângulos θ 1 = 180º, θ2 = -60º, θ3
= -45 e θ4 = 30º .................................................................................................................... 91
Figura 5.9 – Simulação gráfica do braço robótico para valores de θ 1 = 180º, θ2 = -60º, θ3 = -45
e θ4 = 30º (valores em milímetros) ....................................................................................... 92
Figura 5.10 – Modelo geral do braço robótico em ambiente Simulink® ................................ 93
Figura 5.11 – Modelo Simulink® do bloco Base Rígida........................................................ 94
Figura 5.12 – Modelo Simulink® do bloco Base Giratória .................................................... 94
Figura 5.13 – Modelo Simulink® do bloco Braço.................................................................. 94
Figura 5.14 – Modelo Simulink® do bloco Antebraço ........................................................... 95
Figura 5.15 – Modelo Simulink® do bloco Garra1 ................................................................ 95
Figura 5.16 – Movimentos simulados no Simulink® (1) ........................................................ 96
Figura 5.17 – Movimentos simulados no Simulink® (2) ........................................................ 96
Figura 5.18 – Movimentos simulados no Simulink® (3) ........................................................ 97
Figura 5.19 – Movimentos simulados no Simulink® (4) ........................................................ 97
Figura 5.20 – Correlação entre braço robótico atuador e braço controlador (1) ................... 98
Figura 5.21 – Correlação entre braço robótico atuador e braço controlador (2) ................... 99
Figura 5.22 – Correlação entre braço robótico atuador e braço controlador (3) ................... 99
Figura 5.23 – Correlação entre braço robótico atuador e braço controlador (4). ................ 100

x
LISTA DE ABREVIATURAS E SIGLAS

CAD Computer Aided Design Desenho Auxiliado por Computador

Manufatura Auxiliada por


CAM Computer Aided Manufacturing
Computador

CC Corrente Contínua

D-H Denavit-Hartenberg

DMP Digital Motion Processor Processador de Movimento Digital

DOF Degree of Freedom Grau de Liberdade

GL Grau de Liberdade

Integrated Development Ambiente de Desenvolvimento


IDE
Environment Integrado

I²C Inter-Integrated Circuit Circuito Inter-Integrado

LED Light Emitting Diode Diodo Emissor de Luz

Placa de Madeira de Densidade


MDF Medium-Density Fiberboard
Média

MEMS MicroElectroMechanical Systems Sistemas Micro-Elétrico-Mecânicos

PPP Prismática-Prismática-Prismática

PWM Pulse Width Modulation Modulação por Largura de Pulso

RPP Revolução-Prismática-Prismática

RRP Revolução-Revolução-Prismática

RRR Revolução-Revolução-Revolução

RT Rotacional-Torcional

R.U.R. Rossum’s Universal Robots Robôs Universais de Rossum

xi
Selective Compliance Assembly Braço de Robô com Montagem
SCARA
Robot Arm Seletiva Obediente

SRI Stanford Research Institute Instituto de Pesquisa Standford

TRT Torcional-Rotacional-Torcional

TRC Tactical Robot Controller Controlador de Robô Tático

USB Universal Serial Bus Barramento Serial Universal

xii
SUMÁRIO

CAPÍTULO 1 – INTRODUÇÃO .........................................................................................................15

1.1 CONSIDERAÇÕES HISTÓRICAS E A EXPANSÃO DA ROBÓTICA.......................................15


1.2 A IMPORTÂNCIA DA ROBÓTICA PARA O HOMEM ..............................................................16
1.3 APRESENTAÇÃO DO TRABALHO ........................................................................................22
1.4 OBJETIVO GERAL .................................................................................................................24
1.5 OBJETIVOS ESPECÍFICOS ...................................................................................................24
1.6 JUSTIFICATIVA .....................................................................................................................24
1.7 MOTIVAÇÃO ..........................................................................................................................25

CAPÍTULO 2 – MARCO TEÓRICO...................................................................................................27

2.1 CONCEITOS BÁSICOS DE UM ROBÔ ...................................................................................27


2.1.1 GRAUS DE LIBERDADE .................................................................................................28
2.1.2 JUNTAS ROBÓTICAS .....................................................................................................29
2.2 CLASSIFICAÇÃO DOS ROBÔS .............................................................................................31
2.2.1 CONFIGURAÇÃO CINEMÁTICA .....................................................................................31
2.2.1.1 Robô de Coordenadas Cartesianas .........................................................................................32
2.2.1.2 Robô de Coordenadas Cilíndricas ...........................................................................................33
2.2.1.3 Robô Articulado (Coordenadas de Revolução ou Rotativas) .....................................................35
2.2.1.4 Robô de Coordenadas Esféricas .............................................................................................36
2.2.1.5 Robô SCARA..........................................................................................................................37
2.2.2 CONFIGURAÇÃO DOS PUNHOS ...................................................................................39
2.3 CAPACIDADE DE REALIZAÇÃO DE TAREFAS ....................................................................39
2.4 GARRAS E FERRAMENTAS TERMINAIS ..............................................................................41
2.4.1 GARRA DE DOIS DEDOS ...............................................................................................41
2.4.2 GARRA DE TRÊS DEDOS ..............................................................................................42
2.4.3 GARRA PARA PREENSÃO DE OBJETOS CILÍNDRICOS ...............................................42
2.4.4 GARRA ARTICULADA .....................................................................................................43
2.5 CINEMÁTICA DE BRAÇOS ROBÓTICOS ..............................................................................43
2.5.1 INTRODUÇÃO .................................................................................................................43
2.5.2 SISTEMAS DE REFERÊNCIA .........................................................................................44
2.5.3 MODELO GEOMÉTRICO ................................................................................................46
2.6 MATRIZ DE TRANSFORMAÇÃO PELO MÉTODO DE DENAVIT-HARTENBERG ..................48
2.6.1 APRESENTAÇÃO DA SISTEMÁTICA DE DENAVIT-HARTENBERG...............................48
2.6.2 DESCRIÇÃO DA NOTAÇÃO DE DENAVIT-HARTENBERG ............................................50
2.6.3 EXEMPLO DE APLICAÇÃO.............................................................................................52
2.6.4 ALGORITMO PARA OBTENÇÃO DO SISTEMA DE COORDENADAS PARA O LINK .....53

CAPÍTULO 3 – MODELAGEM CINEMÁTICA DO BRAÇO ROBÓTICO ...........................................56

xiii
3.1 CONSIDERAÇÕES BIBLIOGRÁFICAS PARA A MODELAGEM ............................................56
3.2 OBTENÇÃO DA MATRIZ DE TRANSFORMAÇÃO DE REFERÊNCIA ....................................56
3.3 APRESENTAÇÃO DO BRAÇO ROBÓTICO PROPOSTO .......................................................59
3.4 ATRIBUIÇÃO DOS FRAMES DE COORDENADAS PELO MÉTODO DE D-H .........................59
3.5 CINEMÁTICA DIRETA: CÁLCULO DA MATRIZ DE TRANSFORMAÇÃO ..............................61
3.6 CINEMÁTICA DIRETA DO BRAÇO ROBÓTICO EM AMBIENTE MATLAB® ..........................65

CAPÍTULO 4 – IMPLEMENTAÇÃO EM BANCADA EXPERIMENTAL .............................................68

4.1 CONSIDERAÇÕES INICIAIS ..................................................................................................68


4.2 MATERIAL UTILIZADO ..........................................................................................................68
4.3 DESCRIÇÃO DOS DISPOSITIVOS UTILIZADOS NA EXECUÇÃO DO PROJETO ..................69
4.3.1 A PLACA ARDUINO™ .....................................................................................................69
4.3.2 SERVOMOTORES ..........................................................................................................73
4.3.2.1 Princípio de Funcionamento dos Servomotores .......................................................................74
4.3.2.2 Controle do Ângulo de Rotação dos Servomotores ..................................................................75
4.3.2.3 Torque dos Servomotores .......................................................................................................76
4.3.3 DISPOSITIVO MPU-6050™ - PLACA GY-521 .................................................................78
4.4 DESCRIÇÃO DO PROJETO EM BANCADA EXPERIMENTAL ...............................................79
4.5 ESQUEMA DE LIGAÇÃO DOS COMPONENTES ...................................................................81
4.6 ÁREA DE TRABALHO DO BRAÇO ROBÓTICO.....................................................................83

CAPÍTULO 5 – RESULTADOS E DISCUSSÕES..............................................................................84

5.1 DESCRIÇÃO DAS CONDIÇÕES DE TESTE ...........................................................................84


5.2 COMPARAÇÃO ENTRE OS VALORES CALCULADOS E OS VALORES SIMULADOS NO
MATLAB®....................................................................................................................................84
5.2.1 SITUAÇÃO 1 ...................................................................................................................84
5.2.2 SITUAÇÃO 2 ...................................................................................................................87
5.2.3 SITUAÇÃO 3 ...................................................................................................................90
5.3 SIMULAÇÃO DOS MOVIMENTOS DO BRAÇO EM AMBIENTE SIMULINK® .........................92
5.4 TESTES FÍSICOS DO BRAÇO ROBÓTICO DESENVOLVIDO ................................................98

CAPÍTULO 6 – CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS ........................................101

6.1 CONSIDERAÇÕES FINAIS E CONCLUSÕES ......................................................................101


6.2 SUGESTÕES PARA TRABALHOS FUTUROS .....................................................................102

REFERÊNCIAS BIBLIOGRÁFICAS ...............................................................................................104

APÊNDICE A – ELEMENTOS ESTRUTURAIS DO BRAÇO ATUADOR ........................................107

APÊNDICE B – ELEMENTOS ESTRUTURAIS DO BRAÇO CONTROLADOR ..............................109

APÊNDICE C – CÓDIGO FONTE PARA ARDUINO™....................................................................112

APÊNDICE D – ORÇAMENTO DO MATERIAL UTILIZADO NO PROJETO ...................................114

xiv
15

CAPÍTULO 1 – INTRODUÇÃO

1.1 CONSIDERAÇÕES HISTÓRICAS E A EXPANSÃO DA ROBÓTICA

Sob o enfoque da robótica, que é a base deste trabalho, faz-se necessário


elencar alguns aspectos históricos importantes que culminaram com a
democratização das máquinas autônomas e semiautônomas em diversas áreas.
A primeira citação do neologismo robô é encontrada no trabalho do escritor
tcheco Karel Capek (1890-1938), quando este utilizou em 1921 o termo robota em sua
peça teatral intitulada R.U.R. (Rossum’s Universal Robots, que pode ser traduzida
para o português como Robôs Universais de Rossum) (CAVALCANTE, 2012).
Esta peça teatral conta a história de um cientista chamado Rossum, que cria
uma substância química e a usa para a construção de humanoides com o intuito de
que estes sejam obedientes e realizem todo o trabalho físico. O termo tcheco robota
significa trabalho exercido de forma compulsória, atividade forçada, que originou a
expressão em inglês robot, posteriormente vindo a ser traduzido para o português
como robô (SANTOS, 2014).
No decorrer da evolução da espécie, os seres humanos, dotados de
capacidades de mutação e adaptação frente às demandas impostas, confrontaram-se
por diversas vezes com o desafio da modernização de suas estruturas social,
tecnológica, econômica e produtiva. Estas situações de adversidade impulsionaram o
homem a elaborar e adotar equipamentos capazes de desempenhar tarefas
repetitivas, complexas ou que apresentem grau de periculosidade considerável, de tal
forma que estes equipamentos passaram a ocupar grande parte das áreas do
conhecimento (educação, militar, etc.). Uma das áreas onde ocorreu significativa
utilização destes foi na produção e automação industrial (CRAIG, 2006).
Segundo Craig (2006), a história da automação industrial pode ser
caracterizada por momentos de alterações rápidas nos métodos populares, sejam
estes sociais, de produção, na ciência, na arte, na tecnologia, etc. Tais períodos, de
fato, sempre vieram atrelados a mudanças nas técnicas de produção, seja como
causa ou também como efeito.
Contudo, para Cavalcante (2012, p. 22):
Embora não haja um consenso claro entre os pesquisadores sobre o
começo da ciência robótica, parece que a mesma teve seu início no
16

desenvolvimento da pesquisa de teleoperação de manipuladores


durante e depois da II Guerra Mundial para tratamento de material
nuclear [...]

Além do manuseio de materiais radioativos, outras áreas de pesquisa têm


tomado vantagens da utilização de robôs comandados pelo homem, tais como
explorações em profundezas do mar, exploração espacial, operações militares,
vigilância patrimonial e pessoal, telecirurgia, etc. (CAVALCANTE, 2012).
Garcia et al. (2007 apud SANTOS; NASCIMENTO; BEZERRA, 2007)
menciona que, originalmente, a área de robótica também se desenvolveu
fundamentada na necessidade de se encontrar soluções apropriadas para
necessidades técnicas, tais como acesso a ambientes confinados, reabilitação de
pacientes e sondas espaciais.
Por outro lado, a partir do ano de 1960 o uso da robótica em conjunto
principalmente com softwares do tipo CAD (Computer Aided Design), que significa
desenho assistido por computador e softwares do tipo CAM (Computer Aided
Manufacturing), que pode ser traduzido como manufatura auxiliada por computador
pavimentaram o caminho que conduziu à sua consolidação em áreas diversificadas,
sendo valioso expor ainda que, por meio dos processos industriais automatizados, o
ramo da robótica foi capaz de assumir papel de destaque (CRAIG, 2006).
Assim sendo, a utilização massiva de robôs industriais em conjunto com a
necessidade de se manipular com segurança materiais nocivos permitiu que a
robótica se consolidasse e ocupasse espaço de destaque, colocando-a em um
patamar elevado dentro das tarefas desempenhadas para o benefício dos seres
humanos.

1.2 A IMPORTÂNCIA DA ROBÓTICA PARA O HOMEM

A progressiva necessidade de se automatizar tarefas em vários setores tem


se tornado, muitas das vezes, necessidade fundamental para o propósito de uma
empresa ou entidade que almeja melhorar sua eficiência, agilizar funções repetitivas
ou ainda assegurar a seus servidores quando da realização de tarefas que geram
riscos a estes. Realizar trabalhos automatizados ou mesmo controlados por um
operador que exigem precisão e controle exato das variáveis envolvidas são cada vez
mais requisitadas (CRUZ, 2010).
17

Devido a vários fatores como precisão, grau elevado de periculosidade da


operação, necessidade de se acelerar o trabalho, produtividade em alta escala, etc.,
faz-se imprescindível o uso de mecanismos acionados por um operador ou
autocontrolados. É na tentativa de suprir esta demanda que a robótica se insere.
De acordo com Rocha (2001), a utilização da robótica permitiu aumentar o
grau de automação e flexibilidade de tarefas fabris, facilitando a integração total e o
controle otimizado de sistemas. Permitiu também otimizar o fluxo de materiais, através
de um correto escalonamento das tarefas, contribuindo para a melhoria significativa
da produtividade global de um dado sistema, bem como eliminar a presença humana
em ambientes potencialmente agressivos e perigosos para a saúde (ex. indústria que
possuam maquinários pesados, indústrias químicas, área nuclear, etc.).
Ainda de acordo com Rocha, (2001, p.4):
É uma tarefa fortemente interdisciplinar, envolvendo áreas
tecnológicas tão diversas como: sensores e atuadores, eletrônica de
potência, energia, projeto mecânico, cinemática, dinâmica, teoria do
controle, escalonamento em tempo real, investigação operacional,
sistemas de informação, telecomunicações, etc.

Segundo Miyagi e Villani (2004, p.55) “a robótica é por si só um tema de


pesquisa extremamente abrangente, envolvendo, entre outras coisas, questões
relacionadas à instrumentação e ao projeto de sistemas de controle e supervisão.”
Assim, a robótica se preocupa com a elaboração de tais dispositivos, e valendo-se de
sua característica multidisciplinar, busca o desenvolvimento e a integração de técnicas
e algoritmos para a criação de estruturas motorizadas cada vez mais evoluídas; é
relativamente nova e foi criada para proporcionar soluções adequadas a algumas
dualidades técnicas, onde a atuação humana é difícil, imprecisa, demorada ou até
mesmo impossível (ESTREMOTE, 2006).
A base da robótica consiste na junção dos conceitos científicos de mecânica,
eletrônica e programação, onde a grande necessidade por inovações técnicas no
mundo moderno impulsiona de forma rápida o avanço tecnológico nesta área. Hoje se
encontram disponíveis no mercado muitos modelos de computadores e dispositivos
específicos para a robótica, com motores, servomotores, sensores, ligas metálicas
especiais, placas de circuito de código aberto para programações diversas, etc. Estes
materiais são utilizados para benefícios variados em diferentes áreas de atuação
humana (SHHEIBIA, 2001).
18

As características de um sistema robótico variam significativamente de acordo


com sua aplicação. Todavia, em geral, a robótica pode ser dividida em duas zonas:
robótica industrial e de serviços (YUSOFF; SAMIN; IBRAHIM, 2012).
A Federação Internacional de Robótica (International Federation of Robotics)
define um robô de serviço como um robô que opera semiautônoma ou totalmente
autônoma para realizar serviços úteis ao bem-estar de seres humanos, excetuando-
se as operações de produção (fábricas e indústrias). Estes robôs móveis são
atualmente utilizados em muitos campos de aplicação, incluindo escritórios, tarefas
militares, supermercados, galpões, operações hospitalares, ambientes perigosos e
agricultura (YUSOFF; SAMIN; IBRAHIM, 2012).
Dentre as principais subdivisões acima dispostas, podemos destacar a
aplicação da robótica no âmbito militar (segurança) e na área médica. A partir da
extração destas duas vertentes, com maior foco para a área médica, torna-se possível
a definição do que vem a ser a robótica mímica.
Na área médica, robôs cirúrgicos formados por um, dois ou mais braços
robóticos capazes de imitar movimentos aplicados a um controlador por um médico já
são realidade. Neste tipo de procedimento, o médico cirurgião manipula de maneira
remota ou não um robô que realiza os procedimentos cirúrgicos no paciente através
de um console. Este procedimento é chamado de telesurgery ou remote surgery (em
português, telecirurgia e cirurgia remota, respectivamente). A definição de cirurgia
remota é a capacidade de realização de procedimentos cirúrgicos mesmo que médico
e paciente não estejam fisicamente no mesmo local: um robô cirúrgico operado pelo
cirurgião é controlado a distância através de um dispositivo de comando (console),
bem como um sistema sensorial de feedback1.
Um dos dispositivos mais modernos para este fim é o da Vinci® Surgical
System (em português, Sistema Cirúrgico da Vinci®), sendo que a pesquisa que
culminou com o seu desenvolvimento data do final de 1980 pelo instituto norte-
americano SRI (do inglês Stanford Research Institute).
A imagem mostrada na figura 1.1 apresenta o sistema cirúrgico citado. É
possível verificar que o médico cirurgião está deslocado do local da cirurgia em si.

1
Informação que o emissor obtém da reação do receptor à sua mensagem, servindo para avaliar e
comparar os resultados da transmissão.
19

A figura 1.2 mostra a maneira que o operador manipula o console, que é


composto por mecanismos que fornecem dados de entrada para os braços robóticos
cirúrgicos, ou seja, as mãos do médico cirurgião controlam mecanismos articulados
que serão replicados pelos braços robóticos do sistema.

Figura 1.1 – Sistema robótico da Vinci® Surgical System

Fonte: Página oficial na internet da Empresa Intuitive Surgical®2.

Figura 1.2 – Detalhe do console do da Vinci® Surgical System

Fonte: Página oficial na internet da Cardiothoracic Surgery (Keck School of Medicine -


University of Southern California)3.

2
Empresa produtora do Sistema Cirúrgico da Vinci®. Disponível em:
<http://intuitivesurgical.com/company/media/images/davinci_s_images.html>. Acesso em: 15 set.
2015.
3
Site Cirurgia Cardiotorácica, Escola de Medicina Keck – Universidade do Sul da Califórnia. Disponível
em: < http://www.cts.usc.edu/roboticsurgery-davincisystem.html>. Acesso em: 15 set. 2015.
20

Outra aplicação da robótica se dá no uso de robôs desenvolvidos para


manuseio e desarme de artefatos suspeitos ou explosivos, conforme pode ser
visualizado nas figuras 1.3 e 1.4.

Figura 1.3 – Robô militar Dragon Runner®

Fonte: Site oficial da QinetiQ North America4.

Figura 1.4 – Robô militar TALON®

Fonte: Site oficial da QinetiQ North America5.

Todavia, veículos equipados com braços robóticos e robôs militares são, em


sua maioria, dotados de sistemas de controle que operam através de joystick do tipo
clássico ou similares (semelhante aos controles analógicos disponíveis para consoles
de videogames).

4
Empresa fabricante do produto. Disponível em: <https://www.qinetiq-na.com/products/unmanned-
systems/dragon-runner/>. Acesso em: 02 set. 2015.
5
Empresa fabricante do produto. Disponível em: <https://www.qinetiq-na.com/products/unmanned-
systems/talon/>. Acesso em: 02 set. 2015.
21

Um joystick trata-se de um periférico de computador composto por uma haste


geralmente vertical fixa a uma base. Esta haste, quando movimentada pelo operador,
transmite ângulos que podem variar em duas ou três dimensões, sendo que estes
ângulos funcionam como valores de entrada para diversos tipos de mecanismos
eletromecânicos ou sistemas computacionais.
A figura 1.5 mostra o TRC (Tactical Robot Controller), joystick produzido pela
Empresa QinetiQ North America e que pode ser utilizado para o controle tanto do
Dragon Runner® quanto do TALON®.
Contudo, a abordagem proposta neste trabalho procura introduzir uma nova
maneira de se controlar tais robôs. Esta nova abordagem trata-se justamente da
robótica mímica, onde um dispositivo eletromecânico é capaz de imitar com fidelidade
os movimentos introduzidos por um mecanismo de controle semelhante ao primeiro.

Figura 1.5 – Tactical Robot Controller - TRC

Fonte: Página oficial na internet da loja Gryphon Engineering Services6.

Desta maneira, pela capacidade de imitar movimentos, a robótica mimica


pode se constituir como importante ferramenta para a obtenção de êxito no manuseio
de materiais sensíveis ou perigosos, geralmente envolvidos em situações delicadas,
como é o caso de cirurgias médicas, assim como em ocasiões de elevado stress,
como em operações militares de desarme de explosivos. Em ações deste tipo, o

6
Disponível em: <http://grypheng.com/shop/supplier/qinetiq-na-unmanned-systems/universal-tactical-
robotic-controller>. Acesso em: 15 set. 2015.
22

mínimo de erro e manejo inadequado das variáveis envolvidas podem ocasionar


situações de perigo e risco de vida aos envolvidos.
Como exemplo da aplicação da ideia de replicar movimentos,
Serrano et al., (2010), no artigo científico intitulado Anti-Bomb Remote Controlled
Inspection Robot apresentam o desenvolvimento de um sistema robótico que reproduz
movimentos aplicados pelo braço humano. Trata-se de um robô manipulador de
mineração remotamente controlado, dotado de câmeras de vídeo e sensores de
posicionamento localizados no braço do operador. Com este sistema, é possível criar
uma sensação de realidade virtual, permitindo a operação fácil e prática para os
usuários no manuseio de explosivos, operações de salvamento ou outras tarefas
perigosas.
A figura 1.6 mostra a correlação entre o braço humano e os elos do braço
robótico: as peças A e B do braço robótico estão alinhadas respectivamente com o
antebraço e braço do homem.

Figura 1.6 – Correlação entre braços humano e robótico proposto por Serrano et al. (2010)

Fonte: Serrano et al. (2010).

1.3 APRESENTAÇÃO DO TRABALHO

Vislumbrando todos os aspectos até então apresentados, o presente trabalho


tem por finalidade o estudo e construção de um braço robótico mímico de quatro graus
de liberdade que imita os movimentos realizados por outro braço articulado. Na etapa
de análise do braço será desenvolvida a modelagem cinemática direta utilizando o
23

método de Denavit-Hartenberg, sistemática que visa apontar a posição e orientação


do último sistema de coordenadas do braço com relação ao sistema de coordenadas
fixo à sua base pela inserção dos ângulos das quatro juntas.
O termo mímico citado anteriormente sugere que tal dispositivo, a partir de
agora chamado braço atuador replicará exatamente os mesmos movimentos
aplicados a outro braço articulado por um operador humano. Este segundo braço será
chamado de controlador.
As estruturas físicas do braço robótico atuador e do braço articulado
controlador foram construídas em material acrílico e em MDF7, respectivamente. A
escolha de tais materiais se deve à praticidade e ao relativo baixo custo que ambos
oferecem quando comparados a chapas metálicas, alumínio, etc. O projeto estrutural
do braço robótico foi elaborado no software AutoCAD® 2013 e em seguida recortado
a laser em impressora especial, permitindo, assim, elevado grau de precisão.
O braço atuador será dotado de servomotores em suas juntas para a
realização dos movimentos. Por sua vez, o controlador será equipado com um
potenciômetro e com um dispositivo MPU-6050™, sensor que combina em um único
chip três giroscópios, correspondentes aos eixos X, Y e Z, e mais três acelerômetros
relativos aos três eixos citados.
As instruções que definirão os movimentos dos servos do braço atuador serão
realizadas por meio da placa open source8 Arduino™ Uno equipada com
controladores Atmel® AVR® a partir dos movimentos do braço controlador. A escolha
de tal placa se deve a sua versatilidade e aplicabilidade variada, uma vez que se trata
de uma plataforma de desenvolvimento embarcada que pode interagir com o ambiente
por meio de hardware e software. O braço atuador será, então, controlado através da
geração de modulação por largura de pulso, PWM (Pulse Width Modulation)
proveniente de saídas digitais da placa Arduino™ Uno.

7
Do inglês Medium-Density Fiberboard, é um material fabricado através da aglutinação de fibras de
madeira com resinas sintéticas e outros aditivos. Tal expressão pode ser traduzida para o português
como placa de madeira de média densidade e é bastante utilizada na indústria moveleira.
8
A expressão em inglês open source pode ser traduzida para o português como código aberto. A
iniciativa pelo código aberto surgiu em 1998, tendo como objetivos principais o de apoiar e promover a
criação de softwares livres, ou seja, softwares com códigos abertos para os usuários.
24

1.4 OBJETIVO GERAL

Desenvolvimento e operação de um braço robótico mímico de quatro graus


de liberdade de baixo custo9.

1.5 OBJETIVOS ESPECÍFICOS

 Realizar estudo e pesquisa sobre os braços robóticos contemplando suas


aplicações e particularidades;
 Realizar a modelagem cinemática direta do braço robótico pelo uso da
sistemática de Denavit-Hartenberg considerando os quatro graus liberdade;
 Simular em ambiente computacional Simulink® Matlab® o modelo matemático
do braço atuador para comprovação da cinemática direta executada;
 Simular em ambiente Simulink® Matlab® movimentos predefinidos do braço
robótico atuador considerando características das quatro juntas;
 Implementar em bancada experimental um exemplar do braço robótico
controlador e do braço robótico atuador modelado e simulado;
 Realizar testes de operação do braço produzido no intuito de verificar sua
funcionalidade.

1.6 JUSTIFICATIVA

É notório o crescimento de dispositivos controlados usados nas mais diversas


formas e características, abrangendo inúmeras áreas de conhecimento. Tais
dispositivos, hoje em dia, se estendem a sistemas autocontrolados, robôs, veículos
terrestres não tripulados, sondas, veículos aéreos não tripulados, braços robóticos,
veículos controlados à distância, entre outros (ROCHA, 2001).
A importância que estes dispositivos possuem frente aos desafios que o
homem moderno se depara dia após dia é evidente, sejam estes desafios de caráter
científico, como em casos de exploração a locais inóspitos, bem como nas áreas
industriais, na medicina, em ações militares, na segurança pública, etc. (MODESTO;
SAMPAIO, 2010).

9
Quando em comparação aos principais dispositivos robóticos encontrados no mercado.
25

Este trabalho de conclusão de curso se justifica pela necessidade de se


desenvolver dispositivos controlados para a execução de tarefas específicas
presentes em diversas áreas do conhecimento humano. O enfoque para a elaboração
experimental de um sistema de braço robotizado destinado a reproduzir com
fidelidade os movimentos controlados pelo operador se justifica pela necessidade de
se traçar trajetórias peculiares sensíveis a fim de manipular algum objeto ou estrutura
em um ambiente diferente ao do operador.
No caso da manipulação de materiais delicados, artefatos nocivos ou
explosivos e que representam riscos à integridade física dos seus envolvidos faz-se
necessário o controle adequado dos movimentos do mecanismo, o que pode ser
conseguido pelo uso de um controlador semelhante ao próprio braço robótico.
O uso de placas da família Arduino™ para a implementação física do braço
se justifica pela praticidade e versatilidade que estes dispositivos oferecem, já que um
único item dispõe de periféricos como conversor analógico-digital, entradas e saídas
digitais, controladores de tensão, interface prática com computadores via conexão
USB, dentre outras. A escolha pelo uso de servomotores é explicada devido a
praticidade propiciada por estes e a fácil comunicação com o Arduino™. O sensor
MPU-6050™ (giroscópio de três eixos mais acelerômetro de três eixos) se encaixa
bem para projetos deste tipo, pois facilita a destreza de movimentos oferecidos pelo
operador humano, e também devido a sua simplicidade para implementação, já que
dispõe de arquitetura reduzida do tipo MEMS – MicroElectroMechanical Systems
(sistemas micro-elétrico-mecânicos).

1.7 MOTIVAÇÃO

No campo da segurança e defesa, as ameaças advindas de materiais


potencialmente danosos à saúde vêm influenciando instituições do ramo como
polícias, grupos táticos policiais, forças armadas, etc. a adotarem instrumentos
remotamente controlados para a inspeção de tais artefatos. Sob este aspecto, robôs
e veículos especiais equipados com garras cada vez mais vêm sendo utilizados para
desempenhar funções antes realizadas por um ou mais homens.
Os principais motivos que conduziram à escolha do tema deste trabalho
foram: a experiência adquirida na implementação e controle deste tipo de sistema em
26

disciplinas já cursadas, tal como o desafio de se produzir um sistema baseado em um


braço robótico de baixo custo como alternativa a ser aplicada na área de segurança
pública para inspeção de objetos nocivos, suspeitos e de alto risco.
27

CAPÍTULO 2 – MARCO TEÓRICO

Segundo Carrara (2008), a robótica abrange algumas áreas da ciência como


mecânica, eletrônica, computação e, participando em menor grau, teorias de controle,
microeletrônica, inteligência artificial, fatores humanos e teoria de produção,
possuindo, assim, um caráter multidisciplinar.
Neste capítulo serão analisadas as características dos robôs como um todo,
avaliando algumas definições essenciais, situações de aplicação de um determinado
braço robótico, tipos de garras, estruturas, juntas e classificações pertinentes ao
embasamento teórico necessário para o devido entendimento desta produção
acadêmica. Serão também estudados os fundamentos teóricos dos elementos que
definem características físicas do braço, bem como seu desempenho cinemático.

2.1 CONCEITOS BÁSICOS DE UM ROBÔ

De acordo com Rosário (2005), um robô consiste de um braço mecânico


motorizado programável que apresenta algumas características antropomórficas e um
computador para controlar seus movimentos.
O braço mecânico é um manipulador projetado para realizar diferentes
tarefas, e, dependendo da aplicação, repeti-las. Para executar tais tarefas, o robô
move partes, objetos, ferramentas e dispositivos especiais (MAGRIL, 2010).
O braço consiste de elementos denominados elos unidos por juntas de
movimento relativo, onde são acoplados os acionadores para realizarem estes
movimentos individualmente, dotados de capacidade sensorial e instruídos por um
sistema de controle (ROSÁRIO, 2005).
A figura 2.1 ilustra características antropomórficas de um braço robótico
quando em comparação com o braço humano. A figura 2.2 ilustra a disposição de
juntas e elos (ou links10) de um braço robótico simples de três graus de liberdade.

10
Termo em inglês que significa elo ou conexão, e para não divergir das explicações dadas por
Rosário (2005), optou-se por usá-la neste trabalho.
28

Figura 2.1 – Braço robótico comparado ao braço humano

Fonte: Rosário (2005).

Figura 2.2 – Esquema de notação de elos e juntas em um braço robótico ilustrativo

Fonte: Carrara (2008).

2.1.1 GRAUS DE LIBERDADE

Os graus de liberdade (GL) determinam os movimentos do braço robótico no


espaço bidimensional ou tridimensional. Cada junta define um ou dois graus de
liberdade. Assim, o número de graus de liberdade do robô é igual à somatória dos
graus de liberdade das juntas (CARRARA, 2008).
A título de exemplificação, quando o movimento relativo ocorre em um único
eixo, a junta tem um grau de liberdade (1 GL). Caso o movimento se dê em mais de
um eixo, a junta tem dois graus de liberdade (2 GL), conforme pode se ver na
figura 2.3.
Observa-se que, quanto maior a quantidade de graus de liberdade, mais
complicada é a cinemática, a dinâmica e o controle do manipulador. O número de
29

graus de liberdade de um manipulador está associado ao número de variáveis


posicionais independentes que permitem definir a posição de todas as partes de forma
unívoca (CARRARA, 2008).

Figura 2.3 – Esquema representativo de braços articulados com 1 GL e 2 GL

Fonte: Carrara (2008).

2.1.2 JUNTAS ROBÓTICAS

O braço manipulador de um robô é capaz de se movimentar em várias


direções devido à existência de juntas, que são rotineiramente denominadas eixos. O
movimento proporcionado por cada junta pode ser linear ou rotativa.
Conforme Craig (2006), um manipulador pode ser considerado como um
conjunto de corpos ligados em cadeia por meio de articulações. Estes corpos são
chamados de elos ou segmentos.
Segundo Carrara (2008), as juntas podem ser do tipo rotativa ou de revolução,
prismática ou linear, cilíndrica, esférica, parafuso e planar, como mostradas na figura
2.4. Suas funcionalidades podem ser listadas conforme abaixo:
 Rotativa ou de Revolução: Gira em torno de uma linha imaginária estacionária
chamada de eixo de rotação;
 Cilíndrica: É composta por duas juntas, uma rotativa e uma prismática;
 Prismática ou Linear: Se move em linha reta e é composta de duas hastes
que deslizam entre si;
 Esférica: Funciona com a combinação de três juntas de rotação que permite
movimentos rotativos em torno de três eixos;
30

 Parafuso: É constituída de um parafuso que contém uma porca que gira,


executando movimento semelhante ao da junta prismática (movimento de
parafuso);
 Planar: É composta por duas juntas prismáticas, realizando movimentos em
duas direções.

Figura 2.4 – Tipos de vínculos ou juntas empregadas em robôs

Fonte: Carrara (2008).

A maioria dos robôs utiliza, em geral, juntas rotativas e prismáticas. A junta


planar pode ser considerada como a junção de duas juntas prismáticas, e, portanto, é
também utilizada (CARRARA, 2008).
De acordo com Carrara (2008), as juntas rotativas podem ainda ser
classificadas de acordo com as direções dos elos de entrada e de saída em relação
ao eixo de rotação (figura 2.5), conforme lista abaixo:
 Rotativa de Torção ou Torcional (T): Os elos de entrada e de saída têm a
mesma direção do eixo de rotação da junta;
 Rotativa Rotacional (R): Os elos de entrada e de saída são perpendiculares
ao eixo de rotação da junta;
 Rotativa Revolvente (V): O elo de entrada possui a mesma direção do eixo de
rotação, mas o elo de saída é perpendicular a este.
A figura 2.5, além de demonstrar esta classificação, também ilustra, a título de
comparação, uma junta do tipo prismática.
31

Figura 2.5 – Representação esquemática das juntas

Fonte: Carrara (2008).

2.2 CLASSIFICAÇÃO DOS ROBÔS

Segundo Rosário (2005), podemos classificar as máquinas robóticas de


acordo com o número de juntas, o tipo de controle empregado, o método de
acionamento e a geometria. É possível também classificar os dispositivos robóticos
em relação ao espaço de trabalho (workspace), ao grau de rigidez, à extensão de
controle sobre o curso de movimento e de acordo com as aplicações adequadas
(ROSÁRIO, 2005).
Entretanto, visando a simplificação e o melhor entendimento sobre o assunto,
é usual classificar os robôs conforme dois métodos: um que considera os seus
atributos físicos ou geométricos (configuração cinemática) e outro que se refere ao
modo no qual estes são controlados (FERREIRA, 2012).

2.2.1 CONFIGURAÇÃO CINEMÁTICA

Existem cinco classes principais de manipuladores segundo os tipos de


juntas, o que permite diferentes possibilidades de posicionamento no volume de
trabalho (ROSÁRIO, 2005). Os cinco grupos principais de um robô podem ser listados
da seguinte maneira:
 Cartesiano;
 Cilíndrico;
32

 Articulado ou Antropomórfico;
 Esférico ou Polar;
 SCARA.
Cada uma dessas classes é descrita de acordo com os primeiros três graus
de liberdade, podendo ser descritos em suas próprias coordenadas, que podem ser
mapeadas para o sistema de coordenadas cartesiano. O código usado para essa
classificação consiste numa sequência de três letras, que representam os tipos de
juntas na ordem em que ocorrem, começando da junta mais à extremidade do braço
(ROSÁRIO, 2005).
Conforme Santos (2014), a seguir será mostrada a caracterização cinemática
destas configurações de robôs:

2.2.1.1 Robô de Coordenadas Cartesianas

Um robô de coordenadas cartesianas (figura 2.6) pode se movimentar em


linha reta, em deslocamentos horizontais e em deslocamentos verticais. As
coordenadas cartesianas especificam um ponto no espaço em função de suas
coordenadas X, Y e Z. Os robôs cartesianos geralmente apresentam três articulações
deslizantes, sendo codificados como PPP (Prismática-Prismática-Prismática)
(ROSÁRIO, 2005).
Este tipo de robô caracteriza-se pela pequena área de trabalho, operando com
elevado grau de rigidez mecânica e é capaz de grande exatidão na localização do
atuador. Seu controle é simples devido ao movimento linear e alcança qualquer ponto
de um cubo formado pelos seus eixos.
Segundo Craig (2006), esta configuração produz robôs com estruturas muito
rígidas. Como consequência podem construir-se robôs bastante grandes.
Os robôs cartesianos são também caracterizados pela carga inercial
(momento) fixa ao longo da área de trabalho e pela conveniência em tarefas que
necessitam de grande precisão e sem uma grande necessidade de movimentos.
A figura 2.7 demonstra o volume de trabalho alcançado pelo uso deste tipo de
robô.
33

Figura 2.6 – Representação tridimensional de um robô cartesiano PPP (3GL)

Fonte: Moura (2004).

Figura 2.7 – Volume de trabalho de um robô cartesiano de três graus de liberdade

Fonte: Desai (2012).

2.2.1.2 Robô de Coordenadas Cilíndricas

Este tipo de máquina robótica combina movimentos lineares com movimentos


rotativos, descrevendo uma área de movimentação final em torno de um envelope
cilíndrico. Os graus de liberdade do robô de coordenadas cilíndricas são codificados
como RPP (Revolução-Prismática-Prismática). Conforme pode ser observado na
figura 2.8, este robô consiste de uma junta de revolução e duas juntas prismáticas
(ROSÁRIO, 2005).
O volume de trabalho desta classe de robôs é maior quando em comparação
com robôs do tipo cartesianos, porém demandam controle mais sofisticado que os
34

anteriores justamente pela existência de vários momentos de inércia para diferentes


pontos no volume de trabalho e pela rotação da articulação da base, conforme
figura 2.9 (CARRARA, 2008).
Em função do arranjo mecânico, geralmente robôs de configuração cilíndrica
podem realizar dois movimentos lineares e um rotativo. Desta forma, os movimentos
lineares são realizados nos eixos X e Y e o movimento de rotação é feito em torno do
eixo Z (DESAI, 2012).

Figura 2.8 – Representação tridimensional de um robô de coordenadas cilíndricas RPP


(3 GL)

Fonte: Moura (2004).

Figura 2.9 – Volume de trabalho de um robô de coordenadas cilíndricas de três graus de


liberdade

Fonte: Desai (2012).


35

2.2.1.3 Robô Articulado (Coordenadas de Revolução ou Rotativas)

O robô articulado possui juntas que se movem de maneira similar aos


movimentos de um braço humano. Basicamente é formado por dois elos retos, em
analogia ao antebraço e braço humano, ambos montados numa base vertical. Tais
componentes são conectados por juntas rotativas correspondendo ao ombro e ao
cotovelo. Um punho pode ser unido à extremidade do antebraço, o que propicia
ligações a mais para aplicações distintas (SHHEIBIA, 2001).
Chamados de robôs articulados, são também denominados de manipuladores
antropomórficos (SANTOS, 2014), caracterizando-se por possuir geralmente três
juntas de revolução e codificados como RRR (Revolução-Revolução-Revolução)
(ROSÁRIO, 2005).
Segundo (CRAIG, 2006), esta classe de máquinas apresenta ainda a
característica de minimizar a interferência da própria estrutura do manipulador no
espaço de trabalho, tornando-se capaz de chegar a locais confinados.
A figura 2.10 mostra uma representação de um robô articulado e o volume de
trabalho deste tipo de robô pode ser mostrado na figura 2.11.
Do ponto de vista de Rosário (2005, p. 159):
Sua área de atuação é maior que a de qualquer tipo de robô, contudo
apresentam baixa rigidez mecânica. Seu controle é complicado e difícil
em razão das três juntas de revolução e das variações no momento
de carga e no de inércia.

Figura 2.10 – Representação tridimensional de um robô articulado RRR (3 GL)

Fonte: Rosário (2005).


36

Figura 2.11 – Áreas de trabalho de um robô articulado RRR de três graus de liberdade

Fonte: Craig (2006).

2.2.1.4 Robô de Coordenadas Esféricas

Para Rosário (2005), um robô de coordenadas esféricas possui dois


movimentos rotativos, na cintura e no ombro, e um terceiro, que é linear, descrevendo,
assim, um envelope esférico. Sua configuração é do tipo RRP (Revolução-Revolução-
Prismático), ou seja, duas juntas rotativas e uma prismática. Este tipo de robôs
também é chamado de robô polar (WANG, 2009).
A configuração esférica deste dispositivo apresenta muita similaridade com a
configuração dos manipuladores de revolução, porém a articulação antropomórfica
presente nos braços robóticos articulados é aqui substituída por uma articulação
prismática (CRAIG, 2006).
A área de operação deste tipo de robô é maior que a dos modelos cilíndricos
e cartesianos, entretanto apresenta rigidez mecânica menor e controle mais
sofisticado em função dos movimentos de rotação de suas juntas (ROSÁRIO, 2005).
Na figura 2.12 pode-se verificar uma representação tridimensional de um robô
esférico, enquanto a figura 2.13 exemplifica o volume de trabalho conseguido por um
robô deste tipo.
37

Figura 2.12 – Representação tridimensional de um robô de coordenadas esféricas RRP


(3 GL)

Fonte: Moura (2004).

Figura 2.13 – Volume de trabalho de um robô de coordenadas esféricas de 3 graus de


liberdade

Fonte: Desai (2012).

2.2.1.5 Robô SCARA

O termo SCARA advém da expressão em inglês Selective Compliance


Assembly Robot Arm, que significa braço robótico de montagem com complacência
seletiva ou simplesmente braço de robô com montagem seletiva obediente
(CRAIG, 2006). Conforme pode ser visto na figura 2.14, um robô deste tipo possui três
articulações de revolução paralelas que lhe permite mover-se e orientar-se em um
plano, e uma quarta articulação prismática para mover o atuador ou garra de maneira
38

ortogonal ao plano formado pelos dois primeiros vínculos (CRAIG, 2006). A figura 2.15
demonstra o volume de trabalho de um robô SCARA.
Por possuir duas juntas de revolução e uma prismática, a codificação deste
tipo de mecanismo é RRP (Revolução-Revolução-Prismática). Rosário (2005)
menciona que, muito embora na configuração SCARA sejam encontrados tipos de
juntas idênticos ao de uma configuração esférica, os robôs do tipo SCARA se
diferenciam dos esféricos tanto na aparência quanto na aplicação.
Como atrativos, Craig (2006) menciona que a principal vantagem deste
manipulador é que as três primeiras articulações não tem que suportar o peso do
manipulador ou da carga. Já para Carrara (2008), a área de trabalho desses robôs é
menor do que a de robôs esféricos e maior que cartesianos e cilíndricos.

Figura 2.14 – Representação tridimensional de um robô SCARA (RRP) de 3 GL

Fonte: Moura (2004).

Figura 2.15 – Volume de trabalho de um robô SCARA de 3 graus de liberdade

Fonte: Craig (2006).


39

2.2.2 CONFIGURAÇÃO DOS PUNHOS

Engenheiros e projetistas procuram desenvolver punhos de forma a fazer com


que os eixos de rotação das juntas se cruzem num mesmo ponto. A figura 2.16 mostra
a configuração de um punho RT (Rotacional-Torcional). Isto permite que o elemento
terminal realize um movimento translacional reduzido quando as juntas do punho são
acionadas. O punho RT, entretanto, não consegue gerar todas as direções possíveis,
posto que executa movimentos apenas nas direções de guinada e rolamento
(CARRARA, 2008).
A figura 2.17 exibe a configuração de um punho TRT (Torcional-Rotacional-
Torcional). Semelhante ao punho anteriormente descrito, os eixos de rotação das
juntas de um punho classificado como TRT se cruzam num mesmo ponto, contudo,
por ser dotado de três juntas, consegue orientar-se em todas as direções possíveis.

Figura 2.16 – Configuração de um punho RT na forma compacta

Fonte: Carrara (2008).

Figura 2.17 – Configuração de um punho TRT na forma compacta

Fonte: Carrara (2008).

2.3 CAPACIDADE DE REALIZAÇÃO DE TAREFAS

O movimento das articulações capacita o robô a deslocar o atuador para


qualquer ponto na sua área de atuação. A importância do movimento não se restringe
40

ao alcance da peça, mas também à condução do atuador a uma certa altitude em


relação a ele. De acordo com Moraes (2003, p. 80), volume de trabalho “é o espaço
dentro do qual o robô pode manipular a extremidade de seu punho (end effector ou
efetuador final).”
Podemos destacar três movimentos peculiares e com nomenclaturas
específicas presentes nos dispositivos robotizados (figura 2.18). São eles:
 Roll “R” (rolamento): movimento de rotação no sentido horário e anti-horário
(em torno de um eixo longitudinal);
 Pitch “P” (arfagem): movimento para cima e para baixo (em torno de um eixo
de arfagem);
 Yaw “Y” (guinada): movimento para a esquerda e para a direita (em torno de
um eixo de guinada).
“Um dos mais importantes métodos inerciais de estabelecimento de uma
referência utiliza giroscópios. Trata-se da referência inercial, usada nos sistemas de
navegação inercial” (ROSÁRIO, 2005, p. 85).
Atualmente existem várias outras aplicações para os sensores de orientação
além de seu uso na navegação inercial. As bussolas giroscópicas são empregadas
em aplicações marítimas e principalmente em orientação de sistemas robóticos
moveis. Por sua vez, giroscópios também podem ser utilizados na medição de
velocidades angulares e em aplicações militares (artilharia e controle de voo de
projeteis e mísseis), tal como na aferição de força e torque (ROSÁRIO, 2005).

Figura 2.18 – Definição dos ângulos de orientação roll, pitch e yaw (ϕ, θ, Ψ)

Fonte: Rosário (2005).


41

2.4 GARRAS E FERRAMENTAS TERMINAIS

Um robô é projetado para atuar de acordo com seu ambiente, e para tal deve
ser dotado de um elemento terminal. Como o atuador é o elemento fundamental para
a correta execução de uma tarefa, faz-se necessário que tal membro seja
adequadamente elaborado e adaptado às condições do seu meio de trabalho
(ROSÁRIO, 2005).
O elemento terminal é o responsável por realizar a manipulação de objetos
em diferentes tamanhos, formas e materiais, porém esta manipulação depende da
aplicação ao qual se destina (CARRARA, 2008).
Podem-se comparar as garras de dispositivos robóticos às mãos humanas,
apesar disso elas não são capazes de replicar os movimentos humanos com
fidelidade, fato que resulta na limitação desses movimentos a algumas faixas de
operação particulares. A enorme demanda por atuadores deste tipo culminou com o
desenvolvimento de garras capazes de manusear diferentes tipos de objetos sob
diversos tamanhos e aplicações (ROSÁRIO, 2005). Elas podem ser assim
classificadas conforme seguem os itens abaixo.

2.4.1 GARRA DE DOIS DEDOS

É o tipo mais comum de garra, apresentando grande variedade de variantes.


Basicamente se diferenciam uma das outras pelo tamanho e/ou pelo movimento dos
seus dedos, que pode ser de forma paralela ou rotativa (figura 2.19):

Figura 2.19 – Garras de dois dedos (formas de movimentação)

Fonte: Rosário (2005).


42

A principal desvantagem deste tipo de mecanismo se dá pela limitação quanto


a abertura dos dedos, o que restringe sua operação a objetos cujo tamanho não
ultrapassem a abertura máxima (ROSÁRIO, 2005).

2.4.2 GARRA DE TRÊS DEDOS

É similar a garra de dois dedos citada acima, todavia admite preensão de


objetos de forma triangular ou cilíndrica e de objetos de geometria não regular. Os
dedos deste tipo de dispositivo podem possuir vários vínculos (ROSÁRIO, 2005). Na
figura 2.20 é possível observar um exemplar de garra de três dedos.

Figura 2.20 – Garra de três dedos

Fonte: Rosário (2005).

2.4.3 GARRA PARA PREENSÃO DE OBJETOS CILÍNDRICOS

Este tipo de garra consiste de dois dedos com um, dois, ou vários semicírculos
chanfrados, permitindo, assim, a captura de objetos cilíndricos de diâmetros distintos,
conforme é possível se observar na figura 2.21. Porém, para Rosário (2005), as
principais desvantagens associadas a este tipo de mecanismo é que os movimentos
são limitados em função do tamanho da garra e que o seu peso deve ser sustentado
pelo braço robótico durante o desempenho de suas funções.
43

Figura 2.21 – Garra para preensão de objetos cilíndricos

Fonte: Rosário (2005).

2.4.4 GARRA ARTICULADA

Na opinião de Carrara (2008), a garra articulada possui a forma mais similar


à mão humana, a qual proporciona versatilidade considerável para manipular objetos
de formas irregulares e tamanhos diferentes. Este atributo está ligado à quantidade
de elos nela presentes, elos que podem ser movimentados por cabos, músculos
artificiais ou motores especiais, dentre outros (figura 2.22).

Figura 2.22 – Modelo de garra articulada

Fonte: Carrara (2008).

2.5 CINEMÁTICA DE BRAÇOS ROBÓTICOS

2.5.1 INTRODUÇÃO

Um manipulador robotizado ou mecânico consiste de elos, denominados


também como links, conectados por juntas geralmente prismáticas ou rotativas, onde
cada par junta-link constitui um grau de liberdade. Deste modo, para certo
manipulador com n graus de liberdade, teremos n pares junta-link, onde o primeiro link
44

é a base de sustentação do robô, em um sistema de coordenadas inerciais fixo, e o


seu último link constituído de seu elemento terminal, garra ou ferramenta (MAGRIL,
2010).
Grande parte das aplicações robóticas exige que robôs realizem tarefas que,
no geral, relacionam seu elemento terminal a um sistema fixo à sua base. Como o
robô é controlado por meio de suas variáveis, para se obter o controle deste em
relação a um sistema de coordenadas cartesianas faz-se necessário o
desenvolvimento de metodologias específicas que transformem tais coordenadas.
Desta forma, é indispensável a implementação de algoritmos numéricos rápidos para
se produzir o modelo cinemático direto e inverso e, assim, determinar o deslocamento
de cada grau de liberdade do robô com objetivo de que este realize tarefas dentro de
seu ambiente de trabalho (ROSÁRIO, 2005).

2.5.2 SISTEMAS DE REFERÊNCIA11

Para Rosário (2005), um sistema articular pode ser representado


matematicamente por n corpos móveis Ci, com i = 1, 2, 3, ..., n, e por um corpo Co fixo,
interligados por uma quantidade n de articulações, formando uma estrutura em cadeia,
com essas juntas podendo ser tanto prismáticas quanto rotativas.
Com o intuito de se representar a situação relativa dos vários corpos de uma
cadeia, é atribuído a cada um dos elementos C i um referencial R12. É possível também
relacionar determinado referencial R i+1 = (Oi+1, Xi+1, Yi+1, Zi+1) com seu elemento
imediatamente anterior Ri = (Oi, Xi, Yi, Zi), bem como com o sistema de coordenadas
de origem da base, mediante o uso da equação 2.1, onde Ai,i+1 , representa as
matrizes de transformação homogênea de rotação e L i o vetor de translação de uma
origem a outra, como pode ser vista na figura 2.23.

11
Os conceitos de sistemas de referência apresentados nos itens que seguem até o Capítulo 3 são
baseados majoritariamente em Rosário (2005), que, para o assunto discutido, difere de Craig (2006)
no modo como as matrizes de transformação são dispostas. Esta escolha se deu pelo fato de Rosário
(2005) abordar de maneira mais didática este tema. Tal informação é válida pois a partir do Capítulo 3
deste trabalho existe a predominância do uso de Craig (2006), que melhor aborda os temas ali tratados.
12
Este referencial na verdade trata-se de um sistema de coordenadas cartesianas ortonormal X, Y e Z.
Craig (2004) usa a expressão em inglês frames para se referir a sistemas de coordenadas cartesianas
ortonormais X, Y e Z, enquanto que Craig (2006) faz o uso do termo em espanhol trama. Ambas
palavras são utilizadas para o mesmo propósito: tanto frame quanto trama podem ser traduzidas para
o português como quadro, fazendo alusão à expressão quadro ou sistema de coordenadas. Para este
trabalho será usada a expressão frame.
45

Deste modo, Ai,i+1 resulta do produto matricial entre as várias matrizes de


transformação homogêneas relacionadas com as translações ou rotações sucessivas
das articulações, conforme é possível verificar na equação 2.2.

Figura 2.23 – Sistema de referência utilizado

Fonte: Rosário (2005).

O i 1  O i  Ai,i 1  Li (2.1)

Ai,i 1  A1, 2  A2 , 3  Ai,i 1 (2.2)

Onde:

N xo S xo Axo 
Ai,i 1  N yo S yo Ayo  (2.3)
N zo S zo Azo 

Ainda de acordo com Rosário (2005), qualquer rotação tridimensional no


espaço pode ser decomposta em um grupamento de rotações elementares ao longo
dos eixos de orientação X, Y e Z. “A matriz de rotação elementar usada na equação
de transformação é associada com a rotação elementar do referencial correspondente
em relação ao seu anterior” (ROSÁRIO, 2005, p. 198).
Como este procedimento matemático pode ser estendido para todo modelo,
a matriz de orientação de um ponto de interesse pode muito bem ser obtida pela
equação 2.2. Por conseguinte, o completo posicionamento de um corpo rígido no
espaço pode ser obtido pela equação 2.1, que fornece seu vetor de posição, sendo
46

que a equação 2.3 é a matriz de orientação associada. Esta matriz pode ser expressa
por meio de componentes angulares associadas às três direções de rotação
correspondentes aos eixos de referência, como roll, pitch e yaw (ϕ, θ, Ψ)
(ROSÁRIO, 2005).
Por fim, em um dispositivo robótico, seus diferentes graus de liberdade podem
ser associados aos diversos sistemas de coordenadas que irão, por sua vez,
descrever cada grau de liberdade. Tal relação pode ser expressa de forma matemática
a partir de uma matriz que faz a relação entre o sistema de coordenadas da base do
robô com o sistema de coordenadas do último elemento deste, chamada de matriz de
transformação de coordenadas homogêneas do robô (ROSÁRIO, 2005).

2.5.3 MODELO GEOMÉTRICO

Para Rosário (2005), o modelo geométrico de um robô expressa a posição e


orientação de seu elemento terminal em relação a um sistema de coordenadas
solidário a base do robô em função de suas coordenadas generalizadas, conforme
pode ser observado na figura 2.24.
O modelo geométrico é representado pela função vetorial f, que representa

⃗ em coordenadas
um dado vetor X no espaço cartesiano em função de um vetor θ
angulares.
 
X  f(θ ) (2.4)

Onde:

θ  θ1 ,θ 2 ,θ 3 ,...,θ n  = vetor das posições angulares das juntas;

𝑋 = (𝑝𝑥 , 𝑝𝑦 , 𝑝𝑧 , 𝜓, 𝜃, 𝜙)= vetor de posição, onde os três primeiros termos


denotam a posição cartesiana e os três últimos a orientação do elemento
terminal.
47

Figura 2.24 – Representação de um sistema de coordenadas de um robô (θ1, θ2, θ3)

Fonte: Rosário (2005).

A função f que é o modelo geométrico, consiste na expressão analítica da


composição dos movimento das juntas do braço que realizarão o movimento de seu
elemento final. Conforme citado anteriormente, esta relação pode ser expressa
matematicamente pela matriz de transformação homogênea, que relaciona o sistema
de coordenadas fixo à base do robô com um sistema de coordenadas à do seu
elemento terminal, resultante do produto das matrizes de transformação A i,i+j
(ROSÁRIO, 2005).
Este produto relaciona o sistema de coordenadas de dado elemento i com o
sistema de coordenadas de seu elemento imediatamente anterior i-1, ou seja:

Tn  A0 ,1  A0 , 2  ...  An 1,n
   (2.5)
T n  ns a p
Onde:

p  [px ,p y ,pz ] = vetor posição;
  
n  [nx ,n y ,nz ] t , s  [s x ,s y ,s z ] t e a  [ax ,a y ,az ] t = vetores ortonormais

que descrevem a orientação.

Rosário (2005) afirma que, embora esta definição de modelo geométrico seja
única, a forma de se obter a matriz de passagem homogênea da máquina robótica
está associada ao sistema de referência empregado. Existem várias formas de se
48

obter tais matrizes e cada uma destas gera expressões diferentes, diferindo quanto
ao número de operações aritméticas necessárias ao cálculo numérico, todavia
equivalentes quantitativamente. Rosário (2005) afirma que existem duas maneiras
para obter a matriz de passagem homogênea do robô: por meio da sistemática de
Denavit-Hartenberg e dos vetores locais.

2.6 MATRIZ DE TRANSFORMAÇÃO PELO MÉTODO DE DENAVIT-HARTENBERG

Primeiramente há de se introduzir o método para a obtenção dos quatro


parâmetros fundamentais de Denavit-Hartenberg (D-H). São eles: θ i ,ai ,d i e α i

2.6.1 APRESENTAÇÃO DA SISTEMÁTICA DE DENAVIT-HARTENBERG

Os parâmetros descritos pela sistemática de D-H permitem obter o conjunto


de equações que descreve a cinemática de uma junta de um dispositivo robótico com
relação à sua junta seguinte e vice-versa (ROSÁRIO, 2005).
Conforme citado, são quatro os parâmetros presentes nesta sistemática
(figura 2.25):
 Ângulo de rotação da junta θ  ;

 Ângulo de torção da junta α  ;

 Comprimento do elo a  ;

 Deslocamento da junta d  .
O modelo cinemático de um sistema articulado no espaço tridimensional pode
ser representado pela evolução no tempo das coordenadas das juntas deste sistema
(ROSÁRIO, 2005).
De acordo com Magril (2010, p. 28), “a notação de Denavit-Hartenberg é uma
ferramenta utilizada para sistematizar a descrição cinemática de sistemas mecânicos
articulados com n graus de liberdade”. Rosário (2005) deixa claro que, através deste
método, são obtidas apenas as coordenadas do elemento terminal do dispositivo
articulado. Desta forma, os parâmetros de D-H poderão ser utilizados em programas
computacionais de geração de trajetórias e de identificação de erros, por exemplo,
neste caso requer apenas as coordenadas do elemento terminal do robô.
49

Na figura 2.25 podemos visualizar dois links conectados por uma junta com
duas superfícies que deslizam uma sobre a outra e permanecem em contato, sendo
que o eixo de uma junta estabelece a conexão entre dois links adjacentes.

Figura 2.25 – Notação de Denavit-Hartenberg (geometria e parâmetros de juntas rotativas)

Fonte: Rosário (2005).

Seguindo este método13, aos eixos de juntas devemos conectar duas normais,
uma para cada link. A posição relativa dos dois links conectados, link i-1 e link i é
definida por di , que é a distância medida ao longo do eixo da junta entre suas normais.
O ângulo da junta θi entre as normais é medido em um plano normal ao eixo θi da
junta. Assim, di e θi podem ser chamados de distância e ângulo entre links adjacentes,
respectivamente. São eles que definem a posição relativa de links vizinhos
(ROSÁRIO, 2005).
Um link qualquer (link i, por exemplo) poderá estar conectado a, no máximo,
dois outros links adjacentes (link i-1 e link i+1). Assim, dois eixos de junta são
estabelecidos em ambos terminais de conexão. Do ponto de vista cinemático, os links

13
Muitas convenções relacionadas levam o nome Denavit-Hartenberg, mas diferem em alguns detalhes
de autor para autor. Aqui, Rosário (2005) utiliza um sistema coordenado com Zi-1 associado ao eixo de
rotação θi. No Capítulo 3, já com base em Craig (2006), será possível identificar uma pequena
diferenciação na atribuição dos sistemas coordenados, porém em nada afetará a devida compreensão
principal desta sistemática.
50

são os elementos que mantêm uma configuração fixa entre suas juntas, podendo esta
configuração ser caracterizadas por dois parâmetros: a i e αi (ROSÁRIO, 2005).
O parâmetro ai é a menor distância medida ao longo da normal comum entre
os eixos de junta (no caso da figura 2.25, trata-se da distância entre os eixos Zi-1 e Z i
para a junta i e junta i+1, respectivamente). Desta maneira, a i e αi, podem ser
chamados, respectivamente, comprimento e ângulo de torção do link i. Eles
determinam a estrutura do link i (ROSÁRIO, 2005).
Portanto, os quatro parâmetros ai , αi , di e θi são associados a cada um dos n
links do manipulador. O estabelecimento de uma convenção de sinais para cada um
destes parâmetro fornece condição suficiente para determinar a configuração
cinemática de cada link do manipulador (MAGRIL, 2010). É importante mencionar que
estes quatro parâmetros aparecem em pares:
 (ai , αi) determinam a estrutura do link e os parâmetros da junta;
 (di , θi) determinam a posição relativa de links vizinhos.

2.6.2 DESCRIÇÃO DA NOTAÇÃO DE DENAVIT-HARTENBERG

Conforme Rosário (2005), para descrever a translação e rotação entre dois


links adjacentes, Denavit e Hartenberg propuseram um método matricial para
estabelecimento sistemático de um sistema de coordenadas fixo para cada link de
uma cadeia cinemática articulada.
A representação de D-H resulta na obtenção de uma matriz de transformação
homogênea 4x4, a qual representa cada sistema de coordenadas do link na junta em
relação ao sistema de coordenadas do link anterior. Sendo assim, a partir de
transformações matriciais sucessivas podemos obter as coordenadas do elemento
terminal de um robô expressas matematicamente no sistema de coordenadas fixo a
base (ROSÁRIO, 2005).
Um sistema ortonormal de coordenadas cartesianas (X i, Yi, Zi) pode ser
estabelecido para cada link no seu eixo de junta, onde i = 1, 2, 3,..., n corresponde ao
número de graus de liberdade mais o sistema de coordenadas da base. Desta
maneira, uma junta rotativa passa a ter somente um grau de liberdade, e cada sistema
de coordenadas (Xi, Yi, Zi) do braço do objeto robótico corresponde à junta i+1, sendo
fixo no link i (MAGRIL, 2010).
51

Quando o acionador ativa a junta i, o link i deve mover-se com relação a seu
elo anterior, isto é, ao link i-1. Assim, o i-ésimo sistema de coordenadas é solidário ao
link i, se movimentando junto com o mesmo, e o n-ésimo sistema de coordenadas se
movimentará com o elemento terminal (link n). As coordenadas da base são definidas
como o sistema de coordenadas 0 (X0, Y0, Z0), nomeado também de sistema de
referência inercial14. Os sistemas de coordenadas são determinados e estabelecidos
respeitando três regras:
 O eixo Zi-1 é colocado ao longo do eixo de movimento da junta i;
 O eixo Xi é normal ao eixo Zi-1 e apontando para fora dele;
 O eixo Yi completa o sistema utilizando a regra da mão direita.
Esse grupo de regra nos permite ver que, em primeiro lugar, como a escolha
de coordenadas é livre, elas podem ser alocadas em qualquer lugar da base de
suporte do braço articulado, ao passo que a posição do eixo Z 0 deve ser a do eixo de
movimento da primeira junta. Em segundo lugar, o último sistema de coordenadas (n-
ésimo) pode ser colocado em qualquer parte do componente final do robô, à medida
que o eixo Xi é normal ao eixo Zi-1 (ROSÁRIO, 2005).
Conforme enunciado no item 2.6.2, a representação de D-H de um elo rígido
depende de quatro parâmetros a ele associados, os quais descrevem totalmente o
comportamento cinemático de uma junta que pode ser tanto de revolução quanto
prismática (ROSÁRIO, 2005). Da figura 2.25 podemos enunciar o seguinte:
 θi é o ângulo de junta obtido entre os eixos X i-1 e Xi no eixo Zi-1 (pelo uso da
regra da mão direita);
 di é a distância entre a origem do (i-1)-ésimo sistema de coordenada até a
interseção do eixo Zi-1 com o eixo Xi por toda a extensão do eixo Z i-1;
 ai é a distância (off-set) entre a interseção do eixo Zi-1 com o eixo Xi até a origem
do i-ésimo sistema de referência tomado ao longo do eixo X i, isto é, a menor
distância entre os eixos Zi-1 e Zi;
 αi é o ângulo (off-set) entre os eixos Zi-1 e Zi tomado ao longo do eixo Xi pelo
uso da regra da mão direita.
Para uma junta rotativa, di, ai e αi são os parâmetros de junta, cujos valores
variam pela rotação do link i em relação ao link i-1.

14
Conforme utilizado por Rosário (2005). Entretanto é valido mencionar que alguns autores utilizam
tanto a letra “O” quanto o número “0” (zero) para definir o sistema de coordenadas de referência.
52

2.6.3 EXEMPLO DE APLICAÇÃO

De acordo com Rosário (2005) e com base na figura 2.25, suponhamos que
exista um ponto P qualquer ao longo do eixo Z i-1 (para melhor entendimento,
convencionaremos que este ponto esteja na interseção do vetor a i com o eixo Zi-1) e
que a este ponto P esteja rigidamente vinculado um sistema de coordenadas X, Y e
Z. Ainda com base na figura 2.25, suponhamos também que exista um ponto P’
localizado exatamente na interseção do eixo Z i com o eixo Xi e que este ponto P’
também possua um sistema de coordenadas X’, Y’ e Z’ não necessariamente paralelo
ao sistema X, Y e Z do ponto P.
Necessitamos, portanto, gerar uma matriz que relacione ambos sistemas de
coordenadas: a esta matriz (ou conjunto de matrizes) denominaremos matriz de
i 1
transformação homogênea iA (ROSÁRIO, 2005).
Com os sistemas de coordenadas de D-H já estabelecidos, a matriz de
transformação homogênea pode facilmente ser desenvolvida relacionando o i-ésimo
ao (i-1)-ésimo sistema de coordenadas. Desejamos, portanto, representar um ponto
Pi qualquer com base (i-1)-ésimo sistema de coordenadas. Para isto faz-se necessário
aplicarmos transformações matriciais de rotação e translação (ROSÁRIO, 2005).
A matriz de transformação homogênea aqui proposta deverá ser capaz de
efetuar os seguintes passos:
 Rotacionar em θ graus o eixo Zi-1 para alinhar o eixo X i-1 com o eixo Xi (o eixo
Xi-1 é paralelo ao eixo X i e aponta para a mesma direção);
 Realizar uma translação (ou simplesmente transladar) de uma distância d i ao
longo do eixo Zi-1 de modo a fazer com que os eixos Xi-1 e Xi coincidam;
 Transladar ao longo do eixo X i uma distância de ai, de modo a coincidir as duas
origens (ou seja, trazer o eixo Xi-1 já rotacionado de θ graus e transladado de
di);
 Por fim, produzir rotação no eixo Xi de um ângulo αi graus.
Cada uma dessas quatro operações pode ser expressa por uma matriz
homogênea de rotação ou translação, e o produto dessas quatro matrizes de
transformações elementares origina uma matriz de transformação homogênea
i 1
composta i A, conhecida como matriz de transformação de D-H para sistemas de
coordenadas adjacentes i e i-1 (ROSÁRIO, 2005).
53

Assim, seguindo os passos acima mencionados, será dada conforme a


equação abaixo:
i 1
iA  Rotação(z,θ i ) Translação(z,d i )  Rotãção(x,α i ) Translação(x,a i )
i 1
iA  R(z,θ i ) T(z,d i )  R(x,α i ) T(x,a i ) (2.6)
i 1
iA  R Z TZ  R X T X

 cosθ senθ 0 0 1 0 0 0  1 0 0 0 1 0 0 a
 senθ    
cosθ 0 0 0 1 0 0 0 cosα  senα 0  0 1 0 0
i 1
i A       (2.7)
 0 0 1 0 0 0 1 d  0  senα cos α 0  0 0 1 0
    
 0 0 0 1  0 0 0 1  0 0 0 1  0 0 0 1

Fazendo todas as multiplicações matriciais, chegamos a:

 cosθ  cosα  senθ senα  senθ a  cosθ 


senθ cosα  cosθ senα  cosθ a  senθ 
i 1
iA
 (2.8)
 0 senα cosα d 
 
 0 0 0 1 

Sua inversa será:

 cosθ senθ 0 a 
 cosα  senθ  d  senα 
 
i 1 1
iA 
 senα  senθ
cosα  cosθ senα
senα  cosθ cosα

 d  cosα 
(2.9)
 
 0 0 0 1 

Onde d, a e α são constantes e θ é a variável de junta (para uma situação de junta


rotativa).

2.6.4 ALGORITMO PARA OBTENÇÃO DO SISTEMA DE COORDENADAS PARA O


LINK

A metodologia de D-H permite obter um conjunto de equações que descreve


a cinemática de uma articulação de um braço robótico relacionando sua junta anterior
ou posterior. Por sua vez, a notação de D-H propõe um algoritmo que conduz à devida
determinação do sistema de coordenadas ortonormais para cada elo do dispositivo
robótico. Vários autores descrevem e se utilizam deste algoritmo para a obtenção do
54

sistema de coordenadas necessário para a devida modelagem e estudo de objetos


articulados.
Dado um manipulador com n graus de liberdade, o algoritmo aqui proposto
determina um sistema de coordenadas ortonormais para cada link do robô a partir do
sistema de coordenada fixo à base de suporte (sistema inercial ou de referência) até
o seu elemento terminal. As relações entre os links adjacentes podem ser
representadas por uma matriz de transformação homogênea (4x4). O conjunto de
matrizes de transformação homogêneo permite a obtenção do modelo cinemático do
robô (ROSÁRIO, 2005).
A figura 2.26 apresenta o algoritmo resumido para a obtenção dos parâmetros
de Denavit Hartenberg.

Figura 2.26 – Algoritmo resumido de Denavit-Hartenberg

Obtenção do sistema de coordenadas da base:


Estabelecer um sistema ortonormal de coordenadas (X 0, Y0, Z0) na base de suporte
D1 com o eixo Z0 colocado ao longo do eixo de movimento da junta 1 apontando para
o ombro do braço do robô. Os eixos X 0 e Y0 podem ser convenientemente
estabelecidos e são normais ao eixo Z0.

Inicialização e iteração:
D2
Para cada i, i = 1, . . ., n-1, efetuar passos D3 até D6.

Estabelecer o eixo das juntas:


Alinhar Zi com o eixo de movimento (rotação ou translação) da junta i+1. Para robôs
D3
tendo configurações de braço esquerdo-direito, os eixos Z1 e Z2 são apontados
sempre para o ombro e o tronco do braço do robô.

Estabelecer a origem do i-ésimo sistema de coordenadas:


D4 Situar a origem do i-ésimo sistema de coordenas na interseção dos eixos Zi e Zi-1
ou na interseção da normal comum entre os eixos Z i e Zi-1 e o eixo Zi.

Estabelecimento do eixo Xi:


D5 Estabelecer Xi = ± (Zi-1 × Zi) / || Zi-1 × Zi || ou ao longo da normal comum entre os
eixos Zi e Zi-1 quando eles forem paralelos.
55

Estabelecimento do eixo Yi:


D6 Determina-se Yi = ± (Zi × Xi) / || Zi-1 × Xi || para completar o sistema de coordenadas.
(Estender os eixos Zi e Xi se necessário para passos D9 a D12).

Estabelecer a direção do sistema de coordenadas:


Normalmente a n-ésima junta é uma junta rotativa. Estabelecer Z n ao longo da
D7 direção do eixo Zn-1 apontando para fora do robô. Estabelecer X n assim que ele é
normal tanto aos eixos Zn-1 e Zn. Determine Yn para completar o sistema de
coordenadas.

Encontrar os parâmetros das juntas e links:


D8
Para cada i, i = 1, . . . , n, efetuar passos D9 ao D12.

Encontrar di:
di é a distância da origem do (i-1)-ésimo sistema de coordenadas até a interseção
D9
do eixo Zi-1 e o eixo Xi ao longo do eixo Zi-1. Ela é a variável de junta se a junta i é
prismática.

Encontrar ai:
D10 ai é a distância da interseção do eixo Zi-1 e o eixo Xi para a
origem do i-ésimo sistema de coordenadas ao longo do eixo Xi.

Encontrar θi:
D11 θi é o ângulo de rotação entre os eixos Xi-1 e Xi sobre o eixo Zi-1. Esta é a variável
de junta se a junta é rotativa.

Encontrar αi:
D12
αi é o ângulo de rotação entre os eixos Zi-1 e Zi no eixo Xi.

Fonte: Rosário (2005).


56

CAPÍTULO 3 – MODELAGEM CINEMÁTICA DO BRAÇO ROBÓTICO

3.1 CONSIDERAÇÕES BIBLIOGRÁFICAS PARA A MODELAGEM

Uma vez definidos a maneira de se alocar os sistemas de coordenadas


(frames ou tramas)15 de vínculos e seus respectivos parâmetros de ligação
(abordados no item 2.6 do capítulo anterior), é possível realizar a modelagem do
sistema robótico aqui proposto por meio de equações cinemáticas que representam
toda sua estrutura.
As matrizes de transformação de vínculos individuais podem ser calculadas a
partir dos valores dos parâmetros de ligação. Em seguida poderá ser realizada a
multiplicação das matrizes de transformação de vínculos entre si para encontrar a
transformação que relaciona o n segmento do braço (para um robô de n graus de
liberdade) com o sistema de referência adotado como base para as demais
(geralmente o frame 0 que está fixo à base do robô). Baseada em Craig (2006), esta
transformação pode ser dada pela equação abaixo:
0
nT  01T 21T 23T  ...n n1T (3.1)

0
Esta transformação nT será uma função de todas as n variáveis de
articulação. Se, por exemplo, os sensores de posição da articulação do robô forem
confrontados, pode-se calcular a posição e orientação cartesiana do último segmento
mediante a equação 3.1 (CRAIG, 2006).

3.2 OBTENÇÃO DA MATRIZ DE TRANSFORMAÇÃO DE REFERÊNCIA

Baseado no trabalho de Craig (2006), desejamos agora construir uma


transformada que define o frame { i } com relação ao frame {i-1} que irá basear as
transformações do braço robótico proposto. Em geral, esta transformação será uma

15
O livro em inglês Introduction to Robotics: Mechanics and Control, 3ª ed. [CRAIG. John J., editora
Pearson Prentice Hall, 2004] utiliza a expressão em inglês frames para se referir a sistemas de
coordenadas cartesianas que são alocadas no intuito de descrever a posição e orientação de um corpo
no espaço. Por sua vez, o livro em espanhol Robótica, 3ª ed. [CRAIG, John J., editora Pearson Prentice
Hall, 2006] utiliza a expressão tramas no lugar de frames.
57

função dos quatro parâmetros de vínculo: ângulo de rotação da junta θ  , ângulo de


torção da junta α  , comprimento do elo a  e deslocamento da junta d  .
Ao definir um frame para cada vínculo, teremos decomposto o problema
cinemático em n subproblemas. Para poder resolver cada um destes subproblemas
i 1
(especificamente iT ) surgirão mais quatro subsubproblemas. Cada uma destas
transformações será uma função de um parâmetro de vínculo somente
(CRAIG, 2006).
Começaremos definindo três frames intermediários para cada vínculo: {P}, {Q}
e {R}.

Figura 3.1 – Alocação de frames intermediários {P}, {Q} e {R}

Fonte: Craig (2006).

Uma análise da figura 3.1 semelhante àquela realizada no item 2.6.3 será aqui
também realizada.
A figura 3.1 mostra a mesma sistemática de articulações da figura 2.25,
entretanto aqui com os frames {P}, {Q} e {R} definidos. Observe que só se mostram
os eixos X e Z de cada frame para que o desenho se torne mais claro:
 O frame {R} difere do frame {i−1} somente por uma rotação de αi−1;
 O frame {Q} difere de {R} por uma translação a i−1;
58

 O frame {P} difere de {Q} por uma rotação θi;


 O frame { i } difere de {P} por una translação de d i.
Se desejamos escrever a transformação que modifica os vetores definidos em
{ i } à sua descrição em {i−1}, podemos fazê-lo da seguinte forma:

i 1
P i R1T QRT QPT PiT iP (3.2)

Ou
i 1
P i 1i T iP (3.3)

Onde
i 1 i 1 R Q P
iT  R T QT PT iT (3.4)

Considerando cada uma destas transformações, podemos ver que a equação


3.4 pode se escrever conforme:

i 1
T  R X (α i 1 )  D X (a i 1 )  R Z (θ i )  D Z (d i )
i (3.5)

Se introduzirmos aqui a noção de “parafuso” para os pares (R x  D x ) e


(R z  Dz ) , podemos reescrever a equação 3.5 como:

i 1
T  ParafusoX (a i 1 ,α i 1 )  ParafusoZ (d i ,θ i )
i
(3.6)

Onde a notação ParafusoQ r,φ  representa a combinação de uma translação por uma

distância r sobre um eixo Q e uma rotação por um ângulo ϕ sobre este mesmo eixo.
Uma abordagem semelhante à utilizada na equação 2.7 deve ser utilizada
para se proceder à multiplicação dos termos de rotação e translação apresentados na
equação 3.5 e na equação 3.6.
Desta forma, realizando a multiplicação da equação 3.5 obtemos a forma geral
i 1
de iT :

 cosθ i  senθ i 0 a i 1 
 senθ  cosα cosθ i  cosα i 1  senα i 1  senα i 1  d i 
i 1
T   i i 1  (3.7)
i
senθ i  senα i 1 cosθ i  senα i 1 cosα i 1 cosα i 1  d i 
 
 0 0 0 1 
59

3.3 APRESENTAÇÃO DO BRAÇO ROBÓTICO PROPOSTO

O dispositivo desenvolvido neste trabalho acadêmico trata-se de um braço


robótico composto por quatro juntas rotativas, mecanismo semelhante ao descrito no
item 2.2.1.3 que aborda robôs de coordenadas de revolução.
Para o estudo das variáveis envolvidas no âmbito cinemático deste trabalho,
foi utilizado o software computacional AutoCAD® 2013, aplicativo do tipo CAD, que é
caracterizado por se enquadrar no grupo de softwares destinados ao desenho e
projeto auxiliado por computador.
Como um dos objetivos deste trabalho foi promover o estudo cinemático que
representa a movimentação do mecanismo dentro de seu espaço de trabalho, a figura
3.2 ilustra o braço robótico em estudo. O desenvolvimento em bancada experimental
será completamente descrito no Capítulo 4.

Figura 3.2 – Representação por imagem computacional do braço robótico

3.4 ATRIBUIÇÃO DOS FRAMES DE COORDENADAS PELO MÉTODO DE D-H

Tendo definidos todos os conceitos necessários para a atribuição do sistema


de frames referente (Xi, Yi, Z i) aos 4 graus de liberdade do braço robótico em estudo,
inicia-se, então, a obtenção dos parâmetros de vínculo ai, αi, di e θi.
Conforme a sistemática de D-H propõe, aos eixos sobre os quais giram os
elementos estruturais do mecanismo são associados frames de coordenadas
cartesianas que embasarão as transformações de coordenadas relativas à cinemática
do mesmo. A figura 3.3 mostra a representação dos quatro eixos de revolução
60

presentes no braço. Baseado nesta representação, é possível alocar os frames de


coordenadas do mecanismo (figura 3.4).

Figura 3.3 – Representação dos quatro eixos de revolução do braço robótico

Figura 3.4 – Representação dos eixos de revolução e extração dos frames de coordenadas
(dimensões em milímetros)
61

3.5 CINEMÁTICA DIRETA: CÁLCULO DA MATRIZ DE TRANSFORMAÇÃO

A partir da figura 3.4 é possível isolar apenas a alocação dos frames de


coordenadas do mecanismo, conforme mostrado em detalhes na figura 3.5.

Figura 3.5 – Detalhe dos eixos coordenados e alocação dos frames (dimensões em
milímetros)

Com base nos detalhes apresentados na figura acima, é possível extrair as


seguintes informações:
 O frame de referência {0} localiza-se no centro da base fixa do braço e foi
colocado alinhado com o frame {1} no intuito dos parâmetros ai e αi serem nulos;
62

 O frame {1} encontra-se alinhado ao eixo de rotação 1 do braço, bem como ao


frame de referência {0}, apresentando apenas um deslocamento de sua origem
de 16,79 mm;
 O frame {2} alinha-se ao eixo de rotação 2 do braço, apresentando um
deslocamento com relação ao frame {1} de 7,400 mm ao longo do eixo X1 (que
é paralelo ao eixo X2), 21,39 mm ao longo do eixo Z 2 e - 90º de rotação do eixo
Z1 sobre o eixo X2 para o alinhamento de Z1 e Z2;
 O frame {3} alinha-se ao eixo de rotação 3 do braço, apresentando um
deslocamento em relação ao eixo Z anterior de 121,0 mm. Como Z 3 está
disposto de forma paralela ao eixo Z 2, o ângulo entre ambos é zero. É possível
ainda observar que X2 e X3 estão dispostos em um mesmo plano. Disto, d 2 é
zero;
 O frame {4} alinha-se ao eixo de rotação 4, está deslocado de {3} por 5,006 mm
ao longo de X3 (que é colinear a X4) e necessita de um giro de 90º sobre o eixo
X4 para o devido alinhamento de Z 3 com Z4;
 Por fim, o frame {5} localiza-se na porção central do interior da base da garra,
mantendo uma distância d5=106,2 mm entre X4 e X5.

Na tabela 3.1 são mostrados os parâmetros fundamentais de juntas do braço


robótico em estudo.

Tabela 3.1 – Parâmetros de vínculo do manipulador robótico


i αi-1 ai-1 di θi
1 0º 0 16,79 mm θ1
2 -90º 7,400 mm 21,39 mm θ1
3 0º 121,0 mm 0 θ3
4 90º 5.006 mm 0 θ4
5 0º 0 106,2 mm θ5 = 0

Observe que, dos quatro parâmetros de vínculos citados na primeira linha da


tabela 3.1, três deles serão sempre constantes. De fato, a notação D-H nos permite
trabalhar de maneira simplificada, de modo que teremos apenas os valores de θ 1, θ2,
θ3 e θ4 como variáveis, que representarão os movimentos dos elos do robô sobre seus
eixos rotacionais.
63

O frame {5} foi atribuído como sendo um sistema de coordenadas alocado no


ponto médio da base da garra com o intuito de melhor posicionar o atuador dentro de
seu espaço de trabalho.
Pela aplicação da equação 3.7, calculamos cada uma das transformações de
vínculo:
 cosθ1  senθ1 0 0 
senθ cosθ1 0 0 
1T 
0  1  (3.8)
 0 0 1 16 ,79 
 
 0 0 0 1 

 cosθ 2  senθ 2 0 7 , 400 


 0 0 1 21,39 
1
T    (3.9)
2
 senθ 2  cosθ 2 0 0 
 
 0 0 0 1 

 cosθ 3  senθ 3 0 121,0


senθ cosθ 3 0 0 
3T 
2  3  (3.10)
 0 0 1 0 
 
 0 0 0 1 

 cosθ 4  senθ 4 0 5 ,006 


 0 0 1 0 
4T 
3   (3.11)
senθ 4 cosθ 4 0 0 
 
 0 0 0 1 

1 0 0 0 
0 1 0 0 
4
T    (3.12)
5
0 0 1 106 , 2
 
0 0 0 1 

Agora, de posse das cinco matrizes que relacionam seus frames à frames
imediatamente anteriores a eles, é possível formar a matriz de transformação que
relaciona o último sistema de coordenadas ao sistema de referência, isto é, a
0
transformada 5T .

Assim, obtemos como resposta a matriz:


64

 r11 r12 r13 p x 


0 r21
5T  r
r 22 r 23 p y  (3.13)
 31 r32 r33 p z

0 0 0 1 

No intuito de expressar com clareza a equação 3.13, bem como levando-se


em consideração a extensão dos seus termos, as expressões cos(θ i ) e sen(θ i ) foram

contraídas e serão descritas somente como ci e S i . Desta maneira, por exemplo, em

vez de se escrever sen ( 3 ) , escreve-se s 3 .

Assim, os termos da equação 3.13 serão:

r11=c 4 (c 1  c 2  c 3  c 1  s 2  s 3 )  s 1  s 4
r21=c 1  s 4+c 4(c 2  c 3  s 1  s 1  s 2  s 3 )
r31=  c 4 (c 2  s 3+c 3  s 2 )

r12=  c 4  s 1  s 4 (c 1  c 2  c 3  c 1  s 2  s 3 )
r22=c 1  c 4  s 4 (c 2  c 3  s 1  s 1  s 2  s 3 )
r32=s 4 (c 2  s 3 + c 3  s 2 )

r13=c 1  c 2  s 3  c 1  c 3  s 2
r23=c 2  s 1  s 3  c 3  s 1  s 2 (3.14)

r33=c 2  c 3  s 2  s 3

X 5= 7 , 4  c 1  21,39  s 1  121  c 1  c 2  5 ,006  c 1  c 2  c 3  106 , 2  c 1  c 2  s 3


 106 , 2  c 1  c 3  s 2  5 ,006  c 1  s 2  s 3

Y5= 21,39  c 1  7 , 4  s 1  121  c 2  s 1  5 ,006  c 2  c 3  s 1  106 , 2  c 2  s 1  s 3


 106 , 2  c 3  s 1  s 2  5 ,006  s 1  s 2  s 3

Z 5= 106 , 2  c 2  c 3  121  s 2  5 ,006  c 2  s 3  5 ,006  c 3  s 2  106 , 2  s 2  s 3  16 ,79

Desta forma, a equação 3.14 (extraída da equação 3.13) constitui a


modelagem por meio da cinemática direta do braço robótico em estudo através da
metodologia de Denavit-Hartenberg. Esta matriz especifica como se calcula a posição
65

(X, Y e Z) e a orientação (matriz 3x3 r11 até r33) do frame {5}, que se encontra fixo na
base da garra, com relação ao frame de referência {0}, alocado na base fixa do braço.
Estas são as equações básicas para toda a análise cinemática deste braço
robótico, sendo os valores acima medidos em milímetros (mm).
Assim, com a inserção dos valores dos ângulos θ1, θ2, θ3 e θ4 na equação 3.14
é possível calcular a posição e orientação do frame 5 (X5, Y5, Z5) em relação ao frame
0 (X0, Y0, Z0), que é o sistema de coordenadas fixo à base do braço robótico.

3.6 CINEMÁTICA DIRETA DO BRAÇO ROBÓTICO EM AMBIENTE MATLAB®

Para complementar a análise do braço robótico modelado no item 3.5, é


utilizada a ferramenta computacional Matlab®, através do Robotics Toolbox.
Desenvolvido pela empresa The MathWorks®, o Matlab® trata-se de um
software interativo de alta performance voltado para o cálculo numérico.
Criado pelo engenheiro eletricista australiano Peter Corke, o Robotics
Toolbox16 é um software livre projetado para operar em ambiente Matlab®, sendo
direcionado ao suporte, à investigação e ao ensino da robótica móvel e braços
robóticos. Para seu funcionamento, após o descarregamento, o arquivo deverá ser
descompactado, criando uma pasta chamada rvctools, a qual irá conter as pastas
robot, simulink e common. Em seguida, deverá ser iniciado o Matlab® e aberto o
arquivo startup_rvc.m. Os resultados de simulação apresentados neste trabalho foram
obtidos utilizando a versão Matlab® R2015a e a versão 9.10 do Robotics Toolbox.
É importante mencionar que na pasta robot existem duas pastas (demos e
exemples), as quais contém arquivos de demonstração e exemplos prontos para a
execução de protótipos de robôs e simulações variadas.
Para este trabalho foi desenvolvido o código com as linhas de comando que
aparecem na figura 3.6, código que será utilizado para análise, comparação e
verificação dos resultados de posicionamento do braço robótico em estudo.

16
Disponível em: <http://www.petercorke.com/Robotics_Toolbox.html>. Acesso em: 20 ago. 2015.
66

Figura 3.6 – Comandos para a elaboração em ambiente Matlab® do braço robótico com
auxílio da ferramenta Robotics Toolbox

A partir da linha 6 do código é realizada a declaração dos elos de ligação (links


1, 2, 3 e 4), com seus respectivos parâmetros di, ai e αi. O link 5 é um link arbitrário
que possui seu frame de referência alocada no centro da base da garra, conforme o
frame {5} citada no item 3.5. A alocação deste último sistema de referências permite
melhor posicionar o end effector (efetuador final) do braço em relação ao sistema de
coordenadas fixo à sua base.
Nas linhas 14 e 15 é realizada a criação do braço robótico com n graus de
liberdade.
A linha 19, ao ser executada, elabora a cinemática direta relativa ao braço
robótico criado para os ângulos de juntas θ 1, θ2, θ3 e θ4 (que neste caso é zero). Para
esta situação, θ5 será sempre nulo, visto que não representa junta de revolução, mas
sim o último sistema de coordenadas situado na garra do braço.
Por fim, a linha 22 contém o comando que executa a plotagem gráfica do
braço robótico modelado.
67

É valioso elencar que os comandos criados na opção Editor do Matlab®


somente são processados quando postos para rodar (comando run). Após isto, uma
série de resultados referentes às linhas de comando são criadas na janela Comand
Window, que é a janela de trabalho comumente utilizada para a inserção de comandos
no Matlab®. Estes resultados são apresentados no Capítulo 5.
68

CAPÍTULO 4 – IMPLEMENTAÇÃO EM BANCADA EXPERIMENTAL

4.1 CONSIDERAÇÕES INICIAIS

A elaboração, montagem e operação de um braço robótico em bancada,


conforme este trabalho propõe, requer uma série de conceitos e conhecimentos
mínimos para se obter êxito, alcançando resultados satisfatórios.
Com o avanço da robótica doméstica, computação, sistemas open-source e
diversas outras tecnologias que perfazem estas áreas tornou-se possível a
multiplicação de conhecimentos e experiências no que diz respeito ao
desenvolvimento de dispositivos eletrônicos e robóticos.
Este capítulo descreve as etapas que foram percorridas para a
implementação em bancada experimental do braço robótico atuador proposto. Será
também descrito o desenvolvimento de um segundo braço articulado que terá a
função de controlar o primeiro.

4.2 MATERIAL UTILIZADO

Os equipamentos utilizados na montagem e operação dos braços robóticos,


atuador e controlador, são listados a seguir:
 1 placa Arduino™ Uno equipada com microcontrolador Atmel® AVR®
ATmega328P-PU;
 Sensor MPU-6050™;
 Elementos estruturais:
 Atuador: peças em acrílico de 3 mm de espessura nas cores preta e
branca;
 Controlador: peças em MDF de 2,5 mm de espessura;
 Servomotores:
 4 servomotores marca TowerPro™, modelo SG-5010;
 2 servomotores marca TowerPro™, modelo SG90;
 2 potenciômetro lineares rotativos de 10 KΩ;
69

 1 protoboard17 de 400 pontos.


Os valores individuais de cada componente utilizado, assim como o valor total
do projeto físico estão descritos em detalhes no Apêndice D.

4.3 DESCRIÇÃO DOS DISPOSITIVOS UTILIZADOS NA EXECUÇÃO DO PROJETO

Com o objetivo de se descrever com maior clareza as características de cada


um dos dispositivos utilizados na execução do projeto em bancada experimental, será
elencada abaixo uma exposição mais aprofundada acerca destes elementos.

4.3.1 A PLACA ARDUINO™

Segundo o site oficial do produto18, Arduino™ é uma plataforma eletrônica de


código aberto baseada em hardware e software de uso facilitado destinada a
elaboração de projetos interativos.
O Arduino™ é uma pequena placa de computador que utiliza técnicas de
computação física em conjunto com um micro controlador e opera em linguagem de
programação C. Este dispositivo é chamado de plataforma de computação
embarcada, e se insere na área da computação em que o software interage
diretamente com o hardware, tornando possível a integração fácil com sensores,
motores e outros dispositivos eletrônicos, um sistema que pode interagir com seu
ambiente por meio de hardware e software.
A parte de hardware deste é um computador como qualquer outro: possui
microprocessador, memória RAM, memória flash (para guardar o software), unidade
temporizadora, contadores, regulador de tensão, entrada USB em algumas versões,
pinos de saída de comando, dentre outras funcionalidades.
Atualmente existem diversos modelos de placas Arduino™, apresentando,
portanto, diferentes formatos, dimensões, quantidades de entradas e saídas,
configurações de hardware, etc., de tal forma que o objetivo da aplicação requerida é
o que irá definir a escolha do produto. A figura 4.1 ilustra alguns dos principais modelos
encontrados no mercado:

17
Placas de ensaio ou matriz de contato: são placas dotadas de orifícios de conexões condutoras para
montagem de circuitos elétricos experimentais.
18
Disponível em: <https://www.arduino.cc>. Acesso em: 12 out. 2015.
70

Figura 4.1 – Imagem ilustrando alguns produtos Arduino™: (a) Arduino™ Uno; (b) Arduino™
Mega; (c) Arduino™ Micro; (d) Arduino™ Nano; (e) Arduino™ Lilypad

Fonte: Imagens da página oficial do Arduino™19.

Figura 4.2 – Vista frontal de uma placa Arduino™ Uno

Fonte: Modificada do Site oficial do Arduino™20.

O Arduino™ Uno (figura 4.2) é um dos mais utilizados, uma vez que possibilita
uma gama variada de possibilidades para a realização de projetos aliada ao seu baixo
custo. Os componentes de hardware deste produto podem ser descritos de acordo
com a numeração que aparece na figura 4.2.

19
Disponível em: <https://www.arduino.cc/en/Main/>. Acesso em: 10 set. 2015.
20
Disponível em: <https://www.arduino.cc/en/Main/ArduinoBoardUno>. Acesso em: 11 set. 2015.
71

1. Microcontrolador: é o cérebro do Arduino™, um computador inteiro dentro de


um pequeno chip. Este é o dispositivo programável que faz rodar o código que
enviamos à placa. No mercado existem várias opções de marcas e modelos de
microcontroladores. A Arduino™ optou pelo uso dos chips da empresa Atmel®.
A placa Uno utilizada neste projeto utiliza um microcontrolador Atmel® AVR®
ATmega328P-PU;
2. Conector USB: Conecta o placa ao computador; é por onde ambos se
comunicam com o auxílio de um cabo USB, além de ser uma opção de
alimentação da placa;
3. Pinos de entrada analógicas: Nesta placa são 6 pinos de entrada analógica;
4. Pinos de entrada/saída digitais: Pinos que podem ser programados para
agirem como entradas ou saídas fazendo com que a placa interaja com o meio
externo. O Arduino™ Uno possui 14 portas digitais (I/O21) e 6 saídas PWM;
5. Pinos de alimentação: Fornecem diversos valores de tensão que podem ser
utilizados para energizar os componentes do projeto, devendo ser usados com
cautela, para que não sejam forçados a fornecer valores de corrente superiores
ao suportado pela placa;
6. Botão de reset: Botão que reinicia a placa Arduino™;
7. Conversor serial-USB e LEDs Tx/Rx: Para que o computador e o
microcontrolador interajam, é necessário que exista um chip que traduza as
informações vindas de um para o outro. Os LEDs TX e RX acendem quando o
dispositivo está transmitindo e recebendo dados pela porta serial,
respectivamente;
8. Conector de alimentação: Responsável por receber a energia de alimentação
externa, que pode ter uma tensão de no mínimo 7 volts e no máximo 20 volts e
uma corrente mínima de 300 mA. Recomenda-se a utilização de tensão de 9 V
com um pino redondo de 2,1 mm e centro positivo. Caso a placa também esteja
sendo alimentada pelo cabo USB, ele dará preferência à fonte externa
automaticamente;
9. LED de alimentação: Indica se a placa está energizada;
10. LED interno: LED conectado (internamente) ao pino digital 13.

21
Input/Output: Entrada/Saída.
72

A figura 4.3 enumera as especificações técnicas da placa Uno usada na


implementação do projeto em bancada:

Figura 4.3 – Especificações técnicas da placa Arduino™ Uno

Micro controlador ATmega328P


Voltagem de operação 5V
Voltagem de entrada (recomendada) 7 – 12 V
Voltagem de entrada (limite) 6 – 20 V
Pinos de I/O digitais 14 (dos quais 6 fornecem saídas PWM)
Pinos PWM de I/O digitais 6
Pinos de entrada analógica 6
Valor da corrente (corrente contínua – CC)
20 mA
por pino de I/O
Valor da corrente (CC) para o pino de 3,3 V 50 mA
32 KB (ATmega328P), dos quais 0,5 KB
Memória
são usadas para o bootloader
SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
Velocidade de clock 16 MHz
Comprimento 68,6 mm
Largura 53,4 mm
Peso 25 g

Fonte: Dados coletados pelo Autor com base no site oficial Arduino™22.

Como qualquer computador, o Arduino™ necessita de um software para


executar as instruções dadas. Para programá-lo, fazer com que o dispositivo realize
os comandos emanados do usuário, faz-se necessário utilizar o IDE23, que é um
software livre no qual o usuário escreve o código em uma linguagem entendível pela
placa (baseada na linguagem C).
O IDE permite que usuário escreva um programa de computador, que é um
conjunto de instruções passo a passo, que posteriormente será transferido para a
placa Arduino™. Assim, após escrever o código, faz-se a compilação deste e em

22
Disponível em: <https://www.arduino.cc/en/Main/ArduinoBoardUno>. Acesso em: 12 set. 2015.
23
Integrated Development Environment, que em português significa Ambiente de Desenvolvimento
Integrado.
73

seguida promove-se o envio da versão compilada à memória flash do dispositivo


através de uma porta USB na maioria dos casos.
A principal diferença entre um Arduino™ e um computador convencional é
que o primeiro, além de ter menor porte, tanto no tamanho quanto no poder de
processamento, utiliza dispositivos diferentes para entrada e saída em geral. À título
de exemplo, enquanto que em um computador pessoal utilizamos teclado e mouse
como dispositivos de entrada e monitores e impressoras como dispositivos de saída,
em projetos com o Arduino™ os dispositivos de entrada e saída são circuitos
elétricos/eletrônicos.

4.3.2 SERVOMOTORES

De acordo com Bajerski e Abella (2010), servomotores são usualmente


empregados para o controle de movimentos angulares tipicamente compreendidas
entre 0º e 180º. Esses dispositivos são constituídos basicamente por um sistema
atuador (motor de corrente contínua - CC), um sistema controle (circuito eletrônico de
controle) e um sensor (potenciômetro), bem como um conjunto de engrenagens e três
condutores externos de ligação, conforme é possível visualizar na figura 4.4. Seus
principais componentes são descritos a seguir:
 Sistema atuador: é constituído por um motor elétrico (geralmente motores de
corrente contínua), embora também seja possível encontrar servos com
motores de corrente alternada. Também está presente neste sistema um
conjunto de engrenagens que forma uma caixa de redução de relação longa, o
que ajuda na elevação do torque e possibilita a movimentação de objetos de
massa considerável quando em comparação com a própria massa dos servos;
 Sensor: normalmente é um potenciômetro acoplado ao eixo do servomotor,
pois por meio do valor de sua resistência elétrica o sistema de controle
determina a angular do eixo;
 Circuito de controle: é formado por componentes eletrônicos discretos ou
circuitos integrados. Geralmente é composto por um oscilador e um controlador
que recebe o sinal do sensor (posição do eixo) e o sinal de controle e aciona o
motor no sentido necessário para posicionar o eixo na posição desejada.
74

Figura 4.4 – Exemplos dos componentes de um servomotor

Fonte: Modificada de Bajerski e Abella (2010).

4.3.2.1 Princípio de Funcionamento dos Servomotores

Segundo Bajerski e Abella (2010), o circuito eletrônico de controle e o


potenciômetro formam um sistema interno de realimentação (feedback) para controle
da posição do eixo do servo. Tipicamente, o eixo de rotação de um servomotor gira
entre ângulos de 0º e 180º, podendo ser posicionado pela aplicação de um sinal na
entrada de controle. Desta forma, aplicado e mantido o sinal, o servo manterá a
posição angular do seu eixo respeitando, evidentemente, as características de torque
de cada modelo. Se o sinal mudar, então a posição angular do eixo também irá mudar.
Caso não seja aplicado sinal algum, somente as forças de atrito irão manter o servo
em sua posição angular.
Ainda segundo Bajerski e Abella (2010, p. 12):
O sistema interno de realimentação faz com que o servo gire em uma
determinada posição em resposta a um determinado trem de pulsos.
O potenciômetro de feedback, que está conectado mecanicamente ao
eixo do servomotor, funciona como sensor (encoder absoluto) que
indica a posição do eixo uma vez que a sua resistência varia em
função do ângulo de rotação do motor.

Segundo Bajerski e Abella (2010), o circuito eletrônico compara o valor


ôhmico do potenciômetro com os impulsos que recebe pela linha de controle, ativando
o motor para corrigir qualquer diferença que exista entre ambos, ou seja, o
potenciômetro permite que o circuito de controle verifique a todo o momento o ângulo
de rotação do servomotor. Se o eixo estiver na posição angular correta, o eixo do
75

motor ali permanece e o motor não irá girar. Se o circuito verifica que o ângulo não é
o correto, então o motor irá girar no sentido adequado até alcançar o ângulo correto.
A comparação entre o valor do potenciômetro e a largura dos impulsos e as
eventuais correções são partes de um processo de controle conhecido por controle
em malha fechada. Os condutores externos de ligação consistem em dois condutores
para a alimentação em CC e outro para transmissão do sinal de comando. A tensão
de alimentação dos servomotores está normalmente compreendida entre 4.8 V e
7.2 V, sendo recomendável para a maioria dos modelos uma tensão de alimentação
de 5 V. Assim, quanto menor a tensão, mais lenta será a resposta e menor será o seu
torque (BAJERSKI; ABELLA, 2010).

4.3.2.2 Controle do Ângulo de Rotação dos Servomotores

O ângulo de rotação do motor dos servomotores é determinado pela duração


do pulso (nível lógico alto) que se aplica na entrada de comando. O servomotor
funciona em PWM, sistema que consiste em gerar um sinal quadrado onde a duração
do impulso é variável, mantendo-se fixo o período deste sinal. PWM significa
Modulação por Largura de Pulso (do inglês Pulse Width Modulation) e consiste em
manipularmos a razão cíclica de um sinal (conhecida do inglês como duty cycle) a fim
de transportar informação ou controlar a potência de algum outro circuito (BAJERSKI;
ABELLA, 2010).
Segundo Bajerski e Abella (2010), a largura máxima e mínima do sinal impulso
depende do tipo e especificação do servomotor. Conforme mostra a figura 4.5, se o
servomotor receber na sua entrada impulsos com a duração de 1,5 ms, seu eixo gira
até ficar estável no centro do intervalo de rotação, que corresponde ao ângulo de 90º.
Se receber impulsos com a duração de 1 ms, gira no sentido anti-horário até atingir o
limite do intervalo de rotação correspondente ao ângulo de 0º. Todavia, se receber
impulsos com a duração de 2 ms, gira no sentido horário até atingir o outro limite do
intervalo de rotação correspondente a 180º (ou um pouco mais conforme o produto)
(BAJERSKI; ABELLA, 2010).
Impulsos ente 1 ms e 1,5 ms farão com que o servomotor gire seu eixo para
posições intermédias entre 0º e 90º, enquanto impulsos entre 1,5 ms e 2 ms farão com
76

que o servomotor rode para posições intermédias entre 90º e 180º, conforme figura 4.5
(BAJERSKI; ABELLA, 2010).

Figura 4.5 – Exemplo de pulsos de controle de um servomotor

Fonte: Modificada de Bajerski e Abella (2010).

4.3.2.3 Torque dos Servomotores

O torque dos servomotores permite mensurar a força que os mesmos são


capazes de exercer quando do acoplamento de determinada carga ao seu eixo. Como
exemplo, suponhamos que um servomotor apresente torque de 5 kg.cm a 5 V. Desta
forma, pelo uso de uma polia ou engrenagem de 1 cm de raio ou pelo uso de um braço
de 1 cm de comprimento ligado ao eixo do servomotor, o mesmo está apto a operar
(levantar) até 5 kg de carga. Caso a polia, engrenagem ou braço possua 2,5 cm, o
servo será capaz de levantar até 2 kg. Assim, levando-se em consideração as
dimensões e massas reduzidas da maioria dos servos, estes se constituem em
dispositivos de alta potência, fato que os tornam presentes na maior parte das
aplicações robóticas de pequeno porte.
Na figura 4.6 é possível observar dois modelos de servomotores que foram
utilizados neste projeto.
77

Figura 4.6 – Servomotores: (a) TowerPro™ SG90; (b) TowerPro™ SG-5010

Fonte: Imagens das páginas Filipe’s Blog24 e Let’s Make Robots25.

Na figura 4.7 é possível visualizar as principais especificações técnicas dos


modelos de servomotores da figura 4.6 que foram utilizados neste trabalho:

Figura 4.7 – Especificações técnicas dos servomotores utilizados

Especificações Modelo
SG5010 SG90
Dimensões 40,2 x 20,2 x 43,2 mm 23 x 12,2 x 29 mm
Peso 38 g 9g
5,5 kg.cm (4,8 V)
Torque de bloqueio 1,8 kg.cm (4,8 V)
6,5 kg.cm (6 V)
0,2 s/60 graus (4,8 V)
Velocidade de operação 0,1 s/60 graus (4,8 V)
0,16 s/60 graus (6 V)
Voltagem de operação 4,8 V – 6 V 4,8 V
Temperatura de operação 0 ºC – 55 ºC 0 ºC – 55 ºC
Tipo de engrenagem Nylon Nylon

Fonte: Dados coletados pelo Autor com base na página na internet da Datasheet4U26.

24
Disponível em: <http://devpix.net/blog/?p=236>. Acesso em: 12 set. 2015
25
Disponível em: <http://letsmakerobots.com/files/Servo_5010_4dd8c8306b263.jpg>. Acesso em: 13
set. 2015
26
Disponível em: <http://www.datasheet4u.com >. Acesso em: 13 set. 2015.
78

4.3.3 DISPOSITIVO MPU-6050™ - PLACA GY-521

A placa GY-521 (figura 4.8) trata-se de uma dispositivo eletrônico equipado


com sensor de temperatura e sensor MPU-6050™, sendo que este último se constitui
de fato como o cérebro deste dispositivo.
Produzido pela empresa norte-americana InvenSense® Inc., o MPU-6050™
integra uma família de dispositivos de detecção de movimento em seis eixos
projetados para baixo consumo de energia, baixo custo de produção e voltados ao
alto desempenho em smartphones, tablets e dispositivos que utilizam navegação
inercial.
O sensor InvenSense® MPU-6050™ contém em um único chip um
acelerômetro e um giroscópio tipo MEMS – MicroElectroMechanical Systems, isto é,
sistemas micro-elétrico-mecânicos. São, portanto, três eixos para o acelerômetro e
três eixos para o giroscópio, somando seis graus de liberdade (6 DOF – Degrees Of
Freedom). Possui também um sensor de temperatura embutido, permitindo medições
entre - 40 e + 85 ºC.
O MPU-6050™ incorpora a tecnologia InvenSense® MotionFusion™ e
firmware27 de calibração de tempo de execução, o que lhe confere qualidade, baixo
custo de manufatura e integração em nível de sistema para a aplicação em
dispositivos eletrônicos que fazem o uso de movimentos para a interação com os seus
usuários, garantindo que os algoritmos de fusão dos sensores e os procedimentos de
calibração forneçam desempenho otimizado aos consumidores.
Este equipamento apresenta alta precisão devido ao conversor analógico-
digital de 16 bits (por canal), o que lhe confere a capacidade de capturar ao mesmo
tempo dados advindos dos canais X, Y e Z.
O sensor MPU-6050™ possui tecnologia DMP™ – Digital Motion Processor.
Tal expressão significa Processador de Movimento Digital, sendo que esta unidade
pode ser programada através de firmware e é capaz de realizar cálculos complexos
com os valores provenientes dos sensores. Este DMP™ pode ainda realizar cálculos
rápidos diretamente no em seu chip, fato que reduz sobremaneira a carga de trabalho

27
Em computação e eletrônica, trata-se do conjunto de instruções operacionais programadas
diretamente no hardware do equipamento eletrônico. É armazenado permanentemente num circuito
integrado de memória como uma ROM, PROM, EPROM, EEPROM ou memória flash no momento da
fabricação do componente.
79

sobre o microcontrolador (do Arduino™, por exemplo). A figura 4.9 mostra o diagrama
de blocos da família de dispositivos MPU-6000™.

Figura 4.8 – Placa GY-525 composta pelo sensor InvenSense® MPU-6050™

Fonte: Página oficial na internet do Arduino™28.

Figura 4.9 – Diagrama de blocos do MPU-6050™

Fonte: Página oficial do produto MPU-6050™29.

O MPU-6050™ usa o barramento I²C para a realização da interface com o


Arduino™. Este barramento vem do inglês Inter-Integrated Circuit, expressão que
significa circuito inter-integrado, tratando-se de um barramento serial multimestre
desenvolvido pela empresa holandesa Philips, sendo é usado para conectar
periféricos de baixa velocidade a uma placa mãe, smartphone, tablet ou a um sistema
embarcado.

4.4 DESCRIÇÃO DO PROJETO EM BANCADA EXPERIMENTAL

Esta parte do trabalho trata das etapas e metodologias utilizadas na


elaboração física de um braço robótico de quatro graus de liberdade composto por
quatro juntas de revolução, construído em material acrílico e com uma garra de dois

28
Disponível em: <http://playground.arduino.cc/Main/MPU-6050>. Acesso em: 14 set. 2015.
29
Disponível em: <http://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/>. Acesso
em: 14 set. 2015.
80

dedos de movimento paralelo conforme demonstrado na figura 3.2, sendo que tais
juntas de serão acionadas por meio de servomotores: este será chamado de braço
robótico atuador. Em seguida é tratada a descrição dos procedimentos da
elaboração de um segundo braço articulado, chamado de controlador.
Os elos estruturais do atuador foram primeiramente projetados com o auxílio
do software AutoCAD® 2013, para, posteriormente, serem efetivamente produzidos
em acrílico através de cortes à laser em impressora especial. A escolha desta
metodologia se deu pela ampla gama de possibilidades de criação e tratamento de
formas geométricas com precisão e exatidão que o AutoCAD® 2013 é capaz de
proporcionar.
O projeto base contendo todas as cotas em milímetros das estruturas do braço
atuador produzido no AutoCAD® 2013 pode ser encontrado no Apêndice A.
As juntas de revolução do mecanismo são compostas por servomotores que
se encarregam de propiciar a movimentação de todo o braço robótico.
O comando para o acionamento de três juntas do braço atuador é realizado
por meio da placa de circuito integrado MPU-6050™. Desta maneira, os servomotores
fazem a leitura dos dados enviados pelo sensor e convertem esses dados em
movimentos. A junta restante do braço robótico é controlada por um potenciômetro
linear rotativo de 10 KΩ, uma vez que o sensor MPU-6050™ fica encarregado de
movimentar as três outras juntas.
No intuito de se produzir movimentos precisos e específicos para a aplicação
requerida, foi construído o braço articulado controlador em material MDF ao qual
acoplam-se o MPU-6050™ e o potenciômetro. Este mecanismo foi elaborado com a
mesma metodologia do braço robótico em acrílico: projetado previamente com auxílio
do software AutoCAD® 2013 e em seguida recortado em impressora especial. Desta
forma, a segunda estrutura também possui quatro graus de liberdade, juntas de
revolução, dispostos de maneira semelhante ao braço anterior. Este servirá de
dispositivo base para a movimentação e controle do braço robótico.
Detalhes do projeto base das estruturas do braço controlador produzido no
AutoCAD® 2013 são mostrados no Apêndice B.
Vale frisar que este controlador articulado será operado manualmente
(operado pelo homem) a fim de o braço robótico atuador reproduzir movimentos
precisos e semelhantes a alguns dos principais movimentos de um braço humano.
81

A interface e acionamento do atuador (composto por servomotores) em


função do controlador (composto por sensor e potenciômetro) se dá pelo uso de uma
placa Arduino™ Uno equipada com controladores Atmel® AVR®, uma vez que este
dispositivo eletrônico consiste em uma plataforma de prototipagem de código aberto
baseado em hardware e software de fácil utilização. O código fonte Arduino™
acondicionado para o projeto encontra-se disposto no Apêndice C.
A abertura e fechamento da garra do braço é realizada através de um
potenciômetro linear rotativo de 10 KΩ.
Assim, o braço atuador será comandado pelo movimento aplicado ao braço
controlador, isto é, replicará seus movimentos. Daí a expressão mímico.
A figura 4.10 apresenta os dois mecanismos elaborados:

Figura 4.10 – (a) Braço robótico atuador; (b) Braço articulado controlador

4.5 ESQUEMA DE LIGAÇÃO DOS COMPONENTES

A figura 4.11 demonstra o esquema de ligações utilizado para implementar os


dois braços: servomotores fazem parte do atuador, enquanto MPU-6050™ e
potenciômetros fazem parte do controlador. Esta ilustração foi elaborada com o auxílio
do aplicativo Fritzing.
Para os testes, os servomotores e os potenciômetros são alimentados
externamente pelos terminais de 5 volts de uma fonte de computador.
82

O MPU-6050™, por se tratar de um dispositivo mais sensível, opera em


3.3 volts, podendo ser alimentado pelo próprio Arduino™.

Figura 4.11 – Esquema de ligação elétrica dos componentes no software Fritzing


83

4.6 ÁREA DE TRABALHO DO BRAÇO ROBÓTICO

As figuras 4.12 e 4.13 mostram o ambiente de trabalho e operação do braço


robótico elaborado.
É importante ressaltar que cada servomotor utilizado neste projeto apresenta
eixo de rotação capaz de girar entre ângulos de 0º a 180º, o que pode limitar alguns
movimentos e posições do braço robótico.

Figura 4.12 – Ângulos de operação do braço robótico

Figura 4.13 – Região de operação do braço robótico


84

CAPÍTULO 5 – RESULTADOS E DISCUSSÕES

5.1 DESCRIÇÃO DAS CONDIÇÕES DE TESTE

Nesta parte do trabalho serão abordados e comparados os resultados obtidos


através da comprovação da cinemática direta realizada nos itens 3.5 e 3.6. Será
também demonstrada uma simulação gráfica dos movimentos possíveis do braço
robótico em ambiente Simulink® Matlab®, bem como a demonstração da operação
do braço atuador desenvolvido em bancada experimental através do braço
controlador.
Primeiramente faz-se necessário relembrar que no item 3.5 é implementada
a cinemática direta do braço, isto é, são realizadas todas as transformações matriciais
que culminam com a matriz de transformação final que relaciona um frame de
coordenadas cartesianas ligado à porção central da base da garra a um frame de
coordenadas cartesianas rigidamente preso à base fixa do braço.
Por conseguinte, o item 3.6 também aborda a elaboração da cinemática direta
do dispositivo robótico, porém em ambiente Matlab® pelo auxílio da ferramenta
complementar Robotics Toolbox.
Sob este aspecto, o item 5.2 apresenta três testes para condições específicas
para diversos posicionamentos do braço. Os valores obtidos pelo uso da equação 3.14
serão comparados com os resultados alcançados em ambiente Matlab® com o auxílio
da ferramenta Robotics Toolbox.

5.2 COMPARAÇÃO ENTRE OS VALORES CALCULADOS E OS VALORES


SIMULADOS NO MATLAB®

5.2.1 SITUAÇÃO 1

Pelo uso da equação 3.14, que representa a modelagem (posição X, Y e Z)


por meio da cinemática direta através da metodologia de D-H, quando os ângulos das
quatro juntas rotativas são θ1 = θ2 = θ3 = θ4 = 0, tem-se a posição X, Y e Z relativa ao
sistema de coordenas fixo à base (frame de referência 0), conforme equação 5.1.
85

X  7 ,4  ( 1 )  21,39  ( 0 )  121  ( 1 )  ( 1 )  5,006  ( 1 )  ( 1 )  ( 1 )  106 ,2  ( 1 )  ( 1 )  ( 0 )


 106 ,2  ( 1 )  ( 1 )  ( 0 )  5,006  ( 1 )  ( 0 )  ( 0 ) 

X  133 ,406 mm

Y  21,39  ( 1 )  7 ,4  ( 0 )  121  ( 1 )  ( 0 )  5,006  ( 1 )  ( 1 )  ( 0 )  106 ,2  ( 1 )  ( 0 )  ( 0 )


 106 ,2  ( 1 )  ( 0 )  ( 0 )  5,006  ( 0 )  ( 0 )  ( 0 ) 
(5.1)

Y  21,39 mm

Z  106 ,2  ( 1 )  ( 1 )  121  ( 0 )  5,006  ( 1 )  ( 0 )  5,006  ( 1 )  ( 0 )  106 ,2  ( 0 )  ( 0 )


 16 ,79 

Z  122 ,99 mm

A figura 5.1 mostra os comandos necessários escritos no Matlab® para a


elaboração da cinemática direta, destacando em vermelho os ângulos iniciais das
juntas. Vale lembrar que o quinto e último zero em destaque na linha de comando 19
(bot.fkine) não representa junta de revolução, mas sim o sistema de referência
alocado à garra do mecanismo. O mesmo ocorre na linha de comando 22.

Figura 5.1 – Comandos para a elaboração da cinemática direta no Matlab®: valores dos
ângulos de juntas θ1 = θ2 = θ3 = θ4 = 0 (destaque)
86

Quando executado o código, os comandos citados na figura 5.1 geram


resultados visíveis na Comand Window do Matlab® (figura 5.2).
Pela análise dos resultados mostrados na figura 5.2, é possível verificar que
os valores da quarta coluna da matriz ans destacados em vermelho representam a
posição X, Y e Z (de cima para baixo) do último sistema de coordenadas fixo à garra
do braço robótico com relação ao frame de referência 0 (valores dados em milímetros).
Note que o quadro com as informações das juntas de revolução (theta, d, a,
alpha e offset) são semelhantes a tabela 3.1. De fato, são as mesmas informações,
porém dispostas de maneira diferenciada, o que comprova a modelagem cinemática
direta através do método de Denavit-Hartenberg desenvolvida para este braço
robótico.

Figura 5.2 – Resultados da cinemática direta no Matlab® para ângulos θ 1 = θ2 = θ3 = θ4 = 0

A figura 5.3 demonstra a simulação gráfica do braço robótico, onde o frame


preso à garra encontra-se em destaque. Observe que a posição do sistema de
coordenadas fixo à garra e a orientação dos elos rígidos do braço estão dispostos
conforme a figura 3.4. Esta seria a posição e orientação iniciais do braço robótico
quando os quatro ângulos de juntas são todos zero.
87

Figura 5.3 – Simulação gráfica do braço robótico para valores de θ 1 = θ2 = θ3 = θ4 = 0


(valores em milímetros)

5.2.2 SITUAÇÃO 2

Dando continuidade aos testes, consideram-se agora os valores θ1 = θ3 = 90º


(π/2) e θ2 = θ4 = -90º (-π/2). Novamente pelo uso da equação 3.2 são obtidos os
valores constantes mostrados na equação 5.2.

X  7 ,4  ( 0 )  21,39  ( 1 )  121  ( 0 )  ( 0 )  5,006  ( 0 )  ( 0 )  ( 0 )  106 ,2  ( 0 )  ( 0 )  ( 1 )


 106 ,2  ( 0 )  ( 0 )  (  1 )  5,006  ( 0 )  (  1 )  ( 1 ) 

X  21,39 mm

Y= 21,39  ( 0 )  7 ,4  ( 1 )  121  ( 0 )  ( 1 )  5,006  ( 0 )  ( 0 )  ( 1 )  106 ,2  ( 0 )  ( 1 )  ( 1 )


 106 ,2  ( 0 )  ( 1 )  (  1 )  5,006  ( 1 )  (  1 )  ( 1 )  7 ,4  5,006 
(5.2)

Y  12 ,406 mm

Z  106 ,2  ( 0 )  ( 0 )  121  (  1 )  5,006  ( 0 )  ( 1 )  5,006  ( 0 )  (  1 )


 106 ,2  (  1 )  ( 1 )  16 ,79  121  106 ,2  16 ,79 

Z  243 ,99 mm
88

No Matlab®, estes valores podem ser conseguidos pelos comandos


demonstrados na figura 5.4.

Figura 5.4 – Comandos para a elaboração da cinemática direta no Matlab®: valores dos
ângulos de juntas θ1 = θ3 = 90º e θ2 = θ4 = -90 (destaque)

Como resultados da execução do código da figura 5.4 são obtidos os dados


mostrados na figura 5.5, os valores destacados em vermelho apresentam uma nova
posição X, Y e Z quando os ângulos das juntas de revolução do braço são θ 1 = θ3 =
90º (π/2) e θ2 = θ4 = -90º (-π/2).
A figura 5.6, semelhante à figura 5.3, representa a simulação gráfica do
mecanismo em ambiente Matlab® quando inseridos estes valores de juntas.
89

Figura 5.5 – Resultados da cinemática direta no Matlab® para ângulos θ1 = θ3 = 90º e θ2 = θ4


= -90

Figura 5.6 – Simulação gráfica do braço robótico para valores de θ 1 = θ3 = 90º e θ2 = θ4 = -90
(valores em milímetros)
90

5.2.3 SITUAÇÃO 3

Agora será realizado o teste para os ângulos θ1 = 180º, θ2 = -60º, θ3 = -45 e θ4


= 30º, ou seja, θ1 = π, θ2 = -π/3, θ3 = -π/4 e θ4 = π/6, respectivamente. Desta forma,
novamente com base na equação 3.2, obtemos como resultado os valores de X, Y e
Z conforme mostra a equação 5.3:
1 1 2 1 2
X  7 , 4 (  1)  21,39 ( 0 )  121 (  1) ( )  5 ,006 (  1) ( ) ( )  106 , 2 (  1) ( ) (  )
2 2 2 2 2
2 3 3 2
 106 , 2 (  1) ( ) (  )  5 ,006 (  1) (  ) (  )
2 2 2 2

X  35.97697 mm

2 2
Y  21,39 (  1)  7 , 4 ( 0 )  121 ( 0 ,5 ) ( 0 )  5 ,006 ( 0 ,5 ) ( ) ( 0 )  106 , 2 ( 0 ,5 ) ( 0 ) (  )
2 2
2 3 3 2
 106 , 2 ( ) ( 0 ) (  )  5 ,006 ( 0 ) (  ) (  )
2 2 2 2 (5.3)

Y  21,39mm

1 2 3 1 2 2 3
Z  106 , 2 ( ) ( )  121 (  )  5 ,006 ( ) (  )  5 , 006 ( ) (  )
2 2 2 2 2 2 2
3 2
 106 , 2 (  ) (  )  16 ,79 
2 2

Z  98 ,92791mm

No Matlab®, estes valores podem ser alcançados pelos comandos


demonstrados na figura 5.7.
Como resultado destes comandos são obtidos os valores mostrados na figura
5.8. Os valores em destaque vermelho apresentam uma nova posição X, Y e Z quando
os ângulos das juntas de revolução do braço são θ 1 = 180º, θ2 = -60º, θ3 = -45 e θ4 =
30º.
A figura 5.9, representa a simulação gráfica do mecanismo em ambiente
Matlab® quando inseridos estes valores de juntas.
91

Figura 5.7 – Comandos para a elaboração da cinemática direta no Matlab®: valores dos
ângulos de juntas θ1 = 180º, θ2 = -60º, θ3 = -45 e θ4 = 30º (destaque)

Figura 5.8 – Resultados da cinemática direta no Matlab® para ângulos θ1 = 180º, θ2 = -60º,
θ3 = -45 e θ4 = 30º
92

Figura 5.9 – Simulação gráfica do braço robótico para valores de θ 1 = 180º, θ2 = -60º, θ3 = -
45 e θ4 = 30º (valores em milímetros)

5.3 SIMULAÇÃO DOS MOVIMENTOS DO BRAÇO EM AMBIENTE SIMULINK®

Para complementar a análise teórica e em bancada experimental do braço


robótico, foi também desenvolvida uma simulação gráfica de movimentos que este
dispositivo robótico é capaz de executar. Para isto, foi utilizada a ferramenta
computacional Simulink® Matlab®.
Desenvolvido pela empresa The MathWorks®, o Simulink® é uma ferramenta
para modelagem, simulação, análise de comportamento e interações de diversos
sistemas dinâmicos.
Para se proceder a esta simulação, inicialmente fez-se necessário o
desenvolvimento computacional tridimensional das peças individuais do braço
robótico pelo uso do software AutoCAD® 2013. Este procedimento foi realizado
inteiramente com base no projeto criado neste mesmo programa e que foi citado
anteriormente no item 4.4.
Em seguida, com base no exemplo Import Robot Arm Model30, estes
componentes individuais foram carregados para o Simulink®, trabalhados e alocados

30
Exemplo de importação e simulação de movimentos em ambiente Matlab® Simulink® de um braço
robótico elaborado por software do tipo CAD. Disponível em:
93

conforme seus eixos de rotação e seus pontos de encaixe com seus elos adjacentes,
onde cada elo rígido, sistema de referência e junta de revolução é tratado como sendo
um bloco no Simulink®.
Vale frisar que o braço robótico (exemplo base) citado no endereço eletrônico
acima trata-se de um mecanismo que, quando executado passa a realizar movimentos
aleatórios que consideram apenas os tipos de juntas ali presentes, porém sem
controle de posição e sem levar em conta restrições físicas e angulares inerentes a
qualquer mecanismo do tipo. O mesmo ocorre na simulação do protótipo em estudo,
o braço robótico simulado em ambiente Simulink® realiza movimentos aleatórios que
consideram apenas as características de movimento e juntas do mecanismo. Na
figura 5.10 se apresentam os blocos do modelo criados para simular este protótipo.

Figura 5.10 – Modelo geral do braço robótico em ambiente Simulink®

Da figura 5.11 a 5.15 são mostrados detalhes contidos no interior dos blocos
Base Rígida, Base Giratória, Braço, Antebraço e Garra1, respectivamente.

<http://www.mathworks.com/help/physmod/sm/ug/import-robot-arm-model.html>. Acesso em: 03 set.


2015.
94

Figura 5.11 – Modelo Simulink® do bloco Base Rígida

Figura 5.12 – Modelo Simulink® do bloco Base Giratória

Figura 5.13 – Modelo Simulink® do bloco Braço


95

Figura 5.14 – Modelo Simulink® do bloco Antebraço

Figura 5.15 – Modelo Simulink® do bloco Garra1

Assim, quando o modelo criado no Simulink® (figura 5.10) é simulado, na tela


principal Matlab® é aberta a janela Mechanics Explorers, que mostra em forma de
vídeo os movimentos possíveis do braço robótico criado. Estes movimento são
ilustrados nas figuras 5.16 a 5.19.
96

Figura 5.16 – Movimentos simulados no Simulink® (1)

Figura 5.17 – Movimentos simulados no Simulink® (2)


97

Figura 5.18 – Movimentos simulados no Simulink® (3)

Figura 5.19 – Movimentos simulados no Simulink® (4)


98

5.4 TESTES FÍSICOS DO BRAÇO ROBÓTICO DESENVOLVIDO

Será demonstrada através da imagens a operação real do braço robótico


desenvolvido em bancada experimental através de testes de reprodução de
movimentos: o braço atuador será comandado pelo mecanismo controlador, ou seja,
replicará os movimentos fornecidos pelo operador humano ao segundo braço.
Após inserido o código principal no IDE do Arduino™, este é então compilado
e em seguida carregado para a placa: a partir deste momento o braço atuador passa
a ser comandado pelo braço controlador.
As figuras que seguem (figuras 5.20 até 5.23) mostram situações de
reprodução de movimentos do atuador em função dos movimentos aplicados ao
controlador, sendo possível verificar o comportamento mímico do braço robótico atu
ador desenvolvido neste trabalho.
É importante mencionar que fisicamente foi possível perceber uma pronta
resposta do braço atuador aos comandos transmitidos a ele, sendo aceitável afirmar
que, a olho nu, possíveis atrasos (delay31) no tempo de resposta do atuador em função
do controlador são praticamente desprezíveis, caracterizando este trabalho
como robusto, eficiente e eficaz.

Figura 5.20 – Correlação entre braço robótico atuador e braço controlador (1)

31
Delay trata-se de uma palavra em inglês que significa atraso ou demora, sendo também utilizada
como termo técnico para designar o retardo entre sinais transmitidos e recebidos em circuitos
eletrônicos, atrasos em transmissões via satélite e na propagação de ondas sonoras.
99

Figura 5.21 – Correlação entre braço robótico atuador e braço controlador (2)

Figura 5.22 – Correlação entre braço robótico atuador e braço controlador (3)
100

Figura 5.23 – Correlação entre braço robótico atuador e braço controlador (4).
101

CAPÍTULO 6 – CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS

6.1 CONSIDERAÇÕES FINAIS E CONCLUSÕES

Este trabalho de conclusão de curso abordou o estudo e o desenvolvimento


da modelagem cinemática direta de um braço robótico de quatro graus de liberdade
utilizando a sistemática de Denavit-Hartenberg. Para a comprovação dos resultados
do modelo foi realizada a simulação deste braço em ambiente Matlab® Simulink®,
além da construção em bancada experimental de dois mecanismos articulados: um
braço robótico atuador, que foi também modelado, e um braço articulado controlador.
Através do desenvolvimento da matriz de transformação de coordenadas por
meio da cinemática direta, foi possível identificar a posição da garra do braço com
base em um sistema de coordenadas preso à estrutura fixa do mecanismo quando
inseridos os valores angulares das quatro juntas rotativas. Os valores em milímetros
representam a posição X, Y e Z do efetuador final do braço robótico em relação a um
sistema de coordenadas cartesianas de referência.
Estes valores foram também calculados e simulados com o auxílio da
ferramenta computacional Matlab® em conjunto com o complemento Robotics
Toolbox, sendo em seguida comparados aos resultados obtidos na etapa da
modelagem. Conclui-se que a cinemática direta elaborada para o braço robótico em
estudo foi eficiente como constatado nos resultados apresentados no decorrer deste
trabalho.
Em ambiente Simulink® foi implementada a simulação de movimentos
aleatórios que o braço robótico desenvolvido é capaz de realizar. Os movimentos
obtidos por esta simulação levam em consideração apenas as características das
juntas do objeto, isto é, movimentos rotacionais. Para isto o software AutoCAD® 2013
foi utilizado com a função de produzir computacionalmente a estrutura física do braço.
Esta estrutura foi elaborara bloco a bloco, sendo posteriormente carregada para o
Simulink®.
No trabalho é descrita a construção em bancada experimental do projeto do
braço robótico, assim como a descrição dos principais componentes que tornaram
possível a montagem de dois mecanismos articulados: o braço robótico atuador e o
braço controlador. Assim, foi possível executar o controle do braço atuador através do
102

mecanismo controlador, onde o primeiro mimetiza, imita, movimentos aplicados pelo


operador humano ao segundo braço. Na etapa de testes, foi comprovada a eficiência
do braço robótico na reprodução de movimentos.

6.2 SUGESTÕES PARA TRABALHOS FUTUROS

Para trabalhos futuros, poderá ser realizado o estudo e o desenvolvimento da


cinemática inversa, que visa encontrar os possíveis valores angulares das quatro
juntas quando da inserção da posição X, Y e Z da último frame de coordenadas
relativo ao sistema de referência preso à base fixa.
Como sugestão, no processo de simulação poderão ser utilizados atuadores
e sensores de junta, presentes na biblioteca Simulink®, para o controle dos
movimentos e delimitação das restrições angulares das juntas inerentes a qualquer
mecanismo do tipo, delimitação que não foi possível considerar neste trabalho.
Para a simulação computacional poderão ainda ser implementados
controladores do tipo PID (Proporcional, Integrativo e Derivativo) para verificar a
precisão dos movimentos dos elos do braço.
No decorrer do desenvolvimento deste trabalho percebeu-se que para a
simulação exata do protótipo no Simulink® o exemplar do braço robótico poderia ser
projetado inteiramente no SolidWorks®, que é um software do tipo CAD que permite
a criação e o gerenciamento de projetos 3D. A vantagem deste procedimento seria
que este software permite uma integração prática com o Simulink® Matlab®, ou seja,
após elaborado o projeto no SolidWorks® seria carregado diretamente (e
inteiramente, conforme restrições de posição, eixos de ligação entre elos, etc.) para o
ambiente de desenvolvimento do Simulink®.
Módulos bluetooth e placas de comunicação wireless projetados para o uso
em ambiente Arduino™ podem muito bem ser utilizados para o aprimoramento do
exemplar desenvolvido em bancada experimental, pois, na prática, robôs destinados
à inspeção e desarme de materiais nocivos ou explosivos, em sua grande maioria,
fazem o uso de tecnologias de comunicação sem fio. Ainda no intuito de tornar o
projeto mais robusto, sensores e câmeras poderão ser acoplados conforme já se
observa em vários tipos de mecanismos semelhantes.
103

Por fim, sugere-se que o braço robótico desenvolvido e descrito neste trabalho
acadêmico pode vir a ser acoplado a veículos de pequeno porte remotamente
controlados e destinados à inspeção, manuseio e desativação de materiais de
suspeitos, nocivos ou explosivos.
104

REFERÊNCIAS BIBLIOGRÁFICAS

BAJERSKI, Igor; ABELLA, Vinicius Dal Bó. Braço robótico com controle remoto
bluetooth. 63 p. Trabalho de Conclusão de Curso (Engenharia de Computação) –
Pontifícia Universidade Católica do Rio Grande do Sul, 2010.

CARRARA, Valdemir. Apostila de robótica. São Paulo: Universidade Braz Cubas,


2008.

CAVALCANTE, Fernando Zuher Mohamad Said. Reconhecimento de movimentos


humanos para imitação e controle de um robô humanoide. Dissertação (Mestrado
em Ciências de Computação e Matemática Computacional) – São Carlos: Instituto de
Ciências Matemáticas e de Computação – ICMC/USP, 2012.

CRAIG, John J. Introduction to robotics: mechanics and control. 3. ed. 408 p.


Upper Saddle River/EUA. Editora: Pearson Prentice Hall, 2004.

CRAIG, John J. Robótica. 3. ed. 408 p. Atlacomulco/México. Editora: Pearson


Prentice Hall, 2006.

CRUZ, Felipe Barreto Campelo. Modelagem, controle e emprego de robôs em


processo de usinagem. 225 p. Tese (Doutorado em Engenharia Mecânica) -
Florianópolis: Universidade Federal de Santa Catarina, 2010.

DESAI, Karan. Development of a graphical user interface for control of a robotic


manipulatior with sample acquisition capability. Dissertação (Mestrado de
Ciências Aplicadas no Programa de Engenharia Aeroespacial) – Toronto/Canadá:
Ryerson University, 2012.

ESTREMOTE, Marcos Antônio. Manipulação remota de um rraço mecânico


(SCORBOTER - III) utilizando a rede mundial de computadores. Dissertação
(Mestrado em Engenharia Elétrica) – Ilha Solteira: Universidade Estadual Paulista –
UNESP – Campus de Ilha Solteira, 2006.

FERREIRA, João Carlos E. Robôs industriais. Santa Catarina: Universidade Federal


de Santa Catarina, 2012.

MAGRIL, Fernando Caparron. Modelagem cinemática e simulação computacional


de um robô de 7 graus de liberdade. Trabalho de Conclusão de Curso (Engenharia
de Computação) – São João da Boa Vista: Centro Universitário das Faculdades
Associadas de Ensino – UNIFAE, 2010.
105

MIYAGI, Paulo Eigi; VILLANI, Emilia. Mecatrônica como solução de automação.


Revista Ciências Exatas, v. 9/10, p. 53–59, 2004.

MODESTO, André Luiz Guerreiro; SAMPAIO, Marcos Henrique Kumagai. Controle de


sistemas embarcados através de bluetooth aplicado a robótica móvel com o selvabot.
Instituto de Estudos Superiores da Amazônia – IEASAM. Engenharia de
Computação em Revista, v. 1, n. 4, p. 1–4, 2010.

MORAES, Airton Almeida de. Robótica. Curso Técnico em Mecatrônica. São Paulo:
SENAI-SP, 2003.

MOURA, José Luiz de. Robôs cartesianos. Revista Mecatrônica Atual, nº 15, abr.
2004.

ROCHA, Rui Paulo. Estado da arte da robótica móvel em portugal. Pinhal de


Marrocos/Portugal: Universiadde de Coimbra, 2001.

ROSÁRIO, João Maurício. Princípios de mecatronica. São Paulo: Prentice Hall,


2005.

SANTOS, Claudio da Silva dos. Modelagem matemática de um robô pneumático


com dois graus de liberdade. Dissertação (Mestrado em Modelagem Matemática) –
Ijuí: Universidade Regional do Noroeste do Estado do Rio Grande do Sul – UNIJUÍ,
2014.

SANTOS, Franklin Lima; NASCIMENTO, Flavia Maristela S., BEZERRA, Romildo M.


S. Reduc: a robótica educacional como abordagem de baixo custo para o ensino
de computação em cursos técnicos e tecnológicos. Salvador: Instituto Federal de
Educação, Ciência e Tecnologia da Bahia – IFBA, In: XXX CONGRESSO DA SBC,
2007.

SERRANO, Miguel; GEREMIA, Giovani; MUNARETTI, Enrique; BISOGNIN, A.;


KOPPE, Jair Carlos; COSTA, João Felipe C. L.; STROHAECKER, Telmo R. Anti-
bomb remote controlled inspection robot. In: Proceedings of the Annual
Conference on Explosvies and Blasting Technique, 26 by International Society of
Explosives Engineers, 183-190 p. (Conferência Anual sobre Explosivos e Técnicas de
Explosões – Sociedade Internacional dos Engenheiros de Explosivos),
Cleveland/EUA, 2010.

SHHEIBIA, Tarig Ali Abdurrahman E. Controle de um braço robótico utilizando


uma abordagem de agente inteligente. Dissertação (Mestrado em Informática) -
Campina Grande: Universidade Federal da Paraíba, 2001.
106

WANG, Yongbo. Error modeling and accuracy analysis of a novel mobile hybrid
parallel robot. 68 p. Tese (Mestrado em Engenharia Mecânica) –
Lappeenranta/Finlândia: Universidade de Tecnologia Lappeenranta, 2009.

YUSOFF, Mohd Ashiq Kamari; SAMIN, Reza Ezuan; IBRAHIM, Babul Salam Kader.
Wireless mobile robotic arm. Engineering Procedia, v. 41, p. 1072–1078, 2012.
107

APÊNDICE A – ELEMENTOS ESTRUTURAIS DO BRAÇO ATUADOR


108
109

APÊNDICE B – ELEMENTOS ESTRUTURAIS DO BRAÇO CONTROLADOR


110
111
112

APÊNDICE C – CÓDIGO FONTE PARA ARDUINO™

#include "Wire.h"
#include "MPU6050.h"
#include <Servo.h>
#include <I2Cdev.h>

Servo servo1;
Servo servo2;
Servo servo3;
Servo myservo_A; // Cria objeto servo 1 para controlar um servo
Servo myservo_B; // Cria objeto servo 2 para controlar um servo
Servo servo_garra;
MPU6050 accelgyro;

int16_t ax, ay, az;


int16_t gx, gy, gz;
int potenciometro = 0; // analógico usado para conectar o potenciômetro
int val; // variável para ler o valor do pino analógico
int potenciometro_2;
int val_2;

//Usado para calcular o angulo - Variaveis do acelerometro


double accXangle;
double accYangle;
double accZangle;
//Usado para calcular o angulo - Variaveis do giroscopio
double gyroXangle = 180;
double gyroYangle = 180;
double gyroZangle = 180;

uint32_t timer;
void setup() {
Wire.begin();

// Inicializando a comunicação serial


// funciona em 8MHz ou em 16MHz
Serial.begin(9600);

// Iniciando dispositivos
Serial.println("Inicializando cominicação I2C...");

accelgyro.initialize();

// Testando a conexão com a MPU6050


Serial.println("Testando a conexão com MPU6050...");
Serial.println(accelgyro.testConnection() ? "MPU6050 conectada com sucesso" : "Falha na
conexão com a MPU6050");

servo1.attach(11);
servo2.attach(10);
servo3.attach(9);
myservo_A.attach(5); // atribui o servo de pino 9 para o objeto servo
myservo_B.attach(6); // atribui o servo de pino 10 para o objeto servo
servo_garra.attach(3);

timer = micros();
}
113

void loop() {
// Fazendo a leitura de conexão com a MPU6050
accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);

// Calcular os angulos com base nos sensores do acelerometro


accXangle = (atan2(ax,az) + PI) * RAD_TO_DEG;
accYangle = (atan2(ay,az) + PI) * RAD_TO_DEG;
accZangle = (atan2(ax,ay) + PI) * RAD_TO_DEG;

double gyroXrate = -((double)gx / 131.0);


double gyroYrate = ((double)gy / 131.0);
double gyroZrate = ((double)gz / 131.0);

//###################### Calcular o ângulo de giro sem qualquer filtro


#########################
gyroXangle += gyroXrate*((double)(micros()-timer)/150000);
gyroYangle += gyroYrate*((double)(micros()-timer)/300000);
gyroZangle += gyroZrate*((double)(micros()-timer)/400000);

servo1.write(gyroYangle-72); // pwm 11
servo2.write(gyroXangle-150); // pwm 10
servo3.write(gyroZangle-70); // pwm 9

val = analogRead(potenciometro); // lê o valor do potenciômetro (valor entre 0 e 1023)


val = map(val, 0, 1023, 0, 180); // escalá-lo para usá-lo com o servo (valor entre 0 e 180)
myservo_A.write(val-10); // define a posição de servo de acordo com o valor
myservo_B.write(val-10); // define a posição de servo de acordo com o valor
delay(15); // aguarda o servo para chegar lá

val_2 = analogRead(potenciometro_2);
val_2 = map(val_2, 0, 1023, 0, 180);
servo_garra.write(val_2);
delay(15);

timer = micros();
// A taxa de amostras máxima do acelerometro é de 1KHz
delay(1);

// //Tabela Separada para os valores accel/gyro x/y/z values


// Serial.print("a/g:\t");
// Serial.print(ax); Serial.print("\t");
// Serial.print(ay); Serial.print("\t");
// Serial.print(az); Serial.print("\t");
// Serial.print(gx); Serial.print("\t");
// Serial.print(gy); Serial.print("\t");
// Serial.println(gz);

//Angulo Giroscopio x/y/z


Serial.print(gyroXangle); Serial.print("\t");
Serial.print(gyroYangle); Serial.print("\t");
Serial.print(gyroZangle); Serial.print("\t");

Serial.print("\n");
}
114

APÊNDICE D – ORÇAMENTO DO MATERIAL UTILIZADO NO PROJETO

Objeto/componente Quantidade Preço unitário Preço total

Arduino™ Uno (rev. 3) 1 R$ 59,90 R$ 59,90


Servomotor TowerPro™
2 R$ 15,90 R$ 39,90
SG90
Kit jumpes macho-fêmea
Compra 01 --- R$ 19,90 R$ 19,90
40 unidades
(Via internet)
Kit jumpers macho-
--- R$ 19,90 R$ 19,90
macho 65 unidades
Protoboard de 400 furos 1 R$ 16,90 R$ 16,90
Frete R$ 28,90
Total compra 01 R$ 185,40

Potenciômetro linear
rotativo de 10k Ω –
--- R$ 10,55 R$ 10,55
Embalagem com 12
Compra 02 unid.
(Via nternet) Cabo de alimentação
bateria 9 volts p/ R$ 10,55 R$ 10,55
Arduino™ Kit 6 unid.
Frete R$ 12,00
Total compra 02 R$ 33,10

Compra 03 Recortes em acrílico --- R$ 38,40 R$ 38,40


(Comércio local) Recortes em MDF --- R$ 78,50 R$ 78,50
Total compra 03 R$ 116,90

Componentes orçados Sensor MPU-6050™ 1 R$ 29,90 R$ 29,90


(Não adquiridos pois o Servomotor TowerPro™
autor já os possuía). 4 R$ 39,90 R$ 159,60
SG-5010 *

Valor total do projeto R$ 524,90

Valor gasto R$ 335,40

Você também pode gostar