aplicacao de um ambiente virtual colaborativo utilizando realidade aumentada

Upload: anderson-tavares

Post on 18-Jul-2015

573 views

Category:

Documents


0 download

TRANSCRIPT

ESCOLA POLITCNICA DE PERNAMBUCO

APLICAO DE UM AMBIENTE VIRTUAL COLABORATIVO UTILIZANDO REALIDADE AUMENTADA

Trabalho de Concluso de Curso Engenharia da Computao

Anderson Carlos Moreira Tavares Orientador: Prof. Dr. Srgio Murilo Maciel Fernandes

ANDERSON CARLOS MOREIRA TAVARES

APLICAO DE UM AMBIENTE VIRTUAL COLABORATIVO UTILIZANDO REALIDADE AUMENTADA

Monografia apresentada como requisito parcial para obteno do diploma de Bacharel em Engenharia da Computao pela Escola Politcnica de Pernambuco Universidade de Pernambuco.

Recife, dezembro de 2009.

A minha me que me ajuda e me fortalece em todos os momentos da minha vida.

AgradecimentosAgradeo minha me, uma guerreira que, todos os dias, d-me a alegria de poder lutar por um futuro conspcuo. Agradeo minha namorada por ajudar-me na compreenso da monografia e por apoiar-me em tudo que fao. Agradeo a todos os professores do DSC, por todo o vasto conhecimento que me foi instrudo para contribuir com a sociedade, em especial ao professor Dr. Srgio Campello e professora Dr. Simone Cristiane, pela ajuda na construo do trabalho. Agradeo ao meu orientador, professor Dr. Srgio Murilo, por toda a motivao que recebi, por guiar-me no projeto, e pelo incentivo de fazer o bem para a humanidade. Agradeo a todos os colegas da turma que viram o sistema, usaram-no e contriburam para a melhoria do mesmo. Agradeo aos alunos que organizaram o VIII Seminrio de Engenharia da Computao (VIII SEC) por me darem um espao para realizar o seminrio sobre o trabalho proposto. Tambm agradeo aos alunos e ao professor Dr. Byron Leite por terem visto o seminrio, enriquecendo minha experincia de divulgar o conhecimento. Agradeo professora Dra. Vernica Teichrieb, da UFPE, pela contribuio ao sistema.

ESCOLA POLITCNICA DE PERNAMBUCO

ResumoAs interfaces bidimensionais, como botes e menus, esto sendo utilizados h 35 anos. Tm-se desenvolvido tecnologias que estendem as interfaces para ambientes tridimensionais. Uma delas, a Realidade Aumentada, vem se destacando devido facilidade na interao com o ambiente virtual. Devido complexidade das atividades do ser humano, estes se renem para realizar tarefas em equipe, surgindo os sistemas colaborativos. So muitos os sistemas colaborativos que utilizam realidade virtual, como os jogos, por exemplo. Softwares de comunicao com realidade aumentada so novidades no mundo atual. O presente trabalho prope um sistema que realize colaborao e contenha uma fcil interatividade e imerso utilizando recursos de realidade aumentada. Sero descritos os procedimentos que o projeto executa para que qualquer equipe possa desfrutar da realidade aumentada para manipular ambientes tridimensionais incorporados no mundo real, utilizando os movimentos das prprias mos. Esta integrao difcil de ser encontrada no mercado atual, sendo uma grande motivao para tal inovao. O projeto beneficiar muitas reas, como por exemplo, a educao distncia, engenharia, arquitetura e vendas. Os resultados comprovam a viabilidade do sistema, tornando-o interessante para qualquer sistema de colaborao que necessite de fcil manipulao dos projetos e alto grau de imerso dos usurios, facilitando as atividades em tempo real, sem nenhum congestionamento da rede.

i

ESCOLA POLITCNICA DE PERNAMBUCO

AbstractInterfaces in two dimensions, like buttons and menus, have been used for 35 years. Technologies have been developed to extend interfaces for tridimensional environment. One of them, called Augmented Reality, is being viewed due to the ease on interaction with the virtual environment. Due to the complexity of human tasks, people are getting together to perform tasks in group, creating collaborative systems. There are several collaboration programs using virtual reality, like games, for example. Communication software with augmented reality is new stuff for current world. This present monograph proposes a system that does collaboration and has easy interactivity and immersion by using augmented reality resources. Procedures that the project runs are going to be described for any team to use augmented reality for manipulating 3D environments embedded in the real world, by using their own hands. This integration is difficult to find on current market, and it is a great motivation for this innovation. The project will help several areas like, for example, distance education, engineering, architecture and marketing. Results show the viability of the system, and it becomes interesting for any collaboration system that needs easy manipulation of projects and high degree of immersion of users, offering facility to activities at real time, without any network congestion.

ii

ESCOLA POLITCNICA DE PERNAMBUCO

SumrioResumo ................................................................ ........................................................ i Abstract ................................................................ ....................................................... ii Sumrio ................................................................ ...................................................... iii ndice de Figuras................................................................ ........................................ vi ndice de Tabelas ................................................................ ................................ ......viii ndice de Quadros................................ ................................................................ ...... ix Tabela de Smbolos e Siglas................................ ....................................................... x Captulo 1 1.1. 1.2. 1.3. Captulo 2 2.1. Introduo ................................................................ ............................11 Caracterizao do Problema................................ ..............................12 Metodologia................................ ........................................................13 Estrutura da Monografia................................................................ .....15 Fundamentos da Realidade Virtual e Aumentada................................ 16 Realidade Virtual................................................................ ................16 2.1.1. Definio ................................ .....................................................18 2.1.2. Motivao ................................ .................................................... 19 2.1.3. Histrico ................................................................ ......................20 2.1.4. Equipamentos ................................................................ .............21 2.1.5. Estereoscopia................................................................ ..............25 2.1.6. Dificuldades Gerais da Realidade Virtual ....................................26 2.2. Realidade Aumentada................................................................ ........27 2.2.1. Definio ................................ .....................................................27 2.2.2. Classificao ................................ ...............................................28 2.2.3. Motivao ................................ .................................................... 29 2.2.4. Dificuldades ................................................................ .................30 Captulo 3 3.1. 3.2. Fundamentos do Trabalho Colaborativo................................ ..............31 O Modelo 3C ................................................................ ......................31 Trabalho Colaborativo Baseado em Computador ..............................32 iii

ESCOLA POLITCNICA DE PERNAMBUCO

3.3. Captulo 4 4.1. 4.2. 4.3. 4.4.

Ambiente Virtual Colaborativo................................ ............................33 O Projeto Proposto - NHE................................ ....................................35 Objetivo................................................................ ..............................36 Motivao................................................................ ...........................37 Tecnologias................................ ........................................................37 Planejamento ................................ .....................................................42 4.4.1. Do cliente para o servidor................................ ............................43 4.4.2. Do servidor para o cliente................................ ............................44

4.5.

Servidor................................................................ ..............................44 4.5.1. Servidor de Poltica ................................................................ .....44 4.5.2. Servidor de Aplicao e Banco ................................ ...................45

4.6.

Cliente................................ ................................................................ 46 4.6.1. Tela de Login................................ ...............................................46 4.6.2. Cadastro ................................................................ ......................47 4.6.3. Tela Principal................................ ...............................................48 4.6.4. Tela do Projeto ................................ ............................................49 4.6.5. Visualizar Perfil do Usurio ................................ .........................51

4.7. 4.8. Captulo 5 5.1. 5.2. 5.3.

Vantagens................................ .......................................................... 51 Aplicaes................................ .......................................................... 52 Resultados................................................................ ...........................54 Tempo de Resposta................................................................ ...........54 Memria ................................ ............................................................. 55 Interatividade................................................................ ......................55 5.3.1. Grau de imerso................................ ..........................................56 5.3.2. Inovao ................................................................ ......................56 5.3.3. Influncia do sistema na sociedade................................ .............57

Captulo 6 6.1.

Consideraes Finais ................................ ..........................................58 Dificuldades................................ ........................................................58 6.1.1. Linux ................................................................ ............................58 6.1.2. Camera................................ ........................................................58 6.1.3. Comunicao ................................................................ ..............59 iv

ESCOLA POLITCNICA DE PERNAMBUCO

6.1.4. Importao de Modelos Tridimensionais ................................ .....59 6.1.5. Anaglifo ................................ ....................................................... 59 6.2. Trabalhos futuros ................................ ...............................................60

Bibliografia................................ ................................................................ .................62 Apndice A Diagrama de Caso de Uso................................................................ .....66 Apndice B Diagrama Relacional................................................................ ..............67 Apndice C Diagrama de Classes (Comunicao Remota) ................................ ......68

v

ESCOLA POLITCNICA DE PERNAMBUCO

ndice de FigurasFigura 1.1. Diagrama de atividades do projeto ................................ .........................14 Figura 2.1. Exemplo de Realidade Virtual ................................................................ 17 Figura 2.2. Equipamentos de Realidade Virtual ....................................................... 18 Figura 2.3. Simulao de Vo ................................ ..................................................19 Figura 2.4. Publicao do Sensorama................................................................. .....20 Figura 2.5. Ultimate Display de Ivan Sutherland[7]................................ ...................20 Figura 2.6. Os 6 Graus de Liberdade ................................ .......................................21 Figura 2.7. Diferentes tipos de HMD[13] ................................................................ ..22 Figura 2.8. Luva para Realidade Virtual[7] ................................ ...............................22 Figura 2.9. Luva com sensao ttil para o usurio.[14] ..........................................23 Figura 2.10. Ambiente CAVE[15]................................................................ ..............23 Figura 2.11. Projetor Estereoscpico ................................ .......................................24 Figura 2.12. Monitor exibindo em 2D um mundo em 3D ..........................................24 Figura 2.13. Efeito paralaxe: a) Olhos em posies diferentes; b) Imagem capturada pelo olho direito; c) Imagem capturada pelo olho esquerdo................................ 25 Figura 2.14. Exemplo de Anaglifo no Projeto: a) Objeto 3D com as cores e b) culos de visualizao do anaglifo. ................................................................ ................26 Figura 2.15. Sistemas de RA: a) No-Imersivo e b) Imersivo................................ ...29 Figura 3.1. Modelo 3C para sistemas colaborativos................................ .................32 Figura 3.2. Classificaes e exemplos de sistemas colaborativos ...........................33 Figura 4.1. Captura de Imagem................................................................ ................38 Figura 4.2. Binarizao: a) Imagem em escala de cinza; b) Imagem aps binarizao ................................................................ ..........................................39 Figura 4.3. Labeling................................ ................................................................ ..39 Figura 4.4. Busca por Quadrados................................................................ .............40 vi

ESCOLA POLITCNICA DE PERNAMBUCO

