Você está na página 1de 45

Matheus Henrique dos Reis Pereira

APLICAÇÃO DE REALIDADE AUMENTADA NO AUXILIO DE EAD

Monografia apresentada a Universidade Presidente Antônio Carlos – UNIPAC, como requisito parcial para obtenção de título de Bacharel em Engenharia da Computação.

BANCA EXAMINADORA

Dedico

esse

pro jeto

aos

meus

pais

Sebast ião

e Maria José, aos

meus irmãos

André

e

Izabella

e

a

minha

namorada

Aline, que

sempre

me

apo iaram

e

dera m

forças

minha vida.

nos

mo mentos

mais

difíceis

da

AGRADECIMENTOS

Agradeço a Deus por se fazer presente em todos os mo mento s da minha vida me dando proteção, força e permit indo perseverança na minha caminhada. Aos meus pais Sebast ião e Maria José, por todo apoio, incent ivo, orações, por toda preocupação em sempre me dar tudo do bo m e do melhor, alé m de acredit arem que eu seria capaz de realizar este ideal. Ao meu irmão André pela a juda e cooperação em diverso s mo mentos da minha vida universitária e pro fiss io nal, pelas ide ias diferentes e as diferentes ideias de co mo reso lver meus pro blemas. A minha irmã Izabella pelos mo mentos de distração que també m são necessários para que possamo s respirar e ganhar força s para focar em nossos objet ivo s

A minha namorada Aline, que me acompanhou na ma ior part e

da minha vida universit ária, estando presente em todos os mo mentos bo ns ou ruins, vibrando por minhas vitórias e me aconselhando nas minhas derrotas.

A minha t ia Cecília e a minha avó Maria que sempre reza m

por mim. Ao pro fessor J im Jones, por ter aceitado ser meu orientador e

por ter me sugerido o tema da minha monografia.

RESUMO

Esta monografia apresenta a implementação de um sistema demonstrativo de aplicação de Realidade Aumentada aplicada a Educação a Distância. O sistema tem como objetivo oferecer uma ferramenta que possa fornecer ao usuário uma maior integração com o ambiente acadêmico auxiliando para a melhor compreensão e entendimento dos assuntos tratados.

Palavras chave: Realidade Aumentada, Interatividade, Educação.

ABSTRACT

The monograph presents the implementing of demonstrative system of Increased Reality applied for Distance Education. The system objectives is offer one tool that can provide the user one high integration with the academic environment helping for the great understanding about issues treated.

Key words: Increased Reality, Interactivity, Education.

LISTA DE FIGURAS

Figura

1

- Kinect

15

Figura

2

– Sensorama

19

Figura 3 - Diagrama de realidade/virtualidade contínua

21

Figura

4

-

Anúncio do Vectra

GT

22

Figura 5 - Exemplo de uso da Realidade Misturada

22

Figura 6 - Realidade Aumentada por meio do Optical See Trough

24

Figura

7

-

Realidade

Aumentada

com auxilio do Video See-Through

24

Figura 8 - Esquema de utilização de Realidade Aumentada baseado em projeção

25

Figura 9 - Exemplo de Realidade Aumentada baseada em Projeção

26

Figura 10 - Realidade Aumentada Baseada em Monitores

26

Figura 11 - Diagrama de funcionamento do ARToolKit

31

Figura

12

-

Captura da imagem

33

- Figura 14 - Imagem em preto e branco

Figura

13

Imagem

em esacalas de cinza

33

34

Figura 15 - Marcadores encontrados pelo FLARToolKit

34

Figura 16 - Área do marcado utilizada para comparação

35

Figura 17 - Comparação do grau de confiança entre marcadores

36

Figura 18 - Marcador escolhido pelo FLARToolkit

37

Figura 19 - Relacionamento entre as coordenadas do marcador e da câmera

37

Figura 20 - Objeto virtual integrado ao ambiente real

38

Figura 21 - Exemplo de marcador fiducial criado no desenvolvimento do projeto

40

Figura 22 - Utilização do ARToolKit Marker Generator

42

Figura 23 - Marcador correto, não ambíguo

43

Figura 24 - Marcador incorreto,

43

- Figura 26 - Tela de Login do Sistema

Figura

25

Coordenadas do marcador

44

46

Figura 27 - Marcador Impresso

47

Figura 28 - Tela de solicitação para uso de câmera

47

Figura 29 - Diagrama de Funcionamento do Sistema

48

Figura 30 - Amostra do código PHP

49

Figura 31 - Amostra da tabela de usuário em MySQL

50

Figura 32 - Bibliotecas importadas para utilização no sistema

50

Figura 33 - Configuração de largura x altura do vídeo e quantidade de frames

51

Figura 34 - Matriz onde acontece a transição do objeto virtual

52

- Figura 36 - Exibição do objeto virtual sem sua respectiva textura

Figura

35

Confusão de Marcadores fiduciais

53

53

Figura 37 - Exibição do objeto virtual com sua respectiva textura (Correto)

54

Figura 38 - Aplicação funcionando na web com o objeto virtual do

55

LISTA DE TABELAS

Tabela 1 - Comparação de bibliotecas usadas em RA

32

Tabela 2 - Aplicativos necessários

49

LISTA DE ABREVIATURAS

3D – Três dimensões

AS3 – ActionScript 3

CS5 – Creative Suite 5

PDF – Portable Document Format

RA – Realidade Aumentada

RV – Realidade Virtual

S.O. – Sistema Operacional

SUMÁRIO

1. INTRODUÇÃO

 

14

1.1 Justificativa

15

1.2 Objetivos

16

1.2.1 Objetivo Geral

16

