Você está na página 1de 128

Universidade de Pernambuco (UPE) Escola Politcnica de Pernambuco (POLI) e Instituto de Cincias Biolgicas (ICB) e o

Programa de Ps-Graduao em Engenharia de Sistemas o ca

Anderson Carlos Moreira Tavares

Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas ca

Orientador : Profa Dra Maria Lencastre Pinheiro de Menezes Cruz Coorientador : Prof. Dr. Srgio Murilo Maciel Fernandes e

Recife-PE, Fevereiro de 2012.

Universidade de Pernambuco (UPE) Escola Politcnica de Pernambuco (POLI) e Instituto de Cincias Biolgicas (ICB) e o

Programa de Ps-Graduao em Engenharia de Sistemas o ca

Anderson Carlos Moreira Tavares

Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas ca

Orientador : Profa Dra Maria Lencastre Pinheiro de Menezes Cruz Coorientador : Prof. Dr. Srgio Murilo Maciel Fernandes e
Dissertao ca de Mestrado apresentada ` Universidade de a Pernambuco como parte dos requisitos para a obtenao do t c tulo de Mestre em Engenharia de Sistemas. Area de Ciberntica. e concentrao : ca

Banca Examinadora
Profa Dra Maria Lencastre Pinheiro de Menezes Cruz UPE Prof. Dr. Carmelo J. A. Bastos Filho . . . . . . . . . . . . . . . UPE Profa Dra Judith Kelner . . . . . . . . . . . . . . . . . . . . . . . . . . . UFPE

Recife-PE, Fevereiro de 2012.

` A minha me e ` minha namorada. a a

Resumo

A construo de sistemas complexos requer um planejamento adequado para seu ca sucesso. A Modelagem e Simulao (M&S) de Sistemas de Eventos Discretos pode ca auxiliar essa etapa com a anlise do funcionamento antes mesmo da modicaao a c f sica no mundo real. Os programas atuais de Modelagem e Simulaao contm c e uma variedade de componentes para criao dos modelos, porm, necessria a ca e e a mudana de foco entre o sistema real e o modelo para sua criaao. Essa mudana c c c pode prejudicar o processo de validao do modelo. O trabalho proposto pretende ca demonstrar como o desenvolvimento do modelo pode ser visualizado diretamente no mundo real, utilizando tecnologias de Realidade Aumentada, alm de demonstrar e a importncia dos mdulos de colaboraao nesse sistema, auxiliando equipes de a o c sistemas complexos. Fundamentos tericos e prticos so detalhados. O prottipo, o a a o desde o planejamento at a fase de testes, descrito, bem como resultados e e e concluses so levantados. o a

Palavras-chave: Realidade Aumentada, Ambiente Virtual Colaborativo, Modelagem e Simulao, Sistemas de Eventos Discretos. ca

Abstract

The construction of complex systems requires necessary planning for its success. The Modeling and Simulation of Discrete Event Systems can help this step with analysis of functioning before the physical modication at the real world. Current Modeling and Simulation software provides several components for the creation of models, but it is necessary to change focus between real system and model when it is created. This change can damage the model validation processing. The proposal intends to show how the development of the model can be directly viewed onto the real world, by using Augmented Reality techniques, and it shows the importance of collaboration modules in this system, which can help teams of complex systems. Theoretical and pratical foundations are detailed. The prototype, since the planning until the tests, are described. Results and conclusions are raised.

Keywords: Augmented Reality, Collaborative Virtual Environment, Modeling and Simulation, Discrete Event Systems.

iii

Agradecimentos

Agradeo ` minha me por ter me ajudado nessa caminhada, acreditando no c a a meu pontencial. Agradeo a minha namorada por ter dado foras, alegrias e motivaoes no c ` c c desenvolvimento do trabalho. Agradeo ` professora Dra Maria Lencastre pela orientaao e experincia na area c a c e de modelagem e simulaao de sistemas, alm da pacincia para a realizaao de muitas c e e c correoes e sugestes, enriquecendo o trabalho. c o Agradeo ao professor Dr. Srgio Murilo pelas ideias inovadoras que zeram c e o prottipo atraente o suciente para ser uma grande contribuiao a sociedade o c ` acadmica. e Agradeo ao professor Dr. Carmelo pela coordenao e orientaao dos processos, c ca c alm da luta pela evoluo de todos no Programa de Ps-Graduaao em Engenharia e ca o c de Sistemas. Isso tambm levou ao crescimento da qualidade do projeto. e Agradeo a Jlia e Georgina pelo incansvel suporte, e incentivo a participaoes c ` u a c nas conferncias e congressos. e Agradeo aos meus colegas e meus professores do Programa de Ps-Graduao c o ca em Engenharia de Sistemas que acreditaram em cada participante, em cada projeto e em cada ideia, fazendo crescer o grupo como todo. v

vi

AGRADECIMENTOS

Agradeo aos professores Byron e Bruno, formando uma fantstica e promissora c a equipe, o grupo de Reconhecimento de Padres e Processamento Digital de Sinais o (RPPDI), atraindo atenes at da NASA. co e A todas as outras pessoas que no tenho citado acima e, de alguma forma, a contribu ram para o sucesso deste trabalho.

Sumrio

Resumo Abstract Agradecimentos Lista de Figuras Lista de Tabelas Lista de Algoritmos Lista de Acrnimos o 1 Introduo ca 1.1 Caracterizao do Problema ca 1.2 Objetivos . . . . . . . . . . 1.2.1 Objetivo Geral . . . 1.2.2 Objetivos Espec cos 1.2.3 Estratgia Adotada . e 1.3 Estrutura do Documento . .

i iii v xi xv xvii xix 1 3 7 7 7 8 9

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

2 Fundamentos Tericos o 11 2.1 Matemtica Tridimensional . . . . . . . . . . . . . . . . . . . . . . . 11 a 2.1.1 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 vii

viii 2.1.2 Transformaes . . . . . . . . . . . . . . . . . . . co Realidade Virtual . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Denio de Realidade Virtual . . . . . . . . . . . ca 2.2.2 Motivaao do Uso da RV . . . . . . . . . . . . . . c 2.2.3 Equipamentos . . . . . . . . . . . . . . . . . . . . 2.2.4 Estereoscopia . . . . . . . . . . . . . . . . . . . . 2.2.5 Diculdades Gerais da Realidade Virtual . . . . . Realidade Aumentada . . . . . . . . . . . . . . . . . . . 2.3.1 Denio de Realidade Aumentada . . . . . . . . ca 2.3.2 Classicao . . . . . . . . . . . . . . . . . . . . . ca 2.3.3 Motivaao do Uso da RA . . . . . . . . . . . . . . c 2.3.4 Diculdades no Uso da RA . . . . . . . . . . . . . Sistema Colaborativo . . . . . . . . . . . . . . . . . . . . 2.4.1 Trabalho Colaborativo Assistido por Computador 2.4.2 Modelo 3C . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Ambiente Virtual Colaborativo . . . . . . . . . . Modelagem e Simulao . . . . . . . . . . . . . . . . . . ca 2.5.1 Framework para Modelagem e Simulaao . . . . . c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SUMARIO

2.2

2.3

2.4

2.5

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

15 18 20 21 22 26 28 29 29 30 31 31 32 33 34 34 35 37 41 41 43 43 44 45 46 47 47 51 52 52 52 52 53

3 Estado-da-Arte 3.1 Animaao em Simulaao de Sistemas de Eventos Discretos . . . . . . c c 3.2 Visualizaao 3D de Simulao de Operaes de Construo . . . . . . c ca co ca 3.3 Realidade Aumentada com Colaborao na Web . . . . . . . . . . . . ca 3.4 Framework para Simulaao de Sistemas de Eventos Discretos na Web c 3.5 Visualizaao de Modelos de Operaes de Trfego com RA . . . . . . c co a 3.6 Trabalho Colaborativo na Modelagem e Simulaao de Eventos Discretos c 3.7 Impacto da Realidade Virtual na Simulaao de Eventos Discretos . . c 3.8 Tabela comparativa dos trabalhos . . . . . . . . . . . . . . . . . . . . 4 Desenvolvimento da Proposta 4.1 Termos importantes . . . . . . . . 4.1.1 Modelo . . . . . . . . . . . 4.1.2 Cenrio 3D . . . . . . . . a 4.1.3 Metfora de Manipulao a ca 4.1.4 Marcador Fiducial . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

SUMARIO

ix 4.1.5 Mouse 3D . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.6 Seletor . . . . . . . . . . . . . . . . . . . . . . . . . . . Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Concepo . . . . . . . . . . . . . . . . . . . . . . . . . ca 4.2.2 Tecnologias Usadas . . . . . . . . . . . . . . . . . . . . 4.2.3 Elaborao . . . . . . . . . . . . . . . . . . . . . . . . ca Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Autenticaao . . . . . . . . . . . . . . . . . . . . . . . c 4.3.2 Manipular Projeto . . . . . . . . . . . . . . . . . . . . Consideraoes e Avaliaoes sobre o Funcionamento do Sistema c c 4.4.1 Taxa de Quadros . . . . . . . . . . . . . . . . . . . . . 4.4.2 Consumo de Memria . . . . . . . . . . . . . . . . . . o 4.4.3 Tempo de Resposta na Transmisso . . . . . . . . . . . a Problemas Encontrados . . . . . . . . . . . . . . . . . . . . . . 4.5.1 Marcadores Longe da Webcam No Rastreados . . . . a 4.5.2 Trasmisso de Webcam com Atraso . . . . . . . . . . . a 4.5.3 Perda de Rastreamento . . . . . . . . . . . . . . . . . . 4.5.4 Pouca Iluminao . . . . . . . . . . . . . . . . . . . . . ca 4.5.5 Ocluso do Marcador . . . . . . . . . . . . . . . . . . . a 4.5.6 Movimentos Rpidos do Marcador . . . . . . . . . . . . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 54 54 54 59 60 63 63 64 78 79 79 80 80 81 81 81 81 82 82 83 84 85 86 86 87 87 87 88 91

4.2

4.3

4.4

4.5

5 Concluses o 5.1 Contribuies . . . . . . . . . . . . . . . . . . . co 5.2 Consideraoes Finais . . . . . . . . . . . . . . . c 5.3 Objeoes . . . . . . . . . . . . . . . . . . . . . . c 5.3.1 Sistema Usando Interfaces WIMP . . . . 5.3.2 Cenrio No Visto no Mundo Real . . . a a 5.3.3 Estrutura 3D No Editvel . . . . . . . . a a 5.3.4 Reduo de Imerso pela Viso Indireta ca a a 5.4 Trabalhos Futuros . . . . . . . . . . . . . . . . . Referncias Bibliogrcas e a

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

A Interfaces Grcas do Sistema a 99 A.1 Autenticaao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 c

SUMARIO

A.2 Tela Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 A.3 Criao de Novo Projeto . . . . . . . . . . . . . . . . . . . . . . . . . 100 ca B Diagrama Relacional de Banco de Dados 101

Lista de Figuras

1.1 1.2 1.3 1.4

1.5 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14

Ambiente Real e Posto 3D Virtual: (a) ambiente real; (b) ambiente com Posto 3D Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . Modelo comportamental do posto. . . . . . . . . . . . . . . . . . . . Modelo comportamental diretamente no Cenrio 3D. . . . . . . . . a Colaboraao de duas pessoas em diferentes posies: (a) projeto c co visualizado pela pessoa a esquerda; (b) projeto visualizado pela pessoa ` a direita; (c) modelagem e simulaao colaborativa. . . . . . . . . . . ` c Relaao entre as areas abordadas no projeto. . . . . . . . . . . . . . c Sistema de Coordenadas Cartesiano. . . . . . . . . . . . Composiao de vetores. . . . . . . . . . . . . . . . . . . . c Espao de coordenadas representado por eixos unitrios. c a Alteraao do espao de coordenadas. . . . . . . . . . . . c c Transformaao de escala. . . . . . . . . . . . . . . . . . . c Transformaao de rotaao sobre o eixo x. . . . . . . . . . c c Transformaao de rotaao sobre o eixo y. . . . . . . . . . c c Transformaao de rotaao sobre o eixo z. . . . . . . . . . c c Exemplo de Realidade Virtual. . . . . . . . . . . . . . . . Equipamentos de Realidade Virtual. . . . . . . . . . . . . Simulaao de Vo. . . . . . . . . . . . . . . . . . . . . . c o Os 6 Graus de Liberdade. . . . . . . . . . . . . . . . . . Exemplo de HMD. . . . . . . . . . . . . . . . . . . . . . Luva para Realidade Virtual, extra de [4]. . . . . . . . do xi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . .

4 4 5

. . . . . . . . . . . . . . . .

6 8 12 13 14 15 16 17 17 18 19 20 21 22 23 23

xii 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 3.1 3.2 3.3 3.4

LISTA DE FIGURAS

Luva com sensao ttil para o usurio, extra de [26]. . . . . . . . ca a a do Ambiente CAVE, extra de [29]. . . . . . . . . . . . . . . . . . . . . do Projetor Estereoscpico. . . . . . . . . . . . . . . . . . . . . . . . . . o Monitores exibindo em 2D um mundo em 3D. . . . . . . . . . . . . . Efeito paralaxe: (a) olhos em posioes diferentes; (b) imagem c capturada pelo olho esquerdo; (c) imagem capturada pelo olho direito Exemplo de Anaglifo no Projeto: (a) Objeto 3D com as cores; (b) Oculos de visualizao do anaglifo. . . . . . . . . . . . . . . . . . . . ca Classicaao de sistemas de RA: (a) imersivo; (b) no-imersivo. . . . c a Modelo 3C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ilustraao de um modelo composto e sua hierarquia. . . . . . . . . . . c Entidades de M&S e seus relacionamentos. . . . . . . . . . . . . . . . Arquitetura de Fumarola do Sistema de Simulaao e Animao de c ca Modelos de Sistemas de Eventos Discretos [40]. . . . . . . . . . . . Computadores em rede visualizando colaborativamente um projeto em Realidade Aumentada na Web. . . . . . . . . . . . . . . . . . . Estrutura geral do sistema RUBE. . . . . . . . . . . . . . . . . . . . Simulao de trfego com Realidade Aumentada: (a) equipamentos ca a de captura de informaao do mundo real; (b) ve c culo virtual esperando por ve culo real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24 24 25 26 27 28 31 34 38 38

. 42 . 44 . 45

. 46

Estrutura relacionando os recursos utilizados no sistema proposto neste trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Proposta da utilizaao da metfora de manipulaao do cubo de c a c marcadores duciais. . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Marcadores duciais usados no projeto. . . . . . . . . . . . . . . . . 4.4 Funcionamento do RTMFP. . . . . . . . . . . . . . . . . . . . . . . 4.5 Concepao da interface grca da modelagem do sistema cliente. . . c a 4.6 Sequencia de Atividades do Projeto. . . . . . . . . . . . . . . . . . . 4.7 Diagrama de Casos de Uso com Atores do Sistema. . . . . . . . . . 4.8 Classes do pacote Model : (a) classes do pacote Model do banco de dados; (b) classes do pacote Model da comunicaao com servidor. . c 4.9 Classes da camada Controller. . . . . . . . . . . . . . . . . . . . . . 4.10 Classes da camada View. . . . . . . . . . . . . . . . . . . . . . . . .

4.1

. 54 . . . . . . 55 56 57 57 58 60

. 61 . 62 . 62

LISTA DE FIGURAS

xiii

4.11 Diagrama Entidade-Relacionamento de banco de dados. . . . . . . . . 63 4.12 Processo de conexo em modo pull e push: (a) modo pull ; (b) modo a push. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.13 Ilustraao da orientao de um dos mdulos no ambiente: c ca o (a) posicionamento antes da orientao; (b) rotaao relativo ao ca c cenrio; (c) rotaao relativo ao ambiente. . . . . . . . . . . . . . . . . 66 a c 4.14 Orientaao do Cenrio. . . . . . . . . . . . . . . . . . . . . . . . . . . 67 c a 4.15 Funcionamento do Mouse 3D com exibio do seletor . . . . . . . . . 68 ca 4.16 Inserao de um dos mdulos no ambiente (ilustraao): c o c (a) selecionando um componente para inserir; (b) arrastando o marcador para o local; (c) concluindo a inserao. . . . . . . . . . . . . 69 c 4.17 Inserao de um dos mdulos no ambiente: (a) selecionando um c o componente para a insero; (b) arrastando um componente para ca o cenrio; (c) posicionando o componente; (d) concluindo a insero; a ca (e) inserindo mais trs componentes. . . . . . . . . . . . . . . . . . . 70 e 4.18 Detecao de coliso AABB. . . . . . . . . . . . . . . . . . . . . . . . 71 c a 4.19 Ilustraao do processo de conexo de componentes no ambiente: c a (a) selecionando a operaao de conexo; (b) arrastando o marcador c a o para o 1 componente; (c) arrastando o marcador para o 2o componente; (d) concluindo a conexo. . . . . . . . . . . . . . . . . . 72 a 4.20 Conexo entre mdulos: (a) escolhendo a operao de conexo; a o ca a (b) controlando o seletor para conexo; (c) seleao do primeiro a c componente; (d) seleao do segundo componente; (e) resultado da c Conexo; (f) conectando outros componentes. . . . . . . . . . . . . . 73 a 4.21 Ilustraao do processo de remoo de componentes no ambiente: c ca (a) selecionando a operaao de remoao; (b) arrastando o marcador c c para o componente; (c) concluindo a remoo. . . . . . . . . . . . . . 74 ca 4.22 Remoao de um mdulo no sistema: (a) selecionando a operao; c o ca (b) selecionando o mdulo; (c) removendo mdulo e conexes. . . . . 74 o o o 4.23 Processo de mudana de verses do modelo: (a) verso original do c o a modelo; (b) iniciando a verso alternativa; (c) verso alternativa. . . . 76 a a 4.24 Tela do ambiente colaborativo com usurio visualizando ao mesmo a tempo o seu ponto de vista e de outro participante . . . . . . . . . . 77 4.25 Taxa de Quadros da Aplicaao Cliente. . . . . . . . . . . . . . . . . . 79 c

xiv

LISTA DE FIGURAS

4.26 Consumo de Memria da Aplicaao Cliente. . . . . . . . . . . . . . . 80 o c A.1 Interfaces grcas do sistema: (a) criaao de um novo projeto; a c (b) interface grca do login; (c) tela principal do sistema. . . . . . . 100 a B.1 Diagrama relacional de banco de dados. . . . . . . . . . . . . . . . . . 102

Lista de Tabelas

2.1 2.2 2.3 2.4 3.1 4.1

Diferenas entre Realidade Virtual e Aumentada. c Classicaao de Ambientes Colaborativos. . . . . c Especicaao de um modelo atmico DEVS. . . . c o Especicaao de um modelo composto DEVS. . . c

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

30 33 36 37

Tabela comparativa resumindo o estado da arte. . . . . . . . . . . . . 48 Congurao dos computadores. . . . . . . . . . . . . . . . . . . . . . 78 ca

xv

Lista de Algoritmos

1 2

Seleo da Operao na Modelagem. . . . . . . . . . . . . . . . . . . 68 ca ca Deteco de Coliso AABB. . . . . . . . . . . . . . . . . . . . . . . . 71 ca a

xvii

Lista de Acrnimos

esta seo so listadas as abreviaes que ocorrem com ca a co freqncia no decorrer do trabalho. Na tabela, a primeira ue coluna refere-se ao acrnimo. Na segunda coluna, temos a sua denio o ca em ingls ou em portugus. Por m, a terceira coluna contm as e e e pginas do texto na qual o acrnimo aparece, denida pela primeira a o pgina apresentada. a

ALife AABB ABMS AMF CAVE CellDEVS CSCW CVE DES DEVS DOF

Articial Life. 87 Axis-Aligned Bounding Boxes. 71 Agent-Based Modeling and Simulation. 87 Actionscript Message Format. 56 Cave Automatic Virtual Environment. 25 Cellular Based DEVS . 38 Computer Supported Collaborative Work . 33 Collaborative Virtual Environment. 33, 35 Discrete Event System. 2, 3, 7, 8 Discrete Event System Specication. 36, 38, 43, 51, 53, 61, 72 Degrees Of Freedom. 22

xix

