SISTEMA SUPERVISÓRIO UTILIZANDO REALIDADE AUMENTADA
Daniel de Aranda Lima, Kenedy Lopes Nogueira, Keila Nogueira
([email protected] - [email protected]@hotmail.com)
Fundação Educacional de Ituiutaba, Universidade do Estado de Minas Gerais
Ituiutaba – MG, Brasil
Resumo – A proposta desse artigo é desenvolver um Sistema
Supervisório que utilizará a porta paralela do computador
para monitorar sensores de temperatura de um forno que
produz carvão vegetal. Para exibir os valores encontrados
pelos sensores, além da forma convencional, também será
usada a tecnologia da Realidade Aumentada, que será uma
forma inovadora de visualização do tal sistema. O sistema de
monitoramento será desenvolvido em linguagem C++, onde
será possível monitorar sensores de temperatura através da
porta paralela do computador. Para a visualização dos
valores das temperaturas encontradas, será utilizado um
aplicativo desenvolvido com a ferramenta ARToolKit, muito
utilizada para o desenvolvimento de aplicações de Realidade
Aumentada, pois opera através de técnicas de visão
computacional, processamento de imagens e programação.
Palavras-Chave – Automação Industrial, Realidade
Aumentada, ARToolKit, Sistema Supervisório.
SUPERVISORY SISTEM USING
AUGMENTED REALITY
Abstract - The purpose of this article is to develop a
Supervisory System using the parallel port of computer to
monitor the temperature sensors of a furnace that produces
charcoal. To view the values found by the sensors, in
addition to the conventional way, will also used the
Augmented Reality technology, which will be an innovative
way of viewing this system. The monitoring system will be
developed in C + + language, where you can monitor the
temperature sensors through the parallel port of your
computer. To view the values of temperatures encountered,
will be used an application developed with ARToolKit tool,
widely used for developing applications of Reality Increased
therefore operates through techniques of computer vision,
image processing and programming.
1
Keywords – Industrial Automation, Augmented
Reality, ARToolKit, Supervisory System.
N
de rodapé na página inicial será utilizada apenas pelo professor avaliador
para indicar o andamento do processo de revisão. Não suprima eta nota de
rodapé quando editar seu artigo.
I. INTRODUÇÃO
Este artigo destaca o uso da tecnologia da Realidade
Aumentada
agregada
aos
Sistemas
Supervisórios
convencionais, usados amplamente na indústria.
A proposta deste trabalho é tornar a forma de visualização
das informações apresentadas pelos Sistemas Supervisórios
atuais mais atraente, usando para isso, técnicas de Realidade
Aumentada.
Como vantagem desta implementação, pode-se citar que o
operador não terá a necessidade de estar diante da tela do
computador para ter acesso às informações sobre temperatura
recebidas pelo sistema, basta que esteja de posse dos óculos
de Realidade Aumentada. Ao olhar para o forno em direção
aos marcadores situados estrategicamente na mesma posição
dos sensores, ele poderá visualizar os valores das
temperaturas em tempo real.
Além da contribuição tecnológica este artigo aborda
também o uso dos Sistemas Supervisórios como forma de
diminuir as perdas durante o processo de produção de carvão
vegetal, diminuindo assim o impacto ambiental.
II. MOTIVAÇÃO
As técnicas de visão computacional e Realidade
Aumentada têm ampla possibilidade de utilização em
diversos setores da sociedade: Marketing, Medicina,
Pedagogia, Educação, Treinamento, Indústria, Pesquisa
Acadêmica, Entretenimento, Projetos de Engenharia,
Teleconferência e Tele-Imersão, Movimentação de Robôs,
Preservação Histórica, etc.
A grande contribuição deste é a utilização de Realidade
Aumentada para proporcionar ao usuário uma maior imersão
onde combinando as cenas virtuais e ambientes reais em um
ambiente único.
III. FUNDAMENTOS TECNOLÓGICOS
1) ARToolKit - É uma biblioteca que usa técnicas de visão
computacional para calcular o ponto de vista real da câmera
em relação a um marcador no mundo real. Há vários passos,
primeiro a imagem de vídeo é transformada em uma imagem
binária (em P&B) baseada no valor do limiar de intensidade.
Depois, busca-se nesta imagem por regiões quadradas.
O ARToolKit encontra todos os quadrados na imagem
binária, muitos dos quais não correspondem a marcadores de
referência. Para cada quadrado, o desenho padrão dentro dele
é capturado e comparado com alguns gabaritos pré-treinados.
Se houver alguma similaridade, então o ARToolKit
considera que encontrou um dos marcadores de referência. O
ARToolKit usa então o tamanho conhecido do quadrado e a
orientação do padrão encontrado para calcular a posição real
da câmera em relação à posição real do marcador. Uma
matriz 3x4 conterá as coordenadas reais da câmera em
relação ao marcador. Esta matriz é usada para calcular a
posição das coordenadas da câmera virtual. Se as
coordenadas virtuais e reais da câmera forem às mesmas, o
modelo de computação gráfica pode ser desenhado
precisamente sobre o marcador real (figura 2). A API
OpenGL é usada para calcular as coordenadas virtuais da
câmera e desenhar as imagens virtuais.[6]
Figura. 1. – Exemplo de marcador.
Figura. 2. – Imagem do marcador transformada em P&B.
Figura. 3. – Objeto 3D projetado sobre o marcador.
2) C++ Builder - O ambiente de desenvolvimento
integrado (IDE) CodeGear™ C++ Builder® 2009 será
utilizado para escrita do programa que receberá e processará
as informações dos sensores de temperatura, pois possui
melhor desempenho e confiabilidade.
comandos e funções (200 comandos do core OpenGL e 50 da
GLU - OpenGL Utility Library) que são usados para
especificar os objetos e operações necessárias para produzir
programas interativos com imagens coloridas e animação
3D. Existe praticamente uma implementação do OpenGL
para cada tipo de plataforma.
OpenGL não é uma linguagem de programação, é uma
poderosa e sofisticada API (Application Programming
Interface) para criação de gráficos 3D.
É importante comentar que, para ser portável, OpenGL
não possui funções para gerenciamento de janelas, interação
com o usuário ou arquivos de entrada/saída. OpenGL fornece
apenas um pequeno conjunto de primitivas gráficas para
construção de modelos: pontos, linhas e polígonos. Já a
biblioteca GLU (que faz parte da implementação OpenGL)
possui várias funções para modelagem, tais como superfícies
quadráticas, e curvas e superfícies NURBS (Non Uniform
Rational B-Splines).[2]
5) LM35 - O sensor LM35 é um sensor de precisão,
fabricado pela National Semiconductor, que apresenta uma
saída de tensão linear relativa à temperatura em que ele se
encontrar no momento em que for alimentado por uma
tensão de 4-20Vdc e GND, tendo em sua saída um sinal de
10mV para cada Grau Celsius de temperatura, sendo assim,
apresenta uma boa vantagem com relação aos demais
sensores de temperatura calibrados em “KELVIN”, não
necessitando nenhuma subtração de variáveis para que se
obtenha uma escala de temperatura em Graus Celsius.
O LM35 não necessita de qualquer calibração externa ou
“trimming” para fornecer com exatidão, valores temperatura
com variações de ¼ºC ou até mesmo ¾ºC dentro da faixa de
temperatura de –55ºC à 150ºC. Este sensor tem saída com
baixa impedância, tensão linear e calibração inerente precisa,
fazendo com que o interfaceamento de leitura seja
especificamente simples, barateando todo o sistema em
função disto.
Este sensor poderá ser alimentado com alimentação
simples ou simétrica, dependendo do que se desejar como
sinal de saída, mas independentemente disso, a saída
continuará sendo de 10mV/ºC. Ele drena apenas 60µA para
estas alimentações, sendo assim seu auto-aquecimento é de
aproximadamente 0.1ºC ao ar livre.
O sensor LM35 é apresentado com vários tipos de
encapsulamentos, sendo o mais comum o TO-92, que mais se
parece com um transistor, e oferece ótima relação custo
benefício, por ser o mais barato dos modelos e propiciar a
mesma precisão dos demais. A grande diversidade de
encapsulamentos se dá devido à alta gama de aplicações
deste integrado. [3]
3) VRML - Ferramenta usada para criar o mundo virtual.
A Virtual Reality Modeling Language é uma linguagem que
permite que se apresentem objetos e mundos tridimensionais
através da World Wide Web.[1]
4) OpenGL - É uma biblioteca de rotinas gráficas e de
modelagem, 2D e 3D, que estabelece para o programador
uma interface com o hardware gráfico, independente da
plataforma. Esta interface consiste de aproximadamente 250
Figura. 4. – Sensor de temperatura LM35.
6) Microcontrolador PIC16F877 - Trata-se de um
microcontrolador da família de 8 bits e núcleo de 14 bits
fabricado pela Microchip Technology. Possui memória flash
de programa com 8192 palavras de 14 bits, memória RAM
com 368 bytes e memória EEPROM com 256 bytes. Sua
frequência de operação (clock) vai até 20MHz, resultando
em uma velocidade de processamento de 5 MIPS. Seu
conjunto de instruções RISC se compõe de 35 instruções.
Pode funcionar com alimentação de 2V a 5,5V. Sua pinagem
DIP tem 40 pinos.
Como periféricos ele possui:
• 5 conjuntos de portas de entrada e saída (total de 33
portas);
• Conversor analógico-digital de 10 bits de resolução e 8
canais de entrada;
• Periférico de comunicação paralela e serial (USART e
MSSP);
• 2 Módulos CCP (Comparação, Captura e PWM);
• 3 Timers (1 de 16 bits e 2 de 8 bits);
• Watchdog timer.[4]
o circuito usual é bastante simples, necessitando apenas do
sensor propriamente dito, um Microcontrolador PIC16F877
para converter o sinal analógico para digital e enviá-lo aos
displays de 7 segmentos e em seguida ao computador pela
porta paralela. Portanto, nesse projeto foi utilizado o sensor
LM35 como sensor de temperatura atuando de modo simples
e objetivo, enviando um sinal analógico que será convertido
para digital e logo depois enviará aos displays de 7
segmentos e ao computador pela porta paralela, como pode
ser visto em parte na figura 6
Figura. 6. – Circuito do termômetro.
Figura. 5. – Microcontrolador PIC16F877.
7) Porta Paralela - A porta paralela do computador é o
meio mais fácil para controlar dispositivos externos, como
LEDs, lâmpadas e até mesmo eletrodomésticos. Atualmente,
as impressoras vendidas no mercado utilizam conexão USB.
Com isso, na maioria dos computadores modernos a porta
paralela está disponível, podendo ser usada para controlar
circuitos externos ao computador. Na verdade, a idéia por
trás da porta paralela é muito simples. Ela é uma interface de
comunicação paralela de 8 bits, e portanto tem-se oito bits
disponíveis. Como cada bit de dados pode ser transmitido
como “0” (desligado) ou como “1” (ligado), pode-se ligar ou
desligar diretamente até oito dispositivos, como LEDs,
lâmpadas e até mesmo eletrodomésticos.[5]
IV. DETALHES DA IMPLEMENTAÇÃO
Em um primeiro momento foi necessário desenvolver um
termômetro para ser usado nos testes do sistema. No forno
real as temperaturas são muito elevadas e por esse motivo os
sensores originais não puderam ser utilizados. Tais
temperaturas não poderiam ser alcançadas dentro de um
laboratório e, portanto, seria impossível testar o
funcionamento do Sistema Supervisório. Existem no
mercado hoje em dia, diversos tipos de sensores de
temperatura, que vão desde os NTC´s, PTC´s e diodos até os
mais variados tipos de termopares, dentre outros. Porém,
estima-se que talvez nenhum dos citados anteriormente seja
de tão simples manuseio e exija tão poucos aparatos
eletrônicos para que funcione, quanto o modelo LM35, pois
Em um segundo momento, foi desenvolvida uma interface
para o Sistema Supervisório utilizando o ambiente de
desenvolvimento integrado (IDE) CodeGear™ C++
Builder® 2009. Nesta interface será utilizado o sistema de
abas, onde cada uma delas apresentará uma forma diferente
de visualização das temperaturas.
Na primeira aba, como pode ser visto na figura 7, pode-se
visualizar o forno lateralmente. As temperaturas são
apresentadas em destaque posicionadas na direção dos
sensores. As cores verde e vermelho são usadas para destacar
se a temperatura está normal ou acima do normal. Esses
valores são atualizados em tempo real. Quando as
temperaturas ultrapassam um limite pré-estabelecido, os
respectivos resfriadores são ligados. Isso pode ser visto na
parte de baixo do sistema. Os estados de operação ON e OFF
dos resfriadores também são destacados nas cores verde e
vermelho.
Na segunda aba, como pode ser visto na figura 8, pode-se
visualizar o forno de maneira tridimensional. Ele dá um giro
de 360º em torno de um eixo imaginário. Dessa forma o
operador tem noção de todas as dimensões do forno. Assim
como na primeira aba, as temperaturas também são
mostradas em tempo real e nas cores verde ou vermelho, de
acordo com seu nível.
Na terceira aba, existe um gráfico também atualizado em
tempo real. Neste gráfico é mostrada a evolução das
temperaturas em função do tempo. A atualização se dá a cada
1 milissegundo para uma maior precisão. Isto poderá ser
visto nas figuras a seguir.
Já no topo do Sistema Supervisório, encontra-se um botão
onde o operador pode habilitar a Realidade Aumentada,
como pode ser visto na figura 10.
Figura. 10. – Botão que habilita a Realidade Aumentada.
Figura. 7. – Planta do forno de carvão vegetal.
Figura. 8. – Modelo tridimensional do forno.
Ao clicar nesse botão, basta que se coloquem os óculos de
Realidade Aumentada para se ter uma total imersão em um
mundo virtual. Desse modo, ao olhar para o forno em direção
aos marcadores situados estrategicamente na mesma posição
dos sensores, ele poderá visualizar os valores das
temperaturas em tempo real.
Isso se dá da seguinte forma: um marcador, como o da
figura 1, foi previamente associado ao objeto virtual que,
neste caso, é o valor da temperatura encontrada, em forma
textual. Foi utilizado o ARToolkit combinando as cenas
virtuais geradas pelo computador com o mundo real
observado pelo usuário através da câmera situada na parte
frontal dos óculos, possibilitando a adição de informações a
este mundo. A câmera captura a imagem, localiza o
marcador, o computador busca o objeto virtual (valor da
temperatura) referente ao marcador daquele sensor, e insere
conforme programado. Esses valores inseridos virtualmente,
são as temperaturas coletadas pelo sensor LM35. Eles são
atualizados em tempo real.
V. CONCLUSÕES E TRABALHOS FUTUROS
O circuito que contém o sensor já foi montado em placa de
circuito impresso e os valores das temperaturas estão sendo
mostrados corretamente através dos displays de 7 segmentos.
Podemos perceber que os valores transmitidos até o Sistema
Supervisório através da porta paralela estão sendo
compatíveis com aqueles mostrados externamente nos tais
displays. Isso nos leva a crer que a leitura e calibragem foi
feita de maneira correta e satisfatória.
Os mesmos valores podem ser vistos através do Sistema
Supervisório de quatro formas diferentes: em uma planta em
2D do forno, em uma imagem tridimensional do forno, em
forma de um gráfico que evolui com o tempo e em função da
temperatura e através da Realidade Aumentada, onde basta
posicionarmos a webcam ou um óculos de Realidade
Aumentada para o marcador que os valores são exibidos em
tempo real.
Figura. 9. – Gráfico com a evolução da temperatura.
REFERÊNCIAS BIBLIOGRÁFICAS
[1] Cortona 3D.
http://www.cortona3d.com/.
23/04/2009 18:00hs/19:00hs.
[2] IMPA - Instituto Nacional de Matemática Pura e
Aplicada.
http://w3.impa.br/~lvelho/i3d01/demos/lourena/Introduc
ao.htm.
27/04/2009 15:30hs/16:30hs.
[3] Universidade de Caxias do Sul – Centro de Ciências
Exatas e Tecnológicas – Departamento de Engenharia
Mecânica.
http://www.ucs.br/ccet/demc/vjbrusam/inst/temp51.pdf.
27/04/2009 16:30hs/17:30hs.
[4] Wikipedia.
http://pt.wikipedia.org/wiki/PIC16F877.
27/04/2009 18:30hs/19:30hs.
[5] Rogercom – O maior conteúdo brasileiro sobre porta
paralela.
http://www.rogercom.com/.
27/04/2009 19:30hs/20:30hs.
[6] Realidade Aumentada.
http://realidadeaumentada.com.br/home/index.php?optio
n=com_content&task=view&id=6&Itemid=28.
27/04/2009 20:30hs/21:30hs.
Download

SISTEMA SUPERVISÓRIO UTILIZANDO REALIDADE AUMENTADA