UM FRAMEWORK DE REALIDADE AUMENTADA



Documentos relacionados
Porte do Engine de Física ODE para a Plataforma Pocket PC

UM FRAMEWORK PARA DESENVOLVIMENTO DE

Produção de aplicativo de catálogo de cursos da UTFPR para o sistema Android

Sistemas Operacionais. Prof. André Y. Kusumoto

8 Threads. 8.1 Introdução

Computador E/S, Memória, Barramento do sistema e CPU Onde a CPU Registradores, ULA, Interconexão interna da CPU e Unidade de controle.

Sistemas Embarcados Android

Open Graphics Library OpenGL

ODE4PPC Um Porte do Engine Físico ODE para a Plataforma Pocket PC

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

O que é o Android? O que é o Android

O Gerenciamento de Documentos Analógico/Digital

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Nível do Sistema Operacional

Sistemas Embarcados Android

Introdução a Banco de Dados Aula 03. Prof. Silvestri

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO DEPARTAMENTO DE ESTATÍSTICA E INFORMÁTICA BACHARELADO EM SISTEMAS DE INFORMAÇÃO RAPID APPLICATION DEVELOPMENT

Análise comparativa sobre bases de dados para armazenamento e consulta de dados não estruturados no formato JSON.

SISTEMAS DISTRIBUIDOS. Prof. Marcelo de Sá Barbosa

DESENVOLVIMENTO DE UM APLICATIVO DO TIPO SECRETÁRIO VIRTUAL PARA A PLATAFORMA ANDROID

O ESTUDO E A IMPLEMENTAÇÃO DE UMA ARQUITETURA COMPUTACIONAL PARA APLICAÇÕES DE ENTRETENIMENTO

Portabilidade da Linha RM Versão

UM COMPOSITOR MUSICAL TANGÍVEL USANDO O ARTOOLKIT

Manual do Aluno para o Curso do SEER à Distância

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos

Arquitectura de Sistemas Computacionais

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Curso: Redes II (Heterogênea e Convergente)

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Coletor de Dados de Medição em Média e Alta Tensão Através de Hand Helds

COMPUTAÇÃO MÓVEL. Prof. M.Sc Sílvio Bacalá Jr

4 Estrutura do Sistema Operacional Kernel

Computador Digital Circuitos de um computador (Hardware)

F-FORCE A FRAMEWORK FOR COLLABORATIVE ENVIRONMENTS PROPOSTA DE TRABALHO DE GRADUAÇÃO

Síntese de voz panorama tecnológico ANTONIO BORGES

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

MF = (M1 * 0,4) + (M2 * 0,6) MF < 6 MF = (MF * 0,6) + (EXA * 0,4)

TÍTULO: DESENVOLVIMENTO DE UM CONTADOR VOLUMÉTRICO DE VEÍCULOS E PESSOAS COM ARDUINO

Sistemas Distribuídos Processos I. Prof. MSc. Hugo Souza

SUPLEMENTO Nº 02. O presente Suplemento tem por finalidade introduzir no Edital da Licitação as seguintes alterações:

ESTUDO DE CASO WINDOWS VISTA

Introdução ao Android

Optimização de um Mundo Virtual

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 1

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

UNIVERSIDADE ESTADUAL DA PARAÍBA CENTRO DE CIÊNCIAS E TECNOLOGIA DEPARTAMENTO DE QUÍMICA CURSO DE LICENCIATURA EM QUÍMICA LINDOMÁRIO LIMA ROCHA

Sistemas Operacionais. Professor Leslier Soares Corrêa

Paradigmas de Linguagens de Programação

Introdução à Computação. Conceitos básicos sobre computadores. ISEP DEI, Angelo Martins 2006 Conceitos básicos sobre computadores - 1

VIII Semana de Ciência e Tecnologia IFMG campus Bambuí VIII Jornada Científica TECLADO VIRTUAL ACESSÍVEL PARA SMARTPHONES E TABLETS

Aula 03-04: Modelos de Sistemas Distribuídos

Aula 2 Revisão 1. Ciclo de Vida. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW. Processo de Desenvolvimento de SW

TechProf Documento de Arquitetura

OpenGL. Uma Abordagem Prática e Objetiva. Marcelo Cohen Isabel Harb Manssour. Novatec Editora

