Post on 25-Jan-2019
UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO” FACULDADE DE
ENGENHARIA DE ILHA SOLTEIRA UNESP - FEIS
DEPARTAMENTO DE ENGENHARIA ELÉTRICA.
PROJETO DE EXTENSÃO – ANO 2015
RELATÓRIO FINAL
Março a dezembro 2015 (10 meses)
TÍTULO: DESENVOLVIMENTO DE MANIPULADORES ROBÓTICOS VISANDO SUA
UTILIZAÇÃO NO ENSINO MÉDIO.
PARTICIPANTES:
Aluno: Eric Fernando Miyamoto Yanagiya
Profs. Dra Suely Cunha Amaro Mantovani/Engenharia Elétrica- FEIS (coordenador)
Prof. Dr. Márcio Antônio Bazani/Engenharia Mecânica - FEIS
Prof. Dr. Nobuo Oki/Engenharia Elétrica - FEIS
LOCAL: Departamento de Engenharia Elétrica/Engenharia Mecânica.
DURAÇÃO PREVISTA: Março a Dezembro, 2015
Ilha Solteira, dezembro 2015
RESUMO
Trata-se este do relatório final do projeto multidisciplinar - Desenvolvimento de
manipuladores robóticos visando sua utilização no ensino médio. Neste teve-se como proposta o
dimensionamento e a construção de um manipulador robótico com três graus de liberdade (GL)
controlado por placa single board, Raspberry Pi, e envolvendo a análise cinemática. Uma tela
gráfica em um computador foi realizada, com a finalidade de proporcionar um sistema amigável e
acessível ao aluno do ensino médio ou das séries finais do ensino fundamental, de forma a auxiliar
no estudo das disciplinas de matemática e física, principalmente. Por atraso na liberação de
recursos e a compra de material (conforme documento em anexo), de forma a montar o protótipo,
utilizou-se um protótipo existente em laboratório.
Visando o domínio e o desenvolvimento do projeto foram realizados estudos de vários
conceitos, entre esses, motores de passo, engrenagens, sensores, placa de acionamento para os
motores, placa de controle - single board e a sua linguagem de programação, Python, com ênfase
na realização de uma tela gráfica.
No projeto inicial tinha-se como proposta a participação de três alunos da graduação, dois
da engenharia elétrica e um da engenharia mecânica, mas teve-se a proposta aprovada somente
com um aluno bolsista, o qual desenvolveu o projeto.
Os recursos obtidos para este projeto foram no valor de R$400,00 (quatrocentos reais )
Palavras-chave: manipulador robótico, microntroladores, sensores, robótica educacional, tela
gráfica .
2
ABSTRACT
This paper is about the final report of the multidisciplinary project – Development of
robotics manipulators aiming their use in the high school. This project had the proposal the design
and construction a three degrees of freedom (DOF) robotic manipulator controlled by a single
board computer RaspBerry Pi and involving the Kinematic analysis. A graphic interface in a
computer was created, with the propose of providing a friendly and accessible system to the high
school’s students , or the final years of primary school, in order to assist in the study of math and
physics, mostly. Due a delay in the release of funds and also in the purchase of materials (as
shown in attached document), in order of construct the prototype, it was used an one existent of
the laboratory.
Aiming at the understanding and the development of the project, studies about different
concepts were realized, like, step motors, gears, sensors, driver board for the motors, control
board – single board and the programming language, Python, with emphasis on building a graphic
interface.
The initial project had been proposed as the participation of three graduation students, two
of Electrical Engineering and one of the Mechanical Engineering, but was become the proposal
was only approved for one student, who developed the project.
Keywords – robotic manipulator, microcontrollers, sensors, educational robotics, graphic
interface.
3
LISTA DE FIGURAS
Figura 1 – Um braço robótico e seus componentes.........................................................................13
Figura 2 – Tipos de juntas................................................................................................................14
Figura 3 – Juntas rotativas................................................................................................................15
Figura 4 – Braço robótico................................................................................................................15
Figura 5 – Punho de 3GL com três diferentes tipos de movimento.................................................16
Figura 6 – Robôs FlexPicker ABB...................................................................................................17
Figura 7 – Manipulador robótico VRR............................................................................................18
Figura 8 – Volume de trabalho real de um robô esférico.................................................................18
Figura 9 – Robôs..............................................................................................................................21
Figura 10 – Garras de dois dedos.....................................................................................................23
Figura 11 – Garra de objetos cilíndricos e garra articulada.............................................................23
Figura 12 – Placa RaspBerry Pi.......................................................................................................25
Figura 13 – Interface do PyQt..........................................................................................................28
Figura 14 – Cinemática direta..........................................................................................................30
Figura 15 – Diagrama de ligações para o desenvolvimento............................................................32
Figura 16 – Placa de alimentação e de acionamento........................................................................33
Figura 17 – Manipulador robótico...................................................................................................34
Figura 18 – Ambiente IDLE de programação..................................................................................36
Figura 19 – Sistema operacional Raspbian......................................................................................37
4
Figura 20 – Funções Forward e Backwards....................................................................................38
Figura 21 – Desenho esquemático do manipulador.........................................................................40
Figura 22 – Interface gráfica implementada....................................................................................41
Figura 23 – Fluxograma do programa desenvolvido.......................................................................43
Figura 24 – Bloco para criação do título..........................................................................................44
Figura 25 – Conexão dos botões......................................................................................................45
Figura 26 – Execução da tela gráfica...............................................................................................47
Figura 27 – Identificação dos pinos no header do RPi.....................................................................53
5
LISTA DE TABELAS
Tabela 1 – Configurações dos manipuladores robóticos..................................................................19
Tabela 2 – Configurações comuns para punhos robóticos...............................................................22
Tabela 3 – Pinagens GPIO do RaspBerry Pi utilizadas no projeto..................................................39
Tabela 4 – Modelo e dimensionamento dos motores.......................................................................40
Tabela 5 – Aproximação dos passos................................................................................................42
Tabela 6 – Conversão de medidas....................................................................................................46
Tabela 7 – Especificações dos modelos de RPi...............................................................................52
6
SUMÁRIO
1. INTRODUÇÃO........................................................................................................................8
1.1 Objetivos..............................................................................................................................11
1.2 Organização do Texto..........................................................................................................11
2. MANIPULADORES ROBÓTICOS - CONCEITOS............................................................11
2.1 Classificação.........................................................................................................................12
2.1.1 Anatomia dos manipuladores...................................................................................12
2.1.2 Juntas e articulações.................................................................................................13
2.1.3 Graus de Liberdade...................................................................................................15
2.1.4 Cadeia Cinemática....................................................................................................16
2.1.5 Volume de trabalho...................................................................................................18
2.2 Configurações dos manipuladores robóticos.......................................................................19
2.2.1 Orgão Terminal.............................................................................................................22
3. SINGLE BOARD COMPUTERS (SBC).............................................................................24
3.1 Raspberry Pi.........................................................................................................................24
3.2 Linguagem de Programação – Python.................................................................................26
4. CINEMÁTICA DE ROBÔS MANIPULADORES...............................................................29
4.1 Cinemática Direta................................................................................................................29
5. DESENVOLVIMENTO DO TRABALHO E RESULTADOS..............................................32
5.1 Diagrama de blocos e o protótipo........................................................................................32
5.2 Cálculo da posição...............................................................................................................34
5.3 Programação........................................................................................................................35
5.4 Interface Gráfica..................................................................................................................40
5.4.1 Funcionamento..............................................................................................................41
5.4.2 Detalhes da programação..............................................................................................43
6. CONCLUSÕES..........................................................................................................................48
REFERÊNCIAS BIBLIOGRÁFICAS...........................................................................................50
APÊNDICE A.................................................................................................................................52
7
1. INTRODUÇÃO
_________________________________________________________________
A robótica é o ramo da tecnologia que lida com o projeto, construção e a operação de
robôs. Utiliza conceitos das Engenharia Elétrica e Mecânica, principalmente, assim como da
Ciência da Computação, entre outros.
O conceito de máquinas que trabalhavam de maneira autônoma é conhecido desde a
Antiguidade Clássica, porém isso só se tornou possível a partir do século XX com as intensas
pesquisas e trabalhos na área. Grandes cientistas como Leonardo DaVinci e Nikola Tesla
colaboraram para o avanço e o crescimento da robótica.
Leonardo Da Vinci promoveu uma extensiva pesquisa na área da anatomia humana,
fornecendo assim o maior conhecimento sobre as articulações humanas que foi posteriormente
integrada aos circuitos robóticos, permitindo assim o movimento relativo entre seus eixos.
Os primeiros robôs não tinham utilidade prática, mas essa forma de pensar foi mudada
pelos cientistas árabes, que sugeriram que os conceitos da robótica fossem utilizados para auxiliar
nas necessidades práticas humanas, esta fusão entre a necessidade humana e a robótica marcou o
início de uma nova era. As primeiras automações industriais foram introduzidas no século XVIII
com os primeiros teares mecânicos, porém, a criação dos verdadeiros robôs somente foi possível
no século XX com a invenção dos primeiros computadores e seus sucessivos aperfeiçoamentos.
Graças às pesquisas e ao desenvolvimento das tecnologias, atualmente, os robôs estão
presentes em vários setores que vão desde a indústria até a medicina. Eles são utilizados para
realizar trabalhos onde há insalubridade para os seres humanos, processos repetitivos, e para
garantir uma maior precisão em processos Industriais, aumentando a produtividade e lucratividade
de uma empresa. É impossível imaginar uma grande fábrica que não utilize nenhum mecanismo
robotizado.
Os cientistas George Devol e Joe Engle Berger foram os responsáveis pela criação do
primeiro robô, chamado de Unimates, no início da década de 60. Com a criação do primeiro robô
comercial, Engleberger posteriormente, foi apelidado de “pai da robótica”.8
Atualmente, têm-se processos robotizados na área da medicina que contribui com
equipamentos que auxiliam na gestão de hospitais e cirurgias, por exemplo. Erros médicos
constituem hoje uma das maiores causas de morte no país, sejam em processos cirúrgicos ou até
mesmo erros de medicações.
Um grande hospital necessita de muitos enfermeiros para separar os medicamentos e
fornecer doses corretas para cada paciente e, por ser um processo monótono e cansativo, muitas
vezes ocorrem erros de má dosagem e combinações entre drogas, além disso, é necessário que
uma parte destes profissionais seja alocada para estas funções, enquanto poderiam estar realizando
atendimento aos doentes. A empresa McKesson de São Francisco, por exemplo, possuí um robô
chamado “Rx” que auxilia no controle e gerenciamento destes medicamentos, separando
corretamente as doses para cada paciente, em pacotes identificados por códigos de barras, sendo o
mesmo código de identificação usado para cada paciente, evitando erros relacionado à trocas de
identidades dos usuários. Este robô registra a hora, quantidade e o número de vezes em que o
paciente recebeu o medicamento, facilitando um maior controle sobre cada doente, mesmo com a
troca de profissionais e os diferentes turnos dentro do hospital. Além disto, sinaliza quando um
medicamento está se esgotando, auxiliando no gerenciamento e evitando que haja falta dos
mesmos.
Com o avanço da nanotecnologia, crescem o uso dos robôs cirurgiões fornecendo maior
precisão e uma rápida recuperação para os pacientes, comparado ao método tradicional. Os nano
robôs (de pequeno tamanho), alguns possuem 7mm de largura, possibilitam cirurgias com incisões
muito pequenas nos pacientes, reduzindo o seu período de recuperação. Permitem um maior
controle e precisão sobre o processo cirúrgico, pois são dotados de filtros que eliminam os
tremores das mãos dos médicos.
A era robótica atinge também a área da educação que tem buscado inserir conceitos e
material da robótica no aprendizado das crianças e adolescentes. A robótica pode ser uma ótima
ferramenta de auxílio ao ensino e ao aprendizado, capaz de desenvolver nos alunos, o trabalho em
equipe, a capacidade de solucionar problemas, o senso crítico, exposição de pensamentos,
criatividade, autonomia e responsabilidade, postura empreendedora, estimulando os alunos a
buscarem soluções que integram conceitos e aplicações de outras disciplinas, como matemática,
física, mecânica, eletrônica, design, informática, etc.
9
(JULIÃO;BEVACQUA,2014;MARTINS,2008;MISKULIN,1999;ROBÓTICA
EDUCACIONAL,2014; SARAIVA, MARANHÃO,LISTO, 2008; SILVA, MEGGIOLARO,
2006).
Algumas escolas do ensino médio e fundamental têm introduzindo no currículo a
disciplina robótica educacional visando preparar seus alunos para montar mecanismos robotizados
simples, baseados na utilização de "kits de montagem", fornecendo noções de robótica, e o
desenvolvimento de habilidades em montagem e programação. Com isso incentivam a criação e a
sua preparação para a solução de problemas do "mundo real". Existem várias opções de kits
educacionais no mercado eletrônico, para diversos interesses e preços, com funções e
possibilidades restritas (INTELITEK, 2015; ST ROBOTICS, 2015).
Os robôs são compostos por uma estrutura física (braços, corpo, engrenagens, atuadores,
etc) e também por um módulo eletrônico, que geralmente é embarcado, e trata as informações
recebidas dos sensores, possibilitando o seu controle. Este módulo eletrônico pode ser um
microcontrolador ou mesmo placas single board, que tem um processador e memórias, entradas
I/O, comunicação via Internet, pequena dimensão e grandes recursos de hardware e programação.
Executam as suas tarefas através de atuadores, que podem ser do tipo elétrico, pneumáticos
e outros. Em um braço robótico ou nos robôs móveis esses atuadores são responsáveis pelos seus
movimentos. Os motores, atuadores do tipo elétrico, podem ser, geralmente motores de passo,
motores DC e servo-motores.
Os motores de passo são controlados através da energização de suas diferentes bobinas
internas, que realizam o giro de seu rotor de acordo com a polarização gerada. O motor DC
trabalha através da polarização de um imã interno, acoplado ao rotor, no qual é afetado por
campos elétricos e magnéticos gerados por bobinas acopladas ao motor. Sempre que houver a
polarização das bobinas, o imã irá se alinhar de acordo com o seu norte e sul magnéticos, girando
o rotor. Os servos-motores utilizam motor DC e um mecanismo interno de controle, acionado por
pulsos de sinais Pulse Width Modulation – PWM, ou seja, a quantidade de vezes que o motor
girará será controlada por pulsos de sinais, onde cada largura de pulso gera um diferente resultado.
Neste trabalho a ênfase é dada aos robôs manipuladores ou braço robótico que envolve
diferentes conceitos como graus de liberdade, elos, articulação, volume de trabalho, etc. Um braço
10
robótico é constituído por vínculos (ou elos) e juntas (ou articulações). As juntas fazem a ligação
entre dois vínculos, permitindo que haja movimentos relativos entre eles, podendo ser rotacional
ou linear. A mobilidade de um robô depende do número de vínculos e juntas que ele possui.
1.1 OBJETIVOS
Este projeto de extensão tem como objetivo a realização de um manipulador robótico
com 3 Graus de Liberdade (GL) e de baixo custo, controlado por uma placa single board,
Raspberry Pi e uma tela gráfica em um monitor. Este protótipo visa proporcionar a interação plena
do aluno da graduação e ao mesmo tempo oferecer principalmente aos alunos do ensino médio das
escolas da região de Ilha Solteira, a integração da robótica e o desenvolvimento tecnológico com o
ensino das disciplinas de matemática, física e outras.
1 ORGANIZAÇÃO DO TEXTO
No capítulo 2 descrevem-se os principais conceitos que são usados na classificação dos
robôs manipuladores.
No capítulo 3 apresentam-se os conceitos dos single board computers (SBC) e o
RaspBerry Pi, usado no projeto, juntamente com a linguagem de programação Python, utilizada na
elaboração do software.
O conceito de cinemática direta baseado na análise algébrica é apresentado brevemente
no quarto capítulo, técnica usada no cálculo da posição final do manipulador robótico, por meio
dos ângulos de suas juntas.
No Capítulo 5 apresenta-se o desenvolvimento do trabalho, especialmente os detalhes
para a realização da interface gráfica e os resultados obtidos. Seguem no capítulo 6 as conclusões
e as sugestões para a continuação deste trabalho, seguido das referências e o apêndice.
11
2. MANIPULADORES ROBÓTICOS - CONCEITOS
________________________________________________________
Neste tópico descrevem-se os principais conceitos envolvendo a teoria de robôs
manipuladores, necessários para o entendimento do desenvolvimento do projeto.
2.1 CLASSIFICAÇÃO
Com articulações semelhantes ao de um braço humano, os manipuladores robóticos são
muito utilizados na indústria atual, substituindo muitas vezes, a mão de obra humana em trabalhos
que exigem alta repetitividade, desgaste físico ou mental, ou mesmo altos níveis de
periculosidade. Por isso, os robôs podem ser classificados das mais diversas formas, levando em
consideração o seu tipo de funcionamento, a sua estrutura física, a sua aplicação, etc. Tem-se, por
exemplo, robôs autônomos, programáveis, inteligentes. Descrevem-se a seguir, a anatomia dos
manipuladores e como são classificados.
2.1.1 Anatomia dos manipuladores
Os manipuladores robóticos possuem braço e punhos assemelhando-se ao corpo humano,
por este motivo, os elementos do braço dos manipuladores são denominados base, braço e
antebraço. Os seus componentes são chamados de elos (braço propriamente) e juntas (ou
articulações).
As juntas são as responsáveis pela movimentação do braço robótico, nelas são acoplados
os motores permitindo assim o seu deslocamento. Um sistema externo de controle e acionamento
movimenta os motores. Uma das extremidades de um braço robótico é fixada à uma base e em
outra o punho. No punho, tem-se uma ou mais juntas, onde são fixados o órgão terminal do robô,
que pode ser uma garra, uma ferramenta, ou um soldador, por exemplo. O elo mais próximo à base
é denominado elo de entrada, e o do órgão terminal é o elo da junta de saída. Na figura 1 tem-se
um exemplo de um manipulador robótico e a identificação de suas peças.
12
Figura 1 – Um braço robótico e seus componentes.
Fonte: Lazzarim (2012).
2.1.2 Juntas e articulações
Os braços robóticos podem ter três tipos de juntas ou articulações, distintas, tais como,
juntas lineares ou prismáticas, esféricas e rotativas.
Na junta linear ou prismática, duas juntas podem se movimentar linearmente entre si. É
composta por duas hastes no qual deslizam entre sim, dando origem ao seu movimento, conforme
o exemplo na Figura 2 (a).
A junta esférica se comporta como uma combinação de três eixos rotativos, permitindo a
sua movimentação tridimensional. É pouco utilizada em robôs devido a dificuldade de
implementação. Para suprir esta necessidade, os projetistas utilizam a combinação de três eixos
rotativos, de tal maneira que o movimento relativo entre os três sejam iguais ao de uma junta
esférica, Figura 2 (b).
A junta rotativa é formada por dois elos e uma dobradiça, Figura 2 (c), permitindo
movimentos de rotação entre os dois elos. Sua aplicação, por exemplo, é dada em tesouras. As
juntas rotativas podem ser classificadas em outras três categorias de acordo com as direções dos
elos de entrada e de saída em relação ao eixo de rotação:
13
Rotativa de torção ou torcional (T): os elos de entrada e de saída possuem a mesma
direção do eixo de rotação da junta. Rotativa rotacional: 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 e o eixo de rotação possuem a mesma
direção. Quanto ao elo de saída é perpendicular à este último. Exemplifica-se estes três
tipos de juntas na Figura 3.
Figura 2-(a) Junta linear. (b) Junta esférica. (c) Junta rotativa.
(a) (b)
(c)
Fonte: Carrara (2009).
14
Figura 3. Juntas Rotativas
Torcional T Rotacional R Revolvente V
Fonte: Carrara (2009).
2.1.3 Graus de Liberdade
Os graus de liberdade (GL) ou Degrees of Freedom (DOF), de um manipulador robótico
estão associados ao número de movimentos que o mesmo pode realizar no espaço. Os graus de
liberdade podem ser definidos através do número de articulações presentes no manipulador, exceto
nos robôs que apresentam cadeia cinemática fechada (CARRARA, 2009). Exemplifica-se na
Figura 4.
Figura 4. Braço robótico: 1GL(à esquerda), e 2GL (à direita).
Fonte: Lazzarim (2012).
O nível de complexidade do manipulador robótico é proporcional ao número de seus
graus de liberdade - quanto maior o número, maior é a sua complexidade. Os graus de liberdade
podem ser encontrados em diversas combinações, denominadas geometria do robô, que podem ser
rotacionais e lineares, dependendo de sua aplicação.
15
Os movimentos robóticos podem ser separados em movimentos do braço e do punho.
Geralmente, os projetistas utilizam braços com três acionadores, conferindo-lhes 3GL, de tal
maneira que permitem que o manipulador possa alcançar qualquer ponto ao seu redor. Têm-se três
tipos de movimentos independentes em um braço qualquer:
Vertical transversal: possibilita o movimento vertical do punho para cima e para baixo. Rotacional transversal: possibilita o movimento horizontal do punho, para esquerda e
direita. Radial transversal: possibilita o movimento de aproximação e afastamento do punho.
Os punhos são formados por dois ou três graus de liberdade. Eles são agrupados em
pequenos espaços, de tal forma que a sua oscilação é reduzida, consequentemente a sua precisão é
aumentada. Os movimentos dos punhos (Figura 5) possuem nomenclaturas específicas:
Rolamento: rotação do punho em torno do braço. Arfagem: rotação do punho verticalmente, para cima e para baixo. Guinada: rotação do punho horizontalmente, para esquerda e direita.
Figura 5. Punho de 3GL com três diferentes tipos de movimento.
Fonte: Carrara (2009).
2.1.4 Cadeia Cinemática
Um robô manipulador pode possuir dois tipos de cadeia cinemática, aberta ou fechada.
O primeiro caso é aquele em que, partindo da base, chega ao punho por um único caminho na
16
sequência elo – junta – elo. Quanto a cadeia fechada, é possível chegar ao punho através de vários
caminhos distintos, os dois casos são mostrados na Figura 6 (a) e (b).
As configurações dos robôs de cadeia aberta estão relacionadas aos tipos de juntas que
eles possuem, as três mais próximas à base. Cada tipo de configuração é identificada por uma
sequência de letras, onde cada letra se refere à uma respectiva junta, por exemplo: junta linear (L),
torcional (T), rotacional (R) e revolvente (V). Um manipulador do tipo VRR, por exemplo, Figura
7, possui a junta mais próxima à base do tipo revolvente, seguida por duas rotacionais. A
classificação do punho segue o mesmo conceito porém, são separadas por “:” , por exemplo,
VRR: RR (CARRARA, 2009).
Figura 6 – (a) Robôs FlexPicker ABB, com cadeia fechada.(b) Robô ABB com cadeia
parcialmente fechada.
(a) (b)
Fonte: Lazzarim (2012).
17
Figura 7 – Manipulador robótico VRR
Fonte: Carrara (2009).
2.1.5 Volume de trabalho
Este termo se refere ao espaço no qual um determinado manipulador robótico consegue
posicionar seu punho. O volume, em geral, é estabelecido conforme os limites impostos pelo
projeto estrutural do braço, ou seja, conforme a configuração física do braço robótico, os limites
dos movimentos das juntas e o tamanho dos componentes do corpo, braço e punho. Um
manipulador do tipo esférico TRL, por exemplo, tem um volume de trabalho teoricamente dado
por uma esfera de raio igual ao comprimento do braço robótico. Porém, na prática, isso não
ocorre, como ilustrado na Figura 8. (CARRARA, 2009).
Figura 8 – Volume de trabalho real de um robô esférico.
Fonte: Lazzarim (2012).
18
O volume de trabalho tem dependência com a geometria do manipulador e dos limites
impostos estruturalmente. É muito raro que o volume de trabalho real do manipulador seja igual
ou semelhante ao teórico. Os fabricantes fornecem a área de alcance dos punhos apenas em um ou
mais planos, assim é possível saber se aquele robô irá ou não servir para a aplicação necessária. Os
cálculos de volume, alcance ou áreas de trabalho, devem ser realizados sem a presença do órgão
terminal, uma vez que este pode alterar significativamente os resultados finais.
2.2 CONFIGURAÇÕES DOS MANIPULADORES ROBÓTICOS
Com os principais conceitos definidos, podem-se observar as configurações mais comuns
dos manipuladores, Tabela 1. Estas representações oferecem importantes informações sobre o tipo
de manipulador utilizado, tais como, espaço de trabalho, graus de rigidez, extensão de controle
sobre o curso de movimento e aplicações adequadas para cada tipo de robô.
Tabela 1 – Configurações dos manipuladores robóticos.
Configuração Notação
Cartesiana LLL
Cilíndrica LVL
Esférica TRL
SCARA VRL
Articulada ou Revolvente
TRR
Fonte: Adaptado de Carrara (2009).
Robôs Cartesianos - apresentam três juntas lineares e caracterizam-se pela pequena área
de trabalho, mas com um elevado grau de rigidez mecânica. Têm controle simples devido ao
movimento linear dos vínculos e ao momento de inércia da carga ser fixo por toda a área de
atuação. Apresenta grande exatidão na localização do atuador, Figura 9(a).
19
Robôs Cilíndricos - possui uma configuração LVL, mas também pode ser do tipo TLL.
Apresenta área de trabalho maior do que o cartesiano, porém a sua rigidez mecânica é
ligeiramente inferior. É de difícil controle devido à diferentes momentos de inércia causados nos
diferentes pontos de alcance do braço robótico, Figura 9 (b) .
Robôs Esféricos - o seu volume de trabalho é um setor esférico, por isso o nome. Este
tipo de robô não é muito utilizado, mais comum é o manipulador do tipo revoluto, Figura 9 (c).
Robôs SCARA (Selective Compliance Assembly Robot) - configuração compacta, possui
boa repetibilidade, porém, o seu alcance é menor do que o da configuração esférica. Utilizada em
linhas de montagem mecânicas e eletrônicas que exigem alta precisão, Figura 9 (d).
Robôs Articulados ou Revolutos - tipo mais utilizado na indústria por possuir uma
configuração semelhante ao do braço humano (braço, antebraço e punho). Configuração mais
versátil, garante um maior movimento de trabalho dentro de um espaço compacto. Devido à sua
configuração e ao momento de inércia resultante de cargas aplicadas, o seu controle se torna um
dos mais complexos, Figura 9 (e).
Figura 9 – Robôs: (a) Cartesiano. (b) Cilíndrico. (c) Esférico. (d) Scara. (e) Articulado.
20
(a) (b)
(c) (d)
(e)
Fonte: ( a) , ( c ) e (d) Franchin (1999); (b) e (e) Carrara (2009)
Portanto, em um braço mecânico, o braço está ligado à base, de modo a efetuar os
movimentos e posicionar o punho. O punho por sua vez é dotado de movimentos destinados a
21
orientar o órgão terminal. O órgão terminal executa a ação, mas não faz parte da anatomia do
braço robótico, pois depende da aplicação a ser exercida pelo braço. A movimentação do braço e a
orientação do punho são realizadas por juntas (ou articulações) providas de motores (FRANCHIN,
1999; CARRARA, 2009). Na Tabela 2 tem-se as configurações mais utilizadas para os punhos
robóticos.
Tabela 2 – Configurações comuns para punhos robóticos.
Configuração Notação
Punho de 2 eixos RT
Punho de 3 eixos TRT
Fonte: Adaptado de Carrara (2009).
2.2.1 Orgão Terminal
O órgão terminal na robótica é a ferramenta final conectada ao punho, que pode ser uma
pistola de solta, um soldador, uma ventosa, uma garra, por exemplo, responsável por realizar a
manipulação de objetos em diferentes tamanhos, formas e materiais.
Existe uma variedade de garras que podem ser utilizadas em inúmeras aplicações, por
exemplo, garra de dois dedos, garra para objetos cilíndricos e garra articulada. (CARRARA,
2009). Mostra-se na Figura 10, uma garra de dois dedos, modelo simples que apresenta
movimentos paralelos ou rotacionais e é limitada pela abertura dos dedos, tornando-a pouco
versátil.
Figura 10 – Garra de dois dedos. a) Movimento paralelo. b) Movimento rotativo
22
Fonte: Lazzarim (2012).
Na Figura 11(a) apresenta-se uma garra de objetos cilíndricos que consiste em cortes em
semicírculos que permitem manusear objetos cilíndricos e na Figura 10 (b), a garra articulada , que
mais se assemelha com a mão humana, possui grande versatilidade na manipulação de vários
formatos de objetos. Isto se deve à grande quantidade de elos presentes no órgão, de forma que se
adapte a manipular objetos irregulares,
Figura 11 – (a) Garra de objetos cilíndricos. (b) Garra articulada
(a) (b)
Fonte: (a) Lazzarim (2012) e (b) Carrara (2009).
3. SINGLE BOARD COMPUTERS (SBC)
______________________________________________________________________
23
A plataforma de desenvolvimento deste trabalho é uma Single-board computer que trata-
se de um computador completo montado em uma única placa de circuitos com microprocessador,
memória, entrada/saída (I/O) e outros recursos comuns a um computador. Foram criados como
sistemas de demonstração ou desenvolvimento para serem aplicados como controladores
computacionais embarcados ou para fins educacionais.
Atualmente, os SBC oferecem uma variedade de recursos os quais podem facilmente
substituir os computadores pessoais (PC), com a vantagem de serem muito mais baratos e
compactos. Diversos modelos de diferentes fabricantes são encontrados no mercado eletrônico
atual, entre eles estão o Beaglebone Black, Arduino e também o Raspberry Pi. Este último foi
utilizado para fazer o controle e acionamento dos motores neste projeto de extensão, por isso
detalha-se a seguir, suas principais características.
3.1 RASPBERRY PI
A placa Raspberry Pi (RPI) mostrada na Figura 12 foi criada com o objetivo de ensinar
programação para crianças, por uma instituição sem fins lucrativos localizada no Reino Unido
chamada Raspberry Pi Foundation. O custo muito baixo, cerca de 25 a 30 dólares, torna-se um
grande atrativo para o seu uso. Sua aplicação porém, foi muito além de fins educacionais, sendo
hoje utilizada como centrais multimídias, aplicada em jogos e até centrais telefônicas.
A estrutura do RPI é composta por um microcontrolador ARM11 de 700MHz, unidade de
processamento gráfico, memória RAM de 512 MB, placa Ethernet, entrada para cartão SD, saídas
de vídeo RCA e HDMI, saída de áudio, portas USB 2.0 e utiliza alimentação microUSB de 5V e
1A para o seu funcionamento. Mais informações sobre o RPI e a sua pinagem, podem ser
encontradas no Apêndice A.
Figura 12 – (a) Placa RaspBerry Pi. (b) Estrutura física do RaspBerry PI modelo B.
24
(a)
(b)
Fonte: Raulino (2013).
Por se tratar de um computador, o RPI necessita de um Sistema Operacional ou em inglês
Operational System (OS) para o seu funcionamento, como o Windows ou o Linux. O Raspbian é
um OS baseado no Debian Linux e foi desenvolvido especificamente para o RPI, devido a sua
facilidade de uso. Seu sistema é composto por elementos que formam uma plataforma padrão, o
Kernel. Ele é o elemento base do sistema, possui diversos códigos de programação essenciais, por
exemplo, acesso a memória RAM, ao HardDisk e aos demais hardwares ligados ao computador.
25
Este SBC reúne diversas funcionalidades em um único dispositivo, tais como, hardwares
responsável pela conexão com a internet, processamento de áudio e vídeo, grande espaço de
armazenamento em RAM, além dos pinos GPIO (General Purpose Input Output ). Por tudo isso,
apresenta-se como uma ferramenta importante no desenvolvimento de projetos em robótica e
outros, porém, exigindo uma maior complexidade na sua elaboração. Para a utilização dos pinos
GPIO, por exemplo, é necessária a instalação de bibliotecas extras. O RPI possui diversas
bibliotecas disponíveis para download e que facilitam a sua programação, sendo possível ao
programador, escolher a linguagem de programação que mais lhe aprouver.
Apresenta linguagem de programação em alto nível, dispensando os trabalhosos e difíceis
processos de programação em linguagem de máquina ou assembly, como nos tradicionais
microprocessadores.
Uma placa SBC não requer o uso de protoboards ou circuitos impressos na elaboração de
projetos, uma vez que o próprio microcomputador supre a maioria das necessidades de hardware.
3.2 LINGUAGEM DE PROGRAMAÇÃO – PYTHON
O Raspberry Pi trabalha com uma interface em Linux, este sistema operacional baseia-se
na linguagem de programação Python.
O Python é uma linguagem de alto nível, “interpretada” pois, diferente de outras
linguagens de programação, ela é convertida diretamente para um código (bytecode) e, então,
executada por um interpretador, tornando possível sua execução em diferentes plataformas sem
qualquer alteração. O Python é um código-aberto, isto possibilita que seja utilizado para diversos
fins, mesmo comerciais, sem a necessidade de pagamento de taxas ou licenças para o seu uso. É
uma linguagem intuitiva e de fácil aprendizado, além de tudo, é mais simplificada quando
comparada à linguagem C e C++.
Foi criada no início de 1990 por Guido Van Rossum, no Instituto Nacional de Pesquisa de
Matemática e Ciência da computação localizada nos Países Baixos, para substituir a linguagem de
programação ABC. Após isto, Van Rossum migrou para diversas empresas, como a Corporation
for National Research Initiatives, localizada em Reston – Virgínia, onde lançou diversas versões
26
para o Python. Logo após, em 2000, ele e sua equipe mudou-se para o BeOpen.com e formaram
uma nova equipe chamada de Be Open Python Labs. No mesmo ano, migraram para a empresa
chamada de Digital Creations, atual Zope Corporation. Atualmente é desenvolvida pela Python
Software Foundation, uma organização sem fins lucrativos, criada com o intuito de possuir as
propriedades intelectuais relacionadas ao Python (PYTHON, 2015).
Para usar o Python pode-se utilizar um Ambiente de Desenvolvimento Integrado,
conhecido como IDLE (Integrated Development Environment). Este ambiente oferece vantagens
como auto-complemento, destaque de sintaxes, identação rápida e depurador integrado. Outra
vantagem é que este programa trabalha com o sistema operacional Windows e o Linux. Após a
escrita do programa em um computador pessoal, é possível transferir o arquivo gerado para o
Raspberry Pi e acessá-lo através do seu terminal de controle.
A linguagem de programação, Python possui diversas bibliotecas adicionais disponíveis,
que podem ser utilizadas de forma a expandir os seus limites de aplicação. Os softwares
Anaconda e Canopy, por exemplo, são expansões muito utilizadas no desenvolvimento de
trabalhos científicos pois, permitem a realização de cálculos mais complexos e também a geração
de gráficos tridimensionais, tornando-se uma importante ferramenta para pesquisa, e, por se tratar
de softwares livres, tornam-se interessantes substitutos para outros programas disponíveis no
mercado, como o MATLAB.
Existem também outros softwares auxiliares, por exemplo, o PyQT que é uma plataforma
de desenvolvimento de interfaces gráficas baseadas no Python. A sua programação é realizada
através de blocos, de maneira intuitiva, onde o programador desenvolve a interface gráfica
desejada e o código é disponibilizado automaticamente. O PyQT permite que os programadores
que não possuam pleno domínio da linguagem Python, possam criar suas primeiras interfaces
gráficas mais facilmente, havendo uma maior interação entre o usuário final e o software.
Apresenta-se na Figura 13, a Interface do PyQT.
Figura 13 – Interface do PyQt
27
Fonte: Elaborada pelo autor
4. CINEMÁTICA DE ROBÔS MANIPULADORES
____________________________________________________________
28
A teoria de cinemática de robôs manipuladores requer o conhecimento de trigonometria,
geometria analítica e cálculo vetorial, de forma a encontrar as equações da cinemática direta e
inversa. Na cinemática direta, com os ângulos das juntas e os comprimentos dos elos, determina-se
a posição x, y, z. Na cinemática inversa, dada a posição determina-se os ângulos que cada motor
deve se posicionar, porém, neste tópico o interesse foi limitado às equações da cinemática direta.
1 CINEMÁTICA DIRETA
A cinemática direta é o cálculo da posição e orientação do manipulador, isto é, a partir do
robô e suas variáveis articulares é possível determinar onde o braço está, em qualquer instante.
Desta forma, são desenvolvidas equações específicas da cada robô, considerando o tipo e o
número de elos e juntas o que permitem relacionar um referencial posicionado no efetuador, com o
referencial fixo (NIKU, 2013). Na Figura 14 (a) tem-se o esquemático de um manipulador do tipo
TRR em movimento no espaço, com 3 graus de liberdade, do mesmo modelo que é utilizado neste
projeto.
Em geral, o movimento destes manipuladores pode ser decomposto em um movimento
plano e um movimento rotativo ao redor de um eixo contido no plano, o que faz com que este
plano gire no espaço (DUMBÁ, 2015).
Para que os movimentos e os ângulos possam ser visualizados, são construídas uma vista
esquemática superior, Figura 14(b) e outra vista lateral do braço robótico, Figura 14(c) mostrando
respectivamente, o movimento horizontal e os movimentos verticais (no plano). Estas vistas
contem as principais medidas a serem obtidas por relações geométricas. A vista lateral é mostrada
em uma direção perpendicular a linha de interseção do plano vertical do movimento e o plano xy
Figura 14 – Cinemática Direta
29
(a)
(b) (c)
Fonte: Adaptado de Dumbá (2015)
Por meio de sua geometria, determina-se a posição final (do efetuador) de um
manipulador robótico, conhecendo-se o ângulo de deslocamento de cada motor e o comprimento
de cada elo. Nas figuras, a junta J1 gira sob um eixo vertical, enquanto J2 e J3 possuem eixos
horizontais. Utilizando-se os conceitos da trigonometria, calculam-se as posições x, y e z, no
espaço, conforme equações (1), (2), (3) e (4),
30
θ¿
(¿2¿+θ3)cosθ2+l3 cos¿d=l2 ¿
(1)
Sabendo d, encontram-se x, y e z,
θ¿
(¿2¿+θ3)cosθ2+l3 cos¿
l2 ¿¿
θ1=¿
cos ¿x=d¿
(2)
θ¿
(¿2¿+θ3)cosθ2+l3 cos¿
l2 ¿¿¿¿
sin θ1 ¿y=d ¿
(3)
θ¿
(¿2¿+θ3)¿
z=l1+ l2sin θ2+l3 sin ¿
(4)
31
5. DESENVOLVIMENTO DO TRABALHO E RESULTADOS
_______________________________________________________________
Nos capítulos anteriores, foram apresentados conceitos fundamentais que foram
estudados e utilizados no desenvolvimento deste projeto. Neste capítulo descrevem-se os detalhes
da programação, de forma a realizar a tela gráfica e tornar amigável a utilização do protótipo do
manipulador, auxiliando no ensino de matemática e física nas séries do ensino médio. Inicia-se
pelo diagrama de blocos que mostra as ligações entre o Raspberry PI (plataforma de controle) e o
computador . Apresenta-se depois o protótipo e seus blocos de hardware.
5.1 DIAGRAMA DE BLOCOS E O PROTÓTIPO
Apresenta-se na Figura 15, o diagrama de ligações necessárias que foram realizadas entre
o protótipo final, o Raspberry PI e um computador usado no desenvolvimento do software.
Figura 15 – Diagrama de ligações para o desenvolvimento.
Fonte: Elaborada pelo autor.
33
Verifica-se que o RPI é controlado através de um computador, por conexão direta, a fim
de se evitar a necessidade de conexão com diversos periféricos (como teclado, mouse e monitor),
mas é possível se trabalhar com o manipulador conectando-se estes dispositivos no lugar do
computador, sem problemas.
Para que haja a comunicação entre o computador e o RPI é necessário um software, neste
caso, foi utilizado o VNC Viewer, por se tratar de um software livre, eficiente e leve.
Todo o software de controle, assim como a interface gráfica, encontra-se dentro do RPI.
Deste modo, o computador reproduz em seu monitor o gráfico gerado pelo RPI, os dados são
inseridos pelo usuário no RPI, no qual processa estas informações e reproduz em seus pinos de
GPIO os sinais para a placa de acionamento, que por sua vez aciona os motores do manipulador.
A função da placa de acionamento está relacionada a energização das bobinas dos
motores através dos comandos enviados pelo RPI, Figura 16. Juntamente com o acionamento tem
a placa de alimentação que fornece as tensões e correntes reguladas necessárias para cada motor,
quatro motores, sendo três motores de passo e um servo motor, utilizados no protótipo, cuja
configuração final é apresentada na Figura 17.
Figura 16 – Placa de alimentação e de acionamento
Fonte: Pentiado, (2015).
34
Figura 17 – Manipulador Robótico
Fonte: Pentiado, (2015).
5.2 CÁLCULO DA POSIÇÃO
Tendo as equações de x,y,e z, definidas no capítulo anterior , e sabendo os tamanhos de
cada elo, l1 =13cm, l2= 7,2cm e l3= 7,3cm , pode-se calcular com as informações dos ângulos θ1 θ2
e θ3 fornecidos pelo usuário, a posição final do manipulador através das relações de seno e
cosseno a seguir , equações (5), (6), (7) e (8),
d (cm )=7,2∗cosθ2+7,3∗cos (θ2+θ3 ) (5)
35
θ¿
(¿2¿+θ3)cosθ2+7,3cos¿7,2¿cosθ1x (cm)=¿
(6)
θ¿
(¿2¿+θ3)cosθ2+7,3cos¿7,2¿ sin θ1y (cm)=¿
(7)
θ¿
(¿2¿+θ3)¿
z (cm)=13+7,2 sinθ2+7,3 sin ¿
(8)
5.3 PROGRAMAÇÃO
Toda a programação utilizada no desenvolvimento deste projeto foi realizada usando a
linguagem Python. Os programas foram desenvolvidos por meio do software IDLE, Figura 18 que
permite que os programas sejam desenvolvidos sem a conexão direta com o RPI (off-line),
utilizando-se apenas do computador. Após o desenvolvimento, o código é transferido para dentro
do RaspBerry PI.
36
Figura 18 – Ambiente IDLE de programação
Fonte: Elaborada pelo autor.
Usa-se o Raspbian, mostrado na Figura 19, sistema operacional escolhido para o
RaspBerry PI, baseado no Linux, que por sua vez, utiliza o Python como linguagem nativa,
facilitando a programação no RPI. A interface do Raspbian é semelhante a do Windows, sendo
bastante fácil e intuitiva, possuindo inclusive alguns programas nativos, como o próprio IDLE
37
utilizado para programação, jogos (MineCraft), além do Terminal, onde todas as ações e
configurações no Raspbian são realizadas. É possível a instalação de softwares livres adicionais
no RPI, caso haja o acesso à internet.
Figura 19 – Sistema operacional Raspbian
Fonte: Elaborada pelo autor.
Na elaboração do programa, inicia-se pela programação do acionamento dos motores.
Implementam-se algoritmos de energização das bobinas dos motores de maneira a movimentar os
elos no sentido horário ou anti-horário. Para isso, são criadas duas funções: a forward e a
38
backwards apresentadas na Figura 20. A primeira realiza a movimentação no sentido horário e a
segunda, no sentido anti-horário. Estas funções possuem dois atributos:
o tempo de acionamento das bobinas (quanto menor este tempo mais rápido é o giro domotor);
e a quantidade de passos que devem ser realizados no caso dos motores de passo.
Figura 20 – Funções Forward e Backwards
Fonte: Pentiado, (2015).
39
A pinagem do RPI utilizada para o controle e acionamento do protótipo é apresentada na
Tabela 3. Foram utilizados os pinos GPIO do RPI para se realizar o acionamento dos motores de
passo (4), um sinal PWM para o acionamento do servo-motor utilizado na garra mecânica do
manipulador, e dois pinos para dois sensores reed switchs para indicar a posição inicial, mostrados
na tabela a seguir.
Tabela 3 – Pinagens GPIO do RaspBerry PI utilizadas no projeto.
GPIO DISPOSITIVOCONECTADO
GPIO DISPOSITIVOCONECTADO
4 Motor 1 23 Motor 2
11 Motor 1 24 Motor 3
8 Motor 1 10 Motor 3
7 Motor 1 9 Motor 3
15 Motor 2 25 Motor 3
27 Motor 2 6 GND
22 Motor 2 18 PWM
Fonte: Elaborada pelo autor.
O modelo e o dimensionamento para os motores do manipulador foram realizados porVendrame Jr.( 2013), baseado nas especificações do modelo dos motores e o torque , listados naTabela 4.
40
Tabela 4 – Modelo e dimensionamento dos Motores
N° do motor Modelo Passo (°)
Torque deRetenção(g*cm)
Tipo
1 AIRPAX 4SHG120ª46S
1,8 4000 Hibrido
2 MINEBEA 17PM-H103-P2
1,8 2200 Híbrido
3 MITSUMI M42SP-5 7,5 960 Imãpermanente
Fonte: Adaptado de Vendrame Jr.,(2013)
Na Figura 21 tem-se o desenho esquemático do manipulador, com as informações de cadaparte do motor que serviu para o seu dimensionamento.
Figura 21 – Desenho esquemático do manipulador.
41
Fonte: Adaptado de Vendrame Jr.,(2013)
5.4 INTERFACE GRÁFICA
Com as informações anteriores e usando o software PyQT foi realizada a interface
gráfica, ilustrada na Figura 24, contendo:
Botões de acionamento de cada motor;
Opções de abertura ou fechamento das garras;
A impressão dos resultados da posição (x,y,z) na tela.
Figura 22 – Interface gráfica implementada.
42
Fonte: Elaborada pelo autor.
5.4.1 Funcionamento
Ao se iniciar o programa, os motores são energizados e movimentados até uma posição
chamada de inicial, sendo esta a referência para futuras medidas, e onde os ângulos dos motores
são nulos.
O algoritmo de funcionamento desta interface é ilustrado pelo fluxograma da Figura 23.
Com o braço na posição inicial o usuário interage com a interface gráfica de forma a escolher os
ângulos de movimentação de cada um dos motores, podendo ser 30°, 45° ou 60°. Assim que
escolhido estas três opções, são feitos os cálculos e a impressão da posição final, x,y,e z é gerada
na tela. Caso o usuário pressione o botão “Carregar”, estes ângulos são enviados a placa de
43
acionamento (aos motores), movimentando o manipulador até a posição calculada. Assim, o
usuário pode verificar as relações trigonométricas utilizadas. Após atingir a posição final, o
software mantém o braço robótico nesta posição por 10 segundos, tempo necessário para que o
usuário realize as suas medidas e conclusões, em seguida, o manipulador retorna a sua posição
inicial. Para abrir ou fechar a garra, é necessário que o usuário selecione a opção “Abrir” ou
“Fechar” na caixa correspondente à garra e em seguida pressione o botão “Carregar Garra”. A
abertura ou fechamento é mantido até que o usuário altere.
Por se tratar de um projeto destinado a alunos de ensino médio, optou-se por trabalhar
com os ângulos notáveis trigonométricos, 30°, 45° e 60°.
Com ângulo de passo de cada um dos motores, que consta da tabela 4, calcula-se a
quantidade de passos para alcançar os ângulos de 30°, 45° ou 60°. Observa-se que alguns destes
ângulos não são possíveis de serem alcançados exatamente, neste caso foram realizadas
aproximações, conforme Tabela 5, portanto, gerando erros de precisão e deslocamento final.
Tabela 5 – Aproximação dos passos
Ângulo de 30° Ângulo de 45° Ângulo de 60°
Motor 1 (Passo 1,8°) 16,66 17 25 33,33 33
Motor 2 (Passo 1,8°) 16,16 17 25 33,33 33
Motor 3 (Passo 7,5°) 4 6 8
Fonte: Elaborada pelo autor.
Figura 23 – Fluxograma do Programa desenvolvido.
44
Fonte: Elaborada pelo autor.
5.4.2 Detalhes da programação
A interface foi gerada através do software PyQT, sendo usado um ultrabook ASUS S46C,
processador Intel Core i7, memória RAM de 8Gb, capacidade de 1TB, e clock de 2GHz
(Expansivo até 3GHz), inicialmente sem a conexão do programa ao RaspBerry Pi. O PyQT gera a
tela gráfica por meio de conexão entre os botões alocados no programa e a sua resposta desejada.
Também é necessário que o arquivo gerado pelo programa no formato.ui seja convertido para a
extensão .py para que seja possível a edição do código gerado. Isto é possível utilizando o
comando –x (Exchange) no prompt de comando do computador. Após esta conversão, o código é
levado ao programa IDLE do Python.
45
O programa foi desenvolvido de forma que, após a seleção do ângulo de cada motor, uma
variável fosse criada para armazenar este dado. Comparando com os valores armazenados no
programa, verificavam-se os valores escolhidos e então uma resposta é fornecida.
Pela incompatibilidade dos dados gerados pelo PyQT com os dos RPi, optou-se pela
programação direta no RPi, sendo desenvolvidos vários blocos individuais correspondentes a cada
parte da interface, criando-se primeiramente a bloco responsável pela geração do título do
programa, as caixas de acionamento dos motores, e outros, como ilustrado a seguir, Figura 24,
pelo bloco da criação do título.
Figura 24 – Bloco para criação do título
Fonte: Elaborada pelo autor.
Outra importante parte do programa é a conexão entre os botões e as suas respectivas
respostas, conforme ilustrada as conexões pelo trecho de programa da Figura 25.
Figura 25 – Conexão dos botões
46
Fonte: Elaborada pelo autor.
Verifica-se, por exemplo, que quando a caixa de opções “ComboBox” é selecionada, ela
redireciona a execução do programa para a função correspondente, que no caso é a
“combo_chosen”. Assim, esta função é executada, dando a resposta necessária ao usuário.
O Python não oferece certas operações em seu modo nativo, por isso é necessário utilizar
algumas bibliotecas adicionais, como a biblioteca Math para cálculos de seno e cosseno, e a Time,
que realizar atrasos na execução do programa (Delays).
Para uso das funções trigonométricas no Python é necessário fazer as conversões das
medidas, de graus para radianos, por meio de algoritmo próprio. Estes valores estão apresentados
na Tabela 6 a seguir.
Tabela 6 – Conversão de medidas
47
ÂNGULO (GRAUS) 30 45 60
ÂNGULO
(RADIANOS)
0,5236 0,7854 1,0472
Fonte: Elaborada pelo autor
Após o desenvolvimento do programa que gera a tela gráfica e o acionamento do
manipulador, o código gerado é transferido para o cartão de memória do RaspBerry Pi.
A tela gráfica, vista na tela do notebook, para que o usuário (aluno do ensino médio)
possa interagir de forma amigável com o protótipo, é mostrada na Figura 26 (a) antes da escolha
dos ângulos e em (b) depois da escolha, mostrando os resultados . Por meio deste projeto tenta-se
tornar lúdico o aprendizado de disciplinas como, matemática e física e despertar nos mesmos um
maior interesse pelo estudos e a busca de conhecimento.
48
6. CONCLUSÕES
______________________________________________________________
Para o projeto de um manipulador robótico com fins educacionais foram realizados
estudos da placa de acionamento, placa de controle e software necessários ao desenvolvimento do
projeto.
Computadores single boards tais como, o Raspberry PI, necessitam de um estudo
aprofundado para que se tenha o domínio de seus recursos de I/O, bibliotecas, sua linguagem de
programação e o ambiente de desenvolvimento de software. O Raspberry PI , como dispositivo de
controle, se mostra uma poderosa ferramenta, pois possui uma taxa de processamento elevada,
gera sinais digitais facilmente e permite a programação em alto nível.
A linguagem de programação Python é uma linguagem completa, mas isso implica em
relativa complexidade em sua programação, exigindo bastante estudo para o seu domínio, embora
apresente similaridades com as linguagens C, C++.
O uso de motores de passo como atuadores apresentam certas vantagens e desvantagens.
Por se deslocarem com passos constantes, este tipo de motor dispensa sensores. Porém, este tipo
de motor não apresenta altos torques, e por vezes falham na movimentação do manipulador,
perdendo o passo. Outro problema que se observa, uma vez que se move com ângulos definidos,
não se posiciona em qualquer angulação desejada.
Foram utilizados no projeto, motores de impressoras antigas exigindo uma fonte de
alimentação regulável em vários níveis de tensão e corrente, e em algumas destas tensões tem-se
um sobreaquecimento, sendo necessário controlar a temperatura do ambiente ou não prolongar o
trabalho do manipulador por um longo período, correndo o risco de danificar os seus
componentes.
No desenvolvimento da interface gráfica, apesar dos softwares auxiliares como o PyQT,
isto não foi o suficiente para a rápida elaboração de um programa para ser executado no RPI, uma
vez que aparentemente, o PyQT só tem compatibilidade para os próprios computadores, e não para
Single Board Computers. Foi necessária a busca de literatura específica para o desenvolvimento de
interfaces gráficas para este dispositivo e um longo período de estudo para que fosse possível a
51
implantação deste sistema no RPI. A programação dentro do IDLE do próprio RPI foi dificultada
pela baixa velocidade de processamento da placa , comparada à velocidade de um notebook.
Com este trabalho teve-se a oportunidade de publicar um artigo no Oitavo Congresso de
Extensão Universitária da UNESP. O envolvimento com este projeto de extensão proporcionou
também, a participação nos eventos VENHA NOS CONHECER e na XII EXPOSIÇÃO DE
CIÊNCIA E TECNOLOGIA-FEIS-UNESP, os quais ocorrem anualmente na unidade,
apresentando a universidade e os trabalhos desenvolvidos, como resultado das pesquisas do corpo
docente, juntamente com os alunos da graduação e pós-graduação, para a comunidade em geral e
aos alunos do Ensino Fundamental e Médio, principalmente.
Considera-se que o projeto atingiu os seus objetivos finais com êxito, pois o software da
interface gráfica desenvolvido para este manipulador funcionou corretamente como planejado.
As próximas metas a cumprir neste trabalho seriam a implementação de um protótipo do
projeto juntamente com a apresentação do protótipo nas escolas. Nas escolas, o objetivo é
observar o grau de aceitação e o entendimento dos vários conceitos matemáticos, principalmente,
abordados. Além do que a interface gráfica poderia ser estendida para tratar outras grandezas
como a velocidade angular e escalar do braço, para que assim, outras disciplinas possam ser
englobadas.
52
REFERÊNCIAS BIBLIOGRÁFICAS
CARRARA, Valdemir. Apostila de Robótica. 2009. Disponível em:<http://www2.dem.inpe.br/val/homepage/cursos/rb_apostila.pdf>. Acesso em: 28 set. 2015.
COUTINHO, Rafael T.; AZEVEDO, Rayann P. A., ARAÚJO, Ícaro B. Q.;SANTOS, Eliel P.,
COSTA Jr, Ademar G. O uso pedagógico de um manipulador robótico, utilizando o
reconhecimento de cores para separação de elementos em uma esteira. Laboratório de
Instrumentação, Sistemas de Controle e Automação (LINSCA) – Instituto Federal da Paraíba
(IFPB) João Pessoa – PB – Brasil, 2012.
DUMBÁ, R., Robótica: Teoria e Prática. Disponível em:
<http://tecnologiaeducacional.rogeriodumba.sabarah.com.br/wpcontent/
uploads/2013/02/INTRODUÇÃO_A_ROBOTICA.pdf>. Acesso em: 12 jun 2015.
FRANCHIN, Marcelo N. O braço mecânico. 1999. Disponível em:http:<www.dee.feb.unesp.br/~marcelo/robotica/Robot3.htm>. Acesso em: 12 set 2015.
INTELITEK .Disponível em: http://www.intelitek.com/. Acesso em: 20 set. 2015.
JULIÃO, A.; BEVACQUA, S. F. De olho em 2050. Revista Unesp Ciência. pp 20-23, jun 2014.
LAZZARIM, Julio Cesar. Construção de um manipulador robótico de baixo custo para
ensino. 2012. 59 f. TCC (Graduação) - Curso de Bacharelado em Ciência da Computação,
Universidade Estadual do Oeste do Paraná, Cascavel, 2012. Disponível em:
<http://www.inf.unioeste.br/~tcc/2012/TCC_Julio.pdf>. Acesso em: 15 jun. 2015.
MARTINS, R. H. Projeto de um Protótipo de um Manipulador Teleoperado. Dissertação
(Monografia de Trabalho de Conclusão de Curso) — Universidade do Vale do Itajaí, 2008.
MISKULIN, Rosana G. S. Concepções teórico-metodológicas sobre a introdução e a utilização de
computadores no processo ensino-aprendizagem da Geometria. Tese de Doutorado em Educação -
Faculdade de Educação, Universidade de Campinas, Campinas, 1999.
53
PENTIADO, Thiago R. Abordagem Cinemática para o controle de um manipulador robótico de
3GL usando Raspberry Pi. Trabalho de Graduação. DEE –FEIS-Unesp, mai, 2015.
PYTHON. Disponível em :<https://pt.wikibooks.org/wiki/Python/Introdu%C3%A7%C3%A3o>.
Acesso em: set. 2015.
RAULINO, Mario Felipe. Raspberry Pi e RFID no monitoramento de atividades denatação. 2013. 43 f. Monografia (Especialização) - Curso de Tecnologia em Sistemas deTelecomunicações, Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina, SãoJosé, 2013. Cap. 3. Disponível em:<http://wiki.sj.ifsc.edu.br/wiki/images/2/23/TCC_MarioFelipe.pdf>. Acesso em: 25 set. 2015.
ROBÓTICA EDUCACIONAL. Disponível em: <http://pt.wikipedia.org/wiki/Rob%C3%B3tica_educacional>.Acesso em: julho 2015.
SARAIVA, J. P. L.; MARANHÃO, J. R.; LISTO, T. L. Sistema de Controle de Braço Mecânico
Automatizado. Monografia de Trabalho de Conclusão de Curso. Instituto de Estudos Superiores da
Amazônia-Belém, 2008.
SILVA, F. S.; MEGGIOLARO, M. A. Desenvolvimento e controle de um manipulador robótico de
alta potência com dois graus de liberdade. Dissertação — Pontifícia Universidade Católica do Rio
de Janeiro, 2006.
ST ROBOTICS. Disponível em: <http://strobotics.com/>. Acesso em : 20 set 2015.
VENDRAME Jr, Airton. Construção e Controle de um manipulador robótico usando single-board
Raspberry Pi. Trabalho de Graduação. DEE –FEIS-Unesp, dez, 2013.
54
APÊNDICE A
Especificações do RPi (Tabela 7 ) e a pinagem da placa (Figura 27)
Tabela 7 – Especificações dos modelos de RPi.
RPi B
Preço US$35
SoC Broadcom BCM2835
CPU 700 MHz ARM11 (single-core)
GPU BroadcomVideoCore IV
Memória(SDRAM)
512 MB
Portas USB 2
Saídas de vídeoRCA Composto (PAL &
NTSC), HDMI
Saídas de áudio Conector de 3.5 mm, HDMI
Armazenamento Slot SD
Rede onboard 10/100 Ethernet (RJ45)
Periféricos debaixo nível
28 GPIO
Potência 700 mA (3,5 W)
Alimentação5 volts via MicroUSB
ou header GPIO
Tamanho 85,60 mm × 56,5 mm
55