interação com máquinas virtuais usando · pdf filedeterminam processos de...

11
Interação com Máquinas Virtuais usando AVALON Nivaldi Calonego Junior 1 , Cláudio Kirner 1 , Tereza G. Kirner 1 , Cornelius Malerczyk 2 1 Faculdade de Ciências Matemáticas, da Natureza e de Tecnologia da Informação – Universidade Metodista de Piracicaba (UNIMEP) Caixa Postal 68 – 13.400-901 – Piracicaba – SP – Brasil 2 Institute Graphische Datenverarbeitung – Zentrum für Graphische Datenverarbeitung V. (IGD/ZGDV) ZGDV - Darmstadt – Germany {ncalonego, ckirner, tgkirner}@unimep.br , [email protected] Abstract. This paper presents the procedures to implement interactive virtual worlds using Avalon for "virtual machine" software domain. That machine presents functionalities similar to the functionalities found in numeric command machines. These experiences are part of the "Virtual Enviroment for Shared Visualization" project. They were implemented and tested for stereo visualization in Windows and Linux environment, and allows to the users to share different simultaneous visions of the "virtual machine". Resumo. Este artigo apresenta os procedimentos de implementação de mundos virtuais interativos usando Avalon. O domínio de aplicação encerra “máquinas virtuais”, que apresentam funcionalidades análogas às funcionalidades encontradas em máquinas de comando numérico. Os experimentos são parte do projeto “Virtual Enviroment for Shared Visualization” e foram implementados e testados para visão estereoscópica em ambiente Windows e Linux, permitindo aos usuários compartilharem e interagirem simultaneamente a partir de seus respectivos pontos de vista da “máquina virtual”. 1 - Introdução O sentido da expressão “máquinas virtuais” é um domínio de aplicação da realidade virtual associada à simulação de máquinas utilizadas nos processos de fabricação industrial. Neste contexto, o Avalon é usado como base para o desenvolvimento de aplicações, oferecendo suporte aos mecanismos de interação do usuário com mundo virtual. Há elementos de similitude entre os processos de desenvolvimento de aplicações dessa natureza, caracterizados pela modelagem da cena, simulação do mundo real e mecanismos de controle e interação do usuário com o mundo virtual. Este artigo apresenta as fases do processo de desenvolvimento desse tipo de aplicação, colocando em destaque a interação e tomando como referência uma Máquina de Medir por Coordenadas. A tecnologia permite o desenvolvimento de máquinas que, através de comandos numéricos, determinam processos de fabricação de produtos ou a aferição de resultados desse processo. Um exemplo desse tipo de equipamento são as Máquinas de Medir por Coordenadas, que permitem a aferição de medidas com acurácia, oferecendo precisão da ordem de milésimo de milímetro. Elas atendem a normas internacionais que definem uma linguagem de programação, denominada Linguagem de Comando Numérico, para a definição das tarefas a serem automatizadas. Isto faz com que engenheiros e operadores de máquinas desse tipo tenham de aprender a programá-las. Programar máquinas de comando numérico implica em dominar conhecimentos intrínsecos da aplicação, desenvolver habilidade de programação na linguagem de comando numérico e ter acesso a

Upload: truongthien

Post on 23-Feb-2018

218 views

Category:

Documents


1 download

TRANSCRIPT

Interação com Máquinas Virtuais usando AVALON Nivaldi Calonego Junior1, Cláudio Kirner1, Tereza G. Kirner1, Cornelius Malerczyk2

1Faculdade de Ciências Matemáticas, da Natureza e de Tecnologia da Informação – Universidade Metodista de Piracicaba (UNIMEP)

Caixa Postal 68 – 13.400-901 – Piracicaba – SP – Brasil 2Institute Graphische Datenverarbeitung – Zentrum für Graphische Datenverarbeitung V. (IGD/ZGDV)

ZGDV - Darmstadt – Germany {ncalonego, ckirner, tgkirner}@unimep.br, [email protected]