PRÓ-REITORIA DE EXTENSÃO, PESQUISA E INOVAÇÃO DIRETORIA DE INOVAÇÃO E PESQUISA FORMULÁRIO II: Relatório de Atividades de Pesquisa

Ferramentas Web, Web 2.0 e Software Livre em EVT

Sistemas gestores de conteúdo e suas aplicações em museus e centros de ciência

Classificação de Sistemas: Sistemas Empresariais

PLANO DE AULA. Ambiente Operacional Unix Profa. Morganna

Reeditando os conceitos

Professor: Gládston Duarte

Julgue os itens a seguir, referentes a programas de navegação, programas de correio eletrônico e sítios de busca e pesquisa na Internet.

Manual de Utilização de Webcams no. Desenvolvimento de Aplicativos Java

Ferramenta auxiliar na modelagem de ambientes utilizando a Realidade Aumentada

Mouse & Teclado. Mouse & Teclado

SDN-WISE: Design, prototyping and experimentation of a stateful SDN solution for WIreless SEnsor networks

c. Técnica de Estrutura de Controle Teste do Caminho Básico

Modo Gráfico x Modo Texto Prof. João Paulo de Brito Gonçalves

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS. Maquinas Virtuais e Emuladores

Computação II Orientação a Objetos

Guia de Licenciamento por Volume Microsoft

UM FRAMEWORK DE REALIDADE AUMENTADA

Estudo comparativo entre tecnologias Java: Applet e JWS.

Ferramentas Web, Web 2.0 e Software Livre em EVT

GUIA DE PRODUTOS 2016 SOLUÇÕES DE VÍDEO DIGITAL

UNEMAT SISTEMA DE INFORMAÇÃO (SI) Professora: Priscila Pelegrini

Desenvolvimento de Aplicação Windows Mobile Acessando um WebService

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Game Programming Basic

Documento de Especificação de Requisitos

Marcos Vinicios Marques Professor Cidão. Professor Marcelo Neves

Realidade Aumentada - ARToolKit. Lucas Silva Figueiredo Paulo Henrique M. Ferreira Judith Kelner

Virtual Box. Guia. Instalação E Utilização. Criado por Wancleber Vieira wancleber.vieira@ibest.com.br

Aplicação de Sistemas MultiAgentes em Mobile Social Games

Virtualização. Prof. Emiliano Monteiro

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião

UNIVERSIDADE FEDERAL DE SANTA CATARINA JNC MOBILE 2.0. Anderson Buon Berto Gilberto Torrezan Filho. Florianópolis - SC 2005/1

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

Visão Geral de Hardwares de Renderização e Ferramentas de Avaliação. Carlos Eduardo Rodrigues

UMA PROPOSTA PARA COMPARAÇÃO DE PROVEDORES DE COMPUTAÇÃO EM NUVEM DESDE UMA PERSPECTIVA DE INTEGRAÇÃO DE APLICAÇÕES 1

Capítulo 5. Figura 5.2. Conector para o monitor.

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

Faculdade Integrada do Ceará FIC Graduação em Redes de Computadores

APLICATIVOS GRÁFICOS (AULA 1)

PROCESSOS DE CRIAÇÃO DE APLICATIVOS

Disciplina: Redes de Comunicação. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Setembro 2013

Conectar diferentes pesquisas na internet por um menu

Transcrição:

UNIVERSIDADE FEDERAL DE PERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA UM FRAMEWORK DE REALIDADE AUMENTADA PARA O DESENVOLVIMENTO DE APLICAÇÕES PORTÁVEIS PARA A PLATAFORMA POCKET PC Proposta de Trabalho de Graduação Aluno: João Paulo Silva do Monte Lima (jpsml@cin.ufpe.br) Orientadora: Judith Kelner (jk@cin.ufpe.br) Co-orientadora: Veronica Teichrieb (vt@cin.ufpe.br) 29 de novembro de 2006