xx FPS GOL GPU GSMP HMD IA IHC M&S MAR MVC MXL P2P PDEVS QR RA RTMFP RTMP RV Frames Per Second . 80 Game of Life. 38 Graphical Processing Unit. 80 Generalized Semi-Markovian Process. 2 Head Mounted Display. 25, 30, 31, 43, 8587 Inteligncia Articial. 87 e Interao Humano-Computador. 1 ca Modelagem e Simulao. i, 2, 3, 7, 8, 11, 41, ca 44, 48 Markerless Augmented Reality. 87, 88 Model-View-Controller . 42, 60, 63 Multimodel eXchange Language. 44 Peer-to-Peer . 61, 78 Parallel DEVS . 38 Quick Response. 87, 88 Realidade Aumentada. 2, 7, 11, 15, 2932, 35, 43, 46, 48, 49, 52, 64, 85, 87, 88 Real-Time Media Flow Protocol . 56, 59, 61, 64, 76, 78, 81 Real-Time Media Protocol . 59, 78, 81 Realidade Virtual. 1, 2, 11, 1921, 23, 32, 35, 46, 48, 49, 52 Software Development Kit. 87 Sistema Gerenciador de Banco de Dados. 59 Transmission Control Protocol . 59, 78, 81

Acronyms

SDK SGBD TCP

Acronyms

xxi TI TIC UDP UML VRML WIMP Tecnologia da Informaao. 83 c Tecnologia da Informao e Comunicaao. 83 ca c User Datagram Protocol . 59, 61, 78, 81 Unied Modeling Language. 8, 59 Virtual Reality Modeling Language. 19, 20, 44 Windows, Icons, Menus and Pointers. 1, 27, 85, 86 eXtensible 3D Graphics. 44 eXtensive Markup Language. 20, 44, 45 eXtensible Stylesheet Language Transformation. 44

X3D XML XSLT

Introduo

A interatividade homem-mquina, suportada h 35 anos pelas interfaces Windows, a a Icons, Menus and Pointers (WIMP) [1], vem apresentando novos padres de o comunicao para que as informaoes sejam passadas de forma mais confortvel e ca c a rpida poss a vel. Porm, ferramentas WIMP tradicionais podem no ser adequadas e a para todos os pers de pessoas. Devido a natureza tridimensional do mundo em que vivemos, a representao ` ca bidimensional da informaao pode no retratar elmente os elementos a serem c a observados. Tecnologias ps-WIMP [1] podem ajudar o usurio na interaao com o a c sistemas computacionais, fazendo com que eles compreendam melhor as informaes co atravs de representaao tridimensional. Servem assim como motivao para e c ca pesquisas na rea de Interao Humano-Computador (IHC) [2], constituintes de a ca tecnologias ps-WIMP. o Uma das tecnologias que tem ajudado na interaao entre pessoas e visualizaao c c de sistemas denominada ambiente virtual, composta pela Realidade Virtual (RV) e 1

CAP ITULO 1. INTRODUCAO

e pela Realidade Aumentada (RA). A RV integra o usurio em um mundo virtual a gerado por computador [3]. A RA incorpora objetos virtuais no mundo real [3]. De acordo com [4], o desenvolvimento da realidade virtual e aumentada permitiu que a representaao interativa e imersiva do imaginrio fosse mais fcil de ser obtida. c a a Muitas aplicaoes, como as que do apoio ao tratamento de fobias [5], simulaao c a c de exames cirrgicos [6] e de tcnicas de extrao de petrleo [7] podem ser u e ca o beneciadas com o uso da RV. Outras aplicaes, como as que do suporte a melhoria co a ` de atividades com crianas portadoras de necessidades especiais [8], e aplicaoes que c c incluem manipulaao de um motor virtual usando as prprias mos esto sendo c o a a realizados com tcnicas de realidade aumentada. Por exemplo, pode-se obter um e raio-x em uma pessoa e em tempo real projetar o esqueleto humano, impresso no raio-x, diretamente na pessoa [9]. Com o aumento da largura de banda de conexo e da capacidade de a processamento dos computadores, a RA est tornando-se mais acess a vel para os usurios de computadores pessoais. Os sistemas tambms esto se tornando mais a e a complexos. A crescente complexidade de sistemas computacionais requer tcnicas para todas e as etapas de desenvolvimento, desde o planejamento at a entrega nal do produto. e` Estas etapas incluem a Modelagem e Simulao de Sistemas (M&S), que permite ca estudar sistemas reais de uma forma abstrata e simplicada, sem a necessidade de sua alterao, e dessa forma, auxilia a responder perguntas do tipo O que ca aconteceria se existisse um ou vrios cenrios?. a a Um modelo uma representao de um sistema, seja real ou imaginrio; e ca a e desenvolvido de forma a reproduzir o sistema desejado. Por sua vez, um sistema um conjunto de componentes com a funao de atingir um ou mais objetivos [10]. e c A simulaao a execuao do modelo com parmetros escolhidos para analisar um c e c a cenrio espec a co. Existem tcnicas formais para modelagem de sistemas, como por exemplo e [11]: Cadeias de Markov, Processo Semi-Markoviano Generalizado ou Generalized Semi-Markovian Process (GSMP), Mquina de Estados Finitos, Redes de Petri, a Redes de Filas, Autmatos (Finitos Determin o sticos e No-Determin a sticos) e Linguagem Formal de Clculo de Sistemas de Comunicao. a ca A modelagem de Sistemas de Eventos Discretos, ou Discrete Event System (DES) focada em sistemas que recebem eventos e alteram seus estados, alm de ser e e

1.1. CARACTERIZACAO DO PROBLEMA

baseada nas tcnicas supracitadas. Alguns sistemas, como por exemplo jogos, linhas e de produo e sistemas de las, so sistemas de eventos discretos. ca a Os sistemas DES, abordados neste trabalho, so dinmicos, pois os estados so a a a alterados no decorrer do tempo. Tambm so estocsticos, pois os estados no e a a a modelam incertezas. Por ultimo, so discretos, pois o conjunto de estados assume a uma quantidade nita [12, pp. 45-46]. Vrias so as ferramentas de M&S para DES utilizadas [13]: Arena [14], a a Simscript [15], AnyLogic [16], Simlox [17], etc. Elas ainda so decientes quanto ` a a representao de uma forma mais el da realidade ou do imaginrio sendo projetado ca a como, por exemplo, na visualizaao do modelo e na sua comparaao com o sistema c c real.

1.1 Caracterizao do Problema ca


Para se criar um modelo em um software para simulaao, o usurio analisa um c a sistema, seja real ou imaginrio, para depois realizar a modelagem. Nessa transiao, a c o usurio perde o foco, podendo transcrever de forma no adequada as informaoes a a c necessrias do sistema estudado para o modelo projetado. Se a visualizao da a ca realidade e a criaao do modelo fossem integrados, os modelos gerados poderiam, c mais facilmente, ser eis aos modelos reais e aos cenrios desejados. O grau de a imerso dessa interao pode ser melhor transcrito caso o usurio inicie a modelagem a ca a justamente no momento em que se v o mundo real. e Para ilustrar esta anlise, um estudo de caso ao longo do trabalho desenvolvido, a e e envolve a modelagem comportamental do uxo de ve culos de um posto de gasolina. Ao invs de ir ao local real de um posto de gasolina, ser mostrado um cenrio 3D e a a representando o posto. A Figura 1.1a mostra o ambiente real no qual ser mostrado a o posto virtual. O ambiente mostra um local para exibir o posto 3D num determinado ngulo e a poder analisar sua estrutura de forma a iniciar a modelagem. O posto virtual no ambiente pode ser visto na Figura 1.1b. A partir da anlise do sistema, cria-se um modelo descrevendo sua dinmica. a a Como exemplo, usando o software de modelagem e simulaao Arena, o resultado da c modelagem, visto na Figura 1.2, pode ser ento executado para iniciar a simulaao a c do sistema.

CAP ITULO 1. INTRODUCAO

(a)

(b)

Figura 1.1: Ambiente Real e Posto 3D Virtual: (a) ambiente real; (b) ambiente com Posto 3D Virtual.

Figura 1.2: Modelo comportamental do posto.

Para um melhor entendimento do modelo mostrado, a entrada dos ve culos no posto simbolizado pelo componente gerador E1. Aps a entrada, os ve e o culos decidem se continuam em frente para encher o tanque de combust vel, representado pelos componentes de processamento C1 e C2, ou se fazem a curva. Essa deciso a representada pelo componente roteador D1. Os ve e culos que desviaram ainda podem tomar a deciso de encher o tanque, representados pelos componentes de a processamento C3 e C4, ou se saem do sistema pelo componente de sa S1. Os da ve culos que usaram os tanques saem pelo local representado pelo componente S2. Dado o problema, a soluao proposta neste trabalho se encaixa no estudo de c caso ilustrado na Figura 1.3, uma modicaao da Figura 1.1b com a adiao do c c modelo de simulaao em 3D. O modelador pode criar a dinmica do uxo de ve c a culos diretamente no cenrio em estudo. O resultado uma melhor visualizao do modelo a e ca dinmico para sua simulaao. a c

1.1. CARACTERIZACAO DO PROBLEMA

Figura 1.3: Modelo comportamental diretamente no Cenrio 3D. a

Pode-se pensar em simulaes denidas de forma colaborativa, considerando co que sistemas de alta complexidade para a modelagem so geralmente discutidas a e montadas por equipes de prossionais, que podem ter objetivos em comum ou diferentes pontos de vista sobre um mesmo sistema. Esse n vel de colaborao ca pode ser importante para o modelo garantir sua validade com o mundo real. A Figura 1.4 exibe uma nova verso do exemplo do posto, contemplando sua denio a ca de forma colaborativa, e possivelmente desenvolvido simultaneamente atravs de e dois participantes em posies diferentes do projeto. Sobre esses modelos, podem-se co fazer estudos da simulao do uxo de ve ca culos. Com a demanda por sistemas mais complexos, a necessidade de melhores modelos e simulaoes leva a alguns questionamentos acerca dos assuntos supracitados: c 1. A realidade aumentada pode beneciar a interao entre o homem e a ca mquina em um modelo de simulaao? a c 2. Como um modelo pode ser mais facilmente desenvolvido com metforas de a manipulaao usadas naturalmente pelos seres humanos? c 3. Qual o grau de benef na aplicao de mdulos de colaborao para tal cio ca o ca desenvolvimento? 4. Como um sistema com essa natureza pode ter alta disponibilidade e que

CAP ITULO 1. INTRODUCAO

(a)

(b)

(c) Figura 1.4: Colabora~o de duas pessoas em diferentes posi~es: ca co (a) projeto visualizado pela pessoa ` esquerda; (b) projeto a visualizado pela pessoa ` direita; (c) modelagem e simula~o a ca colaborativa.

1.2. OBJETIVOS

tcnicas de tolerncia a falhas podem ser desenvolvidas no contexto deste e a ambiente, de forma a assegurar a conabilidade?

1.2 Objetivos
Os objetivos so divididos em objetivo geral e espec a cos, descritos atravs de metas. e

1.2.1

Objetivo Geral

O objetivo geral do trabalho propor um sistema que fornea aos usurios a e c a funcionalidade de criar modelos de simulaao de forma colaborativa e imersiva, c utilizando tcnicas de realidade aumentada e de controle de verso. e a Considerando os avanos na area de ambientes virtuais, neste projeto tem-se c como objetivo explorar a integrao dos mesmos na area de M&S, proporcionando ca uma representao mais dedigna da realidade, atendendo assim ` necessidade de ca a ambientes mais sosticados.

1.2.2

Objetivos Espec cos

De forma a cumprir com o objetivo geral, foram necessrios os estabelecimentos de a objetivos intermedirios, denominados espec a cos, de modo a organizar as metas e facilitar a compreenso da evoluao do projeto durante o seu desenvolvimento: a c Reunir informaes para compreenso dos fundamentos e do estado-da-arte co a das reas envolvidas no projeto; a Propor uma interface para melhoria na visualizaao e interaao dos modelos c c de simulaao utilizando realidade aumentada; c Descrever e demonstrar tcnicas de controle de verses no processo de e o modelagem; Explorar recursos de redes de computadores e propor um ambiente virtual colaborativo no sistema; Sugerir futuros trabalhos baseados na proposta. Para se atingir cada objetivo espec co, foram estabelecidas as metas descritas a seguir, visando facilitar o desenvolvimento do projeto e evoluao de um sistema c para a M&S, o qual demonstra o poder da RA como uma nova forma de interaao c

CAP ITULO 1. INTRODUCAO

com o usurio desenvolvedor, e ao mesmo tempo contemple a criaao de projetos de a c forma colaborativa: Meta 1: Planejamento e concepao do sistema que contribua na area de M&S c de DES; Meta 2: Desenvolvimento da interface o qual exibe o ambiente tridimensional para criaao de modelos de simulao em realidade aumentada; c ca Meta 3: Inserao de recursos de tolerncia a falhas para elevar o potencial c a do produto em situaoes cr c ticas; Meta 4: Desenvolvimento de funcionalidades para a modelagem colaborativa de sistemas; Meta 5: Testes e geraao de resultados para validaao da proposta. c c

1.2.3

Estratgia Adotada e

Para alcanar o objetivo proposto, foi montada uma estratgia de integraao de c e c areas distintas do conhecimento: a modelagem e simulaao de sistemas de eventos c discretos, realidade aumentada, ambientes colaborativos e tolerncia a falhas. a O mapa mental da Figura 1.5 mostra a relao entre as reas usadas no trabalho, ca a de forma a denir o escopo necessrio para o projeto. a

Figura 1.5: Rela~o entre as reas abordadas no projeto. ca a

O foco do trabalho foi denido na area de M&S de DES. Os elementos bsicos a para a criaao dos modelos foram denidos a partir de um subconjunto de elementos c bsicos do ambiente de simulaao Arena; esse subconjunto de componentes foi a c escolhido como prova de demonstraao dos objetivos. Apesar dos elementos c

1.3. ESTRUTURA DO DOCUMENTO

constru dos serem voltados para a modelagem da simulaao, a dinmica da simulaao c a c no foi contemplada (pois aumentaria consideravelmente o escopo do trabalho). a A contribuio maior est na adiao de recursos de Realidade Aumentada (com ca a c marcadores duciais) e Tolerncia a Falhas (realizando o checkpointing com a tcnica a e Audit Trails [18]). Marcadores duciais so padres a o Com relao ao sistema, foi feito inicialmente um planejamento, que contemplou ca entre outras atividades a deniao do escopo, o levantamento de requisitos, c modelagem do banco e construao de diagramas Unied Modeling Language (UML). c A seguir foi feita a concepo do sistema, que constou de uma primeira proposta ca que depois sofreu simplicaoes com relaoes ao rastreamento do marcador, gerando c c assim a concepo denitiva. Por m, foi feito o desenvolvimento do sistema e a ca realizaao de testes. c

1.3 Estrutura do Documento


O Cap tulo 2 esclarece os conceitos necessrios para a compreenso dos cap a a tulos subsequentes. O Cap tulo 3 detalha um estudo de diversos trabalhos sendo feitos atualmente e as compara com o trabalho proposto.O Cap tulo 4 compreende todo o planejamento e construo do sistema, com imagens exemplicando o uso de ca diferentes componentes do mesmo. Anlises e problemas encontrados tambm so a e a descritos. O Cap tulo 5 conclui o trabalho com o sumrio de benef a cios gerados em consequncia com os resultados do projeto, bem como problemas encontrados e e respostas a objeoes sobre o projeto proposto. c

10

CAP ITULO 1. INTRODUCAO

Fundamentos Tericos

Antes de explicar o conceito de RV e RA, conceitos bsicos de matemtica 3D a a so importantes a serem explanados. Isto feito na Seao 2.1. Fundamentos de a e c Realidade Virtual, na Seo 2.2, e Realidade Aumentada, na Seao 2.3, so descritos ca c a detalhadamente. Como o ambiente proposto colaborativo, sistemas colaborativos e so descritos na Seao 2.4. Essas tecnologias so reunidas para ajudar usurios na a c a a aplicaao de M&S, cujos elementos so denidos na Seao 2.5. c a c Nas prximas seoes sero detalhados os conceitos usados no trabalho proposto. o c a

2.1 Matemtica Tridimensional a


Em um mundo tridimensional, elementos virtuais so movidos, rotacionados e a redimensionados atravs de operaoes geomtricas. A matemtica 3D relacionada e c e a e a rea da Geometria Computacional, que lida com a resoluao de problemas que ` a c podem ser resolvidos por algoritmos de natureza geomtrica. e 11

12

CAP ITULO 2. FUNDAMENTOS TEORICOS

Para saber como estas operaes so realizadas nos objetos 3D, necessrio co a e a conhecer a representaao destes elementos em um formato matemtico. Estes c a conceitos matemticos podem ser encontrados em [19]. a Um objeto 3D modelado em um conjunto de pontos, denominados vrtices, e e conectados em arestas, cujo ciclo dene faces. Estes pontos so localizados em a um sistema de coordenadas escolhido para uma determinada aplicao. H vrios ca a a sistemas dispon veis, como os sistemas cartesiano, polar e esfrico. H mtodos de e a e converso entre eles. Para este trabalho, ser usado o sistema cartesiano. a a

8 3 5

Figura 2.1: Sistema de Coordenadas Cartesiano.

Pontos so localizados por um conjunto de nmeros denotando as distncias a a u a ` origem dos eixos. Na Figura 2.1, o ponto p est localizado em (2, 3, 5), ou seja, 2 a unidades no eixo x, 3 unidades no eixo y e 5 unidades no eixo z. A quantidade de valores na tupla igual a quantide de eixos no sistema. e ` Vetores so segmentos de linha com magnitude (seu comprimento) e direao a c (sua orientaao). Vetores no possuem localizaao, pois numa viso geomtrica, c a c a e especicam deslocamentos. Eles podem ser compostos formando uma sequncia de e deslocamentos, como na Figura 2.2. Na convenao, a um vetor, enquanto a um c e e ponto. Embora semanticamente tenham signicados diferentes, as informaoes para c

2.1. MATEMATICA TRIDIMENSIONAL

13

suas representaoes so similares. c a

Figura 2.2: Composi~o de vetores. ca

Operaoes com vetores envolvem multiplicao por um escalar, adiao, c ca c subtraao, normalizaao, clculo do seu comprimento, produto interno (produto c c a escalar), produto externo (produto vetorial) e projeao de um vetor sobre outro. c Essas operaes podem ser vistas em [19]. co

2.1.1

Matrizes

O conjunto de vetores formam matrizes, elementos essenciais para as transformaes co geomtricas. Uma matriz tem o seguinte aspecto: e m11 m12 m13 M = m21 m22 m23 , (2.1) m31 m32 m33 na qual mlc um elemento da matriz onde l e c so respectivamente a linha e a e a coluna do seu posicionamento na matriz. Operaoes com matrizes envolvem transposiao, multiplicaao de uma matriz c c c por uma escalar, multiplicao de duas matrizes e produto entre vetor e matriz. As ca duas ultimas operaes citadas so importantes para a compreenso das translaoes co a a c e rotaoes do elemento virtual pelas tcnicas de realidade aumentada. c e

14

CAP ITULO 2. FUNDAMENTOS TEORICOS

Um vetor v pode ser decomposto da seguinte maneira: v1 1 0 0 v = v2 = v1 0 + v2 1 + v3 0 = vM. v3 0 0 1

(2.2)

Os vetores unitrios so basicamente os eixos x, y e z do sistema de coordenadas a a cartesiano. A Figura 2.3 ilustra esses componentes.
y z

my mz

x mx

Figura 2.3: Espao de coordenadas representado por eixos unitrios. c a

