Anais WRA2005-páginas 56-80 - Sociedade Brasileira de

Propaganda
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
Download