Abstract. This paper presents the procedures to implement interactive virtual worlds using Avalon for "virtual machine" software domain. That machine presents functionalities similar to the functionalities found in numeric command machines. These experiences are part of the "Virtual Enviroment for Shared Visualization" project. They were implemented and tested for stereo visualization in Windows and Linux environment, and allows to the users to share different simultaneous visions of the "virtual machine".

Resumo. Este artigo apresenta os procedimentos de implementação de mundos virtuais interativos usando Avalon. O domínio de aplicação encerra “máquinas virtuais”, que apresentam funcionalidades análogas às funcionalidades encontradas em máquinas de comando numérico. Os experimentos são parte do projeto “Virtual Enviroment for Shared Visualization” e foram implementados e testados para visão estereoscópica em ambiente Windows e Linux, permitindo aos usuários compartilharem e interagirem simultaneamente a partir de seus respectivos pontos de vista da “máquina virtual”.

1 - Introdução O sentido da expressão “máquinas virtuais” é um domínio de aplicação da realidade virtual associada à simulação de máquinas utilizadas nos processos de fabricação industrial. Neste contexto, o Avalon é usado como base para o desenvolvimento de aplicações, oferecendo suporte aos mecanismos de interação do usuário com mundo virtual.

Há elementos de similitude entre os processos de desenvolvimento de aplicações dessa natureza, caracterizados pela modelagem da cena, simulação do mundo real e mecanismos de controle e interação do usuário com o mundo virtual. Este artigo apresenta as fases do processo de desenvolvimento desse tipo de aplicação, colocando em destaque a interação e tomando como referência uma Máquina de Medir por Coordenadas.

A tecnologia permite o desenvolvimento de máquinas que, através de comandos numéricos, determinam processos de fabricação de produtos ou a aferição de resultados desse processo. Um exemplo desse tipo de equipamento são as Máquinas de Medir por Coordenadas, que permitem a aferição de medidas com acurácia, oferecendo precisão da ordem de milésimo de milímetro. Elas atendem a normas internacionais que definem uma linguagem de programação, denominada Linguagem de Comando Numérico, para a definição das tarefas a serem automatizadas. Isto faz com que engenheiros e operadores de máquinas desse tipo tenham de aprender a programá-las.

Programar máquinas de comando numérico implica em dominar conhecimentos intrínsecos da aplicação, desenvolver habilidade de programação na linguagem de comando numérico e ter acesso a

um ambiente de programação, no qual os códigos produzidos sejam testados. Além disso, o processo de medição, usando uma máquina real está sujeito ao comportamento de componentes individuais, tais como, escala de medida, estratégia de amostragem, provas, dentre outros, e das suas combinações. Uma maneira de flexibilizar e minimizar as influências dessas variáveis é a implementação de uma “Máquina de Medir por Coordenadas Virtual” (Forbes, 1994; Weckenmann, 1995), usando simulação e realidade virtual.

A simulação gera um conjunto de números que representam os comandos e dados de controle da máquina real, permitindo ao programador a análise e validação dos resultados da sua aplicação antes que esta seja inserida na máquina real.

A análise dos dados é uma tarefa custosa, pois o programador deve transformar valores numéricos em possíveis controles da máquina, o que pode levar a erros. Máquinas de Medir por Coordenadas (MMC) podem ser programadas através de interface gráfica, objetivando diminuir a complexidade da programação, oferecendo uma interface mais amigável, e eliminando erros de programação relativos aos elementos léxicos e sintáticos intrínsecos à linguagem de controle numérico.

Uma tentativa para a minimização dessa problemática, objetivando o auxílio no processo ensino-aprendizagem, é o uso de Realidade Virtual. A pesquisa tratou do desenvolvimento de uma interface de realidade virtual para o simulador de uma máquina de medir por coordenadas, ampliando o conceito de Máquina de Medir por Coordenadas Virtual, para atender aos requisitos da Realidade Virtual e oferecer ao usuário uma interface amigável.

