REALIDADE VIRTUAL APLICADA A INSTALAÇÕES ELÉTRICAS ADEMAR V. S. NETTO, JOSÉ A. DO N. NETO, MARIA DE FATIMA Q.VIEIRA LIHM –DEE – CEEI UFCG, Campus I Caixa Postal 10053 58.429-900 Campina Grande, Paraíba {ademar.netto, alves,fatima}@dee.ufcg.edu.br Abstract Building virtual reality environments, demands a deep knowledge of the physical environment as well as on the system to be modeled. Furthermore, the modeling objectives, functionality and features of the virtual world determine the choice of language and tools used to build the virtual world. This paper describes the process of building a virtual reality representation of an electric system substation. The idea is to integrate this virtual reality representation into the design of a simulator to be used for operator training. The virtual world represents a substation control room with control panels and the supervisory system screen. This project is based on the integration between the model for the visual representation in virtual reality and the model (built in Colored Petri Net) that represents the system behavior (equipment and devices in the substation environment). The integration is achieved through TCP-IP, with messages being exchanged between models. To ease the representation of different installations the strategy adopted when building this virtual environment is based upon a model library that keeps representations of the devices and equipment typically found in the control room of electric systems substations. Keywords Virtual Reality, Operator Training System, Simulation Resumo A construção de ambientes em realidade virtual demanda o conhecimento aprofundado do ambiente físico e do processo a ser modelado. Por sua vez os objetivos, as funcionalidades e as características do mundo virtual norteiam a escolha de linguagem e ferramentas que serão utilizadas. Neste artigo é descrito o processo de construção de um ambiente em realidade virtual de uma subestação do sistema elétrico. O objetivo da modelagem foi a construção de um simulador para treinamento de operadores de subestação. O ambiente modelado foi a sala de comando com a representação dos painéis de equipamentos e o terminal para supervisão do sistema. O desenvolvimento deste projeto se baseia na integração de uma representação visual do ambiente em realidade virtual com uma representação em Rede de Petri Coloridas (CPN) do comportamento dos equipamentos e dispositivos ali representados. A integração destes dois níveis de abstração é feita a partir de troca de mensagens em TCP-IP. Com o propósito de facilitar a representação de novos ambientes, a estratégia de construção deste ambiente virtual conta com uma biblioteca em CPN que representa o comportamento dos equipamentos e dispositivos tipicamente encontrados em salas de comando de subestações de um sistema elétrico. Palavras-chave Realidade virtual, Sistema para o treinamento de operadores, Simulação 1 Introdução Realidade virtual refere-se a uma experiência imersiva e interativa baseada em imagens gráficas 3D (três dimensões) geradas em tempo real por computador (Pimentel, 1995). Através da realidade virtual é possível simular um sistema real ou imaginário, onde um ou mais usuários podem interagir através da visualização e manipulação dos objetos. A simulação de ambientes em realidade virtual é uma estratégia adotada no desenvolvimento de ambientes voltados para o aprendizado (Silva et al, 2008) e para o treinamento (Marcos et. al, 2001), (Souza et al, 2006). Imergir o usuário em um ambiente similar ao de trabalho é um recurso eficaz no treinamento de operadores. Este recurso é particularmente necessário para ambientes industriais nos quais o treinamento de operadores não pode ser feito com o sistema real. Por outro lado, é nos sistemas considerados críticos, do ponto de vista do impacto do erro, que o treinamento é indispensável como forma de minimizar a ocorrência do erro. O objetivo deste trabalho é apresentar o processo adotado na concepção de ambientes de automação industrial, utilizando realidade virtual (RV), para serem utilizados em treinamento simulado. Este artigo está organizado em quatro seções, incluindo esta. Na próxima sessão é apresentado o processo adotado na construção de ambientes virtuais, na sessão três este processo é aplicado à construção de um ambiente virtual para representar a sala de controle de uma subestação de sistema elétrico (SE); finalmente na quarta seção são discutidos os limites desta estratégia, tecidas considerações e sugeridos os próximos passos para este trabalho. 2 Processo para construção de ambientes de simulação O processo utilizado na construção de mundos virtuais aplicado a ambientes de automação é ilustrado na Figura 1. O processo inicia com a escolha da linguagem para a representação do mundo virtual e das ferramentas de edição e visualização; em seguida é feito o estudo do processo a ser representado; a construção do modelo formal do comportamento dos objetos no processo modelado; a construção do mundo virtual; e a integração da representação virtual com o modelo formal do comportamento do sistema. Escolher Linguagem Escolher Ferramentas Estudar o Sistema oferecido para a linguagem. Outro aspecto importante são os modos de interação com o mundo virtual: andar, voar, gravidade. Assim como a compatibilidade da linguagem com dispositivos de interação tais como mouse, teclado e outros. Finalmente dois aspectos importantes na representação de ambientes de automação são a rapidez na visualização do mundo virtual e a possibilidade de integir com processos externos. 2.2 Estudo do processo Para modelar o processo é necessário analisar o ambiente e o sistema de automação que será representado. Esta etapa consiste de visitas técnicas ao local; registro das características do sistema; entrevistas com as pessoas que interagem com o sistema e o registro fotográfico do ambiente a ser modelado. A partir dos dados coletados é feita uma descrição preliminar do processo, destacando os aspectos que serão representados e o grau de fidelidade que deve ser alcançado. Concepção e modelagem Modelar comportamento Modelar Rep. Visual Integrar modelos Figura 1 - Processo de modelagem. 2.1 Critérios para escolha da Linguagem A escolha da linguagem para representar o mundo virtual se dá com base nos seguintes critérios: capacidade semântica de representar o ambiente e seus objetos (representação 3D, 2D e áudio); recursos para comunicação com processos externos e de visualização remota; recursos para acesso simultâneo ao mundo virtual; disponibilidade de documentação e de ferramentas para edição e visualização; portabilidade; e facilidade de aprendizado e de compreensão. Ao escolher uma linguagem para modelar um ambiente em realidade virtual (3D) é necessário considerar as ferramentas disponíveis para construção do mundo virtual e para sua posterior visualização. Também é necessário considerar sua compatibilidade com o sistema operacional no qual o mundo virtual será executado, a exemplo de Windows e Linux e o suporte 2.3 Modelagem do ambiente de automação A construção dos modelos que comporão o mundo virtual consiste na codificação das informações coletadas na etapa anterior em dois níveis distintos: Modelagem do comportamento do sistema: consiste na construção de um modelo formal que represente (a) o comportamento dos objetos do mundo virtual, neste caso, equipamentos e dispositivos e (b) o comportamento da interface com o operador e, (c) as relações entre os objetos (interdependência de comportamentos tais como inter-travamentos de dispositivos no ambiente de automação). Modelagem da representação visual: consiste na construção de uma representação, em realidade virtual, do ambiente de automação. O mundo virtual é representado a partir de objetos tridimensionais (3D) que representam os objetos reais do ambiente de automação. Uma estratégia dotada para reduzir o tempo de modelagem foi a superposição de imagens 2D do ambiente real (fotos) aos objetos 3D criados, o que acarretou no aumento do grau de realismo alcançado. Estas vistas superpostas foram em seguida animadas permitindo que os objetos ali representados, tais como chaves e outros manipuladores pudessem sofrer interações no mundo virtual. Uma vez construído o modelo formal do comportamento dos objetos do mundo real e sua representação visual, utilizando Realidade Virtual é necessário interconectá-los. A comunicação entre os modelos deve ser full duplex permitindo que uma interação com objetos representados no mundo virtual seja repassada ao modelo do comportamento do sistema e que seu novo estado repercuta na representação visual do mundo virtual. Na próxima seção é apresentado um estudo de caso no qual este processo foi adotado na construção de um ambiente virtual para treinamento de operadores de uma subestação de um sistema elétrico. 3 Ambiente virtual de uma SE O primeiro passo do processo descrito na seção anterior consistiu na escolha da linguagem. Dentre as linguagens avaliadas segundo os critérios já apresentados foi escolhida a Virtual Reality Modeling Language (VRML) (Ames et al. 1997). A versão utilizada foi VRML 2.0. Uma representação nesta linguagem pode ser editada diretamente em um bloco de notas, dispensando uma ferramenta de edição. Ela é de fácil aprendizado e interpretação e pode ser visualizada a partir de diversos plugins, diretamente em uma página na Web. Dentre as ferramentas disponíveis para edição de um novo projeto estão o VRMLPad (VRMPad 2009) e o Blender (Blender 2009). Para visualização foram utilizados o Cortona (Cortona 2009) na plataforma Windows e o Freewrl (Lukka 1998). Este último, além de permitir a visualização possibilitou a integração com o modelo formal do comportamento do sistema. No sistema analisado, ambiente para supervisão e controle de uma subsestação de um sistema elétrico, estão disponíveis ao operador três níveis de interação local, que permitem alternativamente supervisionar e controlar o sistema: Nível 0: consiste na operação direta dos equipamentos através de seus painéis de operação, em geral no ambiente externo à sala de controle (pátio de equipamentos). Este tipo de operação é restrito à situações especiais devido aos riscos causados pela proximidade do ope- rador humano com o equipamento elétrico no campo. Nível 1: consiste na operação remota dos equipamentos através de painéis de operação situados na sala de controle. Nível 2: neste nível a interação se dá através de estações de trabalho situadas na sala de controle e apoiadas por um software de supervisão do tipo SCADA (supervisory control and data aquisition). Estas estações possibilitam ao operador a visualização e interação com os equipamentos de campo. Em algumas instalações (subestações), do sistema elétrico estudado, os três níveis de interação descritos anteriormente podem ser operados indistintamente. A Figura 2 ilustra a sala de controle de uma subestação na qual o controle pode ser feito através de painéis de controle ou através de um supervisório. Este projeto focaliza os níveis 1 e 2 de interação, pois representa apenas os objetos da sala de controle, não sendo considerados os dispositivos e equipamentos situados no campo (Nivel 0) e também presentes na instalação. O mundo virtual representando a sala de controle da SE foi construído usando a linguagem VRML. A Figura 3 ilustra a representação 3D dos objetos de interação disponíveis na instalação. Na tentativa de tornar a representação “mais fiel” foram utilizadas imagens 2D (fotos) da subestação modelada. A modelagem do comportamento dos objetos presentes no mundo virtual foi realizada utilizando o formalismo de Redes de Petri Colorida – (CPN) (Jensen 1992). Os modelos construídos representam o comportamento dos objetos e de suas interfaces presentes na sala de controle da SE. Estes modelos se comunicam com o ambiente virtual através da troca de mensagens. Na implementação desta comunicação foram utilizadas classes JAVA (Java 2009) e a biblioteca COMMS/CPN (Gsallasch, 2001). A classe JavaCPNInterface define a interface para as primitivas connect, accept, send, receive e disconnect. A classe JavaCPN implementa as primitivas de JavaCPNInterface. A classe EncodeDecode faz a conversão de objetos de dados em fluxos de bytes e vice-versa. E a classe PoolServer é do tipo thread, responsável pela abstração da Camada de Comunicação da Comms/CPN. Esta classe utiliza as funções primitivas das classes JavaCPN e EncodeDecode (Freitas 2006). A Comms/CPN foi projetada para atuar como interface entre os modelos redes de Petri coloridas e o protocolo TCP/IP. Sua estrutura é composta de três módulos principais, organizados em: i) Camada de Comunicação: contém os mecanismos básicos de transporte do protocolo TCP/IP e todas as funções primitivas fundamentais relacionadas à sockets. Esta camada faz a interação direta com o processo externo. ii) Camada de Mensagens: responsável pela conversão dos dados em fluxo de bytes para que haja a troca de mensagens entre os modelos e as aplicações externas; iii) Camada de Gerenciamento de Conexão: permite que processos externos abram, fechem, enviem e recebam múltiplas conexões. Esta camada controla as outras duas e faz interface direta com os modelos redes de Petri. Foram construídos dois modelos de comportamento, para representar os níveis 1 (nível de painéis) e 2 (nível SCADA) descritos acima. Os dois modelos foram interconectados, através da troca de mensagens. A modelagem dos painéis foi implementada a partir da biblioteca de modelos descrita em (Nascimento 2003), utilizando uma representação hierárquica a partir da conexão de sub-modelos. Esta biblioteca consiste de modelos do comportamento de objetos tipicamente encontrados em um ambiente de subestação de sistemas elétricos (disjuntores, chaves, etc...). Na Figura 4 é ilustrado o modelo do comportamento de uma chave de transferência de proteção de três posições. Esse modelo é composto de lugares que representam o estado das chaves: normal, em transferência e transferida. As fichas informam quais chaves estão presentes neste modelo. Este modelo deve se comunicar com a representação visual das chaves no mundo virtual, através do envio de mensagens. Figura 2 - Sala de operação e controle de uma subestação Figura 3 - Representação VRML da sala de operação e controle de uma subestação. Na construção do simulador do ambiente da subestação foi incluído um módulo que permite a interação do operador com o modelo do comportamento dos objetos a partir de uma representação em um sistema SCADA. A comunicação entre o modelo do comportamento do sistema (motor de simulação) e o sistema supervisório é feita através da troca de mensagens via rede de computadores, utilizando o protocolo TCP/IP e fazendo uso de um driver de comunicação no software supervisório. Neste caso, cada interação com os objetos representados no software supervisório é enviada para o modelo da planta que implementa o comportamento do dispositivo simulado. A planta por sua vez envia uma mensagem de retorno, tanto para o sistema SCADA quanto para o mundo virtual com uma realimentação do comportamento do sistema. Esta mensagem promove uma mudança do estado do objeto nas duas representações. Figura 4 – Modelo CPN da chave de transferência de proteção A arquitetura do simulador possibilita a comunicação com diferentes supervisórios desde que estes ofereçam a comunicação TCP/IP. Neste estudo a interface com o sistema SCADA foi construída utilizando tanto para o software Elipse Scada (Elipse, 2009) quanto para o Indusoft (Indusoft, 2009), uma vez que ambos oferecem a comunicação via TCP/IP. 4 Considerações finais Neste artigo foi descrito o processo de construção de um ambiente virtual para treinamento simulado de operadores de subestação de sistemas elétricos. O processo compreende um conjunto de etapas relacionadas: à representação visual (descrita a partir da linguagem VRML) e à modelagem do comportamento dos objetos em Rede de Petri Colorida; a qual provê a dinâmica do comportamento do processo. Os modelos correspondentes foram conectados através de mensagens via TPC/IP. A representação do ambiente virtual foi facilitada pela estratégia de representar inicialmente os objetos como volumes sólidos sem detalhes, em um ambiente tridimensional que representa o ambiente físico modelado e em seguida superpor a estes objetos representações 2D (fotos) do ambiente real. A representação virtual da instalação teve como objetivo oferecer um ambiente simulado para o treinamento e certificação de operadores. O protótipo do simulador construído a partir do mundo virtual foi testado no laboratório de usabilidade da UFCG (LIHM) com operadores da instalação real. A partir das suges- tões feitas na ocasião, novos aspectos estão sendo incorporados. Dentre as sugestões destaca-se o ajuste no tempo de resposta do sistema simulado, uma vez que de acordo com os testes realizados, a realização de manobras neste sistema apresenta uma duração bem inferior à interação com o sistema simulado. No estágio atual do projeto a representação do ambiente está sendo refinada com a inclusão de: som ambiente, representação do pátio de equipamentos e a inserção de alarmes visuais e sonoros, com o propósito de aumentar o grau de realismo do ambiente representado. Como trabalho futuro pretende-se integrar ao simulador um módulo tutor com recursos para edição de treinamentos e armazenamento do log individual e de informações sobre os resultados dos treinamentos realizados. Pretende-se ainda revisar as decisões originais do projeto relativas às tecnologias adotadas, a exemplo da migração da linguagem VRML para X3D. Agradecimentos Os autores agradecem às agências CNPq e CAPES pelo apoio financeiro na forma de bolsa de pós-graduação para dois dos autores deste artigo e agradecem também à Empresa CHESF pela colaboração na realização deste trabalho. Referências Bibliográficas Ames, L. A.; Nadeau, D. R.; Moreland, J. L. The VRML 2.0 Sourcebook. 2nd. Edition, John Wiley & Sons, Inc., 1997. Blender. Ferramenta de edição 3D. http://www.blender.com.br/. Acessado em Abril de 2009. Cortona. Ferramenta de visualização 3D, para navegadores. www.cortona3d.com/cortona. Acessado em Abril 2009 Costa, O. L. V., do Val, J. B. R. e Geromel, J. C. (1996). Convex programming and the H2-control of jump linear systems, Proceedings of the 11th Brazilian Automatic Control Conference, Vol. I, São Paulo, pp. 067072. Elipse Software. url: www.elipse.com.br acessado em maio 2009. Freitas R. C., et. al. “Representando a IHM de uma Subestação através de Modelos Formais e Realidade Virtual”, SBSE 2006, Campina Grande, Brazil, 2006. Gsallasch, G., Kristensen, L. M. “Comms/CPN: A Communication Infrastructure for External Communication with Design/CPN”, Proc. of the 3rd Workshop on Practical Use of Coloured Petri Nets and the CPN Tools (CPN’01), pp 79– 93, 2001. Indusoft – Tools for Automation. url: www.indusoft.com.br visualizado em maio de 2009. Java. Url: http://www.java.com. Acessado em Abril 2009. Jensen K., Couloured Petri Nets – Basic concepts, analyses methods and pratical use – Vol 1. ed. Spring – Verlag, USA, 1992. Lukka, T. J. “FreeWRL – VRML/Browser”. Harvard Society Fellows. Disponível em: http://www.perl.org/tpc/1998/User_Applic ations/FreeWRL/. 1998. Marcos, A.F.; Grave, L.; Escaleira, C.; A., Silva. "A Realidade Virtual como Ferramenta de Treino para a Montagem de Cablagens Eléctricas", Trabalho apresentado em 10º Encontro Português de Computação Gráfica, 2001. Nascimento, J.A.N., Turnell, M. F. Q. V., Scaico, A., Modelando Componentes da IHM de Sistemas Industriais em Redes de Petri Coloridas. VI SBAI - Simpósio Brasileiro de Automação Inteligente, setembro 2003, Bauru-SP, Brasil. Pimentel, K.;Teixeira, k. Virtual reality – through the new looking glass. 2nd edition, New York, McGraw-hill, 1995. Silva, João Erick da ; Rogado, J. . Realidade Virtual no Ensino de Química: o caso do modelo de partículas. In: XIV Encontro Nacional de Ensino de Química, 2008, Curitiba-PR. XIV Encontro Nacional de Ensino de Química, 2008. Souza, D. F. L., Valdek, M. C. O., Moraes, R. M., Machado, L. S. SITEG – Sistema Interativo de Treinamento em Exame Ginecológico.VIII Symposium on Virtual Reality SVR. ISBN: 857669067-5. 12 pags. Pará – Brasil. 2006. VRMLPad. Ferramenta de edição da parallelgraphics.http://www.parallelgraphics.com/pr oducts/vrmlpad/download/, acessado em Abril 2009.