Caso os valores de quaisquer eixos sejam alteradas, altera-se o espao de c coordenadas, mudando tambm a localizao do vetor em estudo. A Figura 2.4 e ca mostra este processo. A nova localizaao pode ser obtida semelhante a c ` Equaao (2.2). c A nova matriz converte um ponto para uma nova localizaao. Este mtodo c e e uma transformaao geomtrica. Denindo a matriz, dene-se uma transformao. c e ca As transformaoes usadas no trabalho so a translaao, escala e rotaao. c a c c T mx vx mxx mxy mxz vx vx T M v = my vy = myx myy myz vy = vy . vz mzx mzy mzz vz vz mzT

(2.3)

Na Figura 2.4, a matriz composta pelos eixos unitrios alterada reetindo a a e rotaao dos eixos x e y sobre o eixo z. Assim, qualquer ponto cuja coordenada tenha c

2.1. MATEMATICA TRIDIMENSIONAL

15

y z

my

my

mz = mz mx x mx

Figura 2.4: Altera~o do espao de coordenadas. ca c

o valor do vetor v e que seja transformada pelo vetor M da Equaao (2.3), ter o c a T a c valor [vx , vy , vz ] , que nesse exemplo so valores do ponto seguindo a mesma rotaao da matriz de transformao. ca

2.1.2

Transformaes co

As seguintes operaoes so importantes para a compreenso da manipulao de c a a ca objetivos virtuais pela RA, e como a modelagem realizada. e 2.1.2.1 Escala

Para redimensionar objetos, pode-se usar uma matriz de transformaao de escala. c A matriz tem o formato descrito na Equaao (2.4). c kx 0 0 M = 0 ky 0 . 0 0 kz

(2.4)

Um ponto p = (px , py , pz ) ser transformado em p = (px kx , py ky , pz kz ). Por a exemplo, se kx = ky = kz = 2, o objeto virtual ter o tamanho duplicado em todos a os eixos.

16

CAP ITULO 2. FUNDAMENTOS TEORICOS

y z

y z

my

my

mz

mz

x mx mx

Figura 2.5: Transforma~o de escala. ca

Na Figura 2.5, todos os pontos esto sendo transformados por uma matriz de a escala com ky = 2 e mantendo kx = kz = 1, duplicando apenas a altura do objeto.

2.1.2.2

Rotao ca

Em 2D, apenas uma expresso de rotaao necessria, pois rotaciona-se no eixo a c e a imaginrio saindo do plano 2D. a Em 3D, so denidos 3 expresses de rotaao nos eixos. A rotaao sobre o eixo a o c c x pode ser visto na Equao (2.5). ca 1 0 0 Rx = 0 cos sen . 0 sen cos

(2.5)

A Figura 2.6 mostra a rotaao sobre o eixo x. A rotaao sobre o eixo y pode ser c c visto na Equao (2.6). ca cos 0 sen Ry = 0 1 0 . sen 0 cos

(2.6)

A Figura 2.7 mostra a rotao sobre o eixo y. A rotao sobre o eixo z pode ser ca ca visto na Equao (2.7) ca

2.1. MATEMATICA TRIDIMENSIONAL

17

y z

y z

my

mz my x mx

mz x mx

Figura 2.6: Transforma~o de rota~o sobre o eixo x. ca ca


y z y z

my

my mz

mz

x mx

mx

Figura 2.7: Transforma~o de rota~o sobre o eixo y. ca ca

cos sen 0 Rz = sen cos 0 . 0 0 1

(2.7)

A Figura 2.8 mostra a rotaao sobre o eixo z. Projetando o espao sobre o plano c c xy, essa rotao semelhante a rotao em 2D. ca e ` ca 2.1.2.3 Translao ca

A translao no uma operaao linear. No h matriz de tamanho 3 3 ca a e c a a que, multiplicando diretamente, desloque um ponto no espao 3D. Para obter c a translao, necessrio inserir tais valores de deslocamento em uma coluna e ca e a linha adicionais, para somar-se as coordenadas do ponto. Essas coordenadas so ` a

18
y z y

CAP ITULO 2. FUNDAMENTOS TEORICOS

my

mz

my x mz mx x

mx

Figura 2.8: Transforma~o de rota~o sobre o eixo z. ca ca

denominadas homogneas. A matriz ter tamanho 4 4, visto na Equaao (2.8). e a c 1 0 Tv = 0 0 0 1 0 0 0 0 1 0 vx + tx vx tx ty vy vy + ty . = vz vz + tz tz 1 1 1

(2.8)

2.2 Realidade Virtual


A RV uma tecnologia que permite ao usurio interao em um ambiente virtual e a ca gerado por computador. Um dos exemplos so os simuladores de voos, em que a uma pessoa pilota uma aeronave de uma forma virtual. A RV pode ser vista como a imerso do usurio em um mundo virtual utilizando equipamentos de interao a a ca como capacetes e luvas, de forma que o mundo virtual receba aoes dos usurios e c a responda a estes est mulos, como na Figura 2.9 Quando o usurio termina de realizar a imerso no sistema de realidade virtual, a a o usurio sofre uma brusca transiao visual, ao passar do mundo virtual para o real. a c Por outro lado, a realidade aumentada, descrita na Seo 2.3, faz com que o usurio ca a perceba essa mudana de uma forma bastante suavizada. c Para possibilitar a unio e a comunicaao entre empresas, e tambm usurios de a c e a RV, pela web, a Web3D Consortium formalizou uma srie de regulamentaes para o e co desenvolvimento de padres de RV. Dessa forma surgiu a Linguagem de Modelagem o de Realidade Virtual, Virtual Reality Modeling Language (VRML) [20], que tem passado por revises e apresenta diversas verses. E uma linguagem interpretada, a o o

2.2. REALIDADE VIRTUAL

19

Figura 2.9: Exemplo de Realidade Virtual.

qual pode ser criada ou editada, em qualquer editor de texto. Para a visualizaao de objetos VRML no navegador, necessrio um plugin c e a que servir como um viewer, ou seja, um visualizador de objetos tridimensionais a a partir do arquivo em VRML. Internamente, o VRML pode ser manipulado usando linguagens de script (como o Javascript) para uma melhor interaao inserindo e c removendo objetos em tempo real. O VRML passou pelas verses 1.1 e 2.0, esta ultima conhecida como VRML97. o H tambm a verso 3.0 que, devido a sua importncia e abrangncia, tornou-se a e a a e um projeto especial, inclusive com um nome espec co. A linguagem recebeu a denominaao X3D [21]. Houve grandes modicaoes, como o suporte ao eXtensive c c Markup Language (XML), ampliando consideravelmente a integrao com sistemas ca de diferentes tecnologias e propsitos. Alm do suporte XML, h o suporte ` sintaxe o e a a VRML por retrocompatibilidade e a opao de se obter o arquivo binrio (com a c a extenso x3db), embora este ainda esteja em desenvolvimento. a Outras tecnologias esto sendo desenvolvidas para dar suporte ` realidade virtual a a como Papervision3D [22], Java3D [23], Ogre [24], e outros. Algumas so utilizadas a na Web por um navegador, outras so aplicadas em sistemas standalone para a distribuiao, instalaao e uso. c c Com a RV, o usurio pode realizar navegaao pelo mundo virtual usando mouse a c e teclado, ou pode usar equipamentos no tradicionais, como capacetes e luvas de a forma a realizar as aes necessrias. O usurio tambm pode realizar aoes que co a a e c atualmente no poderiam ser feitas no mundo real, como voar ou teletransportar. a

20

CAP ITULO 2. FUNDAMENTOS TEORICOS

2.2.1

Denio de Realidade Virtual ca

Vrias podem ser as denioes acerca deste conceito. Uma delas, mostrada em [25] a c prope que: o Realidade virtual uma interface avanada para aplicaoes e c c computacionais, que permite ao usurio navegar e interagir, em tempo a real, com um ambiente tridimensional gerado por computador, usando dispositivos multissensoriais. RV uma interface, pois o meio de comunicaao entre o ser humano e a e e c mquina. Pode ser utilizada em qualquer aplicaao executvel por um sistema a c a computacional. O ambiente da realidade virtual normalmente tridimensional, e para simular com delidade o mundo real, embora nada impea que elementos 2D, c como menus e botes, possam ser expostos no ambiente. o Os dispositivos multissensoriais, citados na descrio, so equipamentos que ca a o usurio pode utilizar para interaao e imerso no ambiente virtual. O termo a c a multissensorial relaciona-se com a possibilidade de trabalho com os diversos sentidos, como a audio e a viso. Quanto mais sentidos o sistema utilizar, mais real ca a stico ser o ambiente virtual. A Figura 2.10 mostra um exemplo do uso dos dispositivos. a

Figura 2.10: Equipamentos de Realidade Virtual.

Interaao em RV signica realizar aoes no ambiente e receber feedback sobre c c as consequncias dessas aoes. Imerso em RV signica estar dentro do ambiente e c a

2.2. REALIDADE VIRTUAL

21

virtual. Os sistemas podem utilizar dispositivos como displays estereoscpicos, som o 3D e dispositivos hpticos [26] para aumentar o grau de imerso e realismo do a a sistema. Atualmente, o termo preferencial utilizado pelos pesquisadores o de Ambiente e Virtual, mais genrico, que pode abranger tanto realidade virtual como realidade e aumentada.

2.2.2

Motivao do Uso da RV ca

A necessidade do ser humano em querer ver apenas o que lhe desejado, associada e com a evoluao do hardware, tem proporcionado um crescimento para a tecnologia c de realidade virtual, cujo impacto ser sentido no modo de vida das pessoas. a Muitas vezes o imaginrio no bem representado apenas por interfaces de at a a e e duas dimenses, como textos e imagens. A realidade virtual pretende facilitar, desse o modo, os comandos do usurio. a Ao invs de acionar comandos atravs de interfaces como botes e menus, as e e o pessoas podem executar tais comandos diretamente sobre os objetos tridimensionais, como por exemplo, abrir porta, dirigir e voar em um avio, como na Figura a Figura 2.11.

Figura 2.11: Simula~o de V^o. ca o

22

CAP ITULO 2. FUNDAMENTOS TEORICOS

Em um ambiente virtual, o usurio pode estender ou contrair o tempo, pode a visualizar galxias ou simples tomos, instantaneamente deslocar-se em diferentes a a lugares, ou fazer anlises de fenmenos f a o sicos dif ceis de serem vistos e observados no mundo real [4].

2.2.3

Equipamentos

Os projetistas dos sistemas de realidade virtual podem utilizar equipamentos para que permitam aos usurios imergirem e interagirem nos mundos virtuais projetados. a Deve-se ter cautela no projeto para no colocar muitos equipamentos no corpo do a usurio de modo a no sofrer perda de liberdade no movimento do corpo. a a Cada equipamento pode ser categorizado pelo nmero de graus de liberdade u Degrees Of Freedom (DOF), ou seja, pelo nmero de translaoes e rotaoes que u c c podem ser realizados em um objeto tridimensional. A Figura 2.12 ilustra os 6 graus de liberdade em um ambiente tridimensional.
y Translao nos eixos Rotao nos eixos

Figura 2.12: Os 6 Graus de Liberdade.

Alguns equipamentos so usados DOF nas mos, enquanto outros podem ser a a usados na cabea para captar a orientao do usurio e realizar a transformao c ca a ca necessria do mundo virtual, porm outras partes do corpo de forma a deixarem a a e cabea e as mos livres. c a Apenas so citados alguns equipamentos j bastante conhecidos, uma vez que a a a quantidade de itens de entrada/sa que servem para um sistema de RV da e de dif mensuraao. Em [27], o leitor pode ter acesso a alguns equipamentos cil c no-convencionais de RV. a

2.2. REALIDADE VIRTUAL

23

2.2.3.1

Head-Mounted Display

Este tipo de equipamento mostrado na Figura 2.13 acomodado na cabea de forma e c a cobrir os olhos. Fones tambm podem ser disponibilizados de modo a prover sons e alm de imagens ao sistema. Os Head Mounted Displays (HMDs) tambm podem e e ser estereoscpicos, um recurso bastante usado em cinemas 3D. o

Figura 2.13: Exemplo de HMD.

Este tipo de equipamento captura a orientao e o posicionamento da cabea ca c de forma a alterar o angulo de visualizaao, como se o usurio estivesse realmente c a imerso no ambiente [28].

2.2.3.2

Luvas

Equipamentos que se adaptam aos movimentos minuciosos dos dedos e da mo, a capturando a orientaao, posiao, distncia entre os dedos. A aplicao pode usar c c a ca estes parmetros para denir aes no mundo virtual. A Figura 2.14 mostra um a co exemplo de luva utilizada em um ambiente computacional.

Figura 2.14: Luva para Realidade Virtual, extrado de [4].

24

CAP ITULO 2. FUNDAMENTOS TEORICOS

Alguns sistemas permitem que o usurio execute comandos atravs de gestos. a e Outros sistemas podem, por exemplo, obter o movimento da mo e realizar o mesmo a movimento em um objeto 3D, como se o estivesse segurando. As luvas podem ter suporte a recursos hpticos, os quais simulam a fora de a c reaao do objeto, quando da realizaao do toque, atravs de presso exercida na c c e a mo do usurio, conforme mostrado na Figura 2.15 [26]. a a

Figura 2.15: Luva com sensa~o ttil para o usurio, extrado de [26]. ca a a

Vrios outros tipos de luvas e equipamentos a serem colocados nas mos a a adicionam funcionalidades na navegao do usurio no mundo virtual. Mais detalhes ca a podem ser obtidos em [26]. 2.2.3.3 Ambientes CAVE

Outro ambiente, denominado Cave Automatic Virtual Environment (CAVE), consiste de uma pequena sala, parcialmente ou totalmente fechada, cujas paredes so telas projetoras para o ambiente tridimensional. O usurio transferido do a a e mundo real para o mundo virtual mostrado no CAVE. Um exemplo mostrado na e Figura 2.16.

Figura 2.16: Ambiente CAVE, extrado de [29].

Neste ambiente, o usurio tambm pode, normalmente, usar culos ou HMD para a e o realar o realismo do ambiente gerado no CAVE, ou ainda adicionar estereoscopia. c

2.2. REALIDADE VIRTUAL

25

2.2.3.4

Projetor Estereoscpico o

Equipamento responsvel por projetar duas imagens com m a nimas diferenas de c angulo e posiao, e realizar a imagem estereoscpica [30]. Pode-se ver um exemplo c o na Figura 2.17.

Figura 2.17: Projetor Estereoscpico. o

Os olhos de uma pessoa captam imagens diferentes e o crebro processa-os dando e a sensaao de trs dimenses do ambiente capturado. Esta capacidade chamada c e o e de estereoscopia. A Seao 2.2.4 descreve em detalhes esta capacidade e demonstra c uma tcnica de estereoscopia bastante usada, o anaglifo. e 2.2.3.5 Monitor

Uma tela de computador tambm pode servir para exibir ambientes tridimensionais. e O monitor de fcil acesso e de baixo custo para o usurio, embora o grau de realismo e a a no seja alto, como na Figura 2.18. Para aumentar o realismo, o ambiente virtual a pode ser visto de forma estereoscpica, com a tcnica do anaglifo. o e Monitores hologrcos esto sendo desenvolvidos para poder adicionar sensao a a ca de profundidade e realismo tridimensional ` medida que o usurio caminha em volta a a da tela.

26

CAP ITULO 2. FUNDAMENTOS TEORICOS

Figura 2.18: Monitores exibindo em 2D um mundo em 3D.

2.2.4

Estereoscopia

A palavra estereoscopia vem do grego, que signica viso slida. Ela dene que a o qualquer ser vivo que contenha os olhos em posioes cujas orientaoes possam ser c c cruzadas possa ter nooes de profundidade de qualquer objeto no campo de viso. c a Cada olho capta uma imagem um pouco diferente da imagem do outro. O crebro e combina as imagens, recebe o grau de convergncia dos pontos de vista dos olhos e e processa a informaao de tridimensionalidade dos elementos. c A estereoscopia bastante usada nas tecnologias de audio. O usurio tem a e a sensaao de imerso no ambiente onde originou o som, percebendo a distncia do c a a objeto que gerou o som, a posio, e outras caracter ca sticas. Um sistema estereoscpico utiliza o efeito da paralaxe para reproduzir a o profundidade. Paralaxe a distncia do mesmo objeto nas imagens captadas em e a posioes diferentes, cuja exemplicaao encontrada na Figura 2.19. c c e Vrias tcnicas tm sido criadas para reproduzir computacionalmente o efeito a e e estereoscpico, como por exemplo [30]: o efeito por disparidade cromtica (ChromaDepth), que consiste na codicaao a c da profundidade dos objetos atravs de cores; e display autoestereoscpico, removendo a necessidade de culos especiais; o o

2.2. REALIDADE VIRTUAL

27

(a)

(b)

(c)

Figura 2.19: Efeito paralaxe: (a) olhos em posi~es diferentes; (b) co imagem capturada pelo olho esquerdo; (c) imagem capturada pelo olho direito

efeito Pulfrich, que descreve o atraso na percepao da luz quando a intensidade c baixa, podendo ser usada para diferenciar as imagens em cada olho e provocar e a noao de profundidade. c Outra tcnica conhecida, e a mais barata, o anaglifo, que exibe a profundidade e e usando cores complementares, geralmente vermelho e ciano. Cada olho utiliza um ltro de uma das cores, captando apenas uma imagem e o crebro processa e o resultado, dando uma sensaao de tridimensionalidade do objeto. c A Figura 2.20a mostra o anaglifo usado no prottipo do trabalho de Tavares [31], o autor desta dissertaao. O usurio utiliza oculos contendo os dois ltros, como na c a Figura 2.20b. Uma desvantagem do anaglifo a diculdade do seu uso por pessoas daltnicas, e o devido ao uso das cores para simular a profundidade.

28

CAP ITULO 2. FUNDAMENTOS TEORICOS

(a)

(b)

Figura 2.20: Exemplo de Anaglifo no Projeto: (a) Objeto 3D com as cores; (b) culos de visualiza~o do anaglifo. O ca

2.2.5

Diculdades Gerais da Realidade Virtual

Um problema no desenvolvimento de um ambiente virtual o custo em relao a um e ca ambiente WIMP, apenas com menus e botes. Outra diculdade acontece devido a o no representaao direta de informaoes abstratas em um ambiente tridimensional, a c c devendo o desenvolvedor criar metforas de manipulaao bem planejadas para tal a c aspecto. Uma metfora de manipulaao [32] a execuao de uma aao no mundo virtual a c e c c a partir de outra ao no mundo real. Como exemplo, uma metfora pode ser o ca a cruzamento de dedos pelo usurio de forma a sinalizar a remoo de um objeto a ca virtual no ambiente. Caso a representao do usurio no ambiente sofra coliso com um objeto ca a a tridimensional, o usurio no mundo real no tem a sensao ttil deste toque. a a ca a Nesse caso, usam-se equipamentos hpticos para dar o senso de fora de reaao do a c c objeto tridimensional ao usurio [32]. a Segundo Norman [33], o conhecimento da manipulaao de um objeto est no c a prprio objeto. Dessa forma, a pessoa percebe que um boto s pode ser pressionado o a o e que um controle de volume s pode ser girado [32]. Esta caracter o stica no pode ser a aplicada a objetos virtuais, que demandam manipulaoes previamente desenvolvidas c pelos programadores. Por ultimo, um ambiente virtual no consegue captar todas as caracter a sticas do mundo real, fazendo com que o usurio siga regras r a gidas pouco comuns no mundo real [32]. Como exemplo, em um simulador de voo, o usurio pode no sentir o avio a a a em estado stall, em que o avio perde a sustentao e cai puxado pela gravidade. a ca

2.3. REALIDADE AUMENTADA

29

2.3 Realidade Aumentada