A implementação de uma Máquina de Medir por Coordenadas Virtual (MMCV) é parte do projeto “Virtual Environment for Shared Interactive Visualization” (VESIV) (Kirner, 2003), que usa o ambiente AVALON para “renderização” de cenas de desenvolvidas na linguagem VRML (Avalon, 2003). Cabe salientar que o Avalon não é apenas um browser para VRML, mas embute um conjunto de funcionalidades para a movimentação de “avatares” e permite a criação ou eliminação de objetos de cena em tempo de execução do programa. A Figura 1 ilustra a estrutura lógica de uma aplicação em Realidade Virtual típica usando Avalon.

O Avalon utiliza o pacote OpenGL para implementar suas funcionalidades. Esta estrutura auxilia o desenvolvimento de aplicações, usando a linguagem VRML, dado que o Avalon é capaz de ler uma

Figura 1 – Estrutura típica de uma aplicação com Avalon.

OpenGL

Hermes – Interface de rede

Cena VRML

Arquivo de onfiguração do Avalon AVALON

Usuário

Rede

Controle de cena

cena armazenada em um arquivo e transformá-la num conjunto de chamadas às primitivas do OpenGL. Isto produz uma saída gráfica que, para o usuário, correspondente à visão tridimensional.

As conexões pontilhadas, que aparecem na Figura 1, indicam que os módulos relacionados têm os seus respectivos parâmetros configurados de maneira tal que o Avalon possa obter e transferir dados em rede. Estes parâmetros definem o arquivo que contém a cena principal, os dispositivos de comunicação disponíveis, como será a interface com a rede (comunicação multicast, broadcast ou ponto-a-ponto), dentre outras informações.

O “Controle de cena”, ilustrado na Figura 1, é uma aplicação que pode ser executada concorrentemente, ou em paralelo, com o Avalon. Este módulo captura eventos produzidos pelo usuário, ou por dispositivos sensores acoplados ao subsistema de controle de cena, codifica as mensagens para o formato definido pelo protocolo implementado no pacote HERMES e as transmite via rede. Controlar a cena implica em definir os movimentos dos eixos da máquina e obter informação relativas ao seu estado. Assim, ao definir um módulo genérico de controle da máquina virtual, cria-se a possibilidade de implementação de diferentes linguagens de controle numérico a serem implementadas para uma dada máquina virtual. O modelo da aplicação desenvolvida mostra como implementar esse conceito.

2 – Descrição da Aplicação A aplicação utiliza o modelo ilustrado na Figura 2, que oferece flexibilidade de comunicação entre os módulos do software. Essa arquitetura permite que usuários interajam através da rede e possam mostrar ou modificar os resultados do processamento.

Na Figura 2, o módulo “Linguagem CN” interpreta comandos de uma linguagem de comando numérico e os traduz para movimentos ou controles definidos no módulo “Controle da máquina”. Este opera de acordo com os parâmetros definidos no projeto da “Máquina VRML” e atende às

Rede

Cliente Servidor

Parâmetros de simulação Resultados de simulação

Visão do usuário

Dados da Simulação

Simulador

HERMES

Servidor da Interface de RV

Visão do pesquisador

Controle da máquina

HERMES

Máquina - VRML

AVALON

Linguagem CN

Figura 2 – Modelo arquitetural da aplicação.

especificações do fabricante da máquina real.

O módulo “Máquina VRML” é um mundo virtual, escrito na linguagem VRML (VRML, 2003), que modela uma máquina em dimensões idênticas às especificações do fabricante e permita os graus de liberdade da máquina senso simulada, conforme ilustra a Figura 3. O item 2.1 discute aspectos de modelagem que influenciam diretamente no desenvolvimento do módulo “Controle da máquina”.

Os elementos articulados da máquina aparecem em destaque na Figura 3 com o objetivo de mostrar que eles definem os seis graus de liberdade do apalpador em relação à mesa.

