ambiente virtual colaborativo com realidade aumentada para modelagem e simulação de sistemas

Upload: anderson-tavares

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    1/128

    Universidade de Pernambuco (UPE)

    Escola Politecnica de Pernambuco (POLI)

    Instituto de Ciencias Biologicas (ICB)

    Programa de Pos-Graduacao em Engenharia de Sistemas

    Anderson Carlos Moreira Tavares

    Ambiente Virtual Colaborativo com Realidade Aumentada

    para Modelagem e Simulacao de Sistemas

    Orientador : Profa Dra Maria Lencastre Pinheiro de Menezes CruzCoorientador : Prof. Dr. Sergio Murilo Maciel Fernandes

    Recife-PE, Fevereiro de 2012.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    2/128

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    3/128

    Universidade de Pernambuco (UPE)

    Escola Politecnica de Pernambuco (POLI)

    Instituto de Ciencias Biologicas (ICB)

    Programa de Pos-Graduacao em Engenharia de Sistemas

    Anderson Carlos Moreira Tavares

    Ambiente Virtual Colaborativo com Realidade Aumentada

    para Modelagem e Simulacao de Sistemas

    Orientador : Profa Dra Maria Lencastre Pinheiro de Menezes CruzCoorientador : Prof. Dr. Sergio Murilo Maciel Fernandes

    Dissertacao de Mestrado

    apresentada a Universidade de

    Pernambuco como parte dos

    requisitos para a obtencao do ttulode Mestre em Engenharia de

    Sistemas.

    Area de concentracao :

    Cibernetica.

    Banca Examinadora

    Profa Dra Maria Lencastre Pinheiro de Menezes Cruz UPE

    Prof. Dr. Carmelo J. A. Bastos Filho . . . . . . . . . . . . . . . UPE

    Profa Dra Judith Kelner . . . . . . . . . . . . . . . . . . . . . . . . . . . UFPE

    Recife-PE, Fevereiro de 2012.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    4/128

    A minha mae e a minha namorada.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    5/128

    Resumo

    A construcao de sistemas complexos requer um planejamento adequado para seu

    sucesso. A Modelagem e Simulacao (M&S) de Sistemas de Eventos Discretos pode

    auxiliar essa etapa com a analise do funcionamento antes mesmo da modificacao

    fsica no mundo real. Os programas atuais de Modelagem e Simulacao contem

    uma variedade de componentes para criacao dos modelos, porem, e necessaria a

    mudanca de foco entre o sistema real e o modelo para sua cria cao. Essa mudanca

    pode prejudicar o processo de validacao do modelo. O trabalho proposto pretende

    demonstrar como o desenvolvimento do modelo pode ser visualizado diretamente no

    mundo real, utilizando tecnologias de Realidade Aumentada, alem de demonstrar

    a importancia dos modulos de colaboracao nesse sistema, auxiliando equipes de

    sistemas complexos. Fundamentos teoricos e praticos sao detalhados. O prototipo,

    desde o planejamento ate a fase de testes, e descrito, bem como resultados e

    conclusoes sao levantados.

    Palavras-chave: Realidade Aumentada, Ambiente Virtual Colaborativo,

    Modelagem e Simulacao, Sistemas de Eventos Discretos.

    i

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    6/128

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    7/128

    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 modification 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

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    8/128

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    9/128

    Agradecimentos

    Agradeco a minha mae por ter me ajudado nessa caminhada, acreditando no

    meu pontencial.

    Agradeco a minha namorada por ter dado forcas, alegrias e motivacoes no

    desenvolvimento do trabalho.

    Agradeco a professora Dra Maria Lencastre pela orientacao e experiencia na area

    de modelagem e simulacao de sistemas, alem da paciencia para a realizacao de muitascorrecoes e sugestoes, enriquecendo o trabalho.

    Agradeco ao professor Dr. Sergio Murilo pelas ideias inovadoras que fizeram

    o prototipo atraente o suficiente para ser uma grande contribuicao a sociedade

    academica.

    Agradeco ao professor Dr. Carmelo pela coordenacao e orientacao dos processos,

    alem da luta pela evolucao de todos no Programa de Pos-Graduacao em Engenharia

    de Sistemas. Isso tambem levou ao crescimento da qualidade do projeto.

    Agradeco a Julia e Georgina pelo incansavel suporte, e incentivo a participacoes

    nas conferencias e congressos.

    Agradeco aos meus colegas e meus professores do Programa de P os-Graduacao

    em Engenharia de Sistemas que acreditaram em cada participante, em cada projeto

    e em cada ideia, fazendo crescer o grupo como todo.

    v

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    10/128

    vi AGRADECIMENTOS

    Agradeco aos professores Byron e Bruno, formando uma fantastica e promissora

    equipe, o grupo de Reconhecimento de Padroes e Processamento Digital de Sinais

    (RPPDI), atraindo atencoes ate da NASA.

    A todas as outras pessoas que nao tenho citado acima e, de alguma forma,

    contriburam para o sucesso deste trabalho.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    11/128

    Sumrio

    Resumo i

    Abstract iii

    Agradecimentos v

    Lista de Figuras xi

    Lista de Tabelas xv

    Lista de Algoritmos xvii

    Lista de Acronimos xix

    1 Introducao 1

    1.1 Caracterizacao do Problema . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    1.2.2 Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . 71.2.3 Estrategia Adotada . . . . . . . . . . . . . . . . . . . . . . . . 8

    1.3 Estrutura do Documento . . . . . . . . . . . . . . . . . . . . . . . . . 9

    2 Fundamentos Teoricos 11

    2.1 Matematica Tridimensional . . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.1 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    vii

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    12/128

    viii SUMARIO

    2.1.2 Transformacoes . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.2 Realidade Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

    2.2.1 Definicao de Realidade Virtual . . . . . . . . . . . . . . . . . . 202.2.2 Motivacao do Uso da RV . . . . . . . . . . . . . . . . . . . . . 21

    2.2.3 Equipamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.2.4 Estereoscopia . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.2.5 Dificuldades Gerais da Realidade Virtual . . . . . . . . . . . . 28

    2.3 Realidade Aumentada . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    2.3.1 Definicao de Realidade Aumentada . . . . . . . . . . . . . . . 29

    2.3.2 Classificacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.3.3 Motivacao do Uso da RA . . . . . . . . . . . . . . . . . . . . . 31

    2.3.4 Dificuldades no Uso da RA . . . . . . . . . . . . . . . . . . . . 31

    2.4 Sistema Colaborativo . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.4.1 Trabalho Colaborativo Assistido por Computador . . . . . . . 33

    2.4.2 Modelo 3C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.4.3 Ambiente Virtual Colaborativo . . . . . . . . . . . . . . . . . 34

    2.5 Modelagem e Simulacao . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.5.1 Framework para Modelagem e Simulacao . . . . . . . . . . . . 37

    3 Estado-da-Arte 413.1 Animacao em Simulacao de Sistemas de Eventos Discretos . . . . . . 41

    3.2 Visualizacao 3D de Simulacao de Operacoes de Construcao . . . . . . 43

    3.3 Realidade Aumentada com Colaboracao na Web . . . . . . . . . . . . 43

    3.4 Framework para Simulacao de Sistemas de Eventos Discretos na Web 44

    3.5 Visualizacao de Modelos de Operacoes de Trafego com RA . . . . . . 45

    3.6 Trabalho Colaborativo na Modelagem e Simulacao de Eventos Discretos 46

    3.7 Impacto da Realidade Virtual na Simulacao de Eventos Discretos . . 47

    3.8 Tabela comparativa dos trabalhos . . . . . . . . . . . . . . . . . . . . 47

    4 Desenvolvimento da Proposta 51

    4.1 Termos importantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    4.1.1 Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    4.1.2 Cenario 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    4.1.3 Metafora de Manipulacao . . . . . . . . . . . . . . . . . . . . 52

    4.1.4 Marcador Fiducial . . . . . . . . . . . . . . . . . . . . . . . . 53

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    13/128

    SUMARIO ix

    4.1.5 Mouse 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    4.1.6 Seletor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.2 Planejamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2.1 Concepcao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.2.2 Tecnologias Usadas . . . . . . . . . . . . . . . . . . . . . . . . 59

    4.2.3 Elaboracao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    4.3 Desenvolvimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    4.3.1 Autenticacao . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

    4.3.2 Manipular Projeto . . . . . . . . . . . . . . . . . . . . . . . . 64

    4.4 Consideracoes e Avaliacoes sobre o Funcionamento do Sistema . . . . 78

    4.4.1 Taxa de Quadros . . . . . . . . . . . . . . . . . . . . . . . . . 79

    4.4.2 Consumo de Memoria . . . . . . . . . . . . . . . . . . . . . . 79

    4.4.3 Tempo de Resposta na Transmissao . . . . . . . . . . . . . . . 80

    4.5 Problemas Encontrados . . . . . . . . . . . . . . . . . . . . . . . . . . 80

    4.5.1 Marcadores Longe da Webcam Nao Rastreados . . . . . . . . 81

    4.5.2 Trasmissao de Webcam com Atraso . . . . . . . . . . . . . . . 81

    4.5.3 Perda de Rastreamento . . . . . . . . . . . . . . . . . . . . . . 81

    4.5.4 Pouca Iluminacao . . . . . . . . . . . . . . . . . . . . . . . . . 81

    4.5.5 Oclusao do Marcador . . . . . . . . . . . . . . . . . . . . . . . 82

    4.5.6 Movimentos Rapidos do Marcador . . . . . . . . . . . . . . . . 82

    5 Conclusoes 83

    5.1 Contribuicoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

    5.2 Consideracoes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    5.3 Objecoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

    5.3.1 Sistema Usando Interfaces WIMP . . . . . . . . . . . . . . . . 86

    5.3.2 Cenario Nao Visto no Mundo Real . . . . . . . . . . . . . . . 87

    5.3.3 Estrutura 3D Nao Editavel . . . . . . . . . . . . . . . . . . . . 87

    5.3.4 Reducao de Imersao pela Visao Indireta . . . . . . . . . . . . 87

    5.4 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

    Referencias Bibliograficas 91

    A Interfaces Graficas do Sistema 99

    A.1 Autenticacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    14/128

    x SUMARIO

    A.2 Tela Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    A.3 Criacao de Novo Projeto . . . . . . . . . . . . . . . . . . . . . . . . . 100

    B Diagrama Relacional de Banco de Dados 101

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    15/128

    Lista de Figuras

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

    com Posto 3D Virtual. . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.2 Modelo comportamental do posto. . . . . . . . . . . . . . . . . . . . . 4

    1.3 Modelo comportamental diretamente no Cenario 3D. . . . . . . . . . 5

    1.4 Colaboracao de duas pessoas em diferentes posicoes: (a) projeto

    visualizado pela pessoa a esquerda; (b) projeto visualizado pela pessoa

    a direita; (c) modelagem e simulacao colaborativa. . . . . . . . . . . . 6

    1.5 Relacao entre as areas abordadas no projeto. . . . . . . . . . . . . . . 8

    2.1 Sistema de Coordenadas Cartesiano. . . . . . . . . . . . . . . . . . . 12

    2.2 Composicao de vetores. . . . . . . . . . . . . . . . . . . . . . . . . . . 13

    2.3 Espaco de coordenadas representado por eixos unitarios. . . . . . . . 14

    2.4 Alteracao do espaco de coordenadas. . . . . . . . . . . . . . . . . . . 15

    2.5 Transformacao de escala. . . . . . . . . . . . . . . . . . . . . . . . . . 16

    2.6 Transformacao de rotacao sobre o eixo x. . . . . . . . . . . . . . . . . 17

    2.7 Transformacao de rotacao sobre o eixo y. . . . . . . . . . . . . . . . . 17

    2.8 Transformacao de rotacao sobre o eixo z. . . . . . . . . . . . . . . . . 182.9 Exemplo de Realidade Virtual. . . . . . . . . . . . . . . . . . . . . . . 19

    2.10 Equipamentos de Realidade Virtual. . . . . . . . . . . . . . . . . . . . 20

    2.11 Simulacao de Voo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.12 Os 6 Graus de Liberdade. . . . . . . . . . . . . . . . . . . . . . . . . 22

    2.13 Exemplo de HMD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

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

    xi

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    16/128

    xii LISTA DE FIGURAS

    2.15 Luva com sensacao tatil para o usuario, extrado de [26]. . . . . . . . 24

    2.16 Ambiente CAVE, extrado de [29]. . . . . . . . . . . . . . . . . . . . . 24

    2.17 Projetor Estereoscopico. . . . . . . . . . . . . . . . . . . . . . . . . . 252.18 Monitores exibindo em 2D um mundo em 3D. . . . . . . . . . . . . . 26

    2.19 Efeito paralaxe: (a) olhos em posicoes diferentes; (b) imagem

    capturada pelo olho esquerdo; (c) imagem capturada pelo olho direito 27

    2.20 Exemplo de Anaglifo no Projeto: (a) Objeto 3D com as cores; (b)

    Oculos de visualizacao do anaglifo. . . . . . . . . . . . . . . . . . . . 28

    2.21 Classificacao de sistemas de RA: (a) imersivo; (b) nao-imersivo. . . . 31

    2.22 Modelo 3C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.23 Ilustracao de um modelo composto e sua hierarquia. . . . . . . . . . . 38

    2.24 Entidades de M&S e seus relacionamentos. . . . . . . . . . . . . . . . 38

    3.1 Arquitetura de Fumarola do Sistema de Simulacao e Animacao de

    Modelos de Sistemas de Eventos Discretos [40]. . . . . . . . . . . . . 42

    3.2 Computadores em rede visualizando colaborativamente um projeto

    em Realidade Aumentada na Web. . . . . . . . . . . . . . . . . . . . 44

    3.3 Estrutura geral do sistema RUBE. . . . . . . . . . . . . . . . . . . . . 45

    3.4 Simulacao de trafego com Realidade Aumentada: (a) equipamentos

    de captura de informacao do mundo real; (b) veculo virtual esperandopor veculo real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    4.1 Estrutura relacionando os recursos utilizados no sistema proposto

    neste trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    4.2 Proposta da utilizacao da metafora de manipulacao do cubo de

    marcadores fiduciais. . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

    4.3 Marcadores fiduciais usados no projeto. . . . . . . . . . . . . . . . . . 56

    4.4 Funcionamento do RTMFP. . . . . . . . . . . . . . . . . . . . . . . . 57

    4.5 Concepcao da interface grafica da modelagem do sistema cliente. . . . 574.6 Sequencia de Atividades do Projeto. . . . . . . . . . . . . . . . . . . . 58

    4.7 Diagrama de Casos de Uso com Atores do Sistema. . . . . . . . . . . 60

    4.8 Classes do pacote Model: (a) classes do pacote Model do banco de

    dados; (b) classes do pacote Model da comunicacao com servidor. . . 61

    4.9 Classes da camada Controller. . . . . . . . . . . . . . . . . . . . . . . 62

    4.10 Classes da camada View. . . . . . . . . . . . . . . . . . . . . . . . . . 62

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    17/128

    LISTA DE FIGURAS xiii

    4.11 Diagrama Entidade-Relacionamento de banco de dados. . . . . . . . . 63

    4.12 Processo de conexao em modo pull e push: (a) modo pull; (b) modo

    push. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.13 Ilustracao da orientacao de um dos modulos no ambiente:

    (a) posicionamento antes da orientacao; (b) rotacao relativo ao

    cenario; (c) rotacao relativo ao ambiente. . . . . . . . . . . . . . . . . 66

    4.14 Orientacao do Cenario. . . . . . . . . . . . . . . . . . . . . . . . . . . 67

    4.15 Funcionamento do Mouse 3D com exibicao do seletor . . . . . . . . . 68

    4.16 Insercao de um dos modulos no ambiente (ilustracao):

    (a) selecionando um componente para inserir; (b) arrastando o

    marcador para o local; (c) concluindo a insercao. . . . . . . . . . . . . 694.17 Insercao de um dos modulos no ambiente: (a) selecionando um

    componente para a insercao; (b) arrastando um componente para

    o cenario; (c) posicionando o componente; (d) concluindo a insercao;

    (e) inserindo mais tres componentes. . . . . . . . . . . . . . . . . . . 70

    4.18 Deteccao de colisao AABB. . . . . . . . . . . . . . . . . . . . . . . . 71

    4.19 Ilustracao do processo de conexao de componentes no ambiente:

    (a) selecionando a operacao de conexao; (b) arrastando o marcador

    para o 1o componente; (c) arrastando o marcador para o 2o

    componente; (d) concluindo a conexao. . . . . . . . . . . . . . . . . . 72

    4.20 Conexao entre modulos: (a) escolhendo a operacao de conexao;

    (b) controlando o seletor para conexao; (c) selecao do primeiro

    componente; (d) selecao do segundo componente; (e) resultado da

    Conexao; (f) conectando outros componentes. . . . . . . . . . . . . . 73

    4.21 Ilustracao do processo de remocao de componentes no ambiente:

    (a) selecionando a operacao de remocao; (b) arrastando o marcador

    para o componente; (c) concluindo a remocao. . . . . . . . . . . . . . 74

    4.22 Remocao de um modulo no sistema: (a) selecionando a operacao;(b) selecionando o modulo; (c) removendo modulo e conexoes. . . . . 74

    4.23 Processo de mudanca de versoes do modelo: (a) versao original do

    modelo; (b) iniciando a versao alternativa; (c) versao alternativa. . . . 76

    4.24 Tela do ambiente colaborativo com usuario visualizando ao mesmo

    tempo o seu ponto de vista e de outro participante . . . . . . . . . . 77

    4.25 Taxa de Quadros da Aplicacao Cliente. . . . . . . . . . . . . . . . . . 79

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    18/128

    xiv LISTA DE FIGURAS

    4.26 Consumo de Memoria da Aplicacao Cliente. . . . . . . . . . . . . . . 80

    A.1 Interfaces graficas do sistema: (a) criacao de um novo projeto;

    (b) interface grafica do login; (c) tela principal do sistema. . . . . . . 100

    B.1 Diagrama relacional de banco de dados. . . . . . . . . . . . . . . . . . 102

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    19/128

    Lista de Tabelas

    2.1 Diferencas entre Realidade Virtual e Aumentada. . . . . . . . . . . . 30

    2.2 Classificacao de Ambientes Colaborativos. . . . . . . . . . . . . . . . 33

    2.3 Especificacao de um modelo atomico DEVS. . . . . . . . . . . . . . . 36

    2.4 Especificacao de um modelo composto DEVS. . . . . . . . . . . . . . 37

    3.1 Tabela comparativa resumindo o estado da arte. . . . . . . . . . . . . 48

    4.1 Configuracao dos computadores. . . . . . . . . . . . . . . . . . . . . . 78

    xv

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    20/128

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    21/128

    Lista de Algoritmos

    1 Selecao da Operacao na Modelagem. . . . . . . . . . . . . . . . . . . 68

    2 Deteccao de Colisao AABB. . . . . . . . . . . . . . . . . . . . . . . . 71

    xvii

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    22/128

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    23/128

    Lista de Acrnimos

    Nesta secao sao listadas as abreviacoes que ocorrem comfrequencia no decorrer do trabalho. Na tabela, a primeiracoluna refere-se ao acronimo. Na segunda coluna, temos a sua definicao

    em ingles ou em portugues. Por fim, a terceira coluna contem as

    paginas do texto na qual o acronimo aparece, definida pela primeira

    pagina apresentada.

    ALife Artificial Life. 87

    AABB Axis-Aligned Bounding Boxes. 71

    ABMS Agent-Based Modeling and Simulation. 87

    AMF Actionscript Message Format. 56

    CAVE Cave Automatic Virtual Environment. 25

    CellDEVS Cellular Based DEVS. 38

    CSCW Computer Supported Collaborative Work. 33

    CVE Collaborative Virtual Environment. 33, 35

    DES Discrete Event System. 2, 3, 7, 8

    DEVS Discrete Event System Specification. 36, 38,

    43, 51, 53, 61, 72

    DOF Degrees Of Freedom. 22

    xix

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    24/128

    xx Acronyms

    FPS Frames Per Second. 80

    GOL Game of Life. 38GPU Graphical Processing Unit. 80

    GSMP Generalized Semi-Markovian Process . 2

    HMD Head Mounted Display. 25, 30, 31, 43, 8587

    IA Inteligencia Artificial. 87

    IHC Interacao Humano-Computador. 1

    M&S Modelagem e Simulacao. i, 2, 3, 7, 8, 11, 41,

    44, 48

    MAR Markerless Augmented Reality. 87, 88

    MVC Model-View-Controller. 42, 60, 63

    MXL Multimodel eXchange Language. 44

    P2P Peer-to-Peer. 61, 78

    PDEVS Parallel DEVS. 38

    QR Quick Response. 87, 88

    RA Realidade Aumentada. 2, 7, 11, 15, 2932, 35,

    43, 46, 48, 49, 52, 64, 85, 87, 88

    RTMFP Real-Time Media Flow Protocol. 56, 59, 61,

    64, 76, 78, 81

    RTMP Real-Time Media Protocol. 59, 78, 81

    RV Realidade Virtual. 1, 2, 11, 1921, 23, 32, 35,

    46, 48, 49, 52

    SDK Software Development Kit. 87

    SGBD Sistema Gerenciador de Banco de Dados. 59

    TCP Transmission Control Protocol. 59, 78, 81

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    25/128

    Acronyms xxi

    TI Tecnologia da Informacao. 83

    TIC Tecnologia da Informacao e Comunicacao. 83

    UDP User Datagram Protocol. 59, 61, 78, 81

    UML Unified Modeling Language. 8, 59

    VRML Virtual Reality Modeling Language . 19, 20, 44

    WIMP Windows, Icons, Menus and Pointers . 1, 27,

    85, 86

    X3D eXtensible 3D Graphics . 44

    XML eXtensive Markup Language . 20, 44, 45

    XSLT eXtensible Stylesheet Language

    Transformation. 44

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    26/128

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    27/128

    1Introduo

    A interatividade homem-maquina, suportada ha 35 anos pelas interfaces Windows,

    Icons, Menus and Pointers (WIMP) [1], vem apresentando novos padroes de

    comunicacao para que as informacoes sejam passadas de forma mais confortavel e

    rapida possvel. Porem, ferramentas WIMP tradicionais podem nao ser adequadas

    para todos os perfis de pessoas.

    Devido a natureza tridimensional do mundo em que vivemos, a representacao

    bidimensional da informacao pode nao retratar fielmente os elementos a serem

    observados. Tecnologias pos-WIMP [1] podem ajudar o usuario na interacao comsistemas computacionais, fazendo com que eles compreendam melhor as informacoes

    atraves de representacao tridimensional. Servem assim como motivacao para

    pesquisas na area de Interacao Humano-Computador (IHC) [2], constituintes de

    tecnologias pos-WIMP.

    Uma das tecnologias que tem ajudado na interacao entre pessoas e visualizacao

    de sistemas e denominada ambiente virtual, composta pela Realidade Virtual (RV)

    1

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    28/128

    2 CAPITULO 1. INTRODUC AO

    e pela Realidade Aumentada (RA). A RV integra o usuario em um mundo virtual

    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 quea representacao interativa e imersiva do imaginario fosse mais facil de ser obtida.

    Muitas aplicacoes, como as que dao apoio ao tratamento de fobias [5], simulacao

    de exames cirurgicos [6] e de tecnicas de extracao de petroleo [7] podem ser

    beneficiadas com o uso da RV. Outras aplicacoes, como as que dao suporte a melhoria

    de atividades com criancas portadoras de necessidades especiais [8], e aplicacoes que

    incluem manipulacao de um motor virtual usando as proprias maos estao sendo

    realizados com tecnicas de realidade aumentada. Por exemplo, pode-se obter um

    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 conexao e da capacidade de

    processamento dos computadores, a RA esta tornando-se mais acessvel para os

    usuarios de computadores pessoais. Os sistemas tambems estao se tornando mais

    complexos.

    A crescente complexidade de sistemas computacionais requer tecnicas para todas

    as etapas de desenvolvimento, desde o planejamento ate a entrega final do produto.

    Estas etapas incluem a Modelagem e Simulacao de Sistemas (M&S), que permite

    estudar sistemas reais de uma forma abstrata e simplificada, sem a necessidadede sua alteracao, e dessa forma, auxilia a responder perguntas do tipo O que

    aconteceria se existisse um ou varios cenarios?.

    Um modelo e uma representacao de um sistema, seja real ou imaginario; e

    desenvolvido de forma a reproduzir o sistema desejado. Por sua vez, um sistema

    e um conjunto de componentes com a funcao de atingir um ou mais objetivos [10].

    A simulacao e a execucao do modelo com parametros escolhidos para analisar um

    cenario especfico.

    Existem tecnicas formais para modelagem de sistemas, como por exemplo[11]: Cadeias de Markov, Processo Semi-Markoviano Generalizado ou Generalized

    Semi-Markovian Process (GSMP), Maquina de Estados Finitos, Redes de Petri,

    Redes de Filas, Automatos (Finitos Determinsticos e Nao-Determinsticos) e

    Linguagem Formal de Calculo de Sistemas de Comunicacao.

    A modelagem de Sistemas de Eventos Discretos, ou Discrete Event System (DES)

    e focada em sistemas que recebem eventos e alteram seus estados, alem de ser

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    29/128

    1.1. CARACTERIZAC AO DO PROBLEMA 3

    baseada nas tecnicas supracitadas. Alguns sistemas, como por exemplo jogos, linhas

    de producao e sistemas de filas, sao sistemas de eventos discretos.

    Os sistemas DES, abordados neste trabalho, sao dinamicos, pois os estados saoalterados no decorrer do tempo. Tambem sao estocasticos, pois os estados nao

    modelam incertezas. Por ultimo, sao discretos, pois o conjunto de estados assume

    uma quantidade finita [12, pp. 45-46].

    Varias sao as ferramentas de M&S para DES utilizadas [13]: Arena [14],

    Simscript [15], AnyLogic [16], Simlox [17], etc. Elas ainda sao deficientes quanto a

    representacao de uma forma mais fiel da realidade ou do imaginario sendo projetado

    como, por exemplo, na visualizacao do modelo e na sua comparacao com o sistema

    real.

    1.1 Caracterizacao do Problema

    Para se criar um modelo em um software para simulacao, o usuario analisa um

    sistema, seja real ou imaginario, para depois realizar a modelagem. Nessa transicao,

    o usuario perde o foco, podendo transcrever de forma nao adequada as informacoes

    necessarias do sistema estudado para o modelo projetado. Se a visualizacao da

    realidade e a criacao do modelo fossem integrados, os modelos gerados poderiam,

    mais facilmente, ser fieis aos modelos reais e aos cenarios desejados. O grau de

    imersao dessa interacao pode ser melhor transcrito caso o usuario inicie a modelagem

    justamente no momento em que se ve o mundo real.

    Para ilustrar esta analise, um estudo de caso ao longo do trabalho e desenvolvido,

    e envolve a modelagem comportamental do fluxo de veculos de um posto de gasolina.

    Ao inves de ir ao local real de um posto de gasolina, sera mostrado um cenario 3D

    representando o posto. A Figura 1.1a mostra o ambiente real no qual sera mostrado

    o posto virtual.

    O ambiente mostra um local para exibir o posto 3D num determinado angulo epoder analisar sua estrutura de forma a iniciar a modelagem. O posto virtual no

    ambiente pode ser visto na Figura 1.1b.

    A partir da analise do sistema, cria-se um modelo descrevendo sua dinamica.

    Como exemplo, usando o software de modelagem e simulacao Arena, o resultado da

    modelagem, visto na Figura 1.2, pode ser entao executado para iniciar a simulacao

    do sistema.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    30/128

    4 CAPITULO 1. INTRODUC AO

    (a) (b)

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

    (b) ambiente com Posto 3D Virtual.

    Figura 1.2: Modelo comportamental do posto.

    Para um melhor entendimento do modelo mostrado, a entrada dos veculos no

    posto e simbolizado pelo componente gerador E1. Apos a entrada, os veculos

    decidem se continuam em frente para encher o tanque de combustvel, representado

    pelos componentes de processamento C1 e C2, ou se fazem a curva. Essa decisao

    e representada pelo componente roteador D1. Os veculos que desviaram ainda

    podem tomar a decisao de encher o tanque, representados pelos componentes de

    processamento C3 e C4, ou se saem do sistema pelo componente de sada S1. Osveculos que usaram os tanques saem pelo local representado pelo componente S2.

    Dado o problema, a solucao proposta neste trabalho se encaixa no estudo de

    caso ilustrado na Figura 1.3, uma modificacao da Figura 1.1b com a adicao do

    modelo de simulacao em 3D. O modelador pode criar a dinamica do fluxo de veculos

    diretamente no cenario em estudo. O resultado e uma melhor visualizacao do modelo

    dinamico para sua simulacao.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    31/128

    1.1. CARACTERIZAC AO DO PROBLEMA 5

    Figura 1.3: Modelo comportamental diretamente no Cenario 3D.

    Pode-se pensar em simulacoes definidas de forma colaborativa, considerando

    que sistemas de alta complexidade para a modelagem sao geralmente discutidas

    e montadas por equipes de profissionais, que podem ter objetivos em comum ou

    diferentes pontos de vista sobre um mesmo sistema. Esse nvel de colaboracaopode ser importante para o modelo garantir sua validade com o mundo real. A

    Figura 1.4 exibe uma nova versao do exemplo do posto, contemplando sua definicao

    de forma colaborativa, e possivelmente desenvolvido simultaneamente atraves de

    dois participantes em posicoes diferentes do projeto. Sobre esses modelos, podem-se

    fazer estudos da simulacao do fluxo de veculos.

    Com a demanda por sistemas mais complexos, a necessidade de melhores modelos

    e simulacoes leva a alguns questionamentos acerca dos assuntos supracitados:

    1. A realidade aumentada pode beneficiar a interacao entre o homem e amaquina em um modelo de simulacao?

    2. Como um modelo pode ser mais facilmente desenvolvido com metaforas de

    manipulacao usadas naturalmente pelos seres humanos?

    3. Qual o grau de benefcio na aplicacao de modulos de colaboracao para tal

    desenvolvimento?

    4. Como um sistema com essa natureza pode ter alta disponibilidade e que

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    32/128

    6 CAPITULO 1. INTRODUC AO

    (a) (b)

    (c)

    Figura 1.4: Colaborac~ao de duas pessoas em diferentes posic~oes:

    (a) projeto visualizado pela pessoa a esquerda; (b) projeto

    visualizado pela pessoa a direita; (c) modelagem e simulac~ao

    colaborativa.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    33/128

    1.2. OBJETIVOS 7

    tecnicas de tolerancia a falhas podem ser desenvolvidas no contexto deste

    ambiente, de forma a assegurar a confiabilidade?

    1.2 Objetivos

    Os objetivos sao divididos em objetivo geral e especficos, descritos atraves de metas.

    1.2.1 Objetivo Geral

    O objetivo geral do trabalho e propor um sistema que forneca aos usuarios a

    funcionalidade de criar modelos de simulacao de forma colaborativa e imersiva,utilizando tecnicas de realidade aumentada e de controle de versao.

    Considerando os avancos na area de ambientes virtuais, neste projeto tem-se

    como objetivo explorar a integracao dos mesmos na area de M&S, proporcionando

    uma representacao mais fidedigna da realidade, atendendo assim a necessidade de

    ambientes mais sofisticados.

    1.2.2 Objetivos Especficos

    De forma a cumprir com o objetivo geral, foram necess arios os estabelecimentos deobjetivos intermediarios, denominados especficos, de modo a organizar as metas e

    facilitar a compreensao da evolucao do projeto durante o seu desenvolvimento:

    Reunir informacoes para compreensao dos fundamentos e do estado-da-arte

    das areas envolvidas no projeto;

    Propor uma interface para melhoria na visualizacao e interacao dos modelos

    de simulacao utilizando realidade aumentada;

    Descrever e demonstrar tecnicas de controle de versoes no processo de

    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 especfico, foram estabelecidas as metas descritas

    a seguir, visando facilitar o desenvolvimento do projeto e evolucao de um sistema

    para a M&S, o qual demonstra o poder da RA como uma nova forma de intera cao

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    34/128

    8 CAPITULO 1. INTRODUC AO

    com o usuario desenvolvedor, e ao mesmo tempo contemple a criacao de projetos de

    forma colaborativa:

    Meta 1: Planejamento e concepcao do sistema que contribua na area de M&Sde DES;

    Meta 2: Desenvolvimento da interface o qual exibe o ambiente tridimensional

    para criacao de modelos de simulacao em realidade aumentada;

    Meta 3: Insercao de recursos de tolerancia a falhas para elevar o potencial

    do produto em situacoes crticas;

    Meta 4: Desenvolvimento de funcionalidades para a modelagem colaborativa

    de sistemas;

    Meta 5: Testes e geracao de resultados para validacao da proposta.

    1.2.3 Estrategia Adotada

    Para alcancar o objetivo proposto, foi montada uma estrategia de integracao de

    areas distintas do conhecimento: a modelagem e simulacao de sistemas de eventos

    discretos, realidade aumentada, ambientes colaborativos e tolerancia a falhas.

    O mapa mental da Figura 1.5 mostra a relacao entre as areas usadas no trabalho,

    de forma a definir o escopo necessario para o projeto.

    Figura 1.5: Relac~ao entre as areas abordadas no projeto.

    O foco do trabalho foi definido na area de M&S de DES. Os elementos basicos

    para a criacao dos modelos foram definidos a partir de um subconjunto de elementos

    basicos do ambiente de simulacao Arena; esse subconjunto de componentes foi

    escolhido como prova de demonstracao dos objetivos. Apesar dos elementos

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    35/128

    1.3. ESTRUTURA DO DOCUMENTO 9

    construdos serem voltados para a modelagem da simulacao, a dinamica da simulacao

    nao foi contemplada (pois aumentaria consideravelmente o escopo do trabalho).

    A contribuicao maior esta na adicao de recursos de Realidade Aumentada (commarcadores fiduciais) e Tolerancia a Falhas (realizando o checkpointing com a tecnica

    Audit Trails [18]). Marcadores fiduciais sao padroes

    Com relacao ao sistema, foi feito inicialmente um planejamento, que contemplou

    entre outras atividades a definicao do escopo, o levantamento de requisitos,

    modelagem do banco e construcao de diagramas Unified Modeling Language (UML).

    A seguir foi feita a concepcao do sistema, que constou de uma primeira proposta

    que depois sofreu simplificacoes com relacoes ao rastreamento do marcador, gerando

    assim a concepcao definitiva. Por fim, foi feito o desenvolvimento do sistema e a

    realizacao de testes.

    1.3 Estrutura do Documento

    O Captulo 2 esclarece os conceitos necessarios para a compreensao dos captulos

    subsequentes. O Captulo 3 detalha um estudo de diversos trabalhos sendo feitos

    atualmente e as compara com o trabalho proposto.O Captulo 4 compreende todo

    o planejamento e construcao do sistema, com imagens exemplificando o uso de

    diferentes componentes do mesmo. Analises e problemas encontrados tambem saodescritos. O Captulo 5 conclui o trabalho com o sumario de benefcios gerados

    em consequencia com os resultados do projeto, bem como problemas encontrados e

    respostas a objecoes sobre o projeto proposto.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    36/128

    10 CAPITULO 1. INTRODUC AO

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    37/128

    2Fundamentos Tericos

    Antes de explicar o conceito de RV e RA, conceitos basicos de matematica 3D

    sao importantes a serem explanados. Isto e feito na Secao 2.1. Fundamentos de

    Realidade Virtual, na Secao 2.2, e Realidade Aumentada, na Secao 2.3, sao descritos

    detalhadamente. Como o ambiente proposto e colaborativo, sistemas colaborativos

    sao descritos na Secao 2.4. Essas tecnologias sao reunidas para ajudar usuarios na

    aplicacao de M&S, cujos elementos sao definidos na Secao 2.5.

    Nas proximas secoes serao detalhados os conceitos usados no trabalho proposto.

    2.1 Matematica Tridimensional

    Em um mundo tridimensional, elementos virtuais sao movidos, rotacionados e

    redimensionados atraves de operacoes geometricas. A matematica 3D e relacionada

    a area da Geometria Computacional, que lida com a resolucao de problemas que

    podem ser resolvidos por algoritmos de natureza geometrica.

    11

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    38/128

    12 CAPITULO 2. FUNDAMENTOS TEORICOS

    Para saber como estas operacoes sao realizadas nos objetos 3D, e necessario

    conhecer a representacao destes elementos em um formato matematico. Estes

    conceitos matematicos podem ser encontrados em [19].Um objeto 3D e modelado em um conjunto de pontos, denominados vertices,

    conectados em arestas, cujo ciclo define faces. Estes pontos sao localizados em

    um sistema de coordenadas escolhido para uma determinada aplicacao. Ha varios

    sistemas disponveis, como os sistemas cartesiano, polar e esferico. Ha metodos de

    conversao entre eles. Para este trabalho, sera usado o sistema cartesiano.

    9

    8

    3

    5

    Figura 2.1: Sistema de Coordenadas Cartesiano.

    Pontos sao localizados por um conjunto de numeros denotando as distancias a

    origem dos eixos. Na Figura 2.1, o ponto p esta localizado em (2, 3, 5), ou seja, 2

    unidades no eixo x, 3 unidades no eixo y e 5 unidades no eixo z. A quantidade devalores na tupla e igual a quantide de eixos no sistema.

    Vetores sao segmentos de linha com magnitude (seu comprimento) e dire cao

    (sua orientacao). Vetores nao possuem localizacao, pois numa visao geometrica,

    especificam deslocamentos. Eles podem ser compostos formando uma sequencia de

    deslocamentos, como na Figura 2.2. Na convencao, a e um vetor, enquanto a e um

    ponto. Embora semanticamente tenham significados diferentes, as informacoes para

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    39/128

    2.1. MATEMATICA TRIDIMENSIONAL 13

    suas representacoes sao similares.

    Figura 2.2: Composic~ao de vetores.

    Operacoes com vetores envolvem multiplicacao por um escalar, adicao,

    subtracao, normalizacao, calculo do seu comprimento, produto interno (produto

    escalar), produto externo (produto vetorial) e projecao de um vetor sobre outro.

    Essas operacoes podem ser vistas em [19].

    2.1.1 Matrizes

    O conjunto de vetores formam matrizes, elementos essenciais para as transformacoes

    geometricas. Uma matriz tem o seguinte aspecto:

    M =

    m11 m12 m13

    m21 m22 m23

    m31 m32 m33

    , (2.1)

    na qual mlc e um elemento da matriz onde l e c sao respectivamente a linha e a

    coluna do seu posicionamento na matriz.

    Operacoes com matrizes envolvem transposicao, multiplicacao de uma matriz

    por uma escalar, multiplicacao de duas matrizes e produto entre vetor e matriz. As

    duas ultimas operacoes citadas sao importantes para a compreensao das translacoes

    e rotacoes do elemento virtual pelas tecnicas de realidade aumentada.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    40/128

    14 CAPITULO 2. FUNDAMENTOS TEORICOS

    Um vetor v pode ser decomposto da seguinte maneira:

    v =

    v1

    v2

    v3

    = v110

    0

    + v201

    0

    + v300

    1

    = vM. (2.2)

    Os vetores unitarios sao basicamente os eixos x, y e z do sistema de coordenadas

    cartesiano. A Figura 2.3 ilustra esses componentes.

    z

    x

    mz

    mx

    my

    Figura 2.3: Espaco de coordenadas representado por eixos unitarios.

    Caso os valores de quaisquer eixos sejam alteradas, altera-se o espaco de

    coordenadas, mudando tambem a localizacao do vetor em estudo. A Figura 2.4

    mostra este processo. A nova localizacao pode ser obtida semelhante a

    Equacao (2.2).

    A nova matriz converte um ponto para uma nova localizacao. Este metodo e

    uma transformacao geometrica. Definindo a matriz, define-se uma transformacao.

    As transformacoes usadas no trabalho sao a translacao, escala e rotacao.

    Mv =

    mTxmTymTz

    vx

    vy

    vz

    =

    mxx m

    xy m

    xz

    myx m

    yy m

    yz

    mzx m

    zy m

    zz

    vx

    vy

    vz

    =

    vx

    vy

    vz

    . (2.3)

    Na Figura 2.4, a matriz composta pelos eixos unitarios e alterada refletindo a

    rotacao dos eixos x e y sobre o eixo z. Assim, qualquer ponto cuja coordenada tenha

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    41/128

    2.1. MATEMATICA TRIDIMENSIONAL 15

    z

    x

    mz= mz

    mx

    mymy

    mx

    Figura 2.4: Alterac~ao do espaco de coordenadas.

    o valor do vetor v e que seja transformada pelo vetor M da Equacao (2.3), tera o

    valor [vx, v

    y, v

    z]T, que nesse exemplo sao valores do ponto seguindo a mesma rotacao

    da matriz de transformacao.

    2.1.2 TransformacoesAs seguintes operacoes sao importantes para a compreensao da manipulacao de

    objetivos virtuais pela RA, e como a modelagem e realizada.

    2.1.2.1 Escala

    Para redimensionar objetos, pode-se usar uma matriz de transformacao de escala.

    A matriz tem o formato descrito na Equacao (2.4).

    M =

    kx 0 0

    0 ky 0

    0 0 kz

    . (2.4)

    Um ponto p = (px, py, pz) sera transformado em p = (pxkx, pyky, pzkz). Por

    exemplo, se kx = ky = kz = 2, o objeto virtual tera o tamanho duplicado em todos

    os eixos.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    42/128

    16 CAPITULO 2. FUNDAMENTOS TEORICOS

    z

    my

    y

    z

    x

    mz

    mx

    x

    mz

    mx

    my

    Figura 2.5: Transformac~ao de escala.

    Na Figura 2.5, todos os pontos estao sendo transformados por uma matriz de

    escala com ky = 2 e mantendo kx = kz = 1, duplicando apenas a altura do objeto.

    2.1.2.2 Rotacao

    Em 2D, apenas uma expressao de rotacao e necessaria, pois rotaciona-se no eixo

    imaginario saindo do plano 2D.

    Em 3D, sao definidos 3 expressoes de rotacao nos eixos. A rotacao sobre o eixox pode ser visto na Equacao (2.5).

    Rx =

    1 0 0

    0 cos sen

    0 sen cos

    . (2.5)

    A Figura 2.6 mostra a rotacao sobre o eixo x. A rotacao sobre o eixo y pode ser

    visto na Equacao (2.6).

    Ry =

    cos 0 sen

    0 1 0

    sen 0 cos

    . (2.6)

    A Figura 2.7 mostra a rotacao sobre o eixo y. A rotacao sobre o eixo z pode ser

    visto na Equacao (2.7)

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    43/128

    2.1. MATEMATICA TRIDIMENSIONAL 17

    y

    z z

    x

    mz

    mx

    my

    x

    mz

    mx

    my

    Figura 2.6: Transformac~ao de rotac~ao sobre o eixo x.

    y

    z z

    x

    mz

    mx

    my

    x

    mz

    mx

    my

    Figura 2.7: Transformac~ao de rotac~ao sobre o eixo y.

    Rz =

    cos sen 0

    sen cos 0

    0 0 1

    . (2.7)

    A Figura 2.8 mostra a rotacao sobre o eixo z. Projetando o espaco sobre o plano

    xy, essa rotacao e semelhante a rotacao em 2D.

    2.1.2.3 Translacao

    A translacao nao e uma operacao linear. Nao ha matriz de tamanho 3 3

    que, multiplicando diretamente, desloque um ponto no espaco 3D. Para obter

    a translacao, e necessario inserir tais valores de deslocamento em uma coluna e

    linha adicionais, para somar-se as coordenadas do ponto. Essas coordenadas sao

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    44/128

    18 CAPITULO 2. FUNDAMENTOS TEORICOS

    zz

    x

    mzmx

    my

    x

    mz

    mx

    my

    Figura 2.8: Transformac~ao de rotac~ao sobre o eixo z.

    denominadas homogeneas. A matriz tera tamanho 4 4, visto na Equacao (2.8).

    T v =

    1 0 0 tx

    0 1 0 ty

    0 0 1 tz

    0 0 0 1

    vx

    vy

    vz

    1

    =

    vx + tx

    vy + ty

    vz + tz

    1

    . (2.8)

    2.2 Realidade Virtual

    A RV e uma tecnologia que permite ao usuario interacao em um ambiente virtual

    gerado por computador. Um dos exemplos sao os simuladores de voos, em que

    uma pessoa pilota uma aeronave de uma forma virtual. A RV pode ser vista como

    a imersao do usuario em um mundo virtual utilizando equipamentos de interacao

    como capacetes e luvas, de forma que o mundo virtual receba acoes dos usuarios e

    responda a estes estmulos, como na Figura 2.9

    Quando o usuario termina de realizar a imersao no sistema de realidade virtual,

    o usuario sofre uma brusca transicao visual, ao passar do mundo virtual para o real.

    Por outro lado, a realidade aumentada, descrita na Secao 2.3, faz com que o usuarioperceba essa mudanca de uma forma bastante suavizada.

    Para possibilitar a uniao e a comunicacao entre empresas, e tambem usuarios de

    RV, pela web, a Web3D Consortium formalizou uma serie de regulamentacoes para o

    desenvolvimento de padroes de RV. Dessa forma surgiu a Linguagem de Modelagem

    de Realidade Virtual, Virtual Reality Modeling Language (VRML) [20], que tem

    passado por revisoes e apresenta diversas versoes. E uma linguagem interpretada, a

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    45/128

    2.2. REALIDADE VIRTUAL 19

    Figura 2.9: Exemplo de Realidade Virtual.

    qual pode ser criada ou editada, em qualquer editor de texto.

    Para a visualizacao de objetos VRML no navegador, e necessario um plugin

    que servira como um viewer, ou seja, um visualizador de objetos tridimensionais a

    partir do arquivo em VRML. Internamente, o VRML pode ser manipulado usando

    linguagens de script (como o Javascript) para uma melhor interacao inserindo e

    removendo objetos em tempo real.

    O VRML passou pelas versoes 1.1 e 2.0, esta ultima conhecida como VRML97.

    Ha tambem a versao 3.0 que, devido a sua importancia e abrangencia, tornou-se

    um projeto especial, inclusive com um nome especfico. A linguagem recebeu adenominacao X3D [21]. Houve grandes modificacoes, como o suporte ao eXtensive

    Markup Language (XML), ampliando consideravelmente a integracao com sistemas

    de diferentes tecnologias e propositos. Alem do suporte XML, ha o suporte a sintaxe

    VRML por retrocompatibilidade e a opcao de se obter o arquivo binario (com a

    extensao x3db), embora este ainda esteja em desenvolvimento.

    Outras tecnologias estao sendo desenvolvidas para dar suporte a realidade virtual

    como Papervision3D [22], Java3D [23], Ogre [24], e outros. Algumas sao utilizadas

    na Web por um navegador, outras sao aplicadas em sistemas standalone para

    distribuicao, instalacao e uso.

    Com a RV, o usuario pode realizar navegacao pelo mundo virtual usando mouse

    e teclado, ou pode usar equipamentos nao tradicionais, como capacetes e luvas de

    forma a realizar as acoes necessarias. O usuario tambem pode realizar acoes que

    atualmente nao poderiam ser feitas no mundo real, como voar ou teletransportar.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    46/128

    20 CAPITULO 2. FUNDAMENTOS TEORICOS

    2.2.1 Definicao de Realidade Virtual

    Varias podem ser as definicoes acerca deste conceito. Uma delas, mostrada em [25]propoe que:

    Realidade virtual e uma interface avancada para aplicacoes

    computacionais, que permite ao usuario navegar e interagir, em tempo

    real, com um ambiente tridimensional gerado por computador, usando

    dispositivos multissensoriais.

    RV e uma interface, pois e o meio de comunicacao entre o ser humano e a

    maquina. Pode ser utilizada em qualquer aplicacao executavel por um sistema

    computacional. O ambiente da realidade virtual normalmente e tridimensional,

    para simular com fidelidade o mundo real, embora nada impeca que elementos 2D,

    como menus e botoes, possam ser expostos no ambiente.

    Os dispositivos multissensoriais, citados na descricao, sao equipamentos que

    o usuario pode utilizar para interacao e imersao no ambiente virtual. O termo

    multissensorial relaciona-se com a possibilidade de trabalho com os diversos sentidos,

    como a audicao e a visao. Quanto mais sentidos o sistema utilizar, mais realstico

    sera o ambiente virtual. A Figura 2.10 mostra um exemplo do uso dos dispositivos.

    Figura 2.10: Equipamentos de Realidade Virtual.

    Interacao em RV significa realizar acoes no ambiente e receber feedback sobre

    as consequencias dessas acoes. Imersao em RV significa estar dentro do ambiente

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    47/128

    2.2. REALIDADE VIRTUAL 21

    virtual. Os sistemas podem utilizar dispositivos como displays estereoscopicos, som

    3D e dispositivos hapticos [26] para aumentar o grau de imersao e realismo do

    sistema.Atualmente, o termo preferencial utilizado pelos pesquisadores e o de Ambiente

    Virtual, mais generico, que pode abranger tanto realidade virtual como realidade

    aumentada.

    2.2.2 Motivacao do Uso da RV

    A necessidade do ser humano em querer ver apenas o que lhe e desejado, associada

    com a evolucao do hardware, tem proporcionado um crescimento para a tecnologia

    de realidade virtual, cujo impacto sera sentido no modo de vida das pessoas.

    Muitas vezes o imaginario nao e bem representado apenas por interfaces de ate

    duas dimensoes, como textos e imagens. A realidade virtual pretende facilitar, desse

    modo, os comandos do usuario.

    Ao inves de acionar comandos atraves de interfaces como botoes e menus, as

    pessoas podem executar tais comandos diretamente sobre os objetos tridimensionais,

    como por exemplo, abrir porta, dirigir e voar em um aviao, como na Figura

    Figura 2.11.

    Figura 2.11: Simulac~ao de Voo.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    48/128

    22 CAPITULO 2. FUNDAMENTOS TEORICOS

    Em um ambiente virtual, o usuario pode estender ou contrair o tempo, pode

    visualizar galaxias ou simples atomos, instantaneamente deslocar-se em diferentes

    lugares, ou fazer analises de fenomenos fsicos difceis de serem vistos e observadosno mundo real [4].

    2.2.3 Equipamentos

    Os projetistas dos sistemas de realidade virtual podem utilizar equipamentos para

    que permitam aos usuarios imergirem e interagirem nos mundos virtuais projetados.

    Deve-se ter cautela no projeto para nao colocar muitos equipamentos no corpo do

    usuario de modo a nao sofrer perda de liberdade no movimento do corpo.

    Cada equipamento pode ser categorizado pelo numero de graus de liberdadeDegrees Of Freedom (DOF), ou seja, pelo numero de translacoes e rotacoes que

    podem ser realizados em um objeto tridimensional. A Figura 2.12 ilustra os 6 graus

    de liberdade em um ambiente tridimensional.

    Translao nos eixos

    Rotao nos eixos

    y

    x

    z

    Figura 2.12: Os 6 Graus de Liberdade.

    Alguns equipamentos sao usados DOF nas maos, enquanto outros podem ser

    usados na cabeca para captar a orientacao do usuario e realizar a transformacaonecessaria do mundo virtual, porem outras partes do corpo de forma a deixarem a

    cabeca e as maos livres.

    Apenas sao citados alguns equipamentos ja bastante conhecidos, uma vez que

    a quantidade de itens de entrada/sada que servem para um sistema de RV e

    de difcil mensuracao. Em [27], o leitor pode ter acesso a alguns equipamentos

    nao-convencionais de RV.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    49/128

    2.2. REALIDADE VIRTUAL 23

    2.2.3.1 Head-Mounted Display

    Este tipo de equipamento mostrado na Figura 2.13 e acomodado na cabeca de forma

    a cobrir os olhos. Fones tambem podem ser disponibilizados de modo a prover sons

    alem de imagens ao sistema. Os Head Mounted Displays (HMDs) tambem podem

    ser estereoscopicos, um recurso bastante usado em cinemas 3D.

    Figura 2.13: Exemplo de HMD.

    Este tipo de equipamento captura a orientacao e o posicionamento da cabeca

    de forma a alterar o angulo de visualizacao, como se o usuario estivesse realmente

    imerso no ambiente [28].

    2.2.3.2 Luvas

    Equipamentos que se adaptam aos movimentos minuciosos dos dedos e da mao,

    capturando a orientacao, posicao, distancia entre os dedos. A aplicacao pode usar

    estes parametros para definir acoes no mundo virtual. A Figura 2.14 mostra um

    exemplo de luva utilizada em um ambiente computacional.

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

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    50/128

    24 CAPITULO 2. FUNDAMENTOS TEORICOS

    Alguns sistemas permitem que o usuario execute comandos atraves de gestos.

    Outros sistemas podem, por exemplo, obter o movimento da mao e realizar o mesmo

    movimento em um objeto 3D, como se o estivesse segurando.As luvas podem ter suporte a recursos hapticos, os quais simulam a forca de

    reacao do objeto, quando da realizacao do toque, atraves de pressao exercida na

    mao do usuario, conforme mostrado na Figura 2.15 [26].

    Figura 2.15: Luva com sensac~ao tatil para o usuario, extrado de [26].

    Varios outros tipos de luvas e equipamentos a serem colocados nas maos

    adicionam funcionalidades na navegacao do usuario no mundo virtual. Mais detalhes

    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

    sao telas projetoras para o ambiente tridimensional. O usuario e transferido do

    mundo real para o mundo virtual mostrado no CAVE. Um exemplo e mostrado na

    Figura 2.16.

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

    Neste ambiente, o usuario tambem pode, normalmente, usar oculos ou HMD para

    realcar o realismo do ambiente gerado no CAVE, ou ainda adicionar estereoscopia.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    51/128

    2.2. REALIDADE VIRTUAL 25

    2.2.3.4 Projetor Estereoscopico

    Equipamento responsavel por projetar duas imagens com mnimas diferencas de

    angulo e posicao, e realizar a imagem estereoscopica [30]. Pode-se ver um exemplo

    na Figura 2.17.

    Figura 2.17: Projetor Estereoscopico.

    Os olhos de uma pessoa captam imagens diferentes e o cerebro processa-os dando

    a sensacao de tres dimensoes do ambiente capturado. Esta capacidade e chamadade estereoscopia. A Secao 2.2.4 descreve em detalhes esta capacidade e demonstra

    uma tecnica de estereoscopia bastante usada, o anaglifo.

    2.2.3.5 Monitor

    Uma tela de computador tambem pode servir para exibir ambientes tridimensionais.

    O monitor e de facil acesso e de baixo custo para o usuario, embora o grau de realismo

    nao seja alto, como na Figura 2.18. Para aumentar o realismo, o ambiente virtual

    pode ser visto de forma estereoscopica, com a tecnica do anaglifo.Monitores holograficos estao sendo desenvolvidos para poder adicionar sensacao

    de profundidade e realismo tridimensional a medida que o usuario caminha em volta

    da tela.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    52/128

    26 CAPITULO 2. FUNDAMENTOS TEORICOS

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

    2.2.4 Estereoscopia

    A palavra estereoscopia vem do grego, que significa visao solida. Ela define que

    qualquer ser vivo que contenha os olhos em posicoes cujas orientacoes possam ser

    cruzadas possa ter nocoes de profundidade de qualquer objeto no campo de visao.

    Cada olho capta uma imagem um pouco diferente da imagem do outro. O cerebro

    combina as imagens, recebe o grau de convergencia dos pontos de vista dos olhos e

    processa a informacao de tridimensionalidade dos elementos.

    A estereoscopia e bastante usada nas tecnologias de audio. O usuario tem a

    sensacao de imersao no ambiente onde originou o som, percebendo a distancia do

    objeto que gerou o som, a posicao, e outras caractersticas.

    Um sistema estereoscopico utiliza o efeito da paralaxe para reproduzir a

    profundidade. Paralaxe e a distancia do mesmo objeto nas imagens captadas emposicoes diferentes, cuja exemplificacao e encontrada na Figura 2.19.

    Varias tecnicas tem sido criadas para reproduzir computacionalmente o efeito

    estereoscopico, como por exemplo [30]:

    efeito por disparidade cromatica (ChromaDepth), que consiste na codificacao

    da profundidade dos objetos atraves de cores;

    display autoestereoscopico, removendo a necessidade de oculos especiais;

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    53/128

    2.2. REALIDADE VIRTUAL 27

    (a)

    (b) (c)

    Figura 2.19: Efeito paralaxe: (a) olhos em posic~oes diferentes; (b)

    imagem capturada pelo olho esquerdo; (c) imagem capturada

    pelo olho direito

    efeito Pulfrich, que descreve o atraso na percepcao da luz quando a intensidade

    e baixa, podendo ser usada para diferenciar as imagens em cada olho e provocara nocao de profundidade.

    Outra tecnica conhecida, e a mais barata, e o anaglifo, que exibe a profundidade

    usando cores complementares, geralmente vermelho e ciano. Cada olho utiliza

    um filtro de uma das cores, captando apenas uma imagem e o cerebro processa

    o resultado, dando uma sensacao de tridimensionalidade do objeto.

    A Figura 2.20a mostra o anaglifo usado no prototipo do trabalho de Tavares [31],

    autor desta dissertacao. O usuario utiliza oculos contendo os dois filtros, como na

    Figura 2.20b.

    Uma desvantagem do anaglifo e a dificuldade do seu uso por pessoas daltonicas,

    devido ao uso das cores para simular a profundidade.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    54/128

    28 CAPITULO 2. FUNDAMENTOS TEORICOS

    (a) (b)

    Figura 2.20: Exemplo de Anaglifo no Projeto: (a) Objeto 3D com as cores;

    (b) Oculos de visualizac~ao do anaglifo.

    2.2.5 Dificuldades Gerais da Realidade Virtual

    Um problema no desenvolvimento de um ambiente virtual e o custo em relacao a um

    ambiente WIMP, apenas com menus e botoes. Outra dificuldade acontece devido a

    nao representacao direta de informacoes abstratas em um ambiente tridimensional,

    devendo o desenvolvedor criar metaforas de manipulacao bem planejadas para tal

    aspecto.

    Uma metafora de manipulacao [32] e a execucao de uma acao no mundo virtual

    a partir de outra acao no mundo real. Como exemplo, uma metafora pode ser o

    cruzamento de dedos pelo usuario de forma a sinalizar a remocao de um objetovirtual no ambiente.

    Caso a representacao do usuario no ambiente sofra colisao com um objeto

    tridimensional, o usuario no mundo real nao tem a sensacao tatil deste toque.

    Nesse caso, usam-se equipamentos hapticos para dar o senso de forca de reacao do

    objeto tridimensional ao usuario [32].

    Segundo Norman [33], o conhecimento da manipulacao de um objeto esta no

    proprio objeto. Dessa forma, a pessoa percebe que um botao so pode ser pressionado

    e que um controle de volume so pode ser girado [32]. Esta caracterstica nao pode ser

    aplicada a objetos virtuais, que demandam manipulacoes previamente desenvolvidas

    pelos programadores.

    Por ultimo, um ambiente virtual nao consegue captar todas as caractersticas do

    mundo real, fazendo com que o usuario siga regras rgidas pouco comuns no mundo

    real [32]. Como exemplo, em um simulador de voo, o usuario pode nao sentir o aviao

    em estado stall, em que o aviao perde a sustentacao e cai puxado pela gravidade.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    55/128

    2.3. REALIDADE AUMENTADA 29

    2.3 Realidade Aumentada

    Nos ultimos tempos, a realidade aumentada vem ganhando destaque no mercado,embora ainda nao tenha chegado a maturidade esperada.

    RA e o enriquecimento de elementos virtuais (nao necessariamente

    tridimensionais) a um ambiente fsico. Normalmente e utilizado um padrao de

    desenho capturado por uma camera, e o objeto virtual e pro jetado sobre este padrao,

    sendo exibido em um display de sada, como o HMD ou monitor.

    2.3.1 Definicao de Realidade Aumentada

    A realidade aumentada tem varias definicoes como se segue [3]:

    1. Enriquecimento do ambiente real com objetos virtuais, usando algum

    dispositivo tecnologico, funcionando em tempo real;

    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

    contnua, que conecta ambientes completamente fsicos a ambientes

    completamente virtuais.

    Azuma [25] resumiu o conceito da RA em tres caractersticas basicas:

    1. Combina real e virtual;

    2. Interativo em tempo real;

    3. Registrado em 3D.

    Um filme, como o Jurassic Park, contem muitos efeitos reunindo real e

    virtual, porem nao e interativo. Isso nao impede o sistema de RA de utilizar os

    recursos multimdia como texto, som e imagem para complementar um ambiente

    tridimensional da RA.

    Os sistemas de RA necessitam do rastreamento do ambiente real, denominadotracking [34]. Com o tracking, o software pode executar algoritmos de processamento

    de imagens e visao computacional para identificar os elementos presentes no

    ambiente, e poder incorporar objetos virtuais nos lugares adequados.

    O sentido de presenca em um sistema de realidade aumentada nao e totalmente

    controlado pelo sistema, diferentemente da realidade virtual, em que o usu ario sai

    completamente do mundo real para interagir no ambiente virtual.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    56/128

    30 CAPITULO 2. FUNDAMENTOS TEORICOS

    Na Tabela 2.1 sao definidas diferencas entre a realidade virtual e a realidade

    aumentada.

    Tabela 2.1: Diferencas entre Realidade Virtual e Aumentada.

    Caracterstica Realidade Virtual Realidade Aumentada

    Ambiente Principal Gerado por computador Mundo Real

    Sentido de Presenca Controlado pelo sistema Natural do usuario

    Representacao do usuario Atraves de um avatar Direta

    Impacto da transicao dosAlta Baixa

    mundos virtual real

    2.3.2 Classificacao

    Podemos categorizar um sistema de RA em duas partes [35]:

    1. Imersiva. O usuario ve o mundo misturado olhando diretamente para a

    posicao no mundo real. O usuario manipula o padrao e o ambiente virtual e

    visto diretamente no padrao. A Figura 2.21a mostra um usuario utilizando

    HMD para um sistema imersivo.

    2. Nao-Imersiva. O usuario ve o mundo misturado olhando para alguma telade sada, ao inves de olhar para o real padrao. O usuario manipula o padrao, a

    tela captura imagens da cena real e exibe a cena junto com os ob jetos virtuais.

    A Figura 2.21b mostra um usuario em um sistema de RA nao-imersivo usando

    um monitor.

    Os sistemas imersivo e nao-imersivo tambem podem ser chamados de sistemas

    de visao direta e visao indireta, respectivamente. O prototipo desenvolvido utiliza

    a visao indireta, projetada no monitor de forma espelhada. Pode-se utilizar a vis ao

    direta, atraves de HMD, para evoluir o prototipo.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    57/128

    2.3. REALIDADE AUMENTADA 31

    (a) (b)

    Figura 2.21: Classificac~ao de sistemas de RA: (a) imersivo; (b)

    n~ao-imersivo.

    2.3.3 Motivacao do Uso da RA

    A tecnologia de realidade aumentada vem ganhando popularidade com uma grande

    velocidade. Sistemas locais ou em rede, fixos ou moveis, tem encontrado muitas

    oportunidades de desenvolvimento utilizando RA.

    Muitas aplicacoes estao tendo grandes impactos pelo uso dessa tecnologia. A

    medicina tem obtido sucesso ao prover treinamento dos estudantes em prototipos

    sinteticos do corpo humano pela incorporacao de objetos virtuais representando

    aparelhos internos (reprodutor, respiratorio...) sobre o prototipo.

    A visualizacao de dados em tempo real para informacoes a turistas sobre lugares

    historicos, tambem estao tendo boa aceitacao pela aplicacao de tecnicas de realidade

    aumentada.

    Realidade virtual e realidade aumentada podem ser futuramente evoludas para

    a hiperrealidade [36], atraves da combinacao do mundo real com o mundo virtual,

    cada qual realizando acoes e respondendo a eventos da outra, cabendo as pessoas

    visualizarem apenas o que lhe interessa.

    2.3.4 Dificuldades no Uso da RA

    As tecnicas de realidade aumentada tem evoludo para obtencao de respostas cada

    vez mais rapidas. A realidade aumentada pode utilizar dispositivos de realidade

    virtual, porem a tendencia e o uso do sistema sem a necessidade de aparatos no

    corpo.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    58/128

    32 CAPITULO 2. FUNDAMENTOS TEORICOS

    Algoritmos de visao computacional e processamento de imagens sao

    imprescindveis para um sistema de realidade aumentada, embora o uso de GPS

    possa ser usado para rastreamento.Algumas dificuldades para RV tambem se aplicam a RA, como por exemplo:

    1. O modo de interacao, que deve ser o mais natural possvel;

    2. A quantidade de dispositivos no corpo do usuario, que deve ser o mnimo

    possvel;

    3. O comprometimento do sistema na entrega dos dados para o usuario de, no

    maximo, 100 ms de atraso entre os quadros de imagens, deve ser estabelecido

    [4]. Acima desse tempo, o usuario comeca a perceber a artificialidade do

    ambiente e o sistema comeca a perder realismo;

    4. Os algoritmos de rastreamento devem ser rapidos o suficiente para que o

    resultado seja atualizado por, no mnimo, 10 quadros por segundo. Todo o

    conjunto de hardware e software usado no sistema deve obedecer esta meta.

    2.4 Sistema Colaborativo

    A colaboracao, como expressao da comunicacao entre pessoas que trabalham juntas

    e com um mesmo objetivo, tem sido essencial desde os tempos mais remotos para a

    evolucao de todo o ecossistema.

    Para que o ser humano pudesse realizar as suas atividades de um modo cada

    vez mais eficiente e prazeroso, foram desenvolvidas ferramentas que viessem a

    facilitar o seu trabalho. Todavia, determinadas atividades atingiram um nvel tal de

    complexidade que inviabilizaria a sua execucao caso nao houvesse a ajuda de outras

    pessoas.

    No caso de um sistema computacional, tem havido uma evolucao nos sistemas que

    suportam colaboracao, pela incorporacao de subsistemas de chat e videoconferencia.

    Determinadas atividades, devido a sua complexidade, vem sendo executadassimultaneamente por mais de uma pessoa, de modo a que se possa obter um

    desenvolvimento eficiente do produto ou servico.

    A partir desta necessidade de colaboracao, alguns estudos estao sendo

    consolidados pela engenharia de groupware, para a construcao de aplicacoes que

    tenham suporte a Computer Supported Collaborative Work (CSCW) [37].

    Esta secao tem como objetivo explicar os fundamentos do Trabalho Colaborativo

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    59/128

    2.4. SISTEMA COLABORATIVO 33

    Baseado em Computador, denominado CSCW, e a aplicacao do CSCW em

    ambientes virtuais, o Ambiente Virtual Colaborativo, denominado Collaborative

    Virtual Environment (CVE) [38].

    2.4.1 Trabalho Colaborativo Assistido por Computador

    Todos os sistemas computacionais que tem suporte a colaboracao estao contidos na

    classe CSCW. CSCW e uma area de estudo que aborda conceitos de atividades que

    sao realizadas por um grupo.

    Para se ter um sistema colaborativo, e necessario um espaco compartilhado de

    modo que os usuarios possam executar atividades em suas especialidades e contribuir

    com o objetivo do grupo.Define-se os grupos de trabalho colaborativo como sendo espacos virtuais

    concebidos para que um conjunto de pessoas possam comunicar, colaborar e

    intercambiar informacoes entre si. Os sistemas de multimdia que sao usadas por

    grupos de pessoas, como por exemplo, bate-papo e redes sociais, s ao chamados de

    Groupware.

    Quanto aos ambientes colaborativos, estes podem ser classificados como sendo

    assncronos ou sncronos. Sistemas assncronos sao aqueles que nao obrigam os

    usuarios a executarem as suas tarefas ao mesmo tempo. Por outro lado, nos sistemas

    sncronos, os interlocutores precisam executar as suas tarefas ao mesmo tempo.

    Outro modo de categorizar os ambientes colaborativos e em termos de

    espaco. Com relacao ao espaco de colaboracao, os ambientes podem ser locais

    ou distribudos. Pode-se haver uma combinacao destas classificacoes, como na

    Tabela 2.2.

    Tabela 2.2: Classificac~ao de Ambientes Colaborativos.

    Ao Mesmo Tempo Em Tempos Diferentes

    Local Sncronos Locais Assncronos locaisEx: Brainstorming Ex: Post-it

    DistribudoSncronos Distribudos Assncronos Distribudos

    Ex: Bate-papo Ex: E-mail

    O projeto proposto pode ser categorizado como um sistema sncrono, pois e

    necessario que os usuarios o estejam usando ao mesmo tempo, e distribudo, pois

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    60/128

    34 CAPITULO 2. FUNDAMENTOS TEORICOS

    pode ser executado em uma rede de computadores.

    2.4.2 Modelo 3C

    Para se construir um sistema colaborativo eficaz, os usuarios devem realizar entre

    si a transferencia de informacoes (comunicacao), ajudar na execucao do trabalho

    em um espaco compartilhado por um grupo (cooperacao), de um modo origanizado

    (coordenacao) [39].

    O modelo 3C, a partir destes objetivos, foi criado para facilitar a constru cao de

    tais sistemas. A Figura 2.22 mostra o relacionamento entre estes conceitos.

    Comunicao

    Cooperao Coordenao

    Percepo

    Gera informao

    para

    Gerencia

    Demanda

    Figura 2.22: Modelo 3C.

    2.4.3 Ambiente Virtual Colaborativo

    O conceito de trabalho colaborativo pode ser aplicado para ambientes virtuais.

    Nesse ponto, a realidade virtual e aumentada se beneficia 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 comunicacao. O usuario explora,

    navega e interage com o mundo virtual atraves do avatar.

    Conforme descrito em [38], define-se um CVE como sendo:

    Um espaco virtual ou conjunto de lugares, distribudo e baseado em

    computador. Nestes lugares, pessoas podem encontrar-se e interagir com

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    61/128

    2.5. MODELAGEM E SIMULAC AO 35

    outras, com agentes ou objetos virtuais. CVEs podem variar em riqueza

    da representacao em ambientes 3D, 2,5D (que corresponde a elementos

    2D dentro de um ambiente com perspectiva) e 2D, ate em ambientesbaseados em texto. O acesso ao CVE pode ser feito por dispositivos

    fixos e moveis.

    Nesta definicao, qualquer sistema computacional que tenha um espaco

    compartilhado em que pessoas possam realizar colaboracao se enquadra como

    um CVE, embora o termo CVE normalmente esteja associado ao ambiente

    tridimensional.

    Para a criacao de um CVE, o desenvolvedor deve planejar o sistema de acordo

    com os criterios abaixo:

    Contexto compartilhado, ou espaco compartilhado;

    Consciencia das atividades de outras pessoas;

    Negociacao e comunicacao, para realizar colaboracao;

    Multiplos e flexveis pontos de vista.

    O ultimo item supracitado e inerente em um sistema de RV, porem e necessario

    um esforco adicional do desenvolvedor para prover este servico em um sistema de

    RA.

    2.5 Modelagem e Simulacao

    Um dos metodos formais de modelagem de simulacao e denominada Especificacao

    de Sistemas de Eventos Discretos, ou Discrete Event System Specification (DEVS).

    Matematicamente, o sistema real e modelado em componentes interconectados, com

    cada componente desempenhando uma funcao particular em todo o sistema. Cada

    componente tambem e um modelo, formando uma hierarquia de componentes.

    Componentes nas bases da hierarquia sao chamados de modelos atomicos.Composicoes dos modelos atomicos sao chamados de modelos compostos.

    Para descrever a estrutura de um modelo atomico, o DEVS utiliza uma tupla de

    6 elementos, suficientes para determinar seu comportamento interno. A Tabela 2.3

    especifica o modelo atomico.

    Um modelo atomico contem entradas e sadas. Ao receber uma mensagem, as

    funcoes de transicoes sao executadas, gerando modificacoes no seu estado interno e

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    62/128

    36 CAPITULO 2. FUNDAMENTOS TEORICOS

    Tabela 2.3: Especificac~ao de um modelo atomico DEVS.

    M = X , S , Y , int, ext, , ta

    X e o conjunto de valores de entrada;

    S e o conjunto de estados;

    Y e o conjunto de valores de sada;

    int : S S e a funcao de transicao interna;

    ext : Q X S e a funcao de transicao externa, onde

    Q = {(s, e) |s S, 0 e ta (s)} e o conjunto total de estados;

    e e o tempo passado desde a ultima transicao;

    : S Y e a funcao de sada;

    ta : S R+0, e a funcao de avanco do tempo (reais de 0 a ).

    valores de sada, sendo passadas para a entrada do proximo modelo atomico ou para

    a sada do modelo composto que o contem. As variaveis de tempo sao atualizadas

    para o proximo processamento.

    Alguns modelos atomicos nao necessitam de entradas, como e o caso do generator,

    componente que envia mensagens a outros modelos, de acordo com uma distribuicao

    de probabilidades. Outros nao necessitam de sadas como, por exemplo, o disposer,

    que apenas recebe as mensagens.

    O modelo composto pode ser especificado por uma tupla descrito na Tabela 2.4.

    Na Figura 2.23, pode ser vista uma ilustracao da hierarquia entre modelos. Cada

    subsistema tambem e considerado como um sistema, desempenhando uma funcao.

    Um componente pode receber parametros de entrada, alterar seu estado interno,

    realizar o processamento e retornar um ou mais valores de sada para o modelo

    composto pai (o que contem o componente em questao), que pode ser o modelo

    principal da simulacao. O fluxo desse processo dentre os varios componentes do

    modelo se deve ao disparo de eventos e passagem de mensagens.Ha derivados do formalismo DEVS para cenarios especficos, como Parallel DEVS

    (PDEVS), de forma a simular eventos acontecendo ao mesmo tempo, e Cellular

    Based DEVS (CellDEVS), para simular sistemas baseados em automatos finitos,

    como o Jogo da Vida, ou Game of Life (GOL) [10, pp. 44-46].

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    63/128

    2.5. MODELAGEM E SIMULAC AO 37

    Tabela 2.4: Especificac~ao de um modelo composto DEVS.

    N = X, Y , D,{Md|d D} ,EIC,EOC,IC,Select

    X = {(p, v) |p IPorts,v Xp} e o conjunto de portas de

    entrada e valores;

    Y = {(p, v) |p OP orts, v Yp} e o conjunto de portas de sada

    e valores;

    D e o conjunto dos nomes dos componentes;

    Md = (Xd, Yd, S , ext, int,,ta) e um modulo DEVS, onde

    Xd = (p, v)|p IPortsd, v Xp;

    Yd = (p, v)|p OPortsd, v Yp;

    EI C conecta entradas externas para entradas internas;

    EOC conecta sadas internas para sadas externas;

    IC define as conexoes entre componentes internos;

    Select determina o proximo evento dentre os eventos simultaneos.

    2.5.1 Framework para Modelagem e Simulacao

    A seguir sera mostrado um conjunto de ferramentas matematicas que compoem um

    framework para modelagem e simulacao de sistemas. A Figura 2.24 relaciona esses

    elementos e indica as relacoes especficas para a modelagem e para a simulacao.

    2.5.1.1 Sistema Fonte

    O sistema fonte e o ambiente real ou virtual a ser modelado. Geralmente e visto

    como um conjunto de valores observados de variaveis, vinculados a trajetoria do

    tempo. Os dados podem estar abundantes ou em pouca quantidade. Em alguns

    casos, melhores dados sao impossveis ou difceis de serem obtidos (por exemplo,

    topografia de uma floresta) [10].

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    64/128

    38 CAPITULO 2. FUNDAMENTOS TEORICOS

    C

    M

    A

    B

    D

    Figura 2.23: Ilustrac~ao de um modelo composto e sua hierarquia.

    Quadro Experimental

    Sistema

    FonteModelo Simulador

    Modelagem Simulao

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

    2.5.1.2 Modelo

    Um modelo e uma representacao da realidade, seja fsica, matematica ou logica.

    Um modelo de simulacao compreende um conjunto de equacoes, regras, instrucoese restricoes de forma a gerar comportamento. Metodos formais de especificacao

    de sistemas tornam os modelos mais acessveis para a compreensao de todos, sem

    ambiguidade. Os modelos de simulacao trabalham com trajetorias de variaveis de

    entrada e sada, dependendo do conjunto inicial de estados [10].

    2.5.1.3 Simulador

    Um simulador e um agente capaz de executar as instrucoes contidas no modelo

    gerando dinamica [10]. Pode ser qualquer sistema computacional, seja umprocessador, uma rede ou a mente humana. Separando o simulador do modelo

    torna o simulador mais generico, pois:

    O mesmo simulador pode executar diversos tipos de modelos, aumentando o

    nvel de portabilidade do sistema;

    Algoritmos exclusivos para simulacao podem ser estabelecidos e validados

    rigorosamente;

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    65/128

    2.5. MODELAGEM E SIMULAC AO 39

    A complexidade da simulacao pode ser medida pela quantidade de recursos

    requeridos para sua execucao.

    2.5.1.4 Quadro Experimental

    Diante de muitos valores na natureza do sistema fonte, e necessario especificar um

    subconjunto de variaveis que satisfaca um conjunto determinado de objetivos. Nem

    todas as informacoes sao importantes para um cenario de simulacao [10].

    O quadro experimental e um conjunto de especificacoes que norteiam a analise

    de um sistema real para sua modelagem. E um conjunto de variaveis, observacoes e

    condicoes para delimitar o escopo do contexto do modelo.

    Como exemplo, de uma infinidade de variaveis que podem ser obtidas da analisede uma floresta, o conjunto (chuva, luz, sol, vento) e uma escolha particular. Um

    refinamento do quadro experimental pode resultar em analises mais detalhadas do

    sistema, como por exemplo o valor da temperatura do ambiente, ou o percentual de

    floresta queimada.

  • 8/2/2019 Ambiente Virtual Colaborativo com Realidade Aumentada para Modelagem e Simulao de Sistemas

    66/128

    40 CAPITULO