Nos ultimos tempos, a realidade aumentada vem ganhando destaque no mercado, embora ainda no tenha chegado a maturidade esperada. a ` RA o enriquecimento de elementos virtuais (no necessariamente e a tridimensionais) a um ambiente f sico. Normalmente utilizado um padro de e a desenho capturado por uma cmera, e o objeto virtual projetado sobre este padro, a e a sendo exibido em um display de sa da, como o HMD ou monitor.

2.3.1

Denio de Realidade Aumentada ca

A realidade aumentada tem vrias denies como se segue [3]: a co 1. Enriquecimento do ambiente real com objetos virtuais, usando algum dispositivo tecnolgico, funcionando em tempo real; o 2. Melhoria do mundo real com textos, imagens e objetos virtuais, gerados por computador; 3. Mistura de mundos reais e virtuais em algum ponto da realidade/virtualidade cont nua, que conecta ambientes completamente f sicos a ambientes completamente virtuais. Azuma [25] resumiu o conceito da RA em trs caracter e sticas bsicas: a 1. Combina real e virtual; 2. Interativo em tempo real; 3. Registrado em 3D. Um lme, como o Jurassic Park, contm muitos efeitos reunindo real e e virtual, porm no interativo. Isso no impede o sistema de RA de utilizar os e a e a recursos multim dia como texto, som e imagem para complementar um ambiente tridimensional da RA. Os sistemas de RA necessitam do rastreamento do ambiente real, denominado tracking [34]. Com o tracking, o software pode executar algoritmos de processamento de imagens e viso computacional para identicar os elementos presentes no a ambiente, e poder incorporar objetos virtuais nos lugares adequados. O sentido de presena em um sistema de realidade aumentada no totalmente c a e controlado pelo sistema, diferentemente da realidade virtual, em que o usurio sai a completamente do mundo real para interagir no ambiente virtual.

30

CAP ITULO 2. FUNDAMENTOS TEORICOS

Na Tabela 2.1 so denidas diferenas entre a realidade virtual e a realidade a c aumentada.


Tabela 2.1: Diferenas entre Realidade Virtual e Aumentada. c

Caracter stica Ambiente Principal Sentido de Presena c Representao do usurio ca a Impacto da transio dos ca mundos virtual real

Realidade Virtual Gerado por computador Controlado pelo sistema Atravs de um avatar e Alta

Realidade Aumentada Mundo Real Natural do usurio a Direta Baixa

2.3.2

Classicao ca

Podemos categorizar um sistema de RA em duas partes [35]: 1. Imersiva. O usurio v o mundo misturado olhando diretamente para a a e posiao no mundo real. O usurio manipula o padro e o ambiente virtual c a a e visto diretamente no padro. A Figura 2.21a mostra um usurio utilizando a a HMD para um sistema imersivo. 2. No-Imersiva. O usurio v o mundo misturado olhando para alguma tela a a e de sa ao invs de olhar para o real padro. O usurio manipula o padro, a da, e a a a tela captura imagens da cena real e exibe a cena junto com os objetos virtuais. A Figura 2.21b mostra um usurio em um sistema de RA no-imersivo usando a a um monitor. Os sistemas imersivo e no-imersivo tambm podem ser chamados de sistemas a e de viso direta e viso indireta, respectivamente. O prottipo desenvolvido utiliza a a o a viso indireta, projetada no monitor de forma espelhada. Pode-se utilizar a viso a a direta, atravs de HMD, para evoluir o prottipo. e o

2.3. REALIDADE AUMENTADA

31

(a)

(b)

Figura 2.21: Classifica~o de sistemas de RA: (a) imersivo; (b) ca n~o-imersivo. a

2.3.3

Motivao do Uso da RA ca

A tecnologia de realidade aumentada vem ganhando popularidade com uma grande velocidade. Sistemas locais ou em rede, xos ou mveis, tm encontrado muitas o e oportunidades de desenvolvimento utilizando RA. Muitas aplicaoes esto tendo grandes impactos pelo uso dessa tecnologia. A c a medicina tem obtido sucesso ao prover treinamento dos estudantes em prottipos o sintticos do corpo humano pela incorporaao de objetos virtuais representando e c aparelhos internos (reprodutor, respiratrio...) sobre o prottipo. o o A visualizaao de dados em tempo real para informaes a turistas sobre lugares c co histricos, tambm esto tendo boa aceitaao pela aplicaao de tcnicas de realidade o e a c c e aumentada. Realidade virtual e realidade aumentada podem ser futuramente evolu das para a hiperrealidade [36], atravs da combinaao do mundo real com o mundo virtual, e c cada qual realizando aoes e respondendo a eventos da outra, cabendo `s pessoas c a visualizarem apenas o que lhe interessa.

2.3.4

Diculdades no Uso da RA

As tcnicas de realidade aumentada tm evolu para obtenao de respostas cada e e do c vez mais rpidas. A realidade aumentada pode utilizar dispositivos de realidade a virtual, porm a tendncia o uso do sistema sem a necessidade de aparatos no e e e corpo.

32

CAP ITULO 2. FUNDAMENTOS TEORICOS

Algoritmos de viso computacional e processamento de imagens so a a imprescind veis para um sistema de realidade aumentada, embora o uso de GPS possa ser usado para rastreamento. Algumas diculdades para RV tambm se aplicam a RA, como por exemplo: e 1. O modo de interaao, que deve ser o mais natural poss c vel; 2. A quantidade de dispositivos no corpo do usurio, que deve ser o m a nimo poss vel; 3. O comprometimento do sistema na entrega dos dados para o usurio de, no a mximo, 100 ms de atraso entre os quadros de imagens, deve ser estabelecido a [4]. Acima desse tempo, o usurio comea a perceber a articialidade do a c ambiente e o sistema comea a perder realismo; c 4. Os algoritmos de rastreamento devem ser rpidos o suciente para que o a resultado seja atualizado por, no m nimo, 10 quadros por segundo. Todo o conjunto de hardware e software usado no sistema deve obedecer esta meta.

2.4 Sistema Colaborativo


A colaboraao, como expresso da comunicaao entre pessoas que trabalham juntas c a c e com um mesmo objetivo, tem sido essencial desde os tempos mais remotos para a evoluao de todo o ecossistema. c Para que o ser humano pudesse realizar as suas atividades de um modo cada vez mais eciente e prazeroso, foram desenvolvidas ferramentas que viessem a facilitar o seu trabalho. Todavia, determinadas atividades atingiram um n tal de vel complexidade que inviabilizaria a sua execuao caso no houvesse a ajuda de outras c a pessoas. No caso de um sistema computacional, tem havido uma evoluao nos sistemas que c suportam colaborao, pela incorporaao de subsistemas de chat e videoconferncia. ca c e Determinadas atividades, devido a sua complexidade, vm sendo executadas e simultaneamente por mais de uma pessoa, de modo a que se possa obter um desenvolvimento eciente do produto ou servio. c A partir desta necessidade de colaborao, alguns estudos esto sendo ca a consolidados pela engenharia de groupware, para a construao de aplicaes que c co tenham suporte a Computer Supported Collaborative Work (CSCW) [37]. Esta seo tem como objetivo explicar os fundamentos do Trabalho Colaborativo ca

2.4. SISTEMA COLABORATIVO

33

Baseado em Computador, denominado CSCW, e a aplicaao do CSCW em c ambientes virtuais, o Ambiente Virtual Colaborativo, denominado Collaborative Virtual Environment (CVE) [38].

2.4.1

Trabalho Colaborativo Assistido por Computador

Todos os sistemas computacionais que tm suporte a colaborao esto contidos na e ca a classe CSCW. CSCW uma rea de estudo que aborda conceitos de atividades que e a so realizadas por um grupo. a Para se ter um sistema colaborativo, necessrio um espao compartilhado de e a c modo que os usurios possam executar atividades em suas especialidades e contribuir a com o objetivo do grupo. Dene-se os grupos de trabalho colaborativo como sendo espaos virtuais c concebidos para que um conjunto de pessoas possam comunicar, colaborar e intercambiar informaoes entre si. Os sistemas de multim c dia que so usadas por a grupos de pessoas, como por exemplo, bate-papo e redes sociais, so chamados de a Groupware. Quanto aos ambientes colaborativos, estes podem ser classicados como sendo ass ncronos ou s ncronos. Sistemas ass ncronos so aqueles que no obrigam os a a usurios a executarem as suas tarefas ao mesmo tempo. Por outro lado, nos sistemas a s ncronos, os interlocutores precisam executar as suas tarefas ao mesmo tempo. Outro modo de categorizar os ambientes colaborativos em termos de e espao. Com relao ao espao de colaboraao, os ambientes podem ser locais c ca c c ou distribu dos. Pode-se haver uma combinaao destas classicaoes, como na c c Tabela 2.2.
Tabela 2.2: Classifica~o de Ambientes Colaborativos. ca

Local Distribu do

Ao Mesmo Tempo S ncronos Locais Ex: Brainstorming S ncronos Distribu dos Ex: Bate-papo

Em Tempos Diferentes Ass ncronos locais Ex: Post-it Ass ncronos Distribu dos Ex: E-mail

O projeto proposto pode ser categorizado como um sistema s ncrono, pois e necessrio que os usurios o estejam usando ao mesmo tempo, e distribu a a do, pois

34

CAP ITULO 2. FUNDAMENTOS TEORICOS

pode ser executado em uma rede de computadores.

2.4.2

Modelo 3C

Para se construir um sistema colaborativo ecaz, os usurios devem realizar entre a si a transferncia de informaoes (comunicao), ajudar na execuao do trabalho e c ca c em um espao compartilhado por um grupo (cooperaao), de um modo origanizado c c (coordenaao) [39]. c O modelo 3C, a partir destes objetivos, foi criado para facilitar a construao de c tais sistemas. A Figura 2.22 mostra o relacionamento entre estes conceitos.

Comunicao
Demanda Percepo Gera informao para

Cooperao

Coordenao

Gerencia

Figura 2.22: Modelo 3C.

2.4.3

Ambiente Virtual Colaborativo

O conceito de trabalho colaborativo pode ser aplicado para ambientes virtuais. Nesse ponto, a realidade virtual e aumentada se benecia do uso de atividades colaborativas para simular toda a complexidade de uma sociedade. As pessoas podem ser representadas por um avatar, um objeto dentro do mundo virtual, com o qual outras pessoas podem realizar a comunicaao. O usurio explora, c a navega e interage com o mundo virtual atravs do avatar. e Conforme descrito em [38], dene-se um CVE como sendo: Um espao virtual ou conjunto de lugares, distribu e baseado em c do computador. Nestes lugares, pessoas podem encontrar-se e interagir com

2.5. MODELAGEM E SIMULACAO

35

outras, com agentes ou objetos virtuais. CVEs podem variar em riqueza da representaao em ambientes 3D, 2,5D (que corresponde a elementos c 2D dentro de um ambiente com perspectiva) e 2D, at em ambientes e baseados em texto. O acesso ao CVE pode ser feito por dispositivos xos e mveis. o Nesta deniao, qualquer sistema computacional que tenha um espao c c compartilhado em que pessoas possam realizar colaboraao se enquadra como c um CVE, embora o termo CVE normalmente esteja associado ao ambiente tridimensional. Para a criao de um CVE, o desenvolvedor deve planejar o sistema de acordo ca com os critrios abaixo: e Contexto compartilhado, ou espao compartilhado; c Conscincia das atividades de outras pessoas; e Negociaao e comunicao, para realizar colaborao; c ca ca Mltiplos e ex u veis pontos de vista.

O ultimo item supracitado inerente em um sistema de RV, porm necessrio e e e a um esforo adicional do desenvolvedor para prover este servio em um sistema de c c RA.

2.5 Modelagem e Simulao ca


Um dos mtodos formais de modelagem de simulaao denominada Especicao e c e ca de Sistemas de Eventos Discretos, ou Discrete Event System Specication (DEVS). Matematicamente, o sistema real modelado em componentes interconectados, com e cada componente desempenhando uma funo particular em todo o sistema. Cada ca componente tambm um modelo, formando uma hierarquia de componentes. e e Componentes nas bases da hierarquia so chamados de modelos atmicos. a o Composioes dos modelos atmicos so chamados de modelos compostos. c o a Para descrever a estrutura de um modelo atmico, o DEVS utiliza uma tupla de o 6 elementos, sucientes para determinar seu comportamento interno. A Tabela 2.3 especica o modelo atmico. o Um modelo atmico contm entradas e sa o e das. Ao receber uma mensagem, as funoes de transies so executadas, gerando modicaoes no seu estado interno e c co a c

36

CAP ITULO 2. FUNDAMENTOS TEORICOS

Tabela 2.3: Especifica~o de um modelo at^mico DEVS. ca o

M = X, S, Y, int , ext , , ta X o conjunto de valores de entrada; e S o conjunto de estados; e Y o conjunto de valores de sa e da; int : S S a funao de transiao interna; e c c ext : Q X S a funao de transiao externa, onde e c c Q = {(s, e) |s S, 0 e ta (s)} o conjunto total de estados; e e o tempo passado desde a ultima transio; e ca : S Y a funao de sa e c da; + ta : S R0, a funao de avano do tempo (reais de 0 a ). e c c

valores de sa sendo passadas para a entrada do prximo modelo atmico ou para da, o o a sa do modelo composto que o contm. As variveis de tempo so atualizadas da e a a para o prximo processamento. o Alguns modelos atmicos no necessitam de entradas, como o caso do generator, o a e componente que envia mensagens a outros modelos, de acordo com uma distribuiao c de probabilidades. Outros no necessitam de sa a das como, por exemplo, o disposer, que apenas recebe as mensagens. O modelo composto pode ser especicado por uma tupla descrito na Tabela 2.4. Na Figura 2.23, pode ser vista uma ilustraao da hierarquia entre modelos. Cada c subsistema tambm considerado como um sistema, desempenhando uma funao. e e c Um componente pode receber parmetros de entrada, alterar seu estado interno, a realizar o processamento e retornar um ou mais valores de sa para o modelo da composto pai (o que contm o componente em questo), que pode ser o modelo e a principal da simulaao. O uxo desse processo dentre os vrios componentes do c a modelo se deve ao disparo de eventos e passagem de mensagens. H derivados do formalismo DEVS para cenrios espec a a cos, como Parallel DEVS (PDEVS), de forma a simular eventos acontecendo ao mesmo tempo, e Cellular Based DEVS (CellDEVS), para simular sistemas baseados em autmatos nitos, o como o Jogo da Vida, ou Game of Life (GOL) [10, pp. 44-46].

2.5. MODELAGEM E SIMULACAO

37

Tabela 2.4: Especifica~o de um modelo composto DEVS. ca

N = X, Y, D, {Md |d D} , EIC, EOC, IC, Select X = {(p, v) |p IP orts, v Xp } o conjunto de portas de e entrada e valores; Y = {(p, v) |p OP orts, v Yp } o conjunto de portas de sa e da e valores; D o conjunto dos nomes dos componentes; e Md = (Xd , Yd , S, ext , int , , ta) um mdulo DEVS, onde e o Xd = (p, v)|p IP ortsd , v Xp ; Yd = (p, v)|p OP ortsd , v Yp ; EIC conecta entradas externas para entradas internas; EOC conecta sa das internas para sa das externas; IC dene as conexes entre componentes internos; o Select determina o prximo evento dentre os eventos simultneos. o a

2.5.1

Framework para Modelagem e Simulao ca

A seguir ser mostrado um conjunto de ferramentas matemticas que compem um a a o framework para modelagem e simulaao de sistemas. A Figura 2.24 relaciona esses c elementos e indica as relaoes espec c cas para a modelagem e para a simulaao. c 2.5.1.1 Sistema Fonte

O sistema fonte o ambiente real ou virtual a ser modelado. Geralmente visto e e como um conjunto de valores observados de variveis, vinculados a trajetria do a ` o tempo. Os dados podem estar abundantes ou em pouca quantidade. Em alguns casos, melhores dados so imposs a veis ou dif ceis de serem obtidos (por exemplo, topograa de uma oresta) [10].

38

CAP ITULO 2. FUNDAMENTOS TEORICOS

M A

D B

Figura 2.23: Ilustraao de um modelo composto e sua hierarquia. c~


Quadro Experimental Sistema Fonte

Modelo Modelagem Simulao

Simulador

Figura 2.24: Entidades de M&S e seus relacionamentos.

2.5.1.2

Modelo

Um modelo uma representaao da realidade, seja f e c sica, matemtica ou lgica. a o Um modelo de simulaao compreende um conjunto de equaoes, regras, instruoes c c c e restries de forma a gerar comportamento. Mtodos formais de especicaao co e c de sistemas tornam os modelos mais acess veis para a compreenso de todos, sem a ambiguidade. Os modelos de simulao trabalham com trajetrias de variveis de ca o a entrada e sa da, dependendo do conjunto inicial de estados [10]. 2.5.1.3 Simulador

Um simulador um agente capaz de executar as instruoes contidas no modelo e c gerando dinmica [10]. Pode ser qualquer sistema computacional, seja um a processador, uma rede ou a mente humana. Separando o simulador do modelo torna o simulador mais genrico, pois: e O mesmo simulador pode executar diversos tipos de modelos, aumentando o n de portabilidade do sistema; vel Algoritmos exclusivos para simulaao podem ser estabelecidos e validados c rigorosamente;

2.5. MODELAGEM E SIMULACAO

39

A complexidade da simulao pode ser medida pela quantidade de recursos ca requeridos para sua execuao. c 2.5.1.4 Quadro Experimental

Diante de muitos valores na natureza do sistema fonte, necessrio especicar um e a subconjunto de variveis que satisfaa um conjunto determinado de objetivos. Nem a c todas as informaoes so importantes para um cenrio de simulao [10]. c a a ca O quadro experimental um conjunto de especicaoes que norteiam a anlise e c a um conjunto de variveis, observaes e de um sistema real para sua modelagem. E a co condioes para delimitar o escopo do contexto do modelo. c Como exemplo, de uma innidade de variveis que podem ser obtidas da anlise a a de uma oresta, o conjunto (chuva, luz, sol, vento) uma escolha particular. Um e renamento do quadro experimental pode resultar em anlises mais detalhadas do a sistema, como por exemplo o valor da temperatura do ambiente, ou o percentual de oresta queimada.

40

CAP ITULO 2. FUNDAMENTOS TEORICOS

Estado-da-Arte

Alguns trabalhos evidenciam a evoluo da Modelagem e Simulaao de Eventos ca c Discretos, tanto na visualizao dos modelos (com tendncia em modelos ca e tridimensionais) como na colaboraao (evoluindo para M&S na Internet). c

3.1 Animao em Simulao de Sistemas de ca ca Eventos Discretos


O trabalho de Fumarola et al. [40] mostra formas de inserir mdulos de animao o ca em simulaes de sistemas de eventos discretos que sejam genricos o suciente co e para manter o baixo acoplamento, sem muito trabalho em animar, em 2D ou 3D, simulaoes de aplicaes espec c co cas. Fumarola dene a separaao dos componentes de animaao e simulaao do c c c modelo com a distribuio dos papis em diferentes computadores, utilizando a ca e 41

42

CAP ITULO 3. ESTADO-DA-ARTE

arquitetura cliente-servidor. Porm, no dene o baixo acoplamento em uma mesma e a aplicaao hospedada no cliente. O cliente necessita constantemente consultar o c servidor para receber as mudanas de estado da simulaao do modelo. O esquema c c est ilustrado na Figura 3.1. a

Figura 3.1: Arquitetura de Fumarola do Sistema de Simula~o e Anima~o de ca ca Modelos de Sistemas de Eventos Discretos [40].

Fumarola tambm verica a sincronizao entre o mdulo de simulaao e o de e ca o c animaao. O tempo simulado pode ser diferente do tempo da animaao. A sincronia c c pode ser obtida com o disparo de eventos entre os mdulos. A lgica da simulaao o o c e a animaao podem ser executadas em diferentes computadores, atravs de sockets c e de comunicaao. c Na proposta denida nesta dissertao, o processo de separaao entre o mdulo ca c o de animao com a lgica da simulao em uma aplicaao pode ser obtida com ca o ca c padres de desenvolvimento em programao orientada a objeto. Um dos padres o ca o o Model-View-Controller (MVC) [41], que organiza os elementos da programaao e c em camadas de negcio, dados e apresentao. O prottipo do projeto proposto o ca o utiliza o padro MVC, de forma a facilitar a adiao de outras funcionalidades. a c Utilizando esse mtodo, o sistema reduz o trfego e o consumo de recursos no e a servidor, alm de reduzir a dependncia do cliente. Cada cliente pode realizar sua e e simulaao e sincroniz-lo com modelagens e simulaoes de outras pessoas, em tempo c a c real, sem sobrecarregar o servidor.

3.2. VISUALIZACAO 3D DE SIMULACAO DE OPERACOES DE CONSTRUCAO

43

3.2 Visualizao 3D de Simulao de Operaoes de ca ca c Construo ca


Em [42], Behzadan analisa o processo de visualizao tridimensional de operaoes de ca c construoes simuladas. A simulaao de modelos sem visualizaao pode dicultar a c c c validao de acordo com os objetivos estabelecidos. E vericado que a visualizao ca ca tridimensional de um modelo de simulaao ajuda a analisar geometricamente c aspectos no vistos apenas utilizando blocos 2D. Tcnicas de RA so utilizadas a e a no trabalho de Behzadan. Uma caracter stica do projeto de Behzadan a viso imersiva do usurio, que e a a permite a visualizaao do objeto virtual diretamente no mundo real, pelo uso de c rastreadores de movimento e HMD. Os objetos 3D so decompostos em objetos a menores atravs da estrutura hierrquica conhecida como grafo de cena, que cria e a uma rvore de objetos e transformaoes. a c

3.3 Realidade Aumentada com Colaborao na ca Web


Tavares et al. [31] demonstra como a realidade aumentada em aplicaes co colaborativas na Web pode ajudar equipes remotas a desenvolverem seus projetos apenas utilizando a Webcam. A partir dos resultados demonstrados, o prottipo o os aplica na rea de modelagem e simulaao de sistemas de eventos discretos, a c adicionando recursos de transmisso de v a deo remoto. O protocolo de comunicaao proposto distinto do trabalho desenvolvido em [31]. c e Ao invs de realizar a converso (serializaao) de objetos e variveis no formato e a c a XML para a transmisso, dados binrios so diretamente transferidos, reduzindo o a a a trfego e o tempo de processamento. Outra diferena se faz na obrigatoriedade do a c servidor de pol tica, que trata da comunicaao inicial com o sistema cliente para sua c permisso de uso. O sistema proposto no necessita deste subsistema. A Figura 3.2 a a mostra o funcionamento do projeto de Tavares.

44

CAP ITULO 3. ESTADO-DA-ARTE

Figura 3.2: Computadores em rede visualizando colaborativamente um projeto em Realidade Aumentada na Web.

3.4 Framework para Simulao de Sistemas de ca Eventos Discretos na Web


O trabalho de Kim, descrito em [43], procura demonstrar um projeto de um framework de simulao denominado RUBE para Web com visualizao em 3D ca ca com o formato X3D, que utiliza o padro conhecido XML, com tags para representar a eventos e estados. Kim realiza comparaoes entre RUBE e outras ferramentas de c M&S, como Modelica [44] e MoML [45], com argumento sobre total compatibilidade com padres ociais como XML, assim podendo obter maior contribuio da o ca comunidade. A Figura 3.3 mostra um diagrama com os componentes integrantes do framework. O componente eXtensible 3D Graphics (X3D) um padro sucessor do VRML para e a representao de mundos virtuais em trs dimenses na Web, utilizando a estrutura ca e o textual XML. O Multimodel eXchange Language (MXL) tambm baseado em XML e e e dene a representaao comportamental do modelo do sistema. O X3D, por sua c vez, representa a estrutura f sica do sistema. As representaoes estrutural e comportamental do sistema so mesclados c a por um mdulo de transformao de estilos, ou eXtensible Stylesheet Language o ca Transformation (XSLT). Antes da mesclagem, as informaes do funcionamento co

3.5. VISUALIZACAO DE MODELOS DE OPERACOES DE TRAFEGO COM RA

45

X3D
XSLT

MXL

DXL DOM SimPack XSLT Modelo Com Cdigo-Fonte Script

Figura 3.3: Estrutura geral do sistema RUBE.

so processadas por outros componentes de simulaao. a c A representaao hierrquica do XML torna o RUBE uma soluao interessante c a c para denir submodelos em vrios n a veis. Uma desvantagem a falta de recursos e para a realizaao da modelagem. H ainda a necessidade de prover uma ferramenta c a de modelagem para gerar os modelos que servem de entrada para o RUBE.

3.5 Visualizao de Modelos de Operaoes de ca c Trfego com RA a


Behzadan e Kamat [46] desenvolveram uma soluo para melhorar a simulaao e ca c visualizaao de modelos de operaes de trfego utilizando realidade aumentada. c co a Nesta soluao, a RA proposta como alternativa de visualizao de simulao de c e ca ca trfego frente a RV, de forma a dar mais realismo na simulaao. O usurio visualiza a ` c a o trfego de ve a culos virtuais diretamente no mundo real utilizando um conjunto de equipamentos mostrados na Figura 3.4a. Regras de trnsito so inseridas no projeto de Behzadan como, por exemplo, a a a parada do ve culo virtual ao perceber um cruzamento sendo atravessado pelo ve culo real, como apresentado na Figura 3.4b. O prottipo apresentado em [46] tambm utiliza a tcnica formal de Simulaao de o e e c Eventos Discretos, porm focada a animao dos elementos na simulao, faltando e e ca ca