Figura 4.5. Comparao entre o padro armazenado no sistema (lado esquerdo) e padres detectados na imagem (lado superior) ..................................................41 Figura 4.6. Insero do objeto tridimensional................................ ...........................41 Figura 4.7. Fluxograma dos processos de rastreamento .........................................42 Figura 4.8. Diagrama bsico de uma rede para o sistema NHE...............................43 Figura 4.9. Caixa de dilogo Login ................................................................ ...........46 Figura 4.10. Caixa de dilogo Cadastrar ................................................................ ..47 Figura 4.11. Caixa de dilogo Principal ................................ ....................................48 Figura 4.12. Caixa de dilogo Projeto ................................ ................................ ......49 Figura 4.13. Caixa de dilogo Visualizar Perfil do Usurio .......................................51 Figura 5.1. Dois computadores utilizando o sistema ................................ ................54 Figura 5.2. Uso de memria do sistema ................................................................ ...55 Figura 5.3. Grau de imerso do RA no sistema........................................................56 Figura 5.4. Pesquisa sobre inovao do sistema .....................................................56 Figura 5.5. Pesquisa sobre influncia do sistema na sociedade ..............................57

vii

ESCOLA POLITCNICA DE PERNAMBUCO

ndice de TabelasTabela 2.1. Diferenas entre Realidade Virtual e Aumentada ................................ ..28 Tabela 4.1. Comandos da caixa de dilogo Projeto..................................................46 Tabela 4.2. Comandos da caixa de dilogo Cadastrar ................................ .............47 Tabela 4.3. Comandos da caixa de dilogo Projeto..................................................48 Tabela 4.4. Comandos da caixa de dilogo Projeto..................................................49 Tabela 4.5. Comandos da caixa de dilogo perfil do usurio ................................ ...51

viii

ESCOLA POLITCNICA DE PERNAMBUCO

ndice de QuadrosQuadro 4.1. Algoritmo para o Labeling ................................................................ .....39 Quadro 4.2. Sintaxe das mensagens do cliente para o servidor ..............................43 Quadro 4.3. Sintaxe das mensagens do servidor para o cliente ..............................44 Quadro 4.4. Texto XML do cliente para o servidor ................................ ...................44 Quadro 4.5. Texto XML do servidor para o cliente ................................ ...................45

ix

ESCOLA POLITCNICA DE PERNAMBUCO

Tabela de Smbolos e SiglasWIMP Windows, cones, Menus e Ponteiros HMD Head Mounted Display CAVE Cave Automatic Virtual Environment CAD RA RV Computer Aided Design (Desenho Auxiliado por Computador) Realidade Aumentada Realidade Virtual

VRML Virtual Reality Modeling Language (Linguagem de Modelagem de Realidade Virtual) XML Extensible Markup Language

CSCW Computer Supported Collaborative Work (Trabalho Colaborativo Baseado em Computador) CVE UTF Collaborative Virtual Environment (Ambiente Virtual Colaborativo) Unicode Transformation Format

x

ESCOLA POLITCNICA DE PERNAMBUCO

Captulo 1 IntroduoA interatividade homem-mquina, suportada h 35 anos pelas interfaces WIMP (Windows, cones, Menus e Ponteiros)[1], vem apresentando novos padres de comunicao para que as informaes sejam passadas de forma mais confortvel e rpida possvel. A modernizao e convergncia dos meios de comunicao, aliada aos processos de globalizao, aproximam indivduos que se encontram fisicamente distantes, atravs de ferramentas de trabalho colaborativo. Devido tradio de uso do mouse e do teclado para trabalhos individuais e colaborativos, torna-se difcil a utilizao de ferramentas que desfrutem de diferentes equipamentos de entrada de dados. Ferramentas WIMP tradicionais podem no ser adequadas para todos os perfis de pessoas, como, por exemplo, portadores de necessidades especiais. Portanto, para atender esse tipo de demanda, os sistemas atuais precisam ser adaptados realidade dos usurios. Uma das tecnologias que tem ajudado na interao entre pessoas denominada ambiente virtual, composta pela realidade virtual e pela realidade aumentada. A realidade aumentada incorpora objetos virtuais no mundo real. A realidade virtual integra o usurio em um mundo virtual gerado por computador[2]. Os objetos tridimensionais podem ser vistos nos computadores, em capacetes HMD (Head-Mounted Display), em salas CAVE (Cave Automatic Virtual Environment) ou diretamente no mundo real, a olho nu (chamado de Realidade Aumentada Espacial[3]). A utilizao dessa tecnologia apresenta algumas dificuldades, tais como: O tempo de desenvolvimento; O impacto causado nas pessoas pelos sistemas de ambientes virtuais;

11

ESCOLA POLITCNICA DE PERNAMBUCO

Protocolos de comunicao que tratem detalhadamente das transferncias de dados dos equipamentos de realidade virtual e aumentada; O treinamento necessrio para o uso adequado do sistema; O custo do projeto. Ausncia de sistemas colaborativos que possam ser executados diretamente no browser para comunicao usando realidade aumentada. Neste ponto, alguns questionamentos tambm se fazem necessrios: a) At que ponto um sistema baseado em realidade aumentada pode beneficiar a interao entre o homem e a mquina? b) At que ponto um mesmo sistema pode ser colaborativo o suficiente para auxiliar na interao entre indivduos fisicamente separados? c) Que tipos de aplicaes podem se beneficiar do uso desta tecnologia?

1.1. Caracterizao do ProblemaMuitas aplicaes no se beneficiam do uso dos equipamentos de entrada/sada tradicionais. Alguns sistemas utilizam equipamentos especficos para que os usurios desempenhem suas tarefas, como a visualizao de elementos feitos em sistemas CAD (Computer Aided Design), por exemplo. A RA (Realidade Aumentada) focada em facilitar o desenvolvimento das atividades, com destaque em visualizao e manipulao da informao. No se sabe ao certo a total capacidade a ser alcanada pela RA, porm alguns projetos como o holodeck[4] so objetivados para reforar a evoluo da tecnologia. No fcil encontrar atualmente sistemas de realidade aumentada disponveis para estudo, embora haja um grande crescimento do nmero de bibliotecas de desenvolvimento em RA[5]. A construo de um sistema de RA que tenha suporte colaborao tambm no simples devido falta de sistemas que aborde essa integrao de tecnologias. O problema se torna ainda mais complexo devido dificuldade de se encontrar softwares de RA com suporte colaborao que possam ser usados na web por meio de um navegador como o Internet Explorer ou Mozilla Firefox, que elimina para 12

ESCOLA POLITCNICA DE PERNAMBUCO

o usurio os problemas inerentes instalao do sistema, que tenha um custo muito baixo na utilizao e cujo software possa ser usado maciamente pela sociedade. A gerao de informao em formatos alm dos abordados em multimdia (como texto, som e imagem) tambm no apresenta um nvel satisfatrio para as pessoas. Isso prejudica as aplicaes que essencialmente utilizam informaes no espao tridimensional (sem contar a dimenso temporal). Com base nestes problemas, sugere-se neste trabalho um projeto de sistema colaborativo que suporte recursos de realidade aumentada, e permita demonstrar o potencial de contribuio desse tipo de software para vrias aplicaes, como o ensino (tanto distncia como presencial), a engenharia, a arquitetura e a publicidade.

1.2. MetodologiaA metodologia adotada est fundamentada em situaes experimentais, com as anlises sendo construdas sob o funcionamento do sistema, para avaliao das diversas variveis. As atividades listadas nesta seo sero de fundamental importncia para o desenvolvimento do projeto, e so as seguintes: 1. Definio do escopo do projeto, para um planejamento efetivo da concluso do sistema, incorporando elementos dentro do prazo estabelecido. 2. Levantamento de requisitos do projeto baseado no escopo anterior. Devem ser levantados tanto os requisitos do servidor como os do cliente, de modo a produzir a documentao necessria do sistema, seguindo padres de Engenharia de Software focado na construo de sistemas de Realidade Virtual e Aumentada[6]. 3. Modelagem do banco de dados de modo a contemplar a extenso do projeto no desenvolvimento de uma evoluo futura. 4. Documentao de todo o processo a ser desenvolvido por meio da criao de diagramas UML.

13

ESCOLA POLITCNICA DE PERNAMBUCO

5. Construo do servidor e do banco de dados pela guarda dos dados persistentes dos objetos envolvidos. 6. Construo do cliente respeitando o objetivo geral que trata do desenvolvimento da maior parte da complexidade nos usurios finais e no no centro (servidores, roteadores), mantendo, assim, o servidor no sobrecarregado. 7. Testes do servidor e dos clientes, tanto isolados, para auxiliar o desenvolvimento dos requisitos, como em conjunto, para analisar a efetiva comunicao. 8. Anlise de desempenho do sistema, pela execuo do cliente e do servidor no mesmo computador e em computadores diferentes, porm na mesma rede. 9. Anlise do nvel de interatividade do sistema, baseado em pesquisas de satisfao do usurio. Dessa forma, espera-se definir o grau de funcionalidade diferenciada, em relao a um sistema colaborativo tradicional. O diagrama, descrito na Figura 1.1, organiza a interao entre estas atividades.

Figura 1.1. Diagrama de atividades do projeto 14

ESCOLA POLITCNICA DE PERNAMBUCO

As fases do projeto foram planejadas para o desenvolvimento em quatro meses, contemplando a documentao presente neste trabalho.

1.3. Estrutura da MonografiaO captulo 2 desta monografia descreve os fundamentos da realidade virtual e aumentada, suas caractersticas principais, suas diferenas, vantagens, desvantagens, e o estado de desenvolvimento nos dias atuais. O captulo 3 explora os conceitos do trabalho colaborativo, focando nos estudos da colaborao auxiliada por computador. Ser descrito em detalhes algumas tecnologias e a importncia da colaborao para sistemas de realidade aumentada. O captulo 4 define o projeto, com os requisitos abordados e incorporados, arquitetura, implementaes, tecnologias usadas, dificuldades e fatores de sucesso. Detalhes adicionais do projeto, tais como diagramas de classes definidas para o sistema, requisitos funcionais e no funcionais, esto relacionados nos apndices.

15

ESCOLA POLITCNICA DE PERNAMBUCO

Captulo 2 Fundamentos da Realidade Virtual e AumentadaDevido natureza tridimensional do mundo em que vivemos, a representao bidimensional da informao pode no retratar fielmente os elementos a serem observados. De acordo com [7], o desenvolvimento da realidade virtual e aumentada permitiu que a representao interativa e imersiva do imaginrio fosse mais fcil de ser obtida. Muitas aplicaes, como tratamento de fobias, simulao de exames cirrgicos e de tcnicas de extrao de petrleo podem ser beneficiadas com o uso da Realidade Virtual. Outras aplicaes, como a alterao virtual de um imvel real no momento em que est sendo visualizado, em tempo real atravs de uma cmera, e a manipulao de um motor virtual usando as prprias mos esto sendo realizados com tcnicas de realidade aumentada. Nas prximas sees sero detalhadas as caractersticas que envolvem essas duas tecnologias.

2.1. Realidade VirtualA RV (Realidade Virtual) uma tecnologia que permite integrar elementos reais em um ambiente virtual gerado por computador. Um dos exemplos so os simuladores de vos, em que uma pessoa pilota uma aeronave de uma forma virtual. A RV pode ser vista como a imerso do usurio em um mundo virtual utilizando equipamentos de interao como capacetes e luvas, de forma que o mundo virtual receba aes dos usurios e responda a estes estmulos, como na Figura 2.1

