56
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

UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA … · controlado por placa single board, Raspberry Pi, e envolvendo a análise cinemática. Uma tela gráfica em um computador

  • Upload
    lamnhu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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

32

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

Figura 26– (a)Execução da tela gráfica. (b) Com resultados

(a)

49

(b)

Fonte: Elaborada pelo autor.

50

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

Figura 27 – Identificação dos pinos no header do RPi.

Fonte: Vendrame Jr., (2013).

56