2.1 – Ambiente de Execução Houve duas fases de desenvolvimento e testes para a execução do software proposto. A primeira fase ocorreu no IGD/Darmstadt, em que foram utilizados três microcomputadores tipo PC, sob a plataforma Windows XP, e uma “Virtual Table”, sob a plataforma Linux, conforme mostra a Figura 4. A segunda fase foi desenvolvida no Laboratório de Realidade Virtual da UIMEP/Piracicaba, e utilizou o conjunto de equipamentos mostrado na Figura 4, constituído de: um microcomputador PC de 2.8 GHz com placa gráfica Wildcat VP870, funcionando como servidor/renderizador, tendo acoplado um visualizador esteroscópico passivo (baseado em telas polarizadas) ZScreen sobre um monitor de 21”; um microcomputador PC de 1.8 GHz, funcionando como cliente/controlador da Máquina de Medir Virtual; e uma rede local de 100 MHz, ligando os computadores.

A Virtual Table (VT) é um dispositivo de realidade virtual para visão estereoscópica de dimensões amplas (240x150 mm) e funcionamento análogo a um monitor de vídeo. A placa controladora de vídeo da máquina é conectada à VT e opera com buffer dual, permitindo que durante a apresentação de um dos buffers, o outro possa ser construído. O Avalon utiliza essa característica para produzir cenas deslocadas de 65 mm entre si (distância ocular média). Assim, enquanto é mostrada a imagem levemente deslocada para a direita no buffer, o Avalon está produzindo uma nova imagem deslocada para a esquerda no outro buffer; e vice-versa. Além de desenhar a imagem na VT, a placa de vídeo gera

Rotor Y

Rotor X

Eixo Y

Eixo Z

Eixo X

Apalpador

Figura 3 – Máquina Virtual de Medir por Coordenadas Virtual.

um sinal informando qual buffer está sendo apresentado. Ao observar a VT a olho nu, o usuário enxerga duas imagens sobrepropostas e levemente deslocadas, causando a sensação de estrabismo. Mas, conectado à mesma placa de vídeo há um dispositivo que captura o sinal de buffer e o transmite ao Shutter Glass. Este, é um par de óculos que recebe sanais que determinam qual das lentes deve permitir a passagem de luz. Assim, o “abrir e fechar” das lentes fica sincronizado com a produção dos respectivos buffers, tal que a lente da esquerda sempre permite visualizar a imagem montada no “buffer esquerdo” e a lente da direita sempre mostra o “buffer direito”, ou vice-versa. Essa técnica é denominada visão estereoscópica ativa. A Figura 4 ilustra uma interação na VT.

Figura 4 – Interação com a Virtual Table

O dispositivo acoplado ao monitor da Figura 5, causando a impressão de que o monitor possui bordas claras, tem por a finalidade a geração de visão esteroscópica. O processo utiliza uma placa Wildcat VP870 para produzir, alternadamente, a visão do olho esquerdo e a visão do olho direito. O dispositivo claro que aprece sobre o gabinete, ao lado do monitor, captura o sinal da placa, que informa qual buffer está sendo gerado no monitor. Este dispositivo utiliza o sinal da placa para controlar a polarização do Z-screen, que permite a passagem de luz polarizada no sentido horizontal (para uma das vistas do observador) ou no sentido vertical (para a outra vista). Assim, é necessário que o usuário

Figura 5 – Ambiente de Execução.

utilize óculos com lentes polarizadas, tal que uma das lentes permita a passagem de luz na direção horizontal e a outra na direção vertical. Esse tipo de óculos é denominado passivo, pois não exibem diretamente as informações, ao contrário, as deixam passar. Eles possuem mecanismo de controle, mas não de exibição.

2.2 – Características e restrições da máquina De acordo com a especificação de fabricante, tem-se que: (i) a máquina assume como ponto inicial do sistema de coordenadas (0, 0, 0) o canto superior esquerdo mais próximo do usuário, ilustrado na Figura 3; (ii) o volume que compreende uma medição é, no máximo, 600x600x400 milímetros nos eixos X, Y e Z, respectivamente; (iii) há um conjunto de apalpadores, que podem ser trocados na máquina; (iv) os eixos X, Y e Z podem ser transladados simultaneamente, aos pares ou individualmente, e combinados com de rotação do apalpador. São os procedimentos de medição que determinam as estratégias para a garantia da qualidade da medida.