46

CAP ITULO 3. ESTADO-DA-ARTE

(a)

(b)

Figura 3.4: Simula~o de trfego com Realidade Aumentada: ca a (a) equipamentos de captura de informa~o do mundo real; ca (b) veculo virtual esperando por veculo real.

recursos para que o usurio realize a modelagem do comportamento do sistema. A a aplicaao do trabalho de Behzadan e Kamat se limita ` simulaao de trfego, ao c a c a invs de ser genrico para vrias aplicaoes. e e a c

3.6 Trabalho Colaborativo na Modelagem Simulao de Eventos Discretos ca

Sung et al. [47] divulga um estudo sobre a importncia do trabalho colaborativo a na modelagem e simulao de eventos discretos do sistema de defesa. Um ponto ca interessante neste projeto a proposta de um processo em cascata das fases do e desenvolvimento de um modelo desde a coleta de requitos at a anlise da simulaao. e a c Sung et al. ilustra um exemplo de grupo de prossionais com papeis diferentes dentro da modelagem e simulao de um sistema militar. Os prossionais so ca a chamados de stakeholders. O esquema do processo de modelagem e simulaao de Sung et al. pode servir c para organizar todo o processo de modelagem e simulaao. Nesse caso, h uma c a necessidade de obter uma ferramenta para que os stakeholders realizem a modelagem

3.7. IMPACTO DA REALIDADE VIRTUAL NA SIMULACAO DE EVENTOS DISCRETOS

47

em tempo real e diretamente no mundo real facilitando a visualizao do modelo. ca

3.7 Impacto da Realidade Virtual na Simulao de ca Eventos Discretos


Uma interessante pesquisa feita por Akpan e Brooks [48] resulta em vrios resultados a estat sticos sobre opinies a respeito da adoao da Realidade Virtual na Modelagem o c e Simulaao de Sistemas de Eventos Discretos. Muito embora a RA seja diferente c da RV, tal estudo pode auxiliar na tomada de deciso na adoo da RA para M&S. a ca Os entrevistados destacaram a facilidade em descobrir erros no modelo caso seja visualizado em 3D, alm da facilidade de manuseio do modelo por parte de pessoas e no especialistas na rea de modelagem. Outro aspecto vantajoso das tecnologias a a 3D (RA e RV) se d na comunicao com o cliente no processo de construao do a ca c modelo (70% dos entrevistados concordaram). Outra informaao importante obtida por Akpan e Brooks [48] o fato do c e resultado da simulao ser normalmente provida em nmeros estat ca u sticos, que no a tem informaao espacial. Isso refora a necessidade do uso de sistemas WIMP, em c c duas dimenses, para exibir estas informaoes, pois a forma de exibiao do modelo o c c no afeta as solues obtidas na simulaao. a co c

3.8 Tabela comparativa dos trabalhos


Embora os trabalhos tenham objetivos e resultados diferentes, algumas caracter sticas podem ser extra das para categoriz-los e compar-los. A Tabela 3.1 a a mostram os trabalhos e suas comparaes. Os termos seguintes foram abreviados: co Colab.: recursos de colaboraao; c Model.: recursos de modelagem; Simul.: recursos de simulao. ca O projeto descrito nesta dissertao pode ser melhor pensado como um ca framework que auxilia diversos trabalhos que estudam e evoluem a rea de a modelagem e simulao, mostrando uma nova forma de interao do usurio. ca ca a Analisando a Tabela 3.1, verica-se a oportunidade de melhoria do processo de modelagem dos sistemas. Uma soluo proposta nesta dissertaao. Devido ao uso ca e c

48

CAP ITULO 3. ESTADO-DA-ARTE

Tabela 3.1: Tabela comparativa resumindo o estado da arte.

Trabalho Animaao em Simulao c ca de Sistemas de Eventos Discretos Visualizaao c 3D de Simulao de Operaoes de ca c Construao c Realidade Aumentada com Colaboraao na Web c Framework para Simulaao c de Sistemas de Eventos Discretos na Web Visualizaao de Modelos de c Operaoes de Trfego com c a RA Trabalho Colaborativo na Modelagem e Simulao de ca Eventos Discretos Impacto da Realidade Virtual na Simulao de ca Eventos Discretos Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas ca

RV Sim

RA No a

Colab. No a

Web Model. Simul. No No a a Sim

Sim

No a

No a

No a

No a

Sim

No a Sim

Sim No a

Sim No a

Sim Sim

No a No a

No a Sim

No a

Sim

No a

No a

No a

Sim

No a

No a

Sim

No a

Sim

Sim

Sim

No a

No a

No a

Sim

Sim

No a

Sim

Sim

Sim

Sim

No a

3.8. TABELA COMPARATIVA DOS TRABALHOS

49

da ferramenta matemtica DEVS, o framework se torna genrico o suciente para a e que muitos tipos de sistemas de eventos discretos possam ser modelados.

50

CAP ITULO 3. ESTADO-DA-ARTE

Desenvolvimento da Proposta

O sistema proposto mostra uma nova forma de criar modelos DEVS de forma colaborativa e imersiva. O sistema, embora desenvolvido localmente, pode ser executado e funcionar como um servio na Internet. Grupos de usurios podem c a criar e editar projetos de modelos de simulao. ca Com o recurso de telepresena, usurios percebem automaticamente aoes dos c a c outros participantes. Todas as aes so estruturadas no banco de dados do servidor co a para que o grupo crie verses do modelo, aps anlise em diferentes pontos de vista. o o a O sistema foi planejado de acordo com a Seao 4.2. As tecnologias escolhidas c e usadas esto citadas e descritas na Seo 4.2.2. O desenvolvimento do sistema a ca pode ser compreendido na Seao 4.3. A Seo 4.4 faz algumas consideraoes sobre c ca c o funcionamento do sistema com relao ao uso de memria e taxa de quadros. Por ca o m, a Seao 4.5 destaca alguns problemas encontrados durante o desenvolvimento c 51

52 da proposta.

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

4.1 Termos importantes


Com a integraao de vrias reas do conhecimento, alguns termos podem resultar c a a em ambiguidades na compreenso da leitura. Este tpico pretende explicar tais a o termos, de forma simplicada, de acordo com o contexto do documento.

4.1.1

Modelo

Na realidade virtual e aumentada, o modelo visto como um objeto tridimensional e que compe o ambiente virtual, podendo representar estruturalmente um objeto no o mundo real como, por exemplo, um avio em um simulador de voo. Na modelagem a e simulao, um modelo representa o comportamento do sistema real ou imaginrio ca a como, por exemplo, a dinmica de uma linha de produo. Quando no especicado a ca a neste texto, o termo expressa o segundo signicado.

4.1.2

Cenrio 3D a

Dene-se cenrio 3D como o objeto virtual que representa a realidade de forma a estrutural. Pode ser confundido com o termo cenrio da area de modelagem e a simulaao, que compreende na escolha de um conjunto de variveis que determinam c a um contexto na execuao do modelo. Como exemplo, o estudo de caso descrito c no documento demonstra a modelagem e simulaao em um posto de gasolina. No c prottipo constru ao invs do usurio ir ao local real do posto para a modelagem o do, e a do comportamento do sistema, um posto em 3D visto na tela do computador. Esse e objeto tridimensional o cenrio 3D. e a

4.1.3

Metfora de Manipulao a ca

Nas tecnologias de RA e RV, uma metfora compreende na execuo de uma ao a ca ca baseada em gestos do usurio. Por exemplo, um usurio pode movimentar as mos a a a como um adeus e o sistema reconhecer o gesto como abrir o documento, dando novos signicados para gestos espec cos. Da o termo metfora. O projeto utiliza a metforas para que o sistema execute as aes corretas na etapa de modelagem. a co

4.1. TERMOS IMPORTANTES

53

Para uma melhor compreenso das tcnicas de interaao 3D, com explicao de a e c ca vrias metforas de navegao e manipulao, recomenda-se a leitura de Bastos et a a ca ca al. [49].

4.1.4

Marcador Fiducial

Um marcador ducial um elemento exibido em um sistema de exibiao de imagens, e c servindo de referncia ou medida. No caso do projeto proposto, o marcador ducial e uma imagem reconhecida pelo sistema, que referencia as aes do usurio e o e co a posicionamento dos objetos 3D. O prottipo utiliza dois marcadores: um marcador para orientar o cenrio 3d, o a denominado marcador de cenrio, e outro para capturar as aoes do usurio, como a c a inserir componentes DEVS no cenrio, chamado de marcador de operaao. a c

4.1.5

Mouse 3D

Usando realidade aumentada, a modelagem do sistema se d em trs dimenses. a e o Diferente do mouse tradicional, em que se move em duas dimenses, o prottipo o o utiliza uma metfora de manipulao que, atravs do marcador ducial, os a ca e componentes do modelo sejam orientadas nos 3 eixos. Essa metfora denominada a e Mouse 3D. No projeto, o marcador de operaao realiza tal funo. O termo tambm c ca e usado para designar equipamentos de hardware baseados no mouse tradicional para e a entrada de dados pelo usurio nos trs eixos cartesianos. a e

54

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

4.1.6

Seletor

O marcador de operaao utilizado no prottipo orienta o cursor do mouse 3D. Para c o selecionar a opo desejada na modelagem, o cursor exibido em forma de seta. O ca e mouse 3D, quando se encontra nesse estado, denominado de seletor. e

4.2 Planejamento
A etapa de planejamento do sistema consistiu em levantar requisitos, especicar elementos e funcionalidades desenvolvidas. Documentos iniciais foram feitos para o aux tanto na codicaao como na manutenao do prottipo. lio c c o

4.2.1

Concepo ca

A concepo e planejamento para o sistema foram criadas e, posteriormente, ca amadurecidas durante o desenvolvimento. A estrutura na Figura 4.1 mostra os equipamentos necessrios e suas relaoes, atravs de conexes para transmisso de a c e o a dados. As concepes dos elementos esto descritos nos tpicos seguintes. co a o

Figura 4.1: Estrutura relacionando os recursos utilizados no sistema proposto neste trabalho.

Os usurios utilizam os marcadores e a webcam para a modelagem de sistemas. a Aoes so transferidas para o servidor de aplicaao, que manipula o banco de dados c a c do sistema. Sesses so criadas no servidor de multim o a dia para controlar a entrada e sa de participantes na transferncia direta de imagens do grupo no projeto. da e

4.2. PLANEJAMENTO

55

4.2.1.1

Marcadores

Na primeira concepao dos marcadores, o ambiente realizaria o rastreamento de um c cubo, com marcadores nas 5 das 6 faces. Da ultima face, um objeto tang como vel uma caneta seria colado. Este conjunto serviria como um mouse 3D. A Figura 4.2 demonstra um prottipo da metfora do cubo de marcadores duciais. o a

Figura 4.2: Proposta da utiliza~o da metfora de manipula~o do cubo de ca a ca marcadores fiduciais.

Com o cubo sendo rastreado, o objeto tridimensional seria posicionado na ponta da caneta. Essa metfora de navegao d a sensaao natural de desenvolvimento a ca a c do modelo apenas arrastando mdulos utilizando a ponta da caneta. o A concepao foi alterada pois seria necessrio o rastreamento do cubo numa c a posiao distante da webcam, para que a ponta da caneta esteja facilmente vis no c vel frustrum da tela. O frustrum todo o espao do ambiente vis no momento pela e c vel cmera. a Pelos testes realizados, a biblioteca de rastreamento no detecta marcadores que a estejam longe o suciente para conterem o tamanho cerca de 50% da tela da webcam. E necessria a aproximao do marcador na tela, o que restringe o uso da metfora a ca a de uma caneta 3D. Dessa forma, outra metfora de manipulaao foi realizada. a c Para escolher os mdulos a serem depositados no modelo do projeto do usurio, o a utilizado apenas um marcador ducial. O sistema tambm utiliza outro marcador e e ducial para orientar o cenrio 3D. A Figura 4.3 mostram os padres escolhidos para a o servirem de marcadores duciais na metfora escolhida. a Os marcadores so imagens impressas que o usurio mantm orientadas de forma a a e

56

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Figura 4.3: Marcadores fiduciais usados no projeto.

que o dispositivo de captura de imagem os obtenha e que a biblioteca de realidade aumentada os reconhea, tomando as devidas aoes programadas no sistema. O c c funcionamento do marcador ducial pode ser visto detalhadamente na seao 4.3.2.2. c 4.2.1.2 Sistema Servidor

Os usurios podem demandar dos servidores operaoes com os dados, como por a c exemplo: Autenticao do usurio; ca a Criaao de projeto; c Listagem de projetos; Adiao de componentes; c Transmisso de som e imagem entre participantes. a

Enquanto algumas operaoes so feitas entre o cliente e o servidor, a transmisso c a a de multim dia entre os participantes realizada diretamente entre eles, de forma e a no sobrecarregar o servidor. Mesmo assim, o controle dessa transmisso e o a a gerenciamento dos grupos de participantes so feitas no servidor. a A Figura 4.4 mostra o funcionamento dos clientes e do servidor de multim dia, de forma a reduzir o trfego entre o servidor e o cliente. Todo o trfego de v a a deo ser passada diretamente entre os clientes, sem afetar o ncleo, usando o protocolo a u Real-Time Media Flow Protocol (RTMFP). Apenas mensagens de controle, em formato Actionscript Message Format (AMF), so passadas entre servidor e cliente. a

4.2. PLANEJAMENTO

57

Figura 4.4: Funcionamento do RTMFP.

4.2.1.3

Sistema Cliente

O sistema cliente o subsistema de interao com o usurio. A interface grca e ca a a planejada, atravs do qual se monta um modelo de simulaao, est ilustrada na e c a Figura 4.5.

Figura 4.5: Concep~o da interface grfica da modelagem do sistema ca a cliente.

No lado superior esquerdo da Figura 4.5, mostrada a paleta de componentes e a serem adicionados e operaoes a serem realizadas no modelo. Os mdulos e as c o operaoes escolhidas para exemplicar o estudo de caso so as seguintes (em ordem): c a 1. Gerador: Inicia a dinmica do sistema gerando recursos para a simulaao; a c

58

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

2. Roteador: Distribui recursos em vias distintas; 3. Processador: Representa uma unidade de processamento do sistema; 4. Sa (Disposer : Inverso do gerador, este mdulo completa as tarefas das da o entidades que entram no sistema; 5. Remover Mdulo: Remove conexes, se existentes, e apaga o componente o o selecionado; 6. Conectar Mdulos: Conecta a porta de sa do componente origem a o da ` porta de entrada do componente destino. ` A direita da paleta de componentes, tambm na Figura 4.5, o usurio pode e a manipular tridimensionalmente o cenrio 3D, alm de visualizar o ponto de vista de a e outro participante. Suas imagens capturadas pela Webcams tambm so exibidas. e a Na parte inferior esquerda esto mostrados os estados das aoes realizadas pela a c ` direita da rvore de estados aparecem recursos de envio de mensagens de equipe. A a texto. Este layout facilita a compreenso das telas de exemplo do estudo de caso. a 4.2.1.4 Atividades Realizadas

O diagrama de atividades enfatiza a sequncia de tarefas feitas para o e desenvolvimento do sistema. Algumas tarefas so feitas simultaneamente, de forma a complementar, servindo de pr-requisitos para outras atividades. A Figura 4.6 e esquematiza as atividades.

Figura 4.6: Sequencia de Atividades do Projeto.

Deniao do escopo: delimitao do trabalho envolvido. Planejamento do c ca que desenvolvido no projeto. E importante de forma a conhecer o papel do e sistema.

4.2. PLANEJAMENTO

59

Levantamento de requisitos: conhecimento das diferentes funcionalidades que compem o papel do sistema. In do processo de renamento. E descrito o cio na fase de elaboraao. c Modelagem de banco de dados: estruturaao dos dados a serem persistidos no c sistema. Toda a coleao de dados deve ser guardada com integridade e sem c redundncias que prejudique o funcionamento. a Diagramaao UML: aps denir os requisitos, o planejamento do sistema ser c o a renado com a diagramao de componentes integrantes do projeto. ca

4.2.2

Tecnologias Usadas

O aplicativo foi feito nas seguintes tecnologias: Adobe Flash [50]: Plataforma de Desenvolvimento de contedo multim na u dia Web. A linguagem utilizada o ActionScript verso 3.0 para o Flash 11 (verso e a a com suporte a programao na GPU com a Molehill Engine). O usurio ca a cliente da aplicaao interage com o sistema desenvolvido nessa plataforma, c sem necessidade de instalaao de softwares; c IN2AR [51]: Biblioteca de rastreamento de marcadores, retornando suas orientaes em matrizes de transformaoes. co c Red5 [52]: Ambiente opensource de distribuiao (streaming) de multim c dia, desenvolvido em Java. Para o projeto, o Red5 serve como o servidor principal do aplicativo, manipulando o banco de dados e realizando operaoes de login, c logout, listagem de participantes, entrada e sa de participantes em projetos. da Para a comunicaao, o Red5 utiliza o Real-Time Media Protocol (RTMP) como c protocolo da camada de aplicaao, o qual foi desenvolvido sob o protocolo da c camada de transporte Transmission Control Protocol (TCP). MySQL [53]: Sistema Gerenciador de Banco de Dados (SGBD) usado para concentrar e persistir os dados necessrios para o sistema. a OpenRTMFP/Cumulus [54]: servidor de streaming de multim dia como o Red5, porm desenvolvido em C++. Uma diferena entre o Cumulus e o Red5 e c se deve ao protocolo, com o Cumulus transmitindo dados atravs do protocolo e RTMFP, baseado no protocolo de transporte User Datagram Protocol (UDP). O UDP importante em aplicaoes que necessitem de comunicao em tempo e c ca real com som e imagem como, por exemplo, as videoconferncias. e