16

ESCOLA POLITCNICA DE PERNAMBUCO

Figura 2.1. Exemplo de Realidade Virtual Quando o usurio termina de realizar a imerso no sistema de realidade virtual, o usurio sofre uma brusca transio visual, ao passar do mundo virtual para o real. Por outro lado, a realidade aumentada, descrita na seo 2.2, faz com que o usurio perceba essa mudana de uma forma bastante suavizada. Para possibilitar a unio e a comunicao entre empresas, e tambm usurios de RV, pela web, a Web3D Consortium formalizou uma srie de regulamentaes para o desenvolvimento de padres de RV. Dessa forma surgiu a Linguagem de Modelagem de Realidade Virtual, VRML (Virtual Reality Modeling Language) [8] , que tem passado por revises e apresenta diversas verses. uma linguagem interpretada, a qual pode ser criada ou editada, em qualquer editor de texto. Para a visualizao de objetos VRML no navegador, necessrio um plugin que servir como um viewer. Internamente, o VRML pode ser manipulado usando linguagens de script (como o Javascript) para uma melhor interao inserindo e removendo objetos em tempo real. O VRML passou pelas verses 1.1 e 2.0, esta ltima conhecida como VRML97. H tambm a verso 3.0 que, devido a sua importncia e abrangncia, tornou-se um projeto especial, inclusive com um nome especfico. A linguagem recebeu a denominao X3D[9]. Houve grandes modificaes, como o suporte ao XML (Extensible Markup Language) , ampliando consideravelmente a integrao com sistemas de diferentes tecnologias e propsitos. Alm do suporte XML, h o suporte sintaxe VRML por retrocompatibilidade e a opo de se obter o arquivo binrio (com a extenso x3db), embora este ainda esteja em desenvolvimento. Outras tecnologias esto sendo desenvolvidas para dar suporte realidade virtual como Papervision3D[10], Java3D, Ogre[11], e outros. Algumas so utilizadas 17

ESCOLA POLITCNICA DE PERNAMBUCO

na Web por um navegador, outras so aplicadas em sistemas standalone para distribuio, instalao e uso. Com a realidade virtual, o usurio pode realizar navegao pelo mundo virtual usando mouse e teclado, ou pode usar equipamentos no tradicionais, como capacetes e luvas de forma a realizar as aes necessrias. O usurio tambm pode realizar aes que atualmente no poderiam ser feitas no mundo real, como voar ou teletransportar. 2.1.1. Definio Vrias podem ser as definies acerca deste conceito. Uma delas, mostrada em [2] prope que: Realidade virtual uma interface avanada para aplicaes computacionais, que permite ao usurio navegar e interagir, em tempo real, com um ambiente tridimensional gerado por computador, usando dispositivos multissensoriais RV uma interface, pois o meio de comunicao entre o ser humano e a mquina. Pode ser utilizada em qualquer aplicao executvel por um sistema computacional. O ambiente da realidade virtual normalmente tridimensional, para simular com fidelidade o mundo real, embora nada impea que elementos 2D, como menus e botes, possam ser expostos no ambiente. Os dispositivos multissensoriais, citados na descrio, so equipamentos que o usurio pode utilizar para interao e imerso no ambiente virtual. O termo multissensorial relaciona-se com a possibilidade de trabalho com os diversos sentidos, como a audio e a viso. Quanto mais sentidos o sistema utilizar, mais realstico ser o ambiente virtual.

Figura 2.2. Equipamentos de Realidade Virtual 18

ESCOLA POLITCNICA DE PERNAMBUCO

Interao em RV significa realizar aes no ambiente e receber feedback sobre as consequncias dessas aes. Imerso em RV significa estar dentro do ambiente virtual. Os sistemas podem utilizar dispositivos como displays estereoscpicos, som 3D e dispositivos hpticos[12] para aumentar o grau de imerso e realismo do sistema. Atualmente o termo preferencial utilizados pelos pesquisadores o de Ambiente Virtual, mais genrico, que pode abranger tanto realidade virtual como realidade aumentada. 2.1.2. Motivao A necessidade do ser humano em querer ver apenas o que lhe desejado, associada com a evoluo do hardware, tem proporcionado um vertiginoso crescimento para a tecnologia de realidade virtual, cujo impacto ser sentido no modo de vida das pessoas. Muitas vezes o imaginrio no bem representado apenas por interfaces de at duas dimenses, como textos e imagens. A realidade virtual pretende facilitar, desse modo, os comandos do usurio. Ao invs de acionar comandos atravs de interfaces como botes e menus, as pessoas podem executar tais comandos diretamente sobre os objetos tridimensionais, como por exemplo, abrir porta, dirigir e voar em um avio, como na Figura 2.3.

Figura 2.3. Simulao de Vo Em um ambiente virtual, o usurio pode estender ou contrair o tempo, pode visualizar galxias ou simples tomos, instantaneamente deslocar-se em diferentes

19

ESCOLA POLITCNICA DE PERNAMBUCO

lugares, ou fazer anlises de fenmenos fsicos difceis de serem vistos e observados no mundo real [7]. 2.1.3. Histrico A realidade virtual, embora ainda esteja em fase de pesquisa e desenvolvimento, no uma tecnologia recente em relao ao histrico da computao. Na dcada de 1950, um cineasta chamado Morton Heilig projetou o primeiro dispositivo que realizaria imerso do usurio, chamado de Sensorama. Este equipamento seria o cinema do futuro, na viso do Heilig, pois o usurio poderia sentir o vento, o mar e outros elementos que estariam sendo vistos no filme. [7]

Figura 2.4. Publicao do Sensorama. Na dcada de 1960, um engenheiro chamado Ivan Sutherland desenvolveu o primeiro capacete, denominado Ultimate Display que propiciava interao do usurio na realidade virtual.[7]

Figura 2.5. Ultimate Display de Ivan Sutherland[7]

20

ESCOLA POLITCNICA DE PERNAMBUCO

O nome Realidade Virtual foi cunhado na dcada de 1980, por Jaron Lanier, que conseguiu combinar dois conceitos para formar a base do objetivo da RV, que a fuso entre o virtual e o real.[7] Apenas a partir dos anos 90 que a RV ganhou fora graas ao avano tecnolgico dos equipamentos eletrnicos. Atualmente a RV est bastante difundida, com uma infinidade de aplicaes, embora ainda no tenha atingido todo o potencial estimado. 2.1.4. Equipamentos Os projetistas dos sistemas de realidade virtual podem utilizar equipamentos para que permitam aos usurios imergirem e interagirem nos mundos virtuais projetados. Deve-se ter cautela no projeto para no colocar muitos equipamentos no corpo do usurio de modo a no sofrer perda de liberdade no movimento do corpo. Cada equipamento pode ser categorizado pelo nmero de graus de liberdade DOF (Degrees Of Freedom), ou seja, pelo nmero de translaes e rotaes que pode realizar em um objeto tridimensional.

Figura 2.6. Os 6 Graus de Liberdade Alguns equipamentos so usados nas mos, enquanto outros podem ser usados na cabea para captar a orientao do usurio e realizar a transformao necessria do mundo virtual, porm outras partes do corpo de forma a deixarem a cabea e as mos livres. Apenas sero citados alguns equipamentos j bastante conhecidos, uma vez que a quantidade de itens de entrada/sada que servem para um sistema de RV de difcil mensurao. Em [4], o leitor poder ter acesso a alguns equipamentos noconvencionais de RV. 21

ESCOLA POLITCNICA DE PERNAMBUCO

HMD (Head-Mounted Display): Este tipo de equipamento mostrado na Figura 2.4 acomodado na cabea de forma a cobrir os olhos. Fones tambm podem ser disponibilizados de modo a prover sons alm de imagens ao sistema. Os HMDs tambm podem ser estereoscpicos, um recurso bastante usado em cinemas 3D.

Figura 2.7. Diferentes tipos de HMD[13] Este tipo de equipamento captura a orientao e o posicionamento da cabea de forma a alterar o ngulo de visualizao, como se o usurio estivesse realmente imerso no ambiente.[13]. Luvas: Equipamentos que se adaptam aos movimentos minuciosos dos dedos e da mo, capturando a orientao, posio, distncia entre os dedos. A aplicao pode usar estes parmetros para definir aes no mundo virtual. Alguns sistemas permitem que o usurio execute comandos atravs de gestos. Outros sistemas podem, por exemplo, obter o movimento da mo e realizar o mesmo movimento em um objeto 3D, como se o estivesse segurando.

Figura 2.8. Luva para Realidade Virtual[7] 22

ESCOLA POLITCNICA DE PERNAMBUCO

As luvas podem ter suporte a recursos hpticos, os quais simulam a fora de reao do objeto, quando da realizao do toque, atravs de presso exercida na mo do usurio, conforme mostrado na Figura 2.9 [14].

Figura 2.9. Luva com sensao ttil para o usurio.[14] Vrios outros tipos de luvas e equipamentos a serem colocados nas mos adicionam funcionalidades na navegao do usurio no mundo virtual. Mais detalhes podem ser obtidos em [14]. CAVE (Cave Automatic Virtual Environment): Outro ambiente, denominado CAVE, consiste de uma pequena sala, parcialmente ou totalmente fechada, cujas paredes so telas projetoras para o ambiente tridimensional. O usurio transferido do mundo real para o mundo virtual mostrado no CAVE.

Figura 2.10. Ambiente CAVE[15] Neste ambiente, o usurio tambm pode, normalmente, usar culos ou HMD para realar o realismo do ambiente gerado no CAVE, ou ainda adicionar estereoscopia. Projetor Estereoscpico: Equipamento responsvel por projetar duas imagens com mnimas diferenas de ngulo e posio, e realizar a imagem estereoscpica. Pode-se ver um exemplo na Figura 2.11. 23

ESCOLA POLITCNICA DE PERNAMBUCO

Figura 2.11. Projetor Estereoscpico Os olhos de uma pessoa captam imagens diferentes e o crebro processa-os dando a sensao de trs dimenses do ambiente capturado. Esta capacidade chamada de estereoscopia. A seo 2.1.5 descreve em detalhes esta capacidade e demonstra uma tcnica de estereoscopia usada na monografia, o anaglifo. Monitor: Uma tela de computador tambm pode servir para exibir ambientes tridimensionais. O monitor de fcil acesso e de baixo custo para o usurio, embora o grau de realismo no seja alto, como na Figura 2.12. Para aumentar o realismo, o ambiente virtual pode ser visto de forma estereoscpica, com a tcnica do anaglifo.

Figura 2.12. Monitor exibindo em 2D um mundo em 3D Monitores hologrficos esto sendo desenvolvidos para poder adicionar sensao de profundidade e realismo tridimensional medida que o usurio caminha em volta da tela. 24

ESCOLA POLITCNICA DE PERNAMBUCO