1.2.2 Objetivos Específicos

16

1.3 Capítulos

 

17

1.4 Metodologia

17

2. REFERENCIAL TÉORICO

18

2.1

Diversas Realidades

18

2.1.1. Realidade Virtual

 

18

2.1.2 Realidade

Misturada

20

2.1.3 Realidade Aumentada

23

2.1.3.1 - Realidade aumentada e pontos importantes

26

2.1.4

-

Virtualidade Aumentada

27

2.1.5

- Realidade Virtual e Realidade aumentada

28

2.2

- Adobe Flash

28

2.3 -

Action Script

29

2.4 -

ARToolkit

30

2.5

- FLARToolKit

31

2.8

Ferramentas de renderização

38

2.8.1.

Papervision3D

 

39

2.9

Blender

39

2.10. Marcadores fiduciais

40

2.11. Adobe Dreamweaver

44

3.

DESENVOLVIMENTO

46

3.1 Ferramentas

 

48

3.2 Parâmetros importantes

51

4. TESTES

 

52

4.1

Aplicação

55

5. CONSIDERAÇÕES FINAIS

56

5.1

Conclusão

56

6. REFERÊNCIAS BIBLIOGRÁFICAS

57

APÊNDICE - ENGENHARIA DE SOFTWARE

61

1. Requisitos

funcionais

61

2. Requisitos

não funcionais

62

3. Limitações do Sistema

63

4. Diagrama de Caso de Uso

64

4.1

Detalhamento

65

14

1.

INTRODUÇÃO

Desde que o mundo é conhecido por mundo, existe uma grande necessidade de criar ferramentas que possam auxiliar na caça, plantio, na defesa de território ou até mesmo no lazer.

Uma das invenções mais comentadas e ditas como revolucionária foi à invenção da roda. Tal invenção foi de importância extraordinária para nossos antepassados, não só porque alavancou transportes e comunicação daquela época, mas também porque a roda, com inúmeras modificações passou a estar presente em diversos mecanismos que impulsionaram o progresso da humanidade.

Após a invenção da roda o mundo sofreu inúmeras transformações no aspecto econômico, educacional e tecnológico. Onde se faz necessário estar integrado a uma determinada ferramenta ou processo, de forma a aumentar a lucratividade, eficiência e reduzir o tempo gasto nestas atividades.

Atualmente é possível estar integrado a um aplicativo ou equipamento sem ao menos imaginar toda a tecnologia presente no processo, exemplos como Kinect representado na Figura 1, onde o jogador consegue fazer todos os movimentos de seu personagem dentro de um jogo sem ao menos necessitar de joysticks, cenários digitais presentes em programas de TV, onde o apresentador muda de cenário sem ao mesmo dar um passo a frente ou para os lados e até mesmo em pontos considerados críticos e que requerem maior segurança como medicina ou em atividades bancárias como há bastante tempo é utilizado no banco Itaú.

Além disso, os ambientes virtuais são excelentes para o meio educacional, pois é possível manipular objetos sem limitações de recursos ou sem mesmo esbarrar nas leis de física, dependendo somente do poder computacional.

16

Partindo deste principio a Realidade Aumentada (RA) será utilizada para que o usuário utilize o sistema de forma natural e não perceba toda tecnologia envolvida no processo.

1.2 Objetivos

1.2.1 Objetivo Geral

Desenvolver um sistema de Educação a Distância (EAD) utilizando todo o potencial da Realidade Aumentada (RA) proporcionando uma experiência diferenciada.

Deseja-se que o sistema possa contribuir para que cada vez um maior número de pessoas possa obter acesso a educação.

1.2.2 Objetivos Específicos

Estudar e compreender os seguintes pontos:

Realidade Aumentada;

Desenvolvimento em Flash;

FLAR Tool Kit;

Kit de Ferramentas;

Desenvolvimento PHP;

Banco de Dados MySql.

Examinar

desenvolvimento.

trabalhos

afins,

pesquisando

meios

práticos e eficientes para

o

17

1.3 Capítulos

O presente trabalho apresenta a divisão em cincocapítulos, sendo que o primeiro

capítulo apresenta a parte introdutória, contendo apresentação dos objetivos gerais e específicos, bem como sua justificativa e metodologia adotada.

O segundo capítulo apresenta o referencial teórico composto de conhecimentos

básicos auxiliares para o entendimento do trabalho.

O

terceiro capítulo apresenta o desenvolvimento do trabalho.

O

quarto capítulo apresenta os testes realizados.

O quinto capítulo apresenta as considerações finais, por meio da conclusão e sugestão para futuros trabalhos.

1.4 Metodologia

O desenvolvimento do sistema proposto foi baseado na utilização de PHP combinado a ferramentas Flash de Realidade Aumentada FLAR Tool Kit. O uso da linguagem PHP juntamente com a biblioteca possibilita que a aplicação possa ser executada em diversas plataformas, arquiteturas e Sistemas Operacionais (S.O.) sendo necessário apenas possuir um navegador atualizado que de suporte ao conector (plugin) do Flash Player.

18

2. REFERENCIAL TÉORICO

2.1 Diversas Realidades

2.1.1. Realidade Virtual

A Realidade Virtual (RV) compreende em um contexto criado de forma artificial

exposto aos sentidos de uma pessoa de modo a substituir a realidade considerada como

real, reagindo aos movimentos de interação do objeto exposto ao ambiente.

A Realidade Virtual (RV) pode ser definida como uma interface mais natural e poderosa de interação homem-máquina, por permitir ao usuário interação, navegação e imersão no ambiente tridimensional sintético gerado pelo computador, através de canais multisensoriais (visão, audição, tato, olfato, paladar etc.) (Araujo, 1996, Burdea, 1994).