60

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Alguns prerequisitos para a efetiva execuao do sistema envolvem: c Conexo em rede para usar o ambiente colaborativo; a Placa aceleradora para grcos, embora o sistema possa ainda ser executado a em computadores sem a placa; Adobe Flash Player atualizado, cuja verso m a nima 11.1; e SGBD MySQL instalado e com o banco de dados do projeto criado; Servidor Web instalado e funcionando.

4.2.3

Elaborao ca

Para levantar os requisitos necessrios ao sistema, um diagrama de casos de uso foi a formulado, podendo ser visto na Figura 4.7. Os atores podem realizar funoes de c visualizaao e ediao do projeto, ou de gesto de todo o sistema. c c a

Administrador do Sistema

Administrador do Projeto

Editor

Visualizador

Autenticar-se Gerenciar Todos os Projetos Gerenciar Projeto Gerenciar Todos os Usurios Gerenciar Participantes do Projeto Modelar Componente Simular Projeto

Figura 4.7: Diagrama de Casos de Uso com Atores do Sistema.

Os papis dos usurios do sistema so os seguintes: e a a Administrador do Sistema: Gerencia os dados do sistema; Administrador do Projeto: Criador do projeto do modelo de simulaao; c Editor: Participante da equipe de ediao do modelo; c Visualizador: Participante com permisso de assistir a edio do projeto. a ` ca

4.2. PLANEJAMENTO

61

O diagrama de classes representa o relacionamento entre as classes que compem o o sistema. Na fase de elaboraao, o padro de desenvolvimento MVC [41] foi usado, c a separando a interface, os dados e a lgica do sistema. o Na camada Model, h pacotes de informaoes do banco de dados, do servidor a c e dos estados do projeto. No pacote de banco de dados, vista pela Figura 4.8a, o prprio banco est representado pela classe Database. Esta classe contm uma lista o a e de repositrios (IRepository) representando as tabelas. Cada classe bsica como, o a por exemplo, a classe Project, representa um registro da tabela. Os resultados do servidor que retornam registros das tabelas so mapeadas para as classes da camada a de modelo, servindo como um cache temporrio. a Ainda na camada Model, h classes que compem os metadados de resposta e a o de requisiao usados no controlador de comunicao com o servidor. A Figura 4.8b c ca mostra o relacionamento entre as classes.
Database Module User Profile ActionConnect Action ActionType

Server Module
ServerRequest ServerResponse

Participation

Project

Composition

Record

<<interface>> IRecord

Repository

Database

ServerConnection

(a)

(b)

Figura 4.8: Classes do pacote Model : (a) classes do pacote Model do banco de dados; (b) classes do pacote Model da comunica~o ca com servidor.

As informaes dos estados de cada ao que usurio realiza no sistema ser co ca a a armazenada na classe State. Com estes estados, o usurio pode visualizar o modelo a antes ou depois de qualquer aao feita, guardando seu histrico. A classe est no c o a pacote Model. A camada Controller serve para interligar os dados com sua visualizaao, c controlando sua lgica. Ela est ilustrada na Figura 4.9. o a A transmisso de dados entre clientes, sem interveno do servidor, denomina-se a ca

62

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Controller
DBController ServerController ARController

ActionController

NHEController

World3DController

StateController

Figura 4.9: Classes da camada Controller.

Peer-to-Peer (P2P), que torna a transmisso de imagens mais adequada para no a a sofrer atrasos considerveis. O RTMFP desenvolvido sob o protocolo UDP, a e importante para dados multim dia. A camada View contm elementos de interface grca do sistema, incluindo o e a mundo tridimensional e imagens da webcam. A camada View no obtm diretamente a e os dados da camada Model. As classes da camada Controller servem de gerenciadores de contedo para distribuir os dados para a camada grca. As classes podem ser u a vistas na Figura 4.10.

View
<<interface>> WorkView MenuView ModuleView ProjectCreationView World3DView

RouterView

GeneratorView

ProcessorView

LoginView

NHEView

ProjectView

EraserView

DisposerView

MainView

StateTreeView

Figura 4.10: Classes da camada View.

O banco foi planejado de acordo com a necessidade de salvar informaoes de c

4.3. DESENVOLVIMENTO

63

um modelo matemtico em DEVS. O projeto representado no DEVS por apenas a e um modelo composto. O projeto contm vrios modelos atmicos. As aoes do e a o c usurio, como adicionar, remover e conectar, denem seus relacionamentos, atravs a e das portas dos mdulos atmicos. Veja o diagrama Entidade-Relacionamento na o o Figura 4.11.
Projeto
1 N

participa

Participante
1 N

TipoAo
1

Contm
1

Realiza

Pertence
N

Modelo tem Atmico


1 1 1 N

Composto
N

Ao
N

AoConectar
N

Contm

Contm
N

Perfil

Envolve
1

Envolve

Porta

Figura 4.11: Diagrama Entidade-Relacionamento de banco de dados.

4.3 Desenvolvimento
O desenvolvimento utiliza a arquitetura de software descrita na Seao 4.2, c contemplando o Design Pattern MVC [41]. Esta seo descreve e mostra a tela para ca a modelagem do projeto. As outras interfaces grcas do sistema esto descritas no a a Anexo A.

4.3.1

Autenticao ca

O servidor Red5 um servidor em modo push, o que signica que o prprio servidor e o pode enviar dados ao cliente sem a necessidade de sua requisiao. Esta caracter c stica importante em casos quando um servidor puder alertar outros usurios das aoes e a c feitas pelo cliente. Um servidor que tem apenas o modo pull (vide Figura 4.12a) somente pode atualizar usurios quando eles prprios requisitarem atualizaoes. a o c Inicialmente, o usurio se conecta ao sistema realizando o login. Com o servidor a em modo push, automaticamente outros usurios recebem a noticao de um novo a ca

64

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

(a)

(b) Figura 4.12: Processo de conex~o em modo pull e push : a (b) modo push. (a) modo pull ;

cliente conectado. A Figura 4.12b exemplica este processo. O servidor realiza uma busca ao banco de dados pela existncia do usurio. Caso e a encontre, os dados do usurio so mantidos na lista de usurios conectados e o status a a a online retornado ao usurio. e a

4.3.2

Manipular Projeto

Os elementos propostos neste trabalho so exibidos nesta interface. Nesta tela, o a cenrio carregado e os modelos so editados utilizando a RA. As conexes com o a e a o servidor RTMFP so iniciadas e as aoes so transferidas entre os participantes. a c a Pelo fato do sistema separar a estrutura f sica e o funcionamento do sistema, a

4.3. DESENVOLVIMENTO

65

estrutura representada por um cenrio tridimensional e carregada por um objeto e a referenciado no banco de dados. A classe Loader3D da biblioteca Away3D contm um parser para objetos 3d e com a extenso OBJ. O parser l a estrutura do arquivo e retorna identicaes dos a e co componentes para que o Loader3D reconhea-os e desenhe o cenrio corretamente. c a A partir do processo de carregamento, todo o cenrio pode ser orientado pelo a marcador ducial. A imagem do marcador obtida pela Webcam e passada para a e biblioteca In2AR, responsvel para o reconhecimento de padres da imagem. a o Antes da inicializao da biblioteca In2AR, necessrio congur-lo com ca e a a parmetros de calibrao da cmera. A falta ou a m qualidade na calibrao a ca a a ca resulta na distorao da orientao do marcador detectado, e como consequncia os c ca e objetos tridimensionais no estaro exatamente sincronizados com o movimento do a a usurio. a No prottipo so necessrios 2 marcadores: um para ajustar o cenrio e outro o a a a para servir de seletor, com a metfora de mouse 3D. Dois usurios podem modelar a a a dinmica do sistema vendo o cenrio em angulos diferentes, bastando orient-lo a a a com o primeiro marcador. Os tpicos seguintes descrevem as funcionalidades na ediao do projeto. o c 4.3.2.1 Orientao dos objetos ca

Para que o modelo acompanhe os movimentos do usurio, necessrio que o a e a posicionamento, bem como sua orientao, sejam atualizadas com matrizes de ca transformaao. A biblioteca de detecao retorna duas matrizes: uma para a c c translaao e outra para a rotao. c ca O objeto 3D apenas deve receber uma matriz como parmetro. A matriz deve a ter o formato expressado na Equao (4.1): ca M = rxx rxy rxz ryx ryy ryz rzx rzy rzz tx ty tz 0 0 0 1 . (4.1)

Na Equaao (4.1), as variveis tx , ty e tz denotam o posicionamento do objeto, c a num processo de translao. A translaao no uma operaao linear. Dessa ca c a e c

66

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

forma, pode ser diretamente incorporada na matriz caso sejam usadas coordenadas homogneas. O tamanho da matriz nal se torna 4 4. e H um aspecto a ser considerado na orientao: orientaao em diferentes espaos a ca c c de coordenadas resultam em diferentes translaoes e rotaes. Para explicar este c co aspecto, um exemplo dado na Figura 4.13 e

(a)

(b)

(c)

Figura 4.13: Ilustra~o da orienta~o de um dos mdulos no ambiente: ca ca o (a) posicionamento antes da orienta~o; (b) rota~o relativo ca ca ao cenrio; (c) rota~o relativo ao ambiente. a ca

A Figura 4.13a mostra um componente representado por um cubo dentro de um cenrio representado por um cubo maior. O cenrio est posicionado de forma a a a alinhada ao eixo x (y = 0 e z = 0). Se a orientao for uma rotao no eixo z e relativa ao cenrio, o componente ca ca a ser rotacionado como na Figura 4.13b. Se a orientaao for relativa ao ambiente, a c cujos eixos so representados por linhas tracejadas, o componente ser rotacionado a a como na Figura 4.13c. Dependendo da aplicaao, a orientaao pode conter efeitos c c indesejveis se aplicado em espaos de coordenadas diferentes. a c Uma tela do funcionamento da orientaao do cenrio pode ser vista na c a Figura 4.14. O cenrio de exemplo consiste em um posto de gasolina para modelagem a do uxo de ve culos. 4.3.2.2 Seleo de operao ca ca

As operaoes descritas nesta seo (seleao, adiao, remoao e conexo de c ca c c c a componentes) so operaes a serem realizadas no prottipo para a modelagem a co o de projetos. Antes de obter a operao, necessrio selecion-la. A seleo consiste ca e a a ca no movimento do marcador controlando a posio de uma gura em forma de seta, ca

4.3. DESENVOLVIMENTO

67

Figura 4.14: Orienta~o do Cenrio. ca a

servindo de seletor. A seta posicionada em direao a imagens grcas a esquerda e c ` a ` da tela, servindo de paleta de operaoes, selecionando uma operao e conduzindo c ca o elemento da operaao at o local desejado. Observe que a gura para a ser c e tridimensional quando passa da paleta de operaoes para o cenrio 3D. c a Para facilitar a visualizao do seletor, uma gura 2D com a forma de seta ca e obtida, sempre na frente do ambiente 3D. Como a gura est localizada em duas a dimenses, as coordenadas do marcador ducial, compostas pela matriz de rotao o ca e translaao, devem ser projetadas de trs para duas dimenses. c e o Para obter a operao, o marcador de apontamento deve estar na tela. O sistema ca realiza a projeao da matriz de transformaao do objeto no plano 2D perpendicular c c ao vetor normal da cmera. As coordenadas 2D resultantes so analisadas de a a forma a escolher o mdulo da paleta de componentes. O Algoritmo 1 descreve o o procedimento. Pela variedade de operaoes e mdulos a serem realizados, o ambiente guarda o c o estado do marcador, denotado por estado selecao no Algoritmo 1. Se a gura 2D do seletor colidir com a paleta de componentes, ou seja, se a coordenada x seu lado esquerdo for negativa, detectado a escolha da operao. e ca A escolha da operaao consiste em denir a operaao na varivel estado selecao, c c a remover o seletor 2D e iniciar o processo de arraste do componente at o local e desejado para sua inserao, tambm conhecido por drag. A Figura 4.15 mostra o c e funcionamento do seletor. Um aspecto em relaao a varivel o fato de que a inserao, remoao e conexo c ` a e c c a

68

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Algoritmo 1 Seleao da Operaao na Modelagem. c c lao c Capturar a imagem da webcam se marcador detectado ento a obter coordenadas 3D do marcador coordenadas2D projecao2D(coordenadas3D) se coordenadas2D.x < 0 ento a coordenadas2D.y opcao componente.altura estado selecao U SAN DO M ODU LO adicionarRef erencia(opcao) m se m se m lao c

Figura 4.15: Funcionamento do Mouse 3D com exibi~o do seletor ca

dos mdulos so realizadas pelo mesmo marcador ducial. O valor do estado o a alterado de ESTADO LIVRE para USANDO MODULO, e o valor da varivel e a opcao lido. Com isso, a matriz de transformaao direcionada para a correta e c e operaao. As descries das operaoes tero ilustraoes vetoriais para facilitar a c co c a c visualizaao da sequncia, e screenshots tiradas do sistema mostrando as operaoes c e c em funcionamento.

4.3. DESENVOLVIMENTO

69

4.3.2.3

Insero de um mdulo ca o

Para adicionar um mdulo, deve-se usar o marcador e posicion-lo na paleta de o a componentes a esquerda. Aps a seleo do componente a ser adicionado, a cada ` o ca momento a matriz de transformao enviada para o componente, de forma que ca e permanea sempre sobre o marcador com a orientaao correta, arrastando (dragging) c c o objeto tridimensional. Como consequncia, uma aao adicionada ao servidor e distribu diretamente, e c e da sem consentimento do servidor, para os outros participantes. A rvore de estados a adiciona um novo n representando a aao do usurio. E realizado o processo de drop, o c a inverso ao drag, com a nalizaao do processo de arraste e denio da localizaao c ca c do novo componente. A sequncia de movimentos pode ser compreendida nas ilustraoes presentes na e c Figura 4.16. O seletor e o componente so guiados pelo marcador at o marcador a e para no local desejado.

(a)

(b)

(c)

Figura 4.16: Inser~o de um dos mdulos no ambiente (ilustra~o): ca o ca (a) selecionando um componente para inserir; (b) arrastando o marcador para o local; (c) concluindo a inser~o. ca

A Figura 4.17 mostra um screenshot do sistema. A Figura 4.17a mostra o componente sendo escolhido. A Figura 4.17b ilustra o ambiente durante o processo de insero, denominado drag. A Figura 4.17c exibe o modelo aps o posicionamento ca o do componente. A Figura 4.17d mostra o novo componente inserido no ambiente, reetindo a alterao na tela de outro participante e a arvore atualizada. ca O marcador est livre para realizar outra operao e os valores das a ca a variveis estado selecao e opcao so modicadas para ESTADO LIVRE e a OPERACAO NENHUM, respectivamente.

70

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

(a)

(b)

(c)

(d)

(e)

Figura 4.17: Inser~o de um dos mdulos no ambiente: (a) selecionando um ca o componente para a inser~o; (b) arrastando um componente para ca o cenrio; (c) posicionando o componente; (d) concluindo a a inser~o; (e) inserindo mais tr^s componentes. ca e

4.3.2.4

Conexo de um mdulo a o

Para ativar a operao de conexo, o valor de opcao deve ser igual a ca a OPERACAO CONEXAO. A conexo de mdulos contm semelhanas na operaao a o e c c de inserao. O mesmo marcador utilizado e um objeto tridimensional arrastado c e e no marcador. Porm, o objeto no nenhum dos mdulos atmicos. e a e o o O objeto 3D, denominado nesta dissertaao de seletor, seleciona os componentes c a serem conectados utilizando o sistema de deteco de coliso. Inicialmente foi ca a utilizada uma biblioteca de f sica: AwayPhysics. Em testes isolados, foi demonstrado um bom desempenho. Na realizaao de testes completos do sistema, o desempenho foi menor, devido c ao uso de recursos utilizados, como v deo e rede. Outro problema da AwayPhysics encontrado na etapa de desenvolvimento foi seu tamanho: o dobro do tamanho do projeto, sendo uma questo importante para uma aplicao na Web. a ca

4.3. DESENVOLVIMENTO

71

Na modularizao e simplicao do projeto, toda a biblioteca AwayPhysics foi ca ca substitu por um mtodo simples de detecao de coliso denominado Axis-Aligned da e c a Bounding Boxes (AABB) [55]. O algoritmo verica se as coordenadas m nimas de duas formas so menores que suas coordenadas mximas. O algoritmo est descrito a a a no Algoritmo 2. Algoritmo 2 Detecao de Coliso AABB. c a se objeto1.minX > objeto2.maxX ou objeto2.minX > objeto1.maxX ento a retorna f also; m se se objeto1.minY > objeto2.maxY ou objeto2.minY > objeto1.maxY ento a retorna f also; m se se objeto1.minZ > objeto2.maxZ ou objeto2.minZ > objeto1.maxZ ento a retorna f also; m se retorna verdadeiro; Para uma ilustrao do processo, a Figura 4.18 mostra a coliso em dois objetos, ca a com a anlise no eixo y para simplicaao. As linhas tracejadas dos dois objetos a c denotam a coordenada mxima do objeto. Em uma coliso, elas devem estar acima a a das coordenadas m nimas, denotadas por linhas cont nuas.

Figura 4.18: Detec~o de colis~o AABB. ca a

O mtodo utiliza o processo ilustrado na Figura 4.18, porm, executado para e e e os trs eixos em um ambiente 3D. Se em algum dos trs eixos a condiao no for e e c a satisfeita, ento no h coliso. a a a a

72

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Um dos dois objetos o seletor, enquanto que o outro o componente. Na e e conexo so necessrios dois componentes. Assim, o processo de seleao realizado a a a c e duas vezes, sequencialmente, com o mesmo seletor. De acordo com a tcnica de modelagem de sistemas DEVS, h restries na e a co conexo de componentes: a Portas de sa no podem se conectar a portas de sa da a da; Deve haver portas de sa dispon da veis para que o componente se torne eleg vel na seleao; c Como um exemplo, um processador que contm uma porta de entrada e uma e porta de sa no pode se conectar a um gerador que contm apenas uma porta de da a e sa da, pois no esperado nenhuma entrada. Porm, o inverso permitido. a e e e Uma ilustraao da sequncia mostrada na Figura 4.19. Usando o algoritmo c e e de deteco de coliso, os componentes so colididos e selecionados pelo cubo ca a a que contm apenas arestas, no formato wireframe. Aps as duas seleoes, os e o c componentes so conectados. a

(a)

(b)

(c)

(d)

Figura 4.19: Ilustra~o do processo de conex~o de componentes no ambiente: ca a (a) selecionando a opera~o de conex~o; (b) arrastando o ca a o componente; (c) arrastando o marcador para marcador para o 1 o 2o componente; (d) concluindo a conex~o. a

Um exemplo se encontra na Figura 4.20. A Figura 4.20a mostra o usurio a selecionando a operao de conexo, enquanto que a Figura 4.20b exibe o cubo que ca a

4.3. DESENVOLVIMENTO

73

selecionar os componentes a serem conectados. A Figura 4.20c e a Figura 4.20d a mostram as etapas do processo de conexo. A Figura 4.20e mostra o resultado. A a Figura 4.20f mostra a operao repetida para a continuidade do exemplo. ca

(a)

(b)

(c)

(d)

(e)

(f )

Figura 4.20: Conex~o entre mdulos: (a) escolhendo a opera~o de conex~o; a o ca a (b) controlando o seletor para conex~o; (c) sele~o do a ca primeiro componente; (d) sele~o do segundo componente; ca (e) resultado da Conex~o; (f) conectando outros componentes. a

A conexo simbolizada no ambiente por linhas. Se os componentes conectados a e tiverem sido inseridos por usurios diferentes, a linha conter uma colorao a a ca gradiente entre as duas cores. 4.3.2.5 Remoo de um mdulo ca o

Na etapa de remoao, o marcador exibe um objeto 3D para selecionar o mdulo a c o ser removido, utilizando o processo de coliso. a O mtodo de detecao de coliso indica o mdulo que ser removido. Diferente da e c a o a operaao de conexo, a remoao feita em apenas uma etapa, selecionando apenas c a c e um objeto. Porm, a complexidade maior devido aos seguintes fatores: e e

74

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Antes de remover o objeto, todas as suas conexes devem ser removidas; o Embora o objeto seja removido, devem-se guardar informaoes para que o c usurio possa desfazer a remoao. a c Uma ilustraao da sequncia mostrada na Figura 4.21. Assim como a conexo, c e e a a remoao utiliza o sistema de coliso, porm necessitando apenas da seleo de um c a e ca componente.

(a)

(b)

(c)

Figura 4.21: Ilustra~o do processo de remo~o de componentes no ambiente: ca ca (a) selecionando a opera~o de remo~o; (b) arrastando o ca ca marcador para o componente; (c) concluindo a remo~o. ca

Para que o usurio possa ter a disponibilidade de desfazer a remoao, cada a c desconexo gera uma aao, inserida na arvore de estado. Ento, o nmero de aes a c a u co geradas pela remoao n + 1, onde n o nmero de conexes do componente. A c e e u o Figura 4.22 exemplica a operaao. c

(a)

(b)

(c)

Figura 4.22: Remo~o de um mdulo no sistema: (a) selecionando a ca o opera~o; (b) selecionando o mdulo; (c) removendo mdulo ca o o e conex~es. o

A remoao enviada para o servidor para o armazenamento correto. c e

4.3. DESENVOLVIMENTO

75

Posteriormente enviada a todos os outros participantes, diretamente atravs do e e protocolo RTMFP, reduzindo o trfego no servidor. A rvore de aes atualizada a a co e adicionando um novo estado. 4.3.2.6 Mudana de estados da edio do projeto c ca

Para tornar a modelagem tolerante a falhas, um mecanismo, baseado na tcnica e rollback, foi desenvolvido para permitir aos usurios alterarem o modelo para a uma verso anterior, selecionando ns precedentes do estado atual da rvore. O a o a usurio tambm pode selecionar verses alternativas do modelo, no necessariamente a e o a precendentes. Esse tpico explana o exemplo. A Figura 4.23a mostra a sequncia de aoes o e c feita pelas aes anteriores. Caso um participante selecione algum estado anterior, co a ultima aao desfeita. No exemplo da Figura 4.23b, as aoes de remoo (e suas c e c ca desconexes) so desfeitas. A partir do estado selecionado, novas aes resultam em o a co uma nova sequncia, como na Figura 4.23c. e Para tornar mais claro a leitura dos estados ilustrados na Figura 4.23, o estado visualmente mostrado no formato XY , onde X so as iniciais das operaes (A e a co = Adiao, C = Conexo, R = Remoo), e os nmeros so os identicadores dos c a ca u a mdulos, padro escolhido a efeito de exemplo do estudo de caso. o a Na seleao do antepenltimo estado, a penltima aao tambm ser desfeita. c u u c e a Seguindo o processo, clicar em uma aao com n estados de distncia de uma aao c a c desfaz n + 1 aoes, recursivamente e na direao contrria: da ultima ao a ao c c a ca ` ca selecionada. Com isso, o grupo pode iniciar uma nova verso do modelo, com uma nova a sequncia de operaes, paralela a sequncia original, a partir da ao ilustrada na e co ` e ca Figura 4.23a. A Figura 4.23c demonstra a continuao do exemplo. ca Seguindo o exemplo, o grupo pode comparar as duas verses. O algoritmo, nesse o caso, realiza duas etapas: 1. Desfaz todos as aoes da sequncia atual at ` ultima aao comum as duas c e ea c ` verses; o 2. Refaz as aoes da sequncia anterior at ` aao selecionada. c e e a c Com isso, o grupo pode criar diferentes verses de modelo de um mesmo projeto o sem a criao de um novo projeto, e denir a verso atual. ca a