Essas condições permitem a elaboração de pelo menos dois modelos, que serão denominados “pior caso” e “melhor caso” e estão ilustrados nos respectivos grafos de cena da Figura 6.

Os elementos abaixo do nó “Background” são nós de transformação, o que permite ao programa executar operações de translação, de rotação ou de escala sobre esses nós. Denominamos “pior caso” o grafo ilustrado na Figura 4a, por não explorar o potencial da linguagem de modelagem de cena (VRML) no que tange aos movimentos relativos. Neste caso, o módulo “Controle da máquina” deve implementar algoritmos que desempenham a mesmas funcionalidades do “renderizador”. Por exemplo, todos os eixos devem acompanhar o movimento da mesa. Isto implica em aplicar as mesmas operações de translação, rotação e escala aos elementos que estão sobre a mesa, ou seja, eixos e apalpador.

Essas considerações induzem o pensamento para a elaboração do grafo de cena ilustrado na Figura 4b, denominado “melhor caso”. Aqui, são utilizados os recursos da linguagem VRML para implementar os movimentos relativos da máquina virtual, conforme mostra o código da Tabela 1.

Assumindo o código da Tabela 1 como modelo de interface com o usuário, devem, ainda, ser definidas as possibilidades de interação. Cabe salientar que o cliente do mundo virtual é o módulo “Controle da

Background

Eixo X

Eixo Y

Eixo Z

Rotor

Rotor

Mesa

(a)

Background

Eixo X

Eixo Y

Eixo Z

Rotor

Rotor

Mesa

(b)

Figura 6 – Modelo do mundo virtual.

máquina” e que a interação com o módulo “Máquina – VRML” é intermediada pelo Avalon. Essa dinâmica caracteriza o ambiente de execução, visão é apresentada no diagrama de seqüência da Figura 7.

#VRML V2.0 utf8 Background { skyColor 0.2 0.2 0.2 } DEF Inicio Group{ children [ DEF Mesa Transform {

children [ DEF BaseDaMesa Transform { children [ Inline {url "BaseDaMesa.wrl"} ] } DEF Y_Translations Transform { children [ Inline {url "Eixo_Y.wrl"} DEF X_Translations Transform { children [ Inline {url "Eixo_X.wrl"} DEF Z_Translations Transform { children [ Inline {url "Eixo_Z.wrl"} ] }] }] }] }] }

Tabela 1 – Código VRML da aplicação.

2.3 – Execução do Sistema O diagrama da Figura 7 mostra a seqüência das ações, iniciando com a execução do Avalon. A carga da cena é automática e pode ser parte do seu arquivo de configuração. A opção default assume que há um arquivo denominado “main.wrl” contendo a cena. Após a sua carga, é criado o servidor de mensagens “Hermes”. Depois de iniciadas essas atividades, o Avalon entra no estado de atualização de cenas (“renderização”), solicitando ao servidor os comandos a serem atualizados, segundo dados transmitidos pelo cliente, e cria uma nova imagem para o usuário.

Figura 6 – Execução de comando de controle da máquina virtual (Booch, 2000).

carregarCena()

Console()

:Usuário Controle da Máquina

criarCliente()

statusDaConexão()

Avalon() exibirMundoVirtual()

Hermes

exibirConsoleDeComando()

criarServidor()

Avalon

statusDaConexão()

executarComando()

enviarComando() solicitarComando() exibirMundoVirtual()

fecharConsole() fecharAvalon()

statusDaConexão()

fecharServidor()

atualizarCena()

Os comandos do console de controle da máquina são enviados ao servidor Hermes, que gerencia o formato das mensagens e o modo de comunicação na rede. Os parâmetros de configuração do Avalon definem se a comunicação do Hermes será ponto-a-ponto, multi-cast ou broad-cast. Mas, para que o módulo “Controle da Máquina” possa funcionar corretamente, há necessidade de manter a compatibilidade de seus parâmetros com as configurações definidas para o Hermes/Avalon.