Ainda de acordo com Sherman (2003) A tecnologia de realidade virtual envolve todo o hardware utilizado pelo usuário para participar do ambiente virtual. Estão incluídos ai rastreadores, os capacetes, os navegadores 3D, as luvas, os fones de ouvido, os dispositivos de reação e outros dispositivos específicos.

A realidade virtual tornou-se possível devido à eficiência dos computadores no

trabalho com cálculos e a rapidez com que os resultados são obtidos. Esses resultados

são necessários para criar uma representação dos sentidos humanos de forma que a

máquina partir disto reagir a alguma modificação no ambiente realizado pelo objeto

com o menor atraso possível. Por esse fator, o resultado exibido pode ser considerado

como sendo uma resposta em tempo real.

De acordo (Lévy, 1996) interação do usuário com o ambiente, modificando a

realidade proposta, possui grande importância, porque a capacidade computacional é

prioritária: proporcionando uma realidade alternativa convincente. A interação dos

objetos existentes no mundo proposto fornecendo ao usuário a possibilidade de

modificação da realidade. A observação dos resultados de seus movimentos é mais um

ponto que aumenta a sensação de imersão do usuário ao que ele recebe pelos sentidos.

A realidade virtual pode ser classificada como imersiva ou não-imersiva. A

realidade imersiva utiliza de dispositivo acoplado ao usuário substituindo a realidade

atual de forma bastante ampla. Exemplos desse hardware são os óculos 3D, luvas de

dados, sensores de entrada biológicos, vídeo capacetes, entre outros. Já a realidade não-

19

imersiva cria uma conexão na realidade atual e através dela o usuário enxerga a realidade proposta. Para realizar tal tarefa, são usados sistemas de projeção e monitores acoplados em óculos.

Alguns relatos datam que a realidade virtual passou a ser usada no período pós 2ª Guerra Mundial, com o desenvolvimento dos primeiros simuladores de vôo da Força Aérea dos Estados Unidos. Alguns anos depois em 1948, o cientista Morton Heilig desenvolveu uma máquina batizada com o nome de Sensorama, que simulava a

pilotagem de uma motocicleta, tal máquina teve seu primeiro protótipo construído em

1962.

máquina teve seu primeiro protótipo construído em 1962. Figura 2 – Sensorama Fonte:
máquina teve seu primeiro protótipo construído em 1962. Figura 2 – Sensorama Fonte:

Figura 2 – Sensorama

Fonte: http://www.telepresenceoptions.com/images/sensorama.jpg

A constante inovação dos computadores e a popularização da tecnologia possibilitaram a Realidade Aumentada ampliar seus horizontes e estar presente em diversas áreas como:

20

Militar;

Saúde;

Educação;

Entretenimento.

A partir dos diversos estudos sobre realidade virtual, surgiram outras áreas de pesquisa que merecem destaque como a Realidade Misturada (RM), que será tratada a seguir.

2.1.2 Realidade Misturada

De acordo com Kirner (2003) a definição mais comum de Realidade Aumentada é a sobreposição dos objetos virtuais tridimensionais, gerados pelo computador, com um ambiente real, por meio de um dispositivo tecnológico, mas esta é uma definição bastante genérica sendo somente esclarecida ao estudar a Realidade Misturada.

De acordo (Kirner, 2006) realidade misturada é o ambiente físico mostrado ao usuário e unificado visualmente com objetos virtuais tridimensionais gerados artificialmente com o a utilização de algum dispositivo tecnológico, em tempo real.

Existem diversas formas de exposição da realidade ao usuário, tais como o capacete misturador de visão direta (HMD), usado tanto na realidade virtual como em aplicações de realidade aumentada, onde lentes especiais mostram a realidade à frente com a necessidade de projetores que exibem os objetos a serem adicionados nas lentes. O usuário então enxerga a mixagem desses elementos. O principal problema desse sistema é a pouca iluminação externa exigida para uma melhor exibição de objetos criados artificialmente. Essa tecnologia funciona da seguinte maneira. A câmera existente no capacete capta as imagens da realidade de forma que ela possa vir a ser útil como base para o tratamento das posições dos objetos. Outro modelo deste capacete utiliza as imagens capturadas pela câmera e adiciona os objetos virtuais, misturando-os. Assim, as imagens são exibidas nos monitores diretamente nos olhos. A utilização mais

23

2.1.3 Realidade Aumentada

Segundo

definições:

(Kirner,

2006)

e (Tory,

2006)

a realidade

virtual,

possui as

seguintes

É o enriquecimento do ambiente real com objetos virtuais, usando algum dispositivo tecnológico, funcionando em tempo real;

É uma melhoria do mundo real com textos, imagens e objetos virtuais, gerados por computador;

É a mistura de mundos reais e virtuais em algum ponto da realidade/virtualidade contínua que cria uma conexão entre ambientes completamente reais a ambientes completamente virtuais;

É um sistema que completa o mundo real com objetos virtuais gerados por computador, parecendo coexistir no mesmo espaço e apresentando as propriedades de combinar objetos reais e virtuais no ambiente real, execução interativa em tempo real, alinhamento de objetos reais e virtuais entre si, aplicação de todos os sentidos, incluindo audição, tato e força.

A realidade aumentada possui como maior aliada o poder de processamento computacional disponível para criar objetos virtuais, definir localização e transformações, inserindo os a uma realidade previamente capturada. O sistema depende necessariamente da geração das imagens misturadas em tempo real.

A classificação desta realidade está direcionada nas características do visor utilizado

Classificando, portanto, em:

1. Realidade Aumentada com Optical See-Through: neste caso o visor usado é um

HMD - Head-Mounted Display, utilizando visores transparentes. Abaixo uma ilustração de como funciona a tecnologia.

24

24 Figura 6 - Realidade Aumentada por meio do Optical See Trough Fonte:

Figura 6 - Realidade Aumentada por meio do Optical See Trough

Fonte: http://pds4.egloos.com/pds/200703/31/94/e0015094_12033416.jpg

2. Realidade Aumentada com Vídeo See-Through: Essa classificação utiliza se de

capacetes de realidade virtual HMD e modificações nos visores, que se tornam opacos contando também com o uso de câmeras de vídeo para projetar o que se vê. Neste caso um computador mistura as imagens reais e virtuais, como o apresentado na figura abaixo:

reais e virtuais, como o apresentado na figura abaixo: Figura 7 - Realidade Aumentada com auxilio

Figura 7 - Realidade Aumentada com auxilio do Video See-Through

Fonte: http://pds5.egloos.com/pds/200703/31/94/e0015094_12033583.jpg

26

Figura 9 - Exemplo de Realidade Aumentada baseada em Projeção

Fonte: http://www.digitalavmagazine.com/wp-content/uploads/2012/05/Pioneer.jpg

4. Realidade Aumentada com utilização de Monitores: Essa forma é a mais econômica

e a mais comum de utilização da tecnologia, onde uma câmera de vídeo, ou webcam, obtêm as imagens e o computador mescla as imagens, real e virtual e as exibem em um monitor.

mescla as imagens, real e virtual e as exibem em um monitor. Figura 10 - Realidade

Figura 10 - Realidade Aumentada Baseada em Monitores

Fonte: http://www.baronionline.com/images/realidade-aumentada-e-monitores.png

2.1.3.1 - Realidade aumentada e pontos importantes

De acordo com (Kirner, 2006), A realidade aumentada possui três pontos importantes, são eles:

A renderização de alta qualidade do mundo combinado;

A calibração precisa, envolvendo o alinhamento dos objetos virtuais em posição e a orientação dentro do mundo real;

A interação em tempo real entre objetos reais e virtuais.

27

Para uma melhor interação e aceitação da RA é possível utilizar de câmeras de boa qualidade, recursos multimídia com utilização de imagens e sons de alta qualidade, e ainda geradores que reproduzem sensações táteis.

A grande preocupação que gira em torno desse sistema é o poder computacional

disponível para a produção dos objetos virtuais de forma mais real possível e a sua inserção nos quadros (pixels) capturados por meio câmera. Atualmente, os computadores possuem alto poder de processamento, estão mais acessíveis e possuem

meios de transferência de vídeo, áudio, alem de suporte a dispositivos não muito comuns, como os capacetes HMD, óculos 3D entre outros.

2.1.4 - Virtualidade Aumentada

A quantidade de interação de realidade no mundo virtual define o conceito de

virtualidade aumentada. Por isso, quando o mundo exibido ao usuário é virtual e alguns elementos são reais, cria se à virtualidade aumentada que também pode ser definida como o enriquecimento do ambiente virtual com elementos reais obtidos anteriormente ou obtidos em tempo real.

A aplicação desenvolvida através de virtualidade aumentada tem como objetivo

inserir o indivíduo, reconstruído em imagem, ou parte dele em mundo virtuais. A interação do mundo real com objetos do mundo virtual também é foco das pesquisas relacionadas à Virtualidade Aumentada (VA). Dessa forma a interação humana com ambientes virtuais será mais fácil e poderá criar uma maior integração das relações humanas em mundos virtuais através de seu personagem.

28

2.1.5 - Realidade Virtual e Realidade aumentada

O aparecimento da realidade virtual criou vários avanços com relação à interatividade do usuário com o sistema. Com a constate evolução da tecnologia, foi possível o uso de computação gráfica em tempo real. Apesar dessas e algumas outras vantagens, a Realidade Virtual tornou se um pouco cansativa, devido à necessidade da utilização de equipamentos como óculos de três dimensões, capacete, luvas, e várias vezes antes da utilização do equipamento era necessário fazer um treinamento. Esses empecilhos tornaram a tecnologia um pouco mais distante do público.

A mesma evolução que possibilitou o avanço dos estudos da Realidade Virtual

(RV), também possibilitou o surgimento da Realidade Aumentada, que desenvolveu um novo paradigma, onde o ambiente real é aumentado com objetos virtuais, por meio de dispositivos tecnológicos.

No início do século XXI, surgiu um maior interesse pelo desenvolvimento de soluções que oferecessem um melhor custo-benefício. Foi então que a busca pela Realidade Aumentada começou a ganhar força, o que a tornou a tecnologia mais interessante para o desenvolvimento de interfaces para o público.

Diferente da Realidade Virtual, não existe a necessidade de equipamentos caros

e

de difícil utilização, é flexível com relação às plataformas, oferece maior mobilidade,

e

possui uma interface mais intuitiva ao usuário, se tornando mais abrangente.

2.2 - Adobe Flash

O Adobe Flash é uma ferramenta para o desenvolvimento de animações. As

animações por ele geradas podem ser executadas por navegadores Web como (Google Chrome, Internet Explorer, Mozilla Firefox, Opera entre outros) por meio do Adobe Flash Player, um plugin capaz de executar as aplicações em Flash.

29

O Adobe Flash Player é bastante utilizado na criação de Banners de sites, Charges, jogos par web, entre outros.

A versão utilizada nesse projeto foi a versão CS5.

2.3 - Action Script

objetos

