Full text
Departamento de Sistemas de Informação André Filipe Castro Alves Sistema Reconfigurável de Realidade Virtual para simulação dezembro de 2019
Departamento de Sistemas de Informação André Filipe Castro Alves Sistema Reconfigurável de Realidade Virtual para simulação Dissertação de Mestrado Mestrado Integrado em Engenharia e Gestão de Sistemas de Informação Trabalho efetuado sob a orientação do Professor Luís Gonzaga Mendes Magalhães dezembro de 2019
ii DIREITOS DE AUTOR E CONDIÇÕES DE UTILIZAÇÃO DO TRABALHO POR TERCEIROS Este é um trabalho académico que pode ser utilizado por terceiros desde que respeitadas as regras e boas práticas internacionalmente aceites, no que concerne aos direitos de autor e direitos conexos. Assim, o presente trabalho pode ser utilizado nos termos previstos na licença abaixo indicada. Caso o utilizador necessite de permissão para poder fazer um uso do trabalho em condições não previstas no licenciamento indicado, deverá contactar o autor, através do RepositóriUM da Universidade do Minho. https://creativecommons.org/licenses/by/4.0/
iii AGRADECIMENTOS Para que hoje seja possível estar nesta posição o contributo de diferentes intervenientes foi fundamental. Neste sentido é importante deixar alguns agradecimentos. Agradecer aos meus pais, sem os quais nada teria sido possível, por tudo aquilo que representam e por contribuírem ativamente para a moldagem daquilo que sou hoje; Agradecer ao meu irmão pelo apoio constante e pela referência que representa desde sempre; Agradecer ao Mike e à Ruca por não perderem uma oportunidade para me fazer sorrir; Agradecer aos amigos mais próximos pelo apoio e por tantos momentos de descompressão; Por fim, mas fundamental para os resultados obtidos na presente dissertação, agradecer ao professor Luís Gonzaga Mendes Magalhães pela orientação e contributos incansáveis.
iv DECLARAÇÃO DE INTEGRIDADE Declaro ter atuado com integridade na elaboração do presente trabalho académico e confirmo que não recorri à prática de plágio nem a qualquer forma de utilização indevida ou falsificação de informações ou resultados em nenhuma das etapas conducente à sua elaboração. Mais declaro que conheço e que respeitei o Código de Conduta Ética da Universidade do Minho.
v RESUMO Apesar da velocidade cada vez mais elevada com que hoje são alcançados desenvolvimentos no campo da Realidade Virtual (RV), nomeadamente no desenvolvimento de equipamentos destinados ao seu suporte, a oferta de soluções que visem a simulação de várias máquinas industriais é ainda muito residual. Este cenário piora se considerarmos, nesta mesma área, sistemas capazes de simular diferentes tipos de máquinas e que possibilitem a alteração do conjunto de máquinas simuláveis. Neste sentido, com esta dissertação, pretende-se o desenvolvimento de um sistema reconfigurável capaz de simular a operação de diferentes tipos de máquinas. Pretende-se, ainda, que este sistema seja passível de ser utilizado na formação e treino de colaboradores para a operação das diferentes máquinas presentes numa linha de produção. O desenvolvimento de um sistema com estas características oferece um conjunto de vantagens, por exemplo, permitir evitar questões como a necessidade de desenvolvimento de um sistema distinto para cada uma das máquinas, o que se tornaria rapidamente impraticável, por exemplo, ao nível dos custos associados. Para que tal fosse possível, inicialmente foi necessário proceder a uma revisão de literatura. Uma vez concluída esta fase, desenvolveu-se o simulador de RV, definiu-se uma linguagem de especificação (VRSimL) a ser utilizada nos ficheiros de especificação a criar e desenvolveu-se um gestor de ficheiros de especificação. Posteriormente, foram efetuados testes a ambas as soluções. De modo a que os testes ao simulador desenvolvido pudessem ser efetuados, criou-se um cenário composto por duas estruturas que incluem todo o leque de opções previsto na VRSimL e que visam simular aquilo que poderiam ser duas máquinas industriais. Os resultados destes testes indiciam que é possível simular, através das soluções desenvolvidas e com relativa facilidade, um conjunto mutável de máquinas com níveis de complexidade baixos. Finalizados os trabalhos é ainda possível concluir que os resultados alcançados poderão sustentar a exequibilidade e aplicabilidade do desenvolvimento de simuladores de RV assentes em bases dinâmicas como forma de obtenção de soluções de RV mais flexíveis e adaptáveis a contextos mutáveis. Quanto às principais limitações dos trabalhos efetuados, é importante referir que de momento apenas é possível simular máquinas de complexidades baixas e que ainda não é possível a utilização de HMDs ( Head-mounted displays ) ou de luvas instrumentadas. Palavras-Chave Indústria, Máquina, Realidade Virtual, Reconfigurável, Simulador
vii ABSTRACT Despite the increasing speed with which developments in the field of Virtual Reality (VR) are achieved today, namely in the development of equipment for its support, the offer of solutions that manage to simulate various industrial machines is still very residual. This scenario worsens if we consider, in this same area, systems capable of simulating different types of machines and that allow changes in the set of available machines. With the present thesis, it is intended the development of a reconfigurable system capable of simulating the operation of different types of machines. It is also intended the use of this system in the training of workers for the operation of the different machines present in a production line. The development of a system with such characteristics offers a set of advantages, for example, avoiding the need to develop a different system for each machine, which would be almost impossible, if variables like the associated costs were considered. For such, it will be necessary to review the literature. Once this phase is concluded, it was developed a VR simulation system, defined a specification language (VRSimL) used in the created specification files and developed a specification files management system. Posteriorly, a set of tests to both developed solutions were done. In order to test the developed VR simulation system, a test scenario composed by two structures was created. These structures include the full range of options provided by VRSimL and aim to simulate what could be industrial machines. The results of these tests indicate that it is possible to simulate, through the solutions developed and with relative ease, a changeable set of machines with low levels of complexity. Finally, it is now possible to conclude that the results achieved may support the applicability of the development of VR simulators with dynamic bases, as a way to obtain more flexible and adaptable VR solutions. As for the main limitations, it is important to mention that for now it is only possible to simulate machines with low levels of complexity and that it is not possible to use head-mounted displays (HMDs) or instrumented gloves. Keywords Industry, Machine, Reconfigurable, Simulator, Virtual Reality.
xv LISTA DE ABREVIATURAS, SIGLAS E ACRÓNIMOS API – Application Programming Interface C# – C Sharp CAD – Computer-Aided Design CCG – Centro de Computação Gráfica HMD – Head-mounted display HMDs – Head-mounted displays LOD – Level of detail MOOCs – Massive Open Online Courses RV – Realidade Virtual UML – Unified Modeling Language VEML – Virtual Environment Markup Language VR – Virtual Reality VRML – Virtual Reality Modeling Language X3D – Extensible 3D XML – Extensible Markup Language
1 1. INTRODUÇÃO 1.1 Enquadramento Nos últimos anos os níveis de exigência impostos pelos consumidores, em diversas áreas, cresceram significativamente, existindo a clara necessidade de adaptar os processos às exigências destes. Uma das áreas que tem enfrentado diversos desafios é a indústria (Ordaz, Romero, Gorecky, & Siller, 2015), sendo esta a área de foco da solução a desenvolver na presente dissertação. Sabemos hoje que, à semelhança daquilo que acontece noutras áreas, os recursos humanos são um pilar fundamental para atingir o sucesso organizacional, que atualmente os consumidores esperam mais da indústria do que no passado e que a capacidade desta para suprir as crescentes necessidades dos consumidores está intimamente ligada aos recursos humanos ao seu dispor. Considerando ainda que as capacidades dos recursos humanos ao dispor das organizações estão correlacionadas com a qualidade do seu treino (Petukhov & Steshina, 2014) e consequentemente dos métodos de formação e treino utilizados, é notória a necessidade de evolução dos métodos tradicionais, visto estes serem, atualmente, insuficientes para acompanhar a tendência das exigências dos consumidores. Na presente dissertação estudar-se-á a aplicação de simuladores associados à Realidade Virtual (RV) como forma de oferecer uma solução mais completa para este problema. Quando comparada a métodos tradicionais, a aplicação desta tecnologia na formação e treino de colaboradores oferece um vasto leque de vantagens. A utilização desta tecnologia em simuladores constitui um método mais eficaz, eficiente e seguro para as organizações (Chadwick, 2009). Através deste é possível, por exemplo, treinar tarefas que num ambiente real seriam demasiado perigosas devido às máquinas utilizadas (Siemon, Muñoz, & Berasategi, 2002; Stuering & Schumann, 1999), reduzir o tempo e custos necessários à formação de colaboradores (Chadwick, 2009), aumentar a produtividade (Chadwick, 2009), reduzir a necessidade de proceder a manutenções (Chadwick, 2009), reduzir a ocorrência de danos nos equipamentos resultantes de erros cometidos por operadores inexperientes (Chadwick, 2009) e, em última análise, permitir que os colaboradores considerados experientes possam recordar e treinar diferentes competências previamente adquiridas (Chadwick, 2009). Fica assim mais clara a possibilidade de simuladores associados à RV poderem desempenhar um papel muito importante nas organizações em que são inseridos, contribuindo para que estas
2 aumentem os seus lucros. Apesar disto e da velocidade cada vez mais elevada com que hoje em dia são alcançados desenvolvimentos no campo da RV, nomeadamente no desenvolvimento de equipamentos destinados ao seu suporte, a oferta de soluções que visem a simulação de várias máquinas industriais é ainda muito residual. Cenário este que piora se considerarmos, nesta mesma área, sistemas capazes de simular diferentes tipos de máquinas e que possibilitem a alteração do conjunto de máquinas simuláveis. 1.2 Objetivos e metodologia utilizada A presente dissertação tem como um dos seus objetivos o estudo da RV e dos simuladores associados a esta, com especial foco naqueles desenvolvidos para apoiar o treino e formação de colaboradores na área da indústria. No entanto e dado que a necessidade de criar sistemas reconfiguráveis e capazes de simular a operação de diferentes tipos de máquinas é ainda uma realidade, o principal objetivo da presente dissertação é desenvolver um protótipo que vise colmatar esta situação. Neste sentido, com esta dissertação, pretende-se o desenvolvimento de um sistema reconfigurável, capaz de simular a operação de um conjunto mutável de máquinas industriais e passível de ser utilizado na formação e treino de colaboradores para a operação das diversas máquinas presentes numa linha de produção. O facto de este ser reconfigurável permite que haja apenas um simulador para toda a linha de produção, evitando questões como a necessidade de haver um simulador individual para cada máquina, o que seria pouco viável dado, por exemplo, ter custos associados muito superiores e originar a necessidade de formar os colaboradores para a utilização de um conjunto mais alargado de sistemas. Quanto à metodologia a utilizar, inicialmente proceder-se-á à revisão de literatura relacionada com a RV, com a utilização de simuladores associados à RV, com a utilização deste tipo de simuladores no treino e formação de colaboradores e com as linguagens de especificação de ambientes de RV, de modo a entender melhor o trabalho feito até ao momento nestas vertentes e o modo como simuladores do tipo são concebidos. Para tal, serão utilizados repositórios de artigos, como é o caso do Scopus e do Web of Science. Para a revisão de literatura será, ainda, necessário proceder a dois estudos comparativos, um que abranja um conjunto de HMDs ( Head-mounted displays ) e outro que abranja um conjunto de luvas instrumentadas com feedback háptico. Para estes estudos serão utilizados, numa primeira instância, repositórios de artigos de modo a procurar informação sobre estes dispositivos e, numa segunda instância, endereços web, preferencialmente do fornecedor dos dispositivos, de modo a recolher as restantes especificações necessárias. Uma vez concluída esta fase será preciso definir os requisitos da solução a desenvolver. Atendendo aos sistemas identificados será necessário, por um lado, estudar aqueles que mais se
3 assemelham ao sistema a desenvolver, de modo a levantar os requisitos que devam igualmente ser incluídos na solução. Por outro lado, será essencial analisar as especificidades do problema a dar resposta, nomeadamente a capacidade de cobrir variadas máquinas e de proceder à alteração do conjunto de máquinas simuláveis. Associado a isto seria, ainda, importante haver um conjunto de reuniões, tanto com as pessoas responsáveis por dar formação no tipo de máquinas que a solução visa cobrir, como com as pessoas responsáveis pelo desenvolvimento das máquinas propriamente ditas. Este conjunto de tarefas permitiria adquirir um conhecimento mais alargado de todo o processo de formação neste tipo de máquinas e do modo como estas operam, garantindo uma visão mais abrangente do contexto real e culminando na definição de todos os requisitos necessários para que a solução obtida seja capaz de satisfazer todas as expectativas. Uma vez concluída a especificação do sistema, proceder-se-á ao desenvolvimento da solução recorrendo a uma framework para o desenvolvimento de sistemas de RV, por exemplo, o Unity. De referir, ainda, que esta deverá ser integrada com dispositivos externos, como é o caso de um HMD ( Headmounted display ) e de umas luvas instrumentadas com feedback háptico. Nesta fase, serão utilizados os estudos previamente efetuados, de modo a identificar qual o HMD e quais as luvas instrumentadas mais adequadas para suprir as necessidades identificadas, tendo em conta todas as restrições associadas à presente dissertação. Assim que concluído o desenvolvimento da solução, proceder-se-á ao teste da mesma e será elaborada toda a documentação técnica necessária, nomeadamente casos de teste. Por fim, poderão ser referidos alguns riscos associados à presente dissertação. Neste sentido, deve ser considerada a possibilidade de: não serem obtidas as informações necessárias a uma compreensão abrangente do modo de funcionamento tanto das máquinas a simular como do processo de formação e treino; ocorrer uma definição incorreta ou incompleta dos requisitos da solução a desenvolver; não serem cumpridos os prazos definidos para o desenvolvimento da solução e entrega de toda a documentação necessária; não ser possível ter acesso aos equipamentos de RV considerados mais adequados para a solução a desenvolver; existir a falta de competências técnicas necessárias ao desenvolvimento da solução e ocorrer a perda total ou parcial de documentação referente à dissertação ou da própria solução a desenvolver. De seguida são referidas algumas medidas que visam mitigar estes riscos. Inicialmente será adequado proceder a reuniões com pessoas responsáveis pela fabricação das diferentes máquinas e com pessoas responsáveis pelo formação e treino nas diversas máquinas que a solução visa cobrir. Esta medida possibilitaria um conhecimento mais alargado do modo como as máquinas a simular funcionam
4 e do processo de treino e formação associado a estas. Caso não seja possível colocar em prática esta medida, nem haja a possibilidade de aceder a documentação técnica das diversas máquinas, a solução passará pela simulação de máquinas ou instrumentos mais comuns ou de compreensão mais facilitada, o que permitiria manter toda a lógica da solução final, havendo apenas o ajuste daquelas que são as máquinas ou instrumentos simulados. Para que haja uma definição fiel de todos os requisitos necessários ao sucesso da solução final é necessário obter um conhecimento alargado de todos os aspetos intimamente ligados à solução a desenvolver no âmbito da presente dissertação. Para tal, será fundamental a implementação da medida anterior e uma identificação cuidada daqueles que são os aspetos comuns em soluções do tipo descritos na literatura. No que ao cumprimento de prazos diz respeito, será fundamental a definição atempada das atividades a realizar e respetiva calendarização. Para além disto, será essencial a constante monitorização da realização destas atividades de modo a garantir a sua evolução de acordo com o planeado. Assim, o cumprimento desta calendarização traduzirse-á na conclusão atempada das diferentes atividades e consequente cumprimento dos prazos definidos. Quanto ao risco que se segue, a impossibilidade de ter acesso a determinado equipamento de RV, seja ele um HMD ou umas luvas instrumentadas, poderá resultar em limitações que eventualmente não existiriam se houvesse a possibilidade de escolher os equipamentos considerados mais adequados para a solução que se pretende obter. Não havendo esta possibilidade, por exemplo, devido a não existir qualquer apoio financeiro que possibilite a compra destes equipamentos, a alternativa passará pela utilização de equipamentos disponibilizados pelo Centro de Computação Gráfica (CCG) ou, em último caso, pelo desenvolvimento de uma solução que não esteja integrada com este tipo de equipamentos, muito embora seja desenvolvida e esteja pensada, dentro do possível, tendo em conta uma integração futura com este tipo de dispositivos de RV. De modo a minimizar o risco associado à falta de competências técnicas necessárias ao desenvolvido da solução prevista, todas as tarefas de desenvolvimento deverão ser realizadas atempadamente, assim haverá mais tempo para que imprevistos e dificuldades sejam ultrapassados do modo menos abrupto possível. Deverá ainda haver uma procura constante pela aquisição de novos conhecimentos, clarificação de ideias e/ou esclarecimento de dúvidas, utilizando para tal os diversos recursos disponíveis. Parte fundamental para a minimização deste risco passará, ainda, por experimentar constantemente as diversas abordagens identificadas como possíveis soluções para os problemas emergentes, postura esta que tenderá a culminar na aquisição de conhecimentos fundamentais para o progresso do sistema a desenvolver. Por fim, de modo a evitar a perda de documentação ou da própria solução, deverão ser efetuadas cópias de segurança regulares.
5 De realçar o facto de estas cópias de segurança deverem ser guardadas em diversos dispositivos e/ou plataformas. 1.3 Organização do documento A presente dissertação apresenta a seguinte estrutura: Revisão da literatura, capítulo que visa a apresentação dos resultados encontrados na literatura relacionada com a tecnologia de RV, com a RV no treino e formação de colaboradores e com as linguagens de especificação de ambientes de RV; Sistema de Realidade Virtual genérico, capítulo onde é apresentada a descrição do principal problema enfrentado na presente dissertação, as diferentes abordagens consideradas com vista a dar uma resposta adequada ao problema identificado e a descrição detalhada da lógica da solução desenvolvida de modo a dar resposta ao problema; VRSimL – Linguagem de especificação de máquinas, capítulo que inclui a apresentação de todos os detalhes técnicos da linguagem de especificação definida no âmbito desta dissertação; Protótipo do sistema, capítulo onde é detalhada a implementação de ambas as soluções desenvolvidas e os resultados obtidos; Conclusões, capítulo onde é descrito o trabalho realizado, é efetuado o seu balanço e são sugeridos trabalhos futuros.
7 2. REVISÃO DE LITERATURA Neste capítulo serão apresentados os resultados obtidos com a revisão de literatura efetuada na presente dissertação. Inicialmente é apresentado o conceito de RV e as diferentes dimensões associadas a este, de seguida serão apresentados diferentes aspetos associados à utilização de RV no treino e formação de colaboradores e, por fim, serão apresentadas diferentes linguagens de especificação de ambientes de RV e informação relacionada. 2.1 A tecnologia de Realidade Virtual Como já referido, a presente dissertação visa o desenvolvimento de um sistema reconfigurável de RV para simulação. A RV pode ser definida como sendo um ambiente imersivo, interativo, multissensorial, centrado no observador e tridimensional gerado por um computador e ainda o conjunto de todas as tecnologias necessárias à construção desse ambiente (Cruz-Neira, 1993). Segundo uma outra definição, a RV pode ainda ser vista como sendo um ambiente tridimensional gerado por um computador, que atualiza em tempo real e que permite interação humana através de diversos dispositivos de entrada e saída (Boud, Haniff, Baber, & Steiner, 1999). Uma última perspetiva sobre a RV, define RV como sendo a utilização de computadores digitais em tempo real e de softwares e hardwares especiais, de modo a gerar a simulação de um mundo ou ambiente alternativo, que os utilizadores acreditam como sendo real ou verdadeiro (Mourtzis, Doukas, & Bernidaki, 2014). De referir que no âmbito da presente dissertação será adotada a primeira definição de RV supracitada. No que às características básicas da RV diz respeito, destacam-se as características dos 3I, ou seja, a imersão, a interação e a imaginação (Burdea & Coiffet, 2003; Gao, 2017; Kao, Lee, Liu, & Lin, 2017). Mais recentemente uma versão com 4Is foi sugerida, adicionando a inteligência às três características já referidas, dado esta estar presente nos sistemas de RV mais recentes (Al-Ahmari, Abidi, Ahmad, & Darmoul, 2016).
8 É ainda importante referir que os sistemas de RV tendem a possuir cinco componentes clássicos: as tarefas, o utilizador, o software e bases de dados, o motor de RV e, por fim, os dispositivos de entrada e de saída (Burdea & Coiffet, 2003). Estes cinco componentes e as relações estabelecidas entre si constituem a arquitetura típica de um sistema de RV. A Figura 1 apresenta a arquitetura de um sistema de RV. No que respeita aos ambientes de RV, estes podem dividir-se segundo princípios de imersão e de fidelidade (Cronin, 1997). Assim, a apresentação da RV pode dividir-se em três grupos principais (Arendarski, Termath, & Mecking, 2008). O primeiro possui custos associados inferiores e inclui os sistemas nos quais o ambiente simulado é reproduzido apenas num ecrã de computador, estando toda a interação do utilizador tipicamente limitada à utilização de um rato e um teclado (Arendarski et al., 2008; Wang, Wu, Wang, Chi, & Wang, 2018). O segundo grupo classifica-se como sendo parcialmente imersivo e inclui os sistemas em que o ambiente virtual é reproduzido em displays 3D ou projetado em ecrãs estereoscópicos de grandes dimensões (Arendarski et al., 2008). Por último, o terceiro grupo, embora com mais custos associados, é o mais eficaz e classifica-se como sendo totalmente imersivo (Arendarski et al., 2008). Neste, são utilizados dispositivos como HMDs e luvas instrumentadas de modo a garantir ao utilizador a experiência mais imersiva (Arendarski et al., 2008). Existem variados sistemas associados à RV, sendo estes utilizados nas mais diversas áreas, pelo que podemos encontrar na literatura aplicações desta tecnologia, por exemplo, em simuladores de voo (Ko, Kim, Kafy, Kim, & Kim, 2015), no setor militar (Rizzo, Morie, Williams, Pair, & Buckwalter, 2005), na engenharia (Vaughan, Gabrys, & Dubey, 2016), na indústria (Arendarski et al., 2008; Crison et al., 2005; Jun, Yadong, & Jianyu, 2009; Kao, Tsai, Cheng, & Chao, 2010), na medicina (Baur, Guzzoni, & Georg, 1998), na educação (Crosier, Cobb, & Wilson, 2002; Pantelidis, 2010) e em treinos remotos como é o caso dos MOOCs ( Massive Open Online Courses ) (Vaughan et al., 2016). Figura 1 - Arquitetura de um sistema de RV, adaptada de (Zhang, 2017).
15 2.2 A Realidade Virtual no treino e formação de colaboradores Com o crescimento dos mercados, os consumidores tendem a exigir mais aos diferentes fornecedores de produtos e/ou serviços. Na indústria, por exemplo, levantam-se desafios relacionados com a sustentabilidade, com a flexibilidade, com a redução do tempo necessário para começar a produzir quantidades superiores de determinado produto de modo a satisfazer subidas na procura e com tempos menores para a disponibilização de produtos no mercado (Ordaz et al., 2015). Existe uma clara tendência de evolução pelo que os diferentes fornecedores devem estar a par desta e procurar atualizar os processos que assim o exijam, de modo a conseguir suprir as necessidades impostas pelos clientes. Como resultado desta atualização é necessário, muitas vezes, aumentar a complexidade das tarefas executadas pelos trabalhadores. Com isto em mente e tendo em conta que a qualificação dos trabalhadores está diretamente dependente da qualidade do seu treino (Petukhov & Steshina, 2014), facilmente se perceberá que o modo como o treino destes trabalhadores é efetuado deve seguir, também ele, uma tendência de evolução. Esta necessidade torna-se ainda mais evidente se considerado que o nível de treino de determinado trabalhador está intimamente ligado a fatores determinantes tanto para si como para a sua organização. Assim, existe a necessidade de desenvolvimento de uma metodologia mais capaz, para que seja possível treinar melhor os trabalhadores (Nazir, Totaro, Brambilla, Colombo, & Manca, 2012). As empresas necessitam de treinar melhor os seus trabalhadores, para que estes estejam mais preparados para fazer frente às peculiaridades dos dias de hoje. Estas precisam de ter em mente que o desempenho dos seus trabalhadores está intimamente ligado a aspetos como a produtividade, qualidade, rentabilidade, estabilidade e controlabilidade dos processos (Nazir et al., 2012). Como resposta a esta necessidade surge a utilização de sistemas de RV para simulação. Importa assim referir que uma simulação pode ser definida como sendo o processo de conceção de um modelo lógico-matemático de um sistema real e o teste com esse modelo num computador (Pritsker, O'Reilly, & LaVal, 1997). Estes sistemas poderão ser utilizados no treino das pessoas envolvidas nos diferentes processos organizacionais, constituindo assim uma oportunidade ímpar nas mais diversas áreas. Quando estes sistemas são capazes de oferecer cenários bastantes desenvolvidos, tornam-se particularmente interessantes, dado que tudo aquilo que o utilizador experiencia é visto, por este, como algo que poderia realmente acontecer no ambiente que está a ser simulado (Arendarski et al., 2008). Assim, a utilização de sistemas capazes de dar respostas fiéis às ações realizadas no ambiente virtual, pode contribuir para que o utilizador fique mais sensibilizado para a importância de todas as respostas experienciadas. Em última instância, esta noção do utilizador poderá contribuir para uma melhor compreensão da
16 importância de sistemas desta natureza e da sua utilização, por exemplo, em processos de formação e treino. De referir, ainda, o facto de o treino ser considerado como sendo uma das principais aplicações da RV (Crosier et al., 2002; Psotka, 1995). Na indústria, a aplicação de RV em treinos técnicos já foi demonstrada como sendo vantajosa em diferentes ocasiões (Adams & Lang, 1995; Frejus, 1998). Ainda ao nível da indústria, um estudo efetuado aponta para o elevado potencial e nível de aceitação da utilização do treino virtual nesta área (Ordaz et al., 2015). Assim, as vantagens da utilização deste tipo de simuladores no treino e formação de trabalhadores são diversas, pelo que a utilização de RV em simuladores constitui um método de aprendizagem ímpar. Os simuladores associados à RV, dadas as vantagens inerentes à utilização desta tecnologia, nomeadamente a maior capacidade de dar resposta a determinados problemas, destacamse dos simuladores com interfaces 2D tradicionais (Gupta, Anand, Brough, Schwartz, & Kavetsky, 2008). Associado a esta realidade, está o cada vez menor preço dos dispositivos de RV (Bellini et al., 2016). Poderão ser referidas mais vantagens associadas à utilização deste tipo de sistemas, tais como: • Possibilitar que os utilizadores desenvolvam competências a utilizar no mundo real (Vaughan, Dubey, Wainwright, & Middleton, 2015b); • Evitar acidentes, contribuindo assim para melhorias na segurança e para evitar custos provocados, por exemplo, pela operação incorreta das diferentes máquinas (Chadwick, 2009; Kao et al., 2010). Isto verifica-se uma vez que a utilização destes sistemas garante um local de treino livre de risco (Chadwick, 2009; Merién, van de Ven, Mol, Houterman, & Oei, 2010; Nazir et al., 2012), onde os trabalhadores podem cometer erros sem pôr em causa a normalidade do fluxo de trabalho da organização (Nazir et al., 2012), o meio ambiente (Nazir et al., 2012), a integridade das máquinas que operam (Chadwick, 2009; Siemon et al., 2002), a sua própria integridade (Chadwick, 2009; Merién et al., 2010; Siemon et al., 2002; Stuering & Schumann, 1999), a integridade de colegas de trabalho, a integridade de clientes, a integridade do seu local de trabalho, entre outros; • Possibilitar aprender e treinar tarefas de elevada importância, mesmo que estas sejam pouco comuns num contexto real (Merién et al., 2010); • Permitir a escolha de cenários de treino específicos (Merién et al., 2010). Assim, nas sessões de treino podem ser focados os cenários adequados às necessidades de determinado utilizador do sistema; • Possibilitar pausar a simulação a qualquer momento (Merién et al., 2010), por exemplo para receber indicações de algum supervisor;
17 • Permitir ao utilizador treinar a mesma tarefa quantas vezes desejar, podendo este testar diferentes abordagens ao problema sem qualquer risco associado (Merién et al., 2010); • Permitir avaliar o modo como os utilizadores desempenham determinadas tarefas, atribuindo uma pontuação de acordo com as suas capacidades (Vaughan, Dubey, Wainwright, & Middleton, 2015a); • Permitir a formação em máquinas que estejam indisponíveis ou com disponibilidade limitada (Siemon et al., 2002; Stuering & Schumann, 1999). É possível a formação em máquinas demasiado perigosas (Siemon et al., 2002; Stuering & Schumann, 1999), indisponíveis para treino (Stuering & Schumann, 1999), disponíveis apenas em alguns locais (Stuering & Schumann, 1999), com custos de aquisição elevados (Siemon et al., 2002; Stuering & Schumann, 1999) e/ou com custos de manutenção elevados (Kao et al., 2010); • Permitir ultrapassar questões onde, de modo a dar formação a determinado grupo de trabalhadores, seria necessário recorrer a máquinas que no momento estavam a ser utilizadas na produção, uma vez que é possível que a formação e treino sejam efetuados numa máquina virtual (Chadwick, 2009); • Contribuir para um aumento do envolvimento dos trabalhadores no processo de aprendizagem (Kao et al., 2010); • Permitir aos trabalhadores desenvolver competências e ganhar experiência sem se preocuparem em demasia com, por exemplo, potenciais acidentes (Arendarski et al., 2008). De referir que esta situação permite um maior foco na tarefa a desenvolver, o que poderá impulsionar a aprendizagem; • Possibilitar a criação de diferentes modos de treino, com níveis distintos de dificuldades associados, permitindo aos trabalhadores a seleção da opção mais adequada às suas necessidades (Arendarski et al., 2008); • Aumentar a produtividade e reduzir tanto a necessidade de manutenções como os danos a equipamentos causados, por exemplo, por trabalhadores inexperientes (Chadwick, 2009); • Permitir não só ensinar fundamentos a trabalhadores inexperientes como também servir como uma ferramenta útil, de modo a recordar conceitos aprendidos previamente por parte dos trabalhadores mais experientes (Chadwick, 2009); • Permitir que os resultados de determinadas sessões de treino sejam guardados numa base de dados, para que posteriormente sejam revistos pelo próprio utilizador e pela(s) pessoa(s) responsáveis pelo treino deste (Chadwick, 2009);
18 • Contribuir para o aumento do tempo de vida das máquinas (Chadwick, 2009). Chegados a este ponto, importa agora perceber o funcionamento dos sistemas de RV utilizados no treino e formação de trabalhadores. Quando se fala neste tipo de sistemas, referimo-nos a soluções que possuem uma arquitetura semelhante àquela presente nos sistemas de RV comuns, com a diferença de, neste caso, poderem possuir um módulo dedicado ao treino. Assim, o modo de funcionamento de um sistema de RV para treino é, na sua essência, bastante semelhante aos sistemas de RV comuns. No que respeita ao módulo de treino, este poderá estar preparado para introduzir ao utilizador, de um modo automático, exercícios ou tarefas adequadas ao seu nível de conhecimento. Por outro lado, caso o sistema não esteja preparado para fazer a atribuição automaticamente, a mesma terá de ser realizada manualmente pela pessoa responsável pelo treino de determinado utilizador, após analisados os resultados obtidos por este. De modo a facilitar esta atribuição, sistemas de treino poderão ainda ter a capacidade de avaliar e pontuar o desempenho do utilizador, havendo ainda a possibilidade de guardar todos os dados associados às sessões de treino numa base de dados. De referir, ainda, que o facto de o sistema permitir guardar os dados relativos às diferentes sessões de treino, por exemplo, os dados sobre tarefas realizadas e respetivas avaliações, permitirá ao utilizador ou ao seu supervisor aceder aos resultados obtidos sempre que pretendido. Este conjunto de características possibilita assim responder, sempre que necessário e de um modo mais facilitado, a questões relacionadas com, por exemplo, a evolução alcançada pelo utilizador até ao momento. Uma vez percebidas as vantagens, identificadas na literatura, associadas à utilização de simuladores de RV para o treino e formação de trabalhadores e o modo como estes funcionam, era importante estudar a situação atual dos sistemas de RV associados a um contexto industrial, com especial foco nos sistemas aplicados ao treino e formação de trabalhadores. Desta forma, procura-se perceber quais as soluções já desenvolvidas e aquilo que ainda está por fazer. Como já referido, no caso desta dissertação, é ainda particularmente importante procurar verificar se são encontrados sistemas que sejam capazes de simular variadas máquinas industriais, ao invés de apenas uma. Neste sentido, foram efetuadas pesquisas em repositórios de artigos como é o caso do Scopus, recorrendo a variadas palavras-chave. Alguns exemplos de palavras-chave utilizadas poderão ser: “ virtual reality ”, “ industry ”, “ industrial machines ”, “ industrial machinery ”, “ simulation ”, “ simulator ” e “ training ”. Assim, ao longo da revisão de literatura, foi possível identificar um conjunto de sistemas associados a um contexto industrial, dos quais fazem parte alguns sistemas desenvolvidos para o apoio a processos de treino e formação. Importa agora referir alguns dos sistemas identificados, que permitem
19 perceber o tipo de aplicação dado a sistemas do género e o nível de complexidade associado às máquinas simuladas. Alguns exemplos dos resultados identificados são: • Sistema de RV para o apoio a cursos de formação profissional para a utilização e programação de fresadoras controladas numericamente, de modo a substituir a utilização de fresadoras convencionais nesses mesmos cursos (Crison et al., 2005); • Sistema de simulação de uma máquina de perfuração de túneis baseado em RV (Jun et al., 2009); • Sistema de RV para simulação de uma máquina de Maquinagem de Fio de Descarga Elétrica, que permita aos trabalhadores operarem uma máquina virtual, familiarizando-se com esse processo, antes de passarem para a operação de uma máquina real (Kao et al., 2010); • Sistema de RV que visa contribuir para a aquisição de conhecimento relativo à manutenção de máquinas complexas, tais como transformadores e geradores, em sistemas de energia elétrica (Arendarski et al., 2008). Este sistema visa o treino e a melhor compreensão dos procedimentos de trabalho (Arendarski et al., 2008). De seguida são apresentadas informações relativas a algumas das referências supracitadas, com o objetivo de descrever aspetos potencialmente importantes aquando do desenvolvimento do simulador de RV e de modo a clarificar como alguns sistemas do tipo são desenvolvidos. A informação abaixo descrita para o primeiro e quarto sistemas foi baseada nas respetivas referências acima citadas. No caso do segundo sistema, dada a informação referida focar-se em uma definição potencialmente importante para o trabalho a desenvolver no âmbito da presente dissertação, não sendo pretendida a descrição do sistema desenvolvido, foi indicado no próprio texto a utilização da referência sempre que esta se verificou. O primeiro sistema apresentado permite ao utilizador manipular, de um modo interativo, a ferramenta de corte de uma fresadora. Para tal, o sistema é capaz de reproduzir feedbacks visuais, auditivos e hápticos. De modo a integrar os diferentes feedbacks sensoriais a arquitetura de software definida para este sistema é modular. De referir, ainda, que a utilização deste sistema não é limitada a programadores, uma vez que são utilizados ficheiros de configuração, de modo a especificar o funcionamento tanto dos feedbacks referidos como da sessão de treino em si. Relativamente ao feedback visual, o ambiente virtual é reproduzido através do ecrã de um computador. Existem duas perspetivas definidas para o ambiente virtual, uma que reproduz todo o ambiente simulado, de modo a dar uma visão geral deste, e outra que se foca na ferramenta de corte e no material a ser trabalhado, de modo a ajudar o utilizador a focar-se na tarefa que está a executar. Ainda ao nível do feedback visual, o sistema
20 fornece ao utilizador um conjunto de ferramentas de apoio que podem ser ativadas caso este pretenda. Este conjunto de ferramentas visuais fornecem informações ao utilizador que podem ser muito úteis num cenário de treino. A título de exemplo, uma das ferramentas disponibilizadas permite ao utilizador, através de uma perspetiva 2D aérea, perceber mais facilmente a posição da ferramenta de corte em relação ao material. Ainda do ponto de vista do feedback visual, o sistema permite visualizar o material a ser progressivamente trabalhado pela fresadora, devido a um algoritmo de deformação plástica. Quanto ao feedback auditivo, de modo a aumentar a sensação de imersão do utilizador, o sistema é capaz de reproduzir oito sons distintos, relativos a diferentes estados de funcionamento da fresadora. De referir, ainda, que todas as amostras de som foram gravadas num cenário real, estando estas associadas a diferentes condições, por exemplo, a profundidades de corte distintas. De modo a selecionar os sons que mais se adequavam ao sistema a desenvolver foi utilizada a ajuda de profissionais responsáveis pela formação neste tipo de máquinas. Ao nível do feedback auditivo foram ainda efetuados alguns ajustes nas diferentes amostras de som. Por fim, em termos de feedback háptico foi desenvolvido um dispositivo háptico específico para este sistema, que permite ao utilizador operar um dispositivo semelhante ao simulado, o que poderá tornar o sistema mais intuitivo e facilitar a aprendizagem. Este dispositivo permite ainda ao utilizador sentir forças associadas à tarefa que está a executar no momento, correlacionadas com o esforço de corte da tarefa realizada no momento. De referir, ainda, que a resistência sentida pelo utilizador quando se encontra a trabalhar determinado material depende de parâmetros como, por exemplo, a velocidade de rotação da ferramenta e o tipo de ferramenta utilizado. Na segunda referência acima identificada são analisados detalhes técnicos associados especificamente à simulação de uma máquina de perfuração de túneis, pelo que não será particularmente importante, no âmbito da corrente dissertação, proceder à sua descrição. É, no entanto, introduzido o conceito de LOD ( Level of detail ), em português Nível de detalhe, que poderá revelar-se importante para a solução a desenvolver. Neste sentido, é explicado que a utilização de modelos de grandes complexidades, como é o caso do modelo de uma máquina de perfuração de túneis, implica a utilização de demasiados recursos, mesmo que o simulador em questão seja executado em dispositivos considerados de nível profissional (Jun et al., 2009). Assim, especialmente nestes casos, existe a necessidade de simplificar os modelos utilizados (Jun et al., 2009). Para tal, surge o LOD, uma técnica que tem como princípio, que diferentes distâncias entre determinado objeto e o utilizador originam a utilização de diferentes níveis de detalhe (Jun et al., 2009). Neste sentido, modelos a uma maior distância do utilizador possuem menor detalhe que modelos próximos deste (Jun et al., 2009). A utilização desta
21 técnica permitirá, assim, reduzir a carga colocada no hardware utilizado, melhorando o desempenho do sistema desenvolvido. Na quarta referência supracitada são apresentados os resultados de um projeto que visou a aquisição de conhecimento relacionado com a manutenção de máquinas complexas em sistemas de energia elétrica através da aplicação de RV e de métodos de visualização 3D. Para tal, foi necessário criar um cenário que permitisse aos utilizadores do sistema treinar e compreender os procedimentos de trabalho. No projeto em questão as sessões de treino individual são realizadas num computador, sem recorrer a dispositivos mais avançados como, por exemplo, HMD e luvas instrumentadas, pelo que o ambiente virtual é reproduzido através do ecrã de um computador. De referir, no entanto, que o mesmo poderá não se verificar no caso das apresentações de grupo. De modo a criar o cenário pretendido é necessária a criação de modelos 3D dos diferentes objetos. De seguida, os modelos criados são importados para o software utilizado, para que através das ferramentas disponíveis o cenário possa ser gerado. No cenário, o utilizador pode explorar o ambiente virtual, de modo a familiarizar-se com este. De referir, ainda, que o utilizador pode interagir com diferentes objetos. Neste sentido, o utilizador pode visualizar, por exemplo, o nome e função de determinado objeto ou aplicar alterações, por exemplo, à posição e rotação deste. A transparência dos objetos pode também ser alterada pelo utilizador, de modo a analisar os diferentes componentes associados a estes. Referir ainda que o cenário é composto por diferentes procedimentos de trabalho, podendo o utilizador optar pelo procedimento que pretenda praticar no momento. Através do software utilizado é possível definir um conjunto de modos de treino. No cenário revisto na presente referência são considerados quatro modos de treino. O primeiro modo de treino permite ao utilizador explorar o cenário sem ser necessária a realização de qualquer tarefa. O segundo modo de treino apresenta ao utilizador cada uma das etapas do procedimento de trabalho e o caminho a seguir de modo a progredir para cada uma destas. No terceiro modo, o utilizador recebe, por exemplo, indicações em formato de texto e indicações sonoras enquanto procura realizar as diferentes tarefas. Por fim, no quarto e último modo, o utilizador não tem acesso a qualquer ajuda durante a conclusão das diferentes tarefas. Chegados a este ponto, é importante destacar que não foi possível identificar nenhum sistema que claramente se perceba como sendo uma solução que vise simular um conjunto mutável de máquinas industriais. Esta realidade, muito embora não garanta que estes sistemas não existam, sugere que este tipo de sistema estará ainda muito pouco explorado. Tal conclusão permite perceber que necessidades relacionadas com a falta de um sistema semelhante àquele que se procura na corrente dissertação
22 estarão ainda por satisfazer, ou pelo menos, indica que existirá pouca oferta de sistemas do género. Assim, este tipo de problemática deverá merecer mais atenção num futuro próximo, dado poder contribuir com avanços fundamentais no processo de formação e treino de variadas organizações. Realça-se, ainda, a possibilidade de sistemas semelhantes e vantagens associadas serem aplicados a áreas que não a indústria. No entanto, a presente revisão de literatura não se focou nestas, pelo que avanços distintos poderão ter ocorrido. 2.3 As linguagens de especificação de ambientes de Realidade Virtual Quando se fala nos sistemas já desenvolvidos que são compatíveis com ambientes virtuais 3D, normalmente fala-se de sistemas que se focam em tarefas específicas e que possuem uma estrutura de suporte muito próxima à aplicação (Boukerche, Duarte, & de Araujo, 2007). Esta realidade implica que o desenvolvimento de novos sistemas e a alteração ou expansão de sistemas previamente desenvolvidos se torne um processo difícil e custoso, dado muitas vezes ser necessário efetuar alterações na estrutura de suporte destes (Boukerche et al., 2007). De considerar ainda que a simulação de um ambiente virtual 3D possui uma natureza não linear, pelo que o utilizador pode efetuar qualquer ação que pretenda, o que torna quase impossível prever qual a ordem a que os eventos ocorrerão no ambiente virtual (Boukerche et al., 2007). Realidade esta que contribui para que a criação de um modelo de gestão das ações do utilizador seja mais difícil, dado não ser possível especificar o momento em que determinada ação será realizada pelo utilizador (Boukerche et al., 2007). É mais evidente a importância do investimento no desenvolvimento de sistemas com bases dinâmicas, de modo a alcançar sistemas mais flexíveis e capazes de dar resposta a novos requisitos ou necessidades. Para que a criação e/ou expansão de sistemas de RV seja conseguida mais facilmente, poderão ser utilizadas linguagens de especificação. De seguida são apresentados três exemplos de linguagens de especificação. A Virtual Reality Modeling Language (VRML) é uma linguagem de descrição que foi vastamente utilizada, por exemplo, de modo a criar visualizações de modelos arquiteturais e simulações (Nadeau, 1999). Através da VRML era possível rapidamente criar mundos virtuais com elementos como, por exemplo, formas 3D, fontes de luz e animações (Nadeau, 1999). De modo a exibir estes mundos era necessária a utilização de browsers VRML, sendo estes normalmente configurados como um plug-in para browsers web (Nadeau, 1999). Assim, o browser VRML era responsável por preparar o mundo virtual
23 3D, ficando este visível numa página web (Nadeau, 1999). A interface do utilizador era disponibilizada pelo próprio browser VRML (Nadeau, 1999). O sucessor do VRML é o Extensible 3D (X3D), um open standard para gráficos 3D distribuídos através da web (Daly, & Brutzman, 2007). O X3D especifica uma linguagem de definição de geometria declarativa, um motor em runtime e uma Application Programming Interface (API), em português Interface de Programação de Aplicações, que fornece um ambiente em tempo real interativo e animado para gráficos 3D (Daly, & Brutzman, 2007). A Virtual Environment Markup Language (VEML) é uma linguagem de marcação baseada em XML, que visa a descrição de ambientes virtuais 3D, baseados na web, através do conceito de simulação atómica (Boukerche et al., 2007). O conceito de simulação atómica pode ser definido como sendo o conjunto das ações que podem ser realizadas pelo utilizador e as reações associadas a cada uma delas (Boukerche et al., 2007). A criação de representações para ambientes virtuais pode ser alcançada através da divisão de uma simulação completa num conjunto de simulações atómicas (Boukerche et al., 2007). As diferentes simulações atómicas são utilizadas na gestão das ações efetuadas pelo utilizador em determinado ambiente virtual 3D baseado na web e são consideradas as unidades mais pequenas de uma simulação (Boukerche et al., 2007). A VEML permite a descrição do mundo geométrico, das ações e dos eventos dos diferentes ambientes virtuais e contribui para a criação e/ou expansão mais fácil e rápida de ambientes virtuais altamente dinâmicos (Boukerche et al., 2007). A VEML permite ainda a definição de uma máquina de estados, que representa o conjunto de todas as simulações atómicas relevantes (Boukerche et al., 2007). Nesta, sempre que as pré-condições de um estado são satisfeitas, os eventos do respetivo estado são despoletados (Boukerche et al., 2007). Associado a algumas linguagens de especificação pode aparecer o XML (Extensible Markup Language), uma tecnologia amplamente utilizada para armazenar informação trocada entre aplicações integradas (Boukerche et al., 2007). Tal verifica-se muito por causa da forma como esta tecnologia permite estruturar e transmitir informação (Boukerche et al., 2007). Para além disto, é uma tecnologia grátis e extensível, passível de ser utilizada em plataformas distintas, independente de software e hardware e que facilita a interoperabilidade entre sistemas que a usem (Boukerche et al., 2007). Outra das vantagens da utilização de XML é a organização da informação, que facilita a sua interpretação, tanto por parte do utilizador como do computador (Boukerche et al., 2007).
31 4. VRSIML – LINGUAGEM DE ESPECIFICAÇÃO DE MÁQUINAS De modo a dar resposta aos problemas identificados no âmbito desta dissertação, foi necessário definir uma linguagem de especificação das diferentes máquinas a simular. A VRSimL foi pensada de acordo com a estrutura típica de um ficheiro XML, sustentando-se a escolha desta tecnologia no facto de ser vastamente utilizada, gratuita e dado oferecer todas as ferramentas necessárias para que os ficheiros de especificação criados possam dar resposta a todos os problemas identificados. O ficheiro XML de especificação de qualquer máquina possui um node principal denominado Machine, que se divide em dois nodes distintos, um denominado Components, que descreve as características físicas da máquina, e outro StateMachine, que define o seu comportamento. O node Components é responsável por especificar todas as características físicas da máquina a simular, pelo que são especificados todos os componentes que compõem cada máquina e as suas características físicas individuais. Até ao momento foram previstos os seguintes tipos de componentes: corpo fixo de determinada máquina (fixedBody), componente móvel do corpo de determinada máquina (movableBodyComponent), botão (button) e alavanca (lever). Esta seleção visa, uma vez mais, servir de ponto de partida para algo passível de ser mais aprofundado futuramente. Neste sentido, foram selecionados dois tipos que visam incluir componentes integrantes de qualquer máquina a simular. O primeiro, corpo fixo de determinada máquina, inclui a parte estrutural de qualquer máquina, parte esta que não é alvo de qualquer movimento mais acentuado durante o seu funcionamento. Já o segundo, componente móvel do corpo de determinada máquina, inclui os componentes do corpo que tipicamente são alvo de algum tipo de interação durante o funcionamento da máquina. Por outro lado, a seleção dos tipos botão e alavanca deve-se ao facto: de componentes destes tipos estarem presentes num alargado número de máquinas industriais; da simulação destes componentes permitir trabalhar o funcionamento da máquina de estados com um detalhe adequado aos objetivos da presente dissertação; e destes serem dois tipos de componentes aos quais estão associadas diferentes ações e dois tipos de movimento distintos. Para cada componente, é especificado o seu identificador (ID), tipo (Type), nome (Name), modelo (Model), posição (Position), rotação (Rotation), escala (Scale) e se o componente em causa é móvel (Movable). Caso seja um componente móvel, é ainda indicado se este é retrátil (Retractable), qual o movimento que lhe está associado (AssociatedMovement) e em que eixos é móvel (MovableAxes). Por fim, sempre que o movimento associado a determinado componente for a translação, é especificada qual a posição do componente após ter sido pressionado (PressedPosition). Se, por outro lado, o
32 movimento associado a determinado componente for a rotação, é especificada qual a sua rotação limite (LimitRotation). De realçar que estes são os nodes necessários para implementar alavancas e botões no sistema, pelo que de modo a implementar novos componentes poderão ter de ser criados mais nodes para cada tipo de movimento. Neste caso, o node PressedPosition é utilizado de modo a especificar a posição de determinado botão enquanto se encontra retraído, após ter sido pressionado e o node LimitRotation é utilizado de modo a especificar a rotação máxima de determinada alavanca. A Figura 3 apresenta a estrutura hierárquica dos nodes relativos à especificação das características físicas das máquinas a simular, de modo a clarificar a organização desta parte dos ficheiros de especificação. Figura 3 - Hierarquia dos nodes relativos à especificação das características físicas de cada máquina a simular. É agora importante perceber o porquê de cada node, que tipo de dados estão associados a estes e quais os valores previstos na prova de conceito desenvolvida. Assim, a Tabela 3 visa descrever toda esta informação.
33 Tabela 3 - Descrição da função, tipo de dados e valores possíveis dos nodes relativos à especificação das características físicas de cada máquina. Node Função Tipo Valores Name Identificar cada um dos componentes String N/A Model Identificar o modelo 3D do componente String N/A Position Posição, relativamente a cada eixo, do componente no ambiente de RV Integer, float ou double N/A Rotation Rotação, para cada eixo, do componente no ambiente de RV Integer, float ou double N/A Scale Escala, associada a cada eixo, do componente no ambiente de RV Integer, float ou double N/A Retractable Indica se o componente é passível de ser retraído String Yes ou No Movable Indica se o componente é passível de ser movido String Yes ou No AssociatedMovement Especificação do movimento associado a cada componente String Translation ou Rotation MovableAxes Especifica, para cada eixo, se o componente é móvel String Yes ou No PressedPosition Indica, relativamente ao eixo móvel, a posição assumida pelo componente enquanto se encontra retraído, após ter sido pressionado Integer, float ou double N/A LimitRotation Indica, relativamente ao eixo móvel, o valor máximo da rotação do componente Integer, float ou double N/A
34 A título de exemplo, a Figura 4 apresenta a especificação de uma alavanca segundo a VRSimL. Figura 4 - Especificação das características físicas de determinada alavanca segundo a VRSimL. Por outro lado, o node StateMachine é responsável por especificar todas as características comportamentais da máquina a simular, pelo que, sempre que aplicável, é especificado o comportamento associado a cada um dos componentes, utilizando para tal uma máquina de estados. Tal acontece uma vez que a uma máquina de estados está associado um conjunto de estados e as transições entre eles, permitindo assim que o comportamento de cada um dos componentes da máquina a simular seja subdividido num conjunto de estados, pelos quais determinado componente passa até chegar ao seu estado final. Por outras palavras, podemos assumir que o comportamento de determinado componente é subdivisível num conjunto de etapas pelas quais é necessário passar até chegar à última, ou seja, o seu estado final. Naturalmente, para que a transição entre estados seja feita é necessário que as condições de passagem associadas às diferentes transições sejam satisfeitas. De modo a implementar este conceito, para cada componente aplicável, é indicado o seu identificador e posteriormente um conjunto de estados associados a este. Para cada estado, inicialmente é especificado qual o seu identificador (ID) e se o estado é o estado inicial do componente (Type). De
35 seguida, é especificada a ação associada ao estado e uma ou mais transições de estado (Transitions). Existe um conjunto de seis tipos (Type) de ações previstos: Idle, MovePosition, MoveRotation, Audio, Animation e Retraction. Ações do tipo Idle correspondem a um estado inativo, onde o componente se encontra estático, pelo que não é necessário especificar nada relativo a este tipo. No caso de ações do tipo MovePosition e do tipo MoveRotation, é necessário especificar a origem do componente (Origin), o seu destino (Destination) e a velocidade associada ao movimento (Speed). A origem corresponde, respetivamente, à posição inicial ou à rotação inicial do componente, o destino corresponde, respetivamente, à posição final ou à rotação final e, por fim, a velocidade associada ao movimento corresponde à velocidade com que a deslocação entre a origem e o destino é efetuada. Para as ações do tipo Audio é necessário indicar o nome do áudio a reproduzir (AudioName), o identificador da fonte de som (Source) e se o áudio pode ser repetido sequencialmente, sem que antes haja a reprodução de um outro áudio (PlayableInSequence). Já para ações do tipo Animation é necessário indicar o nome da animação a reproduzir (AnimationName), o identificador do componente a animar (AnimatedComponent) e se a animação pode ser repetida sequencialmente, sem que antes haja a reprodução de uma outra animação (PlayableInSequence). De modo a ilustrar a importância do node PlayableInSequence, tanto nas ações do tipo Audio como do tipo Animation, considere-se um caso em que uma alavanca é responsável por abrir e fechar determinado compartimento. Neste caso, a utilização deste node é fundamental, dado existir a necessidade de garantir que a mesma animação do compartimento a abrir não é iniciada sem que primeiramente a animação de fecho deste compartimento seja reproduzida, mesmo que a alavanca em causa seja colocada constantemente na posição de abertura do compartimento. Este node pode ser igualmente importante quando utilizado para especificar que determinada animação pode ser reproduzida repetidamente, por exemplo, quando uma alavanca é responsável por ativar uma animação relativa a um componente a arremessar determinado objeto ou a rodar um objeto durante determinado período de tempo. Por fim, no caso de ações do tipo Retraction, é necessário especificar qual a posição do componente em causa, após deixar de estar retraído. De realçar que, de modo a utilizar ações do tipo Retraction, é necessário que o estado em causa esteja associado a uma componente retráctil. Uma vez especificada a ação associada a determinado componente, é necessário especificar as transições (Transitions) responsáveis pela passagem para um outro estado. De modo a especificar uma ou mais transições para cada estado, é definido o identificador do estado subsequente (ToStateID) e as condições a ser satisfeitas de modo a transitar para o mesmo (Conditions). Para que seja possível definir qualquer condição, é necessário utilizar o node Parentheses, que consiste numa ferramenta particularmente importante na especificação de condições complexas, dado que
36 permite subdividir conjuntos de condições. Posteriormente, é necessário utilizar o node Conditions, de modo a definir as condições responsáveis por controlar a transição para o estado subsequente definido. Cada condição é composta por um atributo (Attribute), um operador (Operator) e um valor (Value), pelo que a especificação de qualquer condição exige a especificação destes nodes. Aquando da especificação de Parentheses ou Conditions, é necessário definir o identificador associado ao node em questão, sendo este identificador fundamental para indicar a ordem destes nodes na expressão de transição. Naturalmente, a ordem dos identificadores diz respeito exclusivamente aos respetivos nodes. Sabendo que o identificador destes nodes indica a sua ordem, qualquer node com um identificador maior que 1 possui um node precedente, pelo que existe a necessidade de definir o operador entre estes nodes, para que a expressão de transição seja corretamente formulada. Assim, sempre que for definido mais que um node Parentheses é ainda necessário, nos nodes com identificador maior que 1, especificar o operador utilizado entre o conjunto de condições em causa e o anterior (ConditionsOperator). Para Conditions com identificador superior a 1 é, por sua vez, necessário indicar o operador utilizado entre a condição em causa e a anterior (ConditionOperator). De modo a clarificar a lógica utilizada na definição das transições associadas aos estados de cada componente, a Figura 5 situa cada node relativo a estas numa expressão exemplo. De referir que nesta expressão, as letras A, B, e C representam condições do tipo Atributo = Valor. Figura 5 - Lógica da organização dos nodes ConditionsOperator, ConditionOperator e Parentheses. A Figura 6 apresenta a estrutura hierárquica dos nodes relativos à especificação do comportamento de cada componente das máquinas simuladas, de modo a clarificar a organização desta parte dos ficheiros de especificação.
37 Figura 6 - Hierarquia dos nodes relativos à especificação dos comportamentos de cada máquina. Uma vez mais, é importante perceber o porquê de cada node, que tipo de dados estão associados a estes e quais os valores previstos na prova de conceito desenvolvida. Assim, tendo em conta que a informação necessária varia bastante em função da ação selecionada, será necessário especificá-la para todos os casos em que esta se aplique. Serão ainda demonstradas especificações exemplo de cada tipo de ação. No caso de ações do tipo Idle nenhuma informação acima referida se aplica, pelo que a especificação de ações deste tipo torna-se muito simples. Na Figura 7 é apresentada a especificação de uma ação deste tipo. É assim possível observar que, neste caso, apenas é necessário especificar o tipo de ação. Figura 7 - Especificação de uma ação do tipo Idle.
38 Para ações do tipo MovePosition é necessário especificar o tipo, a origem, o destino e a velocidade. A Tabela 4 apresenta a descrição de toda a informação relevante para este caso. Tabela 4 - Descrição da função, tipo de dados e valores possíveis de ações do tipo MovePosition. Node Função Tipo Valores Origin Posição inicial, relativamente a cada eixo, do componente no ambiente de RV String CurrentPosition Destination Posição final, relativamente a cada eixo, do componente no ambiente de RV String PressedPosition Speed Velocidade da deslocação entre a posição inicial e a posição final Integer, float ou double N/A Na Figura 8 é apresentada a especificação de uma ação do tipo MovePosition. É assim possível observar como a especificação do tipo, da origem, do destino e da velocidade é efetuada. Figura 8 - Especificação de uma ação do tipo MovePosition. À semelhança do que acontece nas ações do tipo MovePosition, para ações do tipo MoveRotation é necessário especificar o tipo, a origem, o destino e a velocidade. A Tabela 5 apresenta a descrição de toda a informação relevante para este caso. Tabela 5 - Descrição da função, tipo de dados e valores possíveis de ações do tipo MoveRotation. Node Função Tipo Valores Origin Rotação inicial, relativamente a cada eixo, do componente no ambiente de RV String CurrentRotation Destination Rotação final, relativamente a cada eixo, do componente no ambiente de RV String InitialRotation ou LimitRotation
39 Speed Velocidade da deslocação entre a rotação inicial e a rotação final Integer, float ou double N/A Na Figura 9 é apresentada a especificação de uma ação do tipo MoveRotation. É assim possível observar como a especificação do tipo, da origem, do destino e da velocidade é efetuada. Figura 9 - Especificação de uma ação do tipo MoveRotation. Para ações do tipo Audio é necessário especificar o tipo, o nome do áudio, a fonte de som e se o áudio pode ser reproduzido de uma forma sequencial. A Tabela 6 apresenta a descrição de toda a informação relevante para este caso. Tabela 6 - Descrição da função, tipo de dados e valores possíveis de ações do tipo Audio. Node Função Tipo Valores AudioName Nome do áudio a reproduzir String N/A Source Referencia, através do identificador, o componente correspondente à fonte de som Integer Identificadores dos componentes criados PlayableInSequence Indica se o áudio é reproduzível sequencialmente, sem que primeiro haja a reprodução de um áudio distinto String Yes ou No Na Figura 10 é apresentada a especificação de uma ação do tipo Audio. É assim possível observar como a especificação do tipo, do nome do áudio, da fonte de som e da indicação de reprodução sequencial é efetuada.
40 Figura 10 - Especificação de uma ação do tipo Audio. Para ações do tipo Animation é necessário especificar o tipo, o nome da animação, o componente a animar e se a animação pode ser reproduzida de uma forma sequencial. A Tabela 7 apresenta a descrição de toda a informação relevante para este caso. Tabela 7 - Descrição da função, tipo de dados e valores possíveis de ações do tipo Animation. Node Função Tipo Valores AnimationName Nome da animação a reproduzir String N/A AnimatedComponent Referencia, através do identificador, o componente a animar Integer Identificadores dos componentes criados PlayableInSequence Indica se a animação é reproduzível sequencialmente, sem que primeiro haja a reprodução de uma animação distinta String Yes ou No Na Figura 11 é apresentada a especificação de uma ação do tipo Animation. É assim possível observar como a especificação do tipo, do nome da animação, da componente a animar e da indicação de reprodução sequencial é efetuada. Figura 11 - Especificação de uma ação do tipo Animation. Para ações do tipo Retraction é necessário especificar o tipo e a posição do componente após deixar de estar retraído. A Tabela 8 apresenta a descrição de toda a informação relevante para este caso.
47 10. Impossibilidade de possuir estados sem qualquer transição associada; 11. Impossibilidade de remover estados que sejam referenciados como sendo estados subsequentes de qualquer outro estado; 12. Nas transições, impossibilidade de associar o próprio estado ao estado subsequente; 13. Impossibilidade de criar transições sem qualquer condição de passagem associada. Abaixo apresenta-se um conjunto de imagens relativas a algumas das secções do gestor de ficheiros de especificação, para que seja possível entender mais facilmente o modo como o sistema se organiza. A Figura 15 apresenta a página principal do gestor de ficheiros de especificação, através da qual é possível visualizar a listagem dos ficheiros criados e abrir as páginas associadas à criação, atualização, visualização, remoção e validação de ficheiros de especificação. Figura 15 - Página principal do gestor de ficheiros de especificação. A Figura 16 apresenta a página relativa à criação de componentes de determinada máquina. Nesta, para que seja possível criar componentes, é necessário preencher todas as características físicas do componente a adicionar.
48 Figura 16 - Página de criação de componentes do gestor de ficheiros de especificação. A Figura 17 apresenta a página relativa à criação de estados de componentes associados a determinada máquina. Nesta, para que seja possível criar estados, é necessário preencher todos os campos associados ao tipo de ação selecionado. Figura 17 - Página de criação de estados de componentes do gestor de ficheiros de especificação.
49 A Figura 18 apresenta a página relativa à criação de transições de estado, página esta subsequente à apresentada na Figura 17. Nesta, para que seja possível criar transições de estados, uma vez mais é necessário preencher todos os campos apresentados. Figura 18 - Página de criação de transições de estado do gestor de ficheiros de especificação. A Figura 19 apresenta a página relativa à validação de ficheiros de especificação. Através desta página é possível observar se determinado ficheiro possui algum erro. Com a visualização da Figura 19 é possível concluir que o estado subsequente especificado (3), da transição com identificador 1, do estado com identificador 2, da componente com identificador 1, não existe.
50 Figura 19 - Página de validação de ficheiros de especificação do gestor de ficheiros de especificação. 5.2 Resultados No âmbito da presente dissertação, de modo a que tanto o sistema desenvolvido como a VRSimL pudessem ser testados, foi contruído um cenário de teste composto por duas estruturas que procuram simular aquilo que poderiam ser duas máquinas industriais. Apesar das estruturas simuladas não serem parecidas com máquinas reais, através destas é possível testar as funcionalidades do sistema desenvolvido e a aplicabilidade deste na simulação de máquinas industriais. Nesta simulação, o utilizador pode mover, a partir do teclado, dois cubos que visam simular as suas mãos. Através destes, o utilizador pode interagir com as estruturas presentes no ambiente virtual, tal como faria num contexto real. No caso destas estruturas, a interação com os seus botões provoca a emissão de um som e a interação com as suas alavancas provoca a iniciação de uma animação que simula a abertura do compartimento da respetiva máquina, quando colocadas na rotação limite, e de uma animação que simula o fecho do mesmo compartimento, quando colocadas na rotação inicial. Os testes realizados visam garantir que todos os componentes do sistema funcionam de acordo com o previsto, pelo que foi necessário interagir com componentes de cada um dos tipos previstos na presente versão da VRSimL, de acordo com um conjunto de condições de teste. Mais do que testar apenas se todos os componentes tratavam devidamente as colisões, a correta movimentação dos botões e alavancas, se os botões eram capazes de iniciar a reprodução de áudios ou se as alavancas eram capazes de abrir e fechar os componentes móveis do corpo das estruturas de uma forma individual, foi
51 necessário efetuar testes que envolvessem a avaliação de um maior número de variáveis. Neste sentido, foram testadas questões como a interação simultânea com diferentes componentes através do mesmo cubo, a interação alternada com componentes de diferentes máquinas através do mesmo cubo, a interação simultânea com diferentes componentes através de ambos os cubos presentes no sistema e a interação alternada com componentes de diferentes máquinas através de ambos os cubos presentes no sistema. A Figura 20 apresenta as estruturas utilizadas para testar o sistema desenvolvido. Figura 20 - Estruturas simuladas no âmbito da presente dissertação. A implementação atual do sistema só permite ao utilizador interagir com as estruturas simuladas com um baixo nível de imersão. Esta situação deve-se ao facto de os níveis de imersão não terem sido o principal foco da presente dissertação. Existe, no entanto, a possibilidade de, no futuro, serem feitas atualizações neste sentido, dado que o sistema foi desenvolvido com esta possibilidade em mente. Através da utilização de luvas instrumentadas, HMDs e da simulação de máquinas reais, é possível chegar a um ponto onde os níveis de imersão sobem significativamente. Neste momento já é possível adicionar novas máquinas facilmente, dado apenas ser necessário criar o ficheiro de especificação respetivo. Naturalmente, máquinas com maiores níveis de complexidade acarretam maiores dificuldades na criação dos respetivos ficheiros, daí a necessidade de trabalhar no sentido de minimizar estas dificuldades. É neste sentido que se justifica a criação do gestor de ficheiros de especificação. No entanto, convém reforçar que com a complexidade das máquinas passíveis de ser criadas através da versão atual do sistema, a criação dos respetivos ficheiros de especificação não origina grandes problemas. Através da versão atual do sistema desenvolvido, é possível simular a operação de máquinas com baixos níveis de complexidade, como é o caso das versões mais simples de micro-ondas. Nesse caso, apenas é necessário, por exemplo, algumas animações e modelos 3D do corpo do micro-ondas e
52 de todas as suas componentes. O comportamento das componentes internas do micro-ondas poderia ser simulado através de uma animação e o comportamento da porta do compartimento deste através de outras duas animações. Os mesmos resultados poderiam ser conseguidos através da utilização do tipo de ação MoveRotation. De modo a iniciar estas animações e movimentos, o utilizador poderia recorrer a botões, cuja utilização já está disponível no sistema desenvolvido. Aspetos como luz e monitores ainda não estão disponíveis para utilização, pelo que não poderiam ser utilizados neste caso, muito embora pudessem ajudar muito a garantir uma simulação mais realista de um micro-ondas. No futuro, com a adição de novas ações e tipos de componentes à VRSimL, poderá ser atingido um ponto onde a simulação de um maior número de máquinas, nomeadamente máquinas mais complexas que as já simuláveis, não seja algo particularmente difícil. Como foi sendo referido, parte fundamental da estratégia para lidar com a dificuldade de criação de ficheiros de especificação de máquinas complexas passa pela utilização de uma solução que permita abstrair o utilizador de variados aspetos associados à VRSimL. A criação de ficheiros através do gestor de ficheiros de especificação mostrou-se, como esperado, muito mais rápida e muito menos suscetível a erros, pelo que assume um passo fundamental para que a simulação de um conjunto variável de máquinas industriais complexas seja possível.
53 6. CONCLUSÕES Considerando a clara aceitação dos benefícios da RV no treino e formação de operadores, é imperativa a necessidade de criar meios para que a adoção desta tecnologia seja feita em grande escala e da forma menos abrupta possível. Como tal, a utilização de abordagens de desenvolvimento capazes de responder mais adequadamente às necessidades do mercado, pode desempenhar um papel fundamental na criação do valor que diferencia o sucesso da adoção dos simuladores de RV do seu fracasso. Assim, com a realização da presente dissertação pretendia-se o desenvolvimento de um simulador de RV assente em bases suficientemente dinâmicas, capaz de fazer frente às especificidades levantadas pela realidade hoje vivida na indústria, nomeadamente a possibilidade de simular a operação de um número mutável de máquinas industriais de tipos distintos e passível de ser utilizado no treino e formação de trabalhadores. Neste sentido, foram desenvolvidos tanto o simulador de RV como uma aplicação de suporte a este, que visa a criação e gestão de ficheiros de especificação das diferentes máquinas a simular, segundo uma linguagem de especificação também ela criada no âmbito desta dissertação. De realçar que, de modo a garantir a capacidade de simular um conjunto variável de máquinas industriais, o simulador desenvolvido foi dotado de um interpretador de ficheiros de especificação e de um motor de RV. Através da utilização dos sistemas desenvolvidos e da VRSimL, é possível simular máquinas com níveis de complexidades baixos com relativa facilidade e sem a necessidade de codificar qualquer linha. De referir, ainda, a facilidade com que é possível adicionar novas máquinas ao sistema, permitindo assim que o número de máquinas simuladas seja facilmente expandido, sem a necessidade de lidar com longos processos de desenvolvimento, longos tempos de adoção e com os custos associados. Esta expansão do sistema é conseguida através da utilização de ficheiros de especificação escritos segundo a VRSimL, que definem as características físicas e comportamentais das diferentes máquinas a simular. Neste momento, o sistema permite a simulação das características físicas de qualquer máquina e a simulação do comportamento de botões, alavancas e alguns outros componentes cujo comportamento possa ser simulado através de movimentos de translação ou rotação. Na versão atual, o simulador de RV não está preparado para máquinas de elevada complexidade, dado que para tal tanto o sistema como a VRSimL teriam de ser expandidos, através da definição de uma biblioteca de termos mais abrangente e do aumento do número de nodes previstos na VRSimL.
54 Também é importante realçar o facto de o sistema ainda não permitir a utilização de HMDs e luvas instrumentadas, muito embora tenha sido pensado e desenvolvido com esta possibilidade em mente. Seria ainda interessante que na VRSimL fosse adicionada uma área que inclua nodes que permitam a criação de ficheiros que visem a descrição de aspetos mais técnicos do ambiente de RV, por exemplo, a definição de ângulos e posições das diferentes câmaras utilizadas nas cenas. Esta alteração permitiria evitar que o utilizador tenha de configurar questões mais técnicas do ambiente de RV no próprio Unity, o que faria com que este pudesse ser todo ele preparado exclusivamente através de ficheiros de especificação. No caso do gestor de ficheiros de especificação, de modo a facilitar a criação destes ficheiros e a potenciar as funcionalidades oferecidas, seria aconselhável uma espécie de integração desta aplicação com o simulador de RV ou com o ambiente de RV. Tal seria particularmente importante de modo a possibilitar visualizar, em tempo-real, as alterações efetuadas no ambiente de RV, ao longo da criação dos diferentes ficheiros de especificação. O presente simulador poderá constituir uma importante ferramenta no treino e formação de colaboradores, assim que esteja preparado para a simulação de máquinas mais complexas e que tenham sido efetuados ajustes neste, que visem o aumento da sua eficácia em sessões de treino e formação. Naturalmente, para que os melhores resultados sejam alcançáveis, o sistema desenvolvido terá necessariamente de permitir a utilização de HMDs e de luvas instrumentadas. Neste sentido, percebe-se a utilidade de trabalhos futuros que visem a expansão dos sistemas desenvolvidos e da VRSimL. Uma vez finalizados os trabalhos no âmbito da presente dissertação, conclui-se que os resultados obtidos poderão constituir um importante avanço para que se possa provar a exequibilidade e aplicabilidade do desenvolvimento de simuladores de RV assentes em bases dinâmicas, de modo a obter soluções de RV mais flexíveis e adaptáveis a contextos mutáveis.
55 REFERÊNCIAS BIBLIOGRÁFICAS Acer. Acer. Disponível em https://www.acer.com/ac/en/US/content/home Adams, N., & Lang, L. (1995). VR improves Motorola Training Program. AI Expert, 13-14. Al-Ahmari, A. M., Abidi, M. H., Ahmad, A., & Darmoul, S. (2016). Development of a virtual manufacturing assembly simulation system. Advances in Mechanical Engineering, 8(3). Aniwaa. COMPARE EMERGING TECH. Disponível em https://www.aniwaa.com Arendarski, B., Termath, W., & Mecking, P. (2008). Maintenance of Complex Machines in Electric Power Systems Using Virtual Reality Techniques. Paper presented at the Conference Record of the 2008 IEEE International Symposium on Electrical Insulation. ASUS. ASUS USA. Disponível em https://www.asus.com/us/ Baur, C., Guzzoni, D., & Georg, O. (1998). VIRGY: A Virtual Reality and Force Feedback Based Endoscopic Surgery Simulator. Studies in health technology and informatics. Bellini, H., Chen, W., Sugiyama, M., Shin, M., Alam, S., & Takayama, D. (2016). Virtual & Augmented Reality: Understanding the race for the next computing platform. Profiles in Innovation. Biggs, S. J., & Srinivasan, M. A. (2002). Haptic Interfaces. Handbook of Virtual Environments: Design, Implementation, and Applications, 93-115. Boud, A. C., Haniff, D. J., Baber, C., & Steiner, S. J. (1999). Virtual Reality and Augmented Reality as a Training Tool for Assembly Tasks. Paper presented at the 1999 IEEE International Conference on Information Visualization. Boukerche, A., Duarte, D. D., & de Araujo, R. B. (2004). VEML - A Mark Up Language to Describe WebBased Virtual Environments through Atomic Simulations. Paper presented at the Eighth IEEE International Symposium on Distributed Simulation and Real-Time Applications. Burdea, G. C., & Coiffet, P. (2003). Virtual Reality Technology: Wiley-IEEE Press. Cao, C. G. L., Zhou, M., Jones, D. B., & Schwaitzberg, S. D. (2007). Can Surgeons Think and Operate with Haptics at the Same Time? Journal of Gastrointestinal Surgery, 11(11), 1564-1569. CaptoGlove. Virtual reality wearable gaming motion controller. Disponível em https://www.captoglove.com Carbotte, K. More Than a Resolution Upgrade - HTC Vive Pro Headset Review: A High Bar for Premium VR. Disponível em https://www.tomshardware.com/reviews/htc-vive-pro-headset-vr,55493.html Carbotte, K. OSVR Hacker Developer Kit 2 Review. Disponível em https://www.tomshardware.com/reviews/osvr-hdk2-vr-headset,5084.html Chadwick, J. (2009). Simulators and virtual training. International Mining. Chan, L. Asus Announces HC102 Windows Mixed Reality Headset. Disponível em https://www.tomshardware.co.uk/asus-hc102-windows-mixed-reality-headset,news-57931.html ContactCI. Natural Touch in a limitless world. Disponível em https://contactci.co Crison, F., Lécuyer, A., d'Huart, D. M., Burkhardt, J. -M., Michel, G., & Dautin, J. -L. (2005). Virtual Technical Trainer: Learning How to Use Milling Machines with Multi-Sensory Feedback in Virtual Reality. Paper presented at the IEEE Virtual Reality 2005. Cronin, P. (1997). Report on the application of virtual reality technology to education. University of Edinburgh. Crosier, J. K., Cobb, S., & Wilson, J. R. (2002). Key lessons for the design and integration of virtual environments in secondary science. Computers & Education, 38(1-3), 77-94. Cruz-Neira, C. (1993). Virtual reality overview. Paper presented at the SIGGRAPH.
56 Daly, L., & Brutzman, D. (2007). X3D: Extensible 3D Graphics Standard [Standards in a Nutshell]. IEEE Signal Processing Magazine. Dell. Dell Visor. Disponível em https://www.dell.com/en-uk/shop/dell-visor/apd/545-bbbe/gaminggaming-accessories DextaRobotics. Dexta Robotics - Touch the untouchable. Disponível em https://www.dextarobotics.com/en-us Dizio, P., & Lackner, J. R. (1992). Spatial Orientation, Adaptation, and Motion Sickness in Real and Virtual Environments. Presence: Teleoperators and Virtual Environments, 1(3), 319-328. Frejus, M. (1998). Evaluation of a virtual environment-based training tool through trainer-trainees interaction analysis. ECCE-9, 115-120. Gao, J. (2017). Research and Application of Virtual Reality Technology in Industrial Design. Revista de la Facultad de Ingeniería, 32(11). Greenwald, W. Acer AH101-D8EY Windows Mixed Reality Headset. Disponível em https://www.pcmag.com/review/358052/acer-ah101-d8ey-windows-mixed-reality-headset Gupta, S. K., Anand, D. K., Brough, J. E., Schwartz, M., & Kavetsky, R. A. (2008). Training in Virtual Environments: A Safe, Cost-Effective, and Engaging Approach to Training. HaptX. Haptic gloves for VR training, simulation, and design. Disponível em https://haptx.com HP. HP Windows Mixed Reality Headset VR1000-100. Disponível em https://store.hp.com/us/en/hpwindows-mixed-reality-headset-vr1000-100-2hj34aa-aba HTC. VIVE™ | Discover Virtual Reality Beyond Imagination. Disponível em https://www.vive.com/us/ Jun, C., Yadong, G., & Jianyu, Y. (2009). Research of Simulation for Tunnel Boring Machine Based on Virtual Reality. Paper presented at the 2009 International Conference on New Trends in Information and Service Science, 1038-1041. Kao, Y. -C., Lee, C. -S., Liu, Z. -R., & Lin, Y. -F. (2017). Case study of virtual reality in CNC machine tool exhibition. Paper presented at the MATEC Web of Conferences. Kao, Y. -C., Tsai, J. -P., Cheng, H. -Y., & Chao, C. -C. (2010). Design and Construction of a Virtual Reality Wire Cut Electrical Discharge Machining System. Paper presented at the 2010 International Symposium on Computer, Communication, Control and Automation (3CA), 45-48. Ko, H.-U., Kim, H. C., Kafy, A., Kim, S. Y., & Kim, J. (2015). Array haptic actuator for flight simulator. Kurita, Y. (2014). Wearable Haptics. Wearable Sensors: Fundamentals, Implementation and Applications, 45-63. Lemos, J. D., Hernandez, A. M., & Soto-Romero, G. (2017). An Instrumented Glove to Assess Manual Dexterity in Simulation-Based Neurosurgical Education. Sensors, 17(5). Lenovo. Lenovo Official US Site. Disponível em https://www.lenovo.com/us/en/ ManusVR. Manus VR | Cutting Edge VR Technology. Disponível em https://manus-vr.com Merién, A. E. R., van de Ven, J., Mol, B. W., Houterman, S., & Oei, S. G. (2010). Multidisciplinary Team Training in a Simulation Setting for Acute Obstetric Emergencies: A Systematic Review. Obstetrics and Gynecology, 115(5), 1021-1031. Microsoft. Microsoft - Official Home Page. Disponível em https://www.microsoft.com/en-us/ Mourtzis, D., Doukas, M., & Bernidaki, D. (2014). Simulation in Manufacturing: Review and Challenges. Procedia CIRP, 25, 213-229. Nadeau, D. R. (1999). Building Virtual Worlds with VRML. IEEE Computer Graphics and Applications, 19(2), 18-29. Nazir, S., Totaro, R., Brambilla, S., Colombo, S., & Manca, D. (2012) Virtual Reality and AugmentedVirtual Reality as Tools to Train Industrial Operators. Computer Aided Chemical Engineering, 30, 1398-1401. NeuroDigitalTechnologies. Avatar VR. Disponível em https://www.neurodigital.es/avatarvr/ Noitom. Hi5 VR GLOVE. Disponível em https://hi5vrglove.com