WRA´2005 - II Workshop de Realidade Aumentada Cartões Marcadores Dinâmicos em Ambientes de Realidade Aumentada Bianchi Serique Meiguins1, Igor de Souza Almeida1, Marina Atsumi Oikawa1 1 Universidade Federal do Pará – UFPA Campus do Guamá, Rua Augusto Côrrea, 01, CEP 66075-110, Caixa postal 479. PABX +55 91 3183-2121 Belém – PA – Brasil. [email protected], {is_almeida, nina_oikawa}@yahoo.com.br Abstract This paper presents an improved version of the well-known markers that are used to construct virtual objects in augmented reality environments. The main idea consists in using markers that may be dynamically changed, thus enhancing the interactivity level of the application. As demonstration, an Euclidean Geometry augmented environment using the proposed technique was developed. Key words: augmented reality, interaction, dynamic markers, geometry. 1. Introdução Em um sistema de Realidade Aumentada (RA), existe uma coexistência de objetos virtuais com elementos do ambiente real, interagindo em tempo real [2]. Assim, o que antes só podia ser descrito, modelado e observado com realidade virtual pode ser incorporado ao nosso ambiente através da RA [3;4], como, por exemplo, colocar um livro virtual sobre uma mesa real ou ter em suas próprias mãos um cubo virtual para análise de dados. Em outras palavras, o usuário mantém o senso de presença, na medida em que o ambiente real e o ambiente virtual são sobrepostos de modo que o usuário continue vendo e/ou sentindo os elementos do ambiente real [6]. Para a implementação de ambientes de RA existem diversos recursos computacionais, dentre os quais o ARToolKit [1], associado a um computador pessoal, é o mais conhecido e utilizado devido não requerer para seu funcionamento a utilização de dispositivos tecnológicos de custo elevado e possuir código-fonte aberto e gratuito. Usualmente o ARToolKit usa marcadores pré-definidos pelo usuário para relacionar um objeto virtual à cena real. Se há a necessidade de visualizar vários objetos diferentes, vários marcadores são necessários. Neste artigo, propõe-se a utilização de um marcador dinâmico ou configurável, em ambientes de realidade aumentada gerados pelo ARToolKit, nos quais a partir de rearranjos no símbolo interno dos marcadores, consegue-se modificações no cenário do ambiente de estudo. Assim, poder-seia determinar uma seqüência de símbolos de modo a permitir que em ambientes educacionais, por exemplo, o aluno tenha um entendimento melhor dos conceitos ministrados. Visando aprimorar esta idéia, pode-se também organizar o conteúdo instrucional utilizando Mapas Conceituais, os quais são diagramas indicando relações entre conceitos no contexto de um corpo de conhecimentos, de uma disciplina ou de uma matéria de ensino [5], em outras palavras, apresentamse como uma maneira de organizar o conhecimento a ser aprendido pelo aluno, mostrando as relações existentes entre os conceitos do objeto de estudo. Para demonstrar a utilização dos marcadores dinâmicos, bem como sua viabilidade de uso, utilizou-se como estudo de caso o ensino da Geometria Espacial Euclidiana, mas ainda não apoiada por 56 WRA´2005 - II Workshop de Realidade Aumentada mapas conceituais. Contudo, pode-se imaginar a formação de conceitos relacionados, como pontos, reta, plano, face, polígono, objeto tridimensional, entre outros. 2. Descrição da Proposta A característica principal dos marcadores dinâmicos é permitir a manipulação direta dos símbolos, isto é, o usuário pode reconfigurá-lo com a mesma simplicidade que teria ao montar um quebra-cabeça, resultando na exibição de diferentes objetos virtuais. Ressalta-se a importância da construção de uma legenda para auxiliar o usuário na identificação dos símbolos a serem montados. Esta manipulação direta permite, ainda, que uma seqüência gradativa seja seguida pelo usuário para ilustrar seu objeto de estudo. Por exemplo, supondo que se quer explicar os elementos que formam uma pirâmide, pode-se utilizar um símbolo inicial que mostre somente seus vértices. Em seguida, acrescentando-se algumas peças ao símbolo, ter-se-ia a exibição das arestas conectando tais vértices. Ainda, adicionando-se outras peças, poder-se-ia formar as faces da pirâmide. Do mesmo modo, a retirada de peças implicaria na retirada destes elementos do ambiente. Na figura 1, ilustra-se a retirada de uma face lateral da pirâmide. Figura 1. Exemplo de manipulação de Marcadores Dinâmicos. Os cartões marcadores foram produzidos com madeira compensado (26x26cm, com 4cm destinados à borda). A parte interna correspondente ao símbolo está dividida em 16 peças (3x3cm), as quais serão manipuladas pelo usuário. Figura 2. Exemplo de Marcadores Dinâmicos e suas peças, utilizadas na construção do símbolo. 57 WRA´2005 - II Workshop de Realidade Aumentada 3. Estudo de Caso No estudo convencional da Geometria Espacial Euclidiana, percebe-se que existe uma certa dificuldade tanto por parte do professor, na explanação do conteúdo, quanto do aluno, na percepção e visualização de alguns conceitos fundamentais, já que, usualmente, o conteúdo é ensinado em uma superfície plana, como o quadro-negro. Tais dificuldades são suplantadas com os marcadores configuráveis, onde com a inclusão ou retirada de peças, pode-se, por exemplo, mostrar as arestas, os vértices e os demais elementos que formam uma pirâmide, sem que haja a necessidade do professor desenhar e redesenhar as figuras, além de facilitar sua visualização, pois no momento em que o desenvolvedor constrói os objetos virtuais, pode enriquecê-los com elementos como texto, coloração diferenciada, animações, entre outros. Figura 3. Ambiente aumentado com sua respectiva legenda, mostrando uma pirâmide em diferentes modos de visualização. Pode-se ainda trabalhar com mais de um marcador no ambiente, como no caso de haver interesse em se fazer estudos comparativos de um mesmo sólido, mas sob diferentes óticas, bem como entre dois sólidos geométricos distintos. (4.a) Figura 4. Na situação (4.a), exemplo de proposição de exercícios no ambiente. Em (4.b), a representação da escala de um objeto. 58 (4.b) WRA´2005 - II Workshop de Realidade Aumentada A construção e a utilização do ambiente é simples e não necessita do aprendizado de scripts ou linguagens externas para navegar entre os objetos de estudo criados em VRML. Outras possibilidades incluem: a proposição de exercícios, com a questão (enunciado, figura e dados) sendo exibida no ambiente, para que o aluno possa interagir com a mesma, retirando ou inserindo elementos que achar necessário, podendo-se expandir esta idéia utilizando dois marcadores, com um deles contendo conceitos explicados anteriormente como auxílio na resolução da questão; a representação da escala de um objeto em tempo real em ambientes aumentados (ver figura 4). 3. Considerações finais Com esta proposta, construiu-se um ambiente para visualização de sólidos geométricos que não requer equipamentos de alto custo e performance e com uma riqueza de detalhes que não é conseguida no modo convencional de ensino. Adicionalmente, há um maior controle sobre o ambiente, podendo-se facilmente modificar seu conteúdo, bastando consultar a legenda. Conseguiu-se também resolver o problema de escala em tempo real dos objetos em ambientes aumentados, uma vez que apenas se conseguia efetuar as operações de translação e rotação com o marcador convencional. Para tal, a simples inclusão ou retirada de peças do símbolo do marcador permite redimensionar o objeto virtual. Além disso, manipula-se de maneira única o ambiente, permitindo ainda trabalhar com vários objetos ao mesmo tempo, bastando para isso adicionar outros marcadores no ambiente, obedecendo-se os limites de captação da câmera. 4. Trabalhos Futuros A proposta encontra-se em fase de desenvolvimento, sendo que dentre as etapas a serem seguidas, a validação da interface com o usuário final será fator determinante para indicar o seu nível de aceitação. Outras questões a serem tratadas referem-se às melhorias imediatas, quanto a fatores como mobilidade, limitações da ferramenta, entre outros. Além disso, a continuidade da proposta será feita aliada ao estudo de Mapas Conceituais para guiar o desenvolvimento do conteúdo e o relacionamento de seus conceitos. Referências [1] ARToolKit 2.65. Software disponível para download em: http://www.hit.washington. edu, 2004. [2] AZUMA, Roland et al. Recent Advances in Augmented Reality. IEE Computer Graphics and Applications, vol. 21,. p.34-47, 2001. [3] KIRNER, Cláudio. Mãos colaborativas em ambientes de Realidade Misturada. In: I Workshop sobre Realidade Aumentada, Piracicaba – SP, p. 1-4, 2004. [4] KIRNER, Cláudio; PROVIDELO, Celso. Realidade Aumentada: Conceitos e Ambientes de Hardware. In: Realidade Virtual – Uma abordagem prática, VII Symposium on Virtual Reality, São Paulo, p. 127-140, 2004. [5] MOREIRA, Marco Antônio. Mapas Conceituais e Aprendizagem Significativa. Disponível em: http://www.if.ufrgs.br/~moreira/mapasport.pdf. Acesso em: 19 Ago 2005. [6] PROVIDELO, Celso et al. Ambiente dedicado para aplicações educacionais interativas com Realidade Misturada. Disponível em: www.tryon.ind.br/publicacoes/svr_drai.pdf. Acesso em: 25 jan 2005. 59 WRA´2005 - II Workshop de Realidade Aumentada Visualização de órgãos em Realidade Aumentada Márcio Alexandre de Souza Silva, Victor Vitiello Silva, Fábio R. de Miranda Centro Universitário Senac - Av. Engenheiro Eusébio Stevaux 823, São Paulo - SP - Tel(11)5682-7300 [email protected]; [email protected]; [email protected] Abstract In this paper we are presenting the initial phase of a graduation project that is focused on human organs visualization using the augmented reality technology to assist students on their learning and doctors on various situations, such as on planning of surgeries. 1. Introdução Da mesma forma que a Realidade Virtual (RV), a Realidade Aumentada (RA) é capaz de fornecer um grande auxilio na formação de novos profissionais da área médica, assim como auxiliar os já existentes. A visualização de modelos tridimensionais de órgãos humanos, usando a RA, é capaz de fornecer ao médico informações complexas e exatas auxiliando assim procedimentos como análise de exames, planejamento de cirurgias e na execução de cirurgias. Encontra-se na literatura exemplos de trabalhos anteriores com a proposta de auxiliar procedimentos médicos e terapêuticos, como o desenvolvido na Universidade do Colorado do Norte, em Chapel Hill, onde pesquisadores tem realizado mapeamentos do útero em mulheres grávidas através de sensores de ultra-som, gerando a representação 3D do feto, visualizando-o através de um HMD [1]. Seu objetivo é ajudar um médico no processo de visualização do feto movendo-se no útero. Posteriormente, esforços foram concentrados na costura de tecidos após a retirada de algum tumor no seio. Outra aplicação consiste no treinamento de iniciantes na realização destas cirurgias, mostrando os passos que eles devem seguir, auxiliando-os na execução de suas tarefas. Também existem pesquisas que utilizam a sobreposição de imagens geradas por computador às imagens reais para auxiliar ou prover informações relevantes durante a realização ou estudo de um procedimento, complementando assim a realidade [2]. Esses sistemas obtêm essas imagens por exames como tomografia computadorizada ou ressonância magnética para gerar o volume de um órgão ou estrutura de um paciente específico. Os médicos visualizam o volume virtual sobreposto ao paciente e assim podem identificar estruturas anatômicas existentes no local de interesse, como veias, artérias ou tumores, e analisam os pontos de intervenção ou podem até mesmo realizar procedimentos cirúrgicos. 1.1 Ferramentas e Tecnologias Uma grande área do cérebro é dedicada ao processamento e organização dos estímulos visuais. Devido a isso, os dispositivos visuais e o tipo de imagem gerada por um sistema de realidade virtual influenciam o nível de imersão do sistema [3]. Os sistemas de exibição estereoscópica permitem ao observador ver os o ambiente gerado além das dimensões da tela do computador, acrescentando profundidade à visualização, tornando-a mais realista e próxima da forma que o mundo real é visto [4]. Para que as imagens do mundo real e virtual possam ser registradas (fundidas na posição correta) é preciso que a posição e orientação da câmera sejam rastreadas constantemente (tracking). A maioria das aplicações de Realidade Aumentada utiliza técnicas de Visão Computacional para realizar o rastreamento. 60 WRA´2005 - II Workshop de Realidade Aumentada No momento o ARToolkit é muito utilizado nos projetos e estudos na área para aplicações ligada a Realidade Aumentada. Além da ARToolKit existe a jARToolKit, que segue a mesma linha da ARToolKit, porém foi desenvolvida em Java e o DART - The Designer's Augmented Reality Toolkit[5]que é uma ferramenta de prototipação rápida de aplicações de Realidade Aumentada, foi desenvolvida no Augmented Environments Laboratory do Georgia Institute of Technology - Gatech e compreende um conjunto de extensões ao Macromedia Director para o desenvolvimento de aplicações de RA. O sistema é composto por diversas ferramentas, dentre elas o ARToolkit (optical tracking), o OpenAL (som 3D) e o VRPN (realtime streaming data) ajustados para funcionarem em conjunção com o Director. Com o uso do Dart o desenvolvedor de aplicações de RA passa a utilizar uma ferramenta de autoria multimídia (Director) ao invés de um compilador como no caso do ARToolkit e outros. Assim, designers e desenvolvedores em geral podem se concentrar nos aspectos de concepção e testes da aplicação mais do que na programação e debug. 1.2 Motivação e Relevância A medicina tem sido uma área bastante beneficiada pelos avanços da computação gráfica. Podese citar como exemplo a visualização volumétrica de estruturas internas do corpo humano, a partir de dados obtidos de exames como tomografia computadorizada e a ressonância magnética. Nos últimos anos, com o surgimento dos procedimentos conhecidos como minimamente invasivos, os métodos cirúrgicos passaram a oferecer um tempo menor de recuperação para os pacientes, com a conseqüente diminuição do tempo de permanência destes pacientes no ambiente hospitalar. Nesse tipo de procedimento, o médico/cirurgião realiza pequenos cortes (aproximadamente 10 mm) por onde são inseridos os instrumentos cirúrgicos no corpo do paciente. Em alguns casos não existe informação visual para o médico e de sua habilidade dependerá o sucesso do procedimento. Observa-se, portanto, que o uso de ferramentas baseadas em RA poderia oferecer uma nova forma de auxilio e treinamento, onde imagens tridimensionais e exploração interativa seriam combinadas para oferecer uma visualização mais realista. Assim, o uso de sistemas computacionais com essas características permitiria uma maior qualidade no atendimento ao paciente [4]. Hoje em dia um dos problemas na área de educação é manter a motivação dos alunos no aprendizado de um determinado conteúdo. Muitas vezes falta interesse até mesmo dos tutores por falta de recursos e métodos para auxiliar na formação do educando. Em muitos casos a complexidade imposta por uma tarefa está muito além dos recursos naturais que seus sentidos podem oferecer, com isso, instituições e educadores não conseguem manter-se motivados. O ensino e treinamento na área médica têm essa característica, em função da complexidade do corpo humano [6]. Desta forma foi decidido usar a Realidade Aumentada voltada para a medicina, pois acredita-se que essa tecnologia possa fornecer ainda mais recursos que a RV e assim tornar cada vez melhor o aprendizado da medicina e tornar mais eficiente às cirurgias dessa área. O objetivo do projeto é fornecer uma aplicação com fins educacionais que a partir de uma base de dados contendo informações sobre órgãos humanos, permita que pessoas visualizem modelos de órgãos de seus interesses na posição que corresponde aproximadamente à do órgão real sobre o corpo de uma pessoa. 2. Projeto Esse é um projeto com fins educacionais, voltado para estudantes de medicina e médicos. O projeto visa complementar e auxiliar nos estudos referentes ao corpo humano. Visualizando órgãos humanos virtuais sobre um corpo humano real, podendo ser visualizado órgãos comprometidos 61 WRA´2005 - II Workshop de Realidade Aumentada e/ou danificados para estudos dessas anomalias. Com o projeto também será possível reduzir o uso de cadáveres em muitas aplicações. O projeto irá gerar imagens de órgãos humanos capturadas de um banco de dados. Esses órgãos serão sobrepostos a um corpo através de marcadores, utilizando o jARToolKit, que identificaram para o computador a localização do paciente. . O usuário poderá interagir com o software através de um óculos virtual, sendo que este receberá as informações do computador e projetará os órgãos do paciente quando o usuário estiver olhando para ele. Através de uma interface gráfica o usuário poderá selecionar quais órgãos deseja visualizar e o modo de exibição (normal, transparente e cortado). A utilização do software inicia-se com a preparação do ambiente. Primeiramente um marcador é colocado entre os pés do indivíduo a uma certa distancia da câmera, a ser definida futuramente, e cinco outros marcadores são colocados estrategicamente no corpo deste. A figura 1mostra o esquema de como deverá funcionar o software, com suas etapas. Figura 1 - Esquema inicial do funcionamento do software Fase 1 - Captura: Nessa fase o óculos e a câmera captarão a imagem sendo vista e identificará a posição de cada marcador; Fase 2 – Cálculos e Renderização: a partir das posições obtidas na fase 1, cálculos serão feitos para deformar o modelo do corpo humano padrão de forma a torná-lo compatível ao do paciente e para descobrir a posição em que deverá ficar o órgão que o usuário quer visualizar. Depois ocorre a renderização do órgão na imagem que será passada para o óculos. 2.1 Dificuldades Encontradas O principal problema enfrentado é o registro adequado dos órgãos em realidade aumentada sobre o corpo de pacientes, dado que há grande variabilidade de proporções nos corpos das pessoas (Figura 2). A solução proposta envolve a colocação de seis marcadores no corpo do paciente, de modo a permitir avaliar as proporções de seu corpo e projetar melhor os órgãos. As proporções medidas com este método (Figura 3) são utilizadas para calcular deformações a serem aplicadas sobre um corpo humano padrão, que permitirão um registro melhor dos órgãos em realidade aumentada sobre o paciente em questão. Os marcadores são utilizados para determinar o tamanho de três caixas limítrofes que vão determinar deformações a serem aplicadas sobre cada parte do modelo de referência para que se ajuste à pessoa sobre a qual será feita a projeção. Com os marcadores mede-se a largura aproximada do tronco da pessoa, uma medida dos pés até o centro do tronco (h1), o tamanho aproximado de seu tronco superior (h2) e o tamanho da linha dos 62 Figura 2 - As diferenças de características físicas encontradas entre as pessoas torna necessário cuidados durante o registro da cena virtual. WRA´2005 - II Workshop de Realidade Aumentada ombros até a cabeça (h3). As medidas foram definidas desta forma para aproximar melhor o registro dos órgãos sobre o corpo de uma pessoa com fins ilustrativos, e a posição final destes será aproximada. 3. Conclusão largura A Realidade Aumentada tem grande potencial na visualização de estruturas na medicina e no ensino de anatomia, mas apresenta alguns desafios a serem superados. Este trabalho apresenta uma sugestão simples sobre como contornar uma destas dificuldades, que é fazer com que modelos de órgãos vindos de um banco de dados, que tem como referência um ser humano padrão, possam ser superpostos em RA sobre o corpo de qualquer pessoa. Um primeiro protótipo começara a ser implementado de acordo com a descrição do projeto contida neste artigo. Trabalhos futuros podem ser realizados envolvendo o auxilio de médicos na visualização e no planejamento de cirurgias. Permitindo assim, uma visualização tridimensional de modelos criados ou reconstruídos a parir de imagens reais, até uma interação baseada no toque dos objetos (órgãos humanos) virtuais. h3 h2 h1 Figura 3 - Posição dos marcadores de RA no paciente, para determinar como reposicionar seus órgãos durante a projeção e caixas para redimensionamento das seções do corpo. 4. Bibliografia [1] Azuma, R. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments, 6(4), agosto, p. 355-385, 1997. [2] Sabbatini, Renato M. E. Informática Médica. Volume Número 2. Abril/maio-99. Disponível em: < http://www.sabbatini.com/renato/sabb-im.htm > Acesso em: 04 de junho de 2005. [3] Pimentel, K.; Teixeira, K. Virtual Reality –Through the New Looking Glass. 2nd ed, New York, McGraw Hill, 1995. [4] L. S. Machado. A Realidade Virtual no modelamento e simulação de procedimentos invasivos em oncologia pediátrica: um estudo de caso no transplante de medula óssea. 2003. Disponível em: <http://www.teses.usp.br/teses/disponiveis/3/3142/tde-07052003123257/publico/Tese_final_revisada.pdf> Acessado em: 28 de maio de 2005. [5] MacIntyre, B.; Gandy, M.; Dow, S.; Bolter, J. D. DART: A Toolkit for Rapid Design Exploration of Augmented Reality Experiences. Disponível em: <http://www.cc.gatech.edu/gvu/people/students/Steven.Dow/files/AEL-DART-UIST04.pdf > Acessado em 5 de Agosto de 2005 [6] Gomes, W. L; Dias J. S; Kirner, C. Desenvolvimento de aplicações educacionais com Realidade Aumentada. 63 WRA´2005 - II Workshop de Realidade Aumentada Explorando o uso de Interfaces de Realidade Aumentada em Jogos Fabiano Kenith Seki1, Luiz Guilherme Pinto Alvarez2 Jeferson de Souza Dias3, Romero Tori4 INTERLAB - Laboratório de Tecnologias Interativas Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica da Universidade de São Paulo Av. Prof. Luciano Gualberto, travessa 3 nº. 158 CEP 05508-900 - São Paulo, SP - Brasil. {[email protected], [email protected], [email protected], [email protected]} (11) 3091-5282 Abstract. This paper presents a simple Augmented Reality game using jARToolkit and other open source tools, developed as a means of exploring the confluence of games, augmented reality and open source languages. The game, which is the well known Tic-Tac-Toe, contains an input interface that is totally independent from keyboard and mouse, by making use of tracking patterns. The inclusion of VRML objects and the correction of threshold were accomplished by modifying the source code. Another essential part of this project was the conversion of the transformation matrix from the camera coordinate system to the patterns coordinate system. Palavras-Chave: Realidade Aumentada, VRML, jogo. 1. Introdução A finalidade deste trabalho foi explorar a aplicação de tecnologias de Realidade Aumentada e sistemas de código aberto no desenvolvimento de interfaces de jogos eletrônicos. 2. Objetivos O objetivo principal desta primeira etapa do projeto foi a exploração da convergência de novas tecnologias de Realidade Aumentada, jogos de computador e software de código aberto, concentrandose em elementos como bibliotecas e interface com o usuário. Para tanto foi desenvolvido um modelo de jogo simples, baseado no tradicional "Jogo-da-Velha". 3. Softwares Utilizados Utilizamos as ferramentas Java e Java 3D juntamente com o software jARToolKit [jARToolkit], a biblioteca Xj3D [Xj3D] para o desenvolvimento do jogo, e o VRML (Virtual Reality Modeling Language) para a construção dos objetos virtuais do jogo. 4. Aprimoramentos do jARToolkit 2.0 A biblioteca jARToolkit é uma versão em linguagem Java da biblioteca ARToolkit [ARToolkit] para desenvolvimento de aplicações em Realidade Aumentada. Foi decidido utilizar essa biblioteca no 64 WRA´2005 - II Workshop de Realidade Aumentada projeto devido ao interesse em se trabalhar com a linguagem Java, que é utilizada em outros projetos do laboratório com os quais se pretende compartilhar os resultados dessa pesquisa. Entretanto, a versão atual, 2.0, da biblioteca possui apenas a função de reconhecer os marcadores e posicionar um cubo no local indicado. Por isso surgiu a necessidade de se adequar o programa para os requisitos da pesquisa, como por exemplo, a possibilidade de se incluir objetos virtuais como descritos no restante desta seção. 4.1. Inclusão de Objetos Virtuais no Formato VRML Como a versão jARToolKit 2.0 não possui suporte a VRML, a deficiência foi contornada utilizando-se a biblioteca Xj3D e assim, como mostra a listagem 1, tornou-se possível o carregamento de objetos virtuais com transparências, texturas, movimentos, luzes, entre outros. Há ainda algumas limitações do Xj3D, como a impossibilidade de se carregar vídeos e sons, que, no entanto, não comprometeram o atendimento aos requisitos do projeto. Listagem 1 VRML97Loader loader = new VRML97Loader(VRML97Loader.LOAD_ALL); BranchGroup bg; try { Scene cena = loader.load("data/teste.wrl"); bg = cena.getSceneGroup(); objTrans.addChild(bg); } catch (FileNotFoundException e){ System.out.println(e); } 4.2. Alteração do Threshold O Threshold é basicamente um algoritmo que transforma a imagem colorida em preto e branco. No jARToolkit original há um código para se alterar o valor do Threshold, a fim de permitir que haja uma melhora no reconhecimento dos marcadores. Porém, por este código não funciona corretamente, foram feitas correções para que esta opção de ajuste ficasse disponível. 4.3. Matrizes de Posicionamento As matrizes de posicionamento são importantes por mostrarem a posição relativa de um marcador a outro. Elas se fizeram necessárias pelo fato de o tabuleiro estar fixo a um marcador, ou seja, ser dependente da posição e rotação do marcador, e de haver espaços pré-definidos para as peças. Conforme segue na listagem 2 e no 3. Listagem 2 Transform3D tg1=new Transform3D(); objTrans.getTransform(tg1); Matrix4d m1=new Matrix4d(); // m1 Hiro -> matriz principal, do # tg1.get(m1); Transform3D tg2=new Transform3D(); objTrans2.getTransform(tg2); Matrix4d m2=new Matrix4d(); // m2 Kanji -> matriz do objeto auxiliar, O ou X tg2.get(m2); Vector3d dif = new Vector3d( m2.m03 - m1.m03, m2.m13 - m1.m13, m2.m23 - m1.m23 ); 65 WRA´2005 - II Workshop de Realidade Aumentada Listagem 3 Matrix3d m1b = new Matrix3d(); m1.get(m1b); m1b.invert(); m1b.transform(dif); Transform3D tr3d= new Transform3D(); tr3d.set(dif); trans1.setTransform(tr3d); System.out.println("dif:"+dif); // vetor diferenca entre os dois marcadores, {x, y, z} 4.4. Marcadores como Dispositivo de Entrada Como o objetivo foi a criação de um jogo em Realidade Aumentada interativo, o ideal seria que este não possuísse outros dispositivos de entrada (como teclado e mouse) além dos próprios marcadores. Assim, decidiu-se pela utilização de marcadores para a realização do “tracking” dos movimentos de interação do jogador. A partir do momento em que um marcador é detectado dentro do espaço correspondente a um dos nove locais válidos, inicia-se uma contagem e se o marcador permanecer em um mesmo espaço válido por mais que dois segundos, o símbolo correspondente ao marcador é fixado no local designado. Vemos na listagem 4, um trecho do código para a posição 8 do tabuleiro, sendo a sua condição de inclusão e confirmação dos marcadores do jogo. Listagem 4 if(n==8) { tr3d.set(new Vector3d(0,0,440)); trans[contjogadas].setTransform(tr3d); try { if(prox==objTrans2) { cena1 = loader1.load("data/O.wrl"); prox= objTrans3; matrizdejogo.m21=1; } else { cena1 = loader1.load("data/X.wrl"); prox= objTrans2; matrizdejogo.m21=2; } 4.5. Demonstração do Protótipo O jogo consiste de marcadores e peças virtuais, o sharp (tabuleiro), o círculo e a cruz, conforme mostrado pela figura 1. Para se jogar, pega-se o marcador e coloca-se na área de jogo. Começando pelo círculo, seguido pela cruz e assim, alternando-se até o fim do jogo. Figura 1 Quando a peça está em um espaço válido, este espaço fica “iluminado”. Após dois segundos, a peça é fixada no local correspondente, conforme figuras 2 e 3. 66 WRA´2005 - II Workshop de Realidade Aumentada Figura 2 Figura 3 Após uma jogada, não é possível o mesmo jogador colocar outra peça. É a vez do outro jogador, com outro símbolo. Se ao final do jogo houver um vencedor, uma faixa amarela irá aparecer indicando onde há a seqüência vitoriosa. Figura 4 Figura 5 5. Conclusão Consideramos o uso do jARToolKit extremamente eficaz para o desenvolvimento de ferramentas em Realidade Aumentada, atingindo todos objetivos pretendidos na criação do protótipo de um jogo interativo. Tanto o tempo de resposta como as formas de interação por meio de marcadores atenderam aos requisitos de usabilidade esperados para o sistema. Do ponto de vista tecnológico este projeto trouxe melhorias para o jARTooKit, que podem ser aproveitadas em trabalhos futuros. Como próximos trabalhos futuros, podem-se incluir melhorias na interface através da realização de mais testes com usuários, a utilização de um projetor (Realidade Aumentada espacial) ao invés de um monitor convencional para a visualização do jogo e a criação de um componente de software para a utilização dos marcadores como dispositivos de entrada para facilitar a sua reutilização em outros projetos. A partir dos resultados obtidos nesse estudo da convergência entre tecnologias de Realidade Aumentada, jogos e linguagens open source com código aberto, pretende-se elaborar um projeto de pesquisa envolvendo essas tecnologias, possivelmente em cooperação com outros projetos na área de jogos do laboratório ou mesmo com outros laboratórios e instituições. 6. Referências [ARToolkit] ARToolKit Disponível em: <http://www.hitl.washington.edu/artoolkit/>. Acessado em: 05 mai 2005. [JARToolkit] JARToolkit - A Java Binding To The AR-Toolkit. Disponível em <http://jerry.c-lab.de/jartoolkit/>. Acessado em: 05 mai 2005. [Xj3D] The Xj3D Project. Esta ferramenta pode ser usada para importar modelos em VRML. Disponível em: <http://www.xj3d.org/>. Acessado em: 10 jun 2005. 67 WRA´2005 - II Workshop de Realidade Aumentada VISUALIZAÇÃO DE INFORMAÇÕES EM AMBIENTES DE REALIDADE AUMENTADA Carolina Valim Buk, Tereza G. Kirner, Claudio Kirner Universidade Metodista de Piracicaba – UNIMEP Faculdade de Ciências Exatas e da Natureza - FACEN Programa de Pós Graduação em Ciência da Computação. [email protected], [email protected] ABSTRACT The increasing dissemination of information leads to the development of application systems to represent information sets and present their visualization, in a correct and atractive way to the users. This work presents a tool for information visualization, based on augmented reality, which enables the inclusion of graphics over videos from the real world, making possible the manipulation of such graphics by the user, in the real world. 1 - INTRODUÇÃO As técnicas de visualização de informações possuem a capacidade de auxiliar o usuário no estudo e entendimento de grandes quantidades de dados, através dos recursos computacionais, que produzem as informações sob a forma de imagens que sejam capazes de serem interpretadas pelos usuários. A Realidade Aumentada, sendo definida como a sobreposição de ambientes reais com virtuais, através de recursos tecnológicos em tempo real [AZUMA, 1995, KIRNER, 2004], é extremamente útil na visualização de informações, permitindo ao usuário inspecionar e interagir mais facilmente com objetos tridimensionais, ou seja, trabalhar com objetos no mundo real e virtual, atuando naturalmente no ambiente. Assim, a Realidade Aumentada, acrescentando objetos virtuais ao mundo real, facilita a visualização, análise e interação com informações, possibilitando um uso mais natural e abrangente da visualização de dados, uma vez que dados ou gráficos podem ser colocados sobre os objetos correspondentes às informações. 2 - DESENVOLVIMENTO A visualização tridimensional de informações pode ser feita em ambientes de realidade virtual, exigindo que o usuário seja transportado para o espaço virtual, usando dispositivos tecnológicos, como mouse, luva, capacete, etc. ou em ambientes de realidade aumentada, que trazem as representações virtuais das informações para o espaço do usuário, facilitando sua manipulação e visualização com menor dependência tecnológica, uma vez que ele pode realizar as interações com o uso das mãos, contendo eventualmente algumas marcas. Para o desenvolvimento de sistemas de realidade virtual, são usadas linguagens e ferramentas específicas, como, por exemplo, a linguagem VRML e software de autoria, gerando objetos, gráficos e outras representações virtuais, conforme pode ser visto na Figura1. Um ambiente de realidade virtual (KIRNER, 1999) apresenta três características: imersão, que leva o usuário a sentir-se "fisicamente" dentro do ambiente virtual; interação, que permite ao usuário executar ações no ambiente; e navegação, através da qual o usuário explora o ambiente. Com a adição de outros elementos, como sons, por exemplo, pode-se tornar o ambiente mais real. 68 WRA´2005 - II Workshop de Realidade Aumentada Figura 1. Exemplo de aplicação de realidade virtual Em aplicações de realidade virtual, a visualização das informações pode ser não-imersiva ou imersiva. A visualização não-imersiva ocorre quando se utiliza o monitor de computador ou projetor, enquanto que a imersiva utiliza dispositivos especiais, como luvas e capacetes, como mostrado na Figura 2. Para a visualização de informações com realidade virtual, pode ser utilizado um gráfico no ambiente tridimensional, no qual cada objeto (barra cilíndrica, planos) representa um dado. Ao se modificar esse dado, o objeto também modifica sua apresentação e o usuário, então, pode fazer a análise requerida. A Figura 3 mostra um gráfico em ambiente de realidade virtual, representando as informações provenientes de uma tabela. Figura 2. Ambiente virtual imersivo baseado em capacete [Kirner, 2004]. Figura 3. Gráfico em ambiente de realidade virtual. 69 WRA´2005 - II Workshop de Realidade Aumentada Com realidade aumentada, a visualização também pode ser feita através do uso de monitor de computador ou por capacetes de visualização. A diferença entre as duas tecnologias (realidade virtual e realidade aumentada) está em como o usuário se insere no ambiente. Em realidade virtual, o usuário interage dentro de um ambiente criado no computador, utilizando os eixos X, Y e Z para a movimentação. Já em realidade aumentada, essa movimentação se apresenta naturalmente, pois o usuário está no ambiente real e os elemento virtuais são trazidos para o seu espaço. O ambiente de realidade aumentada para visualização de informações apresentado neste trabalho foi desenvolvido com o uso do software ARToolKit (KATO, 2000). O ambiente real, incluindo placas marcadoras (Figura 4), é capturado, através de uma câmera de vídeo, e analisado pelo módulo de visão do software, descobrindo a identificação e o posicionamento das placas. Como cada placa marcadora é associada com um objeto virtual, o software tem condição, assim, de posicionar cada objeto sobre sua placa correspondente, fazendo assim a sobreposição de objetos virtuais no ambiente real. A Figura 5 mostra todo procedimento usado pelo software ARToolKit. Figura 4. Exemplo de marcador Figura 5. Funcionamento da realidade aumentada (KATO, 2000) A visualização de informações, através de gráficos obtidos através de realidade aumentada, é ilustrada nas Figura 6 e 7. A Figura 6 apresenta um gráfico inteiro sobre um marcador, enquanto que a Figura 7 mostra partes de gráficos em vários marcadores, facilitando assim a visualização das informações pelo usuário. Os gráficos virtuais podem também ser 70 WRA´2005 - II Workshop de Realidade Aumentada posicionados sobre objetos reais, mostrando suas características, facilitando assim a associação das informações com os elementos representativos. Figura 6. Gráfico em realidade Aumentada Figura 7. Partes de um gráfico em Marcadores separados 3 - CONCLUSÕES O uso de realidade aumentada em aplicações de visualização de informações mostrou-se bastante interessante e simples de ser usado, na medida em que pode agregar gráficos virtuais diretamente sobre objetos reais, apresentados em um monitor ou através de capacete de visualização. Essa característica proporciona maior motivação para os usuários, devido à facilidade de uso e ao apelo visual proporcionado. Além disso, existe a possibilidade de incorporação de sons aos gráficos e aos elementos do ambiente, propiciando a implementação de avisos sonoros de advertência, em casos de ocorrência de situações de perigo ou de limites, melhorando as condições de tomada de decisão do usuário do sistema. A interação do usuário com o sistema também ganha muito com a realidade aumentada, pois permite o uso das mãos para executar ações, como se os objetos virtuais fossem reais. Em função dessas vantagens, a realidade aumentada apresenta-se como muito promissora na evolução dos sistemas de visualização de informações, integrando-os com sistemas de aquisição de dados e de tomada de decisão. REFERÊNCIAS - AZUMA, Ronald T. - A Survey of Augmented Reality. In Computer Graphics (SIGGRAPH '95 Proceedings, Course Notes #9: Developing Advanced Virtual Reality Applications), 1995. p. 1-38. - KATO, Hirokazu, et al. - ARToolKit 2.33. Documentation. Seatle, 2000. - KIRNER, Claudio. - Realidade Virtual: Dispositivos e Aplicações. Anais da VII Escola Regional de informática da SBC Regional Sul - VII ERI, SBC, Londrina, Chapecó, Novo Hamburgo, maio de 1999, p. 135-158. - KIRNER, C. ; TORI, R. Introdução à Realidade Virtual, Realidade Misturada e Hiper-realidade. In: Claudio Kirner; Romero Tori. (Ed.). Realidade Virtual: Conceitos, Tecnologia e Tendências. 1ed. São Paulo, 2004, v. 1, p. 3-20. 71 WRA´2005 - II Workshop de Realidade Aumentada Sistema de Realidade Aumentada para Condução e Monitoramento de Veículos Marcelo P. Guimarães1, Ezequiel R. Zorzal1, Eduardo A. Queiroz1, Cláudio Kirner1,2 Centro Universitário Adventista de São Paulo1 Estrada de Itapecerica, 5859 CEP 05858-001 São Paulo – SP - Brasil Universidade Metodista de Piracicaba – UNIMEP2 Faculdade de Ciências Exatas da Natureza Programa de Pós Graduação em Ciência da Computação Rodovia do Açucar, km 156 – CEP 13400-911- Piracicaba – SP - Brasil [email protected], [email protected], [email protected], [email protected] Abstract. This paper presents a system of conduction and monitoring of vehicles without motorists. The system attached a wireless camera to a car. When the car found a signal, this system detects it and emits the appropriated command to the car. It was used a toy car to develop a prototype. The Augmented Reality was added in the system to provide information about the car on the road. 1. Introdução Apesar dos primeiros trabalhos em Realidade Virtual terem sido propostos na década de 60, apenas recentemente tecnologias de baixo custo têm sido disponibilizadas para a implementação de aplicações efetivas. A Realidade Virtual possibilita a interação e envolvimento imersivo de usuários com objetos virtuais, seja, por exemplo, por intermédio de dispositivos de visualização 3D estereoscópicos ou por dispositivos de sensação de toque (dispositivos haptic). Diversas áreas do conhecimento podem se beneficiar do uso de objetos virtuais; a Engenharia, por exemplo, pode reduzir ou evitar a construção de protótipos físicos, e simular ambientes inacessíveis ou perigosos. A Medicina pode utilizar a Realidade Virtual para interpretar dados, monitorar pacientes e planejar cirurgias. Existem algumas particularizações de áreas referentes ao uso de objetos virtuais, dentre elas, a área de Realidade Aumentada, que é uma tecnologia que permite sobrepor objetos virtuais com o mundo real. A Realidade aumentada utiliza técnicas de Visão Computacional, Computação Gráfica e Realidade Virtual para melhorar ou aumentar a visão que os usuários possuem [1,2]. Este trabalho tem como objetivo apresentar um sistema de Realidade Aumentada para condução e monitoramento de veículos. A figura 1 ilustra o funcionamento do sistema desenvolvido. O veículo, por intermédio de uma câmera sem fio instalada nele, obtém as imagens da pista (1) e transmite (2) para a central de monitoramento e condução (computador). Para cada imagem, a central faz uma análise (3) a fim de se detectar os marcadores de controle (placas de sinalização). Os marcadores são utilizados para a identificação dos comandos a serem executados. Atualmente, os seguintes comandos estão sendo usados: parar, seguir em frente, virar a esquerda, virar a direita. Quando um marcador é encontrado na imagem, o comando associado a ele é enviado (4) para o veículo. Enquanto isso, o operador, na central, visualiza a pista e a posição em que o veículo se encontra. Além de mostrar a visão da câmera para o operador, o sistema mostra um modelo virtual do veículo na sua posição corrente na pista. Outras informações também poderiam ser disponibilizadas 72 WRA´2005 - II Workshop de Realidade Aumentada para o operador, como a velocidade do veículo, a quantidade de combustível e a distância percorrida. Num carro real com computador de bordo, o processamento pode ser feito localmente, sem a necessidade da central. 2 3 1 Legenda 1 – Obtém a imagem 2 – Transmite a imagem 3 – Decodifica o marcador 4 – Envia o comando 4 Figura 1 – Funcionamento do sistema de monitoramento A Realidade Aumentada, neste ambiente, mostra-se como uma importante ferramenta, pois mistura as imagens reais da pista, obtidas pela câmera de vídeo, com objetos virtuais, enriquecendo a visão do operador. Na central, o operador tem a sensação de que os objetos reais e os virtuais coexistem no mesmo espaço, uma vez que os objetos virtuais são passíveis de visualização e de interação como se existissem no mundo real. A vantagem da adição de objetos virtuais em ambientes é que estes provêem informações e permitem interações, por exemplo, o operador pode selecionar o veículo e solicitar que este pare. Os detalhes desta pesquisa serão apresentados nas próximas seções. A seção 2 apresenta as tecnologias utilizadas. A seção 3 descreve o protótipo desenvolvido e, finalmente, na seção 4, são apresentadas as conclusões. 2. Tecnologias utilizadas Utilizou-se o software ARToolKit [3] para a detecção dos marcadores nas imagens, para a adição dos objetos virtuais nas imagens e para decidir os comandos a serem executados pelo veículo. Este software utiliza métodos de visão computacional para fornecer a posição e o alinhamento de padrões em imagem do ambiente. Neste caso, os padrões são os marcadores. Todos os marcadores foram previamente cadastrados antes da execução da aplicação. As seguintes etapas são executadas para a detecção dos marcadores: inicialmente, a imagem é capturada pela câmera. Em seguida é transformada em uma imagem binária (preto ou branco). Logo após, o software analisa a imagem binária e encontra os marcadores, e os compara com os previamente cadastrados. Quando um marcador é encontrado, um objeto virtual é adicionado na imagem real. Além da adição do objeto virtual na imagem, utilizou-se a mesma informação, a de identificação do marcador, para gerar o comando apropriado a ser enviado para o veículo. A linguagem de programação C++ e o sistema operacional Windows 2000 foram utilizados na construção do protótipo. 3. O protótipo Utilizou-se um veículo – de brinquedo – para demonstrar o sistema. Desenvolveu-se um hardware para conectar a central ao controle remoto. O controle remoto é utilizado para o envio dos comandos para o veículo. Além disso, desenvolveu-se um software para a central, que tem como funções: ser a interface de interação e de visualização do operador; tratar as imagens da câmera; e gerar os comandos para serem executados pelo veículo. 73 WRA´2005 - II Workshop de Realidade Aumentada 3.1 Hardware O protótipo exigiu uma solução para o controle do veículo por comandos vindos da central. Para isto, o dispositivo de controle remoto do veículo foi ligado à porta paralela de um computador, o que exigiu o desenvolvimento de um circuito. Este circuito recebe os sinais elétricos (comandos de controle do veículo) da porta paralela e os envia para o controle remoto, o qual transmite para o veículo. 3.2 Software O software desenvolvido é utilizado para monitorar e conduzir o veículo. A figura 2 (a) mostra a interface de monitoramento, na qual o operador visualiza o mundo real misturado com o mundo virtual. É apresentada a pista (real) e a posição, em tempo real, do veículo (virtual) na pista. Além disso, esta interface poderia conter outras informações, como, a distância percorrida em um determinado tempo. A figura 2(b) mostra o protótipo desenvolvido. Utilizou-se nele apenas um veículo, mas outros também podem ser adicionados. Neste caso, os veículos deverão ter marcadores na sua frente, parte traseira e lateral para evitar colisões e para regular a velocidade, além de permitir a avaliação automática de situações de ultrapassagem. (a) Monitoramento do veículo (b) Condução do veículo Figura 2 – Sistema de monitoramento e condução de veículos A figura 3 mostra os marcadores que podem ser encontrados na pista do protótipo. No lado de cada marcador está a descrição do respectivo comando associado. Quando um destes comandos é recebido pelo veículo, ele o executa e, em seguida, mantém a direção até o recebimento de um novo comando. Por exemplo, quando ele recebe o comando para virar a esquerda, o veículo irá virar a esquerda e, logo após, continuará na mesma direção. O sistema não está restrito a apenas estes comandos, outros também podem ser acrescentados, como, por exemplo, para o controle de velocidade. Pare Vire a esquerda Siga em frente Vire a direita Figura 3 - Marcadores 74 WRA´2005 - II Workshop de Realidade Aumentada No futuro, um sistema como este poderá ser utilizado para diversas situações, como, por exemplo, apoiar a locomoção de deficientes visuais, crianças ou idosos. Além de eliminar a necessidade do motorista, o sistema poderá conter recursos para a tomada de decisões referentes ao caminho a ser seguido. 4. Conclusões Atualmente, os computadores são utilizados nos veículos para comandar o arcondicionado, o painel de instrumentos e o rádio [4]. Entretanto, existe uma tendência para que estes assumam novas funcionalidades, como a de conduzir veículos, o que traria diversas facilidades a vários indivíduos. Além disso, proporcionaria um ganho de espaço - devido a retirada dos comandos tradicionais - e um aumento da segurança - já que tanto o volante como os pedais costumam causar ferimentos em acidentes. Este artigo apresentou a aplicação da Realidade Aumentada para condução e monitoramento de veículos. Utilizaram-se os recursos de visão computacional, disponíveis na ferramenta ARToolKit, para detectar os marcadores nas imagens e para adicionar informações extras às imagens. Esta ferramenta também foi utilizada para criar a interface para o operador, que contém, atualmente, a posição do veículo na pista. Este protótipo demonstrou que a Realidade Aumentada pode trazer diversos benefícios à sociedade, principalmente, devido a sua capacidade de adição de informações ao mundo real. As aplicações de Realidade Aumentada estão se tornando cada vez mais viáveis, principalmente com os avanços dos sistemas de transmissão de dados, que estão cada vez mais poderosos. Na vida cotidiana, o acréscimo de gráficos, áudio e imagens no mundo real poderá facilitar várias atividades, como a de visualizar todas as informações de um ponto turístico enquanto o veículo se dirige a ele [5,6]. 5. Referências [1]AZUMA,R.T. A Survey of Augmented Reality. Presence: Teleoperators and Virtual Environments. 355 - 385. ACM SIGGRAPH '95. Los Angeles. CA. August. 1995. [2]KIRNER,C. & TORI,R.Introdução à Realidade Virtual, Realidade Misturada e Hiperrealidade. In: Claudio Kirner, Romero Tori (Ed.). Realidade Virtual: Conceitos, Tecnologia e Tendências. 1 ed. v.1, p.3-20. São Paulo.2004. [3]ARToolKit. Disponível em: http://www.hitl.washington.edu/artoolkit/. Acessado em: 15 julho de 2005. [4] MEDITSCH,J. Carro e Computador: casamento perfeito. Revista Isto É Digital. Edição especial. Disponível em http://www.terra.com.br/istoe/digital/transportes.htm. Acessado em 15 de agosto de 2005. [5] Volks testa carro sem motorista. Notibras. Disponível em http://www.notibras.com.br/index.php?materia=45512. Acessado em 1 de agosto de 2005. [6]GRANADO,J. M. & ABREU, F. F. Que Venha o Futuro:as transformações da publicidade a partir da relação entre tecnologia e ser - humano. 8º Prêmio de Mídia Estadão. 2005. Disponível em: http://www.estadao.com.br/premiodemidia/2005/trabalhos/que_venha_o_futuro.pdf. Acessado em 10 de julho de 2005. 75 WRA´2005 - II Workshop de Realidade Aumentada Botões Virtuais para Interação em Ambientes de Realidade Aumentada Robson Barbosa de Oliveira1, Ivan Terng 2. Jeferson de Souza Dias3, Prof. Dr. Romero Tori4 INTERLAB - Laboratório de Tecnologias Interativas Departamento de Engenharia de Computação e Sistemas Digitais Escola Politécnica da Universidade de São Paulo Av. Prof. Luciano Gualberto, travessa 3 nº. 158 CEP 05508-900 - São Paulo, SP - Brasil {[email protected], [email protected], [email protected], [email protected] } (11) 3091-5282 Abstract. This paper presents an Augmented Reality tool, using ARToolkit that allows the use of virtual buttons directly on the augmented scene. This new approach for input interface in AR applications is totally independent from keyboard and mouse, by making use of patterns. The tool also offers a solution for making virtual objects persistent in an augmented scene, even when the marker is not present anymore. Palavras-Chave: Realidade Aumentada, Entretenimento e Botões Virtuais. 1. Introdução Este artigo descreve uma pesquisa que tem a finalidade de desenvolver novas formas de interação em ambientes de Realidade Aumentada. Como primeiro resultado é apresentada uma ferramenta, baseada no ARToolkit, que possibilita o uso de botões virtuais diretamente na cena aumentada. Essa ferramenta também possibilita a fixação de objetos virtuais sem os marcadores reais de posicionamento no mundo real. Figura 1 - Objetos virtuais do protótipo Figura 2 – Mudança dos objetos virtuais utilizando o botão virtual azul. 76 WRA´2005 - II Workshop de Realidade Aumentada 2. Objetivos Nesta pesquisa foi desenvolvido um protótipo usando as técnicas de Realidade Aumentada para uma interface entre usuário e microcomputador, possibilitando a criação de botões virtuais cujas funções são adicionar alterar e excluir objetos virtuais no mundo real. Para isso foi utilizada a idéia de o acionamento dos botões se dar pelo apontamento direto na cena real. Assim, ao se aproximar o dedo sobre o botão virtual desejado ocorre a obstrução do marcador que o ancora na cena aumentada, o que é identificado pela ferramenta e interpretado como acionamento. Foi também desenvolvida uma solução para a fixação dos objetos virtuais no mundo real, sem os respectivos marcadores, após a confirmação com o botão virtual. Figura 3 – Botões Virtuais e objeto virtual incluso no mundo real 2. Ferramentas Utilizadas O protótipo foi desenvolvido em ambiente C++, com base nos exemplos do kit de Realidade Aumentada da Universidade de Washington - ARToolKit2.65vrml [ARToolkit.], que tem estrutura para implementação e manipulação dos objetos virtuais em linguagem VRML (Virtual Reality Modeling Language). Para a criação dos objetos virtuais mais simples foi usada a ferramenta VRMLpad [Paralle], enquanto que para a criação de objetos mais complexos, optamos pelo uso do Blender [Blender]. 3. Técnicas Desenvolvidas O desenvolvimento de softwares usando técnicas de Realidade Aumentada necessita de marcadores de reconhecimento, posicionados no mundo real, para interligá-los com o virtual. Uma das propostas foi fazer a interligação independente dos marcadores, para o que utilizamos uma lista ligada particular que foi responsável por armazenar a posição e a identificação do objeto virtual. Outra proposta do projeto baseia-se na criação de uma interface entre usuário e microcomputador, evitando-se o contato direto entre ambos. Para isso, foram criados botões virtuais de interação. 3.1. Botões Virtuais A manipulação das funções do protótipo é feita pela pessoa, que visualiza e interage com botões virtuais de controle. O problema para a construção desses botões foi encontrar um modo de ativá-los. A idéia para ativar o funcionamento desses botões percorre uma trajetória contrária à usada nos padrões de AR. Não há procura do marcador, mas sim o reconhecimento do objeto virtual na cena, que em condições normais devera estar visível. Se um dos botões não estiver visível em um frame, presume-se que o marcador foi obstruído e que o usuário deseja “pressionar” o correspondente botão virtual. Fazendo-se uma contagem de frames exibidos, pode-se controlar o tempo necessário para a ativação dos botões. Segue um trecho do código fonte usada para fazer a contagem dos frames. 77 WRA´2005 - II Workshop de Realidade Aumentada Listagem 1 int reset; // declaração da variável (global) de controle if (object[0].visible==0){ // por convenção, 0 é a identificação do botão reset reset++; // +1 em cada frame que o botão estiver sendo pressionado (objeto invisível) }else{ reset=0; // zera a variável se o botão deixar de ser pressionado } if (reset>100){ // se durante 100 frames exibidos o botão ficou pressionado, então reseta-se a lista que guarda as informações necessárias para renderizar os objetos na tela de exibição lista=lista->getLast(); while (lista->getPrevious()!=NULL){ lista=lista->getPrevious(); delete lista->getNext(); lista->setNext(NULL); } } 3.2. Objetos Virtuais independentes dos marcadores A posição do objeto e sua identificação são variáveis que podem ser manipuladas. O protótipo desenvolvido utiliza uma lista ligada para armazenar essas informações, possibilitando a renderização de diversos objetos virtuais em suas posições pré-determinadas em um mesmo frame, independente dos marcadores associados a esses objetos. 4. Desafios Encontrados A primeira etapa para o desenvolvimento do protótipo foi analisar os exemplos do ARToolKit e, em seguida, criar protótipos pequenos, similares aos analisados. O primeiro grande desafio, enfrentado por todos aqueles que programam, foi analisar o código fonte que outro programador desenvolveu. A dificuldade para entender o código fonte alheio só foi superada com o auxílio da documentação detalhada do ARToolkit. O segundo desafio veio na hora de compilar o código, pois há a necessidade de criar os executáveis em pastas específicas que contêm arquivos de configuração, como o da webcam. Além dessas alterações nas propriedades (settings) de cada projeto individualmente, havia a necessidade de adicionar bibliotecas externas ao compilador, o que nos levou a fazer análises minuciosas nas configurações dos exemplos. O problema de se criarem executáveis em pastas específicas fez surgir uma idéia nos programadores do protótipo: padronizar pastas dentro da raiz do ARToolkit, com siglas que identificam projetos próprios do laboratório e projetos de outros lugares. 5. Demonstração do protótipo O protótipo funciona de modo que a pessoa inicialmente escolhe no catálogo que contém vários objetos virtuais. Após a escolha do objeto, ela deve posicionar o marcador transportador dentro do espaço, de forma que a câmera possa identificá-lo, e pressionar o botão virtual azul por três segundos para que passe o objeto do catálogo ao marcador. Para mudar o objeto basta fazer do mesmo modo, apenas tomando cuidado de deixar somente um objeto do catálogo visível na tela. E para fixar o objeto no 78 WRA´2005 - II Workshop de Realidade Aumentada ambiente basta pressionar o botão branco pelo mesmo intervalo de tempo. Caso a pessoa queira apagar todos os objetos fixados, ele deve então pressionar o botão vermelho por cinco segundos até que a execução desejada ocorra; e os objetos virtuais serão apagados do cenário. Figura 4 – Fixação do objeto no ambiente ao se pressionar o botão branco Figura 5 – Vários objetos virtuais em cena Figura 6 – Apagando os objetos fixados no ambiente utilizando o botão vermelho. As figuras 4, 5 e 6 mostram em seqüência a fixação de objetos virtuais no ambiente e o momento em que estes são apagados. 6. Conclusão A pesquisa em si mostrou possíveis inovações no uso do ARToolKit, como a contagem de frames exibidos (controle do tempo de execução) e a criação de arquivos de texto em tempo de execução, com dados relevantes a serem analisados durante o tempo de execução, o que possibilita a fixação dos objetos virtuais no cenário e a varredura dos objetos virtuais presentes em tempo de execução, criandose a característica dos botões virtuais. As técnicas de Realidade Aumentada são usadas essencialmente para desenvolver softwares usados em entretenimento eletrônico. Entretanto, há um vasto campo de aplicações que, acreditamos, será amplamente desenvolvido em um futuro próximo. No futuro, com esses avanços, será possível criar protótipos com Realidade Aumentada com telas de confirmação e barra de espera, e, possivelmente, desenvolver uma versão que possa ser projetada em alguma superfície real, independente de marcadores, dando mais comodidade ao usuário. 7. Referências [ARToolkit.] ARToolkit. - Disponível em: <http://www.hitl.washington.edu/artoolkit/>. Acessado em: 05 maio 2005. [Paralle] Parallelgraphics 3D - Disponível em: <www.parallelgraphics.com> Acessado em 11 maio 2005. [Blender] Blender – Para criação 3D Multiplataforma - Versão 2.0 - Disponível em: <http://www.blender.com.br > Acessado em 19 maio 2005. 79