desenvolvida com base em ECMAScript e sua utilização é direcionada para o desenvolvimentos de Aplicações Ricas de Internet.

O Action Script é

uma

linguagem

de

programação

orientada

a

Suas aplicações podem ser executadas em qualquer S.O.

30

2.4 - ARToolkit

O ARToolKit é uma biblioteca desenvolvida em C++ para criação de aplicações de RA. Foi criada pelo Dr. Hirokazu Kato em 1999, e apresentada ao público pela University of Washington/HIT Lab (Lamb, 2009). Ela é mantida como um projeto com licença GNU(General Public License) e também uma licença para fins comerciais conhecida de ARToolWorks.

O ARToolKit trabalha com base em visão computacional, processamento digital de imagem e posicionamento de imagem. Por isso, a biblioteca exige um grande poder computacional uma vez que os processos são realizados em vários quadros por segundo fazendo com que o usuário tenha a sensação de movimento. A biblioteca utiliza marcadores impressos em branco e preto, compostos por uma moldura preta e no seu interior um símbolo previamente conhecido pela biblioteca para seu reconhecimento posterior.

O funcionamento da biblioteca é composto pela recepção da imagem capturada pela câmera, conversão da imagem em preto e branco, para em seguida examiná-la em busca de regiões quadradas. Após localizar as regiões quadradas é realizada uma nova busca dentro dessa região a procura de um símbolo que coincida com os padrões existentes em sua biblioteca de símbolos. Se ocorrer o reconhecimento por meio da semelhança entre símbolos de referência previamente armazenados, o ARToolKit calcula o tamanho e a orientação do padrão para encontrar a posição real da câmera em relação a posição real do marcador. Então, uma matriz 3x4 é criada para que possa ser possível armazenar as coordenadas reais da câmera em relação ao marcador.

Esta matriz é utilizada para calcular a posição da câmera virtual. A precisão das câmeras, real e virtual, define a precisão da renderização do objeto virtual acima do marcador.

Abaixo um exemplo do fluxo deste processo para a mistura das imagens real e virtual.

31

31 Figura 11 - Diagrama de funcionamento do ARToolKit Fonte: http://www.metade.org/research/phd/artoolkit/diagram.jpg 2.5
31 Figura 11 - Diagrama de funcionamento do ARToolKit Fonte: http://www.metade.org/research/phd/artoolkit/diagram.jpg 2.5
31 Figura 11 - Diagrama de funcionamento do ARToolKit Fonte: http://www.metade.org/research/phd/artoolkit/diagram.jpg 2.5

Figura 11 - Diagrama de funcionamento do ARToolKit

Fonte: http://www.metade.org/research/phd/artoolkit/diagram.jpg

2.5 - FLARToolKit

O FLARToolkit [Koyama, 2010] é uma biblioteca de RA escrita em ActionScript traduzida por Saquoosha em 2008 a partir do NyARToolkit, que foi escrito em Java.

Esta linguagem pode ser executada em qualquer navegador desde que possua o plugin do Adobe Flash Player instalado. Essa plataforma é bastante flexível, tornando possível o desenvolvimento de aplicações para em diversas plataformas.

32

Tecnologia de Realidade Aumentada

 

Plataformas

Desktop

Web

Dispositivos Móveis

ARSTudio

Sim

Não

Não

ARTag

Sim

Não

Não

ARToolKit

Sim

Não

Não

ARToolKitPlus

Não

Não

Sim

DART

Sim

Não

Não

FLARToolKit

Sim

Sim

Sim

JARToolKit

Sim

Não

Não

Tabela 1 - Comparação de bibliotecas usadas em RA

Basicamente, pode se desenvolver aplicações com o FLARToolKit para qualquer dispositivo ou computador desde que o mesmo ofereça suporte ao Adobe Flash.

Os aplicativos podem ser

ou em ambientes cliente/servidor.

executados em um dispositivo ou computador local

Segundo (Kirner, 2011), sua plataforma livre, aliada ao fato de vários profissionais de publicidade utilizarem o Adobe Flash para realização de seus trabalhos, fez com que a biblioteca FLARToolKit ganhasse maior visibilidade e popularidade em aplicações de Realidade Aumentada.

A biblioteca

FLARToolKit

contém

inúmeras

funções

interativas,

possibilitando seu uso em aplicações com ações diversas como:

Fechamento de marcadores;

Colisão de objetos virtuais;

Comandos de voz;

Cálculo de distâncias entre pontos marcadores;

Orientação espacial de marcadores.

Segundo Koyama (2010) seu funcionamento apresenta etapas semelhantes as etapas do ARToolkit:

39

ferramentas gratuitas, tais como Google Sketchup, Blender3D para a edição dos modelos, e Papervision3D para a renderização dos objetos 3D na cena.

2.8.1. Papervision3D

De acordo com Saqoosha (2010), o FLARToolKit apenas faz o calculo da orientação de marcadores, definindo a posição dos objetos virtuais e outras ações como escala e movimentação, mas não renderiza os objetos 3D presentes na cena. Sendo assim, se faz necessário o uso de uma biblioteca própria para objetos 3D. Uma das bibliotecas disponíveis é o Papervision3D, que é uma biblioteca em ActionScript 3.0, que possui renderizador interno baseado em computação 2D e utiliza de API 3D do Flash. para criar as animações e interações em 3D. O FLARToolKit utiliza o Papervision3D para a renderização dos objetos 3D de vários formatos.

O Papervision3D pode ser programado utilizando Adobe Flash CS3 ou superior

e no Flex Builder 3.

2.9 Blender

O Blender é uma suite de criação 3D de código livre gerenciado pela Fundação