O diagrama de relacionamentos, da Figura 7, detalha os elementos do módulo “Controle da Máquina”, mostrando os elementos inerentes ao projeto de uma interface de realidade virtual, usando as bibliotecas de comunicação com o Avalon.

A aplicação tem código análogo ao apresentado na Tabela 2. Neste caso, objetos instanciados da classe VCMM (Virtual Coordinate Measuring Machine) usam um objeto da classe SyncClient, que é parte do pacote Avalon External Interface-EAI, para estabelecer a conexão com o Avalon.

As classes Point3D e RPoint3D oferecem subsídios para a operação com os sistemas de coordenadas tridimensionais cartesiano ou polar, respectivamente.

A classe VCMMParser implementa o conjunto de movimentos válidos para os eixos da máquina, detectando apenas a sintaxe do comando e decodificando os parâmetros a serem passados ao objeto instanciado da classe VCMM.

A classe VCMM implementa os mecanismos de interpolação para a movimentação dos eixos, enviando os respectivos comandos ao Avalon. Ela implementa as restrições e considerações acerca do sistema real.

Os comandos digitados pelo usuário e enviados à máquina são analisados por um parser, implementado na classe VCMMParser. Ele separa o comando de seus argumentos, monta o buffer com esses dados e retorna o status da análise. Caso o resultado da análise seja válido, o método de execução invoca o procedimento que implementa a solicitação e insere o comando numa lista de histórico.

Controle da Máquina

Aplicação VCMM 1 1

SyncClient 1 1

VCMMParser 1

1

Point3D

3

RPoint3D

2

Figura 7 – Diagrama de relacionamentos (Booch, 2000).

