Upload
phunglien
View
216
Download
2
Embed Size (px)
Citation preview
VITOR HUGO DE ASSIS BASTOS
DESENVOLVIMENTO E CONSTRUÇÃO DE UM MANIPULADOR
ROBÓTICO SEQUENCIAL DIDÁTICO
Monografia apresentada ao Instituto Federal
de Educação, Ciência e Tecnologia
Fluminense como requisito parcial para
conclusão do curso de Bacharelado em
Engenharia de Controle e Automação
Industrial.
Orientador: Edson Simões dos Santos
CAMPOS DOS GOYTACAZES - RJ
2013
B327d Bastos, Vitor Hugo de Assis.
Desenvolvimento e construção de um manipulador robótico
sequencial didático / Vitor Hugo de Assis Bastos – Campos dos
Goytacazes, RJ : [s.n.], 2013.
63f. il.
Orientador: Edson Simões dos Santos.
Monografia (Engenharia de Controle e Automação industrial).
Instituto Federal de Educação, Ciência e Tecnologia Fluminense.
Campus Campos Centro, 2013.
Referencias bibliográficas: p. 53 - 54.
Dados Internacionais de Catalogação na Publicação (CIP)
Biblioteca. Setor de Processos Técnicos (IFF)
VITOR HUGO DE ASSIS BASTOS
DESENVOLVIMENTO E CONSTRUÇÃO DE UM MANIPULADOR
ROBÓTICO SEQUENCIAL DIDÁTICO
Monografia apresentada ao Instituto Federal
de Educação, Ciência e Tecnologia
Fluminense como requisito parcial para
conclusão do curso de Bacharelado em
Engenharia de Controle e Automação
Industrial.
Orientador: Edson Simões dos Santos
Aprovada em 26 de Abril de 2013.
Banca Avaliadora:
_____________________________________________________________
Prof° Edson Simões dos Santos (orientador)
Engenheiro de Controle e Automação, IFF.
Instituto Federal de Educação, Ciência e Tecnologia Fluminense.
________________________________________________________________
Prof° Rodrigo Martins Fernandes
D.S.c. Engenharia Elétrica, COPPE/UFRJ.
Instituto Federal de Educação, Ciência e Tecnologia Fluminense.
________________________________________________________________
Prof° William da Silva Viana
D.S.c. Engenharia e Ciências dos Materiais, UENF.
Instituto Federal de Educação, Ciência e Tecnologia Fluminense.
AGRADECIMENTOS
À Deus, que foi sábio em todos os momentos e me ensinou que tudo tem seu tempo e
importância.
À minha mãe Maria Godoi, meu pai Agnaldo, meu irmão Alex e a minha avó Maria
José que me mostraram que a família é o pilar de maior importância das nossas vidas e é deles
que vem o amor mais puro.
Aos meus amigos Caio, Gabriel, Ítalo, Marcelo, Thiago e Vinicius que sempre
estiveram ao meu lado em momentos legen... wait for it... dary!
Ao Instituto Federal Fluminense, que foi minha segunda casa por nove anos e foi
também responsável por minha grande evolução pessoal e profissional.
Aos meus professores pelo conhecimento compartilhado e amor à profissão.
Ao meu orientador e amigo Edson, por ser um exemplo de profissional, sempre
dedicado e atencioso para com todos. Sem ele este trabalho não seria o mesmo.
Agradeço por fim a cada um que de alguma forma passou pela minha vida e que
contribuiu para a construção de quem eu sou hoje.
DEDICATÓRIA
Dedico este trabalho à Maria Godoi, Agnaldo,
Alex e Maria José. Sem eles nada teria sentido.
Por: Vitor Hugo de Assis Bastos
RESUMO
O projeto desenvolvido e apresentado neste trabalho visa melhorar a integração da
metodologia teórica com a prática profissional da disciplina de manipuladores robóticos. O
trabalho consiste no desenvolvimento e construção de um manipulador robótico que objetiva
o auxílio da robótica educacional. O manipulador tem comunicação com softwares como
MATLAB e Intouch, que são responsáveis pelo seu sequenciamento e supervisão,
respectivamente. Suas características construtivas possuem atuadores do tipo servo motores e
elos constituídos de acrílico. O manipulador utiliza uma plataforma controladora como placa
de aquisição de dados, o Arduino. É apresentado como sugestão um código de
sequenciamento do manipulador e este é desenvolvido utilizando blocos no Simulink, sendo
totalmente possível alterá-lo, proporcionando flexibilidade, característica demandada para o
ensino de robótica. O projeto apresenta um sistema supervisório simples para a visualização
da posição e alteração remota da mesma segundo alguns parâmetros pré-definidos, de acordo
com a necessidade do usuário. Também se aplicou cinemática direta no manipulador
utilizando o método de Denavit-Hartenberg, que é uma ferramenta proposta para a descrição
cinemática de sistemas mecânicos articulados com N graus de liberdade. As matrizes obtidas
foram utilizadas no sistema de visualização de posição do manipulador. O sistema completo
funciona com o manipulador executando movimentos pré-definidos de forma sequencial,
sendo ainda possível selecionar uma de suas posições intermediárias com um sinal através do
sistema supervisório, onde se visualiza também a posição exata do órgão terminal.
Palavras-chave: Microcontroladores. Simulink. Sequenciamento.
ABSTRACT
The project developed and presented in this paper aims to improve the integration between
theoretical methodology and practice in the discipline of robotic manipulators. The paper
consists in the development and construction of a robotic manipulator that aims to aid the
educational didactics in robotics. The manipulator have communication with softwares like
MATLAB and Intouch,which are responsible for their sequencing and supervision,
respectively. Their construction have actuators, type servo motors and links made of acrylic.
The manipulator uses a platform controller as a board data acquisition, Arduino. It is
presented as a code suggestion sequencing manipulator and this is developed using the
Simulink blocks, which can totally changed, providing flexibility that is a demand feature for
teaching robotics. The project presents a supervisory system for simple viewing position and
the remote change, using to some pre-defined parameters, according to the user's needs. Also
was applied the kinematic manipulator using the Denavit-Hartenberg method, which is a tool
for describing motion kinematics of articulated mechanical systems with N degrees of
freedom. The matrices obtained were used in the system position display of manipulator. The
complete system works with the handler running pre-defined movements sequentially, and it
is possible to select one of its intermediate positions with a signal through the supervisory
system, which also displays the exact position of the tool.
Keywords: Microcontrollers. Simulink. Sequencing.
LISTA DE FIGURAS
Figura 1: Tipos de juntas empregadas em robôs.......................................................................16
Figura 2: Braço mecânico de 3 DOF: Duas juntas de revolução e uma prismática..................17
Figura 3: Representação dos 3 tipos de movimentos realizados pelo punho............................18
Figura 4: Tipos de Robôs..........................................................................................................21
Figura 5: Exemplos de órgãos terminais...................................................................................22
Figura 6: Visão interna de um motor de passo..........................................................................24
Figura 7: O servo motor e seus componentes internos.............................................................25
Figura 8: PWM e posicionamento do Servo Motor..................................................................26
Figura 9: Parâmetros em um sistema articulado.......................................................................28
Figura 10: Transformações com Cinemática Direta e Inversa..................................................30
Figura 11: Servo Motor FUTABA S3003.................................................................................33
Figura 12: Servo Motor HEXTRONIK HXT900.....................................................................33
Figura 13: Tela de programação do Arduino ............................................................................34
Figura 14: Desenho das peças no AutoCad..............................................................................36
Figura 15: Base do manipulador...............................................................................................37
Figura 16: Braço do manipulador.............................................................................................37
Figura 17: Antebraço do manipulador......................................................................................38
Figura 18: A garra do manipulador...........................................................................................38
Figura 19: O manipulador Finalizado.......................................................................................39
Figura 20: Instalação do Arduino com os motores...................................................................40
Figura 21: Sistema de sequenciamento desenvolvido no Simulink..........................................42
Figura 22: Rotação genérica de um ponto no plano..................................................................42
Figura 23.1: Cinemática (braço-antebraço) utilizando Simulink. ............................................45
Figura 23.2: Cinemática (antebraço-pulso) utilizando Simulink..............................................45
Figura 23.3: Cinemática (pulso-base) utilizando Simulink......................................................46
Figura 24.1: Sistema de Sequenciamento e Cinemática aplicada.............................................47
Figura 24.2: Sistema de Sequenciamento e Cinemática aplicada. ...........................................48
Figura 24.3: Sistema de Sequenciamento e Cinemática aplicada.............................................48
Figura 25: Gráfico de respostas das funções utilizadas............................................................52
Figura 26: Sistema Supervisório do Manipulador....................................................................52
SUMÁRIO
RESUMO ............................................................................................................................................ 6
ABSTRACT ........................................................................................................................................ 7
LISTA DE FIGURAS ......................................................................................................................... 8
INTRODUÇÃO ................................................................................................................................ 11
OBJETIVO ........................................................................................................................................ 12
JUSTIFICATIVA .............................................................................................................................. 13
CAPÍTULO 1- CONCEITUAÇÃO TEÓRICA ................................................................................ 14
1.1. Manipuladores Robóticos ...................................................................................................... 14
1.2. Juntas ..................................................................................................................................... 14
1.2.1. A junta prismática ou linear(L) ......................................................................................... 14
1.2.2. A junta rotacional .............................................................................................................. 15
1.2.3. A junta esférica .................................................................................................................. 15
1.2.4. A junta cilíndrica ............................................................................................................... 15
1.2.5. A junta planar .................................................................................................................... 15
1.2.6. A junta parafuso ................................................................................................................ 15
1.3. Graus de Liberdade ............................................................................................................... 16
1.3.1. Movimentos do Manipulador ............................................................................................ 17
1.3.1.1. Movimentos do braço .................................................................................................... 17
1.3.1.2. Movimentos do punho ................................................................................................... 18
1.4. Classificação de robôs ........................................................................................................... 18
1.4.1. Robôs Cartesianos ............................................................................................................. 19
1.4.2. Robô Cilíndrico ................................................................................................................. 20
1.4.3. Robô esférico ou polar ...................................................................................................... 20
1.4.4. Robô SCARA ( Selective Compliance Assembly Robot Arm) ........................................ 20
1.4.5. Robô Articulado ou Antropomórfico ................................................................................ 20
1.4.6. Robô Paralelo .................................................................................................................... 20
1.5. Órgão Terminal ..................................................................................................................... 21
1.6. Sistemas de Acionamento e Sensores ................................................................................... 22
1.6.1. Acionadores Hidráulicos ................................................................................................... 23
1.6.2. Acionamento Pneumático ................................................................................................. 23
1.6.3. Acionamento Elétrico ........................................................................................................ 23
1.6.4. Motores de Passo ............................................................................................................... 24
1.6.5. Servo Motor....................................................................................................................... 24
1.6.5.1. Princípio de Funcionamento .......................................................................................... 24
1.7. Sistema de Controle .............................................................................................................. 26
1.7.1. Interface de Controle ......................................................................................................... 26
1.7.2. Sofware de Interação ......................................................................................................... 26
1.8. Cinemática e Dinâmica de Manipuladores ............................................................................ 27
1.8.1. Cinemática Direta .............................................................................................................. 27
1.8.2. Cinemática Inversa ............................................................................................................ 30
1.9. CADD ................................................................................................................................... 31
1.9.1. Usinagem Automatizada ................................................................................................... 31
1.10. Sistema Supervisório ......................................................................................................... 31
CAPÍTULO 2- MATERIAIS E FERRAMENTAS .......................................................................... 32
2.1. AutoCad ..................................................................................................................................... 32
2.2. Comando Numérico Computadorizado ...................................................................................... 32
2.3. Motores ...................................................................................................................................... 32
2.4. Arduino ...................................................................................................................................... 33
2.5. Software de Controle .................................................................................................................. 34
2.6. Computador e Fonte ................................................................................................................... 35
2.7. Supervisório ............................................................................................................................... 35
2.8. Custo estimado dos materiais ..................................................................................................... 35
CAPÍTULO 3- DESENVOLVIMENTO .......................................................................................... 36
3.1. Arquitetura e material................................................................................................................. 36
3.2. Base ............................................................................................................................................ 37
3.3. Braço .......................................................................................................................................... 37
3.4. Antebraço ................................................................................................................................... 38
3.5. A garra ........................................................................................................................................ 38
3.6. O Manipulador Completo........................................................................................................... 39
3.7. Comunicação com o Arduino ..................................................................................................... 39
3.8. Algoritmo de Sequenciamento ................................................................................................... 40
3.9. Sistema de Sequenciamento e Interface Homem Máquina (IHM) ............................................. 41
3.10. Cálculo da Cinemática Direta .................................................................................................. 42
CAPÍTULO 4- RESULTADOS ........................................................................................................ 47
CAPÍTULO 5- CONCLUSÃO ......................................................................................................... 51
CAPÍTULO 6- SUGESTÕES ........................................................................................................... 52
7- REFERÊNCIAS ............................................................................................................................ 53
Anexo I .............................................................................................................................................. 55
Anexo II ............................................................................................................................................ 59
INTRODUÇÃO
A crescente necessidade de utilização da robótica e de manipuladores robóticos na
automação de processos industriais tem sido há anos objeto de estudos e pesquisas em
diversas instituições de ensino e pesquisa, uma vez que, além da contribuição óbvia à
sociedade, também acarreta desenvolvimento de áreas estratégicas de conhecimento, como a
Engenharia e a Informática (PAZOS, 2000).
Segundo o departamento de estatística da Federação Internacional de Robótica (IFR)
havia em 2011 no mundo cerca de um milhão de robôs em operação. Dois terços deles estão
instalados no Japão, na América do Norte e na Alemanha, que são os mercados mais
importantes.
Existe um crescimento considerável na utilização de robôs de serviço, principalmente
na área de defesa e de campo, além de aplicações na área médica, resgate e exploração
submarina. Contudo o setor que predomina é o industrial, com destaque para a indústria
automotiva e elétrico-eletrônica (IFR, 2011).
A principal vantagem da utilização de robô é a exclusão do homem de atividade
perigosa ou repetitiva, além de aceleração do processo produtiva. Essas vantagens fazem com
que os setores produtivos tenham cada vez mais interesse no desenvolvimento de tecnologia
nesta área, gerando assim alta demanda de pesquisa e inovação.
Com este mercado aquecido e promissor, se faz necessário o desenvolvimento de
estratégias para o ensino de robótica desde a educação básica até os cursos superiores.
Este trabalho propõe a aplicação de diversas áreas de aprendizagem em um único
manipulador robótico, visando integrar diversos conhecimentos e facilitar o entendimento da
área de robótica.
12
OBJETIVO
Este trabalho objetiva o projeto e a construção de um manipulador robótico didático de
baixo custo para ser usado como suporte na disciplina de robótica e em projetos educacionais
de automação. O manipulador é baseado em princípios que visam integrar conceitos teóricos
aprendidos durante a vida acadêmica dos alunos com os projetos práticos, melhorando assim a
qualidade dos futuros profissionais que atuarão na área e também dos pesquisadores que
buscarem o meio científico.
13
JUSTIFICATIVA
Existe uma crescente demanda na área de robótica e para tanto é necessário preparar
cada vez melhor os profissionais que atuarão no setor. Para tanto se faz necessário o
desenvolvimento de tecnologias de ensino eficazes que integrem e facilitem o conhecimento
destes futuros profissionais. Visando isto o projeto didático foi desenvolvido para exercer a
multidisciplinaridade na área de Controle e Automação, com o objetivo de agregar
conhecimentos de áreas como programação, microcontroladores, eletrônica, sequenciamento,
sistemas supervisórios e robótica.
14
CAPÍTULO 1- CONCEITUAÇÃO TEÓRICA
1.1. Manipuladores Robóticos
A Robotics Institute of America (RIA - Instituto de Robótica da América) define robô
como um “manipulador reprogramável e multifuncional, projetado para mover materiais,
peças, ferramentas ou dispositivos específicos em movimentos variáveis, programados para a
realização de uma variedade de tarefas” (RIVIN, 1988).
Uma definição mais completa é apresentada pela norma ISO (International
Organization for Standardization) 10218, como sendo: “uma máquina manipuladora, com
vários graus de liberdade, controlada automaticamente, reprogramável, multifuncional, que
pode ter base fixa ou móvel para utilização em aplicações de automação industrial”.
Um robô industrial é formado pela integração de vários componentes, sendo estes
projetados com o intuito de realizar um trabalho produtivo. O trabalho é realizado quando o
robô movimenta sua estrutura a fim de deslocar o objeto a ser manipulado (GROOVER,
1989).
Para a realização do movimento proposto pelo manipulador, são utilizados atuadores,
que são artefatos mecânicos que agem sobre a estrutura do manipulador para proporcionar a
interação com o meio. Qualquer estrutura não móvel do manipulador pode ser chamada de elo
e a junção de um atuador com um elo é chamado junta. (GROOVER, 1989).
1.2. Juntas
As juntas são elementos que possibilitam a ligação de dois elos e a liberdade de
movimentação do manipulador robótico. E estas podem ser classificadas como: rotativas,
prismática, cilíndrica, esférica, parafuso e planar (FU, 1987). De acordo com a disposição
destas juntas é possível classificar o manipulador.
1.2.1. A junta prismática ou linear(L)
Move em linha reta. São compostas de duas hastes que deslizam entre si.
15
1.2.2. A junta rotacional
Gira em torno de uma linha imaginária estacionária chamada de eixo de rotação. Ela
gira como uma cadeira giratória e abrem e fecham como uma dobradiça. Estas juntas ainda
podem ser classificadas de acordo com as direções dos elos de entrada e saída em relação ao
eixo de rotação. Tendo assim as juntas torcional(T), rotacional(R) ou revolvente(V).
1.2.3. A junta esférica
Funciona com a combinação de três juntas de rotação, realizando a rotação em torno
de três eixos.
1.2.4. A junta cilíndrica
É composta por duas juntas, uma rotacional e uma prismática.
1.2.5. A junta planar
É composta por duas juntas prismáticas, realiza movimentos em duas direções.
1.2.6. A junta parafuso
É constituída de um parafuso que contém uma porca ao qual executa um movimento
semelhante ao da junta prismática, porém, com movimento no eixo central (movimento do
parafuso).
16
Figura 1: Tipos de juntas empregadas em robôs (Fonte: Carrara, 1999).
A FIGURA 1 descreve as principais juntas utilizadas em robôs. Os robôs industriais
utilizam em geral apenas juntas rotativas e prismáticas.
1.3. Graus de Liberdade
O número total de juntas (articulações) do manipulador é conhecido com o nome de
graus de liberdade (ou DOF, segundo as iniciais em inglês). Um manipulador típico tem 6
graus de liberdade, sendo três para posicionamento do efetuador dentro do volume de
trabalho, e três para obter uma orientação do efetuador adequada para segurar o objeto. Com
menos de 6 graus de liberdade o manipulador pode não atingir uma posição arbitrária com
uma orientação arbitrária dentro do volume de trabalho. Para certas aplicações, por exemplo,
manipular objetos num espaço que não se encontra livre de obstáculos, pode ser necessário
mais de 6 graus de liberdade. A dificuldade de controlar o movimento aumenta com o número
de elos do braço (PAZOS, 2002).
A FIGURA 2 apresenta como exemplo uma representação dos 3 graus de liberdade de
um braço mecânico referentes às três primeiras juntas, necessárias para o posicionamento do
efetuador. Neste exemplo particular, observa-se que as duas primeiras juntas são de revolução
e a terceira é prismática, permitindo ao último elo se afastar ou aproximar do segundo.
17
Figura 2: Braço mecânico de 3 DOF: Duas juntas de revolução e uma prismática
(Fonte: Pazos, 2002).
1.3.1. Movimentos do Manipulador
É possível dividir a forma de movimentação dos manipuladores robóticos do tipo
braço em dois grupos:
Movimentos do braço;
Movimentos do punho.
1.3.1.1. Movimentos do braço
É possível subdividir este grupo em 3 itens para melhor descrever como o braço se
movimenta, sendo que todos tem a finalidade de posicionamento do punho.
Vertical transversal: movimenta o punho verticalmente (para cima e para baixo);
Rotacional transversal: movimenta o punho horizontalmente (para esquerda ou para
direita);
Radial transversal: movimenta o punho afastando-o ou o aproximando da área de
trabalho.
18
1.3.1.2. Movimentos do punho
Neste grupo também é possível a subdivisão em 3 itens que melhor descrevem a forma
como o punho se movimenta.
Roll (Rolamento): rotação do punho em torno de um eixo central, geralmente
posicionado no centro do punho.
Pitch (Arfagem): rotação do punho na vertical. É posicionado um atuador ligado na
lateral do punho para a realização deste movimento.
Yaw (Guinada): rotação do punho na horizontal.
As características dos movimentos realizados pelo punho são identificadas na FIGURA 3.
Figura 3: Representação dos 3 tipos de movimentos realizados pelo punho
(Fonte: Pazos, 2002).
1.4. Classificação de robôs
Os Robôs podem ser classificados utilizando vários critérios tais como: autonomia do
sistema de controle, mobilidade da base, estrutura cinemática, forma de acionamento, graus
de liberdade, geometria do espaço de trabalho, estrutura mecânica, sua geração tecnológica ou
até mesmo quanto à participação do operador humano em seu funcionamento. Quanto à
estrutura mecânica diversas combinações de elementos podem ser realizadas para se obter
uma configuração desejada. As TABELAS 1 e 2 mostram as principais combinações (IFR,
2000, SHIAVICCO, SICILIANO, 1995).
19
Tabela 1: Classificação dos braços manipuladores (Fonte: Carrara, 1999).
Configuração do Robô – braço e corpo Símbolo
Configuração Cartesiana LLL
Configuração Cilíndrica LVL ou TLL
Configuração Articulada ou Revoluta TRR
Configuração polar TRL
Configuração SCARA VRL
Tabela 2: Classificação dos punhos manipuladores (Fonte: Carrara, 1999).
Configuração do Robô – pulso Símbolo
Configuração Pulso de 2 eixos RT
Configuração Pulso de 3 eixos TRT
1.4.1. Robôs Cartesianos
Este tipo de robô possui três juntas prismáticas (PPP), o que resulta num movimento
composto de três translações. Seu volume de trabalho é geralmente cúbico. Ele é considerado
o robô de configuração mais simples.
20
1.4.2. Robô Cilíndrico
É formado por duas juntas prismáticas e uma de rotação (PPR), compondo
movimentos de duas translações e uma rotação. Seu volume de trabalho é geralmente
cilíndrico.
1.4.3. Robô esférico ou polar
Esta configuração é formada por uma junta prismática e duas de rotação (PRR), o que
compõe movimentos de uma translação e duas de rotação. Este robô foi projetado para
suportar grandes cargas e ter grande alcance. Seu volume de trabalho é geralmente esférico.
1.4.4. Robô SCARA ( Selective Compliance Assembly Robot Arm)
Esta configuração possui duas juntas de rotação e uma junta prismática (PRR). Este
braço tem grande precisão, mas alcance limitado. É bastante utilizado em montagem de
componentes de pequenas dimensões. Seu volume de trabalho é aproximadamente cilíndrico
(CARRARA, 1999).
1.4.5. Robô Articulado ou Antropomórfico
Nesta configuração existem pelo menos três juntas de rotação. Eles são mais utilizados
na indústria por terem uma configuração semelhante ao de um braço humano (braço,
antebraço e punho). Esta configuração apresenta maior mobilidade entre todas as outras
empregadas. O seu volume de trabalho é complexo, aproximando-se de uma esfera
(CARRARA, 1999).
1.4.6. Robô Paralelo
Nesta configuração os manipuladores possuem juntas que transformam movimentos
de rotação em translação, ou usam diretamente juntas prismáticas. Sua principal característica
é um volume de trabalho reduzido, porém uma alta velocidade, o que o torna propício para
certas atividades de montagem (CARRARA, 1999). A FIGURA 4 descreve os tipos de robôs
e também o seu volume de trabalho. A utilização de cada um varia de acordo com a aplicação.
21
Figura 4: Tipos de Robôs (Fonte: Pazos, 2002)
1.5. Órgão Terminal
Segundo Groover órgão terminal de um manipulador robótico é a nomenclatura usada
para descrever a mão ou ferramenta que está conectada ao pulso, como por exemplo, uma
pistola de solda, garras, pulverizadores de tintas, entre outros. O órgão terminal é o
responsável por realizar a manipulação de objeto sem diferentes tamanhos, formas e
materiais, porém esta manipulação depende da aplicação ao qual se destina.
SALISBURY e CRAIG (1982) após pesquisarem cerca de seiscentas configurações diferentes
de garras chegaram à conclusão que, em termos cinemáticos, uma garra na configuração de
mão humana é a que possui maior versatilidade para realizar a manipulação de objetos dos
mais variados tipos e inclusive formas irregulares, sendo capaz de exercer apenas a força
estritamente necessária para que estes objetos sejam seguros com estabilidade e com
segurança.
Para efeito de comparação, observa-se que uma garra com dois dedos pode manipular
com sucesso aproximadamente 40% dos objetos das mais diferentes formas. Uma garra com
três dedos poderia manipular 90% de todos os objetos, e uma na configuração com quatro
22
dedos poderia manipular em torno de 99% destes objetos (MATSUOKA, 1995). A FIGURA
5 descreve alguns esquemas de garras utilizadas da indústria.
Figura 5: Exemplos de órgãos terminais (Fonte: Carrara, 1999).
1.6. Sistemas de Acionamento e Sensores
Os sensores são dispositivos cuja finalidade é fornecer informações sobre o ambiente
e/ou o manipulador. Em um sistema de controle em malha fechada, essas informações são
enviadas para a unidade de controle para que sejam utilizadas segundo um algoritmo de
controle. Os sensores normalmente são classificados segundo o princípio físico sobre os quais
eles estão baseados (CONCEIÇÃO, 2005).
O sistema de acionamento é o elemento responsável pela movimentação das
articulações e pelo desempenho dinâmico do manipulador robótico. Eles podem ser elétricos,
hidráulicos ou pneumáticos, dependendo da característica do manipulador (GROOVER,
1988).
23
1.6.1. Acionadores Hidráulicos
Os principais componentes deste sistema são: motor, cilindro, bomba de óleo, válvula
e tanque de óleo. Ele geralmente é associado a robôs de maior porte. Este sistema propicia ao
robô maior velocidade e força; porém, ele se soma ao espaço útil do piso requerido pelo robô
e também tende a vazar óleo, o que é um inconveniente. O sistema de acionamento hidráulico
pode ser projetado para acionar juntas rotacionais ou lineares. Acionadores de pás ou aletas
rotativas podem ser utilizados para suprir movimento rotacional, e os pistões hidráulicos
podem ser utilizados para realizarem movimento linear (CARRARA, 1999).
1.6.2. Acionamento Pneumático
É geralmente reservado para robôs de menor porte que possuem menor grau de
liberdade (movimentos de duas a quatro juntas). Este tipo de acionamento é semelhante ao
hidráulico. Os robôs que utilizam este acionamento estão frequentemente limitados a
operações mais simples e com ciclos rápidos. O acionamento pneumático pode ser facilmente
adaptado ao acionamento de pistão, para suprir movimento de translação das juntas de
deslizamento. Pode também ser utilizado para operar órgãos terminais rotacionais para juntas
rotacionais (CARRARA, 1999).
1.6.3. Acionamento Elétrico
Geralmente não propiciam tanta velocidade ou potência quanto os sistemas
hidráulicos. Todavia, a precisão e repetibilidade dos robôs de acionamento elétrico são
geralmente melhores. Por conseguinte, os robôs elétricos tendem a ser menores, requerendo
menos espaço útil no piso, e suas aplicações tendem para um trabalho mais preciso como, por
exemplo, montagem. Os robôs de acionamento elétrico normalmente são acionados por
motores de passo, servomotores ou motores de corrente contínua. Estes motores são
adequados idealmente para o acionamento de juntas rotacionais através de sistemas adequados
de eixos e engrenagens de acionamento. Os motores elétricos podem também ser utilizados
para acionar juntas lineares (por exemplo, braços telescópicos) por meio de sistemas de polia
ou por outros mecanismos translacionais. São comumente aplicados em robô de pequeno e
médio porte (CARRARA, 1999).
24
1.6.4. Motores de Passo
O motor de passo é utilizado quando há a necessidade de precisão de posicionamento
e/ou movimento de determinado eixo. Eles são caracterizados como dispositivos
eletromecânicos que possuem a função de converter pulsos elétricos em movimentos
mecânicos gerando assim variações angulares discretas. Seu eixo é sempre movimentado em
pequenas rotações, denominadas passos, este movimento ocorre quando é aplicado um pulso
elétrico em seus terminais, os quais magnetizam bobinas em seu interior. A ativação desses
terminais é tipicamente feita eletronicamente. Motores de passo podem ser acionados de
diversas formas, sendo as mais comuns o passo completo e o meio passo. Também possuem
três estados básicos: parada, desligado e em funcionamento (BRITES E SANTOS, 2008). A
FIGURA 6 mostra a parte interna de um motor de passo, destacando suas bobinas.
Figura 6: Visão interna de um motor de passo.
1.6.5. Servo Motor
Um servo motor (servo) é um dispositivo eletromecânico, em que um sinal elétrico de
entrada determina a posição do eixo do motor. Servos são amplamente utilizados em robótica,
aviões e barcos. Diferentemente de motores de passo e motores comuns DC, eles não giram
indefinidamente, seu eixo normalmente possui uma liberdade de cerca de 180 graus, essa
característica é que facilita a precisão do posicionamento (SANTOS, 2007).
1.6.5.1. Princípio de Funcionamento
O servo motor possui um sistema eletrônico de controle e um potenciômetro que está
ligado ao eixo de saída. Este potenciômetro possibilita ao circuito de controle monitorar o
ângulo do eixo do servo motor, o que gera grande precisão dependendo da resolução do
25
potenciômetro e da qualidade do circuito de controle. Quando o eixo está no ângulo correto, o
motor para. Se o circuito detecta que o ângulo está incorreto, o motor é acionado até que o
sinal do potenciômetro seja o mesmo do sinal enviado pelo circuito de controle. Ele funciona
como um sistema feedback, no qual sempre haverá sinal de realimentação enquanto houver
erro (SANTOS, 2007). Toda a parte estrutural de um servo motor pode ser vista na FIGURA
7.
Figura 7: O servo motor e seus componentes internos (Modificado: Santos, 2007).
O ângulo do servo motor é determinado pela duração da largura de pulso (PWM-
Pulse Width Modulation) enviada à entrada sinal do servo motor. Normalmente o sinal de
entrada dos servo motores varia de 0V à 5V. O circuito de controle monitora este sinal a cada
20ms e se houver uma variação neste sinal durante 1ms até 2ms ele altera a posição do seu
eixo para coincidir com o sinal que recebeu. Sendo assim, por exemplo, se o servo receber um
sinal de 1.5ms ele verifica se o potenciômetro está na posição devida, se estiver o motor fica
parado, senão o motor irá para esta posição (SANTOS, 2007). A FIGURA 8 compara o sinal
de variação PWM e a posição proporcional do eixo do pontenciômetro.
26
Figura 8: PWM e posicionamento do Servo Motor.
1.7. Sistema de Controle
O sistema de controle é responsável pelo gerenciamento e monitoração dos parâmetros
para realizar as atividades requeridas do manipulador robótico. O sistema funciona obtendo
informações obtidas dos sensores (elemento primário), processando esta informação e
enviando um sinal para o atuador (elemento final de controle), a fim de corrigir a o valor da
variável de processo (OGATA, 2003).
1.7.1. Interface de Controle
O software da interface de controle é desenvolvido normalmente em um computador
ou em um microcontrolador. A utilização de placas microcontroladoras reduz o custo do
projeto, é rápido e é dedicado ao controle do manipulador robótico (CARRARA, 2006).
1.7.2. Sofware de Interação
Este software é baseado em um sistema de matrizes que é empregado em cálculos
matemáticos e de engenharia. É uma linguagem de alto nível que possui um ambiente
27
interativo com possibilidade de obtenção de saídas gráficas. Este software executa tarefas com
grandes velocidades, maiores que as linguagens tradicionais como C, C++ e Fortran. O
MATLAB é utilizado em diversas áreas como: processamento de sinal e imagem,
comunicação, designe de controle, teste e medição, modelagem, e biologia computacional
(FERNANDES, 2010).
1.8. Cinemática e Dinâmica de Manipuladores
De maneira geral as tarefas que correspondem aos manipuladores é a de levar o
efetuador de uma posição a outra, idealmente controlando sua velocidade e a aceleração
durante tal percurso. O projetista fica responsável então por determinar qual o percurso que o
manipulador deverá percorrer para realizar a atividade. A cinemática de manipuladores se
apresenta justamente para ocupar-se das relações entre as posições, trajetórias, velocidades e
acelerações das juntas e do efetuador, isso sem considerar as forças ou torques necessários
para a movimentação das juntas (PAZOS, 2002). Portanto é possível definir a cinemática
como a área que trata dos movimentos do robô sem considerar as causas que lhe dão origem
(GROOVER, 1988).
Uma das maneiras utilizadas para modelar um manipulador robótico é como um
sistema de elos articulados, através de juntas no espaço tridimensional (ROMANO, 2002).
1.8.1. Cinemática Direta
Na cinemática direta a posição do manipulador robótico é descrita recorrendo aos
ângulos de junta, θ1, θ2, θ3, θ4, e θ5, a partir das quais a posição do manipulador fica
automaticamente definida (CRAIG, 2005). Para tanto é comum a utilização da notação de
Denavit-Hartenberg, que é uma ferramenta proposta para a descrição cinemática de sistemas
mecânicos articulados com N graus de liberdade (ROMANO, 2002).
A representação de Denavit-Hastenberg (D-H) tem como resultante uma matriz
homogênea 4 x 4, o qual representa cada sistema de coordenadas do elo na junta em relação
ao sistema de coordenadas do elo anterior. Sendo assim, a partir de transformações sucessivas
obtêm-se as coordenadas do elemento terminal do manipulador, que é expresso no sistema de
coordenadas fixo à base. Ela define quatro parâmetros (i, ai, di e i) e algumas regras para
ajudar a caracterizar cadeias cinemáticas (ROMANO, 2002). Os quatro parâmetros são
definidos abaixo e descritos na FIGURA 9:
28
1* i: é o angulo de junta obtido entre os eixos Xi-1 e Xi no eixo Zi-1 (usar a regra da mão
direita).
2* di: é a distância entre a origem do (i-1)-ésimo sistema de coordenadas até a interseção
do eixo Zi-1 com o eixo Xi ao longo do eixo Zi-1 .
3* ai: é a distância (off-set) entre a interseção do eixo Zi-1 com o eixo Xi até a origem o i-
ésimo sistema de referência ao longo do eixo Xi (ou a menor distância entre os eixos
Zi-1 e Zi).
4* i: é o ângulo offset entre os eixos Zi-1 e Zi medidos no eixo Xi (usando a regra da mão
direita).
Sendo para uma junta rotacional, di, ai, e i os parâmetros da junta, variando o seu
valor na rotação do elo i em relação ao elo i-1. Para uma junta prismática i, ai e i são os
parâmetros da junta, enquanto di é a variável de junta (deslocamento linear).
Figura 9: Parâmetros em um sistema articulado (Fonte: Romano, 2002).
Após os sistemas de coordenadas D-H terem sido estabelecidos, uma matriz de transformação
pode ser desenvolvida relacionando dois sistemas de referência sucessivos. A FIGURA 9
mostra que um ponto ri expresso no i-ésimo sistema de coordenadas pode ser expresso no (i-
29
1)-ésimo sistema de coordenadas como ri-1 aplicando as transformações sucessivamente, que
são descritas abaixo:
Rotação no eixo Z i-1 de um ângulo de i para alinhar o eixo Xi-1 com o eixo Xi (o eixo
Xi-1 é paralelo ao eixo Xi e aponta para a mesma direção).
Translação uma distância de di ao longo do eixo Zi-1 para trazer os eixos Xi-1 e Xi na
coincidência.
Translação ao longo do eixo Xi uma distância de i para trazer as duas origens também
como o eixo X na coincidência.
Rotação do eixo Xi um ângulo de i para trazer os dois sistemas de coordenadas na
coincidência.
Cada uma destas quatro operações pode ser expressa através de uma matriz
homogênea de rotação-translação, e o produto destas quatro matrizes de transformações
elementares produzem uma matriz de transformação homogênea composta i-1
Ai , conhecida
como matriz de transformação de D-H, para sistemas de coordenadas adjacentes, i e i-1
(ROMANO, 2002).
i-1Ai = Tz,d Tz, Tx,a Tx,
(1)
(2)
A transformação inversa será:
[i-1Ai]-1 = iAi-1 (3)
1 0 0 0
0 1 0 0
0 0 1
0 0 0 1
0 0
0 0
0 0 1 0
0 0 0 1
1 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 0
0 0
0 0 0 1
1d
sin
sin
ai
sin
sin
i i
i i i i
i i
cos
cos cos
cos
cos cos cos
cos cos cos
cos
i i i i i i i
i i i i i i i
i i i
sin sin sin a
sin sin a sin
sin d0
0 0 0 1
1000
coscoscos
coscoscos
0cos
iiiiii
iiiiiii
iii
dsinsinsin
sindsinsin
asin
30
Onde ai , i , di são constantes, e i é a variável de junta para uma junta rotativa.
Para uma junta prismática a variável de junta é di, enquanto ai, i, i são constantes.
Neste caso, i-1
Ai será definido como:
i-1Ai = Tz, Tz,d Tx, (4)
e sua inversa será:
[i-1Ai]-1 = iAi-1 (5)
1.8.2. Cinemática Inversa
Na cinemática inversa o objetivo é determinar os ângulos das juntas a partir da posição
e orientação do ponto extremo do órgão terminal. Na FIGURA 10 é apresentado o diagrama
dos métodos de transformação com cinemática direta e cinemática inversa (PAZOS, 2002).
Figura 10: Diagrama das transformações com Cinemática Direta e Inversa.
cos cos
cos cos cos
cos
i i i i i
i i i i i
i i i
sin sin sin
sin sin
sin d
0
0
0
0 0 0 1
cos
cos cos cos
cos cos cos
i i
i i i i i i i
i i i i i i
sin
sin sin d sin
sin sin sin d
0 0
0 0 0 1
31
1.9. CADD
Os softwares do tipo CADD (Computer Aided Draft and Design – Desenho e Projeto
Auxiliado por Computador) objetivam a geração de desenhos e projetos. Estes softwares são
amplamente utilizados na engenharia civil, mecânica, arquitetura, e vários outros ramos da
indústria (SANTOS, 2005).
1.9.1. Usinagem Automatizada
A usinagem automatizada é caracterizada pela utilização de comando numérico
computadorizado controlando uma máquina-ferramenta.
Segundo a Associação das Indústrias de Eletrônica (EIA), o CNC é: "um sistema em
que ações são controladas pela introdução direta de dados numéricos em algum ponto. O
sistema deve automaticamente interpretar pelo menos alguma porção destes dados”.
1.10. Sistema Supervisório
Os sistemas supervisórios são sistemas que permitem a monitoração e a alteração
remota de um processo produtivo ou instalação física. Os dados que possibilitam esta ação
são oriundos de equipamentos de aquisição de dados e em seguida, manipulados, analisados,
armazenados e, posteriormente apresentados ao usuário. Estes sistemas também são chamados
de SCADA (Supervisory Control and Data Aquisition) (BOARETTO, 2007).
32
CAPÍTULO 2- MATERIAIS E FERRAMENTAS
2.1. AutoCad
Para a construção da geometria das peças utilizadas neste projeto foi utilizado o
AutoCad, que é um programa do tipo CADD. Na verdade, o AutoCad é o nome de um
produto, sendo a AutoDesk a responsável pela fabricação e distribuição do mesmo. A versão
utilizada foi a 2012.
2.2. Comando Numérico Computadorizado
A usinagem das peças em acrílico foi feita em uma máquina de comando numérico, do
tipo centro de usinagem. Neste equipamento foram utilizados as construções geométricas
desenvolvidas no AutoCad, sendo primeiramente convertidas para o formato DXF, no
mesmo.
2.3. Motores
O manipulador robótico proposto utiliza sete motores do tipo servo. Sendo cinco do
modelo FUTABA S3003 e dois do modelo HEXTRONIK HXT900. Eles podem ser
visualizados nas FIGURAS 11 e 12, respectivamente. Este motores possuem 3 fios, sendo
uma para a alimentação, um negativo e um que recebe o sinal do Arduino.
FUTABA S3003
Velocidade: 0.23 seg/60 graus a 4.8V - 0.19seg/60 graus a 6.0V.
Torque: 44 oz-in (3.2kg-cm) a 4.8V - 57 oz-in(4.1kg-cm) a 6.0V.
Dimensões: C: 41mm L: 20mm A: 36mm.
Peso: 1.3 oz (37.2g).
33
Figura 11: Servo Motor FUTABA S3003.
HEXTRONIK HXT900
Velocidade: 0.12 seg/60 graus a 4.8V.
Torque: 22.2 oz-in (1.60kg-cm) a 4.8V.
Dimensões: C: 21mm L: 12mm A: 22mm.
Peso: 0.32 oz (9.1g).
Figura 12: Servo Motor HEXTRONIK HXT900.
2.4. Arduino
A placa controladora utilizada foi o Arduino, modelo UNO. Sendo que seu
funcionamento no sistema é apenas a de aquisição de dados, ou seja, leitura e escrita das
variáveis físicas. O Arduino é uma plataforma livre de computação física baseada em
entradas/saídas simples que utiliza um microntrolador (FONSECA, BEPPU, 2010). A
TABELA 3 descreve as principais características deste modelo e a FIGURA 13 a tela de
desenvolvimento, na qual é inserido e posteriormente transferido para o Arduino, este código
executa a comunicação com o MATLAB.
34
Tabela 3: Características físicas do modelo UNO.
Microcontrolador Atmega328
Tensão de operação 5V
Tensão de Entrada (limite) 6-20V
Pinos de I/O digital 14
Pinos Analógicos 6
Pino PWM 6
Corrente DC por pino de I/O 40mA
Corrente DC (3.3V) 50mA
Figura 13: Tela de programação do Arduino.
2.5. Software de Controle
Foi utilizada uma das ferramentas do software MATLAB, o SIMULINK. O
SIMULINK é uma ferramenta para modelagem, simulação e análise de sistemas dinâmicos.
Sua interface primária é uma ferramenta de diagramação gráfica por blocos e bibliotecas
(FERNANDES, 2010). Este software funcionou estritamente como controlador virtual,
utilizando as variáveis adquiridas da placa de aquisição dados, o Arduino UNO.
35
2.6. Computador e Fonte
Também foi utilizado nesse projeto um computador para fazer a conexão entre a parte
física e o sistema de controle e também uma fonte ajustável de tensão para a alimentação dos
motores e do Arduino.
2.7. Supervisório
O sistema utilizado para a construção do sistema de supervisão do manipulador
robótico foi o Intouch versão 10.1, licença de acadêmica.
2.8. Custo estimado dos materiais
A TABELA 4 descreve o custo estimado dos materiais utilizados no projeto, a moeda
utilizada como base foi o dólar americano. A pesquisa de preço foi realizada em sites
americanos.
Tabela 4: Relação de custo dos materiais utilizados.
Itens Valor (US$)
Arduino UNO $13,00
5x Servo motores FUTABA S3003 $70,00
2x Servo motores HXT900 $12,00
Cabos $5,00
Parafusos e porcas $10,00
Protoboard $16,00
Placa acrílica de 4mm $47,00
Total $173,00
36
CAPÍTULO 3- DESENVOLVIMENTO
3.1. Arquitetura e material
O projeto do manipulador teve inicio com a escolha da arquitetura, que pode ser
encontrada em <http://www.thingiverse.com/thing:2433>. O principal objetivo levado em conta
para esta escolha foi a fácil manipulação e compreensão, assim como aplicabilidade na área
didática, auxiliando principalmente na disciplina de robótica.
Após a escolha da arquitetura, as peças foram desenvolvidas utilizando o software
AutoCad e em seguida usinadas no Comando Numérico, resultando em 28 peças, todas em
acrílico de 4 mm de espessura. A FIGURA 14 possui a arquitetura resumida das peças
utilizadas. Todas as cotas e detalhes se encontram no ANEXO I.
Figura 14: Desenho das peças no AutoCad.
37
3.2. Base
A base é constituída de três peças e está fixada a outra base rígida para sustentação do
manipulador. Também possui parafusos de fixação e um servo motor, modelo Futaba S3003.
A peça do topo da base tem liberdade para que juntamente com o servo possa girar todo o
manipulador, como pode ser visto na FIGURA 15.
Figura 15: Base do manipulador.
3.3. Braço
O braço é composto por duas peças e foi conectado à base através de duas peças
fixadas na mesma e parafusos de fixação. Ele está sendo movimento por dois servos, modelo
Futaba, também conectados à base. A FIGURA 16 destaca suas principais partes.
Figura 16: Braço do manipulador.
38
3.4. Antebraço
O antebraço tem duas peças e faz a ligação do braço com o pulso. Ele possui dois
servos conectados a ele que fazem os movimentos com o braço e com o pulso. NA FIGURA
17 encontram-se os detalhes do antebraço.
Figura 17: Antebraço do manipulador.
3.5. A garra
A garra é a parte de maior complexidade do manipulador, por possuir muitas peças de
dimensões pequenas e diversas juntas para uni-las, além de parafusos de fixação e
movimentação. Também possui dois servos, modelo HTX900, para abertura/fechamento da
garra e movimentação do pulso. A FIGURA 18 destaca seus componentes.
Figura 18: A garra do manipulador.
39
3.6. O Manipulador Completo
Após a montagem parte a parte de todas as peças, estas foram reunidas e o
manipulador foi finalizado, ficando assim com a configuração TRR, 4 graus de liberdade e
órgão terminal tipo garra de dois dedos. A FIGURA 19 destaca as principais partes do
manipulador.
Figura 19: O manipulador Finalizado.
3.7. Comunicação com o Arduino
Após a montagem do manipulador, foi executada a instalação dos servos com a
plataforma Arduino. Como o modelo UNO só possui seis saídas PWM e o manipulador tem
sete servos, foi utilizado o mesmo sinal para os dois motores que estão fixados na base e que
são responsáveis pela movimentação do braço. Isto pode ser feito porque os motores
executam exatamente o mesmo movimento e possuem a mesma variação angular. A FIGURA
20 mostra todo o esquema de ligação entre os servo motores e o Arduino.
40
Figura 20: Instalação do Arduino com os motores.
3.8. Algoritmo de Sequenciamento
Foi desenvolvido um código para executar o sequenciamento do manipulador. Essa
sequência consiste no manipulador buscar peças e coloca-las em uma esteira alimentadora de
maneira continua. Este código foi baseado na técnica de sequência máxima, a qual uma tarefa
só inicia após o fim da anterior. Este algoritmo pode ser visualizado no ANEXO II.
O sistema de sequenciamento começou a ser testado e implementado após todo
desenvolvimento físico da estrutura do manipulador e as conexões dos motores com o
Arduino. Foram criados diversos blocos no Simulink para efetuar o controle e a comunicação
com o Arduino e consequentemente com os motores do manipulador. Foram inseridas
funções de transferência para que a variação de set-point fosse feita com entrada em rampa,
isto porque a entrada em degrau causava um torque muito alto nos motores e
consequentemente a movimentação do manipulador estava se dando de maneira muito rápida
e brusca. Há somente uma entrada em degrau, que é o sinal destinado ao órgão terminal, isto
porque há uma necessidade de velocidade e torque neste motor. Foi criado um MATLAB
function para ser utilizado em um dos blocos do Simulink, nesta function foi desenvolvido o
41
algoritmo de sequenciamento. Durante a comunicação das variáveis criadas no algoritmo com
o Simulink, o MATLAB começou a apresentar um bug de comunicação, fazendo com que a
variável “y” não funcionasse corretamente, tornando o sistema instável. Esta variável é
direcionada para habilitar os passos executados pelo manipulador.
3.9. Sistema de Sequenciamento e Interface Homem Máquina (IHM)
Como solução a variável 'y' foi retirada no código e criada em um software de
supervisão, o Intouch, e declarada como variável global. Feito isso a variável foi utilizada
novamente no Simulink, mas agora sendo de origem diferente teve o comportamento
esperado.
O sistema de IHM desenvolvido além de solucionar o problema de comunicação com
a variável também possibilitou ao usuário operar o sistema em modo manual, selecionando
assim a posição desejada através de botões. Estas posições são as mesmas intermediárias
utilizadas no código de sequenciamento. Também é possível verificar a posição estimada do
manipulador através de visores que representam as variáveis X, Y e Z cartesianas, essas foram
obtidas através do cálculo da cinemática direta do manipulador, que é detalhada no item 3.10.
A FIGURA 21 possui o conjunto de blocos utilizado no SIMULINK para executar o
sequenciamento. O algoritmo de sequenciamento criado esta localizado no bloco interpretador
de funções do MATLAB.
42
Figura 21: Sistema de sequenciamento desenvolvido no Simulink.
3.10. Cálculo da Cinemática Direta
Para melhor compreender a matriz base utilizada para o cálculo da cinemática direta é
descrito abaixo o passo a passo a partir de uma matriz 2x2.
Figura 22: Rotação genérica de um ponto no plano (Fonte: Santos, 2004).
43
X= L.cosϕ
Y= L.senϕ
X1= L.cos(ϕ+θ)
X1=L(cosϕ.cosθ-senϕ.senθ)
X1=X.cosθ-Y.senθ
Y1=L.sen(ϕ+θ)
Y1=L(senϕ.cosθ+cosϕ.senθ)
Y1=(Y.cosθ+X.senθ)
Logo:
[ ]=[
] [ ] (6)
Mas como o cálculo do manipulador proposto consiste nos eixos X, Y e Z, a matriz adaptada
para o primeiro elo será:
[ ]=[
] [ ](7)
Isto para:
X1’=L1.cosϕ1
Y1’=L1.senϕ2
A matriz 7 define a posição do braço do manipulador em relação aos eixos X e Y.
Sendo:
X2’=L2.cosϕ2
Y2’=L2.senϕ2
θ2= θ2+ϕ1- ϕ2
Teremos a seguinte matriz no segundo elo:
[ ]=[
] [ ](8)
A matriz 8 define a posição do antebraço do manipulador em relação as eixos X, Y, e Px e Py
anterior.
Sendo:
44
X3’=L3.cosϕ3
Y3’=L3.senϕ4
θ3= θ3a+ϕ2- ϕ3
Teremos a seguinte matriz no terceiro elo:
[ ]=[
] [ ] (9)
A matriz 9 define a posição do pulso do manipulador em relação aos eixos X e Y atuais e X e
Y anteriores.
Sendo:
X4’=X3.cosϕ4
Y4’=Y3.senϕ4
Tem-se a seguinte matriz no quarto elo:
[ ]=[
] [
] (10)
A matriz 10 define a posição da base do manipulador segundo os eixo X e Z, a posição
Y é a mesma do último Y calculado, no caso Y3.
Todas essas matrizes foram inseridas no sistema através de MATLAB functions.
Todos os dados que foram utilizados nas matrizes são aproximados, pois são valores
provenientes dos sinais de referência enviados para os servos, pois o servo apesar de possuir
um posicionador interno não retorna o valor da posição atual, o que pode gerar uma
imprecisão se o mesmo estiver com defeito. Todas as functions das matrizes se encontram no
ANEXO II. Essas functions também podem ser implementadas na forma 3x3.
O cálculo da posição e da transladação das juntas foi feito individualmente. Para que
estas functions fossem aplicadas e testadas, foi desenvolvido outro conjunto de blocos no
Simulink.
45
Figura 23.1: Cinemática (braço-antebraço) utilizando Simulink.
Figura 23.2: Cinemática (antebraço-pulso) utilizando Simulink.
46
Figura 23.3: Cinemática (pulso-base) utilizando Simulink.
Todas as matrizes foram testadas e validadas de acordo com sistema proposto no
Simulink. Apresentaram excelente resposta para a obtenção da posição do manipulador.
As FIGURAS 23.1 e 23.2 representam no sistema os valores de X e Y dos elos do
braço e antebraço, respectivamente. Na FIGURA 23.3 obtemos os valores de X, Y, Z, pois é o
sistema de coordenadas da base. Os valores de X, Y e Z são as coordenadas do órgão terminal.
Os valores constantes das FIGURAS 23.1, 23.2 e 23.3 representam os sinais de
referência enviados para cada servo motor. Este conjunto de blocos teve o intuito apenas de
utilizar e testar as matrizes desenvolvidas para a obtenção da posição de cada elo e
consequentemente do órgão terminal.
47
CAPÍTULO 4- RESULTADOS
A comunicação com todos os programas não teve grande problema devido ao Arduino
ter blocos específicos para utilização nos mesmos. No MATLAB o problema foi a utilização
de uma variável para o posicionamento do manipulador, esta variável 'y' estava tendo
comportamento indesejado causando um bug de funcionamento no sistema. Este problema foi
resolvido com o armazenamento desta variável no programa de supervisão, o Intouch. Os
esquemas de sequenciamento e supervisão são apenas sugestões, podendo ser alterados para
melhor desempenho e didática com manipulador. As FIGURAS 24.1, 24.2 e 24.3 apresentam
o conjunto de blocos completo utilizado no sistema, ou seja, possui a function com o
algoritmo de sequenciamento e os blocos com as functions do cálculo da cinemática direta,
além de blocos de comunicação e mostradores de posição.
Figura 24.1: Sistema de Sequenciamento e Cinemática aplicada.
48
Figura 24.2: Sistema de Sequenciamento e Cinemática aplicada.
A FIGURA 24.2 apresenta os valores das extremidades do braço e antebraço do
manipulador, segundo os eixos X, Y, e Z.
A FIGURA 24.3 apresenta os mostradores da posição, segundo os eixos X, Y e Z, da
garra do manipulador. Todos os valores estão em centímetros.
Figura 24.3: Sistema de Sequenciamento e Cinemática aplicada.
49
Na FIGURA 24.1 é possível observar blocos de funções integradoras, no caso
,
que correspondem aos sinais que são enviados para os motores mais o sinal da realimentação
de cada um. O
foi inserido para o sinal da garra para que tivesse um comportamento
próximo de um degrau, neste caso tendo uma resposta mais rápida. Já o
foi inserido nos
blocos que enviam sinal para os motores da base, braço, antebraço e pulso, isto para que os
movimentos fossem mais suaves, ou seja com um torque menor. Isto ocorre porque o tempo
de acomodação desta função é maiorr. A FIGURA 25 compara as respostas das funções
inseridas no sistema.
Figura 25: Gráfico de respostas das funções utilizadas.
50
A FIGURA 26 apresenta o sistema de supervisão desenvolvido para o manipulador.
Este teve o objetivo de auxiliar na solução do bug apresentado pelo MATLAB. A variável
“y”, que corresponde a posição do manipulador foi inserido no Intouch e declarada como
variável global, o que fez com que o sistema funcionasse corretamente. A interface criada
possui seis botões, nos quais o operador pode selecionar manualmente uma posição pré-
defina, que é mesma do algoritmo de sequenciamento ou o sistema funcionar no modo
automático. Também possui três mostradores de posição (em centímetros) dos eixos X, Y e Z
em tempo real.
Figura 26: Sistema Supervisório do Manipulador.
51
CAPÍTULO 5- CONCLUSÃO
A construção do manipulador didático teve êxito em sua parte física e de software. A
interação de comunicação do manipulador, Arduino e programas, possibilitou a realização de
diversas atividades.
O trabalho desenvolvido apresenta flexibilidade para desenvolvimento de mais ações
com o manipulador e os programas propostos, facilitando assim a didática na disciplina de
robótica, além de gerar a multidisciplinaridade, pois envolve conhecimentos de diversas áreas
como: eletrônica, controle, microcontroladores, programação e sistemas supervisórios.
A possibilidade de desenvolver trabalhos futuros com manipulador e de uma
otimização constante faz com que o mesmo atenda aos requisitos para o ensino de robótica em
diversos níveis de conhecimento, facilitando assim a didática e a preparação de futuros
profissionais que atuarão na área.
52
CAPÍTULO 6- SUGESTÕES
Para trabalhos futuros sugere-se melhorar a parte física do manipulador e executar a
instalação de sensores, ampliando assim as possibilidades de aplicações e trabalhos didáticos.
Uma animação 3D em tempo real do manipulador robótico também poderá ser criada,
utilizando preferencialmente um software livre.
A substituição do MATLAB por um software livre como o Scilab diminuirá ainda
mais os custos do manipulador, além de aumentar as áreas de estudo por ser um novo
software.
53
7- REFERÊNCIAS
ARDUINO, ARDUINO UNO. Disponível em: <http://arduino.cc/en/Main/arduinoBoardUno>
Acesso em: 1 de março de 2013
ASSOCIATION, R. I. Robotics Online. Disponível em <http://www.robotics.org>. Acesso
em 23 de março de 2013.
BALCH, T. Designing personal robots for education: Hardware, software, and
curriculum, Pervasive Computing, 2008.
BEPPU, MATHYAN MOTTA; FONSECA, ERIKA GUIMARÃES PEREIRA. Apostila
Arduino. Niterói-RJ. Universidade Federal Fluminense-UFF. 2010.
BOARETTO, NEURY Apostila sistemas supervisórios, Joinville. IF Santa Catarina. 2008
BRITES, F. G.; SANTOS. Apostila Motor de Passo. 2008.
CARRARA, VALDEMIR. Apostila de Robótica. 1999.
CONCEIÇÃO, EDCARLO. Apostila Instrumentação Industrial. Universidade do Sul de
Santa Catarina-UNISUL. 2005.
CRAIG, JOHN J. Introduction to Robotics Mechanics and Control, 3ª Ed. Pearson
Prentice Hall. 2005
FERNANDES, RENATO DE ABREU. MATLAB aplicado à Engenharia de Controle e
Automação Industrial. Monografia do Curso de Engenharia de Controle e Automação
Industrial Instituto Federal Fluminense- IFF. Campos dos Goytacazes. 2010.
FU, K. S. Robotics: Control, Sensing, Vision and Inteligence. McGrallHill. New York,
1987.
GROOVER, M. P. Robótica. Tecnologia e Programação. McGraw-Hill, 1989.
INDUSTRIES, M. Robotic arm with 7servos. Disponível em <
http://www.thingiverse.com/thing:2433 >, acesso em 13 de janeiro de 2013.
MATHWORKS. MATLAB®, The Language of technical Computing. Disponível em:
<http://www.mathworks.com/products/matlab/>. Acesso em: 22 de fevereiro 2013.
MATHWORKS. SIMULINK®, Simulation and Model-based Design. Disponível em:
<http://www.mathworks.com/products/simulink/>. Acesso em: 26 de fevereiro de 2013.
MATSUOKA, Y, Embodiment and Manipulation Learning Process for a Humanoid
Hand. Dissertation, Massachussets Institute of Technology. USA. 1995
OGATA, K. Engenharia de Controle Moderno. 4ª ed. São Paulo, Pearson Prentice Hall,
2003.
54
PAZOS, FERNANDO. Automação de Sistemas & Robótica. Rio de Janeiro, RJ. Axcel
Books. 2002.
RIVIN, E. Mechanical Design of Robots. 1ª ed. McGraw-Hill Inc., New York. 1988.
ROMANO, VITOR FERREIRA. Robótica Industrial- Aplicação na Indústria de
Manufatura e de Processos. Ed. 1ª edição; Edgard Blüche. 2002.
SALISBURY, J. K.; CRAIG, J. J., "Articulated Hands: Force Control and Kinematic
Issue", International Journal of Robotics. USA. 1982. SANTOS, ALFREDO DE BARROS. Apostila AutoCAD 2004. Faenquil - Faculdade de
Engenharia Química de Lorena. 2005.
SANTOS, ANDRÉ. Apostila Servomotores. Rio Grande do Sul. 2007.
SCHIAVICCO, L.; SICILIANO, B. Rotocica Industriale- Modellistica E Controllo Di
Manipolatori, 1ª Ed., MCGRAW-HILL INC. MILÃO. 1995.
55
Anexo I
Peças utilizadas na construção da arquitetura do manipulador. Todas as cotas estão
representadas em centímetros.
1
2
3
4 * Quantidade: 2
56
5
6
7 * Quantidade: 2
57
8
9
10
11
12
13
58
14
15
16 * Quantidade: 2
17
18 * Quantidade: 4
19 * Quantidade: 4
59
Anexo II
Algoritmo de sequenciamento e as matrizes, todos inseridos no SIMULINK através de
functions do MATLAB.
% VITOR HUGO DE ASSIS BASTOS
% INSTITUTO FEDERAL FLUMINENSE
% ABRIL DE 2013 %====================================================================%
Código de Sequenciamento utilizado como MATLAB Function
function resultado=sequenciamento(sp1,sp2,sp3,sp4,sp5,sp6,a) sp1=round(sp1*10)/10; sp2=round(sp2*10)/10; sp3=round(sp3*10)/10; sp4=round(sp4*10)/10; sp5=round(sp5*10)/10; sp6=round(sp6*10)/10; y=ddereq(a,'y'); % posição pegar peça com garra aberta if y==0 k1=10; k2=90; k3=110; k4=175; k5=85; k6=25; if (sp1==k1 & sp2==k2 & sp3==k3 & sp4==k4 & sp5==k5 &
sp6==k6) y=1 end resultado=[k1; k2; k3; k4; k5; k6; y] end %=============================================================% % posição pegar peça com garra fechada if y==1 k1=10; k2=90; k3=110;
60
k4=175; k5=85; k6=90; if (sp1==k1 & sp2==k2 & sp3==k3 & sp4==k4 & sp5==k5 &
sp6==k6) y=2 end resultado=[k1; k2; k3; k4; k5; k6; y]; end %=============================================================% % posição intermediária com garra fechada 1 if y==2 k1=10; k2=110; k3=120; k4=175; k5=85; k6=90; if (sp1==k1 & sp2==k2 & sp3==k3 & sp4==k4 & sp5==k5 &
sp6==k6) y=3 end resultado=[k1; k2; k3; k4; k5; k6; y]; end %=============================================================% % posição deixar peça com garra fechada if y==3 k1=75; k2=95; k3=110; k4=175; k5=170; k6=90; if (sp1==k1 & sp2==k2 & sp3==k3 & sp4==k4 & sp5==k5 &
sp6==k6) y=4 end resultado=[k1; k2; k3; k4; k5; k6; y]; end %=============================================================% % posição deixar peça com garra aberta
61
if y==4 k1=75; k2=95; k3=110; k4=175; k5=170; k6=25; if (sp1==k1 & sp2==k2 & sp3==k3 & sp4==k4 & sp5==k5 &
sp6==k6) y=5 end resultado=[k1; k2; k3; k4; k5; k6; y]; end %=============================================================% % posição intermediária com garra aberta if y==5 k1=10; k2=115; k3=110; k4=170; k5=85; k6=25; if (sp1==k1 & sp2==k2 & sp3==k3 & sp4==k4 & sp5==k5 &
sp6==k6) y=0 end resultado=[k1; k2; k3; k4; k5; k6; y]; end ddepoke(a,'y',y); end %=============================================================% %=============================================================% % Function 1 function resultado = Junta1(L,a,b)
c=a-b;
x=L*cos(b);
y=L*sin(b);
R1=[cos(c) -sin(c); sin(c) cos(c)];
62
x1=R1*[x;y]+[0; 0];
resultado=[x1(1,1);x1(2,1);c]
end
%=============================================================% % Function 2
function resultado = Junta2(a,b)
c=a-b;
L=12;
x=L*cos(b);
y=L*sin(b);
R1=[cos(c) -sin(c); sin(c) cos(c)];
x1=R1*[x;y]+[0; 0];
resultado=[x1(1,1);x1(2,1);c]
end
%=============================================================% % Function 3
function resultado = Junta3(px,py,at,a,b)
c=a+at-b
L=12.5;
x=L*cos(b)
y=L*sin(b)
R1=[cos(c) -sin(c); sin(c) cos(c)];
x1=R1*[x;y]+[px; py];
resultado=[x1(1,1);x1(2,1);c]
end
63
%=============================================================% % Function 4
function resultado = Junta4(px,py,at,a,b)
c=a+at-b
L=15;
x=L*cos(b)
y=L*sin(b)
R1=[cos(c) -sin(c); sin(c) cos(c)];
x1=R1*[x;y]+[px; py];
resultado=[x1(1,1);x1(2,1);c]
end
%=============================================================%