2.1.5. Estereoscopia A palavra estereoscopia vem do grego, que significa viso slida. Ela define que qualquer ser vivo que contenha os olhos em posies cujas orientaes possam ser cruzadas possa ter noes de profundidade de qualquer objeto no campo de viso. Cada olho capta uma imagem um pouco diferente da imagem do outro. O crebro combina as imagens, recebe o grau de convergncia dos pontos de vista dos olhos e processa a informao de tridimensionalidade dos elementos. A estereoscopia bastante usada nas tecnologias de udio. O usurio tem a sensao de imerso no ambiente onde originou o som, percebendo a distncia do objeto que gerou o som, a posio, e outras caractersticas. Um sistema estereoscpico utiliza o efeito da paralaxe para reproduzir a profundidade. Paralaxe a distncia do mesmo objeto nas imagens captadas em posies diferentes, cuja exemplificao encontrada na Figura 2.13.

b)

a)

c)

Figura 2.13. Efeito paralaxe: a) Olhos em posies diferentes; b) Imagem capturada pelo olho direito; c) Imagem capturada pelo olho esquerdo Vrias tcnicas tm sido criadas para reproduzir computacionalmente o efeito estereoscpico, como por exemplo, o efeito por disparidade cromtica (ChromaDepth), display auto-estereoscpico e o efeito Pulfrich[16]. Outra tcnica bastante conhecida, e a mais barata, o anaglifo, que exibe a profundidade usando cores complementares, geralmente vermelho e ciano. Cada olho utilizar um filtro de uma das cores, captando apenas uma imagem e o crebro processar o resultado.

25

ESCOLA POLITCNICA DE PERNAMBUCO

A Figura 2.14a mostra o anaglifo sendo usado no projeto. O usurio utilizar culos contendo os dois filtros, como na Figura 2.14b.

a)

b)

Figura 2.14. Exemplo de Anaglifo no Projeto: a) Objeto 3D com as cores e b) culos de visualizao do anaglifo. O projeto proposto usa a tcnica de anaglifo para prover o recurso estereoscpico com um mnimo de custo. Para visualizar a profundidade, foram criados culos com lentes feitas de celofane vermelho (no olho esquerdo) e azul (no olho direito). 2.1.6. Dificuldades Gerais da Realidade Virtual O desenvolvimento de um ambiente virtual ainda custoso em relao a um ambiente apenas com menus e botes. Algumas informaes abstratas podem no ter representao direta em um ambiente tridimensional, devendo o desenvolvedor criar metforas bem planejadas para tal aspecto. Caso a representao do usurio no ambiente sofra coliso com um objeto tridimensional, o usurio no mundo real no tem a sensao ttil deste toque. Nesse caso, usam-se equipamentos hpticos para dar o senso de fora de reao do objeto tridimensional ao usurio.[17] Norman, em [18], diz que o conhecimento da manipulao de um objeto est no prprio objeto. Dessa forma, a pessoa percebe que um boto s pode ser pressionado e que um controle de volume s pode ser girado[17]. Esta caracterstica no pode ser aplicada a objetos virtuais, que demandam manipulaes previamente desenvolvidas pelos programadores. Atualmente um ambiente virtual no consegue captar todas as caractersticas do mundo real, fazendo com que o usurio siga regras rgidas pouco comuns no mundo real[17]. 26

ESCOLA POLITCNICA DE PERNAMBUCO

2.2. Realidade AumentadaNestes ltimos tempos, a realidade aumentada vem ganhando destaque no mercado, embora ainda no tenha chegado sua maturidade esperada. RA (Realidade Aumentada) o enriquecimento de elementos virtuais (no necessariamente tridimensionais) a um ambiente fsico. Normalmente utilizado um padro de desenho capturado por uma cmera, e o objeto virtual projetado sobre este padro, sendo exibido em um display de sada, como o HMD ou monitor. Muitas aplicaes esto obtendo um ganho de interatividade considervel ao usar a RA. Para citar um exemplo, pode-se obter um raio-x em uma pessoa e em tempo real projetar o esqueleto humano, de acordo com o raio-x, diretamente na pessoa. 2.2.1. Definio A realidade aumentada tem vrias definies como se segue[2]: Enriquecimento do ambiente real com objetos virtuais, usando algum dispositivo tecnolgico, funcionando em tempo real; Melhoria do mundo real com textos, imagens e objetos virtuais , gerados por computador; Mistura de mundos reais e virtuais em algum ponto da realidade/virtualidade contnua, que conecta ambientes completamente fsicos a ambientes completamente virtuais Azuma em [19] resumiu o conceito da RA em trs caractersticas bsicas: Combina real e virtual Interativo em tempo real Registrado em 3D Um filme como o Jurassic Park contm muitos efeitos reunindo real e virtual, porm no interativo. Isso no impede o sistema de RA de utilizar os recursos multimdia como texto, som e imagem para complementar um ambiente tridimensional da RA.

27

ESCOLA POLITCNICA DE PERNAMBUCO

Os sistemas de RA necessitam do rastreamento do ambiente real, denominado tracking[20]. Com o tracking, o software pode executar algoritmos de processamento de imagens e viso computacional para identificar os elementos presentes no ambiente, e poder incorporar objetos virtuais nos lugares adequados. Com o aumento da largura de banda de conexo e da capacidade de processamento dos computadores, a RA est tornando-se mais acessvel para os usurios de computadores pessoais. O sentido de presena em um sistema de realidade aumentada no totalmente controlado pelo sistema, diferentemente da realidade virtual, em que o usurio sai completamente do mundo real para interagir no ambiente virtual. Na Tabela 2.1 so definidas diferenas entre a realidade virtual e a realidade aumentada. Tabela 2.1. Diferenas entre Realidade Virtual e Aumentada Realidade Virtual Ambiente Principal Sentido de Presena Impacto da transio dos mundos virtual real Representao do usurio 2.2.2. Classificao Podemos categorizar um sistema de RA em duas partes[5]: Imersiva: Quando o usurio v o mundo misturado olhando diretamente para a posio no mundo real. O usurio manipula o padro e o ambiente virtual visto diretamente no padro. A Figura 2.15.a mostra um usurio utilizando HMD para um sistema imersivo. No-Imersiva: O usurio v o mundo misturado olhando para alguma tela de sada, ao invs de olhar para o real padro. O usurio manipula o padro, a tela captura imagens da 28 Gerado por computador Controlado pelo sistema Alta Atravs de um avatar Realidade Aumentada Mundo Real Natural do usurio Baixa Direta

ESCOLA POLITCNICA DE PERNAMBUCO

cena real e exibe a cena junto com os objetos virtuais. A Figura 2.15.b mostra um usurio em um sistema de RA no-imersivo usando um monitor.

a)

b)

Figura 2.15. Sistemas de RA: a) No-Imersivo e b) Imersivo Os sistemas imersivo e no-imersivo tambm podem ser chamados de sistemas de viso direta e viso indireta. 2.2.3. Motivao A tecnologia de realidade aumentada vem ganhando popularidade com uma grande velocidade. Sistemas locais ou em rede, fixos ou mveis, tm encontrado muitas oportunidades de desenvolvimento utilizando RA. Muitas aplicaes esto tendo grandes impactos pelo uso dessa tecnologia. A medicina tem obtido sucesso ao prover treinamento dos estudantes em prottipos sintticos do corpo humano pela incorporao de objetos virtuais representando aparelhos internos (reprodutor, respiratrio...) sobre o prottipo. A visualizao de dados em tempo real para informaes a turistas sobre lugares histricos, tambm esto tendo boa aceitao pela aplicao de tcnicas de realidade aumentada. Realidade virtual e realidade aumentada podem ser futuramente evoludas para a hiper-realidade, atravs da combinao do mundo real com o mundo virtual, cada qual realizando aes e respondendo a eventos da outra, cabendo s pessoas visualizarem apenas o que lhe interessa. 29

ESCOLA POLITCNICA DE PERNAMBUCO

2.2.4. Dificuldades As tcnicas de realidade aumentada tm evoludo para obteno de respostas cada vez mais rpidas. A realidade aumentada pode utilizar dispositivos de realidade virtual, porm a tendncia o uso do sistema sem a necessidade de aparatos no corpo. Algoritmos de viso computacional e processamento de imagens so imprescindveis para um sistema de realidade aumentada, embora o uso de GPS possa ser usado para rastreamento. Algumas dificuldades para RV tambm se aplicam a RA, como por exemplo: 1) o modo de interao, que deve ser o mais natural possvel; 2) a quantidade de dispositivos no corpo do usurio, que deve ser o mnimo possvel; 3) o comprometimento do sistema na entrega dos dados para o usurio de, no mximo, 100 milissegundos de atraso entre os quadros de imagens, deve ser estabelecido. Acima desse tempo, o usurio comea a perceber a artificialidade do ambiente e o sistema comea a perder realismo; 4) os algoritmos de rastreamento devem ser rpidos o suficiente para que o resultado seja atualizado por, no mnimo, 10 quadros por segundo. Todo o conjunto de hardware e software usado no sistema deve obedecer esta meta.

30

ESCOLA POLITCNICA DE PERNAMBUCO

Captulo 3 Fundamentos do Trabalho ColaborativoA colaborao como expresso da comunicao entre pessoas que trabalham juntas e com um mesmo objetivo, tem sido essencial desde os tempos mais remotos para a evoluo de todo o ecossistema. Para que o ser humano pudesse realizar as suas atividades de um modo cada vez mais eficiente e prazeroso, foram desenvolvidas ferramentas que viessem a facilitar o seu trabalho. Todavia, determinadas atividades atingiram um nvel tal de complexidade que inviabilizaria a sua execuo caso no houvesse a ajuda de outras pessoas. No caso de um sistema computacional, tem havido uma evoluo nos sistemas que suportam colaborao, pela incorporao de subsistemas de chat e videoconferncia. Determinadas atividades, devido a sua complexidade, vem sendo executadas simultaneamente por mais de uma pessoa, de modo a que se possa obter um desenvolvimento eficiente do produto ou servio. A partir desta necessidade de colaborao, alguns estudos esto sendo consolidados pela engenharia de groupware, para a construo de aplicaes que tenham suporte a CSCW (Computer Supported Collaborative Work)[21]. Esta seo tem como objetivo explicar os fundamentos do Trabalho Colaborativo Baseado em Computador, denominado CSCW, e a aplicao do CSCW em ambientes virtuais, o Ambiente Virtual Colaborativo, denominado CVE (Collaborative Virtual Environment)[22].

3.1. O Modelo 3CPara se construir um sistema colaborativo eficaz, os usurios devem realizar entre si a transferncia de informaes (comunicao), ajudar na execuo do trabalho em um espao compartilhado por um grupo (cooperao), de um modo origanizado (coordenao). [23] 31

ESCOLA POLITCNICA DE PERNAMBUCO

O modelo 3C, a partir destes objetivos, foi criado para facilitar a construo de tais sistemas. A Figura 3.1 mostra o relacionamento entre estes conceitos.

Figura 3.1. Modelo 3C para sistemas colaborativos A partir destes conceitos, um usurio consegue obter a percepo das aes executadas por uma outra pessoa, informar-se da situao do trabalho e saber o necessrio para continuar suas atividades.

