UNI NIVER VER SIDADE FEDER AL DO ACR E CE NT NTRO RO DE CIÊNCIAS EXATAS E TEC NOLÓ NOLÓGICAS GICAS CURS CU RS O DE DE B ACHARE LADO EM ENGENHARIA ELÉTRICA
TRABALHO DE CONCLUSÃO DE CURSO CURSO DE BACHARELADO EM ENGENHARIA ELÉTRICA
DESENVOLVIMENTO 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 Mamani
RIO BRANCO – ACRE 2015
UNI NIVER VER SIDADE FEDER AL DO ACR E CE NT NTRO RO DE CIÊNCIAS EXATAS E TEC NOLÓ NOLÓGICAS GICAS CURS CU RS O DE DE B ACHARE LADO 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 Uendel Diego da Silva, Silva, 1987Desenvolvimento 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 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 Barr os 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 Federal do Acre pela oportunidade que me 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 professores que já já se faziam faziam presentes nesta instituição 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 desenvolvimento experimental. Para análise dos movimentos do braço, é realizada r ealizada 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 fí sica das pessoas. Ao final do trabalho são são discutidos os resultados da simulação computacional 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 forward kinematics 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 the work work are are discusses 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................ System ................................. .................................. ................... .. 19 Figura 1.2 – Detalhe do console do da Vinci® Surgical System................ System ................................. ........................... .......... 19 Figura 1.3 – Robô militar Dragon Runner ® ................................. ................................................. .................................. ......................... ....... 20 Figura 1.4 – Robô militar TALON ® ................................. .................................................. .................................. .................................. ................... .. 20 Figura 1.5 – Tactical Robot Controller - TRC ............... 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 empregadas em robôs........................ robôs.............. ................... .................. ......... 30 Figura 2.5 – Representação esquemática esquemática das juntas.................. ........ ................... .................. .................. ................... .............. .... 31 Figura 2.6 – Representação tridimensional tridimensional de um u m 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 liberdade................................. .................................................. .................................. .................................. .................................. .................................. ......................... ........ 34 Figura 2.10 – Representação tridimensional 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 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 liberdade................................. .................................................. .................................. .................................. .................................. .................................. ......................... ........ 37 Figura 2.14 – Representação tridimensional de um robô SCARA (RRP) SCARA (RRP) de 3 GL................ ........ ........ 38 Figura 2.15 – Volume de trabalho de um robô SCARA de SCARA de 3 graus de liberdade .................. ......... ......... 38 Figura 2.16 – Configuração Configuração de um punho RT na forma compacta ............... .................. ......... ............... ...... 39 Figura 2.17 – Configuração 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 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 frames intermediários {P}, {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 frames de coordenadas (dimensões em milímetros) .................................................................................................. 60 Figura 3.5 – Detalhe dos eixos coordenados e alocação dos frames frames (dimensões em milímetro milímetros) s) ................................. .................................................. .................................. .................................. .................................. .................................. ...................... ..... 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 prod utos 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 Especificações técnicas da placa Arduino™ Uno . ............................................ Figura 4.3 – Especificações ............................................ 72
Figura 4.4 – Exemplos dos componentes de um servomotor .................. ......... ................... .................. .................. ............ 74 Figura 4.5 – Exemplo de pulsos de controle de um servomotor ................... ......... ................... .................. ............... ...... 76 Pro™ SG90; (b) TowerPro™ SG -5010 ................. .... 77 Figura 4.6 – Servomotores: (a) Tower Pro™
Figura 4.7 – Especificações técnicas dos servomotores 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 controlador ....................... .............. ............ ... 81 Figura 4.11 – Esquema de ligação elétrica dos componentes no software Fritzing .......... Fritzing .............. .... 82 Figura 4.12 – Ângulos de operação operação do braço robótico robótico ................... .......... .................. .................. ................... ................... ........... 83 Figura 4.13 – Região de operação do braço robótico 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ímetro milímetros) s) ................................ ................................................. ................................... .................................. .................................. .................................. ................ 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................. Rígida ................................... .................................. ..................... ..... 94 Figura 5.12 – Modelo Simulink® do bloco Base Giratória ................................. .................................................. ................... .. 94 Figura 5.13 – Modelo Simulink® do bloco Braço............... Braço ................................. ................................... ................................. ................ 94 Figura 5.14 – Modelo Simulink® do bloco Antebraço................. Antebraço.................................. .................................. ......................... ........ 95 Figura 5.15 – Modelo Simulink® do bloco Garra1 .................................. ................................................... .............................. ............. 95 Figura 5.16 – Movimentos simulados simulados no Simulink® (1).................. ......... .................. .................. .................. ................... ............ 96 Figura 5.17 – Movimentos simulados simulados no Simulink® (2).................. ......... .................. .................. .................. ................... ............ 96 Figura 5.18 – Movimentos simulados simulados no Simulink® (3).................. ......... .................. .................. .................. ................... ............ 97 Figura 5.19 – Movimentos simulados 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 100
x
LISTA DE ABREVIATURAS E SIGLAS
CAD
Computer Aided Design
Desenho Auxiliado por Computador
CAM
Computer Aided Manufacturing Manufacturing
Manufatura Auxiliada por Computador
CC
Corrente Contínua
D-H
Denavit-Hartenberg
DMP
Digital Motion Processor
Processador de Movimento Movimento Digital
DOF
Degree of Freedom
Grau de Liberdade
GL
Grau de Liberdade
IDE
Integrated Development Development Environment
Ambiente de Desenvolvime Desenvolvimento nto Integrado
I²C
Inter-Integrated Circuit
Circuito Inter-Integrado
LED
Light Emitting Diode
Diodo Emissor de Luz
MDF
Medium-Density Medium-Dens ity Fiberboard
Placa de Madeira de Densidade Média
MEMS
MicroElectroMechanical MicroElectroMechanical Systems
Sistemas Micro-Elétrico-Mecânicos Micro-Elétrico-Mecânicos
PPP
Prismática-Prismática-Prismática
PWM
Pulse Width Modulation Modulation
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
Modulação por Largura de Pulso
xi
Robôs Universais de Rossum
SCARA
Selective Compliance Assembly Robot Arm
Braço de Robô com Montagem Seletiva Obediente
SRI
Stanford Research Institute
Instituto de Pesquisa Standford
TRT
Torcional-Rotacional-Torcional
TRC
Tactical Tactica l Robot Controller
Controlador de Robô Tático
USB
Universal Serial Bus
Barramento Serial Universal
xii
SUMÁRIO CA PÍTULO 1 – INTRODUÇÃO ....................................................................... .........................................................................................................1 ..................................155 .......................................15 1.1 CONSIDERAÇÕES HISTÓRICAS E A EXPANSÃO DA ROBÓTICA .......................................15 ..............................................................16 6 1.2 A IMPORTÂNCIA DA ROBÓTICA PARA O HOMEM ..............................................................1 ........................................................................................22 ......................22 1.3 APRESENTAÇÃO DO TRABALHO .................................................................. ...................................................................................................... ...............................................24 ...........24 1.4 OBJETIVO GERAL .................................................................. ...................................................................................................2 .............................24 4 1.5 OBJETIVOS ESPECÍFICOS ...................................................................... .......................................................................................................... ...............................................24 ...........24 1.6 JUSTIFICATIVA ...................................................................... ......................................................................................................... .....................................................25 .................25 1.7 MOTIVAÇÃO .....................................................................
CA PÍTULO 2 – MARCO TEÓRICO ...................................................................... ...................................................................................................2 .............................277 ...................................................................................27 .................27 2.1 CONCEITOS BÁSICOS DE UM ROBÔ .................................................................. 2.1.1 GRAUS GRAUS DE LIBERD LIBERDADE ADE .................................................................................................2 .................................................................................................28 8 2.1.2 JUNTAS JUNTAS RO ROBÓTI BÓTICAS CAS ................................................................... .....................................................................................................2 ..................................29 9 .............................................................................................31 .......................31 2.2 CLASSIFICAÇÃO DOS ROBÔS ...................................................................... 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 Articulado (Coordenada (Coordenadass de Revolução Revolução ou Rotativas) Rotativas)............ ...... ............ ............ ............ ........... ........... ............ ............ ......35 35 2.2.1.4 Robô de Coordenadas Esféricas .............................................................................................36 2.2.1.5 Robô SCARA..........................................................................................................................37 SCARA..........................................................................................................................37
2.2.2 CONFIGURAÇÃO DOS PUNHOS ...................................................................................39 ....................................................................39 9 2.3 CAPACIDADE DE REALIZAÇÃO DE TAREFAS ....................................................................3 ..............................................................................41 ...........41 2.4 GARRAS E FERRAMENTAS TERMINAIS ................................................................... 2.4.1 GARRA GARRA DE DOIS DOIS DEDOS DEDOS .............................................................................. ...............................................................................................41 .................41 2.4.2 GARRA GARRA DE TRÊS DEDOS ........................................................................................ ..............................................................................................42 ......42 2.4.3 GARRA PARA PREENSÃO PREENSÃO DE OBJETOS CILÍNDRIC CILÍNDRICOS OS ............... ........ .............. .............. ............... ............... ..........42 ...42 2.4.4 GARRA GARRA ARTICU ARTICULAD LADA A ................................................................... .....................................................................................................4 ..................................43 3 ..............................................................................43 ...........43 2.5 CINEMÁTICA DE BRAÇOS ROBÓTICOS ................................................................... 2.5.1 INTRODU INTRODUÇÃ ÇÃO O.................................................................. ...................................................................................................... ...............................................43 ...........43 2.5.2 SISTEMAS DE REFERÊNCIA .........................................................................................44 2.5.3 MODELO MODELO GEOMÉTRI GEOMÉTRICO CO ................................................................... ................................................................................................4 .............................46 6
2.6 MATRIZ DE TRANSFORMAÇÃO PELO MÉTODO DE DENAVIT-HARTENBERG ..................48 2.6.1 APRESENTAÇÃO APRESENTAÇÃO DA SISTEMÁTICA DE DENAVIT-HARTEN DENAVIT-HARTENBERG............. BERG..................... ............... ..........48 ...48 2.6.2 DESCRIÇÃO DA NOTAÇÃO DE DENAVIT-HARTENBERG ............................................50 2.6.3 EXEMPLO EXEMPLO DE APLICAÇ APLICAÇÃO ÃO .............................................. ................................................................................. ...............................................52 ............52 2.6.4 ALGORITMO PARA OBTENÇÃO DO SISTEMA DE COORDENADAS PARA O LINK .....53
CA PÍTULO 3 – MODELAG MODELAG EM CINEMÁTICA CINEMÁTICA DO BR AÇO ROB ÓTICO ÓTICO ...........................................56 ...........................................56
xiii
............................................56 3.1 CONSIDERAÇÕES BIBLIOGRÁFICAS PARA A MODELAGEM ............................................56 ....................................56 3.2 OBTENÇÃO DA MATRIZ DE TRANSFORMAÇÃO DE REFERÊNCIA ....................................56 .......................................................59 3.3 APRESENTAÇÃO DO BRAÇO ROBÓTICO PROPOSTO .......................................................59 .........................59 3.4 ATRIBUIÇÃO DOS FRAMES DE COORDENADAS PELO MÉTODO DE D-H .........................59 ..............................61 3.5 CINEMÁTICA DIRETA: CÁLCULO DA MATRIZ DE TRANSFORMAÇÃO ..............................61 ..........................65 3.6 CINEMÁTICA DIRETA DO BRAÇO ROBÓTICO EM AMBIENTE MATLAB® ..........................65
CA PÍTULO 4 – IMPLEMENTAÇÃO IMPLEMENTAÇÃO EM B ANCADA E XPER IMENTAL IMENTAL .............................................68 .............................................68 ..................................................................................................6 .............................68 8 4.1 CONSIDERAÇÕES INICIAIS ..................................................................... ..................................................................................................... ........................................68 .....68 4.2 MATERIAL UTILIZADO ..................................................................
4.3 DESCRIÇÃO DOS DISPOSITIVOS UTILIZADOS NA EXECUÇÃO DO PROJETO. .................69 4.3.1 A PLACA ARDUINO™ ................................................................... .....................................................................................................6 ..................................69 9
4.3.2 SERVOMOT SERVOMOTORES ORES .................................................................. ..................................................................................................... ........................................73 .....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 4.3.2.3 Torque Torque dos Servom Servomotor otores es .......................................................................................................76
4.3.3 DISPOSITIVO MPU-6050™ - PLACA PLACA GY-521 GY-521 .................................................................7 .................................................................78 8 ...............................................79 4.4 DESCRIÇÃO DO PROJETO EM BANCADA EXPERIMENTAL ...............................................79 ...................................................................81 1 4.5 ESQUEMA DE LIGAÇÃO DOS COMPONENTES ...................................................................8 .....................................................................83 3 4.6 ÁREA DE TRABALHO DO BRAÇO ROBÓTICO .....................................................................8
CA PÍTULO 5 – RE SULTADO SULTADOSS E DISCUSS DISCUSS ÕES ................................................................... ..............................................................................84 ...........84 ...........................................................................84 .....84 5.1 DESCRIÇÃO DAS CONDIÇÕES DE TESTE ......................................................................
5.2 COMPARAÇÃO ENTRE OS VALORES CALCULADOS E OS VALORES SIMULADOS NO ....................................................................................................... ................................................................8 .............................84 4 MATLAB® .................................................................... 5.2.1 SITUAÇÃ SITUAÇÃO O 1 .................................................................... ........................................................................................................ ...............................................84 ...........84 5.2.2 SITUAÇÃ SITUAÇÃO O 2 .................................................................... ........................................................................................................ ...............................................87 ...........87 5.2.3 SITUAÇÃ SITUAÇÃO O 3 .................................................................... ........................................................................................................ ...............................................90 ...........90 .........................92 5.3 SIMULAÇÃO DOS MOVIMENTOS DO BRAÇO EM AMBIENTE SIMULINK® .........................92 ................................................98 5.4 TESTES FÍSICOS DO BRAÇO ROBÓTICO DESENVOLVIDO ................................................98
CA PÍTULO 6 – CONSIDERA CONSIDERA ÇÕES FINAIS FINAIS E TRABALHOS FUTU FUTUROS ........................................101 ........................................101 ......................................................................101 ...101 6.1 CONSIDERAÇÕES FINAIS E CONCLUSÕES ................................................................... .....................................................................102 ...102 6.2 SUGESTÕES PARA TRABALHOS FUTUROS ..................................................................
REFERÊNCIAS BIBLIOGRÁFICAS ...............................................................................................104 APÊNDICE A – ELEMENTOS ESTRUTURAIS ESTRUTURAIS DO BRAÇO BRAÇO ATUADOR ATUADOR ............... ....... ............... .............. .............. ...........107 ....107 APÊNDICE B – ELEMENTOS ESTRUTURAIS ESTRUTURAIS DO BRAÇO BRAÇO CONTROLADOR CONTROLADOR .................. ........... .............. ............109 .....109 APÊNDICE C – CÓDIGO FONTE PARA ARDUINO™....................................................................112 APÊNDICE D – ORÇAMENTO DO MATERIAL UTILIZADO UTILIZADO NO PROJETO ............... ....... ............... .............. .............114 ......114
xiv
15
CA PÍ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 neologismo robô é robô é encontrada no trabalho do escritor tcheco Karel Capek (1890-1938), quando este utilizou em 1921 o termo robota em robota em sua peça teatral intitulada R.U.R. (Rossum’ s Universal Robots, 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 a dversidade impulsionaram impulsionaram o homem a elaborar e adotar equipamentos capazes de desempenhar tarefas repetitivas, complexas ou que apresentem grau de peri culosidade considerável, considerável, de tal t al 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 foi na produção e automação automação industrial 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. espaciais. Por outro lado, a partir do ano de 1960 o uso da robótica em conjunto principalmente com softwares softwares do tipo CAD (Computer Aided Design), Design), que significa desenho assistido por computador e softwares 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 foi capaz de assumir 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 vár ios 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 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, si stema, bem como eliminar a presença humana 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, 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, dispositivos, e valendo-se valendo-se de sua característica multidisciplinar, busca o desenvolvimento e a i ntegraçã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 consiste na junção dos conceitos conceitos científicos de mecânica, 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 pr programaç ogramações õ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 de um sistema robótico variam variam significativamente de acordo 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 ( International Federation of Robotics) 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, excetuandose 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édi co 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 pr ocedimento é chamado de telesurgery ou ou remote surgery (em (em português, telecirurgia e cirurgia remota, respectivamente). A definição de cirurgia remota é a capacidade de realização de procedimentos 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 feedback 1. Um dos dispositivos mais modernos para este fim é o da Vinci® Surgical ®), sendo que a pesquisa que System System (em português, Sistema Cirúrgico da Vinci ®), culminou com o seu desenvolvimento data do final de 1980 pelo instituto norteamericano SRI (do (do inglês Stanford Research Institute). 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 entr ada 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 Vinci®. Disponível em: . mages.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/robo http://www.cts.usc.edu/roboticsurgery-da ticsurgery-davincisystem.html>. vincisystem.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 America 4. Figura 1.4 – Robô militar TALON ®
Fonte: Site oficial da QinetiQ North America 5.
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 do tipo clássico ou similares (semelhante ( semelhante aos controles analógicos disponíveis para consoles de videogames).
4
Empresa fabricante do produto. Disponível em: . Acesso em: 02 set. 2015. 5 Empresa fabricante do produto. Disponível em: . Acesso Acesso em: 02 set. 2015.
21
Um joystick Um joystick trata-se trata-se de um periférico periféri co de computador composto composto por uma haste geralmente vertical fixa a uma base. Esta haste, quando movimentada 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 (Tactical Robot Controller ), joystick ), joystick produzido produzido pela Empresa QinetiQ North America 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 Services 6.
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 Disponível em: . 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 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 siste ma, é 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 T RABALHO Vislumbrando todos os aspectos até então apresentados, a presentados, 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 movimentos realizados por outro braço br aç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 MDF 7, respectivamente. A escolha de tais materiais se deve à praticidade e ao relativo baixo custo que ambos oferecem quando comparados a chapas metálicas, metálicas, alumínio, etc. O projeto estrutural do braço robótico foi elaborado no software AutoCAD® 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 instruções que que definirão definirão os movimentos movimentos dos servos do braço 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 desenvolvimento embarcada que pode interagir com o ambiente por meio de hardware e hardware e software. 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) Modulation) proveniente de saídas digitais da placa Arduino™ Uno.
7 Do
inglês Medium-Density Fiberboard, é 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 como placa de madeira madeira de média densidade densidade e 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. 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, softwares livres, ou seja, softwares com 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 custo 9.
1.5 OBJETIVOS ESPECÍFICOS
Realizar estudo e pesquisa pesquisa sobre os braços robóticos contemplando contemplando suas aplicações e particularidades;
Realizar a modelagem modelagem cinemática 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 computacional Simulink® Matlab® o modelo matemático do braço atuador para comprovação da cinemática direta executada;
Simular em ambiente Simulink® Simulink® Matlab® movimentos predefinidos do braço braço robótico atuador considerando características das quatro juntas;
Implementar em bancada experimental experimental um exemplar exemplar do braço robótico controlador e do braço robótico r obótico atuador modelado e simulado;
Realizar testes de de operação operação do braço braço produzido produzido no intuito de verificar verificar sua funcionalidade.
1.6 JUSTIFICATIVA É notório o crescimento de dispositivos di spositivos 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, ( 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 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 Ard uino™ para a implementação física do braço se justifica pela praticidade e versatilidade que estes dispositivos oferecem, 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, 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 utili zados 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
CA PÍTULO 2 – MAR MAR CO TE 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. 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 ferra mentas 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 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, ( 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 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 de nominadas eixos. O movimento proporcionado por cada junta 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 lilinha nha 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 r obôs utiliza, em geral, juntas rotativas r otativas 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 além de demonstrar esta classificação, também ilustra, a título de
comparação, uma junta do tipo prismática. pri smá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), 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 possibilidades de posicionamento no volume de trabalho (ROSÁRIO, 2005). Os cinco grupos gr upos principais de um robô podem ser listados da seguinte maneira: Cartesiano;
Cilíndrico;
32
Articulado ou Antropomórfico;
Esférico ou Polar;
SCARA. 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, ocorr em, começando da junta mais à extremidade do braço (ROSÁRIO, 2005). Conforme Santos (2014), a seguir será mostrada a caracterização cinemática 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 geralmente apresentam três articulações deslizantes, sendo codificados como PPP (Prismática-Prismática-Prismática) (ROSÁRIO, 2005). Este tipo de robô r obô 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 li near 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 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 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 tr abalho 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 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, ( 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-Rev (Revolução-Revolução-Revolução) oluçã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 mostra uma representação de um robô articulado e o volume 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 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 u m terceiro, que é linear, descrevendo, assim, um envelope esférico. Sua configuração configuração é do tipo RRP (Revolução-RevoluçãoPrismá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 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 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 esféricas de 3 graus de liberdade
Fonte: Desai (2012).
2.2.1.5 Robô SCARA O termo SCARA SCARA advém da expressão em inglês Selective Compliance Assembly Robot Arm, 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 pri smá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. 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 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) SCARA (RRP) de 3 GL
Fonte: Moura (2004). Figura 2.15 – Volume de trabalho de um robô SCARA de 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 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 fi gura 2.17 exibe a configuração de um punho TRT (Torcional-Rotacional(T orcional-RotacionalTorcional). Semelhante ao punho anteriormente descrito, os eixos de rotação das juntas de um punho classificado como TRT se cruzam cr uzam num mesmo ponto, p onto, 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 i mportâ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 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);
Y aw “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 t orque (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 t al deve ser dotado de um elemento terminal. ter minal. Como o atuador é o elemento el emento 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, ( 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 principal desvantagem desvantagem deste tipo de mecanismo mecanismo se dá pela limitação quanto quanto a abertura dos dedos, o que restringe sua operação a objetos cujo tamanho não ultrapassem a abertura máxima máxima (ROSÁRIO, 2005). 2 005). 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 t rê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, links, conectados por juntas geralmente prismáticas ou rotativas, onde cada par junta-link junta-link constitui um grau de liberdade. Deste modo, para certo manipulador com n com n graus de liberdade, teremos n teremos n pares junta-link 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áve i ndispensávell a impleme i mplementação ntação de algoritmos numéricos rápidos para se produzir o modelo cinemático direto e inverso e, assim, assi m, 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ÊNCIA R EFERÊNCIA11 Para Rosário (2005), um sistema articular pode ser representado matematicamente por n n corpos móveis C i , com i com i = 1, 2, 3, ..., n, e por um corpo Co fixo, interligados por uma quantidade n 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 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 R i = = (O i , Xi , Y i , Zi ), ), bem como com o sistema de coordenadas de origem da base, mediante o uso da equação 2.1, onde A i ,i+1 , representa as matrizes de transformação homogênea de rotação e L i o o vetor de translação de uma origem a outra, como pode ser vista na figura fi gura 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 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. trama. Ambas palavras são utilizadas para o mesmo propósito: tanto frame quanto frame quanto trama podem trama podem ser traduzidas para o português como quadro, fazendo alusão à expressão quadro ou sistema ou sistema de coordenadas. coordenadas . Para este trabalho será usada a expressão frame.
45
Deste modo, A i ,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 sucessivas das articulações, conforme é possível verificar na equação 2.2. Figura 2.23 – Sistema de referência utilizado utilizado
Fonte: Rosário (2005).
O i 1 O i Ai,i i,i 1 L i
(2.1)
Ai,i i,i 1 A1 , 2 A2 , 3 Ai,i i,i 1
(2.2)
N xo S xo Axo Ai,i 1 N yo S yo A yo N zo S zo Azo
(2.3)
Onde:
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 se u 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 r elaçã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 si stema 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 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 um dado vetor
X no
espaço cartesiano em função de um vetor θ⃗ em coordenadas
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 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, i-1, ou seja: T n A0 ,1 A0 , 2 ... An 1 ,n T n n s a p
(2.5)
Onde: p [p x ,p y ,p z ] = vetor posição;
n [n x ,n y ,n z ] t , s [s x ,s y ,s z ] t
e a [a x ,a y ,a z ] 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 ,a i ,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 r obó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 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 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. links adjacentes. Figura 2.25 – Notação de Denavit-Hartenberg (geometria e parâmetros de juntas rotativas)
Fonte: Rosário (2005).
Seguindo este método 13, aos eixos de juntas devemos conectar duas normais, uma para cada link . A posição relativa dos dois links conectados, links conectados, link i-1 i-1 e link i é definida por d i , que é a distância medida ao llongo ongo 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, Assim, di e e θi podem podem ser chamados de distância e ângulo entre links adjacentes, links adjacentes, respectivamente. São eles que definem a posição relativa de links links vizinhos (ROSÁRIO, 2005). Um link qualquer (link (link i , por exemplo) poderá estar conectado a, no máximo, dois outros links (link i-1 links adjacentes (link i-1 e link i+1). 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 Z i-1 i-1 associado ao eixo de rotação θ i 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 confi guração fixa entre suas juntas, podendo esta configuração ser caracterizadas por dois parâmetros: a i e αi (ROSÁRIO, (ROSÁRIO, 2005). O parâmetro a i é é 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 Z i-1 e Z i para a junta i e junta i+1, 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, (ROSÁRIO, 2005). Portanto, os quatro parâmetros a i , αi , , di e θi são são associados a cada um dos n links do 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 i mportante 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. 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 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 resulta na obtenção obtenção de uma matriz matriz de transformação 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 onde i = 1, 2, 3,..., n 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 (X i , Yi , Zi ) do braço do objeto robótico corresponde à junta i+1, 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. i-1. Assim, o i-ésimo 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). n). As coordenadas da base são definidas como o sistema de coordenadas 0 (X 0, Y0, Z0), nomeado também de sistema de referência inercial 14. Os sistemas de coordenadas são determinados e estabelecidos respeitando três regras:
O eixo Zi-1 é colocado col ocado ao longo do eixo de movimento da junta i ;
O eixo Xi é é normal ao eixo Z i-1 i-1 e apontando para fora dele;
O eixo Yi completa 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 ei xo 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 X i é é normal ao eixo Z i-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:
é o ângulo de junta obtido entre os eixos X i-1 no eixo Z i-1 θi é i-1 e Xi no i-1 (pelo uso da regra da mão direita);
di é a distância entre a origem do (i( i-1)-ésimo 1)-ésimo sistema de coordenada até a interseção do eixo Z i-1 com o eixo X i por por toda a extensão do eixo Z i-1;
ai é é a distância (off-set) (off- set) entre a interseção do eixo Zi-1 até a origem i-1 com o eixo X i até do i-ésimo i-ésimo sistema de referência tomado ao longo do eixo X i , isto é, a menor distância entre os eixos Z i-1 i-1 e Z i ;
é o ângulo (off-set) entre os eixos Z i-1 tomado ao longo do eixo X i pelo pelo αi é i-1 e Zi tomado uso da regra da mão direita. Para uma junta rotativa, d i , ai e αi são são os parâmetros de junta, cujos valores
variam pela rotação do link i em relação ao link i-1. 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 Z i-1 i-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 X i 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
transformação homogênea
i 1 i A
(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 i-ésimo ao (i-1)-ésimo i-1)-ésimo sistema de coordenadas. Desejamos, portanto, representar um ponto Pi qualquer qualquer com base (i( i-1)-ésimo 1)-ésimo sistema de coordenadas. Para isto faz-se necessário aplicarmos transformações matriciais de rotação e translação t ranslação (ROSÁRIO, 2005). A matriz de transformação homogênea aqui proposta deverá ser capaz de efetuar os seguintes passos:
(o eixo Rotacionar em θ graus o eixo Zi-1 para alinhar o eixo X i-1 com o eixo X i (o Xi-1 e aponta para a mesma direção); i-1 é paralelo ao eixo Xi e
Realizar uma translação (ou simplesmente simplesmente transladar) de uma distância d i ao ao longo do eixo Z i-1 de modo a fazer com que os eixos X i-1 e Xi coincidam; coincidam;
Transladar ao longo do eixo X i uma uma distância de a i , de modo a coincidir as duas rotaci onado de θ graus e transladado de origens (ou seja, trazer o eixo X i-1 já rotacionado
di ); );
Por fim, produzir rotação no eixo Xi de um ângulo α i graus. 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 composta
i 1 i
A,
conhecida como matriz de transformação de D-H para sistemas de
coordenadas adjacentes i adjacentes i e i-1 i-1 (ROSÁRIO, 2005).
53
Assim, seguindo os passos acima mencionados, mencionados, será dada conforme a equação abaixo: i 1 i A
Rotação(z,θ i ) Translação (z,d i ) Rotãção(x, α i ) Translação (x,a i )
i 1 i A
R(z,θ i ) T(z,d i ) R(x,α i ) T(x,a i )
i 1 i A
R Z T Z R X T X
θ cosθ sen θ sen θ θ cosθ i 1 i A 0 0 0 0
0
0 1
0
0
0
0
1
0
0
1
0
0
1 0
0 0 0 1 0
0 1
(2.6)
0
0
0 cos α sen α α α cos α d 0 sen α 1 0 0 0 0
0 1
0
0
a
0
1
0
0
0
1
0
0
0 0 0 1 0
0 1
(2.7)
Fazendo todas as multiplicações matriciais, chegamos a: θ sen α α sen θ θ a cosθ cosθ cos α sen θ sen θ θ cos α cosθ sen α α cosθ a sen θ θ i 1 i A 0 α sen α d cos α 0 0 1 0
(2.8)
sen θ θ cosθ 0 a cos α sen θ θ cos α cosθ sen α α d sen α α i 1 1 i A sen α α sen θ θ sen α α cosθ cos α d cos α 0 0 0 1
(2.9)
Sua inversa será:
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 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 algoritmo resumido resumido para a obtenção dos parâmetros parâmetros de Denavit Hartenberg.
Figura 2.26 – Algoritmo resumido de Denavit-Hartenberg
D1
Obtenção do sistema de coordenadas da base: Estabelecer um sistema ortonormal de coordenadas (X 0, Y0, Z0) na base de suporte suporte com o eixo Z 0 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 Z 0.
D2
Inicialização e iteração: Para cada i , i = 1, . . ., n-1, efetuar passos D3 até D6.
D3
Estabelecer o eixo das juntas: Alinhar Zi com com o eixo de movimento (rotação ou translação ) da junta i+1. i+1. Para robôs tendo configurações de braço esquerdo-direito, os eixos Z 1 e Z2 são apontados sempre para o ombro e o tronco do braço do robô.
D4
Estabelecer a origem do i -ésimo sistema de coordenadas: Situar a origem do i-ésimo i-ésimo sistema de coordenas na interseção dos eixos Z i e e Z i-1 i-1 ou na interseção da normal comum entre os eixos Z i e e Zi-1 e o eixo Z . i-1 i
D5
Estabelecimento Estabelecimento do eixo Xi : Estabelecer X i = = ± (Zi-1 || ou ao longo da normal comum entre os i-1 × Zi ) / || Zi-1 i-1 × Zi || eixos Zi e e Zi-1 i-1 quando eles forem paralelos.
55
D6
Estabelecimento Estabelecimento do eixo Yi : Determina-se Yi = = ± (Zi × × Xi ) / || Zi-1 || para completar o sistema de coordenadas. i-1 × Xi || (Estender os eixos Z i e e Xi se se necessário para passos D9 a D12).
D7
Estabelecer a direção do sistema sistema de coordenadas: Normalmente a n-ésima junta é uma junta rotativa. Estabelecer Z n ao longo da direção do eixo Z n-1 apontando para fora do robô. Estabelecer X n assim que ele é normal tanto aos eixos Z n-1 e Zn. Determine Yn para completar o sistema de coordenadas.
D8
Encontrar os parâmetros das juntas e links : Para cada i, i = 1, . . . , n, efetuar passos D9 ao D12.
D9
Encontrar di : di é é a distância da origem do (i( i-1)-ésimo 1)-ésimo sistema de coordenadas até a interseção do eixo Zi-1 ao longo do eixo Z i-1 i-1 e o eixo Xi ao i-1. Ela é a variável de junta se a junta i é prismática.
D10
Encontrar ai : ai é a distância da interseção do eixo Z i-1 i-1 e o eixo Xi para a origem do i-ésimo i-ésimo sistema de coordenadas ao longo do eixo X i .
D11
Encontrar θi : θi é é o ângulo â ngulo de rotação entre os eixos X i-1 sobre o eixo Z i-1 i-1 e X i sobre i-1. Esta é a variável de junta se a junta é rotativa.
D12
Encontrar αi : αi é é o ângulo de rotação entre os eixos Z i-1 no eixo X i . i-1 e Zi no Fonte: Rosário (2005).
56
CA PÍTULO 3 – MOD MODEE LAG E M CINEMÁTICA CINEMÁTICA DO B R AÇ O ROB ÓTICO Ó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) 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 frame 0 que está fixo à base do robô). Baseada em Craig (2006), esta transformação pode ser dada pela equação abaixo: n 1 0 0 1 2 T 3T ... n T n T 1T 2
Esta transformação
0
n T
(3.1)
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 seg mento mediante a equação 3.1 (CRAIG, 2006).
3.2 OBTENÇÃO DA MATRIZ DE TRANSFORMA T RANSFORMAÇÃO ÇÃ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} 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. 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 tramas no lugar de frames. 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 frame para cada vínculo, teremos decomposto o problema cinemático em n subproblemas. Para poder resolver cada um destes subproblemas (especificamente
i 1
T )
i
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 Começaremos definindo defini ndo três frames intermediários frames intermediários para cada vínculo: {P}, {Q} e {R}. Figura 3.1 – Alocação de frames intermediários 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}, frames {P}, {Q} e {R} definidos. Observe que só se mostram os eixos X e Z de cada frame para frame para que o desenho se torne mais claro:
O frame {R} frame {R} difere do frame { frame {i i −1} somente por uma rotação de α i −1;
O frame {Q} 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 { frame { i i } difere de {P} por una translação de d i . Se desejamos escrever a transformação que modifi modifica ca os vetores definidos em
{ i } à sua descrição em {i { i −1}, podemos fazê-lo da seguinte forma: i 1
R Q P i P i R 1T Q T P T i T P
(3.2)
Ou i 1
P i 1i T i P
(3.3)
Onde i 1 i 1 R Q P i T R T Q T P T i T
(3.4)
Considerando cada uma destas transformações, transformações, podemos ver que a equação 3.4 pode se escrever conforme: i 1 i
T R X ( α i 1 ) D X (a i 1 ) R Z ( θ i ) D Z (d i )
(3.5)
Se introduzirmos aqui a no ção de “parafuso” para os pares (R x D x ) e (R z D z ) , podemos reescrever a equação 3.5 como: i 1 i
T Parafuso X (a i 1 ,α i 1 ) Parafuso Z (d i ,θ i )
(3.6)
Onde a notação Parafuso Q r,φ representa a combinação de uma translação transl açã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 de
i 1 i T
: cosθ i sen θ θ i cos α i 1 i 1 T i sen θ θ i sen α α i 1 0
sen θ θ i cos cos
θ i cos α i 1
θ i sen α α i 1 0
0
sen α α i 1 cos
α i 1
0
sen α α i 1 d i cos α i d i 1 1 a i 1
(3.7)
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 software computacional AutoCAD® 2013, aplicativo do tipo CAD, CAD, que é caracterizado por se enquadrar no grupo de softwares 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 mecanismo dentro dent ro 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 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 parâmetros de vínculo a i , α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 frames de coordenadas cartesianas que embasarão as transformações 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 mecanismo (figura (fi gura 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 frames de coordenadas coordenadas (dimensões em milímetros)
61
3.5 CINEMÁTICA DIRETA: CÁLCULO DA MATRIZ DE TRANSFORMAÇÃO TRANSFORMAÇÃO A partir da figura 3.4 é possível isolar apenas a alocação dos frames de coordenadas do mecanismo, mecanismo, conforme mostrado em detalhes na figura 3.5. Figura 3.5 – Detalhe dos eixos coordenados e alocação dos frames (dimensões frames (dimensões em milímetros)
Com base nos detalhes apresentados na figura acima, é possível extrair as seguintes informações:
O frame frame de referência {0} localiza-se no centro da base fixa do braço e foi colocado alinhado com o frame {1} frame {1} no intuito dos parâmetros a i e αi serem nulos;
62
O frame {1} frame {1} encontra-se alinhado ao eixo de rotação 1 do braço, bem como ao frame de frame de referência {0}, apresentando apenas um deslocamento deslocamento de sua origem ori gem de 16,79 mm;
O frame frame {2} alinha-se ao eixo de rotação 2 do braço, apresentando um deslocamento com relação ao frame {1} frame {1} de 7,400 mm ao longo do eixo X 1 (que é paralelo ao eixo X 2), 21,39 mm ao longo l ongo do eixo Z 2 e - 90º de rotação do eixo Z1 sobre o eixo X 2 para o alinhamento de Z 1 e Z2;
O frame 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 X 2 e X 3 estão dispostos em um mesmo plano. Disto, d 2 é zero;
O frame {4} frame {4} alinha-se ao eixo de rotação 4, está deslocado de {3} por 5,006 mm ao longo de X 3 (que é colinear a X 4) e necessita de um giro de 90º sobre o eixo X4 para o devido alinhamento alinhamento de Z 3 com Z4;
Por fim, o frame {5} frame {5} localiza-se na porção central do interior da base da garra, mantendo uma distância d 5=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 1 2 3 4 5
αi-1 i-1
0º -90º 0º 90º 0º
ai-1 i-1 0 7,400 mm 121,0 mm 5.006 mm 0
di 16,79 mm 21,39 mm 0 0 106,2 mm
θi θ1 θ1 θ3 θ4 θ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} 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 T 1 0 0
θ 1 sen θ
cosθ 0 T sen θ θ 0
θ sen θ
0
7 , 400
0
1
21 ,39
cosθ
0
0
0
0
1
cosθ 3 sen θ θ 3 2 T 3 0 0
θ 3 sen θ
2
cos
2
cosθ 0 T sen θ θ 0 4
4
1 0 4 T 5 0 0
0 1
0
0
2
2
0 16 , 79 1 0
0
121 121 , 0
0
0
0
1
0
0
0
1
cos
θ 3
sen θ θ
0
5 , 006
0
1
0
cosθ 4
0
0
0
0
1
4
3 4
θ 1
0
1 2
0
0
0
1
0
0
1
0
0
0 106 106 , 2 1
(3.8)
(3.9)
(3.10)
(3.11)
0
(3.12)
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 transformada 05T . Assim, obtemos como como resposta a matriz:
64
r 11 r 21 0 T 5 r 31 0
r 12
p z 1
r 22
r 13 p x r 23 p y
r 32
r 33
0
0
(3.13)
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
θ i ) e sen( θ ( θ θ i ) foram
cos
contraídas e serão descritas somente como c i e S . Desta maneira, por exemplo, em i
vez de se escrever sen ( ) , escreve-se s 3 . 3
Assim, os termos da equação 3.13 serão: serão: r 11=c 4 (c 1 c 2 c 3 c 1 s 2 s 3 ) s 1 s 4 r 21=c 1 s 4+c 4(c 2 c 3 s 1 s 1 s 2 s 3 ) r 31= c 4 (c 2 s 3+c 3 s 2 ) r 12= c 4 s 1 s 4 (c 1 c 2 c 3 c 1 s 2 s 3 ) r 22=c 1 c 4 s 4 (c 2 c 3 s 1 s 1 s 2 s 3 ) r 32=s 4 (c 2 s 3 + c 3 s 2 ) r 13=c 1 c 2 s 3 c 1 c 3 s 2 r 23=c 2 s 1 s 3 c 3 s 1 s 2
(3.14)
r 33=c 2 c 3 s 2 s 3 X 5= 7 , 4 c 1 21 ,39 s 1 121 121 c 1 c 2 5 , 006 006 c 1 c 2 c 3 106 106 , 2 c 1 c 2 s 3
106 106 , 2 c 1 c 3 s 2 5 , 006 006 c 1 s 2 s 3 Y 5= 21 ,39 c 1 7 , 4 s 1 121 121 c 2 s 1 5 , 006 006 c 2 c 3 s 1 106 106 , 2 c 2 s 1 s 3
106 106 , 2 c 3 s 1 s 2 5 , 006 006 s 1 s 2 s 3 Z 5=
106 106 , 2 c 2 c 3
121 121 s 2 5 , 006 006 c 2 s 3 5 , 006 006 c 3 s 2 106 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 r 11 frame {5}, que se encontra fixo na 11 até r 33 33) do frame {5}, base da garra, com relação rel ação ao frame de 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 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® M ATLAB® 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 software interativo de alta performance voltado para o cálculo numérico. Criado pelo engenheiro eletricista australiano Peter Corke, o Robotics Toolbox 16 é um software 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, rvctools, a qual irá conter as pastas robot , simulink e common. common. Em seguida, deverá ser iniciado o Matlab® e aberto o arquivo startup_rvc.m. 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 existem duas pastas (demos ( demos e exemples), 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: . 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 realizada a declaração declaração dos elos de ligação (links (links 1, 2, 3 e 4), com seus respectivos parâmetros d i , ai e αi . O link 5 é um link arbitrário que possui seu frame de frame de referência alocada no centro da base da garra, conforme o frame {5} frame {5} citada no item 3.5. A alocação deste último sistema de referências permite melhor posicionar o end effector (efetuador (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 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 r evoluçã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). 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 comumente utilizada utili zada para a inserção de comandos no Matlab®. Estes resultados r esultados são apresentados no Capítulo 5.
68
CA PÍTULO 4 – IMPLE IMPLE MENTAÇÃ O E M B ANCA DA E XPER IMENTAL IMENTAL 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 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 mm de espessura nas cores preta preta e branca;
Controlador: peças em MDF de 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 protoboard 17 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 cl areza 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 apr ofundada acerca destes elementos. 4.3.1 A PLACA ARDUINO™ ARDUINO™ Segundo o site oficial do produto 18, Arduino™ é uma plataforma eletrônica de código aberto baseada em hardware e software 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 software interage diretamente com o hardware, 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 hardware e software. software. A parte de hardware deste hardware deste é um computador como qualquer outro: possui microprocessador, memória RAM , memória flash (para flash (para guardar o software), software), unidade temporizadora, contadores, regulador de tensão, entrada USB em USB em algumas versões, pinos de saída de comando, comando, dentre outras outr as funcionalidades. Atualmente existem diversos modelos de placas Arduino™, apresentando,
portanto, diferentes formatos, dimensões, quantidades de entradas e saídas, configurações de hardware, hardware, etc., de tal forma que o objetivo da aplicação requerida é o que irá definir a escolha do produto. A figura fi gura 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: . 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 hardware deste produto podem ser descritos de acordo com a numeração que aparece na figura 4.2.
19 Disponí Di sponível vel 20
em: . />. Acesso em: 10 set. 2015. Disponível em: . dUno>. 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 utili za um microcontrolador Atmel® AVR® ATmega328P-PU;
2. Conector US B : Conecta o placa ao computador; é por onde ambos se comunicam com o auxílio de um cabo USB, 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 mei o externo. O Arduino™ Uno possui 14 portas digitais (I/O 21) 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-US B 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 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 vol ts e no máximo 20 volts vol ts 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, USB, ele dará preferência à fonte externa automaticamente;
9. L E D de alimentação: Indica se a placa está energizada; 10. L E D interno: LED conectado LED conectado (internamente) ao pino digital 13.
21 Input/Output:
Entrada/Saída.
72
A figura 4.3 enumera enumera as especificações técnicas da placa Uno usada na implementação do projeto em bancada:
Especificações técnicas da placa Arduino™ Uno Figura 4.3 – Especificações
Micro controlador controlado r
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 de I/O digitais
6
Pinos de entrada analógica Valor da corrente (corrente contínua – CC) por pino de I/O Valor da corrente (CC) para o pino de 3,3 V
6 20 mA
SRAM
50 mA 32 KB (ATmega328P), dos quais 0,5 KB são usadas para o bootloader 2 KB (ATmega328P) (ATmega328P)
EEPROM
1 KB (ATmega328P) (ATmega328P)
Velocidade de clock
16 MHz
Comprimento
68,6 mm
Largura
53,4 mm
Peso
25 g
Memória
Fonte: Dados coletados pelo Autor com base no site oficial Arduino ™22. Como qualquer computador, o Arduino™ necessita de um software 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 IDE 23, que é um software livre 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 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: . dUno>. Acesso em: 12 set. 2015. Integrated Development Environment , que em português significa Ambiente de Desenvolvimento Integrado. 23
73
seguida promove-se o envio da versão compilada à memória flash flash do dispositivo através de uma porta USB na USB na maioria dos casos. A principal diferença entre um Arduino™ e um computador convencional 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 eletr ônico de controle) e um sensor (potenciômetro), bem como um u m 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 ei xo 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 Bajerski e Abella (2010, p. 12): O sistema interno de realimentação realimentação faz com que o servo gire em uma determinada posição em resposta a um determinado 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 i mpulsos 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 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) Modulation) e consiste em manipularmos a razão cíclica de um sinal (conhecida do inglês como duty cycle) cycle) a fim de transportar informação ou controlar a potência de algum outro circuito ( BAJERSKI; 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 i mpulsos entre 1,5 ms e 2 ms farão 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 Blog 24 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 4. 6 que foram utilizados neste trabalho: tr abalho:
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
9g
Voltagem de operação
38 g 5,5 kg.cm (4,8 V) 6,5 kg.cm (6 V) 0,2 s/60 graus (4,8 V) 0,16 s/60 graus (6 V) 4,8 V – 6 V
Temperatura de operação
0 ºC – 55 ºC
0 ºC – 55 ºC
Tipo de engrenagem
Nylon
Nylon
Torque de bloqueio Velocidade de operação
1,8 kg.cm (4,8 V) 0,1 s/60 graus (4,8 V) 4,8 V
Fonte: Dados coletados pelo Autor com base na página na internet da Datasheet4U 26.
24 Disponível
25 Disponível
em: . Acesso em: 12 set. 2015 em: . Acesso em: 13
set. 2015 26 Disponível em: . 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 di spositivo eletrônico 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, smartphones, tablets 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, Systems , isto é, sistemas micro-elétrico-mecânicos. São, portanto, três eixos para o acelerômetro e – Degrees Of três eixos para o giroscópio, somando seis graus de liberdade (6 DOF –
Freedom). 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ógicodigital 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 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 sobremaneira a carga de trabalho tr abalho
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 flash no momento da fabricação do componente.
79
sobre o microcontrolador (do Arduino™, por exempl exempl o). 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, Philips, sendo é usado para conectar periféricos de baixa velocidade a uma placa mãe, smartphone, smartphone, tablet ou 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: . Acesso em: 14 set. 2015. em: . Acesso em: 14 set. 2015. 29 Disponível
80
dedos de movimento paralelo conforme demonstrado na figura 3.2, sendo que tais juntas de serão acionadas por meio de servomotores: 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® 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íli co: projetado previamente com auxílio do software AutoCAD® 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 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 (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 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 fechamento da garra do braço é realizada através de um potenciômetro linear rotativo de 1 0 KΩ. Assim, o braço atuador at uador será comandado pelo movimento aplicado ao braço controlador, isto é, replicará r eplicará seus movimentos. movimentos. Daí a expressão mímico. A figura 4.10 apresenta os dois mecanismos mecanismos elaborados: 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 esquema de ligações ligações utilizado para para implementar 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 t rabalho 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
CA PÍTULO 5 – R ES ULTADO LTADOSS E DISCUSSÕES DISCUSSÕES 5.1 DESCRIÇÃO DAS CONDIÇÕES DE TESTE T ESTE 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 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 rigidamente preso pr eso à base fixa do braço. br aç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 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 ( frame de 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 ,406mm 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 ,39mm Z 106 ,2 ( 1 ) ( 1 ) 121 ( 0 ) 5 ,006 ( 1 ) ( 0 ) 5 ,006 ( 1 ) ( 0 ) 106 ,2 ( 0 ) ( 0 )
16 ,79 Z 122 ,99mm
A figura 5.1 mostra os comandos necessários 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) 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 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 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 c inemática direta no Matlab® para ângulos θ 1 = θ2 = θ3 = θ4 = 0
A figura fi gura 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
Simulação gráfica do braço robótico para valores de θ 1 = θ2 = θ3 = θ4 = 0 Figura 5.3 – Simulação (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 ) ,2 ( 0 ) ( 0 ) ( 1 ) 5 ,006 ( 0 ) ( 1 ) ( 1 )
106
X 21 ,39mm Y=
21 ,39 ( 0 ) 7 ,4 ( 1 ) 121 ( 0 ) ( 1 ) 5 ,006 ( 0 ) ( 0 ) ( 1 ) 106 ,2 ( 0 ) ( 1 ) ( 1 )
,2 ( 0 ) ( 1 ) ( 1 ) 5 ,006 ( 1 ) ( 1 ) ( 1 ) 7 ,4 5 ,006
106
Y 12 ,406mm Z 106 ,2 ( 0 ) ( 0 ) 121 ( 1 ) 5 ,006 ( 0 ) ( 1 ) 5 ,006 ( 0 ) ( 1 ) ,2 ( 1 ) ( 1 ) 16 ,79 121 106 ,2 16 ,79
106
Z 243 ,99mm
(5.2)
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 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 e quação 5.3: 1
1
2
2
X 7 , 4 ( 1 ) 21 ,39 ( 0 ) 121 121 ( 1 ) ( ) 5 ,006 006 ( 1 ) ( ) (
106 106 , 2 ( 1 ) (
2 2
3
) (
2
3
006 ( 1 ) ( ) 5 , 006
2
2
) (
2
2 2
1
2
) 106 106 , 2 ( 1 ) ( ) ( 2
2
)
)
X 35.97697 mm
121 ( 0 ,5 ) ( 0 ) 5 ,006 006 ( 0 ,5 ) ( Y 21 ,39 ( 1 ) 7 , 4 ( 0 ) 121
106 106 , 2 (
2 2
) ( 0 ) (
3 2
) 5 ,006 006 ( 0 ) (
3 2
) (
2 2
2 2
106 , 2 ( 0 ,5 ) ( 0 ) ( ) ( 0 ) 106
)
2 2
)
(5.3)
Y 21 ,39mm
Z
106 106 , 2 (
106 106 , 2 (
1
) (
2
3 2
2 2
) (
) 121 121 ( 2 2
3 2
1
) 5 , 006 006 ( ) ( 2
2 2
) 5 , 006 006 (
2 2
) (
3 2
)
) 16 ,79
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®, MathWorks®, o Simulink® 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 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 Model 30, 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 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, Rígida, Base Giratória, Giratória, Braço, Braço, Antebraço e Antebraço e Garra1, Garra1, respectivamente.
. el.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 bloco Antebraço
Figura 5.15 – Modelo Simulink® do bloco Garra1
Assim, quando quando o modelo modelo criado no no Simulink® Simulink® (figura 5.10) é simulado, simulado, na tela principal Matlab® é aberta a janela Mechanics Explorers, 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 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 principal no IDE do Arduino™, este é então compilado e em seguida carregado carr egado 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 (delay ( delay 31) 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
CA PÍTULO 6 – CONSIDER CONSIDER AÇÕES FINAI FI NAISS E TRA B ALHOS ALHOS FUT FUTUR O S 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, modelado, e um braço articulado controlador. Através do desenvolvimento 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. ref erê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, objeto, isto é, movimentos movimentos rotacionais. rotacionais. Para isto o software AutoCAD® 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 T RABALHOS 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 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 software do tipo CAD que CAD que permite a criação e o gerenciamento de projetos 3D. A vantagem deste procedimento seria que este software permite 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 bluetooth e placas de comunicação wireless projetados 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 br aç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, 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 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 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. Antibomb 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ênc ( Conferência ia 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 #include > Servo servo1; Servo servo2; Servo servo3; Servo myservo_A; // Cria objeto objeto servo 1 para controlar um 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ômetr potenciômetro o int val; // variável variáv el 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 I niciando dispositivos dispositivos Serial.println("Inicializan Serial.println("Inicializando do cominicação 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( accelgyro.getMotion6(&ax, &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 ######################### gyroXangle += gyroXrate*((double)(micros()-timer)/150000); gyroYangle += gyroYrate*((double)(micros()-timer)/300000); gyroZangle += gyroZrate*((double)(micros()-timer)/400000);
giro
sem
qualquer
filtro
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 escalá-l o para usá-lo com o servo servo (valor entre 0 e 180) myservo_A.write(val myservo_A. write(val-10); -10); // define a posição de servo de acordo com o valor myservo_B.write(val myservo_B. write(val-10); -10); // define a posição de servo 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 Separada para para os valores accel/gyro x/y/z values Serial.print("a/g:\t"); Serial.print(ax); Serial.print(ax); Serial.print("\t"); Serial.print("\t"); Serial.print(ay); Serial.print(ay); Serial.print("\t"); Serial.print("\t"); Serial.print(az); Serial.print(az); Serial.print("\t"); Serial.print("\t"); Serial.print(gx); Serial.print(gx); Serial.print("\t"); Serial.print("\t"); Serial.print(gy); Serial.print(gy); Serial.print("\t"); Serial.print("\t"); Serial.println(gz);
//Angulo Giroscopio x/y/z Serial.print(gyroXangle); Serial.print("\t"); Serial.print(gyroYang Serial.print(gyroYangle); le); Serial.print("\t"); Serial.print("\t"); Serial.print(gyroZang Serial.print(gyroZangle); le); Serial.print("\t"); Serial.print("\t"); Serial.print("\n"); }
114
APÊNDICE D – ORÇAMENTO DO MATERIAL UTILIZADO NO PROJETO
Objeto/componente Objeto/componente
Quantidade Preço unitário
Arduino™ Uno (rev. (rev. 3)
Compra 01 (Via internet)
Servomotor TowerPro ™ SG90 Kit jumpes Kit jumpes macho-fêmea macho-fêmea 40 unidades Kit jumpers Kit jumpers macho machomacho 65 unidades Protoboard de de 400 furos Frete
1
R$ 59,90
R$ 59,90
2
R$ 15,90
R$ 39,90
---
R$ 19,90
R$ 19,90
---
R$ 19,90
R$ 19,90
1
R$ 16,90
R$ 16,90 R$ 28,90 R$ 185,40
---
R$ 10,55
R$ 10,55
R$ 10,55
R$ 10,55
Total compra 01
Compra 02 (Via nternet)
Potenciômetro linear rotativo de 10k Ω – Embalagem com 12 unid. Cabo de alimentação bateria 9 volts p/ Arduino™ Kit 6 unid. Frete
R$ 12,00 R$ 33,10
Total compra 02 Compra 03 (Comércio local) Total compra 03
Recortes em acrílico Recortes em MDF
Componentes orçados Sensor MPU-6050™ (Não adquiridos pois o Servomotor TowerPro ™ autor já os possuía). po ssuía). SG-5010 *
Preço total
-----
R$ 38,40 R$ 78,50
R$ 38,40 R$ 78,50 R$ 116,90
1
R$ 29,90
R$ 29,90
4
R$ 39,90
R$ 159,60
Valor total do projeto
R$ 524,90
Valor gasto
R$ 335,40