Blender que teve avanços bastante significativos de desenvolvimento nos últimos anos por causa dos projetos da Fundação Blender que produziram os dois primeiros filmes abertos e um jogo aberto. Esses projetos, além de realizar o marketing dos produtos para

os quais forma destinados, criaram vários aperfeiçoamentos ao Blender que cada vez ganha mais destaque entre as aplicações destinadas à modelagem 3D.

40

O Blender possui como linguagem de script o Python, que fornece a possibilidade de ampliações de suas características através do desenvolvimento de plug-ins próprios. Alguns deles são utilizados na exportação de arquivos para inúmeros formatos.

Atualmente a ferramenta vem ganhando bastante espaço na comunidade de desenvolvedores 3D essa ferramenta foi recomendada como ferramenta oficial do concurso de design de carros da montadora Peugeot o Peugeot Design Contest.

2.10. Marcadores fiduciais

Os marcadores fiduciais são uma evolução dos códigos de barras e QR codes. A representação do objeto gerado pelo Papervision3D é feita a partir do reconhecimento do marcador correto.

Tal marcador utiliza de cores preto e branco e consiste de um quadrado com bordas pretas com um padrão central que possa o tornar único e diferente de outros marcadores. A imagem central não possui restrições, ficando a cargo do desenvolvedor.

A detecção do marcador é feita pela comparação de partes da imagem capturada com os marcadores presentes num banco de dados de marcadores até que seja encontrado um marcador que obtenha o grau de confiança definido no sistema.

que obtenha o grau de confiança definido no sistema. Figura 21 - Exemplo de marcador fiducial

Figura 21 - Exemplo de marcador fiducial criado no desenvolvimento do projeto

41

Na internet existem

diversas

ferramentas

para

criação

de

marcadores

fiduciais. A maior parte das aplicações segue o mesmo princípio:

Projeção da imagem na webcam;

Captura da imagem;

Geração do marcador.

Existem outras ferramentas onde também é possível o upload de uma imagem existente no computador.

Neste projeto a ferramenta escolhida foi o ARToolKit Marker Generator devido a sua simplicidade de utilização. Abaixo as etapas presentes no aplicativo :

Select Camera – Define a câmera a ser utilizada no processo de captura da imagem.

Save Parttern – Salva o marcador após o seu reconhecimento.

43

43 Figura 23 - Marcador correto, não ambíguo. Figura 24 - Marcador incorreto, ambíguo. É necessário

Figura 23 - Marcador correto, não ambíguo.

43 Figura 23 - Marcador correto, não ambíguo. Figura 24 - Marcador incorreto, ambíguo. É necessário

Figura 24 - Marcador incorreto, ambíguo.

É necessário ficar atento quanto ao modo de interpretação das cordenadas x, y e z exibidas pela imagem do marcador em um plano de três dimensões. A coordenada x é representa o deslocamento do marcador em pé. A coordenada yé representa o deslocamento do marcador na linha horizontal e a coordenada z é a aproximação do marcador com relação a webcam.

45

2.12. PHP

PHP é uma linguagem interpretada livre e utilizada para gerar conteúdo dinâmico na web. A linguagem surgiu em 1994, como um pacote de programas CGI criados por Rasmus Lerdof, batizada de Personal Home Page Tools, para substituir um conjunto de scripts feitos em Perl que ele usava no desenvolvimento de sua página pessoal.

Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL. Posteriormente, Zeev Suraski desenvolveu o analisador do PHP 3 que possuía o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos programadores somente o direito de implementar propriedades e métodos.

Pouco depois, Zeev e Andi Gutmans, criaram o PHP 4, abandonando por completo o PHP 3, dando mais poder linguagem e maior número de opções para orientação a objetos.

O PHP é uma linguagem extremamente modularizada, o que faz que ela seja ideal para instalação e uso em servidores web.

Construir uma página dinâmica baseada em bases de dados é simples com PHP este provê suporte a um grande número de banco de dados entre eles o MySQL que será utilizado neste trabalho.

3. DESENVOLVIMENTO

46

No decorrer do desenvolvimento do projeto foram utilizados Dreamweaver, PHP, MySQL, biblioteca FLARToolkit e Flash. Sendo que a porta de entrada para o sistema de realidade virtual é a tela de login do usuário e o marcador impresso.

o sistema de realidade virtual é a tela de login do usuário e o marcador impresso.

Figura 26 - Tela de Login do Sistema

3.2 Parâmetros importantes

51

Durante o desenvolvimento do trabalho alguns parâmetros importantes foram

definidos como: largura e altura do vídeo da Webcam, frames por segundo ,

porcentagem de reconhecido do marcador e quantidade de segmentos.

Para a definição da largura e altura do vídeo da Webcam, foram considerados:

resolução existente na maior parte dos monitores e suportados por grande parte das

placas de vídeo, tamanho das barras de ferramentas dos navegadores e do SO, e

a capacidade de visualização tanto em monitores widescreen quanto em monitores

comuns. Portanto o tamanho do vídeo foi definido em 640 pixels de largura por 480

pixels de altura, e definida a exibição em no máximo 60 frames por segundo que requer

um pouco a mais de processamento mas não limita os computadores mais lentos.

processamento mas não limita os computadores mais lentos. Figura 33 - Configuração de largura x altura

Figura 33 - Configuração de largura x altura do vídeo e quantidade de frames

Para os marcadores, a porcentagem de reconhecimento não foi alterada ficando por padrão em 50%, seus segmentos ficaram definidos em 16x16.

4. TESTES

52