76

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

(a)

(b)

(c)

Figura 4.23: Processo de mudana de vers~es do modelo: (a) vers~o c o a original do modelo; (b) iniciando a vers~o alternativa; a (c) vers~o alternativa. a

4.3.2.7

Distribuio das aes para o grupo ca co

Este tpico visa esclarecer a sincronizao das informaoes do grupo, alm da o ca c e percepao da presena de outro participante na modelagem, e o recebimento da c c tela da webcam dos participantes com a ausncia da sobrecarga do servidor. e Quando um usurio deseja visualizar o ambiente visto por outra pessoa, seu nome a deve ser selecionado na lista de participantes. Automaticamente, uma conexo UDP a realizada e o usurio recebe todo o stream de imagens da webcam sem passar pelo e a servidor. No servidor principal, cada usurio utiliza apenas uma conexo de rede. Esta a a conexo envolve o protocolo RTMP, baseado em TCP de forma a obter a garantia e a ordem de entrega dos pacotes. Todo o controle, como a entrada e sa no projeto, da modelagem e simulao so passadas para o servidor principal por essa conexo. ca a a Outro servidor responsvel pelas conexes P2P e de grupo. Ele permite que e a o o usurio possa iniciar o compartilhamento da webcam para outros participantes, a usando o protocolo RTMFP, baseado em UDP, reduzindo a latncia na transmisso e a do v deo. O servidor apenas processa o controle da transmisso. Toda a transmisso a a diretamente passada entre clientes. e Alm do v e deo em tempo real, as aes realizadas so compartilhadas pelo co a

4.3. DESENVOLVIMENTO

77

servidor RTMFP. Na Figura 4.24, o segundo participante adiciona e conecta um novo mdulo ao exemplo. O primeiro participante percebe a telepresena recebendo o c em tempo real a nova aao, sincronizando a rvore de estados e o cenrio. c a a

Figura 4.24: Tela do ambiente colaborativo com usurio visualizando ao a mesmo tempo o seu ponto de vista e de outro participante

78

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

4.4 Consideraes co e Avaliaoes c Funcionamento do Sistema

sobre

Os resultados seguem uma anlise quantitativa do consumo de memria durante o a o uso do sistema. So feitas 10 execuoes do sistema, analisando memria dos sistemas a c o cliente e servidor. As execuoes foram feitas nos seguintes sistemas operacionais: c Windows 7 Ultimate, 64 bits; Ubuntu 11.10 Oneiric Ocelot, 64 bits. As aes seguintes so realadas nos grcos: co a c a Entrada do usurio na aplicaao; a c In da ediao do projeto; cio c Adiao, remoo e conexo de mdulos; c ca a o Exibiao da tela de outro participante. c Google Chrome; Mozilla Firefox; Internet Explorer; Standalone, usando o projetor do Adobe Flash.

A aplicaao foi testada nos seguintes navegadores: c

Os testes foram feitos no computador de mesa e no notebook. A conguraao c dos computadores esto na Tabela 4.1. A escolha dos equipamentos foi dada pela a disponibilidade dos mesmos.
Tabela 4.1: Configura~o dos computadores. ca

Memria o Processador Grcos a Disco R gido

desktop 4GB AMD Athlon II X3 425 GeForce 9800 GT/PCI/SSE2 500GB

notebook 4GB Intel Core i3-2310M Intel GMA 500GB

4.4. CONSIDERACOES E AVALIACOES SOBRE O FUNCIONAMENTO DO SISTEMA

79

4.4.1

Taxa de Quadros

O grco da Figura 4.25 mostra o consumo de memria da aplicaao cliente do a o c prottipo no computador. A captura de informaao para a geraao do grco reduziu o c c a a taxa de quadros, ou Frames Per Second (FPS) em 5 unidades, com mdia de 5,6 e fps. Sem a captura, a taxa eleva-se para cerca de 11 fps.
Quadros por Segundo (FPS)
14 12 10

FPS

8 6 4 2 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59

Tempo (s)

Figura 4.25: Taxa de Quadros da Aplica~o Cliente. ca

4.4.2

Consumo de Memria o

O grco da Figura 4.26 mostra o consumo de memria da aplicaao cliente do a o c prottipo no computador. O fato da aplicaao ser executada sob uma mquina o c a virtual faz com que o sistema utilize uma considervel quantidade de memria. Por a o outro lado, tal consumo se torna estvel no decorrer do tempo. a Os dois parmetros podem ser reavaliados com o desenvolvimento em plataformas a Web diferentes, como o padro WebGL [56]. o cujos grcos so diretamente a a a gerenciados pelo navegador e desenhados na Graphical Processing Unit (GPU), sem necessidade de plugin.

80

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

Consumo de Memria
185 180

Memria (MB)

175 170 165 160

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59

Tempo (s)

Figura 4.26: Consumo de Memria da Aplica~o Cliente. o ca

4.4.3

Tempo de Resposta na Transmisso a

O prottipo atende as necessidades de transmisso das aoes do usurio e das o a c a imagens das webcams em tempo real. Um usurio tem a percepao, sem atrasos, a c da participao de outra pessoa. Como no h recursos de reposicionamento dos ca a a componentes existentes no modelo, no h problemas de concorrncia entre os a a e participantes, caso duas pessoas queiram orientar o mesmo componente. E necessrio enfatizar que, dependendo da taxa de transmisso, o protocolo TCP a a pode ser usado em lugar do UDP para transmisso de imagens no sistema. Uma a vantagem no uso do TCP em todo o sistema se deve ao fato do UDP normalmente permanecer bloqueado em redes corporativas.

4.5 Problemas Encontrados


Os problemas seguintes foram encontrados durante o desenvolvimento do sistema. So uteis como referncia para um melhor desenvolvimento e evoluao do projeto. a e c Alguns problemas encontrados so descritos abaixo: a

4.5. PROBLEMAS ENCONTRADOS

81

4.5.1

Marcadores Longe da Webcam No Rastreados a

O no funcionamento do rastreamento de marcadores que estejam longe da webcam a provocou uma mudana de planos no manuseio do Mouse 3D. Ao invs de utilizar a c e metfora de caneta, est sendo utilizada a metfora de indicadores de alinhamento, a a a semelhante a tcnica de apontamento denominada por Ray-Casting [49]. ` e

4.5.2

Trasmisso de Webcam com Atraso a

O protocolo RTMP utiliza o protocolo da camada de transmisso TCP. O TCP a contm recursos de ordenaao de pacotes e controle de congestionamento. Embora e c seja eciente e seguro para muitas aplicaes, no so bem efetivos para uma co a a trasmisso ao vivo de som e imagem. a Com esse problema, um servidor de RTMFP foi utilizado para a transmisso de a som e imagem da Webcam com o protocolo UDP, ideal para transmisso multim a dia. O RTMFP tambm permite conexes P2P, permitindo a transmisso direta entre e o a clientes, sem a necessidade de retransmisso de imagem pelo servidor. a

4.5.3

Perda de Rastreamento

Caso o usurio mova rapidamente o marcador, sua imagem na webcam se torna a borrada, efeito conhecido como blur. Tal efeito atrapalha a detecao do padro. c a Para aumentar a tolerncia, um tempo foi determinado para a mudana de aoes do a c c usurio. Caso o algoritmo recupere a detecao antes do tempo, o sistema continua a c com a mesma aao. c

4.5.4

Pouca Iluminao ca

A reduo ou falta de iluminaao prejudica o processo de reconhecimento do padro ca c a do marcador. Tcnicas de processamento de imagens podem melhorar a visibilidade e do marcador antes do processo de reconhecimento.

82

CAP ITULO 4. DESENVOLVIMENTO DA PROPOSTA

4.5.5

Ocluso do Marcador a

A ocluso de uma pequena parte do marcador no afeta o reconhecimento do mesmo. a a Contudo, caso boa parte do marcador no esteja sendo mostrada na imagem, o a rastreamento pode ser perdido. A biblioteca faz uma previso baseada no ultimo a reconhecimento efetivado.

4.5.6

Movimentos Rpidos do Marcador a

Uma movimentao rpida do marcador pode provocar a perda do rastreamento do ca a padro, devido ao efeito borrado, conhecido como blur, na tela. a

Concluses

A dissertao props uma soluao para melhoria do processo de modelagem, ca o c utilizando recursos de realidade aumentada e de redes de computadores. A area de Tecnologia da Informaao (TI) atualmente passa a ser denominada Tecnologia da c Informaao e Comunicaao (TIC), devido a tendncia da globalizao. Servios esto c c ` e ca c a sendo inseridos na Internet e informaoes esto sendo compartilhadas e divulgadas c a instantaneamente. A Modelagem e Simulao de sistemas segue a tendncia, com todas as ca e etapas necessrias para uma anlise minuciosa e detalhada de sistemas de forma a a colaborativa e remota, desde a modelagem at a otimizao. A proposta permitiu e ca explorar essa tendncia. e Com a popularizaao da Realidade Aumentada na Web, interfaces entre homem c e mquina esto se tornando mais naturais e acess a a veis a baixo custo. Isto fez com que o desenvolvimento do prottipo resultasse em um aplicativo na Web. o

83

84

CAP ITULO 5. CONCLUSOES

5.1 Contribuies co
Como contribuio, o trabalho mostra uma forma de construao de modelos ca c comportamentais utilizando interaao com a tecnologia da Realidade Aumentada, c para Modelagem de Sistemas de Eventos Discretos, aproveitando os recursos colaborativos para prover funcionalidade a equipes de prossionais. A concepao, desenvolvimento e anlise do prottipo deu a possibilidade de c a o formar um sistema que melhore o trabalho de equipes de prossionais de diferentes areas e pontos de vista: Prossionais de Modelagem e Simulaao: modelos podem ser desenvolvidos e c simulados, sendo visualizados diretamente no sistema fonte, dando um maior realismo e imerso; a Prossionais de Realidade Aumentada: ambientes virtuais podem ser constru dos em conjunto com a lgica de funcionamento do mesmo. o Assim, aplicaoes que utilizam realidade aumentada para exibir elementos c tridimensionais podem mostrar duas dinmicas. a Vrias contribuioes foram realizadas a partir de todo o desenvolvimento do a c projeto descrito na dissertaao: c Foi feito um estudo bibliogrco sobre recentes trabalhos que evoluem as reas a a de Realidade Aumentada e Modelagem e Simulao de Sistemas; ca Foi levantado e analisado um conjunto de ferramentas baseadas em critrios e de custo, desempenho e disponibilidade para desenvolvimento na Web; Tcnicas de interao homem-mquina foram analisados e descritos; e ca a Foi feita uma anlise sobre a organizaao de recursos computacionais a c destinados ` colaboraao na modelagem de sistemas; a c Uma proposta de integraao entre as reas de Realidade Aumentada e c a Modelagem e Simulao foi descrita; ca Tal proposta foi exemplicada com a realizaao de estudo de caso; c Foram mostradas as etapas de planejamento e desenvolvimento do projeto; Durante o desenvolvimento da dissertaao, um artigo foi elaborado, aprovado c e publicado na conferncia Cyberworlds, em 2010 [31]. e

5.2. CONSIDERACOES FINAIS

85

5.2 Consideraes Finais co


A partir dos resultados das propostas para solues dos problemas descritos, estudos co podem ser feitos e evoluoes, desenvolvidas. Algumas idias esto descritas na Seo c e a ca 5.4. Publicaes em edioes recentes das conferncias Symposium on Virtual Reality co c e e IEEE Conference on Cyberworlds esto previstas. Concluses podem ser tiradas a o para responder as perguntas elaboradas na Seo 1: ` ca 1. A realidade aumentada pode beneciar a interao entre o homem ca e a mquina em um modelo de simulao? a ca A hiperrealidade, ou seja, a integraao entre o real e o virtual, pode ajudar c prossionais que projetam e simulam sistemas antes da efetiva construao. Se c os sistemas contm informaes espaciais, os modelos podem ser localizados e co dentro do sistema real. Realidade Aumentada pode auxiliar a etapa de modelagem de sistemas. 2. Como um modelo pode ser mais facilmente desenvolvido com metforas de manipulao usadas naturalmente pelos seres a ca humanos? Novas formas de captura de informao pelo usurio esto sendo ca a a desenvolvidas, com especial atenao aos recursos de reconhecimento de gestos. c Uma interface mais prxima do homem melhora a obteno de informaoes o ca c inseridas no computador. O presente documento demonstra o uso de recursos de Realidade Aumentada como interface para modelagem de sistemas. 3. Qual o grau de benef cio na aplicao de mdulos de colaborao ca o ca para tal desenvolvimento? Um sistema colaborativo de modelagem e simulaao permite a participaao c c conjunta de diferentes equipes a desenvolverem modelos em diferentes pontos de vista. Dessa forma, o modelo tem um maior grau de validaao de acordo c com o sistema real, reduzindo o tempo de manutenao do modelo. c 4. Como um sistema com essa natureza pode ter alta disponibilidade e que tcnicas de tolerncia a falhas podem ser desenvolvidas no e a contexto deste ambiente, de forma a assegurar a conabilidade? Todas as aoes que a equipe realiza podem ser organizadas de forma que c diferentes verses sejam guardadas e reutilizadas. O trabalho prope uma o o estrutura de arvore de estados para aumentar a conabilidade do modelo.

86

CAP ITULO 5. CONCLUSOES

Em termos de tempo e espao, o usurio pode realizar a modelagem de forma c a s ncrona e remota. O sistema visa a portabilidade funcionando, at o presente e momento, nas plataformas Mac, Windows e Ubuntu Linux. Com o desenvolvimento de mdulos de personalizaao de variveis internas dos componentes e incluso dos o c a a recursos de simulao e animao, o sistema pode se tornar uma ferramenta robusta ca ca para Modelagem e Simulaao de Sistemas de Eventos Discretos. c A Seao 5.3 mostra respostas a alguns questionamentos que podem ser feitos na c compreenso do trabalho. A Seao 5.4 descreve futuros trabalhos poss a c veis atravs e dos conhecimentos desenvolvidos no projeto.