1. INTRODUÇÃO Realidade Aumentada (RA) é a área da Realidade Mista (RM) que lida com a adição de elementos virtuais ao ambiente real em tempo real. Atualmente, aplicações de RA são usadas em diferentes campos, tais como entretenimento, medicina, manutenção e educação. Algumas dessas aplicações requerem que o usuário possa se mover livremente. Outra restrição comum é a utilização de um dispositivo leve e compacto. Devido a isso, projeto de RA cujo alvo são dispositivos móveis tais como PDAs (Personal Digital Assistants) e smartphones estão se tornado familiares [1]. As ferramentas disponíveis atualmente para construir aplicações de RA para plataformas embarcadas ainda não satisfazem as necessidades dos programadores. As bibliotecas de renderização oferecem uma interface de programação de baixo nível, o que impacta a produtividade do desenvolvedor. Além disso, na maioria das vezes o mesmo programa desenvolvido para uma plataforma não pode ser usado em outras, visto que as bibliotecas utilizadas em cada plataforma são diferentes e incompatíveis. Recentemente, o crescimento do mercado de handhelds, PDAs e smartphones vem criando uma demanda por bibliotecas que tornem possível o desenvolvimento de aplicações para dispositivos móveis que usam gráficos 3D. A biblioteca mais popular para essa finalidade é OpenGL ES, uma versão limitada de OpenGL direcionada para sistemas embarcados [2]. Ela possui implementações para praticamente todas as plataformas embarcadas, tais como Pocket PC, Symbian OS e BREW. Existem basicamente duas versões sendo desenvolvidas em paralelo: a versão 1.x, projetada para trabalhar com hardwares de função fixa, e a versão 2.x, especificada para hardwares programáveis. Entretanto, a maioria dos sistemas operacionais não possui uma API (Application Programming Interface) de OpenGL ES que explore aceleração 3D feita por hardware. É esperado que esta situação mude com o lançamento de vários dispositivos móveis com GPU (Graphics Processing Unit) integrada. Tanto OpenGL quanto OpenGL ES provêem uma programação de baixo nível, o que diminui a produtividade do desenvolvedor. Outra solução gráfica 3D bastante usada por desenvolvedores de dispositivos móveis é o Klimt, que se propõe a prover uma interface similar a de OpenGL, cobrindo algumas das funcionalidades não suportadas por OpenGL ES [3]. O Klimt também contém algumas otimizações para os sistemas Pocket PC. A versão disponível é de código aberto e usa um mecanismo de renderização próprio. Devido à similaridade com OpenGL, o nível de programação é também muito baixo. Especificamente para a plataforma Pocket PC, o sistema operacional Windows Mobile 5.0 suporta Direct3D Mobile, que é baseado no Direct3D 8 para desktops [4]. Quando combinado com o.net Compact Framework, pode ser utilizado em modo gerenciado, provendo um desenvolvimento seguro e 2

fácil. Por outro lado, o nível de abstração é quase o mesmo de OpenGL e OpenGL ES. Em relação ao desenvolvimento em Java, existe uma API para renderização 3D chamada M3G (Mobile 3D Graphics API for J2ME) [5]. Ela é uma biblioteca gerenciada orientada a objetos que possui dois modos de operação diferentes: o immediate mode, que usa acesso de baixo nível semelhante ao de OpenGL e OpenGL ES, e o retained mode, que usa um grafo de cena, uma estrutura de mais alto nível para renderização 3D que também é utilizada no OGRE (Object-oriented Graphics Rendering Engine) (introduzido na próxima seção), tornando o processo de codificação muito mais intuitivo. A desvantagem das aplicações Java é o baixo desempenho, que causa uma queda na taxa de quadros. Sobre o desenvolvimento de aplicações de RA portáveis para dispositivos móveis usando bibliotecas gráficas de alto nível, um exemplo de trabalho similar que considera esse tipo de abordagem é o Studierstube [6]. Entretanto, seus resultados não foram totalmente publicados para avaliação. 3

