SISTEMA SUPERVISORIO UTILIZANDO REALIDADE VIRTUAL E AUMENTADA Kenedy Lopes Nogueira, Keila F. Chagas Nogueira, Edgard Lamounier, Alexandre Cardoso Universidade Federal de Uberlândia , Faculdade de Engenharia eletrica, Uberlândia – Minas Gerais, [email protected], [email protected], [email protected], [email protected] Resumo – A proposta desse artigo é desenvolver um Sistema Supervisório que funciona no local onde os dados são coletados. Para tanto será utilizado um sistema de Rádio Freqüência (RF) 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 é proposto o uso de Realidade Aumentada, que será uma forma inovadora de visualização do tal sistema. Será possível monitorar sensores de temperatura através da porta paralela do computador. Para a visualização dos valores das temperaturas encontradas, é proposto um aplicativo desenvolvido com a ferramenta FLARToolKit. 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 computer parallel port to monitor the temperature sensors of a furnace that produces charcoal. To view the values read by the sensors, in addition to the conventional way, is used Augmented Reality technology, which will be an innovative way of viewing this system. To view the values of temperatures encountered, it will be used an application developed with FLARToolKit. 1 Keywords – Industrial Automation, Augmented Reality, FLARToolKit, Supervisory System. I. INTRODUÇÃO A proposta deste trabalho é tornar a forma de visualização das informações apresentadas por Sistemas Supervisórios1 atuais mais atraente, usando para isso, técnicas de Realidade Aumentada. 1- Os sistemas supervisórios permitem que sejam monitoradas e rastreadas informações de um processo produtivo ou instalação física. 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 remotos usando RA 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, possibilitando agilizar a tomada de decisão em ambientes insalubres. III. FUNDAMENTOS TECNOLÓGICOS 1) 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. Este ambiente de desenvolvimento possui desempenho e confiabilidade. 2) VRML - Ferramenta usada para criar o ambientes virtuais, que permite que se apresentem objetos e mundos tridimensionais através da World Wide Web.[1] 3) FLARToolkit - É um conjunto de classes desenvolvidas em AS3 (ActionScript 3.0), que juntamente com o Papervision3D possibilita o desenvolvimento de aplicações de Realidade Aumentada. Para executar aplicações utilizando o FLARToolkit o cliente deve instalar no navegador o Flash Player versão 9 ou superior, e permitir o acesso do plugin à webcam. Providencia técnicas de Visão Computacional para calcular a posição e orientação de uma câmara em relação a marcas (em cartões), para que objetos virtuais em 3D possam ser sobrepostos (decalcados) precisamente através das marcas. É 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, conforme mostra as figuras a seguir. Primeiro a imagem real de vídeo é transformada em imagem binária. Esta imagem é depois analisada, de forma a encontrar regiões quadradas. O Sistema encontra todos os quadrados na imagem binária, muitos dos quais ainda não são marcas de treino. Para cada quadrado, o padrão dentro do quadrado é capturado e comparado novamente com padrões pré-treinados (figura 1) . 4) 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 autoaquecimento é 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] O sensor pode ser visto na figura 2 a seguir. Figura 2 – Sensor de temperatura LM35. Figura 1 – Funcionamento do Toolkit RA., 5) 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 microcontrolador pode ser visto na figura 3 a seguir. Figura 3 – Microcontrolador PIC16F877. 6) 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 como visto na figura 4, e portanto tem-se oito bits disponíveis como pode-se ver na figura 4. 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] 7) Sistemas Supervisórios - Os sistemas supervisórios permitem que sejam monitoradas e rastreadas informações de um processo produtivo ou instalação física. Tais informações são coletadas através de equipamentos de aquisição de dados e, em seguida, manipuladas, analisadas, armazenadas e posteriormente, apresentadas ao usuário. Estes sistemas também são chamados de SCADA (Supervisory Control and Data Aquisition). Os primeiros sistemas SCADA, basicamente telemétricos, permitiam informar periodicamente o estado corrente do processo industrial, monitorando sinais representativos de medidas e estados de dispositivos, através de um painel de lâmpadas e indicadores, sem que houvesse qualquer interface aplicacional com o operador. Atualmente, os sistemas de automação industrial utilizam tecnologias de computação e comunicação para automatizar a monitoração e controle dos processos industriais, efetuando coleta de dados em ambientes complexos, eventualmente dispersos geograficamente, e a respectiva apresentação de modo amigável para o operador, com recursos gráficos elaborados (interfaces homem-máquina) e conteúdo multimídia (figura 5), contudo ainda não exploram as tecnologias imersivas RA e RV. Figura 5 - Exemplo de um sistema supervisório convencional. IV. Figura 4 – Circuito do termômetro. DETALHES DA IMPLEMENTAÇÃO No forno real as temperaturas são muito elevadas. Tais temperaturas não poderiam ser alcançadas dentro de um laboratório de informática e, portanto, seria impossível testar o funcionamento do Sistema Supervisório, para resolver este problema foi utilizado um sensor de boa precisão que trabalha em uma faixa menor de temperatura. 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 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. uma temperatura através do sensor LM35 e exibi-la na tela do protótipo do supervisório de forma local. Figura 8 - Esquema de captura de temperatura pela porta paralela [5]. A figura 9 abaixo ilustra o esquema de funcionamento do sistema. Onde, pode-se observar o forno sendo monitorado em tempo real por sensores de temperatura, estes dados são transmitidos via RF até o computador principal onde a planta convencional é alimentada, ao mesmo tempo transmite os dados para planta em Realidade Aumentada móvel . Figura 6 – Circuito do termômetro. Para construir o protótipo 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. Para tal construiu-se um protótipo de termômetro digital controlado por computador. O próprio Datasheet do sensor LM35 sugere a montagem de um sensor como mostra a figura 7. Figura 7 - Esquema de montagem lm35 [7]. O diagrama a seguir (figura 8) esquematiza os módulos necessários para que o computador possa “ler” Figura 9 – Esquema de funcionamento do sistema. 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, podese 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 5, podese 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 figures 10, 11, e 12 a seguir. Figura 13 – Gráfico com a evolução da temperatura. 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 14. Figura 11 – Planta do forno de carvão vegetal. Figura 14 – Botão que habilita a Realidade Aumentada. Figura 12 – 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. Na imagens a seguir (Figuras 15 e 16), capturadas à partir de um óculos de Realidade Aumentada, podem ser vistos o marcador, e logo em seguida, o valor virtual da temperatura projetado sobre ele. 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. TRABALHOS FUTUROS Como trabalho futuro pretende-se adaptar o sistema para interface de comunicação USB. Inclusão de alarmes sonoros, além dos alarmes visuais já existentes e implementar a opção de salvar o histórico das temperaturas em um banco de dados. REFERÊNCIAS BIBLIOGRÁFICAS [1] Cortona 3D. http://www.cortona3d.com/. Acedido em 23/04/2011 18:00hs/19:00hs. Figura 15 - Marcador visto através dos óculos de Realidade Aumentada [2] IMPA - Instituto Nacional de Matemática Pura e Aplicada. http://w3.impa.br/~lvelho/i3d01/demos/lourena/Introd ucao.htm. Acedido em 27/04/2011 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.pd f. Acedido em 27/04/2011 16:30hs/17:30hs. [4] Wikipedia. http://pt.wikipedia.org/wiki/PIC16F877. Acedido em 27/04/2011 18:30hs/19:30hs. Figura 16 - Valor virtual da temperatura, projetado sobre o marcador CONCLUSÕES 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 [5] Rogercom – O maior conteúdo brasileiro sobre porta paralela. http://www.rogercom.com/. Acedido em 27/04/2009 19:30hs/20:30hs. [6] Realidade Aumentada. http://realidadeaumentada.com.br/home/index.php?opt ion=com_content&task=view&id=6&Itemid=28 Acedido em 27/04/2011 20:30hs/21:30hs. [7] DataSheet LM35 national www.national.com/ds/LM/LM35.pdf Acedido em 04/05/2011 21:30hs/22:30hs.