3.2. Trabalho Colaborativo Baseado em ComputadorTodos os sistemas computacionais que tm suporte a colaborao esto contidos na classe CSCW. CSCW uma rea de estudo que aborda conceitos de atividades que so realizadas por um grupo. Para se ter um sistema colaborativo, necessrio um espao compartilhado de modo que os usurios possam executar atividades em suas especialidades e contribuir com o objetivo do grupo. Define-se os grupos de trabalho colaborativo como sendo espaos virtuais concebidos para que um conjunto de pessoas possam comunicar, colaborar e intercambiar informaes entre si. Os sistemas de multimdia que so usadas por grupos de pessoas, como por exemplo, bate-papo e redes sociais, so chamados de Groupware. Quanto aos ambientes colaborativos, estes podem ser classificados como sendo assncronos ou sncronos. Sistemas assncronos so aqueles que no 32

ESCOLA POLITCNICA DE PERNAMBUCO

obrigam os usurios a executarem as suas tarefas ao mesmo tempo. Por outro lado, nos sistemas sncronos, os interlocutores precisam executar as suas tarefas ao mesmo tempo. Outro modo de categorizar os ambientes colaborativos em termos de espao. Com relao ao espao de colaborao, os ambientes podem ser locais ou distribudos. Pode-se haver uma combinao destas classificaes, como na Figura 3.2. Ao mesmo tempo Em tempos diferentes

Local

Distribudo

Figura 3.2. Classificaes e exemplos de sistemas colaborativos O projeto proposto pode ser categorizado como um sistema sncrono, pois necessrio que os usurios o estejam usando ao mesmo tempo, e distribudo, pois pode ser executado em uma rede de computadores.

3.3. Ambiente Virtual ColaborativoO conceito de trabalho colaborativo pode ser aplicado para ambientes virtuais. Nesse ponto, a realidade virtual e aumentada se beneficia do uso de atividades colaborativas para simular toda a complexidade de uma sociedade. As pessoas podem ser representadas por um avatar, um objeto dentro do mundo virtual, com o qual outras pessoas podem realizar a comunicao. O usurio explora, navega e interage com o mundo virtual atravs do avatar. Conforme descrito em [24], define-se um CVE como sendo: Um espao virtual ou conjunto de lugares, distribudo e baseado em computador. Nestes lugares, pessoas podem encontrar-se e 33

ESCOLA POLITCNICA DE PERNAMBUCO

interagir com outras, com agentes ou objetos virtuais. CVEs podem variar em riqueza da representao em ambientes 3D, 2.5D e 2D, at em ambientes baseados em texto. O acesso ao CVE pode ser feito por dispositivos fixos e mveis. Nesta definio, qualquer sistema computacional que tenha um espao compartilhado em que pessoas possam realizar colaborao se enquadra como um CVE, embora o termo CVE normalmente esteja associado ao ambiente tridimensional. Para a criao de um CVE, o desenvolvedor deve planejar o sistema de acordo com os critrios abaixo: Contexto compartilhado, ou espao compartilhado; Conscincia das atividades de outras pessoas; Negociao e comunicao, para realizar colaborao; Mltiplos e flexveis pontos de vista. O ltimo item supracitado inerente em um sistema de RV, porm necessrio um esforo adicional do desenvolvedor para prover este servio em um sistema de RA.

34

ESCOLA POLITCNICA DE PERNAMBUCO

Captulo 4 O Projeto Proposto - NHEMuitos sistemas colaborativos j se encontram disponveis para facilitar o trabalho de equipes com nfase em coordenao, cooperao e comunicao. Tambm j existem sistemas de realidade virtual e realidade aumentada como simuladores de vo, jogos, simuladores de extrao de poos de petrleo, entre outros. Porm bastante difcil e incomum, encontrar sistemas de realidade aumentada que tenham suporte ao trabalho colaborativo para as aplicaes definidas nesta monografia. Com esse escopo em mente, objetiva-se nesse projeto demonstrar a capacidade de uso de tecnologias de realidade aumentada em um ambiente colaborativo, mais precisamente em um CVE. A idia mostrar como outras tecnologias que no sejam do conjunto WIMP possam ser usadas de forma que o trabalho de um usurio flua muito mais rapidamente. A palavra NHE significa, em Tupi-guarani, fala ou lngua, devido ao objetivo do projeto proposto. Conforme descrito em [21], pode-se categorizar este projeto como sendo um sistema colaborativo estacionrio distribudo: 1. um sistema colaborativo, pois envolve a interao de mais de uma pessoa, no apenas abordando comunicao (chat), todavia envolvendo cooperao e colaborao, requisitos necessrios a um sistema baseado em CSCW no modelo 3C. 2. um sistema estacionrio, pois no envolve a mobilidade do usurio, ou seja, no requer conhecimento da posio e orientao do usurio no mundo real para o exerccios das atividades no sistema. 3. E por fim, um sistema distribudo pois no h obrigao de que todos os usurios estejam fisicamente prximos. A dificuldade percebida por este tipo de sistema a limitao com relao a interao social dos usurios. Alm disso h um problema de sincronizao e definio de regras para que os usurios no interfiram no trabalho dos outros. Desse modo, o projeto utiliza um chat para aumentar a interao entre os participantes. 35

ESCOLA POLITCNICA DE PERNAMBUCO

Na seo 4.1, sero descritos os objetivos do projeto, enquanto nas na seo 4.2 sero apresentadas as motivaes para o desenvolvimento do sistema. A seo 4.3 trata das tecnologias usadas, enquanto a seo 4.4 trata do planejamento do sistema proposto. O desenvolvimento do servidor e do cliente detalhado nas sees 4.5 e 4.6, respectivamente. As vantagens advindas da utilizao do projeto so citadas na seo 4.7. A seo 4.8 mostra as aplicaes que sero beneficiadas com o projeto.

4.1. ObjetivoO projeto tem como objetivo principal o desenvolvimento de uma aplicao que demonstre o poder da realidade aumentada como nova forma de interao com o usurio auxiliando na visualizao e resoluo de tarefas que necessitem de trabalho em equipe. Para se atingir este objetivo necessrio o estabelecimento de objetivos intermedirios, denominados especficos, de modo a organizar as metas e facilitar a compreenso da evoluo do projeto durante o seu desenvolvimento: 1. Construo de um sistema de trabalho colaborativo em uma rede local abordando o modelo 3C: Comunicao, Cooperao e Coordenao. Isto far com que o sistema seja completo o suficiente para dar interatividade aos usurios, de modo organizado, sem que o trabalho de um usurio possa destruir o trabalho de outro[25]. 2. Capacitao do sistema de modo a realizar colaborao usando tecnologias de realidade aumentada[25]. Verificao do grau de dificuldade na implantao de realidade virtual e aumentada em um ambiente virtual colaborativo e o grau de expanso do sistema de modo a atender s mudanas de necessidades. 3. Avaliao do nvel de dependncia dos usurios com o sistema de interfaces WIMP e o desenvolvimento de softwares de interfaces alternativas. 4. Desenvolvimento de um ambiente virtual de interao a ser utilizado por instituies como escolas, indstrias e governos, de modo a facilitar o aprendizado, o desenvolvimento de sistemas complexos ou a execuo de tarefas,

36

ESCOLA POLITCNICA DE PERNAMBUCO

por meio da realidade aumentada usando a prpria infraestrutura da World Wide Web, de modo a atingir um grande nmero de pessoas. 5. Construo de um prottipo do sistema executando num servidor web que utilize webcam para captura do marcador, para exibio do objeto 3D correspondente e para transferncia das aes realizadas no objeto 3D pelo marcador para os outros usurios participantes do projeto. Os demais usurios do grupo devem ter uma funcionalidade mnima para poder participar das aes do projeto.

4.2. MotivaoO projeto apresenta um grande potencial para transformar-se em produto, beneficiando desse modo tanto o mercado, pela construo de projetos que demandem parceria remota entre as equipes, quanto o ambiente acadmico, atravs de pesquisas e estudos. Com o rpido desenvolvimento da realidade aumentada, as pessoas em suas residncias ou mesmo nas corporaes podem vir a usufruir dessa tecnologia, pela utilizao do sistema proposto na realizao de trabalhos que demandem colaborao. O projeto atual pode tambm servir de base para futuras extenses pelo simples acesso automtico dos usurios Web, sem a necessidade de instalaes de componentes adicionais.

4.3. TecnologiasPara que se possa atingir uma grande quantidade de pessoas, foi planejada a utilizao do Adobe Flash como tecnologia para exibio do sistema ao usurio no navegador. Para o ambiente tridimensional do sistema, foi usada uma biblioteca de gerao de objetos tridimensionais, o Papervision3D[10], que executado sob a plataforma Flash[26]. Para obter os recursos de rastreamento da cmera e manipular os objetos tridimensionais atravs do movimento de padres exibidos na tela, foi usada outra biblioteca do Flash, o FLARToolkit[27]. 37

ESCOLA POLITCNICA DE PERNAMBUCO

H vrias outras bibliotecas no Flash que realizam a mesma funo do Papervision3D, como o Sandy3D[28], Alternativa3D[29] e Away3D[30]. O FLARToolkit tem suporte a essas quatro bibliotecas. O programador pode utilizar outra plataforma de desenvolvimento ao invs do Flash, como o Java3D e Ogre3D. Para a Web, no entanto, a construo de um sistema de realidade aumentada est acessvel pelo uso da plataforma Flash e da biblioteca FLARToolkit. O objetivo do FLARToolkit no trabalho proposto saber a orientao necessria (rotao e translao) para sincronizao do modelo tridimensional visto pelos participantes. Esta orientao armazenada em uma matriz de transformao. Os passos para a obteno do processo so os seguintes[27]: 1. Captura de Imagem O primeiro passo obter as imagens da cmera. No Flash, a cmera obtida usando Camera.getCamera(). No projeto, a imagem da cmera serve como fonte para o detector de realidade aumentada do FLARToolkit.

Figura 4.1. Captura de Imagem Na figura Figura 4.1, a cmera exibida dentro de um arquivo no formato SWF, uma extenso utilizada para animaes em Flash. 2. Binarizao Aps a captura, realizado o processo de binarizao, pela transformao da imagem em escala de cinza (0 a 255), como na Figura 4.2a, e em seguida, em preto-ebranco, como na Figura 4.2b, atravs de um valor limiar, denominado threshold[27]. O limiar definido no sistema. O algoritmo para binarizao fornecido na biblioteca. A Figura 4.2 mostra as etapas da binarizao.

38

ESCOLA POLITCNICA DE PERNAMBUCO

a)

b)

Figura 4.2. Binarizao: a) Imagem em escala de cinza; b) Imagem aps binarizao Se o valor do pixel for menor que o threshold, ele ter a cor branca, caso contrrio ter a cor preta. O algoritmo utiliza o mtodo BitmapData.applyFilter para a imagem em escala de cinza e BitmapData.threshold para a efetiva binarizao. 3. Labeling O processo de labeling identifica (rotula) reas contguas colorindo-as com cores diferentes. A Figura 4.3 mostra o resultado aps o labeling.