5.3 Objees co
Alguns questionamentos podem ser feitos com o prottipo apresentando na proposta o desta dissertao. Visando esclarecer o foco principal do projeto, respostas so dadas ca a as questes apresentadas. ` o

5.3.1

Sistema Usando Interfaces WIMP

Objeo: O prottipo disponibiliza uma interface em RA para a edio do ca o ca projeto, porm os controles necessrios para criar, escolher e abrir o projeto, e a so exibidos em duas dimenses, seguindo interfaces WIMP. a o Resposta: O objetivo do projeto mostrar como a realidade aumentada e pode tornar a modelagem de sistemas mais natural. Interfaces WIMP complementam os sistemas exibindo geralmente informaoes bidimensionais, c e no contemplam dados espaciais, como mensagens de texto. O uso das a interfaces WIMP pode ser melhorado com o uso de tecnologias imersivas como, por exemplo, realidade aumentada espacial [57]. Caso o prottipo possa o ser desenvolvido com equipamentos de viso imersiva, como HMD, o uso de a interfaces WIMP pode ser reduzido.

5.3. OBJECOES

87

5.3.2

Cenrio No Visto no Mundo Real a a

Objeo: O sistema real visto no prottipo totalmente virtual, representado ca o e pelo cenrio. Dessa forma, caso a posiao da webcam seja alterada, a a c orientao do cenrio torna-se diferente da percepao no mundo real. ca a c Resposta: O prottipo utiliza o monitor como equipamento de exibiao do o c sistema. Caso o sistema seja visualizado pelo HMD, pode-se utilizar como cenrio o prprio sistema real. E necessrio tambm a detecao da orientaao a o a e c c do usurio para sincronizar a orientao do cenrio. a ca a

5.3.3

Estrutura 3D No Editvel a a

Objeo: Seguindo o exemplo do posto de gasolina ilustrado anteriormente ca nesta dissertaao, a estrutura f c sica do cenrio no pode ser editada a a adicionando, por exemplo, uma nova via ao posto de gaolina. Resposta: O foco do projeto da dissertaao a visualizaao de modelos c e c de simulao, os quais descrevem a dinmica do sistema analisado. Como ca a trabalho futuro, o sistema pode editar um projeto de forma multicamadas. Cada camada pode denir um aspecto do projeto como, por exemplo, um modelo de tubulao hidrulica ou um modelo eltrico, modelados em tempo ca a e real e no mesmo projeto, por prossionais diferentes de uma mesma equipe. A estrutura f sica pode ser vista como uma camada do projeto.

5.3.4

Reduo de Imerso pela Viso Indireta ca a a

Objeo: A Realidade Aumentada perde imerso quando visualizada no ca a monitor. O usurio v a sua imagem espelhada no monitor. Com isso, a a e manipulaao de objetos pela realidade aumentada torna-se mais dif c cil. Por exemplo, o usurio precisa direcionar o marcador no sentido contrrio para a a que o objeto que mais perto ou longe. Resposta: Com o desenvolvimento do prottipo utilizando dispositivos de o visualizaao imersiva e de captura da orientao do usurio, a proposta ser c ca a a beneciada e seu valor ser melhor compreendido. a

88

CAP ITULO 5. CONCLUSOES

5.4 Trabalhos Futuros


O sistema pode transformar-se em Software Development Kit (SDK) para colaboraao usando RA de forma que um desenvolvedor possa adicion-lo em uma c a aplicaao espec c ca. A partir desta biblioteca, outras podem ser feitas usando-a. O software pode ter a capacidade de desempenhar funoes de simulaao f c c sica em tempo real, colaborativamente usando RA para melhorar o desenvolvimento de peas mecnicas, c a simulando atrito, traao, resistncia e outros fenmenos. c e o Equipes diferentes de prossionais podem modelar diferentes partes de um mesmo sistema. Dessa forma, o projeto pode incorporar recursos de modelagem multicamadas, em que cada camada contempla o desenvolvimento de modelos distintos, como por exemplo os modelos eltrico, hidrulico e estrutural. e a Equipamentos de viso direta, como HMDs, podem dar um maior realismo a a ` modelagem de sistemas e uma maior nfase aos objetivos do projeto, removendo a e limitaao da projeao bidimensional do monitor. c c O usurio tambm poder contar com um sistema que contenha tcnicas de a e a e Inteligncia Articial (IA) [58] e Articial Life (ALife) [59], principalmente na e modelagem e simulaao de sistemas baseados em agentes, ou Agent-Based Modeling c and Simulation (ABMS) [60], dando um maior grau de realismo na mistura dos mundos real e virtual, aproximando um passo rumo a hiperrealidade [36]. Pode-se desenvolver um prottipo de uma melhoria do sistema incorporando o realidade aumentada sem marcador, denominado Markerless Augmented Reality (MAR). Em MAR, qualquer objeto torna-se um padro, inclusive o prprio corpo do a o usurio. Assim, pode-se usar o conceito de propriocepao para realizar aoes nos a c c projetos utilizando mos, a cabea e outras partes. a c Como um exemplo, torna-se mais natural a manipulao dos objetos usando as ca prprias mos, sendo bastante chamativo um projeto com estas caracter o a sticas. A diculdade na incorporaao do MAR no sistema est relacionada ` diculdade do c a a desenvolvimento da prpria biblioteca de funoes de reconhecimento de padres. o c o Aps sua criaao, sua incorporaao facilitada pelo uso do padro MVC. o c c e a Outra evoluo interessante o suporte a cdigos Quick Response (QR), uma ca e o melhoria do cdigo de barras que utiliza o espao 2D, podendo codicar mais o c

5.4. TRABALHOS FUTUROS

89

informaao no mesmo espao [61]. c c Devido ` natureza visual dos cdigos QR, eles se tornam soluoes interessantes a o c para a identicaao exclusiva de cada projeto. O sistema pode exibir dois projetos c ao mesmo tempo apenas identicando-as por cdigos QR diferentes. o Como o NHE baseado em Web, o projeto se torna acess e vel para RA com colaboraao em sistemas mveis [62], embora deva ser levada em conta a questo de c o a desempenho. Com o suporte a MAR e a cdigos QR, o usurio ter a habilidade de escolher o a a entre os modos com marcador, que tem a vantagem de identicar os projetos pelos padres atravs do QR code, e sem marcador, que tem a facilidade de manipulaao o e c dos modelos tridimensionais usando as mos. a

90

CAP ITULO 5. CONCLUSOES

Referncias Bibliogrcas

[1] van Dam, a. , Beyond WIMP, IEEE Computer Graphics and Applications, vol. 20, no . 1, pp. 5051, 2000. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=814559 [2] Gong, C. , Human-Computer Interaction: Process and Principles of Human-Computer Interface Design, in 2009 International Conference on Computer and Automation Engineering. Bangkok: IEEE, Mar. 2009, pp. 230233. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4804523 [3] Kirner, C. e Siscoutto, R. A. , Fundamentos de Realidade Virtual e Aumentada, in Symposium of Virtual Reality. Petropolis: SBC, 2007, pp. 221. [4] Tori, R. e Kirner, C. , Fundamentos de Realidade Virtual, in Symposium of Virtual Reality. Belm: SBC, 2006, pp. 221. e [5] Neto, A. V. , Realidade Aumentada Aplicada ao Tratamento de Fobias, in Symposium of Virtual Reality. Belm-PA: SBC, 2006, pp. 343352. e [6] Machado, L. S. e Moraes, R. M. , Realidade Virtual Aplicada a Medicina, in ` Symposium of Virtual Reality. Belm-PA: SBC, 2006, pp. 358365. e [7] Russo, E. E. R. , Raposo, A. B. , Fernando, T. , e Gattass, M. , A Realidade Virtual na Indstria de Explorao e Produo de Petrleo, in Symposium of u ca ca o Virtual Reality. Belm: SBC, 2006, pp. 313318. e 91

92

REFERENCIAS BIBLIOGRAFICAS

[8] Garbin, T. R. , Dainesse, C. A. , e Kirner, C. U. , Sistema de Realidade Aumentada para Trabalho com Crianas Portadoras de Necessidades c Especiais, in Symposium of Virtual Reality. Belm-PA: SBC, 2006, pp. e 289297. [9] Nunes, F. L. S. , Costa, R. M. E. M. , Oliveira, A. C. M. T. G. , Delno, S. R. , Pavarini, L. , Rodello, I. A. , Brega, J. R. F. , e Sementille, A. C. , Aplicaes co Mdicas usando Realidade Virtual e Realidade Aumentada, in Symposium of e Virtual Reality. Petropolis: SBC, 2007, pp. 223255. [10] Zeigler, B. P. , Praehofer, H. , e Kim, T. G. , Theory of Modeling and Simulation, Second Edition, 2a ed. Academic Press, 2000. [11] Wainer, G. A. , Discrete-Event Modeling and Simulation: A Practitioners Approach (Computational Analysis, Synthesis, and a Design of Dynamic Systems), 2 ed. New York, New York, USA: CRC Press, 2009. [Online]. Dispon vel em: http://www.amazon.com/Discrete-Event-Modeling-Simulation-PractitionersComputational/dp/1420053361 [12] Cassandras, C. G. e Lafortune, S. , Introduction to Discrete Event Systems. Springer, 2010. [Online]. Dispon vel em: http://www.amazon.com/Introduction-Discrete-Systems-Christos-Cassandras /dp/1441941193 [13] Rizzoli, A. E. , A Collection of Resources on the Internet, 2009. http://www.idsia.ch/ andrea/simtools.html Modelling [Online]. and Simulation Dispon vel em:

[14] Freitas Filho, P. J. , Introduo a Modelagem e Simulao de Sistemas com ca ca a Aplicaes Arena, 2 ed. Visual Books, 2008. co [15] Simscript, , Simscript, http://www.simscript.com 2011. [Online]. Dispon vel em:

[16] XJTek, , AnyLogic, 2010. [Online]. Dispon em: http://www.xjtek.com vel [17] Simlox, , Simlox, 2011. [Online]. http://www.systecon.se/case/C3 SIMLOX/ Dispon vel em:

REFERENCIAS BIBLIOGRAFICAS

93

[18] Pullum, L. L. , Software Fault Tolerance Techniques and Implementation (Artech House Computing Library). Artech House, 2001. [Online]. Dispon vel em: http://www.amazon.com/Software-Tolerance-Techniques-ImplementationComputing/dp/1580531377 [19] Dunn, F. e Parberry, I. , 3D Math Primer for Graphics and Game Development. Plano-TX: Wordware Game Math Library, 2002. [20] Nadeau, D. , Building virtual worlds with VRML, IEEE Computer Graphics and Applications, vol. 19, no . 2, pp. 1829, 1999. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=749119 [21] Daly, L. e Brutzman, D. , X3D: Extensible 3D Graphics Standard [Standards in a Nutshell], IEEE Signal Processing Magazine, vol. 24, no . 6, pp. 130135, Nov. 2007. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4387948 [22] Ulloa, C. , Grden, J. , Knip, T. , e Zupko, A. , Papervision3D, 2010. [Online]. Dispon em: http://blog.papervision3d.org/ vel [23] Crawford, G. , Creating a 3D universe in Java3D, Crossroads, vol. 5, no . 2, pp. 410, Nov. 1998. [Online]. Dispon vel em: http://portal.acm.org/citation.cfm?doid=333151.333154 [24] Raman, A. , Frydrych, H. , Buck, J. , Rogers, D. , Furst, M. , Gat, N. , e Johnstone, B. , OGRE3D, 2009. [Online]. Dispon vel em: http://www.ogre3d.org/ [25] Azuma, R. T. , A Survey of Augmented Reality, Presence: Teleoperators and Virtual Environments, vol. 6, no . 4, pp. 355385, 1995. [Online]. Dispon vel em: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.5387 [26] Machado, L. d. S. , Dispositivos Hpticos para Interfaces de Realidade Virtual a e Aumentada, in Symposium of Virtual Reality. Petropolis: SBC, 2007, pp. 152167. [27] Pinhanez, C. , Interfaces No-Convencionais, in Symposium of Virtual a Reality. Belm-PA: SBC, 2006, pp. 173197. e

94

REFERENCIAS BIBLIOGRAFICAS

[28] Gutirrez, M. a. a. , Vexo, F. , e Thalmann, D. , Stepping into e Virtual Reality. London: Springer London, 2008. [Online]. Dispon vel em: http://www.springerlink.com/index/10.1007/978-1-84800-117-6 [29] Soares, L. P. , Cabral, M. C. , e Zuo, M. K. , Sistemas Avanados de Realidade c Virtual, in Symposium of Virtual Reality. Belm: SBC, 2006, pp. 5158. e [30] Siscoutto, R. , Szenberg, F. , Tori, R. , Raposo, A. B. , Celes, W. , e Gattass, M. , Estereoscopia, in Symposium of Virtual Reality. Belm-PA: SBC, 2006, e pp. 221245. [31] Tavares, A. C. M. , Fernandes, S. M. M. , e Lencastre P. de Menezes Cruz, M. , NHE: Collaborative Virtual Environment with Augmented Reality on Web, in 2010 International Conference on Cyberworlds. IEEE, Oct. 2010, pp. 438444. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5656154 [32] Pinho, M. S. e Rebelo, I. B. , Interaao em Ambientes Virtuais Imersivos, in c Symposium of Virtual Reality. Belm-PA: SBC, 2006, pp. 149172. e [33] Norman, D. , The psychology of everyday things. Basic Books, 1988. [Online]. Dispon vel em: http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp& nitem=255317 [34] Newman, J. , Wagner, M. , Bauer, M. , MacWilliams, A. , Pintaric, T. , Beyer, D. , Pustka, D. , Strasser, F. , Schmalstieg, D. , e Klinker, G. , Ubiquitous Tracking for Augmented Reality, in Third IEEE and ACM International Symposium on Mixed and Augmented Reality, no . Ismar. Arlington: IEEE, 2004, pp. 192201. [Online]. Dispon vel em: http://portal.acm.org/citation.cfm?id=1033716 http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1383056 [35] Kirner, C. e Tori, R. , Fundamentos de Realidade Aumentada, in Symposium of Virtual Reality. Belm: SBC, 2006, pp. 2238. e [36] Tin, J. e Terashima, N. , for the Third Millenium. Routledge, HyperReality: 2001. [Online]. Paradigm Dispon vel

REFERENCIAS BIBLIOGRAFICAS

95

em: http://www.amazon.com/HyperReality-Paradigm-Millenium-NobuyoshiTerashima/dp/041526104X [37] Wang, X. e Dunston, P. , Groupware Concepts for Augmented Reality Mediated Human-To-Human Collaboration, in Proceedings of Joint International Conference on Computing and Decision Making in Civil and Building Engineering. Montreal, Canad:[sn], Montreal, 2006, pp. 18361842. [Online]. Dispon a vel em: http://itc.scix.net/data/works/att/w78-2006-tf278.pdf [38] Snowdon, D. , Churchill, E. , e Munro, A. , Collaborative virtual environments: Digital spaces and places for CSCW: An introduction, in Collaborative Virtual Environments. Citeseer, 2001, pp. 317. [39] Fuks, H. , Raposo, A. B. , e Gerosa, M. A. , Do Modelo de Colaboraao 3C a c ` Engenharia de Groupware, in IX Simpsio Brasileiro de Sistemas Multimdia o e Web - WebMidia, vol. 2003. Salvador-BA: SBC, 2003, pp. 445452. [40] Fumarola, M. , Seck, M. , e Verbraeck, A. , An approach for loosely coupled discrete event simulation models and animation components, in Proceedings of the 2010 Winter Simulation Conference. IEEE, Dec. 2010, pp. 21612170. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5678857 [41] Sanders, W. e Cumaranatunge, C. , ActionScript 3.0 Design Patterns: Object Oriented Programming Techniques (Adobe Developer Library). Adobe Developer Library, 2007. [Online]. Dispon vel em: http://www.amazon.com/ActionScript-3-0-Design-Patterns-Programming/dp /0596528469 [42] Behzadan, A. H. e Kamat, V. R. , Enabling smooth and scalable dynamic 3D visualization of discrete-event construction simulations in outdoor augmented reality, in 2007 Winter Simulation Conference. IEEE, Dec. 2007, pp. 21682176. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4419851 [43] Kim, T. , Lee, J. , e Fishwick, P. , A two-stage modeling and simulation process for web-based modeling and simulation, ACM Transactions on Modeling

96

REFERENCIAS BIBLIOGRAFICAS

and Computer Simulation, vol. 12, no . 3, pp. 230248, Jul. 2002. [Online]. Dispon em: http://portal.acm.org/citation.cfm?doid=643114.643118 vel [44] Tiller, M. , Introduction to Physical Modeling with a Modelica, 1 ed. Springer, 2001. [Online]. Dispon vel em: http://www.amazon.com/Introduction-Physical-Modeling-InternationalEngineering/dp/0792373677 [45] Lee, E. A. e Neuendorer, S. , MoML - A Modeling Markup Language in XML - Version 0 . 4, Language, pp. 114, 2000. [46] Behzadan, A. H. e Kamat, V. R. , Simulation and visualization of trac operations in Augmented Reality for improved planning and design of road construction projects, in 2008 Winter Simulation Conference. IEEE, Dec. 2008, pp. 24472454. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4736353 [47] Sung, C. H. , Moon, I.-c. , e Kim, T. G. , Collaborative Work in Domain-Specic Discrete Event Simulation Software Development: Fleet Anti-air Defense Simulation Software, in 2010 19th IEEE International Workshops on Enabling Technologies: Infrastructures for Collaborative Enterprises. IEEE, 2010, pp. 160165. [Online]. Dispon em: vel http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5541948 [48] Akpan, J. e Brooks, R. , Practitioners Perception of the Impacts of Virtual Reality on Discrete-event Simulation, in Proceedings of the Winter Simulation Conference, 2005. IEEE, 2005, pp. 19761984. [Online]. Dispon vel em: http://eprints.lancs.ac.uk/30641/ http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1574476 [49] Bastos, N. C. , Teichrieb, V. , e Kelner, J. , Interaao com Realidade Virtual c e Aumentada, in Symposium of Virtual Reality. Petropolis: SBC, 2006, pp. 129148. [50] Adobe, , Adobe Flash. [Online]. http://www.adobe.com/products/ashplayer.html Dispon vel em:

[51] Eugene, , In2AR. [Online]. Dispon em: http://www.in2ar.com vel

REFERENCIAS BIBLIOGRAFICAS

97

[52] Accattato, D. , Red5. [Online]. Dispon em: http://www.red5.org vel [53] Oracle, , MySQL. [Online]. Dispon em: http://www.mysql.com/ vel [54] Herrlinger, S. , OpenRTMFP/Cumulus. https://github.com/OpenRTMFP/Cumulus [Online]. Dispon vel em:

[55] Ullrich, T. , Funfzig, C. , e Fellner, D. , Two dierent views on collision detection, IEEE Potentials, vol. 26, no . 1, pp. 2630, Jan. 2007. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=4147707 [56] Khronos, , WebGL Specication, 2012. [Online]. http://www.khronos.org/registry/webgl/specs/latest/ Dispon vel em:

[57] Bimber, O. e Raskar, R. , Spatial Augmented Reality: Merging Real and Virtual Worlds, 1a ed. Wellesley, Massachusetts: A K Peters, Ltd., 2005. [Online]. Dispon vel em: http://www.amazon.com/Spatial-Augmented-Reality-Merging-Virtual/dp/156 8812302 [58] Russel, S. J. e Norvig, P. , Articial Intelligence A Modern Approach, Pompilli, M. , Chavez, S. , e McGuire, S. , Eds. New Jersey: Prentice-Hall, 1995, no . 2. [Online]. Dispon em: http://www.ncbi.nlm.nih.gov/pubmed/21932643 vel [59] Langton, C. G. , Articial Life An Overview. Bradford Books, 1995. [60] Macal, C. M. e North, M. J. , Agent-based modeling and simulation, in Proceedings of the 2009 Winter Simulation Conference (WSC). IEEE, Dec. 2009, pp. 8698. [Online]. Dispon vel em: http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=5429318 [61] Kan, T.-W. , Teng, C.-H. , e Chou, W.-S. , Applying QR code in augmented reality applications, in Proceedings of the 8th International Conference on Virtual Reality Continuum and its Applications in Industry - VRCAI 09, vol. 1, no . 212. New York, New York, USA: ACM Press, 2009, p. 253. [Online]. Dispon em: http://portal.acm.org/citation.cfm?id=1670305 vel http://portal.acm.org/citation.cfm?doid=1670252.1670305

98

REFERENCIAS BIBLIOGRAFICAS

[62] Henrysson, A. , Billinghurst, M. , e Ollila, M. , Face to face collaborative AR on mobile phones, in Fourth IEEE and ACM International Symposium on Mixed and Augmented Reality (ISMAR05). IEEE, 2005, pp. 8089. [Online]. Dispon vel em: http://portal.acm.org/citation.cfm?id=1105185 http://ieeexplore.ieee.org/lpdocs/epic03/wrapper.htm?arnumber=1544667

Interfaces Grcas do Sistema

A
Na

As seguintes interfaces mostram telas para ilustrar um sistema completo de gerenciamento de projetos de modelos de simulaao. c

A.1 Autenticao ca
A lgica tratada para autenticar o usurio est descrita na Seao 4.3.1. o a a c Figura A.1b, a tela de login est ilustrada. a

99

100

APENDICE A. INTERFACES GRAFICAS DO SISTEMA

(b)

(c) (a) . Figura A.1: Interfaces grficas do sistema: (a) cria~o de um novo a ca projeto; (b) interface grfica do login ; (c) tela principal a do sistema.

A.2 Tela Principal


Aps o procedimento de conexo, a tela principal exibida com a listagem dos o a e projetos existentes no sistema. Caso o usurio necessite criar um projeto, pode a acionar o comando Create Project, exibindo uma nova janela, descrito na Seao A.3. c Pode-se tambm realizar a desconexo do usurio no sistema via opao logout, e a a c ou iniciar a ediao do modelo de um projeto existente selecionando-o na lista e c acionando a opo View Project. A tela principal est ilustrada na Figura A.1c. ca a

A.3 Criao de Novo Projeto ca


O usurio pode adicionar um modelo tridimensional existente do sistema para exibir a na janela da manipulaao do projeto. Assim que um novo projeto criado, o mesmo c e listado na tela principal, podendo iniciar sua edio. A Figura A.1a mostra uma e ca tela exemplicando a funcionalidade.

Diagrama Relacional de Banco de Dados

No diagrama relacional, h tabelas para informaes das participaoes dos usurios a co c a no projeto, aoes realizadas no modelo e conexes entre os componentes pelas suas c o portas de entrada e sa da. A Figura B.1 mostra o diagrama relacional com as tabelas envolvidas.

101

102

APENDICE B. DIAGRAMA RELACIONAL DE BANCO DE DADOS

Figura B.1: Diagrama relacional de banco de dados.