KIRNER, C. Prototipagem Rápida de Aplicações Interativas de Realidade Aumentada. Tendências e Técnicas em Realidade Virtual e Aumentada, SBC, Porto Alegre, V. 1, N. 1, 2011, p. 29-54. Prototipagem Rápida de Aplicações Interativas de Realidade Aumentada Claudio Kirner Abstract Augmented reality applications are interesting, but they are difficult to develop and customize, mainly by non-expert people. However, there are authoring tools which make easy this development. This chapter focuses on the augmented reality authoring problem, related to the development and use of applications. It describes an authoring tool, showing how to use it on rapid prototyping of augmented reality interactive applications, without the need of programming skills. A developed example using this tool is described and the impact of this approach is discussed, considering different types of potential authors and applications. Resumo As aplicações de realidade aumentada são interessantes, mas difíceis de serem desenvolvidas e personalizadas, principalmente por não especialistas em computação. No entanto, existem ferramentas de autoria que facilitam esse desenvolvimento. Este texto aborda o problema da autoria de aplicações de realidade aumentada, relacionado com o desenvolvimento e uso das aplicações, em diversos níveis. É descrita uma ferramenta de autoria e seu uso na prototipagem rápida de aplicações interativas de realidade aumentada por não programadores. Também é mostrado um exemplo desenvolvido com esta técnica e as repercussões dessa abordagem são discutidas, levando em conta os diversos tipos de autores e aplicações em potencial. 1. Introdução As aplicações espaciais mediadas por computador, incluindo navegação, busca de pontos de interesse, jogos tridimensionais, ferramentas educacionais tridimensionais, etc., estão aumentando com o uso de Realidade Aumentada.
22
Embed
Prototipagem Rápida de Aplicações Interativas de Realidade ...ckirner.com/download/capitulos/Prot-Rapida-RA-CK.pdf · Prototipagem Rápida de Aplicações Interativas de Realidade
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
KIRNER, C. Prototipagem Rápida de Aplicações Interativas de Realidade
Aumentada. Tendências e Técnicas em Realidade Virtual e Aumentada, SBC, Porto
Alegre, V. 1, N. 1, 2011, p. 29-54.
Prototipagem Rápida de Aplicações Interativas
de Realidade Aumentada
Claudio Kirner
Abstract
Augmented reality applications are interesting, but they are difficult to develop and
customize, mainly by non-expert people. However, there are authoring tools which make
easy this development. This chapter focuses on the augmented reality authoring
problem, related to the development and use of applications. It describes an authoring
tool, showing how to use it on rapid prototyping of augmented reality interactive
applications, without the need of programming skills. A developed example using this
tool is described and the impact of this approach is discussed, considering different
types of potential authors and applications.
Resumo
As aplicações de realidade aumentada são interessantes, mas difíceis de serem
desenvolvidas e personalizadas, principalmente por não especialistas em computação.
No entanto, existem ferramentas de autoria que facilitam esse desenvolvimento. Este
texto aborda o problema da autoria de aplicações de realidade aumentada, relacionado
com o desenvolvimento e uso das aplicações, em diversos níveis. É descrita uma
ferramenta de autoria e seu uso na prototipagem rápida de aplicações interativas de
realidade aumentada por não programadores. Também é mostrado um exemplo
desenvolvido com esta técnica e as repercussões dessa abordagem são discutidas,
levando em conta os diversos tipos de autores e aplicações em potencial.
1. Introdução
As aplicações espaciais mediadas por computador, incluindo navegação, busca de pontos
de interesse, jogos tridimensionais, ferramentas educacionais tridimensionais, etc., estão
aumentando com o uso de Realidade Aumentada.
Atualmente, a convergência tecnológica permite o desenvolvimento de aplicações
que envolvem diferentes recursos funcionando juntos, como: GPS, acelerômetros,
câmeras, telefones celulares, notebooks, ipads, etc. A criação dessas aplicações depende
fortemente de programadores e técnicos.
Entretanto, há muitas pessoas sem conhecimento de programação, interessadas
em desenvolver aplicações de realidade aumentada. Para contornar esse problema,
algumas ferramentas de autoria de aplicações estão fornecendo recursos para não
programadores, a fim de que eles possam criar suas próprias aplicações [Seitchter,
Looser e Billinghurst 2008]. É importante mencionar que essas aplicações devem ser
independentes de compiladores, usando, no entanto, edição de texto, procedimentos de
configuração, interface visual e ações tangíveis.
Portanto, a principal questão deste trabalho é: como não programadores
poderiam desenvolver suas próprias aplicações de realidade aumentada, usando recursos
de edição e configuração de parâmetros textuais e manipulação de elementos espaciais?
Para responder essa questão, será feita, inicialmente, uma contextualização dos conceitos
envolvidos, levando em conta o estado da arte da tecnologia. Depois, será realizada uma
análise das ferramentas de autoria de aplicações de realidade aumentada, enfatizando
suas características relacionadas com independência de programação e/ou conhecimentos
técnicos. Em seguida, a ferramenta “Sistema de Autoria Colaborativa com Realidade
Aumentada” (SACRA) será descrita e discutida, sob o ponto de vista da geração de
aplicações. Os recursos de suporte à ferramenta SACRA serão analisados e descritos e
um exemplo de aplicação será detalhado. Finalmente, serão apresentadas as tendências
da área de realidade aumentada e suas aplicações, procurando destacar características
como custo, disponibilidade, adaptação, customização e personalização.
2. Conceitos de Realidade Virtual e Aumentada
Realidade Virtual (RV) e a Realidade Aumentada (RA) tiveram seus conceitos
originados na década de 1960, com os trabalhos de Ivan Sutherland [Sutherland 1963,
1965, 1968]. De lá para cá, muita coisa mudou e a tecnologia evoluiu, exigindo, em
certos casos, uma atualização dos conceitos.
2.1. Realidade Virtual
A RV surgiu como uma primeira opção de interface tridimensional, propiciando ao
usuário interações naturais, com o uso das mãos, em ambientes virtuais renderizados na
tela do monitor, em projeções em tela, ou em projeções nos olhos, através de capacetes
de RV (Head Mounted Display – HMD). Para a interação com os elementos virtuais, são
necessários dispositivos especiais multisensoriais, como luvas com sensores e
rastreadores, dispositivos de tato e força, mouses 3D, óculos estereoscópicos, emissores
de sons espaciais, etc.
Uma definição de RV é: “realidade virtual é uma interface computacional
avançada que envolve simulação em tempo real e interações, através de canais
multisensoriais” (Burdea e Coiffet 2003).
Outra definição, mais específica, é: realidade virtual é uma interface
computacional que permite ao usuário interagir, em tempo real, em um espaço
tridimensional gerado por computador, usando seus sentidos, através de dispositivos
especiais.
O usuário pode perceber o mundo virtual, através de uma janela constituída pela
tela do monitor ou pela tela de projeção, ou ser inserido no mundo virtual, através de
HDM ou de salas com multiprojeção (cavernas) e dispositivos de interação.
Quando o usuário é transportado totalmente para mundo virtual, através de
dispositivos multisensoriais como HDM e salas de multiprojeção, a realidade virtual é
denominada “Imersiva” (Figura 1a). Quando o usuário é transportado parcialmente,
percebendo o mundo virtual através de uma janela, como a tela do monitor ou
equivalente, a realidade virtual é denominada “Não Imersiva” (Figura 1b).
Figura 1. Realidade virtual imersiva e não imersiva
2.2. Realidade Aumentada
A definição de RA tem sido atualizada, em função da evolução tecnológica. Inicialmente,
o aumento do ambiente real ocorria através de elementos visuais; mas, com o
desenvolvimento de interações sonoras e hápticas associadas a posições espaciais,
ocorrendo em tempo real, houve uma expansão no conceito.
Neste contexto, uma definição mais abrangente é que realidade aumentada
consiste no enriquecimento do mundo físico com objetos virtuais devidamente
posicionados em tempo real, através de algum dispositivo tecnológico. A Figura 2 ilustra
o resultado do enriquecimento do mundo físico com elementos virtuais.
Figura 2. Ambiente de realidade aumentada
a) RV imersiva b) RV não imersiva
Uma definição mais atualizada é: realidade aumentada é uma interface baseada na
sobreposição de informações virtuais geradas por computador (envolvendo imagens
estáticas e dinâmicas, sons espaciais e sensações hápticas) com o ambiente físico do
usuário, percebida através de dispositivos tecnológicos e usando as interações naturais
do usuário, no mundo físico.
Uma maneira de trazer as informações virtuais para o espaço físico do usuário é
usando uma webcam, que captura dinamicamente as imagens do ambiente físico e
rastreia determinadas posições, permitindo que o computador introduza ou acione
informações virtuais associadas com as posições. O resultado pode ser visto, ouvido e
sentido em monitores, projeções, capacetes e dispositivos hápticos, dando sensação de
realismo ao ambiente híbrido.
3. Trabalhos Relacionados
Durante os últimos dez anos, surgiram várias ferramentas de autoria de aplicações de
realidade aumentada, voltadas para o desenvolvimento de aplicações especiais mediadas
por computador.
Essas ferramentas podem ser classificadas, de acordo com suas características de
programação e de projeto de conteúdo em baixo nível e alto nível, apresentando
diferentes abstrações de conceito e complexidade de interface [Hampshire et al. 2006],
[Seitchter, Looser e Billinghurst 2008].
Programação é, geralmente, mais complexa, apresentando mais flexibilidade e
possuindo menor nível de abstração de conceito do que projeto de conteúdo. Projeto de
conteúdo tende a ser menos complexo e flexível, apresentando maior nível de abstração
de conceito. Portanto, conforme a abstração de conceito aumenta, a interface fica mais
simples e menos flexível.
Ferramentas de programação são baseadas em APIs básicas ou avançadas,
contendo bibliotecas, envolvendo tarefas como: visão computacional, ajustes de imagem,
renderização tridimensional, sons, entrada e saída e outras funções. ARToolKit [Kato e
Billinghurst 1999], MR [Uchiyama et al. 2002] em MX [Dias et al. 2003] são exemplos
de ferramentas de programação de baixo nível, enquanto que Studierstube [Schmalstieg
et al. 2002], OrgArt [Looser 2006] e DWARF [Bauer et al. 2001] são ferramentas de
programação de alto nível.
ARToolKit é uma das primeiras ferramentas de realidade aumentada que usam
marcadores e visão computacional. Para utilizá-la criar aplicações de realidade
aumentada, os desenvolvedores precisam ter habilidades com programação em C/C++.
Ferramentas de projeto de conteúdo eliminam a dependência da linguagem de
programação, substituindo-a pela descrição dos objetos virtuais e de seus
relacionamentos com o ambiente real.
APRIL [Ledermann e Schmalstieg 2005] é um exemplo de baixo nível desse tipo
de ferramenta, que requer descrições em XML. Ferramentas de projeto de conteúdo de
alto nível usam interfaces gráficas de usuários (GUI) para representar as descrições e
interações, como ocorre com: DART [MacIntyre et al. 2004], AMIRE [Grimm 2002],
ECT [Hampshire et al, 2006], ComposAR [Seitchter, Looser e Billinghurst 2008] e
ARSFG [Di Wu e Liu 2009].
DART é uma ferramenta implementada sobre o Macromedia Director, usando
um modelo de autoria visual do tipo “pegar-arrastar-soltar” e uma linguagem de script
(descrições textuais) interpretada.
AMIRE baseia-se em uma estrutura que usa a tecnologia orientada a
componentes, apresentando: um conjunto mínimo de componentes para demonstração,
uma coleção de recursos reusáveis e uma ferramenta de autoria visual.
ECT é uma ferramenta de software orientada a componentes, com uma interface
de programação visual projetada para facilitar o desenvolvimento de aplicações de
realidade aumentada, por usuários com pouca ou nenhuma experiência em programação.
ComposAR é uma ferramenta extensível, para autoria de aplicações de realidade
aumentada por usuários não programadores. Ela suporta script e interface do tipo
“pegar-arrastar-soltar”, além de entrada interpretada em tempo real e funcionalidades
adicionadas por usuários.
ARSFG é uma ferramenta de software para prototipagem rápida de aplicações de
realidade aumentada, baseada em grafos de cena, que permite colaboração remota
através de protocolo baseado em XML.
Um projeto de conteúdo em alto nível deve ser mais intuitivo e adequado para
não programadores. Por isso, exige que suas ferramentas suportem script e/ou interface
visual, novas funcionalidades adicionadas pelos usuários e interpretação em tempo real.
A ferramenta SACRA, enfocada nesse trabalho, difere das demais aqui indicadas,
uma vez que possui as seguintes características:
- A ferramenta foi implementada sobre o ARToolKit;
- A autoria de aplicações depende da edição de arquivos de configuração e/ou de
operações tangíveis;
- Há diferentes níveis de autoria, que podem ser usados, dependendo das habilidades
dos desenvolvedores, que não precisam ser programadores;
- Há um suporte colaborativo que permite múltiplos usuários remotos atuando no
ambiente compartilhado de realidade aumentada, usando ações tangíveis.
- O desenvolvedor das aplicações pode usar ações tangíveis, edição de arquivos de
configuração, e mouse e teclado, mas o usuário final poderá interagir com a
aplicação de realidade aumentada, usando somente um ou dois marcadores.
4. Descrição da Ferramenta SACRA
O desenvolvimento de aplicações de realidade aumentada depende de: estrutura de dados
e pastas que suportam a ferramenta de autoria; interface de autoria, incluindo tarefas de
configuração e comandos; e procedimentos de utilização que permitem ao usuário final
navegar ambiente aumentado e interagir com ele.
Para facilitar o desenvolvimento de aplicações de realidade aumentada, foi criada
a ferramenta de autoria SACRA - Sistema de Autoria Colaborativa com Realidade
Aumentada [Kirner e Santin 2009]. Essa ferramenta apresenta características próprias de
autoria e de uso, além de possibilitar a colaboração remota compartilhada.
A ferramenta SACRA foi construída sobre o ARToolKit, incluindo também
funcionalidades adicionais programadas em C/C++. Manuais e exemplos de aplicação do
SACRA são distribuídas livremente pelos autores [Kirner 2011].
4.1. Estrutura do Ambiente de Realidade Aumentada
RA envolve muito mais do que sobrepor objetos virtuais com o mundo físico. Neste