Figura 4.3. Labeling Esse processo facilita a separao dos objetos, principalmente quando dois ou mais marcadores so usados em conjunto. O algoritmo usado para o labeling, descrito no Quadro 4.1, utiliza o mtodo floodfill do objeto BitmapData do Flash, que preenche os elementos dando como parmetros o pixel branco mais esquerda de cada parte encontrada. Quadro 4.1. Algoritmo para o Labeling 1 2 Enquanto todas as reas no foram rotuladas, faa Buscar reas contguas de branco (os elementos a serem analisados

39

ESCOLA POLITCNICA DE PERNAMBUCO

estaro brancos aps a binarizao). 3 4 5 Capturar uma linha e encontrar o primeiro pixel branco. Realizar o preenchimento usando o mtodo BitmapData.floodfill. Incrementar o ndice da cor (para preencher outra rea com outra cor). 6 7 Capturar a rea que foi preenchida pelo mtodo floodfill. Guardar a rea apenas se o tamanho for maior que o mnimo permitido. 8 9 Reduzir a imagem total para analizar outras reas Fim-enquanto Este algoritmo fornecido pela biblioteca FLARToolkit. Utilizou-se a classe que contm apenas a deteco de marcadores simples, para o escopo pretendido. 4. Busca por Quadrados Devido ao uso de padres quadrados, a etapa de busca por quadrados foi criada para facilitar a deteco do padro, como na Figura 4.4.

Figura 4.4. Busca por Quadrados Aps a busca, a imagem est pronta para o reconhecimento de padres de forma a gerar a matriz de transformao. O algoritmo para a busca foi desenvolvido na biblioteca FLARToolkit.

40

ESCOLA POLITCNICA DE PERNAMBUCO

5. Reconhecimento de Padres Para recuperar a imagem dos quadrados com os lados paralelos aos lados da tela do computador, removendo a distoro visual que um plano apresenta em um mundo 3D, o FLARToolkit utiliza o algoritmo homogrfico. Todos os quadrados detectados sero comparados com o padro que o sistema utiliza, como na Figura 4.5. O algoritmo multiplica cada valor de pixel do padro do sistema pelo correspondente pixel de cada elemento detectado, sendo feito 4 vezes por causa das 4 rotaes do padro. O clculo com maior valor em cada rotao torna-se o nvel de confiana das imagens detectadas.

Figura 4.5. Comparao entre o padro armazenado no sistema (lado esquerdo) e padres detectados na imagem (lado superior) A imagem da comparao com o maior nvel de confiana ser a escolhida. 6. Clculo das Transformadas O FLARToolkit utiliza o algoritmo do clculo da matriz de transformao usado no ARToolkit, descrito em [31]. Essa matriz contm aspectos como rotao, escala e translao (por ser uma transformao afim)[32]. 7. Insero do Objeto Tridimensional Com a matriz capturada, o objeto virtual inserido no mundo real usando a orientao calculada, como na Figura 4.6.

Figura 4.6. Insero do objeto tridimensional 41

ESCOLA POLITCNICA DE PERNAMBUCO

Um resumo dos processos est no fluxograma da Figura 4.7.

Incio Captura da Imagem Labeling Binarizao

Sim

Padro encontrado?

No

Busca por quadrados

Clculo das transformadas Insero do objeto tridimensional H quadrados a analisar? Sim Reconhecimento de padres

No

Fim

Figura 4.7. Fluxograma dos processos de rastreamento O sistema descrito neste trabalho expande o processo, pela incorporao de passos adicionais para envio da matriz a outros computadores e realizao da colaborao, conforme descrito detalhadamente na seo 4.4.

4.4. PlanejamentoO sistema foi planejado inicialmente para trabalhar em uma rede local, para um melhor foco nos resultados. Conforme haja uma evoluo do sistema e da infraestrutura usada, o aplicativo pode ser estendido para redes mais abrangentes, como redes WAN.

42

ESCOLA POLITCNICA DE PERNAMBUCO

Figura 4.8. Diagrama bsico de uma rede para o sistema NHE Um protocolo de comunicao foi criado para realizao da interao entre o servidor e o cliente. De acordo com as camadas do protocolo TCP/IP, este protocolo est na camada de aplicao e usa o protocolo da camada de transporte TCP. As sees abaixo definem o protocolo. Para separar os elementos do protocolo, foram usados separadores que os usurios no fossem capazes de digitar. Por questes de visualizao grfica na monografia, o pipe |, a vrgula e os parnteses so na verdade caracteres UTF-16 (Unicode Transformation Format) de cdigos \u0001, \u0002, \u0003, para permitir que o usurio digite os caracteres citados em alguma conversao dentro do projeto. 4.4.1. Do cliente para o servidor O cliente envia para o servidor comandos em texto no formato: Quadro 4.2. Sintaxe das mensagens do cliente para o servidor Janela | Comando (Parametro1, Parametro2, ...) 43

ESCOLA POLITCNICA DE PERNAMBUCO

A janela define qual caixa de dilogo enviou o comando. Em seguida inserido o comando seguido dos parmetros com separadores entre eles. 4.4.2. Do servidor para o cliente O servidor recebe o comando e envia a resposta no formato abaixo: Quadro 4.3. Sintaxe das mensagens do servidor para o cliente Janela | Resposta | Parametro1, Parametro2, ... Devido dificuldade da tecnologia Flash poder apenas programar em um thread, foi necessrio a criao de um separador para concatenao dos comandos e envio de uma s vez. Desta forma, no haver mais de um pacote sendo recebido ao mesmo tempo e, por consequncia, no haver pacotes perdidos.

4.5. ServidorO servidor foi desenvolvido na tecnologia Java. Foram feitos dois servidores: um servidor de poltica para permitir ao domnio de rede acesso ao sistema, e um servidor de aplicao e banco, que o elemento principal do projeto. 4.5.1. Servidor de Poltica Para que o cliente possa utilizar as funcionalidades do servidor, ele precisa pedir permisso. Este processo acontece antes de qualquer servio do sistema, inclusive a autenticao. A plataforma Flash contm um processo de segurana para permitir que a aplicao no realize tarefas indevidas, como por exemplo, acesso aos arquivos do usurio sem autorizao. Um destes processos se refere autorizao do computador do usurio realizao da comunicao com o servidor via socket. No caso de um cliente em Flash, necessrio um servidor de poltica que receba um texto em XML e envie a resposta tambm em XML. A solicitao de permisso que um cliente envia a seguinte: Quadro 4.4. Texto XML do cliente para o servidor 44

ESCOLA POLITCNICA DE PERNAMBUCO

Aps o envio da solicitao, o servidor de poltica recebe a requisio, cria um thread para o tratamento, verifica se o domnio do computador do usurio tem permisso, e envia a resposta no seguinte formato: Quadro 4.5. Texto XML do servidor para o cliente Para simplificar o processo, o servidor de poltica aceita pedidos de qualquer computador em qualquer domnio. Por questes de segurana da tecnologia Flash, necessrio um servidor que entregue esta resposta antes de qualquer comunicao efetiva. Aps este processo, o servidor de poltica fecha a thread e termina a conexo com o cliente, porm continua funcionando para outras futuras conexes, usando um thread supervisor. 4.5.2. Servidor de Aplicao e Banco Aps receber a permisso, o cliente inicia a conexo com o servidor de aplicao. Este servidor o ncleo da aplicao que conter toda a lgica necessria para a comunicao entre os clientes. O servidor recebe as requisies e retorna as informaes solicitadas. Foi feito um planejamento nas classes e no banco de dados para persistir os dados necessrios para a colaborao. O relacionamento entre as classes esto definidas no Apndice C. Cada classe bsica contm repositrio e classe de negcio. Todas as funcionalidades destas classes so reunidas na fachada[33]. As classes de conexo com o cliente utilizam a fachada para acessar os dados do banco. O servidor de aplicao contm um thread supervisora que verifica constantemente se algum cliente realiza a conexo. Caso isso ocorra, o servidor cria um

45

ESCOLA POLITCNICA DE PERNAMBUCO

thread para o cliente. O novo thread define a interface de comunicao com o cliente e o servidor.

4.6. ClienteO cliente no necessita instalar nenhum aplicativo para o uso do sistema. Basta apenas acessar o sistema por um navegador. Normalmente o usurio ver todas as telas na ordem descrita neste trabalho. 4.6.1. Tela de Login A primeira funcionalidade do sistema a realizao do login. Para isso, o sistema exibe uma caixa de dilogo como na Figura 4.9.

Figura 4.9. Caixa de dilogo Login A caixa de dilogo login pode enviar os seguintes comandos Tabela 4.1. Comandos da caixa de dilogo Projeto Comando RealizarLogin Descrio Envia os dados de usurio e senha para o servidor verificar a validade dos dados. Por exemplo, para enviar os dados ilustrados na figura 1, o cliente manda o texto Login|RealizarLogin(anderson|89ba023086e37a345839e0c6a0d272eb), onde o segundo parmetro a senha com criptografia MD5[34]. Caso o usurio no exista, a senha esteja errada ou j esteja conectado em outro computador, o servidor envia a resposta de falha no login e o cliente exibe a mensagem de alerta. Se o usurio for autenticado corretamente, a caixa de dilogo de login se fecha e exibida a tela principal.

46

ESCOLA POLITCNICA DE PERNAMBUCO

4.6.2. Cadastro Se o usurio clicar no boto Registrar da caixa de dilogo do login, a tela de cadastro aberta para criao de um usurio no sistema. Todos os campos devem ser escritos antes de clicar em Cadastrar, como na Figura 4.10:

Figura 4.10. Caixa de dilogo Cadastrar A caixa de dilogo do cadastro pode enviar os seguintes comandos: Tabela 4.2. Comandos da caixa de dilogo Cadastrar Comando Descrio

CadastrarUsuario Envia os dados digitados para criar um novo usurio. PreencherEstado Solicita ao servidor a lista de todos os estados cadastrados e preenche-a no campo do estado PreencherCidade Solicita ao servidor a lista de todas as cidades do estado selecionado para preencher o campo cidade. ProcurarCliente Solicita ao servidor uma busca para no cadastrar um usurio j existente. O comando PreencherEstado executado automaticamente. O comando principal desta caixa de dilogo CadastrarUsuario. Aps o cadastro, a caixa de dilogo fechada e o usurio volta tela de login.

47

ESCOLA POLITCNICA DE PERNAMBUCO

4.6.3. Tela Principal na tela principal que o usurio inicia a colaborao. Ele verifica quais usurios esto conectados e quais no esto. Algumas funcionalidades foram deixadas em segundo plano para priorizar os servios essenciais para o trabalho. A Figura 4.11 exibe um screenshot da tela.

Figura 4.11. Caixa de dilogo Principal Na parte superior esquerda, observam-se todos os projetos cadastrados no sistema; na parte inferior esquerda, todos os projetos em que o usurio se inscreveu. A caixa de dilogo da tela principal pode enviar os seguintes comandos Tabela 4.3. Comandos da caixa de dilogo Projeto Comando ListarProjetos Descrio Envia os dados digitados para criar um novo usurio.