Quando é exibido um marcador válido, os modelos em 3D são exibidos de acordo com as cordenadas x,y e z desde que o marcador esteja dentro da área rastreada pela câmera.Caso o marcador fique fora da área rastreada pela câmera o objeto virtual fica estacionado na mesma posição x,y,z de onde o marcador foi rastreado pela ultima vez de acordo com o código presente na figura 34.

ultima vez de acordo com o código presente na figura 34. Figura 34 - Matriz onde

Figura 34 - Matriz onde acontece a transição do objeto virtual

Outro ponto que deve ser mencionado é o fato da câmera ficar tentando obter marcadores válidos a todo segundo. Então é necessário que na utilização do sistema o local não possua objetos que possam ser confundidos com o marcador definido pela aplicação. Nos testes que realizei em minha residência diversas vezes o sistema tentou usar a janela como marcador fiducial.

5. CONSIDERAÇÕES FINAIS

5.1 Conclusão

56

Um sistema de EAD baseado em Realidade aumentada via web é capaz de fazer com que o aluno se sinta menos distante da sala de aula e possa interagir com a matéria sem a necessidade de estar presente na sala de aula, contando ainda com a praticidade e mobilidade de acesso ao conteúdo didático por meio da internet. A realidade aumentada pode ser usada por qualquer pessoa de qualquer idade de forma simples, mas que possui alguns entraves como a internet que em muitas das regiões do Brasil é bastante lenta e faz com os usuários criem certa resistência a tecnologia. É bem provável que num futuro próximo recursos de realidade aumentada com o auxilio de biometria façam com que teclados, mouses, joysticks desapareçam fazendo com que todo o controle seja feito a partir de simples movimentos capturados por câmeras. Inicialmente esse projeto seria desenvolvido em Java e usando da bilbioteca JARToolKit, mas no decorrer do desenvolvimento optou-se pelo FLARToolkit devido a facilidade de ser encontrar materiais e documentação na internet. Este trabalho foi interessante pois foi possível conhecer um novo ambiente de programação que até o presente momento pouco havia se comentado durante o curso além de perceber o que é possível ser feito usando realidade aumentada.

6. REFERÊNCIAS BIBLIOGRÁFICAS

57

em:

<http://www.xnavigation.com.br/view/346/argouml/download.htm> Acesso em 19 de Maio de 2012.

ArgoUML.

Disponível

Brasil Academico. Disponível em:

sua-propria-realidade-aumentada.html > Acesso em 3 de Abril de 2012.

<http://blog.brasilacademico.com/2009/10/crie-

Café com Java. Disponível em :<http://www.cafecomjava.com.br/tag/realidade- aumentada/ > Acesso em 3 de Abril de 2012.

Colégio Web. Disponível em: <http://www.colegioweb.com.br/historia/origem-do- homem.html > Acesso em 3 de Abril de 2012.

Claudio Kirner. Disponível em: <http://www.ckirner.com/claudio/?PROJETOS > Acesso em 15 de Maio de 2012.

Dica de Dica. Disponível em: <http://dicadedica.blogspot.com.br/2009/06/realidade- aumentada-lista-de-software.html > Acesso em 15 de Maio de 2012.

EAD – FACCAT. Disponível em: <http://ead.faccat.br/portal/blog/realidade- aumentada-na-educacao/ > Acesso em 15 de Maio de 2012.

Exagon. Disponível em: <http://exagon.wordpress.com/category/realidade- aumentada/ > Acesso em 15 de Maio de 2012.

Exagon. Disponível em: <http://exagon.wordpress.com/2011/01/04/instalando-o- flartoolkit-realidade-aumentada-na-web/ > Acesso em 15 de Maio de 2012.

EzFlar. Disponível em: <http://www.ezflar.com/home/show_home > Acesso em 26 de Maio de 2012.

58

Fellyph Cintra. Disponível em: <http://www.fellyph.com.br/blog/flash/papervision- 3d-materials/ > Acesso em 26 de Maio de 2012.

Flash

<http://flash.tarotaro.org/ar/MarkerGeneratorOnline.swf de 2012.

Marker.

Disponível

em:

> Acesso em 10 de Maio

Tori, Romero; Kirner, Claudio; Siscouto, Robson; Fundamentos e tecnologia de realidade virtual e aumentada.2006. 422p.

Herbert PHP. Disponível em: <http://www.hebertphp.net/wordpress/?p=932 > Acesso em 5 de Abril de 2012.>

Info Geeks. Disponível em <http://bloginfogeeks.blogspot.com.br/2011/03/saiba-o- que-e-realidade-aumentada.html > Acesso em 20 de Maio de 2012.

Nimbuzz Brasil. Disponível em: < http://brasil.blog.nimbuzz.com/2010/06/01/dicas- de-aplicativos-com-realidade-aumentada/ > Acesso em 7 de Abril de 2012.

Portal

<http://www.portalsaofrancisco.com.br/alfa/roda/roda.php > Acesso em 4 de Abril de 2012.

São

Franciso.

Disponivel

em:

GUJ. Disponível em: <http://www.guj.com.br/java/133419-desenvolvimento-de- realidade-aumentada-utilizando-java > Acesso em 7 de Abril de 2012.

Imasters. Disponível em: <http://imasters.com.br/artigo/13530/flash/fazendo-uma- magica-com-realidade-aumentada > Acesso em 17 de Abril de 2012.

Linha

<http://www.linhadecodigo.com.br/artigo/2488/artoolkit-criando-aplicativos-de-

realidade-aumentada.aspx > Acesso em 15 de Abril de 2012.

de

Código.

Disponível

em:

59

MBallem. Disponível em: <mballem.wordpress.com/2011/02/21/utilizando-swing- com-banco-de-dados/ > Acesso em 8 de Abril de 2012.

