WARGEN: Gerador de Aplicações em Realidade Aumentada na Web
Prof. Dr. Robson Augusto Siscoutto
Levrangeles da Silva Filho
Faculdade de Informática de Presidente Prudente - FIPP
Universidade do Oeste Paulista - UNOESTE
Presidente Prudente - SP, Brasil
[email protected]
Faculdade de Engenharia e Computação - FAEC
Universidade de Cuiabá - UNIC
Cuiabá - MT, Brasil
[email protected]
Abstract - A major difficulty in the popularization of
Augmented Reality applications is the complexity of
developing these applications by requiring at least basic
knowledge in certain subjects, such as programming,
programming languages and tools for systems development.
Therefore, most users can not create their applications quickly
and intuitively. This article presents the development of a tool
called Web Augmented Reality Generator (WARGEN), an
application generator that enables the configuration of
augmented reality environments, via a local network or
internet, without the need for source code programming.
Keywords – Augmented Reality; FLARToolKit; Flash Develop;
wargen
Resumo - Uma das maiores dificuldades na popularização de
aplicações de Realidade Aumentada está na complexidade do
desenvolvimento dessas aplicações, por exigir, pelo menos,
conhecimentos básicos em certos assuntos, como programação,
linguagens
de
programação
e
ferramentas
para
desenvolvimento de sistemas. Diante disso, grande parte dos
usuários não conseguem criar suas aplicações de maneira
rápida e intuitiva. Este artigo apresenta o desenvolvimento de
uma ferramenta denominada Web Augmented Reality
Generator (WARGEN), um gerador de aplicações que
possibilita a configuração de ambientes em realidade
aumentada sem a necessidade de programação em códigofonte, através de uma rede local ou internet.
Palavras Chaves: Realidade Aumentada; FLARToolKit; Flash
Develop, Wargen.
I. INTRODUÇÃO
Os crescentes avanços da Realidade Aumentada (RA)
vêm se tornando um novo marco na era computacional,
sendo empregado em diversas áreas do conhecimento, seja
na forma de ensino, aprendizagem presencial ou até mesmo
entretenimento, tanto para empresas das mais diversas áreas
de atuação quanto para usuários finais.
Implementar aplicações para RA é possível graças a
disponibilidade de bibliotecas que contém códigos fonte para
programação. O FLARToolKit [1], por exemplo, é uma
biblioteca em Action Script [4] que permite a criação de
programas em RA para serem executados em um navegador
de internet, utilizando da tecnologia Adobe Flash Player.
Apesar da notável vantagem, ainda é preciso desenvolver
o produto e, para um usuário final que deseja apenas testar
rapidamente o seu modelo virtual, pode levar um tempo
considerável, além dos custos para se fazer isso, dependendo
da complexidade da aplicação.
Visando facilitar o acesso a um ambiente aumentado, de
forma simples e acessível, iniciou-se um projeto de um
gerador de aplicações para RA. Este projeto visa
disponibilizar, por meio de um servidor de aplicações, uma
interface intuitiva que possibilite a configuração de um
ambiente virtual aumentado, relacionando os marcadores e
modelos virtuais de preferência, permitindo também atribuir
alguns tipos de interações com o objeto virtual, como
rotação, movimento e escala. O projeto foi denominado
WARGEN, acrônimo para Web Augmented Reality
Generator, um gerador de realidade aumentada para Web.
II.
DESCRIÇÃO GERAL
O WARGEN é um gerador de aplicativos em Realidade
Aumentada na WEB, que possibilita ao usuário gerar
aplicativos de RA através de uma interface amigável e
intuitiva, a partir de algumas configurações disponíveis,
dentre as quais envolvem associação de modelos e
marcadores fiduciais, bem como a seleção de algumas
interações, tudo através da internet.
Após ter realizado login no WARGEN, o usuário dispõe
de uma interface para realizar a associação entre um modelo
virtual e um marcador fiducial, podendo em seguida
selecionar uma opção para visualizar o ambiente criado.
Desta forma, o usuário tem acesso imediato à aplicação, sem
precisar solicitar ao programador o desenvolvimento do
programa em si, pois o próprio gerador realiza as
configurações de forma automática.
O comportamento do objeto virtual em cena pode variar,
pois são disponibilizadas opções de interação com os objetos
virtuais. Além da interação direta que ocorre com a
manipulação do marcador fiducial na mão do usuário, é
permitida a seleção de movimentos como translação, rotação
e escala do objeto virtual. Uma vez configurados tais
parâmetros é possível visualizar o modelo virtual,
estimulando um melhor envolvimento com este. Se o modelo
virtual, por exemplo, for um órgão humano e se a opção de
interação para rotação estiver selecionada, este objeto poderá
então ser rotacionado utilizando o marcador ou acionando
um comando de rotação via teclado, facilitando a
visualização com a cena. Vale ressaltar que girar o objeto de
uma forma mais natural, como o próprio movimento das
mãos sobre o marcador, nem sempre permite visualizar uma
parte específica do modelo virtual, justificando assim o uso
da rotação de maneira não tangível utilizando o teclado.
Além disso, a interatividade associada diretamente ao
modelo virtual proporciona ao usuário uma interação fácil e
segura, sem necessidade de treinamento, uma vez que os
movimentos são totalmente naturais, intuitivos e tão simples
quanto mover uma parte do corpo ou um objeto na frente de
um dispositivo detector (atualmente uma webcam).
III.
ANÁLISE E REQUISITOS
Esta seção descreve os detalhes análise de requisitos e
tecnologias utilizadas no projeto WARGEN.
disponibilizadas, permitindo assim uma melhor interação do
usuário com o modelo virtual em cena; e
Possibilitar visualização de associações: associados o
modelo, marcador e possíveis interações, o sistema deve
permitir que tais configurações sejam visualizadas na tela.
Após a seleção da opção para iniciar a visualização, a
visualização deverá ser iniciada a partir da permissão do
usuário ao acesso à câmera.
De acordo com os requisitos levantados, foram
identificados três casos de uso (Figura 1) para o sistema:
efetuar login, manter arquivo e manter associação.
A. Análise de Requisitos
Para o desenvolvimento do projeto foi realizado uma
análise de requisitos visando definir as funcionalidades da
aplicação WARGEN:
Disponibilizar login e senha para os usuários: o
acesso ao sistema exigirá uma autenticação de cada usuário.
Com isso, os conteúdos enviados ao servidor serão alocados
corretamente, identificando cada item ao seu respectivo
proprietário, evitando também o acesso não autorizado ao
sistema;
Possibilitar envio de arquivos: por meio de uma
interface gráfica, os usuários poderão enviar arquivos para o
servidor, dos quais poderão ser um modelo virtual (com
extensões suportadas pelo servidor) ou um arquivo de
configurações de um marcador (com a extensão .pat). Os
arquivos armazenados serão alocados nos seus respectivos
diretórios no servidor, bem como as informações sobre
nome, extensão e o proprietário (usuário) do arquivo
deverão ser armazenados no banco de dados. É preciso
implementar, em código, as validações necessárias durante o
uso destas informações, pois é preciso haver uma sincronia
entre arquivos no disco rígido e informações no banco de
dados, como verificar se o arquivo em utilização realmente
existe em disco ou se as informações de nome e extensão do
arquivo cadastradas no banco de dados são realmente as que
estão presente nos seus respectivos diretórios;
Possibilitar download dos arquivos enviados: o
usuário poderá baixar os arquivos enviados ao servidor,
possibilitando o acesso a estes arquivos de qualquer estação
(máquina) conectada na rede;
Possibilitar associação modelo/marcador: além do
envio de modelos e marcadores para o servidor, uma
interface gráfica, simples e intuitiva, deve permitir a
associação entre modelo virtual e marcador. Assim, o
sistema será capaz de disponibilizar a visualização desta
associação para o usuário, apresentando o modelo virtual
posicionado na cena através da detecção do marcador
associado;
Possibilitar associações de interações: além de o
usuário associar um modelo virtual a um marcador, o
sistema deverá possibilitar a seleção algumas interações pré-
Figura 1. Casos de Uso principais
Para utilizar o sistema, o usuário deverá informar o login
e senha cadastrados (caso de uso Efetuar Login), requisito
necessário para o acesso aos recursos do gerador.
Após estar autenticado, o usuário poderá enviar, listar,
baixar e excluir um arquivo (caso de uso Manter Arquivo).
Algumas validações serão realizadas durante este processo,
como a verificação do tipo do arquivo e se este é suportado
pelo servidor. Após o tratamento, o arquivo será alocado no
seu respectivo diretório, de acordo com o usuário
autenticado, sendo que o login é o que determina o nome do
diretório do usuário no disco rígido do servidor. A Figura 2
ilustra o caso de uso Manter Arquivo.
Figura 2. Caso de uso Manter Arquivo.
O caso de uso Manter Associação (Figura 3) permite ao
usuário associar um modelo virtual a um marcador. Com isso
o gerador possibilita ao usuário visualizar o ambiente
aumentado configurado.
Figura 3. Caso de uso Manter Associação
Para realizar a associação entre modelo virtual e
marcador (Figura 4), o usuário deve selecionar o modelo e
marcador disponíveis em uma lista. Além disso, também é
possível marcar algumas interações pré-configuradas, como
rotação, translação e escala. Após confirmação pelo
usuário, o gerador salva as informações no banco de dados.
Ao mesmo tempo, um XML de configuração é gerado,
contendo as informações da associação realizada.
Figura 5. Diagrama de atividades para visualizar associação.
B. Tecnologias Utilizadas
Os padrões de projeto e tecnologias utilizadas para o
desenvolvimento do WARGEN são descritos a seguir.
• Model View Controller (MVC): padrão de projeto
arquitetural útil para a construção de softwares interativos,
sendo dividido em modelo (Java – J2EE), controlador
(Servlet) e visão (páginas JSP);
• Data Access Object (DAO): padrão de projeto de
software para acessar fontes de dados;
• As linguagens de programação utilizadas no projeto
foram a JAVA [2], JavaScript, Action Script [4], Java
Server Pages (JSP) e Java Servlet;
• Como ambiente de desenvolvimento para a
implementação foi escolhida a IDE Eclipse [5] para
desenvolvimento JAVA, bem como o FlashDevelop que
proporciona uma interface para o desenvolvimento de
projetos na linguagem de programação ActionScript; e
• A biblioteca FLARToolKit [1] e o renderizador de
objetos virtuais Papervision3D [3].
Figura 4. Diagrama de sequencia para associar um modelo e marcador
Por fim, o usuário poderá visualizar o ambiente
aumentado configurado. Como pode-se observar na Figura 5,
o usuário aciona a opção para visualizar a associação. Em
seguida, o gerador faz a leitura do XML de configuração
gerado, encaminhando as informações para a aplicação o
módulo visualizador (aplicação flash). Por fim, o ambiente
aumentado faz a leitura das informações do XML, como qual
modelo e marcador devem ser carregados e quais interações
atribuir. A partir daí, o usuário pode interagir com a cena.
IV. ARQUITETURA
A arquitetura do WARGEN é composta por dois
módulos: gerador e visualizador.
O gerador tem o código fonte implementado na
linguagem de programação Java sobre a plataforma J2EE [2]
com o uso de Java Server Pages (JSP) e Servlets e tem como
objetivo receber os parâmetros informados pelo usuário e
salvar no banco de dados.
Para o modulo visualizador, foram utilizadas as
bibliotecas FLARToolKit [1], Papervision3D [3] e a
linguagem de programação Action Script [4] na sua
implementação, e tem como objetivo interpretar as
configurações salvas pelo modulo gerador e apresentar o
ambiente virtual ao usuário.
Como observado na Figura 6 a seguir, o usuário
comunica-se com a interface gráfica apresentada. Os dados
informados são interpretados pelo módulo gerador e, após
validados por regras e negócio, são persistidos no banco de
dados. Ao mesmo tempo, um XML de configuração é
gerado, contendo as informações referentes a associação
entre o modelo virtual e marcador. O objetivo do XML é
informar ao módulo visualizador os parâmetros que devem
ser utilizados para configurar o ambiente virtual, como quais
arquivos deve carregar ou quais interações atribuir. Por fim,
o visualizador apresenta ao usuário o ambiente virtual
configurado:
as opções download para baixar e excluir para remover o
registro:
Figura 7. Envio de um arquivo com Marcador Fiducial e Modelo Virtual.
Para enviar um arquivo ao WARGEN, basta selecionar a
opção enviar localizado na tela de arquivos. Ao selecionada,
esta opção disponibiliza um formulário simples com uma
opção para o usuário selecionar um arquivo do disco rígido
(do usuário). A Figura 8 a seguir ilustra um exemplo de um
modelo virtual sendo selecionado para ser enviado:
Figura 6. Arquitetura do WARGEN
O módulo visualizador não acessa o banco de dados, e
por isso é necessário criar o XML com os parâmetros de
configuração. A razão disso é manter o módulo visualizador
focado apenas no seu objetivo principal: apresentar o
ambiente virtual aumentado ao usuário.
Todos os arquivos enviados pelo usuário são
armazenados diretamente no disco rígido. Por motivos de
desempenho e facilidade de acesso pelo módulo
visualizador, estes arquivos não são armazenados no banco
de dados.
Figura 8. Arquivo selecionado para adicionar ao WARGEN
V.
DETALHES DA IMPLEMENTAÇÃO E RESULTADOS
Quando o usuário acessa o WARGEN, uma página
inicial é apresentada para o usuário, contendo o painel do
usuário, um menu principal e uma área de conteúdo.
Para que seja possível realizar as configurações do
ambiente virtual, é necessário que o usuário faça login, pois
assim o WARGEN poderá determinar para qual usuário as
configurações e arquivos enviados serão salvos.
O menu principal contém as opções home, arquivo e
associação. Ao selecionar home, o usuário é redirecionado
para a tela inicial. Na opção arquivo, será apresentada ao
usuário uma tela referente aos arquivos enviados, sejam eles
modelos virtuais, marcadores ou qualquer outro arquivo de
preferência. A Figura 7 apresenta um exemplo de um
marcador e um modelo virtual enviados ao WARGEN, com
Por fim, para visualizar os objetos virtuais em cena, é
necessário realizar a associação entre modelo virtual e
marcador. Para isso, a opção associação no menu principal
apresentará uma tela com uma lista de associações feitas
pelos usuários . A Figura 9 apresenta uma associação entre o
modelo virtual earth.dae e o marcador hiro.pat, com as
opções visualizar (em destaque) e excluir:
Figura 9. Lista de associações entre modelo e marcador
A opção associar apresentará uma tela com um
formulário para realizar a associação entre um modelo e
marcador. Conforme pode-se visualizar na Figura 10, o
usuário pode digitar informações como a descrição daquela
associação (no caso, Planeta Terra); marcar se a associação
pode ser disponibilizada para outros usuários; selecionar um
modelo e um marcador na lista; marcar algumas interações
disponíveis (movimento, rotação e escala). Acionando a
opção associar irá salvar as configurações e disponibilizará
para visualização.
Figura 11. Associação entre modelo e marcador em execução.
VI.
O projeto WARGEN oferece mais uma opção para o
usuário experimentar aplicações em realidade aumentada,
permitindo uma criação intuitiva dos ambientes virtuais
aumentados, não necessitando de programação em código.
O projeto ainda precisa de muitas melhorias, tanto da
análise quanto na programação. Manter o código fonte livre
pode facilitar a rápida evolução do gerador, levando em
consideração as contribuições de vários profissionais,
acadêmicos e interessados no projeto. Maiores detalhes
podem ser encontrados na página do projeto no Google Code
[6].
Este projeto terá como trabalhos futuros, a análise de
novos requisitos e funcionalidades, aprimorando o
funcionamento do projeto atual.
REFERÊNCIAS
Figura 10. Formulário para associação de modelo e marcador.
[1]
Voltando a Figura 3 - tela associações, ao acionar a
opção visualizar, o WARGEN redireciona o usuário para
uma tela de visualização do ambiente virtual. A Figura 11
ilustra o resultado final da associação Planeta Terra
apresentado anteriormente.
CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS
[2]
[3]
[4]
[5]
[6]
Saqoosha,
“FLARToolKit”,
Disponível
em
<http://saqoo.sh/a/en/flartoolkit/start-up-guide>. Acesso em 25
Novembro de 2011.
Sun, “Java 2 Platform, Enterprise Edition (J2EE)”, Disponível em <
http://java.sun.com/j2ee/http://java.sun.com/j2ee/>. Acesso em 15
Março de 2012.
Papervision3D,
“Papervision3D”,
Disponível
em
<
http://blog.papervision3d.org/>. Acesso em 5 Março de 2011.
Adobe, “Learning ACTIONSCRIPT 3.0”, Disponível em <
http://help.adobe.com/en_US/as3/learn/as3_learning.pdf >. Acesso
em 5 Março de 2012.
ECLIPSE, Eclipse IDE for Java EE Developers, Disponível em:
<http://www.eclipse.org/downloads/packages/eclipse-ide-java-eedevelopers/indigosr1>. Acesso em 12 outubro 2011.
WARGEN
project
page.
Disponível
em
http://code.google.com/p/wargen/. Acesso em 1 outubro 2012.
Download

WARGEN: Gerador de Aplicações em Realidade Aumentada na Web