Você está na página 1de 11

INTERFACE GRÁFICA PARA UM BRAÇO DE COORDENADAS 3D

Cássio Pessoa Viana (1) (cassiobja@hotmail.com), Bruno da Silva Procaci (2)


(bprocaci@leopoldina.cefetmg.com), Bruno Oliveira Chagas (2) (brunoochagas@yahoo.com.br), José de
Ávila Júnior (1) (jose.avila@ufsj.edu.br)

(1) Universidade Federal de São João del-Rei - UFSJ - DEMEC – 170, Centro, 36307- 904, São João Del Rei, MG, Brasil.
(2) Centro Federal de Educação Tecnológica de Minas Gerais - CEFET - DCM - Rua José Peres, 558 - Centro, Leopoldina, MG, Brasil.

RESUMO: A medição por coordenadas 3D cresceu de forma intensa nos últimos anos. Esta tecnologia é um
dos recursos mais poderosos que a Indústria possui para o controle dimensional de peças, desenvolvimento
dimensional de produtos e melhoria de processos. Neste trabalho é descrito o desenvolvimento de uma rotina
de programação em linguagem Processing, da comunidade de código aberto, para a comunicação e
operação de um braço de coordenadas 3D. O braço robótico que terá a comunicação com a interface gráfica
é composto por cinco juntas rotativas, equivalente a cinco graus de liberdade, um atuador que verifica se a
peça digitalizada está em contato com o equipamento e um botão do tipo sem trava para acionar o
armazenamento em formato de texto das informações das coordenadas lidas. Para a rotina de programação,
o trabalho apresenta um fluxograma contendo as informações e as lógicas de programação empregada no
trabalho. Por fim, o código gerado foi testado com um simulador de um braço de coordenadas 3D de cinco
graus de liberdade. Por meio deste protótipo, fica evidente a eficiência e praticidade do código proposto por
este trabalho.

PALAVRAS-CHAVE: Interface gráfica, Programação, Braço de coordenadas, Linguagem Processing.

1. INTRODUÇÃO

A medição de peças por coordenadas no mundo cresceu de forma intensa nos últimos anos.
Esta tecnologia é um dos recursos mais poderosos que a indústria possui para o controle e
desenvolvimento dimensional de produtos e melhorias de processos. Por possuir grande
flexibilidade, boa exatidão e possiblidades de se medir diversas geometrias, este processo está ao
longo de todo o ciclo de produção. Em geral, se utiliza os braços de coordenadas para tais finalidades.
Estes braços de medições quase sempre são do tipo articulado, podendo possuir de 4 a 6 graus de
liberdade. Sempre que o movimento relativo ocorre em um único eixo, a articulação possui um grau
de liberdade. Quando o movimento ocorre em mais de um eixo, a articulação possui
consecutivamente o mesmo número de graus de liberdade (CRAIG, 1986).
O computador também está cada vez mais presente no auxilio do controle de qualidade da
geométrica de peças e produtos. Existe diversos softwares que contribuem para tais finalidades,
entretanto, eles são comercializados com equipamentos de elevado custo, inviabilizando sua
aquisição em pequenas pesquisas. Na procura de novas alternativas simplificadas de conectar
máquinas e sensores em equipamentos de tratamentos de dados (computadores), teve início, no

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
ano de 2005, o projeto de uma interface de custo relativamente baixo com inúmeras aplicações em
automação industrial, denominada Arduino (ARDUINO, 2018).
A interface Arduino consiste em uma placa e circuito elétrico que possui como elemento
básico um microcontrolador ATmega328 de 8 bits e 16 MHz. Ele possui seis pinos de entrada
analógicas com conversores digitais de 10 bits, quatorze pinos de entrada/saída digital, sendo seis
do tipo PWM (Pulse-width modulation). A interface também possui uma interface de comunicação
UBS (Universal Serial Bus) pré-configurada. O controle do sistema parte da linguagem de
programação Processing (www.processing.org), derivada do C/C++. Com todas estas características,
o Arduino torna-se um poderoso instrumento que pode ser utilizado como ferramenta na
construção de equipamentos e protótipos em laboratórios de instrumentação para ensino
(LAUDARES et al., 2014).
Processing é uma linguagem de programação de código aberto (open source) que pode ser
utilizada em diversas áreas, abrangendo as engenharias, trabalhos envolvendo edições de imagens
e estudos na área de design (PETRY, 2006; LARANJEIRA et al., 2018).
De acordo com Pereira, Pinheiro e Vaz (2013), a linguagem de programação Processing é
considerada uma interface de fácil aplicação, devido ao fato de possuir simplificações nas rotinas
de programação, reduzindo significativamente o número de linhas de código, quando comparado
aos gerados pelo C/C++ ou Java.
Para a elaboração e determinação da modelagem numérica de um braço de coordenadas
3D, Viana, Silveira e Ávila Jr. (2015) propuseram uma rotina de cálculos para determinar e
quantificar o deslocamento de todas as juntas e elos de um braço de coordenadas 3D de cinco graus
de liberdade, possibilitando-se obter as coordenadas x, y e z de todos os componentes do sistema
e sendo capaz de se determinar a posição no plano cartesiano do atuador do aparelho.
Este trabalho descreve o desenvolvimento de uma rotina de programação em software
Processing para comunicar e controlar um braço de coordenadas 3D de cinco graus de liberdades,
através da criação de uma interface gráfica que possibilite a fácil utilização do equipamento.