ListarProjetosInscritos Solicita ao servidor a lista de todos os estados cadastrados e preenche-a no campo do estado

48

ESCOLA POLITCNICA DE PERNAMBUCO

ListarUsuarios

Solicita ao servidor a lista de todas as cidades do estado selecionado para preencher o campo cidade.

Desconectar

Realiza a desconexo no servidor do usurio. O servidor avisa a todos os outros clientes sobre a desconexo.

Se um usurio entrar no sistema, automaticamente todos os outros sero avisados na lista de usurios conectados. Os trs primeiros comandos so executados automaticamente, ou atravs dos botes de atualizao. 4.6.4. Tela do Projeto A caixa de dilogo do projeto o foco principal do sistema proposto na monografia. Contm o painel que exibir a webcam para executar os algoritmos de realidade aumentada. A figura abaixo mostra a tela em funcionamento.

Figura 4.12. Caixa de dilogo Projeto Na parte inferior, o usurio pode conversar com os outros participantes. Todas as mensagens so visualizadas no lado direito. O lado esquerdo contm a lista dos usurios que esto conectados e entraram no sistema. Tabela 4.4. Comandos da caixa de dilogo Projeto Comando EnviarMensagem Descrio Envia a mensagem para todos os outros usurios

49

ESCOLA POLITCNICA DE PERNAMBUCO

EnviarMatriz EnviarEscala EnviarMaterial DarPermissao

Envia a matriz de transformao para os outros usurios Caso um usurio altere o tamanho do objeto, todos os participantes do projeto automaticamente veem a modificao. Caso um usurio altere a textura do objeto, todos os participantes do projeto automaticamente veem a modificao. O dono do projeto pode permitir que outro participante do projeto possa usar a webcam para manipular o objeto pela RA O dono, em qualquer momento, pode recuperar a permisso de manipular o objeto. O dono pode forar todos os participantes a assistirem manipulao se estiverem usando o projeto individualmente. Obter a lista dos usurios conectados que entraram no projeto. Registrar no servidor a entrada no projeto para avisar aos outros participantes. Registrar no servidor a sada no projeto para avisar aos outros participantes. Avisar ao servidor que iniciar a manipulao individual do projeto.

CapturarPermissao SincronizarTodos ListarUsuarios EntrarNoProjeto SairDoProjeto AlterarSincronizacao

O principal comando desta caixa de dilogo, e de todo o projeto, o EnviarMatriz. Nmeros representando a matriz de transformao so transferidos at o servidor, e este os distribui para os outros clientes. executado apenas quando o sistema detecta o padro utilizando o algoritmo da seo 4.3. A matriz de transformao convertida em texto, usando os separadores entre os nmeros. Como so enviados simples textos entre o servidor e o cliente, o sistema tem a grande vantagem de trabalhar em tempo real, sem congestionar em nenhum momento a rede. Qualquer um dos participantes pode manipular o objeto tridimensional, bastando o dono do projeto determinar a pessoa selecionando-a na lista de usurios e clicando no boto Dar Permisso. Para demonstrar a interao da equipe de participantes, foi desenvolvido um recurso de colorao do modelo. Quando um usurio modifica a cor do modelo, au50

ESCOLA POLITCNICA DE PERNAMBUCO

tomaticamente os outros usurios percebero a alterao. Isso enfatiza o conceito de conscincia de atividades das outras pessoas. A coordenao das tarefas foi desenvolvida permitindo apenas um manipulador por vez. Todos podem alterar o modelo ao mesmo tempo, porm apenas um pode utilizar o marcador de realidade aumentada para mudar a orientao. 4.6.5. Visualizar Perfil do Usurio Ao selecionar um usurio na lista da tela principal, informaes sobre a pessoa selecionada podem ser vistas clicando no boto Ver Perfil, pela exibio da tela como na Figura 4.13.

Figura 4.13. Caixa de dilogo Visualizar Perfil do Usurio A maioria das informaes exibida instantaneamente, pois esto armazenados na lista de usurios conectados. Apenas a cidade e o estado so recuperados no servidor. A caixa de dilogo do perfil do usurio pode enviar os seguintes comandos: Tabela 4.5. Comandos da caixa de dilogo perfil do usurio Comando ObterCidadeEstado Descrio Recuperar informaes adicionais do usurio.

Apenas o comando acima executado automaticamente no momento em que exibe a tela de visualizao do perfil.

4.7. VantagensEnfatizando o sistema cujo planejamento est sendo descrito neste trabalho, podese dizer que este apresenta um custo bastante baixo, sendo necessrio um browser, 51

ESCOLA POLITCNICA DE PERNAMBUCO

um servidor Web (foi usado o Apache, por ser gratuito) e uma Webcam, itens facilmente acessveis aos usurios. Os projetos tero uma maior facilidade de serem planejados, devido visualizao dos mesmos em tempo real, por meio da realidade aumentada. Vrias aplicaes citadas na seo 4.8 podero ser beneficiadas. Com a evoluo dos estudos e aplicaes, as tecnologias abordadas podem vir a influenciar de forma conspcua a sociedade e o modo como as pessoas interagem entre si. Existem sistemas de autoria gratuitos e comerciais que proporcionam a criao de sistemas de Realidade Aumentada colaborativa, como Studierstube[35] e MARS[36], porm no h sistemas em Flash que realizam a mesma atividade. At onde foi pesquisado, no foram encontrados sistemas Web para RA com colaborao.

4.8. AplicaesVrios benefcios podem ser obtidos e impactos observados, com o desenvolvimento e uso de um sistema com essas caractersticas, nas mais diversas reas: 1. Educao: o docente pode exibir tridimensionalmente elementos de estudo para estudantes presentes em sala de aula, ou remotamente, ou ainda para grupos de aprendizagem colaborativa[37]. 2. Engenharia: peas podem ser construdas por membros de uma equipe mesmo que remotamente distribudos, usando realidade aumentada, como forma de facilitar a visualizao e a construo de tarefas. 3. Automao Industrial: o usurio pode visualizar uma simulao da linha de produo, remotamente, de forma animada, interagindo por meio de marcadores da realidade aumentada[38]. 4. Vendas: imveis podem ser visualizados pelos clientes, remotamente, num ambiente 3D, em tempo real, enquanto explicaes podem ser dadas pelo corretor a respeito de tal empreendimento, tambm remotamente;

52

ESCOLA POLITCNICA DE PERNAMBUCO

5. Jogos: novas aplicaes em jogos podem ser desenvolvidas por meio de realidade aumentada, usando marcadores ou o prprio corpo, o que torna a interao homem-mquina mais realista; 6. Medicina: uma equipe mdica pode realizar simulaes cirrgicas nas suas prprias residncias e compartilhar informaes do procedimento cirrgico adotado[39]. O uso da tecnologia de realidade aumentada, em trabalho colaborativo, pode afetar os custos nas reas acima citadas, os quais podero ser reduzidos, a priori, pela no necessidade de construo de prottipos fsicos, que consomem recursos naturais e capital humano. Pode ser construda uma base fsica do prottipo, modificada pela realidade aumentada, e transferida para o ambiente colaborativo. A equipe continuaria tendo a sensao de trabalho em equipe com a telepresena associada ao projeto.

53

ESCOLA POLITCNICA DE PERNAMBUCO

Captulo 5 ResultadosNeste captulo so mostrados os resultados do projeto, com base no tempo de sincronizao entre os clientes, a memria que o projeto utiliza no sistema operacional e o nvel de interatividade atravs de uma pesquisa junto com os usurios

5.1. Tempo de RespostaO sistema apresenta atraso na comunicao apenas quando a rede est congestionada. O atraso tambm pode ser ocasionado pelo processamento do computador, alm da quantidade de programas sendo executados. O projeto atendeu as expectativas no tendo sido observado nenhum atraso por causa da prpria comunicao desenvolvida. Embora o projeto trabalhe bastante com o visual, apenas textos so transferidos entre os computadores. A Figura 5.1 mostra dois computadores usando o aplicativo.

Figura 5.1. Dois computadores utilizando o sistema O tempo de resposta pode ser crtico se for usado um modelo 3D complexo, com muitos polgonos, aumentando desse modo a utilizao da CPU. 54

ESCOLA POLITCNICA DE PERNAMBUCO

5.2. MemriaForam feitos testes de memria com trs browsers bastante conhecidos: Internet Explorer, Mozilla Firefox e Google Chrome. Em todos os trs, foi aberta apenas a pgina do sistema.

Figura 5.2. Uso de memria do sistema A informao da memria usada foi capturada no momento em que: 1) O usurio entra no sistema. 2) O usurio inicia a manipulao de um projeto usando realidade aumentada. 3) O usurio manipula o projeto aps 20 minutos de uso do sistema. Uma alterao no sistema para reduzir o uso de memria a utilizao da plataforma Flash apenas na tela do projeto, usando recursos de AJAX no resto do sistema.

5.3. InteratividadeAlgumas perguntas foram estabelecidas para coletar estatsticas de forma a mensurar a influncia que o sistema proposto pode provocar nas pessoas, alm de verificar o mercado atual. Vale ressaltar que cerca de 15 pessoas foram entrevistadas, a maioria alunos da rea de computao e, dessa forma, no reflete totalmente a situao do sistema e das tecnologias abordadas na sociedade. Entretanto, serve de auxlio para a representatividade em meio acadmico. 55

ESCOLA POLITCNICA DE PERNAMBUCO

Para responder o questionrio, os entrevistados testaram o sistema proposto, desde a autenticao at a tela do projeto, manipulando objetos virtuais e a efetiva colaborao entre pessoas. 5.3.1. Grau de imerso A pergunta : Voc acha que a realidade aumentada substituir as interfaces WIMP?. O grfico abaixo mostra as respostas dos entrevistados.

Figura 5.3. Grau de imerso do RA no sistema A maioria deduziu que a realidade aumentada pode complementar as interfaces tradicionalmente conhecidas. Esta integrao pode facilitar a aceitao das pessoas no uso de sistemas de RA. 5.3.2. Inovao Os entrevistados responderam se o sistema traz inovao em relao a tudo que viram antes. Foi utilizada uma escala de 0 a 10 no grfico da Figura 5.4.

Figura 5.4. Pesquisa sobre inovao do sistema 56

ESCOLA POLITCNICA DE PERNAMBUCO

De acordo com o grfico, o projeto apresenta recursos bastante promissores e inovadores para manipulao de projetos tridimensionais. 5.3.3. Influncia do sistema na sociedade Para este tpico, foi questionado se a realidade aumentada com colaborao, proposta no projeto, pode influenciar o dia-a-dia das pessoas. A Figura 5.5 exibe o grfico da pesquisa.

Figura 5.5. Pesquisa sobre influncia do sistema na sociedade Todos afirmaram que a realidade virtual em sistemas colaborativos, reas utilizadas no projeto, podem influenciar o modo como as pessoas se comunicam, coordenam atividades e cooperam entre si.