2. OBJETIVOS 2.1. OBJETIVO GERAL O trabalho de graduação proposto neste documento tem por finalidade implementar um framework que facilite o desenvolvimento de aplicações de RA para a plataforma Pocket PC. O framework será projetado para propiciar a criação em alto nível de aplicações independentes de plataforma. Será utilizado o OGRE, que é um engine gráfico open source de alto nível para renderização 3D em tempo real [7]. O OGRE possui diversas funcionalidades para simplificar o design de aplicações 3D em tempo real. A biblioteca é disponibilizada para um número considerável de plataformas, incluindo Windows, Linux e MacOS. Os programas que utilizam o OGRE podem rodar em qualquer uma dessas plataformas sem sofrer nenhuma mudança. Entretanto, para funcionar na plataforma Pocket PC, a versão original do OGRE precisa ser modificada [8]. Além disso, se fará necessário o uso de uma camada de abstração que oculte os detalhes de implementação da aquisição de imagens da câmera e da detecção de marcadores (cartões com um quadrado de bordas negras e um padrão desenhado no interior do mesmo), com o objetivo de garantir a portabilidade entre diferentes plataformas, que utilizam bibliotecas específicas para realizar tais tarefas. A biblioteca ARToolKitPlus [9] será utilizada para realizar o rastreamento de marcadores fiduciais na imagem obtida pela câmera. Ela é uma biblioteca open source destinada à construção de aplicações de RA. O ARToolKitPlus usa uma técnica que calcula em tempo real a posição e orientação da câmera em relação a marcadores físicos. A partir dessas informações, o desenvolvedor pode sobrepor objetos virtuais a esses marcadores. A biblioteca oferece suporte tanto à plataforma desktop como a dispositivos móveis, em especial o Pocket PC, para o qual possui otimizações específicas. 2.2. OBJETIVOS ESPECÍFICOS 1) Estudo de conceitos relativos a aplicações de RA, com ênfase em aplicações móveis e embarcadas; 2) Pesquisa do estado da arte sobre o desenvolvimento de aplicações de RA para dispositivos móveis; 3) Desenvolvimento de um framework para o desenvolvimento de aplicações de RA para Pocket PCs; 4) Realização de estudos de caso para avaliação de aplicações desenvolvidas utilizando o framework proposto; 5) Escrita do relatório do Trabalho de Graduação. 4

3. CRONOGRAMA Etapa/Fase Pesquisa Bibliográfica Seleção do material bibliográfico Leitura do material selecionado Fichamento Mês Novembro Dezembro Janeiro Fevereiro Março Redação da revisão bibliográfica Desenvolvimento do Framework Avaliação do Framework Escrita do Trabalho 5

REFERÊNCIAS BIBLIOGRÁFICAS [1] Ronald T. Azuma, Yohan Baillot, Reinhold Behringer, Steven Feiner, Simon Julier, e Blair MacIntyre, Recent Advances in Augmented Reality, IEEE Computers & Graphics, IEEE Press, New York, pp. 34-47, Novembro de 2001. [2] OpenGL ES. Disponível em: site do Khronos Group. URL: http://www.khronos.org/opengles/, visitado em Maio de 2006. [3] Klimt the Open Source 3D Graphics Library for Mobile Devices. Disponível em: site da Graz University of Technology. URL: http://studierstube.icg.tugraz.ac.at/klimt, visitado em Maio de 2006. [4] Direct3D Mobile. Disponível em: site da Microsoft Developer Network. URL: http://msdn.microsoft.com/library/default.asp?url=/library/enus/wcemultime dia5/html/wce50oridirect3dmobile.asp, visitado em Janeiro de 2006. [5] Qusay H. Mahmoud. Getting Started with the Mobile 3D Graphics API for J2ME. Disponível em: site da Sun MicroSystems, Inc. URL: http://developers.sun.com/techtopics/mobility/apis/articles/3dgraphics/index.html, visitado em Janeiro de 2006. [6] Daniel Wagner, Thomas Pintaric, Florian Ledermann, e Dieter Schmalstieg, Towards Massively Multi-User Augmented Reality on Handheld Devices, International Conference on Pervasive Computing, Springer, Munich, 08-13 de Maio, 2005. [7] OGRE 3D. Disponível em: site do OGRE Team. URL: http://www.ogre3d.org, visitado em Maio de 2006. [8] J.P. Lima, T.S. Farias, V. Teichrieb, e J. Kelner, Port of the OGRE 3D Engine to the Pocket PC Platform, Symposium on Virtual Reality, Sociedade Brasileira de Computação, Belém, 02-05 de Maio, 2006, pp. 65-76. [9] Handheld Augmented Reality. Disponível em: site da Graz University of Technology. URL: http://studierstube.icg.tu-graz.ac.at/handheld_ar, visitado em Maio de 2006. 6

4. DATAS E ASSINATURAS Recife, 29 de novembro de 2006. Judith Kelner (Orientadora) Veronica Teichrieb (Co-orientadora) João Paulo Silva do Monte Lima (Proponente) 7