2. MATERIAIS E MÉTODOS

O modelo gerado descrito a seguir representa a estrutura articular de um sistema de


coordenadas 3D. Na Figura 1, é ilustrada a estrutura cinemática, na qual pode-se observar que este
projeto proposto para um braço de coordenadas 3D possui cinco graus de liberdade, acumulando
um total de cinco juntas, cada uma com rotação de 360 graus em torno de apenas um eixo. Os
comprimentos dos elos são representados pelas letras L1 até L8 (VIANA, SILVEIRA e ÁVILA JR., 2015).

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
Figura 1. (A) Representação do braço de coordenadas 3D em desenho CAD. (B) Modelo
esquemático da letra A – Fonte: VIANA et al. (2017);

Na criação da rotina de programação para o braço de coordenadas 3D, foi utilizado o


software Processing. Este programa é baseado na linguagem C/C++ e possui comandos e funções
que facilitam a programação e a criação de interfaces gráficas avançadas com códigos numéricos
curtos e simplificados. Para a realização das medições dos sensores do braço de coordenadas 3D, é
utilizado a interface Arduino Uno R3 contendo o processador Atmel328.
A comunicação dos sensores de rotação do braço de coordenadas 3D com o código numérico
é realizada através da porta serial. A placa Arduino faz as medições de todos os sensores e envia
para a porta serial em formado de texto (string), separando as leituras por um caractere especial
(/). Na Figura 2, observa-se o fluxograma de como é realizada esta interação entre a porta serial e
o código numérico. A rotina numérica analisa a porta serial configurada. Quando uma nova linha é
criada, o código analisa se o texto (string) está nulo (não formatado), excluindo os dados e
realizando a leitura da serial novamente. Caso ela seja lida e estiver formatada, os dados são lidos
e convertidos em vetores numéricos com os dados dos sensores.

Figura 2. Fluxograma da comunicação serial entre Arduino e código numérico.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
As medições dos sensores são realizadas nas cincos juntas rotativas, no atuador do sistema
e no botão que possibilita o armazenamento dos dados em um arquivo do tipo TXT (textfile). Os
ângulos das rotações das juntas são aplicados na rotina de cálculos proposta por Viana, Silveira E
Ávila Jr., (2015) obtendo a posição x, y e z do atuador do braço de coordenadas 3D no plano
cartesiano. Na Figura 3, observa-se a rotina numérica executada pelo programa para calcular a
posição do atuador, gerando uma nuvem de pontos que caracteriza a superfície da peça que se
deseja digitalizar.

Figura 3. Fluxograma das contas realizadas para calcular a posição x, y e z da ponta do braço de
coordenadas 3D.

O Atuador do sistema é responsável por verificar se existe contato entre a ponta do braço
com a peça que se deseja medir. Na Figura 4, observa-se que, no momento em que ocorre interação
entre a peça e o atuador, o sistema começa o armazenamento das posições x, y e z dos pontos lidos
na ponta do braço de coordenadas. Durante este processo, também é mostrado na interface gráfica
uma informação que os pontos estão sendo salvos na memória do sistema.

Figura 4. Fluxograma do atuador do braço de coordenadas 3D.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
Para possibilitar que o usuário salve os pontos retidos na memória do programa quando
julgar necessário, foi configurado um botão na interface gráfica que possibilite este comando. Na
Figura 5, é possível observar esta função com a sequência lógica empregada. Ainda nesta imagem,
verifica-se que, ao clicar no comando de fechar o programa e no de resetar a nuvem de pontos, os
pontos da memória também são exportados em formato TXT.

Figura 5. Fluxograma dos comandos da interface gráfica para salvar os dados em um arquivo de
texto externo.