void main (int argc, char* argv[]){

VCMM *maq = new VCMM(); // O construtor executa VCMM::init() if (maq == NULL) exit 0; // Erro na criação da máquina leia (comando); while (maq -> exec (comando))

leia (comando); } int VCMM::init(){ // Definir valores iniciais da máquina parser = new VCMMParser(); // Cria o parser

// Cria o cliente para o Avalon _client = new AEI::SyncClient (0, "224.21.12.68", 4711);

if (_client == NULL){ if (parser != NULL) delete parser;return 1;} return 0; } int VCMM::exec (string cmd){ int codCmd = parser->getCommand(cmd); if (codCmd == 0) return 1; // Erro h_insert(); switch (codCmd) { case 1 : movex(); break; // ... } return 0; } int VCMM::movex(){ parser ->setCountArgs(); // Obtem os argumentos do movimento double v = parser -> getNextArg(); if (v>X_MAX || v<X_MIN) return 1; //Argumento não é válido while (/* movimento possível */) { // Atribui ao Eixo X o valor da nova posição repaint(); } return 0; } void VCMM::repaint(){ const int bufSize = 80; char buffer[bufSize]; if (_client == NULL){return;} sprintf(buffer,"%f%f%f",x_axis_vrml.x,x_axis_vrml.y,x_axis_vrml.z); _client->sendSlotMessage("X_Translations","set_translation",buffer); }

Tabela 2 – Aplicação usando a máquina de medir virtual

A implementação dos movimentos dos eixos exige que os valores de translação, rotação ou escala sejam passados para o Avalon de acordo com o numero e tipo de dados equivalentes na linguagem VRML, conforme ilustra o método void VCMM::repaint() apresentado na Tabela 2. É importe verificar que os identificadores dos nós da cena apresentada na Tabela 1 aparece com o mesmo identificador na conexão com a aplicação na Tabela 2. Essa vinculação determina o controle da aplicação, Tabela 2, sobre a interface modelada em VRML, sintetizada na Tabela 1.

3 – Conclusões A abordagem proposta para a produção do software de Realidade Virtual, usando o ambiente apresentado, oferece flexibilidade e portabilidade aos módulos que compõem o sistema. O termo

flexibilidade refere-se à possibilidade dos módulos executarem concorrentemente ou em paralelo, fazendo com que o controle da aplicação possa ser utilizado com diferentes interfaces de usuário, isto é, é possível o controle da cena a partir de interface textual, gráfica ou por dispositivos de rastreamento ótico.

O código produzido foi testado nos ambientes Windows 98, Windows XP Home, Windows XP Profissional e Linux. Essa portabilidade considera a combinação entre os módulos de renderização e de controle de cena. Existem versões-beta do Avalon para os ambientes Linux, Irix e Windows, o que permite que a cena, programada em VRML-97, possa ser transportada entre essas plataformas.

O módulo de controle foi produzido no MS-Visual C++ (versão 6.0) e testado para dois diferentes modelos de interface com o usuário: interface textual, com console de comando; interfaces gráficas, usando o Qt, para a produção de um navegador. O domínio dessas tecnologias oportunizou a reprodução de um ambiente análogo ao existente no IGD/ZGDV na UNIMEP/Piracicaba, permitindo o desenvolvimento de sistemas de realidade virtual com controle distribuído, utilizando dispositivos de visão estereoscópica de baixo custo. Esta experiência mostrou que os códigos produzidos para ambientes de baixo custo, que usam monitores com dimensão da ordem de 21”, são válidos para dispositivos de visão em larga escala, tal como a Virtual Table.

As pesquisas em desenvolvimento no Laboratório de Realidade Virtual da UNIMEP estão, atualmente, direcionadas para o rastreamento ótico e para a modificação de cenas em tempo de execução, não apenas da ótica navegacional, mas, da criação de novas cenas sob demanda.

A interface de rastreamento ótico foi experimentada no IGD/ZGDV, e oferece maior dificuldade de implementação. Neste caso, há a necessidade da configuração do sistema de rastreamento, calibração dos dispositivos de interação com a cena, e a implementação de um subsistema que faça o mapeamento das coordenadas do mundo real no espaço virtual, tornando o sistema menos flexível.

A máquina virtual implementada deverá ser utilizada como interface para um software de simulação de “Máquinas Virtuais de Medir por Coordenadas”. Este simulador está em desenvolvimento no grupo de pesquisa em Metrologia - Laboratório de Metrologia/UNIMEP.

4 – Referências Bibliográficas Booch, Grady; Rumbaugh, James; Jacobson, Ivar. UML: Guia do Usuário. 2ª. Ed, Rio de Janeiro:

Campus, 2000. 472 p. ISBN 85-352-0562-4

Calonego Junior, Nivaldi, Relatório de visita científica, CNPq, Processo: 490182/02-0, Local da Missão: ZGDV - Darmstadt – Alemanha, Período da Missão: 15/01/2003 a 15/02/2003.

Kirner, Cláudio. Relatório de Pesquisa. CNPq - Conselho Nacional de Desenvolvimento Científico e Tecnológico ASCIN - Assessoria de Cooperação Internacional, Convênios Bilaterais, Convênio/País: Programa de Cooperação Brasil-Alemanha em Tecnologia da Informação, Número de Processo: 690012/02-0 ASCIN/CNPq, Título do Projeto: VESIV - Virtual Environment for Shared Interactive Visualization, Coordenador do Lado Brasileiro: Prof. Dr. Claudio Kirner, 2003.

Dalheimer, K. M. Programação em Qt. Rio de Janeiro: Editora Ciência Moderna Ltda, 1999. 335 p. ISBN 85-7393-053-5

Forbes, A.B. Validation of software for dimensional metrology. NPL Report DICT 225/94. Teddington, UK. Feb. 1994.

Rodello, I.A.; Kirner, C.; Behr, J. & Hildebrand, A. Integrating VRML Worlds using Avalon and

CORBA. Anais do 3o, Workshop de Realidade Virtual - WRV 2000, Gramado, RS, Novembro 2000, p. 181-192.

Weckenmann, A.; Eitzet, H.; Garmer, M.; Weber, H. Functionality-oriented evaluation and sampling strategy in co-ordinate metrology.Precision Engeneering, 17(4):244-252, 1995.

BARCO, Company “Virtual Table” http://www.barco.com; (22/06/2003).

Avalon. An open VRML2.0-Environment for Virtual and Augmented Reality Applications, http://www.igd.fhg.de/~avalon/index.html; 2003.