Realide

<http://realidadeaumentada.com.br/home/index.php?option=com_content&task=vie w&id=1&Itemid=27 > Acesso em 19 de Abril de 2012.

Aumentada.

Disponível

em:

em:

<http://www.realidadeaumentada.com.br/home/index.php?option=com_content&tas k=view&id=4&Itemid=26 > Acesso em 19 de Abril de 2012.

Realide

Aumentada.

Disponível

Realide

<http://realidadeaumentada.com.br/home/index.php?option=com_content&task=vie w&id=37&Itemid=53 > Acesso em 19 de Abril de 2012.

Aumentada.

Disponível

em:

Realide

<http://realidadeaumentada.com.br/home/index.php?option=com_content&task=vie w&id=40&Itemid=56 > Acesso em 19 de Abril de 2012.

Aumentada.

Disponível

em:

Realide

<http://realidadeaumentadatcc.blogspot.com.br/ > Acesso em 08 de Abril de 2012.

Aumentada

TCC.

Disponível

em:

Realide Virtual. Disponível em: <http://www.realidadevirtual.com.br/cmsimple- rv/?%26nbsp%3B_APLICA%C7%D5ES:FlartoolKit > Acesso em 08 de Abril de

2012.

Romero Tori. Disponível em: <http://romerotori.blogspot.com/2010/05/realidade- aumentada-na-educacao.html > Acesso em 08 de Abril de 2012.

Saqoo. Disponível em: <http://saqoo.sh/a/en/flartoolkit/start-up-guide > Acesso em 03 de Abril de 2012.

60

Super

Pink.

Disponível

em:

<http://www.superpink.com/interface/index.php?itemid=19

>

Acesso

em

12

de

Maio de 2012.

Thiago Cantero. Disponível em: <http://thiagocantero.com.br/?p=342 > Acesso em 08 de Maio de 2012.

Talyson Martinez. Disponível em: <http://www.taylsonmartinez.com/realidade- aumentada-os-cartoes-de-visita-do-futuro/ > Acesso em 22 de Abril de 2012.

61

APÊNDICE - ENGENHARIA DE SOFTWARE

1. Requisitos funcionais

Requisito Funcional 1: Possuir login e senha válido para autenticação no sistema.

Requisito Funcional 2: O marcador deverá ser impresso nas cores preto e branco.

Requisito Funcional 3: O computador do usuário deve possuir webcam instalada para a utilização do sistema

Requisito Funcional 4: O controle do ambiente virtual necessita que o usuário ative a utilização da câmera por meio do botão permitir.

Requisito Funcional 5: O controle do ambiente somente se aplica a marcadores válidos previamente disponibilizados em pdf.

2. Requisitos não funcionais

62

Requisito não funcional 1: O sistema deve ser implementado em linguagem PHP, possuir banco de dados MySQL.Podendo ser utilizado em diversos Sistemas Operacionais

Requisito não funcional 2: O ambiente virtual deve ser implementado em Flash,

fornecendo

interface simples e amigável,

respeitando

as premissas da Realidade

Aumentada.

3. Limitações do Sistema

63

Limitação do Sistema 1: O Sistema Operacional deve ser Windows XP ou versões superiores, Linux com modo gráfico instalado ou FreeBSD com ambiente gráfico instalado, Adobe Flash Player versão 9 ou superior e Navegadores Mozilla Firefox 7, Google Chrome 10, Internet Explorer 7 ou versões superiores.

Limitação do Sistema 2: O Sistema requer conexão de internet com velocidade igual ou superior a 300Kbps.

Limitação do Sistema 3: O Sistema requer câmera com resolução 640x480pixels ou superior.

4. Diagrama de Caso de Uso

64

O diagrama de caso de uso descreve a funcionalidade propostas para o sistema, que será projetado. Segundo Ivar, podemos dizer que um caso de uso é um "documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar um processo". Um caso de uso representa uma unidade discreta da interação entre um usuário (humano ou máquina) e o sistema. Um caso de uso é uma unidade de um trabalho significante. Por exemplo: o "cadastrar veículos" e "efetuar vendas" são todos casos de uso.

Cada caso de uso tem uma descrição da funcionalidade que irá ser construída no sistema proposto. Um caso de uso pode "usar" outra funcionalidade de caso de uso ou "estender" outro caso de uso com seu próprio comportamento. Casos de uso são tipicamente relacionados a "atores". Um ator é um humano ou entidade máquina que interage com o sistema para executar um significante trabalho.

No projeto desenvolvido o único ator presente foi o usuário, que irá interagir com o sistema.

presente foi o usuário, que irá interagir com o sistema. O usuário deverá fazer o login,

O usuário deverá fazer o login, após fazer o login ativar o uso da webcam e então começar a interagir com o ambiente virtual.

4.1 Detalhamento

Logar

Ator: Usuário

65

Pré condição: Acessar o link http://raead.freehostia.com .

Curso normal: O usuário acessa o site, digita login e senha válida.

Curso de exceção: O usuário não possui login e senha válida e/ou não é cadastrado.

Ativar Webcam

Ator: Usuário

Pré condição: Ter logado com sucesso ao sistema.

Curso normal: Após o login o usuário permite ao sistema a utilização da webcam.

Curso de exceção: O usuário não possui webcam instalada ou não foi permitido a ativação da webcam pelo usuário.

Interação com o ambiente

Ator: Usuário

Pré condição: Ter ativado a utilização da webcam

Curso normal: Após o login o usuário permite ao sistema a utilização da webcam e projeta o marcador.

66

Curso de exceção: O usuário projeta um marcador não valido como meio de interação com o ambiente.