Neste estudo, também foram desenvolvidos comandos para serem utilizados na interface
gráfica, visando facilitar a utilização e operação do braço de coordenadas 3D. Os elos do braço estão
disponíveis na tela em forma de vetores, formando uma imagem em tempo real da posição de todo
o sistema. Ao clicar e girar o mouse sobre o desenho, é possível modificar a vista do sistema,
permitindo uma visualização ajustável pelo operador. Há um botão que possibilita anular a rotação
criada pelo comando anterior, retornando à mesma vista da inicialização do programa. Também foi
desenvolvido um botão para ativar ou desativar os pontos que estão sendo armazenados na
memoria do programa, possibilitando a verificação em tempo real da peça que estará sendo copiada.
O fluxograma das interações entre estes comandos utilizados na interface gráfica do programa pode
ser observado na Figura 6.

Figura 6. Fluxograma dos comandos da interface gráfica.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
Por fim, na Figura 7, tem-se todas as sub-rotinas agrupadas em um único fluxograma,
exemplificando por completo a interação entre os comandos numéricos e as rotinas de cálculos
adotados no programa.

Figura 7. Fluxograma dos comandos da interface gráfica.

3. RESULTADOS

Para verificar a funcionalidade da interface gráfica do braço de coordenadas 3D, foi criado
um protótipo composto por cinco potenciômetros rotativos, um LED (Light Emitting Diode), uma
placa de ensaio (protoboard), um Arduino Uno R3 e um botão sem trava. Na Figura 8, podemos
observar todos estes componentes citados anteriormente.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
Figura 8. Imagem do simulador do braço de coordenadas 3D.

O esquema elétrico dos componentes utilizados no simulador do braço de coordenadas 3D


está representado na Figura 9. Neste circuito, é possível observar que o LED e o botão sem trava
estão ligados nas portas digitais D8 e D10 do Arduino, sendo a primeira configurada como entrada
e a segunda como saída digital. Também se observa nesta imagem as cincos juntas rotativas e o
atuador que estão conectados nas seis portas analógicas (10 bits) da interface. A alimentação para
o circuito é fornecida pelo Arduino no pino de 5 volts.

Figura 9. Circuito elétrico do simulador do braço de coordenadas 3D.

A interface Arduino envia em formato de texto (string) os dados dos sensores do circuito
simulador do braço de coordenadas 3D na porta serial. Estes dados são separados por uma barra
inclinada (/). Os cincos primeiros dados são provenientes das juntas rotativas do braço de
coordenada, o penúltimo corresponde ao atuador e o último equivale ao status do botão (0 ou 1),
representados na Figura 10.

Figura 10. Valores imprimidos na serial pela plataforma Arduino.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
Utilizando o software Processing e o fluxograma representado na Figura 7, foi elaborado uma
rotina de programação para calcular a posição x, y e z do atuador de um braço de coordenada 3D.
O resultado deste código foi a interface gráfica representada na Figura 11. Nesta interface, observa-
se cinco ponteiros que representam as rotações de cada junta do braço de coordenadas 3D. É
possível também notar na janela do canto inferior o gráfico com os vetores dos elos, representando
o braço de coordenada 3D. O desenho é atualizado a uma taxa de 60 vezes por segundo, fazendo
com que tenhamos uma visualização em tempo real do sistema.

Figura 11. Interface gráfica para um braço de coordenadas 3D.

Os botões da interface estão representados um ao lado do outro, sendo o primeiro


responsável por ativar/desativar a nuvem de pontos que presenta a peça que esta sendo digitalizada.
O comando “Resetar Nuvem de Pontos” apaga os pontos da memória, resetando a nuvem de pontos.
O botão “Resetar Rotação” volta o braço para a vista em que o programa foi inicializado. Já a tecla
“Salvar Arquivo TXT” salva os dados salvos na memoria do programa em um arquivo externo de
formato TXT. O último botão (“Fechar Programa”) salva os dados da memoria e fechar o programa,
saindo da interface gráfica.
No retângulo logo abaixo dos botões da interface gráfica estão as coordenadas x, y e z da
posição atual da ponta do braço de coordenadas 3D. Na sequência, temos representado os dados
correspondes ao último ponto salva na memória do sistema. Na última linha, tem-se o texto
correspondente a atual leitura da porta serial.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
O atuador está representado na parte superior, ao lado dos relógios indicativos das rotações
dos ângulos. Sempre que o braço de coordenadas entra em contato com a peça, o atuador aciona
o armazenamento da sua posição em uma matriz contendo as coordenadas x, y e z. Uma mensagem
é mostrada na interface gráfica informando ao usuário sua ativação. Na Figura 12, observa-se a
mensagem indicada para o operador.

Figura 12. Interface gráfica para um braço de coordenadas 3D mostrando o atuador acionado
quando em contato com a peça.

4. CONCLUSÃO