57

ESCOLA POLITCNICA DE PERNAMBUCO

Captulo 6 Consideraes FinaisA realidade aumentada apesar de ser uma tecnologia que vem se desenvolvendo num ritmo lento, atrai cada vez mais pesquisadores interessados em sua evoluo. Pode integrar-se a diversas outras tecnologias de telepresena, em desenvolvimento, tais como holograma e vida artificial[40], que combina ambiente virtual, inteligncia artificial e biologia. Assim, juntamente com a colaborao, pode-se criar um ecossistema virtual com todos os elementos do mundo real, ou ento combinlas.

6.1. Dificuldades medida que a implementao foi se desenvolvendo, alguns problemas comearam a ser observados, os quais devido importncia do relato, esto sendo citados nas sees abaixo. 6.1.1. Linux Para que o sistema carregue apenas o necessrio no momento certo, foi usada a biblioteca FlashDLL, que facilita o carregamento do sistema por partes. Porm em sistemas Linux, o carregamento da parte que continha a biblioteca FLARToolkit no estava sendo feita, inutilizando o software. Para solucionar esta dificuldade, o FLARToolkit e seus dependentes ficaram incorporados no arquivo inicial, para evitar o problema. O tamanho inicial do arquivo aumentou, embora a portabilidade tambm cresceu. 6.1.2. Camera Em computadores sem webcam, o sistema estava com problemas no funcionamento. Foi feito um tratamento de erros para ligar a webcam (caso ela exista).

58

ESCOLA POLITCNICA DE PERNAMBUCO

6.1.3. Comunicao Toda aplicao em Flash que utiliza comunicao em socket solicita permisso antes de qualquer troca de informaes. Dessa forma, a complexidade do projeto foi ampliada para tratar esta pendncia. No h obstculos para que o cliente possa ser feito em Java3D para a comunicao direta com o servidor em Java, porm optou-se por Flash pela ubiquidade da plataforma na Web e pela experincia adquirida ao longo dos anos na plataforma Flash. Outra dificuldade relacionada comunicao foi o fato do Flash ser monothread. Caso dois pacotes chegassem ao mesmo tempo no cliente, apenas um seria tratado e outro seria perdido. O projeto sofreu uma reformulao para evitar a perda. O cliente envia vrias solicitaes em apenas um pacote e o servidor, embora multithread, trata todos os pedidos enviando um pacote por vez. 6.1.4. Importao de Modelos Tridimensionais Alguns arquivos de modelos estavam dando erro na importao, como, por exemplo, modelos com animao. Foram testados modelos com extenso 3ds (3D Studio Max) e DAE (Collada). Alguns objetos no importavam as texturas e outros vinculavam texturas em localizaes fixas, sendo difcil realizar o upload com sucesso, pois os objetos e texturas certamente estariam em outras pastas aps o processo. A biblioteca que realiza a importao de modelo, Papervision3D, no desenvolvida junto com as extenses de modelos usadas e, dessa forma, no totalmente compatvel com as mesmas. Foram usadas duas classes da biblioteca Papervision3D para realizar a importao: Collada e DAE. A ltima apresentou mais estabilidade na importao, com menos erros apresentados. 6.1.5. Anaglifo Foi difcil achar papel celofane de cores exatamente complementares para no distorcer a viso do ambiente. Foi um pouco complicado visualizar realmente a profundidade do objeto tridimensional com esta tcnica de custo baixo. Alm disso, medir o 59

ESCOLA POLITCNICA DE PERNAMBUCO

nvel de percepo de profundidade que as pessoas conseguem no fcil pois a resposta de cada usurio subjetiva.

6.2. Trabalhos futurosO sistema pode transformar-se em biblioteca para colaborao usando RA de forma que um desenvolvedor possa us-lo na aplicao de forma mais fcil. A partir desta biblioteca, outras podem ser feitas usando-a. O software ter capacidade de desempenhar funes de simulao fsica em tempo real, colaborativamente usando Realidade Aumentada para melhorar o desenvolvimento de peas mecnicas, simulando atrito, trao, resistncia e outros fenmenos. O usurio tambm poder contar com um sistema que contenha tcnicas de inteligncia artificial e vida artificial, dando um maior grau de realismo na mistura dos mundos real e virtual, aproximando um passo rumo a hiper-realidade. Pode-se desenvolver um prottipo de uma melhoria do sistema incorporando realidade aumentada sem marcador, denominado MAR (Markeless Augmented Reality). Em MAR, qualquer objeto torna-se um padro, inclusive o prprio corpo do usurio. Assim, pode-se usar o conceito de propriocepo para realizar aes nos projetos utilizando mos, a cabea e outras partes. Como um exemplo, torna-se muito mais natural a manipulao dos objetos usando as prprias mos, sendo bastante chamativo um projeto com estas caractersticas. Outra evoluo interessante o suporte a cdigos QR (Quick Response), uma melhoria do cdigo de barras que utiliza o espao 2D, podendo codificar mais informao no mesmo espao.[41] Devido natureza visual dos cdigos QR, eles se tornam solues interessantes para a identificao exclusiva de cada projeto. O sistema pode exibir dois projetos ao mesmo tempo apenas identificando-as por cdigos QR diferentes.

60

ESCOLA POLITCNICA DE PERNAMBUCO

Como o NHE baseado em web, o projeto se torna acessvel para RA com colaborao em sistemas mveis, embora deva ser levada em conta a questo de desempenho. Com o suporte a MAR e a cdigos QR, o usurio ter a habilidade de escolher entre os modos com marcador, que tem a vantagem de identificar os projetos pelos padres atravs do QRCode, e sem marcador, que tem a facilidade de manipulao dos modelos tridimensionais usando as mos.

61

ESCOLA POLITCNICA DE PERNAMBUCO

Bibliografia[1] CORDIS. cones, janelas, menus, ponteiros - Quando a informtica vai evoluir? Inovao Tecnolgica, 2009. Disponivel em: . em: 29 set. 2009. [2] KIRNER, C.; SISCOUTTO, R. A. Fundamentos de Realidade Virtual e Aumentada. IX Symposium on Virtual and Augmented Reality. Petrpolis-RJ: SBC. 2007. p. 2-21. [3] RASKAR, R.; WELCH, G.; FUCHS, H. Spatially Augmented Reality. First International Workshop on Augmented Reality. San Francisco: IEEE. 2008. [4] PINHANEZ, C. Interfaces No-Convencionais. VII Symposium of Virtual Reality. Belm-PA: SBC. 2006. p. 173-198. [5] KIRNER, C.; TORI, R. Fundamentos de Realidade Aumentada. VII Symposium on Virtual Reality. Belm-PA: SBC. 2006. p. 22-38. [6] KIRNER, T. G.; SALVADOR, V. F. M. Desenvolvimento de Ambientes Virtuais. IX Symposium on Virtual and Augmented Reality. Petrpolis-RJ: SBC. 28 Maio 2007. p. 90-107. [7] TORI, R.; KIRNER, C. Fundamentos de Realidade Virtual. In: TORI, R.; KIRNER, C.; SISCOUTTO, R. Fundamentos e Tecnologia de Realidade Virtual e Aumentada. Belm-PA: SBC, 2006. Cap. 1, p. 2-21. [8] THE Virtual Reality Modeling Lan. Web3D Consortium - Royalty Free, Open Standards for Real-Time 3D Communication, 2003. Disponivel em: . Acesso em: 16 dez. 2009. [9] X3D for Developers. Web3D Consortium, 2009. Disponivel em: Acesso

. Acesso em: 17 dez. 2009. [10] PAPERVISION3D. Papervision3D, 2009. Disponivel em:

. Acesso em: 16 dez. 2009. 62

ESCOLA POLITCNICA DE PERNAMBUCO

[11]

. OGRE Open Source 3D Graphics Engine, 2009. Disponivel em: . Acesso em: 17 dez. 2009.

[12]

MACHADO, L. D. S. Dispositivos Hpticos para Interfaces de Realidade Virtual e Aumentada. IX Symposium on Virtual and Augmented Reality. Petrpolis-RJ: SBC. 2007. p. 152-167.

[13]

GUTIRREZ, M. A.; VEXO, F.; THALMANN, D. Vision. In: ______ Stepping into Virtual Reality. London: Springer, 2008. Cap. 7, p. 125-137.

[14]

MACHADO, L. D. S. Dispositivos Hpticos para Interfaces de Realidade Virtual e Aumentada. IX Symposium on Virtual and Augmented Reality. Petrpolis, RJ: SBC. 2007. p. 152-167.

[15]

SOARES, L. P.; CABRAL, M. C.; ZUFFO, M. K. Sistemas Avanados de Realidade Virtual. VII Symposium on Virtual Reality. Belm-PA: SBC. 2006. p. 51-58.

[16]

SISCOUTTO, R. A. et al. Estereoscopia. VII Symposium on Virtual Reality. Belm-PA: SBC. 2006. p. 221-245.

[17]

PINHO, M. S.; REBELO, I. B. Interao em Ambientes Virtuais Imersivos. VIII Symposium on Virtual Reality. Belm-PA: SBC. 2006. p. 145-172.

[18]

NORMAN, D. A. The psychology of everyday things. New York: Basic Books, 1988.

[19]

AZUMA, R. T. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments, Los Angeles, CA, v. 6, n. 4, p. 355-385, ago. 1995.

[20]

NEWMAN, J. et al. Ubiquitous Tracking for Augmented Reality. International Symposium on Mixed and Augmented Reality, Arlington-VA, 2 nov. 2004. 192- 201.

[21]

WANG, X.; DUNSTON, P. S. Groupware Concepts for Augmented Reality Mediated Human-To-Human Collaboration. Proceedings of Joint

International Conference on Computing and Decision Making in Civil and Building Engineering. Montreal, Canad: [s.n.]. 2006. p. 1836-1842. [22] SNOWDON, D.; CHURCHILL, E. F.; MUNRO, A. J. Collaborative Virtual Environments: Digital Spaces and Places for CSCW: An Introduction. In: 63

ESCOLA POLITCNICA DE PERNAMBUCO

SNOWDON, D.; CHURCHILL, E. F.; MUNRO, A. J. Collaborative Virtual Environments: Digital Spaces and Places for Interaction. [S.l.]: SpringerVerlag, 2001. Cap. 1, p. 3-17. [23] FUKS, H.; RAPOSO, A. B.; GEROSA, M. A. Do Modelo de Colaborao 3C Engenharia de Groupware. IX Simpsio Brasileiro de Sistemas Multimdia e Web. Salvador, Bahia: WebMidia. 2003. p. 445-452. [24] DAVE SNOWDON, E. F. C. A. A. J. M. Collaborative Virtual Environments: Digital Spaces and Places for CSCW. In: DAVE SNOWDON, E. F. C. A. A. J. M. Collaborative Virtual Environments: Digital Places and Spaces for Interaction. London: Springer - Verlag, 2001. Cap. 1, p. 3-17. [25] FILIPPO, D. et al. Ambientes Colaborat