Professional Documents
Culture Documents
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
Universidade de Pernambuco (UPE) Escola Politcnica de Pernambuco (POLI) e Instituto de Cincias Biolgicas (ICB) e o
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
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 . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
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
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
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.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
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
xv
Lista de Algoritmos
1 2
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
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
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
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
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.
(a)
(b)
Figura 1.1: Ambiente Real e Posto 3D Virtual: (a) ambiente real; (b) ambiente com Posto 3D Virtual.
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
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
(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
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
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
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
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
10
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
12
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
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
13
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
(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
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
15
y z
my
my
mz = mz mx x mx
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
y z
y z
my
my
mz
mz
x mx mx
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
17
y z
y z
my
mz my x mx
mz x mx
my
my mz
mz
x mx
mx
(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
my
mz
my x mz mx x
mx
(2.8)
19
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
2.2.1
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
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
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.
22
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
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
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
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.
24
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.
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
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.
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
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
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
(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
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
29
2.3.1
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
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
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
31
(a)
(b)
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
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.
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
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
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
2.4.3
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
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.
36
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].
37
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
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
M A
D B
Simulador
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;
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
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
42
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.
43
44
Figura 3.2: Computadores em rede visualizando colaborativamente um projeto em Realidade Aumentada na Web.
45
X3D
XSLT
MXL
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.
46
(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
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
47
48
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
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
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
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.
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
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
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
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
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
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.
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
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.
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
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
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
Controller
DBController ServerController ARController
ActionController
NHEController
World3DController
StateController
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
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
Composto
N
Ao
N
AoConectar
N
Contm
Contm
N
Perfil
Envolve
1
Envolve
Porta
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
(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
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
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
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
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
(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.
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
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
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
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
(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
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
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.
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
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)
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
Consumo de Memria
185 180
Memria (MB)
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)
4.4.3
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.
81
4.5.1
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
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
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
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
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
85
86
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
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
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
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
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
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:
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
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
(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.
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