Ao término deste trabalho, concluiu-se que o código numérico proposto foi criado com
eficácia, reproduzindo as posições x, y e z de um atuador de um braço de coordenadas 3D de cinco
graus de liberdade. Como resultado, foi observado uma matriz contendo todas as coordenadas
salvas em um arquivo externo em formato de texto (TXT). Este arquivo gerado pode ser aberto em
diversos software de CAD para se obter uma superfície que represente a peça digitalizada. O código
não precisa ser zerado a cada processo, pois o sistema calcula a posição x, y e z de uma forma
relativa, sendo o zero a base do braço de coordenadas 3D, aumento a produtividade do sistema e
reduz as probabilidades de erro durante a utilização.
O código numérico criado neste artigo possui algumas limitações que necessitam de
alterações e melhorias.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
5. DIREITOS AUTORAIS

Os autores são os únicos responsáveis pelo conteúdo das informações contidas neste artigo.

REFERÊNCIAS

ARDUINO; Página oficial da Plataforma Arduino. Disponível em: <http://www.arduino.cc/>,


Acesso em: 07 jul. 2018.

CRAIG, J. J.; Introduction to Robotics. Mechanics and control. NY, USA: Addison- Wesley
Publishing Company, 1986. 580 p.

LARANJEIRA, M. A.; MARAR, J. F.; PASCHOARELLI, L. C.; LANDIM, P. C.; Design Generativo de
Superfícies: uma análise do uso de programação para o desenvolvimento de estamparia.
Modapalavra, [s.l.], v. 11, n. 22, p.5-20, 28 jun. 2018. Universidade do Estado de Santa Catarina.
http://dx.doi.org/10.5965/1982615x11222018.

LAUDARES, F. A. L.; CRUZ, F. A. O.; CRUZ, T. G.; BIGANSOLLI, A. R.; Instrumentação para Ensino
de Física da UFRuralRJ: experiências docentes para a introdução tecnológica. Revista de Formación
e Innovación Educativa Universitária. Vol. 7, Nº 1, 51-58p, 2014.

PEREIRA, D.; PINHEIRO, J. V.; VAZ, C. E.; I Love Edros – um game educacional para o ensino da
geometria. In: GRAPHICA’13 – Expressão Gráfica: Tecnologia e Arte para a Inovação, 2013,
Florianópolis. Anais do GRAPHICA’13. Florianópolis: UFSC, 2013. p. 1-10.

PETRY, L. C.; Aspectos fenomenológicos da produção de mundos e objetos tridimensionais na


hipermídia. In: Anais do 15º Encontro Nacional da ANPAP. Salvador, BA, 2006.

VIANA, C. P.; SILVEIRA, M. E.; ÁVILA JR., J.; Modelagem Cinemática De Um Braço De Coordenadas
3D. Anais Do V COEN - Congresso De Engenharias da Universidade Federal de São João Del Rei, São
João Del Rei, Minas Gerais, Brasil, 2015.

VIANA, C. P.; SILVEIRA, M. E.; ÁVILA JR., J.; PROCACI, B.S.; SILVA, E. L.; Especificação Dos
Rolamentos Das Juntas Rotativas De Um Braço De Coordenadas 3D. Anais Do VII COEN - Congresso
De Engenharias da Universidade Federal de São João Del Rei, São João Del Rei, Minas Gerais, Brasil,
2017.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias
GRAPHIC USER INTERFACE FOR A 3D COORDINATE ARM

Cássio Pessoa Viana (1) (cassiobja@hotmail.com), Bruno da Silva Procaci (2)


(bprocaci@leopoldina.cefetmg.com), Bruno Oliveira Chagas(2) (brunoochagas@yahoo.com.br), José de
Ávila Júnior (1) (jose.avila@ufsj.edu.br)

(1)Federal
University of São João del-Rei - UFSJ - DEMEC – 170, Center, 36307- 904, São João Del Rei, MG, Brazil.
(2)Federal Center for Technological Education of Minas Gerais -CEFET-DCM -Street José Peres, 558 - Center, Leopoldina, MG, Brazil.

ABSTRACT: The measurement through 3D coordinates methods has increased intensively in the last years.
This technology is one of the most powerful tools which the industry uses to make a dimensional control of
mechanical parts, dimensional development of products and improvements in industrial processes. This study
describes the development of Processing language programming of the open source community for the
communication and operation of a 3D coordinate arm. This robotic arm that will be communicated to the
interface is composed of five rotating joints, equivalent to five degrees of freedom, an actuator that checks
if the scanned part is in contact with the equipment and a button of the type without locking that activates
the storage of the coordinate information in text format. This study also shows a flowchart containing the
information and programming logics used in the graphic user interface development. Finally, the code
generated was tested with a simulator of a 3D coordinate arm of five degrees of freedom. By means of this
prototype it is evident the efficiency and practicality of the code proposed by this work.

KEYWORDS: Graphic User Interface, Programming, Coordinate arm, Processing Language.

VIII COEN – Congresso de Engenharias da UFSJ


Inovando pessoas, conceitos e tecnologias

Você também pode gostar