Home
realidade aumentada para informações geográficas - GRV
Contents
1. Figura 4 4 Interface do m dulo de registro dos objetos Na base de dados s o armazenadas informa es sobre a posi o geogr fica de uma constru o e um nome de um modelo tridimensional arquivo no formato 3DS semelhante constru o cadastrada com suas respectivas transforma es geom tricas a fim de ajust lo s dimens es do objeto real Al m dessas informa es o arquivo gerado pelo GPS Register possui o texto que ser 36 associado ao modelo 3DS Esse texto pode ser uma imagem no formato TGA ou ent o um texto tamb m com suas devidas transforma es geom tricas Caso o arquivo 3DS e a imagem virtual texto j possuam o tamanho ideal podem ser mantidos os valores padr es das transforma es geom tricas Esses dados s o necess rios para que se possa saber onde est o localizadas as constru es s quais se desejam adicionar as informa es virtuais e qual a forma do objeto real dada pelo arquivo 3DS que pode ser gerado por uma ferramenta CAD A Figura 4 5 mostra o formato utilizado na gera o do arquivo Esse mesmo formato pode ser visualizado no log de arquivo gerado na tela do GPS Register FILE3DS lt filename gt SCALE lt x gt lt y gt lt z gt POSITION lt x gt lt y gt lt z gt ROTATION lt x gt lt y gt lt z gt IMAGE TEXT lt img tga gt OU TEXT lt text gt SCALE lt x gt lt y gt lt z gt POSITION lt x gt lt y gt lt z gt ROTATION lt x g
2. M todo para valida o dos dados Retorna 1 se for v lido O caso contr rio P blico ParseSentence Este m todo faz a interpreta o da string enviada pelo GPS Retorna dados a respeito da string caso ela seja traduzida caso contr rio retorna NULL 9 3 Leitura das mensagens A leitura das mensagens feita utilizando as fun es de leitura da porta serial da API do Windows Existem duas fases para fazer a leitura pela porta 79 serial uma fase de cria o de uma conex o e a outra que a leitura propriamente dita O Anexo A 1 mostra os passos necess rios para utilizar a API do Windows para ler dados da serial Para a leitura a classe GPS possui um m todo chamado GetData que faz a leitura dos dados advindos da serial e guarda o dado lido numa string Ap s armazenada essa string enviada para uma fun o de callback passada por um dos par metros da fun o GetData Essa fun o d ao usu rio a possibilidade de definir suas pr prias rotinas de valida o interpreta o e processamento das mensagens obtidas pela leitura do dispositivo 9 4 Tradu o e convers o dos dados Ap s ter criado a conex o e feita a leitura de uma linha resta agora fazer a tradu o da string capturada em coordenadas geod sicas e por fim transformar estas coordenadas em coordenadas UTM utilizada no presente trabalho O receptor GPS capaz de enviar v rios tipos de informa es
3. es e por fim enviar as imagens para o HMD este respons vel por sua exibi o Com o HMD tamb m poss vel saber para onde o usu rio est olhando j que este possui um dispositivo de rastreamento de giro da cabe a O computador port til necessita de duas entradas portas seriais para a interconex o dos dispositivos rastreador do HMD e o aparelho de GPS e uma entrada porta USB para a c mera digital Maiores informa es sobre o protocolo de comunica o entre o computador e o receptor GPS est o no cap tulo 7 A c mera serve para obter as imagens reais que s o combinadas com as imagens virtuais Depois de capturadas elas s o enviadas para o 33 computador Quando o usuario estiver pr ximo e olhando diretamente para algum pr dio ou monumento previamente cadastrado no sistema isso se consegue atrav s da leitura do tracker do HMD as imagens virtuais s o combinadas com as reais e exibidas no HMD sabe se que est olhando devido ao rastreador de giro do HMD Caso o usu rio n o esteja vendo nenhum objeto cadastrado somente ser mostrada a imagem real obtida pela c mera Maiores detalhes sobre o processo de obten o e combina o das imagens est o apresentados no cap tulo 8 Por fim o uso do aparelho de GPS serve tanto para obter a posi o atual do usu rio quanto para cadastrar as constru es desejadas Obtendo a posi o do usu rio poss vel saber sua dist ncia em rela o as edifica
4. A Figura 8 6 mostra como deve ser feita a inicializa o do Stencil para seu futuro uso no programa Fun o da glut que reserva mem ria para a cria o do Stencil Buffer glut InitDisplayMode GLUT DOUBLE GLUT RGB GLUT DEPTH GLUT_STENCIL glEnable GL STENCIL TEST Habilita o uso do Stencil Buffer glClearStencil 0 Define que o valor 0 ser utilizado para a inicializa o de todas as posi es da matriz do Stencil Buffer glClear GL STENCIL BUFFER BIT Inicializa o Stencil Buffer Figura 8 6 Fun es de inicializa o do Stencil Buffer N o h entretanto fun es que permitam o acesso direto ao Stencil Buffer O armazenamento de dados neste buffer feito desenhando se sobre a tela de exibi o do OpenGL tendo se previamente ativado fun es de teste que ir o colocar dados na rea do Stencil ou n o dependendo do resultado dos 68 mesmos A partir disto pode se desenhar qualquer coisa na tela que o Stencil Buffer ira receber um novo valor nos pontos do Stencil correspondentes aos pontos ocupados pelo desenho na tela Para tanto o OpenGL faz uso de duas fun es uma de teste e outra de a o A primeira delas a fun o de teste g StencilFunc Glenum func GLint ref Gluint mask que define o tipo de teste o valor de refer ncia e a mascara para o teste do Stencil conforme ilustra a Tabela 8 1 Tabela 8 1 Par metros da fun o glStencilFunc DOCMI
5. sobre os protocolos e tipos de dados podem ser encontradas no site da Garmin http Awww garmin com support pdf iop_spec pdf 7 4 Configura es do receptor GPS neste trabalho O correto funcionamento dos m dulos desenvolvidos neste trabalho prescinde que se tenha a seguinte configura o no aparelho de GPS o formato dos dados a respeito da posi o deve ser hddd mm mmm onde hddd 3 d gitos de grau mm s o 2 d gitos de minutos e mmm representa mil simos de minuto e o sistema de refer ncia do aparelho de GPS utilizado o WGS 84 Maiores informa es sobre esse sistema de refer ncia podem ser encontrados em http br groups yahoo com group parapenteportugal message 1629 ou no artigo encontrado em http www cartografia org br xixcbccd artigos c2 cll59 cll59 99 pdf 57 A respeito da transmiss o dos dados a interface utilizada deve ser NUEA NMEA pois o parser das mensagens do receptor GPS compat vel com a especifica o do padr o NMEA 0183 2 0 Por fim a velocidade de transmiss o dos dados pela serial deve ser de 9600 baud velocidade m xima permitida pelo modelo de receptor utilizado 58 8 Captura e integra o de imagens em tempo de execu o Um dos principais requisitos para o desenvolvimento deste trabalho a fus o entre imagens reais e virtuais As imagens reais s o obtidas atrav s de uma c mera de v deo e as virtuais s o geradas atrav s de alguma biblioteca gr fica Para desenvolv
6. Klaus Ahlers Chris Crampton Mihran Tuceryan Ross Whitaker and Douglas Greer Annotating Real World Objects Using Augmented Reality Proceedings of Computer Graphics International 95 Leeds UK 25 30 June 1995 357 370 http www cs iupui edu tuceryan research AR ECRC 94 41 pdf O Protocolo RS 232 http www ctips com rs232 html 10 de Maio de 2003 Sabbatini Renato M E Informatica M dica Volume Numero 2 Abril maio 99 http www epub org br informaticamedica n0202 sabbatini htm SCHO1 SINCO2 SMALLVR STAQ6b STRO1a STRO1b SZA98 TRI02 98 Dieter Schmaltieg An introduction to Augmented Reality Vienna University of Tecnology Austria 2001 http www ims tuwien ac at teaching vr folien ar_intro pdf Sinclair Patrick The Southampton Equator Project Adaptive Hypermedia in Augmented Reality AR Makers demo http www equator ecs soton ac uk demos September 2002 SmallVR A Simple toolkit for VR Application Development http www smallvr org Maio 6 2008 State Andrei Mark A Livingston Gentaro Hirota William F Garrett Mary C Whitton Henry Fuchs and Etta D Pisano Techniques for Augmented Reality Systems Realizing Ultrasound Guided Needle Biopsies Proceedings of SIGGRAPH 96 New Orleans LA 4 9 August 1996 439 446 Stricker Didier ARCHEOGUIDE First results of an Augmented Reality Mobile Computing System in Cultural Heritage Sites Virtual Reality
7. es previamente cadastradas e assim saber quando se deve mostrar uma determinada constru o O processo de localiza o do usu rio com o receptor GPS na Terra descrito no cap tulo 6 A Figura 4 1 ilustra um usu rio utilizando os equipamentos que s o necess rios para a visualiza o desse trabalho Figura 4 1 Ilustra o dos requisitos para a execu o do programa PIE02 4 2 A arquitetura do sistema A aplica o GPS Viewer informa os dados atrav s de placas virtuais que aparecem como objetos virtuais sobrepostos cena visualizada Estas 34 informa es podem ser sobre fatos hist ricos ocorridos nestas constru es ano de constru o e outros dados relevantes sobre a mesma Figura 4 2 La ador Est tua em bronze sobre pedestal de granito Representa o ga cho em sua vestimenta tipica campeira Foi executada pelo escultor Ant nio Caringi que teve como modelo o tradicionalista Paix o C rtes Inaugurada em 1954 como simbolo dos votos de boas vindas queles que chegam capital do RS Local Pra a do Bombeador S30 Jo o Figura 4 2 Ilustra o da vis o obtida atrav s da RA utilizando um HMD Conforme j foi mencionado o trabalho proposto est dividido em dois m dulos GPS Register que respons vel pela gera o dos arquivos que s o pr cadastrados no sistema e o GPS Viewer que de fato a aplica o que gera as imagens aumentadas em tempo de execu o A Figura 4
8. escrito no frame buffer o formato em que est armazenada a imagem o tipo de dado da imagem definido por constantes OpenGL e um ponteiro para o in cio da rea regi o de pixels que ser desenhada Utilizou se o formato GL BGRA EXT e o tipo de dado GL UNSIGNED BYTE garantindo compatibilidade com o tipo de imagem CVisRGBABytelmage da biblioteca MS 63 Vision SDK tanto na ordem de como estao armazenadas as cores como no tipo de dado que ela possui O ponteiro foi obtido pelo m todo PbPixel da MS Vision Sabendo que para a MSVision a coordenada 0 0 das imagens se situa no extremo esquerdo e acima da janela e para a OpenGL encontra se no extremo esquerdo e abaixo necess rio invert las no eixo Y de forma a preservar sua correta orienta o vertical Para tanto a biblioteca OpenGL possui a fun o glPixelZoom fun o esta que especifica o fator de zoom do pixel e que deve receber os valores 1 e 1 respectivamente pois assim conseguir inverter a imagem de forma que ela apare a corretamente sem alterar seu tamanho original Ap s a invers o da imagem tamb m necess rio informar a posi o a partir da qual ser iniciado o desenho da imagem na janela Para realizar isso OpenGL fornece em seu conjunto de fun es o m todo glRasterPos2i que recebe por par metro a posi o bidimensional que informa a partir de onde come ar a ser desenhado esta regi o de bits Como a imagem est invertida ent o deve se i
9. o feitos atrav s da utiliza o da classe GPS Essa classe foi desenvolvida seguindo um modelo desenvolvido por Scuri para parte de aquisi o dos dados do GPS Para convers o dos tipos de dados coordenadas geod sicas e Universal Transversa de Mercator foi usado um c digo distribu do de forma gratuita em http 164 214 2 59 GandG geotrans geotrans html pelo grupo National Imagery and Mapping Agency NIMA Ao longo das pr ximas se es s o abordados alguns requisitos para obter a localiza o do usu rio no globo terrestre 9 1 Tipos de Coordenadas Existem diversos tipos de coordenadas para a obten o de uma posi o na Terra A classe GPS referida acima permite a manipula o de dois tipos de coordenadas que s o as coordenadas geod sicas e Universal Transversa de Mercator UTM GORO1 As coordenadas geod sicas geogr ficas s o coordenadas que possuem informa es sobre a latitude e longitude que definem pontos sobre a superf cie da Terra em rela o ao elips ide de refer ncia adotado para representar a Terra J UTM um sistema de coordenadas baseado em um sistema m trico Ela divide a Terra em 60 fusos de 6 zonas de seis graus onde cada zona dividida em uma proje o Transversa de Mercartor A Figura 9 1 mostra como est o divididas as zonas no sistema de coordenadas UTM Maiores informa es sobre os tipos de coordenadas podem ser encontradas no site http inside uidaho edu tutorial gis glossary a
10. 55 obter a vers o de GPS em que o computador esta conectado a fim de determinar quais protocolos de transfer ncia de dados s o suportados pelo GPS A Tabela 7 2 mostra as mensagens trocadas entre os dispositivos para a obten o dos dados do produto Tabela 7 2 Mensagens para obten o de informa es sobre o produto GAR99 Nro do Pacote Sentido ID do pacote Tipo de dados do pacote 0 Host gt GPS Pid Product Rast Ignorado 1 Host GPS Pid Product Data Product Data Type No pacote 0 o byte Pid Product Rgst indica uma requisi o de vers o enviada ao GPS No pacote 1 o byte Pid Product Data indica que a parte do tipo de dados do pacote cont m uma estrutura de dados struct Product Data Type que possui os dados do GPS A Figura 7 1 mostra a defini o dessa estrutura Os valores dos identificadores do pacote est o descritos no Anexo A 2 Figura 7 1 Estrutura de dados da vers o do produto Linguagem C typedef struct int product ID int software version Product Data Type 7 3 2 O Protocolo de obten o de posi es Esse protocolo usado para transferir a posi o latitude e longitude em radianos entre o GPS e o computador Ao fazer a requisi o de uma posi o o computador deve gerar um pacote com a formata o descrita na Tabela 7 3 Tabela 7 3 Formato da mensagem para obten o de posi o GAR99 N Sentido ID do pacote Tipo de d
11. Adam L David W Mizell and Thomas P Caudell Calibration of Head Mounted Displays for Augmented Reality Applications Proceedings of IEEE VRAIS 93 Seattle WA 18 22 September 1993 246 255 Kim Won S Virtual Reality Calibration and Preview Predictive Displays for Telerobotics Presence Teleoperators and Virtual Environments 5 2 Spring 1996 173 190 Lanier Jaron A National Tele Immersion Initiative 1998 htto www howstuffworks com framed htm parent holographic environment htm amp url http www advanced org teleimmersion html Microvision Augmented Reality htto www mvis com January 2002 Microsoft Vision SDK 1 2 http research microsoft com projects VisSDK Maio 6 2003 OpenGL The Industry s Foundation for High Performance Graphics http www opengl org Maio 6 2003 Piekarski Waine Dr Bruce Thomas School of Computer and Information Science Advanced Computing Research Centre University of South Australia July 2002 http www tinmith net wearable htm Marcio Serolli Pinho www inf pucrs br pinho TCG ApoioTCG htm PDFs 3 4 e 9 Mascaramento de Regi es Usando Stencil Buffer http www inf pucrs br pinho CG Aulas OpenGL Mascaramento Stencil html Imagens de Porto Alegre http nutep adm ufrgs br fotospoa fotospoa htm Porto Alegre 2002 Jun Rekimoto Augmented Interaction The World Through the Computer 1996 http www csl co jp person rekimoto navi html Rose Eric David Breen
12. Archaeology and Cultural Heritage International Symposium VASTO1 Glyfada Nr Athens Greece 28 30 November 2001 http archeoguide intranet gr publications htm Stricker Didier Virtual Reality and Information Technology for Archaeological site promotion November 2001 http archeoguide intranet gr publications htm Zsolt Szalav ri Mah Jongg A Collaborative Gaming In Augmented Reality 1998 http www cqg tuwien ac at research vr gaming mah jongg Trimble Navigation Limited 2002 htip www trimble com gps
13. Como ltima etapa do processo de composi o da imagem final e tratamento do problema da oclus o tem se a introdu o dos objetos virtuais no cen rio final A Figura 8 9 mostra a fun o respons vel por esse procedimento Primeiramente ocorre a reativa o do Depth Buffer linha 2 da Figura 8 9 pois novamente est se lidando com um contexto tridimensional Por se tratar de objetos virtuais vis veis tamb m necess ria a mudan a das fun es de teste linha 4 da Figura 8 9 e opera o linha 5 da Figura 8 9 do Stencil O par metro GL_NOTEQUAL faz com que a fun o glStencilFunc retorne verdadeiro somente quando o valor atual do Stencil for diferente do par metro refer ncia Por sua vez a fun o glStencilOp ir manter par metro GL_KEEP o valor do Stencil referente a regi o da tela analisada quando o teste anterior retornar verdadeiro Essa l gica ir garantir que nada ser desenhado sobre os fantasmas previamente cadastrados no Stencil atrav s da fun o DefineStencil Ap s essa consist ncia uma nova chamada do m todo Render linha 8 da Figura 8 9 ir ent o desenhar 73 somente os objetos virtuais visiveis ao usuario Isso ocorre pela pr via chamada da fun o SetlnStencil linha 7 da Figura 8 9 agora com par metro falso void Stencil DrawOutsideStencil 1 2 glEnable GL_DEPTH_TEST 3 glDepthFunc GL_LEQUAL 4 glStencilFunc GL NOTEQUAL 1 1 5 glStencilop GL KEEP
14. DRAQ6 DRA93A FEI93A FEI93b GARQ9 GARMIN GORO1 Drascic David P Milgran Perceptual Issues in Augmented Reality Feb 1996 http vered rose utoronto ca people david dir SPIE96 SPIE96 full html Drascic D J J Grodski P Milgram K Ruffo P Wong and S Zhai ARGOS A Display System for Augmenting Reality Video Proceedings of INTERCHI 93 Human Factors in Computing Systems Amsterdam the Netherlands 24 29 April 1993 Also in ACM SIGGRAPH Technical Video Review Volume 88 Extended abstract in Proceedings of INTERCHI 93 521 Feiner Steven Blair MacIntyre and Dor e Seligmann Knowledge based Augmented Reality Communications of the ACM 36 7 July 1993 52 62 http www cs columbia edu graphics projects karma karma html Feiner Steven Blair Macintyre Marcus Haupt and Eliot Solomon Windows on the World 2D Windows for 3D Augmented Reality Proceedings of UIST 93 Atlanta GA 3 5 November 1993 145 155 http www cs columbia edu graphics publications uist93 padf Garmin GPS interface protocol December 6 1999 http www garmin com Garmin What is Garmin http Awww garmin com aboutGPS Maio 6 2003 Gorgulho Miguel GPS Trackmaker GPS O sistema de posicionamento global Julho 2001 http gpstm com port apostila port htm JAN93 KIM96 LAN98 MICO2 MSVISION OGLO3 PIEO2 PINO2 POA02 REK96 ROS95 RS232 SAB99 97 Janin
15. GL KEEP GL KEEP 6 glPushMatrix 7 rootObject gt Set InStencil FALSE rootObject gt Render rootObject 9 glPopMatrix 10 3 Figura 8 9 Fun o de desenho dos objetos virtuais 8 4 Ajuste dos par metros visuais do sistema Para definir a posi o de um usu rio e o ngulo de vis o do mesmo a biblioteca de OpenGL disponibiliza as fun es gluLookAt e gluPerspective respectivamente Nas se es a seguir apresentam se os m todos de obten o de dados que servir o de par metro para estas duas fun es 8 4 1 Obten o da posi o do observador Para que exista uma congru ncia entre a imagem da c mera e a imagem gerada pelo OpenGL necess rio que se estabele a uma rela o posicional entre o observador virtual definido pela fun o gluLookAt eyex eyey eyez atx aty atz 0 1 0 da OpenGL e a real posi o do usu rio no ambiente Os tr s ltimos par metros dessa fun o definem as coordenadas x y e z do vetor de orienta o vertical do observador respectivamente Os tr s primeiros par metros por sua vez correspondem s coordenadas do observador virtual Os par metros eyex e eyez s o obtidos pelo dispositivo de GPS conforme descrito nas se es 4 2 2 e 9 5 O par metro eyey corresponde a altura da c mera em rela o ao solo e deve ser informado na inicializa o do sistema para o correto posicionamento do observador no ambiente virtual 74 8 4 2 Defini o do
16. Identifica o tipo do pacote 2 Tamanho dos dados do pacote Numero de bytes da rea de dados do pacote bytes 3 at n 4 De 3 an 4 Dados do pacote De 0 a 255 bytes n 3 Checksum Complemento de 2 da soma de todos os bytes do 1 at n 4 n 2 Data Link Escape Delimitador Caractere ASCII DLE 16 DLE em decimal n 1 Fim de texto Caractere ASCII ETX 3 em decimal O campo de Dados do pacote possui tamanho variavel de 0 a 255 bytes e pode carregar qualquer informa o referente a algum protocolo da camada de aplica o descrito a seguir 7 3 Os protocolos da camada de aplica o A camada de aplica o possui diversos protocolos para a transfer ncia de dados entre o GPS e o computador Estes protocolos implementam todas as funcionalidades de envio e recebimento de qualquer tipo de mensagem entre o hoste o GPS waypoints rotas posi es entre outros sendo definidos como uma sequ ncia ordenada de pacotes contendo um sentido ID do pacote e tipo de dados do pacote A maioria destes protocolos de aplica o s o sim tricos ou seja tanto o GPS quanto o host podem assumir o papel de origem ou destino da comunica o A seguir est o descritos os protocolos necess rios para a implementa o deste trabalho 7 3 1 O Protocolo de requisi o de vers o Esse protocolo deve ser implementado por qualquer aplica o que deseje estabelecer uma conex o com o aparelho de GPS Ele utilizado para
17. O iii 55 Tabela 7 3 Formato da mensagem para obten o de posi o GAR99 55 Tabela 7 4 Estrutura de dados das coordenadas de um ponto 56 Tabela 8 1 Par metros da fun o glStencilFunc DOCMICROS 68 Tabela 8 2 Par metros da fun o g StencilOp DOCMICROS 69 Tabela 9 1 A Glasse GPS ag para inns etna 78 Tabela 9 2 Formato da mensagem de POSIGAO ccccceeeeeeeeeeetteeeeeeeeeeeeeees 79 Resumo Hoje em dia o alto grau de complexidade imposta por tarefas em diversas areas da ci ncia esta exigindo mais do homem do que seus sentidos naturais podem lhe oferecer O emprego de t cnicas de Realidade Aumentada pode auxiliar na melhora da percep o intera o e consequentemente a produtividade no dia a dia Baseando se nesta id ia este trabalho tem como objetivo criar uma aplica o que forne a ao usu rio informa es a respeito de pontos espec ficos de uma cidade como pr dios igrejas monumentos e outras constru es em geral fazendo uso da Realidade Aumentada para adicionar os dados informativos Atrav s de uma c mera posicionada sobre a cabe a do usu rio as imagens s o capturadas e manipuladas para adicionar as informa es sobre as constru es escolhidas Depois de capturadas as imagens s o enviadas para um notebook que o usu rio estar portando o qual far a inser o dos dados caso necess rio Quando o usu rio estiv
18. Stencil 70 GL_DECR Decrementa o valor da posi o atual do Stencil GL INVERT Inverte Bitwise o valor da posi o atual do Stencil Par metros fail A o a ser tomada caso o teste do Stencil glStencilFunc retorne falso zfail A o a ser tomada caso o teste do Stencil retorne verdadeiro mas o teste do buffer de profundidade falhe zpass A o a ser tomada caso os dois testes retornem verdadeiro ou caso o teste do Stencil retorn verdadeiro o test d profundidade zbuffer estiver desabilitado A Figura 8 7 demonstra o preenchimento do Stencil atrav s do m todo DefineStencil implementado neste trabalho A fun o de teste g StencilFunc tipo Teste refer ncia novoValor linha 7 da Figura 8 7 define qual ser o teste feito com os valores da matriz do Stencil dependendo do par metro tipoTeste os par metros refer ncia e novoValor retornando verdadeiro ou falso Em caso verdadeiro a fun o de opera o giStencilOp Zmenor Zigual Zmaior linha 8 da Figura 8 7 realiza sempre par metro GL ALWAYS que sempre retorna verdadeiro a troca par metro GL REPLACE do par metro refer ncia valor atual no Stencil pelo par metro novoValor para objetos virtuais com profundidade menor igual ou maior primeiro segundo e terceiro par metros da fun o giStencilOp A partir dai qualquer tentativa de desenho sobre a tela OpenGL estar demarcando as regi es no Stencil ao inv s Consequentemente
19. Type enum Cmnd Abort Transfer 0 Cmnd Transfer Alm 1 Cmnd Transfer Posn 2 Cmnd Transfer Prx 3 Cmnd Transfer Rte 4 Cmnd Transfer Time 5 Cmnd Transfer Trk 6 Cmnd Transfer Wpt 7 Cmnd Turn Off Pwr 8 Cmnd Start Pvt Data 49 Cmnd Stop Pvt Data 50 abort current transfer transfer almanac transfer position transfer proximity waypoints transfer routes transfer time transfer track log transfer waypoints turn off power start transmitting PVT data stop transmitting PVT data Nota O comando Cmnd Turn Off Pwr pode n o ser reconhecido por alguns aparelhos GPS 92 Anexo C Manual do usu rio Este manual tem como objetivo auxiliar um usu rio a utilizar o sistema desenvolvido O documento est dividido em tr s partes que s o respectivamente o m dulo GPS Register o m dulo GPS Viewer e como usar esse sistema em outros locais diferentes daqueles onde o sistema foi testado C 1 O m dulo GPS Register O m dulo GPS Register tem como objetivo gerar um arquivo contendo informa es sobre todos os pr dios cadastrados com seus respectivos textos imagens virtuais associados A execu o desse m dulo pode ser feita de duas formas entre no diret rio onde est o arquivo GPSRegister exe e d um duplo clique no icone do programa execut vel ou abra um console e digite GPSRegi
20. Vision SDK chamado DisplayInHdc do swap com a diferen a que essa rotina deve receber como par metros o contexto da janela onde a imagem ser exibida Para obter o contexto de dispositivo da janela a API do Windows disponibiliza o m todo GetDC que retorna o contexto da janela onde ser repintada a imagem final A Figura 8 4 apresenta um pequeno trecho de c digo que serve para promover a integra o entre MS Vision e a GDI do Windows Ao final do c digo h duas op es para atualizar o frame buffer uma chamando rotinas da MS Vision e outra utilizando o m todo SwapBuffers da GDI H ainda um c digo que exibe um texto sobre a imagem 66 A Figura 8 5 mostra a aplica o feita para testar o funcionamento utilizando as func es da GDI do Windows visualizando a imagem virtual o texto Mouse Vari veis globais HDC hdc HWND hwnd handle para uma Window CVis ImageRGBAByteImage image Na fun o de callback retorno de chamada case WM CREATE hdc GetDC hwnd USANDO SE FUN ES DA MS VISION SDK insira aqui o trecho de c digo para desenhar imagens virtuais utilizando o HDC da janela como contexto Imagem virtual Text Out hdc 80 250 Mouse sizeof Mouse image DisplayInHdc hdc OU USANDO SE FUN ES DA GDI DO WINDOWS insira aqui o trecho de c digo para desenhar imagens virtuais utilizando o HDC da imagem como contexto Imagem virtu
21. a 6378137 000 metros enquanto que o achatamento do elips ide equivale a 1 298 257223563 J a fun o Convert Geodetic To UTM recebe por par metros as coordenadas geod sicas latitude e longitude respectivamente e retorna os dados referentes a coordenada UTM que s o respectivamente zona hemisf rio o quanto se est a leste e quanto se est ao norte Estes dados s o armazenados na estrutura de dados UTM Projection como mencionada na se o 9 1 9 5 Valida o dos dados Algumas vezes os dados lidos da serial podem n o vir corretamente pois o aparelho de GPS pode n o estar recebendo o sinal de quatro sat lites ou ainda estar lendo algum dado incorreto Para tanto na classe GPS existem um m todo para garantir a validade dos dados chamada TestSentence Este m todo recebe por par metros a string capturada e o tamanho dessa string Ele verifica se existe na primeira posi o da string o caractere e se nas duas ltimas posi es existem os caracteres nn que s o respectivamente carriage return e line feed Se n o houver erro esta fun o retorna o valor 1 sen o retorna 0 Existe ainda mais um m todo que tamb m pode ser utilizado para consist ncia dos dados desenvolvido na classe que o m todo ParseSentence Essa fun o retorna NULL se n o conseguir fazer a interpreta o da senten a caso contr rio ela retorna uma estrutura de dados contendo informa es sobre a senten a Dentre as
22. ap s necess rio fazer a conex o com o dispositivo de v deo e por fim fazer a aquisi o das imagens capturadas pela c mera A execu o dessas fases realizada atrav s de um pacote de fun es da MS Vision chamado VislmSrc Vision Image Source que permite escolher um dos digitalizadores instalados na m quina e tamb m oferece suporte para aquisi o das imagens da c mera Para saber qual o originador das imagens Image Source a MS Vision possui um m todo chamado VisFindlmageSource que tem como fun o descobrir se h algum dispositivo de v deo conectado m quina No caso de sucesso essa fun o retorna um objeto chamado CVislmageSource que ser necess rio para realizar a conex o com o dispositivo A segunda fase necess ria para a obten o das imagens a conex o com o dispositivo de v deo A conex o feita utilizando se a classe CVisSequence que respons vel tamb m por reservar uma regi o de mem ria onde ser o armazenadas as imagens capturadas pela c mera Essa classe possui um m todo chamado ConnectToSource que respons vel pela conex o ao dispositivo este previamente obtido pelo m todo VisFindlmageSource Por fim o ltimo passo a captura das imagens armazenadas em uma regi o de memoria espec fica O objeto CVisSequence possui um m todo que permite obter imagens que est o nesta regi o atrav s dos m todos Pop e PopFront Essa classe tamb m permite que se controle
23. aplica es que est o rodando no notebook est o divididas em dois m dulos separados O m dulo GPS Register encarregado de gerar uma base de dados a respeito de todas as constru es cadastrando as no sistema e o m dulo GPS Viewer que respons vel pela execu o do sistema e pelo carregamento da base de dados gerada pelo GPS Register 14 1 1 Organiza o do Texto No cap tulo 2 s o descritas diversas aplica es nas quais a RA pode auxiliar por exemplo em cirurgias ou em manuten o de aparelhos eletrodom sticos No cap tulo 3 s o abordados os tipos de RA que podem ser desenvolvidos e suas limita es de acordo com o contexto na qual est inserida No cap tulo 4 est uma descri o detalhada a respeito do que trata esse trabalho descrevendo o que foi desenvolvido e os recursos utilizados para tal O cap tulo 5 cont m informa es a respeito dos problemas existentes na RA descrevendo cada um deles e mostrando os motivos pelo qual eles devem ser tratados O cap tulo 6 faz refer ncia sobre como obter a localiza o de uma pessoa no globo terrestre atrav s do uso de um receptor GPS Global Positioning System O cap tulo 7 descreve o protocolo de comunica o entre um receptor GPS e um computador comentando sobre cada uma de suas camadas e as configura es que devem ser definidas no aparelho de GPS O cap tulo 8 mostra como s o feitas a captura e integra o das imagens em tempo real descrevendo co
24. aspecto visual Ap s se definir a posi o do observador no ambiente necess rio saber para onde o usu rio esta olhando a fim de se estabelecer uma correspond ncia tamb m desse fator Para tanto faz se uso do dispositivo de rastreamento dos movimentos da cabe a head motion tracker presente no culos de RV utilizado no trabalho Este equipamento informa o ngulo de giro vertical e horizontal da cabe a partindo de uma refer ncia inicial Os par metros atx aty e atz da fun o gluLookAt s o respons veis por essa defini o Eles definem um ponto para o qual o observador virtual est olhando 8 4 3 Obten o da orienta o da cabe a do observador Para que se possa construir um cen rio realista evitando distor es visuais indesejadas necess rio que o par metro viewAngle da fun o gluPerspective esteja bem definido Ele deve corresponder ao ngulo de abertura horizontal da c mera fazendo com que a composi o da imagem real com a virtual fique perfeita Para o c lculo desse ngulo construiu se um cen rio sobre papel quadriculado contendo duas colunas equidistantes da c mera de forma a formarem um tri ngulo is sceles com a mesma Figura 8 10 C lculo do ngulo da C mera Vis o Superior jol x Dist ncia d 12cm Figura 8 10 C lculo do ngulo da C mera vis o superior A partir disso se aproxima ou se afasta a c mera a fim de fazer com que as colunas posicionem se exat
25. baratear os custos dos filmes Algumas cenas s o previamente gravadas em salas que possuem uma cor de fundo Depois de terminado este processo as partes que continham essa cor s o sobrepostas por um conjunto de imagens virtuais A id ia evitar a constru o de todo o cen rio para a grava o de filme substituindo alguns objetos reais por seus equivalentes digitalizados Tamb m existem diversas aplica es na rea de jogos Um grupo da universidade de Vienna montou um sistema onde mais de um usu rio pode interagir durante a realiza o de uma partida de Mah Jongg um antigo e tradicional jogo chin s SZA98 Na Figura 2 9 est sendo realizada uma partida dele entre dois usu rios A id ia deste grupo promover a realiza o de jogos em tempo real com multiusu rios al m do entretenimento 22 Nesta aplica o os usu rios t m a liberdade de possuir seu pr prio espa o privado Privacidade utilizada em jogos multiplayer para ocultar informa es particulares de outros jogadores ou seja prov m um espa o necess rio para o usu rio realizar suas estrat gias j Figura 2 9 Ilustra o mostrando o jogo Mah jongg SZA98 2 6 Teleconfer ncia e Tele Imers o Sistemas de teleconfer ncias s o promo es de reuni es entre pessoas que n o se encontram em um mesmo local Normalmente s o realizadas apenas por interm dio de aparelhos telef nicos conectados a uma rede particular por m tem se um ce
26. de RA por video Rastreador de Video Video Combinado Figura 3 2 Esquema de RA por video AZU97 Para realiza o desta combina o h v rias t cnicas dentre elas o uso da chroma keying m todo ao qual se tem um fundo com uma cor espec fica e tudo que contiver esta cor na cena real ser substitu do pelas imagens virtuais geradas por um computador Algumas composi es mais aperfei oadas utilizam a id ia de profundidade onde cada pixel da imagem possui informa o de sua profundidade facilitando a ordem de coloca o dos objetos virtuais no cen rio final Com o emprego dessa metodologia tem se a atualiza o do ambiente real e virtual de forma s ncrona visto que ambos os ambientes real e virtual ser o processados por um nico sistema de composi o Uma das caracter sticas interessantes na RA por v deo a possibilidade de ampliar ou reduzir o cen rio real caracter stica essa conhecida como zoom Esta caracter stica permite ao usu rio ampliar a imagem final ou ter uma vis o panor mica do ambiente real Apesar dele oferecer a vantagem da amplia o do cen rio em sistemas de RA por v deo esses sistemas possuem problemas na utiliza o de c meras O grau de qualidade da imagem real depende da resolu o da c mera que captura as imagens do mundo real Al m disso a utiliza o de somente uma c mera para desempenhar a fun o dos olhos 29 anula a sensa o de estereosco
27. entretanto a nica informa o utilizada neste trabalho a de posi o Essa string cont m informa es sobre latitude e longitude A Figura 9 3 mostra um exemplo da string enviada pelo receptor GPS enquanto que a Tabela 9 2 ilustra o formato da mensagem utilizada neste trabalho O formato das demais strings geradas pelo GPS podem ser obtidos em http www commlinx com au tf380gps pdf GPGLL 3000 243 S 05107 992 W 003634 A 20 id latitude N S longitude WIE UTC checksum Figura 9 3 Exemplo da string obtida pelo receptor GPS Tabela 9 2 Formato da mensagem de posi o 80 Nome Exemplo Descri o Id da mensagem GPGLL Cabe alho GLL Global Latitude Longitude Latitude 3000 243 hdddmm mmm degree and minutes notation hd grau opcional d grau obrigat rio m minuto No caso de latitude o hd n o preenchido Indicador N S S N North ou S South Longitude 05107 992 hdddmm mmm nota o em graus e minutos hd grau opcional d grau obrigat rio m minuto Indicador W E W W West ou E East Posi o UTC 003634 Hhmmss Esta informa o n o utilizada neste trabalho Status A A dado v lido ou V dado n o v lido CheckSum 20 lt Carriage Return gt lt line feed gt r n T rmino da mensagem Essa mensagem possui como delimitador dos dados o caractere v rgula A quebra dessa string foi feita atrav s da cria o de
28. informa es nela contida existe uma chamada Check que serve para validar o checksum da string Se Check contiver o valor diferente de 1 significa que possui checksum na string caso contr rio significa que h algum dado inv lido no meio da string Se Check tiver o valor 0 significa que o checksum inv lido sen o se tiver o valor 1 validada a string 82 10 Cenario gerado A aplicagao desenvolvida nesse trabalho permite que se crie um ambiente de RA atrav s do cadastro de constru es e suas respectivas informa es pelo m dulo GPS Register j descrito A fim de validar e testar o desempenho dessa aplica o gerou se um ambiente para a simula o da mesma O cen rio composto por tr s pr dios da PUCRS de Porto Alegre sobre os quais foram adicionadas placas informativas contendo seus respectivos n meros Um usu rio pode caminhar ao redor dos mesmos observando as placas numeradas quando seu ngulo de vis o assim o permitir A Figura 10 1 apresenta um mapa deste cen rio contendo os pr dios com suas respectivas placas virtuais e um ponto A indicando a localiza o do usu rio no ambiente com uma seta demonstrando sua orienta o visual na situa o 14 g 2 v n N Pot y a 41 ma 15 v 20 4 ae Figura 10 1 Mapa do cenario vista superior PUCRS Um usuario posicionado no ponto A consegue enxergar a placa do pr dio 15 e uma parte da placa do pr dio 10 devido ao processo de oclusao impo
29. luz vinda do mundo real Al m disso em ambientes com muita ilumina o o grau de qualidade das imagens virtuais fica prejudicado fazendo com que elas pare am semitransparentes Apesar desses problemas h duas grandes vantagens na utiliza o de sistemas de RA tica que s o o menor tempo de processamento e a maior resolu o das imagens reais O grau de processamento menor que em outros sistemas de RA pois somente necess rio consumir tempo de processamento com a gera o das imagens virtuais para serem visualizadas j que o mundo real visto a olho nu Quanto ao grau de resolu o das imagens reais este o maior poss vel pois a imagem captada diretamente pelo olho do usu rio 3 2 Sistemas de RA por v deo Nos sistemas de RA por v deo o usu rio visualiza o mundo real atrav s de uma ou duas c meras Nestes sistemas a c mera passa a desempenhar a fun o dos olhos do usu rio A montagem de um sistema de RA por v deo bastante semelhante ao citado na se o anterior contudo que o mundo real capturado por meio de uma c mera e retransmitido para um combinador de v deo que re ne as cenas virtuais vindas do gerador de cenas com as imagens do mundo real combinando as de tal forma que pare am um nico ambiente Por fim esse resultado enviado 28 aos monitores do Head Mounted Display HMD que irao reproduzi las A Figura 3 2 mostra um modelo de como deve ser desenvolvido um sistema
30. mas todos t m o mesmo objetivo combinar o ambiente real com o virtual Nas se es a seguir ser o descritos estes tr s tipos de realidade aumentada abordando como s o configurados e seus pontos positivos e negativos 3 1 Sistemas de RA ticos Em sistemas de RA ticos o usu rio tem a possibilidade de visualizar o ambiente real diretamente a olho nu sendo apenas geradas as imagens virtuais que ser o visualizadas atrav s de um dispositivo culos de realidade virtual chamado see through HMD stHMD Este dispositivo um culos semitransparente ou transparente que al m de exibir as imagens virtuais permite que o usu rio enxergue atrav s de suas lentes e assim veja tamb m o mundo real A Figura 3 1 mostra o funcionamento deste dispositivo que composto por duas partes um gerador de cenas que receber esses dados e far os c lculos necess rios gerando imagens virtuais enviando aos monitores do culos que por sua vez reproduzir o as imagens virtuais sobrepostas ao mundo real visto atrav s das lentes do HMD Opcionalmente o sistema pode possuir um rastreador que captura os movimentos da cabe a do usu rio 27 Rastreador Imagens Monitores Gr ficas Combinadores cos Figura 3 1 Esquema da RA tica AZU97 Uma limita o imposta por aplica es que utilizam dispositivos com combinadores ticos o grau de luminosidade no cen rio real A maioria dos combinadores reduz a quantidade de
31. obtidas pela c mera com as imagens virtuais geradas por computador Teste da Camera com Opengl Figura 8 3 Aplica o rodando com OpenGL 65 8 2 2 Integrando a GDI com a MS Vision SDK Uma outra forma de promover a integra o de imagens geradas computacionalmente com imagens capturadas pelo dispositivo de video utilizar as fun es da GDI do Windows Como a MS Vision SDK utiliza como padr o alguns formatos fornecidos pela API do Windows e o modo como armazena as imagens em mem ria id ntico ao padr o Windows Bitmaps a integra o bastante simples Para conseguir usar uma imagem com a Windows GDI necess rio ter um ponteiro para o chamado contexto de dispositivo Handle Device Context ou HDC Para obter o contexto da imagem capturada pela MS Vision a classe CVisRGBABytelmage possui o m todo chamado Hdc o qual retorna o HDC da imagem nesse contexto que dever o ser tamb m desenhadas as imagens geradas por computador Isso permite o uso dessa imagem capturada com as fun es da GDI do Windows Depois de construir o desenho virtual sobre a imagem da c mera preciso redesenhar a tela exibindo a imagem Isto pode ser feito de duas formas a primeira passar o HDC da imagem para a fun o SwapBuffers disponibilizada pela API do Windows Esta fun o respons vel pela exibi o do frame buffer na tela Uma segunda maneira de exibir a imagem atrav s do m todo disponibilizado pela
32. qual s o lidos os dados advindos da serial at que se encontre uma quebra de linha informa o esta armazenada num buffer A Figura A 2 mostra o m todo desenvolvido para fazer a leitura dos dados enviados pelo receptor GPS 89 int GPS GetData int show_err int callback_function char buffer int size DWORD dSize char buf BUFFER SIZE char buffer ClearCommError hCom amp dSize NULL PurgeComm hCom PURGE TXABORT PURGE RXABORT PURGE TXCLEAR PURGE RXCLEAR Le dados at que a fun o de callback retorne 0 buffer buf 1 Permite acesso ao buffer c 1 quando c do int ret c 0 err count 0 L at que encontre uma quebra de linha do dSize 0 ret ReadFile hCom buffer c 1 amp dSize NULL Trata problemas de comunica o if ret dSize 1 ClearCommError hCom amp dSize NULL PurgeComm hCom PURGE_TXABORT PURGE_RXABORT PURGE TXCLEAR PURGE_RXCLEAR err count if err count 5 printf limite de erro alcancado exit 0 else if show_err if ret printf Warn read n else printf Warn size n else err count 0 c while buffer c 1 LINE FEED amp amp c lt BUFFER SIZE buffer c 0 dSize c while callback function buffer dSize 0 return 1 Figura A 2
33. reais que dever o ocultar as informa es virtuais e criar com estes os objetos conhecidos como fantasmas O ato de cadastrar registrar os objetos reais significa gerar uma imagem virtual fantasma que replique em tamanho e forma o objeto real podendo assim mascarar partes de uma outra imagem virtual que ser adicionada imagem real Essas r plicas n o aparecer o no resultado final imagem combinada e por isso s o conhecidas como fantasmas A chave para a oclus o est em que esses objetos fantasmas ir o ocultar partes dos objetos virtuais que deveriam ser ocultados pelo objeto real Por fim basta unir a imagem virtual gerada parcialmente oculta com a imagem real deixando a impress o de o objeto real estar obstruindo o virtual A Figura 5 4 ilustra o processo de mascaramento de partes das imagens virtuais e a correta oclus o do objeto virtual pelo real Inicialmente deve se exibir todos os objetos virtuais fantasmas sobre a imagem da c mera aplicando as transforma es geom tricas necess rias para seu correto 44 posicionamento em rela o aos objetos reais assim como mostrada na imagem capturada pela c mera em a Tendo os objetos fantasmas j posicionados aplica se a t cnica de mascaramento que utilizar esses objetos para aplicar o processo de oclus o em qualquer outra imagem gr fica que passar sobre ela Detalhes do processo de mascaramento podem ser apresentados na se o 8 3 Em b por exe
34. tabuleiro comprometendo o grau de fidelidade da imagem resultante 42 Figura 5 2 Oclusao sendo aplicado ao tabuleiro BALOO A Figura 5 3 ilustra melhor o problema que ocorre se n o for aplicado algum m todo que resolva o problema da oclus o Partindo se de um cen rio no qual um observador olha para dois objetos que representam pr dios reais a o processo de gera o da imagem final ir adicionar os objetos virtuais para compor a cena final Para melhor ilustrar este passo em b tem se a vis o a rea de onde est situado o observador em rela o ao objeto real e em que dire o ele est olhando Obtida a imagem real deve se agora posicionar e desenhar sobre ela todos os objetos virtuais que se deseja adicionar Em c ilustrada uma imagem na vis o superior id ntica a de b s que com a imagem virtual adicionada Nota se que o objeto virtual est parcialmente dentro do objeto real considerando se a posi o do observador Entretanto quando este for exibido sobre a imagem o resultado gerado ser incorreto pois a imagem do objeto virtual aparece na frente do objeto real o que n o representa a imagem que era esperada Figura 5 3d Esse problema ocorreu devido ao fato de n o ter sido feito o registro dos pr dios logo a sistema n o tem a informa o de sua exist ncia 43 Figura 5 3 Problema da oclusao Para resolver esse conflito deve se deixar previamente cadastrados todos os objetos
35. velocidade dos sat lites que por sua vez atualizam seus dados e retransmitem aos receptores GPS Figura 6 1 Planos orbitais GARMIN O funcionamento de um GPS na determina o de uma posi o apresentado a seguir Primeiramente necess rio que o receptor GPS conhe a sua dist ncia relativa aos sat lites com os quais se comunica Al m disso cada um dos sat lites deve saber sua posi o exata no espa o a qual informada pela sua respectiva Ground Station Ent o o c lculo que determina sua posi o realizado com o uso de quatro sat lites Sabendo a dist ncia d do primeiro sat lite at o receptor GPS obt m se uma esfera de raio d centrada no sat lite cuja superf cie remete s poss veis localiza es do GPS Aplicando o mesmo racioc nio para um segundo obt m se outra esfera que ao ser interseccionada com a primeira resulta em uma circunfer ncia de poss veis localiza es do 50 receptor Com o terceiro sat lite obt m se uma nova esfera que ao ser interseccionada com esta circunfer ncia reduz o n mero de poss veis localiza es do receptor GPS apenas dois pontos Para saber sua localiza o exata necess ria a presen a de um quarto sat lite que elimina o ponto mais distante da superf cie terrestre Pode se tamb m eliminar um dos pontos por l gica visto que um deles tem uma coordenada que est fora dos limites da superf cie da Terra A Figura 6 2 demonstra as et
36. 0 NULL OPEN_EXISTING 0 NULL if hCom INVALID HANDLE VALUE printf erro em CreateFile GetCommState hCom amp dcb dcb DCBlength sizeof DCB dcb BaudRate CBR_9600 dcb fParity FALSE dcb Parity NOPARITY dcb ByteSize 8 dcb StopBits ONESTOPBIT dcb fBinary TRUE dcb fAbortOnError TRUE if SetCommState hCom amp dcb printf erro na fun o SetCommState GetCommTimeouts hCom amp commtime setando apenas timeout de leitura commtime ReadIntervalTimeout MAXDWORD commt ime ReadTotalTimeoutMultiplier MAXDWORD commtime ReadTotalTimeoutConstant 2000 2 second time out if SetCommTimeouts hCom amp commtime printf erro na fun o SetCommTimeouts ClearCommError hCom amp dSize NULL PurgeComm hCom PURGE_TXABORT PURGE_RXABORT PURGE_TXCLEAR PURGE_RXCLEAR Figura A 1 Cria o de conex o com o dispositivo de comunica o Feita a conex o com o dispositivo de comunica o o pr ximo passo fazer a leitura dos dados advindo do GPS conectado a essa porta A API do Windows possui o m todo ReadFile que l um dado de um certo contexto no caso um ponteiro para um dispositivo Maiores informa es sobre este m todo podem ser encontrados em http msdn microsoft com library default asp Na classe GPS desenvolvida para este trabalho desenvolveu se uma l gica atrav s do
37. 3 604 5 05110 414 W 003634 A 20 SGPGLL 3003 605 5 05110 414 W 003634 A 20 SGPGLL 3003 603 5 05110 414 W 003634 A 20 SGPGLL 3003 604 5 05110 413 W 003634 A 20 Figura C 2 GPSRegister Lendo dados do GPS A grava o registro de uma determinada posi o feita quando for clicado no bot o Salva Linha Essa a o tem como pr requisito que todos os campos referentes s transforma es geom tricas transla o escala e rota o estejam devidamente preenchidas al m de os campos de Arquivo 3DS Imagem Texto Texto Al m desses dados o arquivo somente gerado ap s o programa ter feito o n mero de leituras definida na op o Quantidade de Leituras Ao salvar uma linha o programa mostra um preview do arquivo gerado dado este mostrado no campo Arquivo Gerado O n mero de leituras que pode ser alterado pelo usu rio serve para que possa melhor determinar a posi o enviada pelo GPS Isso passa a ser interessante quando se deseja melhor registrar as constru es virtuais fantasmas e suas respectivas placas que est o associadas aos pr dios visto que quando utilizados modelos de GPS com uma precis o n o muito alta como o usado neste trabalho que tinha um erro de 7 a 10m O t rmino das leituras pode 94 ser realizado de duas formas que sao respectivamente ao fechar a janela ou quando clicar no botao Finaliza Leitura C 2 O modulo GPS Viewer O m dulo GPS Viewer o m dulo principal do sist
38. 3 ilustra a arquitetura desenvolvida neste trabalho Base de Dados Textual Figura 4 3 A arquitetura do sistema O funcionamento dessa arquitetura pode ser simplificado do seguinte modo inicialmente deve ser utilizado o m dulo GPS Register para gerar a base de dados textual Quando for executado o GPS Viewer ele carrega a base de dados 35 recebe a imagem real obtida pela camera digital e combina com as imagens virtuais quando possivel enviando o resultado final para o HMD este responsavel pela sua exibi o O cap tulo 5 esclarece melhor o porque de se gerar uma base de dados para o GPS Viewer Nas se es a seguir abordada com mais profundidade a id ia de cada um dos m dulos bem como seu funcionamento 4 2 1 O m dulo GPS Register O m dulo GPS Register possui como objetivo a gera o de uma base de dados em formato de arquivo texto que ser utilizado pelo m dulo GPS Viewer A Figura 4 4 ilustra a interface gr fica inicial do m dulo GPS Register iix Arquivo de Gera o Quantidade de Leituras Nome do Arquivo Jeon b JE w Finaliza Gera o Salva Linha 2 z LOG do receptor GPS Somente String SGPGLL C 20 E Arquivo Gerado s 4 E o Informa es Relevantes no Arquivo Rota o Transla o Escala Rota o Transla o Escala Texto hm Hm He ly lm a go Jyvlo n Ivo jv o o mm fF Ee ao la o Arquivo 3DS o imagem Texto _ si Hj P
39. 8 7 Protocolo de comunica o entre computador e GPS e configura es 0 a gf 21612 0 3 Lars rasa a re eee E SS eee 52 7 1 O protocolo da camada f sica padr o 52 7 2 O protocolo da camada de LINK a 53 7 3 Os protocolos da camada de aplica o 54 7 3 1 O Protocolo de requisi o de vers o 54 7 3 2 O Protocolo de obten o de posi es 55 7 4 Configura es do receptor GPS neste trabalho cccceeeeeeeeeeeeeeeeeeeeeees 56 8 Captura e integra o de imagens em tempo de execu o 58 8 1 MS Vision SDK aaa ada Dea aa E ETE e Eai E FERAE 58 8 1 1 Fun es de Captura da MS Vision SDK 58 8 1 2 Acesso a imagens wrt teiceencassonsnteoneiodiataessacnceepanssuavesaeaneponeteasycemessasansbananes 60 8 2 Composi o das IMAGENS cccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaeeeeeeeeeeeeeeeesneaeeeeeeees 62 8 2 1 Integrando OpenGL com o MS Vision SDK 62 8 2 2 Integrando a GDI com a MS Vision SDK nn 65 8 3 Tratamento do problema da oclus o 67 8 4 Ajuste dos par metros visuais do SIStEMA seeeeeeseeeeeeeeseeeeeeeeeeeeeees 73 8 4 1 Obten o da posi o do observador rrrrrrrrrrrrrnrnnnrrrrnnrnnnnnnnnn 73 8 4 2 Defini o do aspecto viSual suas caE aitcavadaraketaadsterple
40. 8 8 bem como trocar o modo de visualiza o do OpenGL para 2D linha 10 da Figura 8 8 a fim de obter sua correta exibi o Logo ap s sua exibi o deve se retornar ao modo de visualiza o 3D linhas 20 e 21 da Figura 8 8 A Figura 8 8 exibe esses procedimentos fazendo uso das fun es de captura da c mera descritas na se o 8 2 1 1 void Stencil DrawBackgroundImageStencil 2 glDisable GL_STENCIL_TEST Desabilita o uso do Stencil Buffer 3 glDisable GL DEPTH TEST Desabilita o uso do Depth Buffer 72 4 glMatrixMode GL_MODELVIEW glPushMatrix Salva a matriz de desenho 3D glLoadIdentity glMatrixMode GL PROJECTION glPushMatrix Salva a matriz de proje o 3D o Oo IJ 0O glLoadIdentity glOrtho 0 352 0 288 1 1 Troca o modo de visualiza o para 2D 1StencilFunc GL_ALWAYS 0 0 1StencilOp GL_KEEP GL KEEP GL_KEEP 1PixelZoom 1 0 1 0 Inverte a imagem glRasterPos2i 0 sizeOfCam y 1 Vincula os pixels Desenha a imagem capturada pela camera YO GO WN HO a Qa a glDrawPixels sizeOfCam x sizeOfCam y oo GL BGRA EXT GL UNSIGNED BYTE 19 webCam gt Get Image 20 glPopMatrix Retorna a matriz de proje o 3D 21 glMatrixMode GL MODELVIENW 22 glPopMatrix Retorna a matriz de desenho 3D 23 Figura 8 8 Fun o de exibi o das imagens reais
41. CROS Tipo de teste Significado GL NEVER Sempre retorna falso GL LESS Verdadeiro if ref amp mask lt stencil amp mask GL LEQUAL IA Verdadeiro if ref amp mask stencil amp mask GL GREATER Verdadeiro if ref amp mask gt stencil amp mask GL GEQUAL IV Verdadeiro if ref amp mask stencil amp mask GL_EQUAL Verdadeiro if ref amp mask stencil amp mask GL_NOTEQUAL Verdadeiro if ref amp mask stencil amp mask 69 GL_ALWAYS Sempre retorna verdadeiro Par metros func Tipo de teste do Stencil ref Valor de refer ncia para o teste do stencil mask Valor a ser escrito na posi o atual do Stencil com o qual o valor de refer ncia e o valor da posi o atual do Stencil s o comparados A segunda a fun o glStencilOp Glenum fail Glenum Zfail GLenum Zpass que define as a es a serem tomadas para cada um dos testes fail zfaile zpass A Tabela 8 2 mostra os tokens v lidos para esses par metros Tabela 8 2 Par metros da fun o glStencilOp DOCMICROS Constante A o GL KEEP Mant m o valor da posi o atual do Stencil GL ZERO Escreve zero na posi o atual Stencil GL REPLACE Escreve o valor de refer ncia especificado pela fun o glStencilFunc na posi o atual do Stencil GL INCR Incrementa o valor da posi o atual do
42. PONTIFICIA UNIVERSIDADE CATOLICA DO RIO GRANDE DO SUL FACULDADE DE INFORMATICA CURSO DE BACHARELADO EM CIENCIA DA COMPUTAGAO REALIDADE AUMENTADA PARA INFORMA ES GEOGRAFICAS por Emanuel Motta Grohs Patrick Renan Bernardes Maestri Trabalho de Conclus o II Curso de Bacharelado em Ci ncia da Computa o Prof MSc M rcio Serolli Pinho Orientador Porto Alegre Junho de 2002 Agradecimentos Gostariamos de agradecer ao prof R gis Alexandre Lahm da Faculdade de Filosofia e Ci ncias Humanas da PUCRS pelo apoio nas questoes relativas a Geografia Agradecemos tamb m ao prof Jorge Alberto Villwock diretor do Instituto do Meio Ambiente pelo empr stimo do equipamento GPS Sumario NN oie patina RINDO RARE RN ERRAR RR MEIA ERR NERI NERI ER NEN E 4 Lista de a 6 Ui po tc SARRO ERR ENO NEEDED RT ORNE ee ORAR ret 6 Ustade Tabelas in ernaia e a e reaa E EE EE EEEE REE 8 RESUMO seee A A AA A A A EA A AAA 9 Noa p 9 AEAEE AE AE A E EET 10 Te AM OCCA niecne ee ae a i e ea aiaa 11 1 1 Organiza o do TOMO esccescte dec enedersceens eae encetesedeses vceeecedeeseesesdecegedesveeseseseciaee 14 2 SAQIICA ES sercis ea dana ad ad ad 15 2de Medicinan aE E E E E O a 15 2 2 Processos de Constru o e Manuten o 16 2 3 Anota o amp VISUAIIZA O sipesiiasabainesitaninaslopibamafesipesafanibssafasmrmafasiiopafsaipannida 18 2 4 Planejamento de caminho para rob s cccceeeeeeeeeeeeeeeeeeeeeeeee
43. Trecho de c digo do m todo de leitura da classe GPS 90 Anexo B Defini es sobre o protocolo do GPS Os valores das flags podem ser associados com os seguinte valores mostrados a seguir Identificadores B sicos do Pacote enum Pid Ack Byte 6 Pid Nak Byte 21 Pid Protocol Array 253 Pode n o estar implementados em todos GPS s Pid Product Rqst 254 Pid Product Data 255 L001 Protocolo da camada de link 1 Este protocolo de Link usado pela maioria dos aparelhos de GPS Este protocolo tem o mesmo conte do de L000 Basic Link Protocol exceto que ele possui os seguintes identificadores a mais em negrito enum Pid_Command_Data 10 Cont m dado que indica um comando provido por Command_Id_Type Pid_Xfer_Cmplt 12 Pid_Date_Time_Data 14 Pid Position Data 17 Cont m o dado de posi o que provido em espec fico produto de tipo de dados lt D0 gt Pid Prx Wpt Data 19 Pid Records 27 Pid Rte Hdr 29 Pid Rte Wpt Data 30 Pid Almanac Data 31 Pid Trk Data 34 Pid WwWpt Data 35 Pid Pvt Data 51 Pid Rte Link Data 98 Pid Trk Hdr 99 91 A010 Protocolo de comandos do dispositivo de GPS 1 Command Id Type Este protocolo implementado pela maioria dos aparelhos de GPS O Command Id Type um inteiro que indica um comando particular O valores associados Command Id Type s o mostrados abaixo typedef int Command Id
44. a chamada do m todo Render linha 11 da Figura 8 7 ir escrever novos valores no Stencil Buffer Cabe ressaltar que os objetos desenhados nesse momento ser o somente os fantasmas dos objetos reais previamente cadastrados em nosso sistema por isso a fun o SetlnStencil linha 10 da Figura 8 7 com par metro verdadeiro fazendo com que somente sejam desenhados objetos que possuam o flag inStencil igual a TRUE fantasmas objetos a serem desenhados no Stencil 71 1 void Stencil DefineStencil 2 glEnable GL DEPTH TEST Habilita o Depth Buffer 3 glDepthFunc GL LEQUAL Define o teste de profundidade 4 glEnable GL STENCIL TEST Habilita o Stencil Buffer 5 glClear GL COLOR BUFFER BIT GL DEPTH BUFFER BIT 6 GL STENCIL BUFFER BIT Limpa os Buffers 7 giStencilFunc GL ALWAYS 1 1 Fun o de teste do Stencil 8 glStencilOp GL_REPLACE GL REPLACE GL REPLACE Opera o 9 glPushMatrix 10 rootObject gt SetInStencil TRUE 11 rootObject gt Render rootObject Desenho dos objetos 12 glPopMatrix Sa Figura 8 7 Fun o para demarcar o Stencil Ap s a demarca o do Stencil necess rio desabilita lo temporariamente linha 2 da Figura 8 8 para que se possa introduzir a imagem real capturada pela c mera Por ser uma imagem bidimensional tamb m se deve desabilitar o uso de buffer de profundidade linha 3 da Figura
45. a quantidade de imagens que ser o armazenadas Nesse trabalho a cada momento necess rio processar uma imagem e n o um conjunto de imagens Para tanto a classe CVisSequence possui o m todo SetUseContinuousGrab que se receber por par metro o valor false configura o objeto CVisSequence para armazenar somente uma imagem em mem ria 60 8 1 2 Acesso a imagens Uma imagem formada por um array de pixels A partir desse conceito que a biblioteca MS Vision implementa uma classe chamada CVis lmage que respons vel pela manipula o das imagens digitalizadas Essa estrutura similar a estrutura Windows Bitmap Header DOCMICROS da API Application Program Interface do Windows possui uma variedade de propriedades a respeito de uma imagem entre elas um ponteiro para a rea de memoria usada para armazenar os dados da imagem permitindo assim o acesso aos pixels sem a necessidade de copiar a imagem para uma rea da aplica o Usando o MS Vision cada imagem deve ser modelada como uma inst ncia da classe CVislmage que na verdade um template para a defini o de um array de pixels de um certo tipo Este tipo pode ser tanto char byte unsigned char short unsigned short int unsigned int long unsigned long float ou double quanto um dos tipos definidos na MS Vision que s o e Pixels em tons de cinza armazena apenas um nico componente de intensidade tom de cinza Estes pixels podem ser nomeados apenas co
46. a transmiss o do sinal Isso ocorre devido aos baixos tempos de propaga o da onda no meio sendo necess rio o uso de clocks de alta frequ ncia e muito precisos Esses clocks s o chamados de clocks at micos Seu nome deriva da constante oscila o eletromagn tica dos tomos que produz uma resson ncia extremamente curta e precisa garantindo assim o sincronismo do sat lite Infelizmente o mesmo n o ocorre com os receptores GPS s utilizando clocks at micos teriam um custo muito superior aos encontrados atualmente Para se ter uma no o de valores um GPS equipado com esse mecanismo estaria em torno de US 50K a US 100K tornando invi vel em muitos casos a compra do mesmo 52 7 Protocolo de comunica o entre computador e GPS e configura es do receptor A fim de que a aplica o tome conhecimento da posi o atual do usu rio e dos objetos a serem registrados necess rio um meio de comunica o entre o receptor GPS e um computador executando a aplica o proposta nesse trabalho Para tanto far se uso da interface serial de comunica o RS 232 Essa interface de comunica o com o GPS suporta transfer ncia bi direcional de dados permitindo o envio e recebimento de rotas track logs posi es entre outros A interface est dividida em tr s camadas que s o a camada de aplica o a camada de link e a camada f sica Cada camada implementa diversos protocolos que variam de acordo com a vers o do equi
47. ados do pacote 0 Host gt GPS Pid_Command_Data Command Id Type Os valores do identificador do pacote Pid Command Data e do flag de tipo de dados Command Id Type est o descritos no Anexo A 2 L001 Protocolo da camada de link 1 e A010 Protocolo de comandos do dispositivo de GPS 1 56 respectivamente O GPS ao receber essa requisi o ir automaticamente respond la com um pacote com a formata o descrita na Tabela 7 4 Tabela 7 4 Estrutura de dados das coordenadas de um ponto N Sentido ID do pacote Tipo de dados do pacote O Host lt GPS Pid Position Data lt DO gt O valor do identificador do pacote Pid Position Data est descrito no Anexo A 2 A010 Protocolo de comandos do dispositivo de GPS 1 Esse pacote possui uma string que cont m dentre outras informa es as coordenadas geogr ficas do ponto atual Maiores informa es sobre o formato da string retornada pelo receptor GPS s o encontradas na se o 9 4 A posi o obtida armazenada na estrutura da Figura 7 2 definida utilizando a linguagem C Figura 7 2 Estrutura de dados das coordenadas de um ponto GAR99 typedef struct double lat latitude em radianos double lon logitude em radianos Radian Type typedef Radian Type d700 Position Type Os protocolos descritos nesse trabalho s o apenas alguns dos protocolos implementados pelo modelo de GPS 12 da Garmin Mais informa es
48. al Text Out image Hdc 80 250 Mouse sizeof Mouse SwapBuffers image Hdc Figura 8 4 C digo mostrando os passos para combinar GDI e MS Vision E Teste da Camera usando a GDI Sje x Figura 8 5 aplica o rodando com a GDI 67 8 3 Tratamento do problema da oclusao Ap s a realiza o do processo de captura e composi o das imagens em alguns casos necess rio efetuar a oclus o dos objetos virtuais pelos objetos reais pr cadastrados no sistema a fim de se obter a correta visualiza o do ambiente Este processo deve ser preciso tendo em vista o fato de que este trabalho manipula com objetos grandes e distantes Para tratar o problema de oclus o utilizou se a biblioteca gr fica OpenGL Essa biblioteca possui v rios recursos para cria o manipula o e elimina o de objetos gr ficos Fazendo se uso do recurso chamado Stencil Buffer poss vel determinar reas protegidas na imagem a ser exibida na tela PINO2 Essas reas s o demarcadas numericamente nesse buffer indicando por es reservadas da janela de desenho s quais nenhum objeto virtual pode sobrepor O Stencil Buffer uma matriz bidimensional que possui o mesmo tamanho da janela de desenho usada para exibir os objetos do cen rio a ser visualizado Nesta matriz devem ser colocados valores que ser o posteriormente testados para determinar se poss vel ou n o desenhar numa certa rea da tela
49. al ser combinada a imagem real e por fim esta enviada para o HMD Detalhes da composi o das imagens s o mostradas na se o 8 2 38 4 3 Bibliotecas utilizadas Neste trabalho utilizam se tr s bibliotecas OpenGL OGLO3 MS Vision SDK DOCMICROS e SmallVR SMALLVR utilizadas somente no m dulo GPS Viewer Para fazer o parsing da string enviada pelo GPS fez se um estudo de uma biblioteca respons vel pela leitura do equipamento de GPS Utilizando se fun es da API do Windows desenvolveu se uma classe em linguagem C para a interpreta o das mensagens do receptor GPS enquanto que as fun es de convers o das coordenadas geogr ficas embutidas na string foram obtidas de forma gratu ta no site do grupo National Imagery and Mapping Agency NIMA Ao longo dos pr ximos cap tulos ser o abordadas com mais clarezas cada uma dessas bibliotecas mostrando o que est sendo feito com elas e como utiliz las 39 5 Problemas fundamentais de RA Assim como qualquer aplicagao de RA este trabalho tamb m esta sujeito a alguns problemas classicos da area registro e oclusao O problema do registro est relacionado ao fato de como obter as posi es dos objetos reais em rela o aos virtuais enquanto que o problema da oclus o diz respeito a como ser o ocultados os objetos virtuais em rela o aos reais Estes dois problemas devem ser tratados de forma adequada a fim de evitar poss veis incoer ncias visuais da i
50. amente sobre as bordas da janela de 75 visualiza o da camera Esse processo deve ser efetuado com o cuidado de que a c mera e as duas colunas continuem sempre mantendo a forma o de um tri ngulo is sceles Tamb m importante garantir que a c mera esteja sempre mirando o ponto c Deve se agora medir a dist ncia entre as colunas d 12cm e tamb m a dist ncia em que a c mera se encontra do ponto c h 20cm A partir dai poss vel obter o ngulo pela aplica o direta da seguinte f rmula viewAngle 2 tg d 2 h sendo d a dist ncia entre as colunas e ha dist ncia entre a c mera e o ponto c Figura 8 10 Vista superior 8 4 4 C lculo do campo de vis o da c mera para a defini o do ngulo de vis o Outro par metro a ser definido o aspectRatio Ele respons vel pela gera o do aspecto visual garantindo a devida propor o entre os objetos do cen rio Sua obten o um tanto trivial dependendo exclusivamente da resolu o da c mera de captura das imagens A c mera utilizada neste trabalho possui uma resolu o de 352 pixels em largura por 288 pixels em altura Logo o par metro aspectRatio por ser uma rela o entre as dimens es do plano de visualiza o obtido pela divis o 352 288 76 9 Manipula o das mensagens do receptor GPS Neste trabalho necess rio que se tenha um modo de fazer a recep o tradu o e convers o dos dados obtidos pelo aparelho de GPS Esses passos s
51. apas deste procedimento Posi o em algum Posi o um dos lugar do c rculo dois pontos Figura 6 2 Funcionamento utilizando 2 sat lites a e 3 sat lites b GAR99 Atrav s do tempo de propaga o de um sinal enviado da fonte ao destino poss vel calcular a dist ncia entre um sat lite e um ponto na Terra Como a f sica demonstra o produto entre o tempo de propaga o do sinal com a velocidade do mesmo resulta na dist ncia do sat lite at um ponto com GPS Por m esse c lculo n o trivial devido influ ncia do meio no tempo de propaga o do sinal Esse sinal modulado e codificado sendo particular para cada sat lite garantindo assim sua identifica o no sistema geral Existem alguns problemas que dificultam a precis o dos GPS s Interfer ncias ionosf ricas geram atrasos nos recebimento dos sinais a geometria dos sat lites em rela o ao observador pode n o ser prop cia para que o receptor GPS consiga calcular a posi o de forma precisa sendo necess rio que o receptor busque sinais provenientes de outras regi es Norte Sul Leste e Oeste 51 a interfer ncia resultante da reflexao do sinal em algum objeto aumenta a distancia percorrida pelo sinal fazendo com que o receptor interprete que o sat lite est mais longe que o normal A comunicagao com o GPS esta sujeita a problemas de timing nos quais pequenos overheads no processamento dos dados no sat lite geram grandes atrasos n
52. ativa interessante a fim de se obter maior realismo em um cen rio antes totalmente virtual Esta t cnica est sendo cada vez mais aplicada e conhecida como Realidade Aumentada RA um tanto dif cil precisar sua origem entretanto sabe se que os primeiros trabalhos na rea propostos por Sutherland e Sproull datam da d cada de 60 SCHO1 Nesta poca surgiram os primeiros see through Head Mounted Displays stHMDs culos capazes de introduzir imagens de objetos virtuais em uma cena real vista pelo usu rio Nos anos seguintes os avan os tecnol gicos permitiram o desenvolvimento de novos dispositivos cada vez mais leves e menores motivando outras reas a criarem aplica es contidas neste contexto Hoje existem aplica es desta t cnica em diversos campos da ci ncia dentre elas medicina manuten o de hardware constru o civil e rob tica A Figura 1 1 enquadra a RA em uma escala que vai desde o mundo real propriamente dito at os ambientes puramente virtuais sintetizados por computador Escala de composi o da realidade Realidade Mista Figura 1 1 Escala da realidade mista DRA96 12 Pode se entender realidade aumentada tamb m chamada de realidade real ada como uma combina o em tempo real da cena real vista por uma pessoa com a cena virtual gerada por computador Pode se defini la ainda como um aumento da percep o humana atrav s da adi o de informa o n o detectada di
53. c ficos de uma cidade tais como pr dios igrejas monumentos e outras constru es fazendo uso das t cnicas de RA A utiliza o dessa ferramenta faz uso de quatro equipamentos um receptor GPS Global Positioning System uma c mera digital um notebook e um culos de realidade virtual HMD O notebook serve para fazer todo o processamento de combina o das imagens reais e virtuais bem como para fazer a tradu o dos dados obtidos do receptor GPS sobre a posi o do usu rio e das posi es das constru es das quais se deseja obter informa es Ele serve ainda para enviar a imagem resultante para o HMD respons vel pela exibi o da mesma Com o HMD tamb m poss vel saber para onde o usu rio est olhando em um certo momento j que ele possui um dispositivo de rastreamento de giro A utiliza o da c mera torna se necess ria para a obten o das imagens reais que s o combinadas com as imagens virtuais Essa informa o virtual somente ser exibida quando o usu rio estiver pr ximo e olhando diretamente para algum desses monumentos que devem estar precadastrados no sistema Por fim o uso de um receptor GPS torna se necess rio tanto para obter a posi o do usu rio em tempo real quanto para cadastrar as constru es desejadas Tendo a posi o do usu rio em rela o a uma determinada edifica o pode se saber quando deve ser exibida a imagem virtual correspondente a esta edifica o As
54. ch Centre onde um usu rio aponta para uma parte do objeto e o sistema indica o que est sendo apontado Figura 2 5 ROS95 Exhaust Manifold Figura 2 5 Di logo pop up mostrando o nome da informa o apontada ROS95 Outra aplica o semelhante foi criada por pesquisadores da Universidade da Col mbia adotando a utiliza o de janelas informativas sobre 19 objetos especificos Para funcionar corretamente este software deve conhecer a posi o inicial do objeto real atrav s de rastreamento pr vio e ent o posicionar o modelo virtual em rela o a ele podendo acompanh lo quando ele estiver em movimento Figura 2 6 FEI93b Na Figura 2 6 mostra a aplica o citada onde h a adi o de informa es a respeito do usu rio do notebook e do teclado atrav s do rastreamento de objetos reais Figura 2 6 Janelas mostradas frente de objetos reais espec ficos FEI93b A RA pode auxiliar e facilitar tamb m na visualiza o de determinadas tarefas Por exemplo ela pode dar a um arquiteto uma Vis o Raio X de suas constru es permitindo a visualiza o do sistema de canaliza o de gua e a rede de fios el tricos Utilizando esta id ia que pesquisadores da Universidade de Toronto desenvolveram um sistema chamado Augmented Reality through Graphics Overlays on Stereovideo ARGOS DRA93a que entre outras fun es serve para facilitar a compreens o de locais de dif cil visua
55. cou o valor zero indicando sem zona de override defini o esta para utilizar na bilioteca Mgrs da NIMA P blico GPS Destrutor da classe Privado PrintError Imprime um erro passado por par metros e fecha a conex o com a serial caso tenha dado algum problema com ela P blico GetUTMProjection Retorna uma estrutura contendo os dados sobre a coordenada UTM que s o a zona 1 60 o hemisf rio Norte Sul e o quanto ao leste e norte o ponto est P blico SetCommPort Abre a conexao com um dispositivo na serial O nome da serial deve ser passada por parametros P blico ConvertGeodeticToUTM Essa fun o converte coordenadas geod sicas para UTM Universal Transversa de Mercator Essa fun o faz chamada a duas fun es da Mgrs que s o respectivamente Set UTM Parameters e Convert Geodetic To UTM P blico StringToGeodetic M todo respons vel pela convers o da string passada por par metros para coordenadas geod sicas Essa string deve conter informa es de posi o P blico GetData Este m todo respons vel pela leitura at que encontre o caracter delimitador de linha An Ela recebe por par metros se deseja imprimir erros na tela show err o valor 1 e uma fun o de callback Esta fun o permiti ao usu rio a implementa o de suas pr prias rotinas de valida o e processamento da string obtida do GPS P blico TestSentence
56. e dist ncia entre o transmissor e o objeto a ser rastreado Al m disso esse modelo facilmente perturbado por objetos met licos ou outros campos magn ticos 41 aumentando consideravelmente o erro no processo de rastreamento Uma descri o mais detalhada sobre os v rios dispositivos de rastreadores pode ser encontrada em http www inf pucrs br pinho TCG ApoioTCG htm Quando necess rio se trabalhar com grandes reas tem se como alternativa o registro por rastreamento com equipamentos de GPS Com este equipamento pode se obter tanto a posi o de objetos reais como pr dios ou ve culos quanto fazer o registro do usu rio do sistema Este o tipo de rastreamento usado no presente trabalho Maiores detalhes sobre o equipamento de GPS s o apresentados no cap tulo 6 5 2 O problema da oclus o Oclus o refere se ao ato de ocultar mascarar por es dos objetos reais ou virtuais na cena 3D tornando sua coexist ncia o mais real poss vel Na Figura 5 2 pode se observar uma cena real contendo dois objetos virtuais um tabuleiro de xadrez virtual que est sendo parcialmente oculto por um gabinete de computador real e uma mulher virtual que oculta parte do cen rio real Considerando que a gera o da imagem final feita inicialmente mostrando a imagem real e logo ap s sobrepostas a ela as imagens virtuais a imagem virtual apareceria sobre o gabinete nessa figura caso n o fosse aplicada a oclus o em parte do
57. e v deo e fazer a captura de imagens de uma c mera FASE 1 TENTANDO ENCONTRAR UM ORIGINADOR DE IMAGENS HDC hdc Conecta usando o driver VFW Video For Windows VisAddProviderRegEntryForVFW Tentando encontrar um Image Source CVisImageSource imagesource VisFindImageSource Seqti ncia de imagens do tipo BYTE RGBA CVisSequence lt CVisRGBABytePixel gt sequence FASE 2 TENTANDO CONECTAR SE AO DISPOSITIVO Conectando a um dispositivo encontrado sequence ConnectToSource imagesource true false Tratamento para caso n o haja sucesso if sequence Has ImageSource sequence ImageSource IsValid printf Erro N o pode se conectar ao dispositivo ou ImSrc n o valido n Seta a propriedade da segii ncia de imagens para somente pegar 1 imagem sequence ImageSource SetUseContinuousGrab false FASE 3 CAPTURANDO A IMAGEM long timeout 40000 objeto para manipula o das imagens CVisRGBAByteImage image pegando a imagem da segii ncia Caso passe o timeout a imagem n o capturada if sequence Pop image timeout printf Erro N o pode se exibir a imagem Numa rotina que atualize o frame buffer image DisplayInHdc hdc Ao t rmino do programa desconectar do dispositivo sequence DisconnectFromSource Figura 8 1 Passos para trabalhar com imagens capturadas da camera 62 8 2 Composi o das imagens Depois de obtida a imagem real
58. eeeeenneeeeeeees 20 2 5 Eee NIE ua doa da a a ig 21 2 6 Teleconfer ncia e Tele Imers o 22 2 7 Preserva o de patrim nios hist ricos l 23 3 Tipos de Realidade Aumentada ia 26 S T Sistemas d RA OUCOS sssuenbiaianaboasnsasdca is nln can cnad saiam beee 26 3 2 Sistemas de RA por v deo sssssusontrsissassasoscunamesoidadassoanospanendrsasananss anca nana none 27 3 3 Sistemas de RA utilizando Monitores 29 4 Descri o do trabalho rare aanana 32 4 1 Recursos Utilizados Juss sees cote coenitnccetadet cca taiiinditadet nated Oven SED na picar anss aa ganda 32 4 2 A arquitetura do sistema rrenan anna 33 4 2 1 O m dulo GPS Register seccoieicssccccsccdennedeasescecencenne bendeeaedecdebnetentnbbetesasboenoes 35 4 2 2 O m dulo GPS VieWel ccccceceeeeeeeeeeeeeeneeeeeeeeeeeeseseneaaeeeeeeeeeeeeeeeeaaees 37 4 3 Bibliotecas UMIZADAS ciao smonsndeogoad copy ve dant Dada Doe boa sb is dee do 38 5 Problemas fundamentais de RA wesc ccccecucicssces cate cuusiciieed Sonda nsiAsiasas So nigonin nias 39 5 1 O problema do registro ssa nessa nasal da una Sara Saara a usada ag asalias 39 5 2 O problema da oclus o a enaasereeaaaaaaana 41 5 3 Motivos para se tratar registro e oclus o neste trabalho 45 6 Localiza o sobre o globo terrestre nnne 4
59. ema onde respons vel pela exibi o das imagens resultadas da combina o das imagens virtuais com as reais Esse m dulo necessita que tenham sido instaladas as seguintes DLLs MSVCRTD dil MSVCP60D dil VisCore dll VisCoreDB dll VisDisplay dll VisDisplayDB dll VislmSrc dll VislmSrcDB dll VisVFWCamera dll VisVFWCameraDB dll dlls do Visual C e da MSVision respectivamente e glut32 dll dll da glut Para executar o m dulo GPS Viewer abrir um console e digitar gpsviewer lt com do HMD gt lt com do GPS gt lt arquivo do register gt importante salientar que as portas seriais associadas a cada aparelho devem ser corretamente digitadas visto que o programa inicia a leitura pelas portas mencionadas na linha de comando Caso o arquivo informado n o exista ou for digitado um nome inv lido o programa encerra sua execu o importante salientar que no momento da execu o do sistema o usu rio deve estar olhando para o norte para logo ap s resetar o sistema de coordenadas que atualizado pelos valores obtidos do HMD Para reiniciar o sistema de coordenadas basta pressionar a tecla r Por fim o programa fica em execu o at que o usu rio do sistema clique na tecla ESC C 3 Uso dos m dulos em outros ambientes fora da PUCRS Neste trabalho geraram se testes somente dentro campus da PUCRS em Porto Alegre entretanto caso deseje se utilizar esse sistema em uma outra regi o ou local pode se ob
60. er pr ximo e olhando diretamente para um desses monumentos previamente cadastrados no sistema os dados sobre o mesmo ser o exibidos em um HMD Head Mounted Display Este dispositivo capaz de informar a orienta o visual de um usu rio atrav s de sensores localizados junto a ele Para que se possa determinar a dist ncia em rela o aos objetos reais faz se uso de um equipamento de GPS Global Positioning System que tamb m estar conectado ao laptop informando o constantemente a posi o do usu rio Ele tamb m utilizado no pr cadastramento dos objetos sobre os quais ser o exibidas as informa es Dessa forma ser poss vel determinar quando as informa es dever o ser exibidas ao usu rio Palavras chave Realidade Aumentada Sistema de Posicionamento Global GPS Head Mounted Display HMD 10 Abstract Title Augmented Reality to geographical information Nowadays the high complexity level imposed by tasks in diverse science areas requires more of man than his own native senses are able to offer The techniques of augmented reality may help the increase of perception interaction and consequently the productivity day by day Based on this idea the goal of this work is to create an application that supply the user with information of specific points of a city as buildings churches monuments and other constructions in general using the Augmented Reality to add the informative data Through a
61. es A utiliza o de tr s transmissores permite obter uma posi o bidimensional em latitude e longitude GORO1 Baseados nesse mesmo princ pio foram desenvolvidos os GPS s Global Positioning System O funcionamento desse sistema id ntico ao do RADAR com a diferen a de que ao inv s de se utilizar transmissores de r dio s o usados sat lites que orbitam em torno da Terra e permitem saber a posi o em tr s dimens es latitude longitude e altitude de um receptor na superf cie da Terra Os primeiros GPS s foram desenvolvidos com o intuito de auxiliar o ex rcito americano na localiza o de alvos no mundo TRI02 Atualmente estes instrumentos s o empregados tamb m quando se deseja determinar a posi o e a velocidade de navios carros e avi es comerciais bem como sistema antifurto de 49 autom veis Enfim este dispositivo tem ajudado o cotidiano das pessoas no cumprimento de suas atividades Para que um usu rio localizado em qualquer ponto da superf cie terrestre possa fazer uso desta tecnologia necess rio um grande conjunto de sat lites sincronizados e distribu dos na estratosfera O sistema composto por vinte quatro sat lites distribu dos uniformemente em seis planos orbitais Figura 6 1 Estes sat lites s o monitorados pelas chamadas Ground Stations que verificam seu estado operacional e sua posi o exata no espa o As Ground Stations enviam informa es sobre dist ncias posi o e
62. es de posi o para obter informa es a fim de determinar a posi o de uma parte desta impressora na qual era necess rio realizar alguma opera o bem como saber se existe ou n o algum objeto obstruindo o caminho de uma determinada a o que caso j estivesse conclu da n o seria mais necess rio mostrar o modelo virtual Figura 2 3 Vis o de um usu rio demonstrando como remover a bandeja da impressora FEI93a Outro exemplo de aplica o foi desenvolvido pelo grupo da Boeing JAN93 O projeto consiste na constru o de uma ferramenta para auxiliar um mec nico na conex o de condutores el tricos que formam parte do sistema el trico de avi es economizando espa o e reduzindo custos Figura 2 4 Este sistema tamb m ajuda os profissionais que n o dominam completamente o funcionamento de uma determinada parte do equipamento ao qual se est trabalhando reduzindo a margem de erro e aumentando a produtividade 18 Figura 2 4 Demonstra o do prot tipo de conex o dos condutores JAN93 2 3 Anota o e Visualiza o Quando se trabalha na manuten o de um material ou deseja se obter informa o a respeito de algum componente do motor por exemplo pode se utilizar t cnica de apontamento sobre RA Ela consiste na gera o instant nea de uma caixa de di logo pop up contendo informa es da parte apontada Um exemplo dessa aplica o foi desenvolvido na European Computer Industry Resear
63. esolu o requerida na captura das imagens e ainda se a variedade dos objetos muito grande e ou eles s o muito complexos no que diz respeito sua forma A segunda forma de registro por reconhecimento faz uso de marcadores previamente inseridos e posicionados nos objetos para que possam ser reconhecidos em tempo de execu o Ao contr rio da t cnica de reconhecimento essa t cnica pode ser efetuada em ambientes maiores e mais complexos desde que os marcadores sejam bem escolhidos e posicionados A Figura 5 1 ilustra uma aplica o desenvolvida por um grupo da Universidade de Southampton utilizando uma biblioteca criada pelo grupo Agents and Media Group AMG chamada Augmented Reality Toolkit ARTOOLKIT ARTOO Esta biblioteca serve para reconhecimento de padr es de imagens Na Figura 5 1a tem se o padr o utilizado para reconhecimento enquanto nas Figura 5 1b e Figura 5 1c est o sendo desenhadas a imagem virtual Na Figura 5 1c quando se girou o padr o utilizado a imagem virtual acompanhou o mesmo movimento aplicado ao objeto real Figura 5 1 Registro por reconhecimento com uso de marcadores SINCO2 A t cnica de registro por rastreamento por sua vez permite a utiliza o de v rios m todos Dentre eles pode se destacar o ac stico o mec nico e o magn tico Atualmente o mais empregado o magn tico por ser de simples utiliza o Contudo ele torna se impreciso e sujeito falhas com o aumento d
64. eyalaticayMrutieriGeuieayMasinensherteeyiavipexaten 96 Lista de Figuras Figura 1 1 Escala da realidade mista DRA96 ll 11 Figura 1 2 Combina o de imagens virtuais no aux lio de cirurgias SAB99 12 Figura 2 1 Representa o 3D de um feto no tero BAJ92 16 Figura 2 2 Modelo de uma biopse de um tumor no seio STAQ6b 16 Figura 2 3 Vis o de um usu rio demonstrando como remover a bandeja da impressora PE I so a cess castes tctenrenedeaceeuetadanntencde seneinenteeuasedouadeieeenadens 17 Figura 2 4 Demonstra o do prot tipo de conex o dos condutores JAN93 18 Figura 2 5 Di logo pop up mostrando o nome da informa o apontada ROO raid pi 18 Figura 2 6 Janelas mostradas frente de objetos reais espec ficos e Sr a A Ma aaa a 9 Figura 2 7 Linhas virtuais facilitando a visualiza o DRA93a 20 Figura 2 8 Planejamento atrav s da visualiza o um objeto virtual executado em tempo real KIM96 nnn nissan 21 Figura 2 9 Ilustra o mostrando o jogo Mah jongg SZA98 22 Figura 2 10 a Usu rio segurando um objeto real b Outro participante ativo da teleconfer ncia LAN98 n nn 23 Figura 2 11 Arquitetura de Comunica o do Archeoguide STRO1b 24 Figura 2 12 a constru o real tombada pelo tempo b resultado aplicand
65. for encontrado um dos padr es previamente cadastrados ent o desenhado sobre a imagem 31 capturada da camera o texto que corresponde aquele determinado objeto Dessa forma o usuario nao fica preso a uma cadeira e a um monitor 32 4 Descri o do trabalho Este trabalho tem como objetivo criar um aplicativo que forne a ao usu rio informa es a respeito de pontos espec ficos de uma cidade tais como pr dios igrejas monumentos e outras constru es em geral fazendo uso da Realidade Aumentada para adicionar os dados informativos Este aplicativo recebe o nome de GPS Viewer Como uma primeira etapa para a execu o dessa tarefa deve se registrar a localiza o e as informa es de todas as constru es e monumentos desejados Com o uso de um equipamento de GPS obt m se a latitude e a longitude dos mesmos Estes dados s o armazenados em arquivo atrav s do programa GPS Register para futura consulta durante a execu o do GPS Viewer 4 1 Recursos Utilizados Para usufruir deste sistema o usu rio deve estar utilizando os seguintes equipamentos Um computador port til um culos de realidade virtual HMD um aparelho de GPS e uma c mera para capturar o cen rio real O computador serve para realizar todo o processamento de combina o das imagens reais e virtuais bem como a recep o e convers o dos dados obtidos pelo GPS a respeito da posi o do usu rio e das estruturas as quais se desejam obter informa
66. ia logo a frente da constru o exibindo os dados sobre a mesma Isso ocorre naturalmente pois sabendo a posi o do usu rio atrav s do GPS e a dire o em que ele est olhando atrav s do HMD tem como se saber quando devem ser mostradas as imagens virtuais Entretanto caso exista um outro objeto real cadastrado interpondo uma outra constru o tamb m cadastrada no sistema deve se determinar qual imagem virtual ser mostrada A Figura 5 5 ilustra essa situa o na qual as informa es sobre o pr dio do Centro Administrativo do Estado do Rio Grande do Sul s o exibidas juntamente com as informa es sobre o pr dio da Companhia Procergs ambos registrados no sistema Na figura a tem se a visualiza o da cena na qual a oclus o est com as placas mal posicionadas fato que pode gerar confus o ao usu rio Por sua vez a figura b demonstra a mesma cena com a placa devidamente posicionada tendo se o pr dio da Procergs ocultando parte da placa do Centro Administrativo Figura 5 5 Centro Administrativo de Porto Alegre 1 plano Companhia Procergs 2 plano POAO2 O problema ocorre na disposi o das imagens virtuais Caso na imagem acima os textos estivessem lado a lado seria dif cil dizer qual pertence a uma determinada constru o A utiliza o de algoritmos de c lculo da dist ncia 47 entre o observador e uma determinada constru o pode resolver alguns casos mas se duas constru es esti
67. icionados em alguns locais espec ficos do ambiente real e o usu rio pode visualizar o ambiente atrav s deles A principal vantagem destes tipos de dispositivos que o usu rio n o precisa vestir nenhum equipamento Entretanto o grande problema na utiliza o de monitores como televis o o fato de ter que ficar parado em um nico local n o permitindo locomover se numa determinada rea Uma proposta diferente foi desenvolvida pelo grupo Sony Computer Science Labs Inc que criou o projeto NaviCAM REK96 que na verdade substitui o monitor por um palmtop um computador de m o com uma c mera pendurada a ele que tem a finalidade de capturar o ambiente real Esta aplica o serve para a adicionar informa es sobre determinados locais atrav s de di logos pop up auxiliando os usu rios na compreens o do que est sendo visualizado no o i i H f A Padr o momento Figura 3 4 ass bis mee Today s New Journals Presence ACM Multimedia Systems IEEE Software i SHtworo Figura 3 4 Imagem capturada da execu o do aplicativo no palm REK96 Para saber onde ser posicionada a imagem virtual sobreposta a imagem real obtida pela c mera essa aplica o funciona utilizando algoritmos de reconhecimento de padr es Sobre cada objeto do qual o sistema possui uma informa o adiciona se uma etiqueta contendo uma imagem Esta imagem uma vez captada pela c mera processada e reconhecida Se
68. imento de uma aplica o que utilize um dispositivo de v deo para captura de imagens e reproduza as numa janela foi utilizada a biblioteca MS Vision SDK Microsoft Vision Standard Development Kit MSVISION da Microsoft que serve para manipula o de imagens Para a gera o das imagens virtuais testou se as bibliotecas GDI Graphics Device Interface DOCMICROS e OpenGL OGLO3 A fus o das imagens reais e virtuais feita a partir da convers o da imagem gerada pela c mera para um formato digital e pela posterior sobreposi o dos desenhos virtuais sobre essas imagens Nas se es a seguir s o apresentadas a biblioteca MS Vision SDK e as formas de compor as imagens quando se usa OpenGL e a GDI 8 1 MS Vision SDK A MS Vision uma biblioteca de captura de imagens disponibilizada pela Microsoft de forma gratuita no site http research microsoft com projects VisSDK que se baseia nos padr es VFW Video For Windows ou DirectShow para capturar uma imagem proveniente de uma c mera de v deo e convert la para um formato digital representado por um mapa de bits bitmap 8 1 1 Fun es de Captura da MS Vision SDK Esta se o tem como objetivo mostrar os passos que devem ser realizados para adquirir as imagens ao vivo vindas da c mera A MS Vision tem 59 como pressuposto a execu o de tr s fases para essa aquisi o primeiramente tem se a fase de tentar encontrar um originador de imagens c mera logo
69. l gico Isso possibilita a sobreposi o de objetos virtuais representando as constru es como se fossem as originais sobre as edifica es destru das auxiliando aos visitantes e cientistas na melhor compreens o sobre o passado desses locais hist ricos al m de ajudar na educa o cultural 24 Esta aplica o utiliza uma arquitetura de cliente servidor que possui tr s subsistemas um servidor de dados chamado Site Information Server SIS unidades m veis chamadas Mobile Units MU e uma infraestrutura de rede O SIS um computador de alta qualidade respons vel por armazenar todo o reposit rio de dados que ser o utilizadas pelas MU s aplicando a RA para a adi o de informa es virtuais ao mundo real Essa base de dados composta por imagens bidimensionais modelos tridimensionais clipes de udio e v deo e textos a respeito dessas constru es sendo que elas est o organizadas numa hierarquia de acordo com a informa o que representam O SIS se comunica com as MU s via WLAN Wireless Local Area Network As MU s s o utilizadas pelos usu rios que est o nos sitios arqueol gicos e onde s o utilizados laptop pen tablet e palmtop computers para rodar o sistema Essas unidades fazem requisi es para a base de dados do SIS baseados na posi o do usu rio e outros par metros calculados por um GPS Global Positioning System sendo que o sistema faz um c lculo para melhorar a precis o usando um sinal transmi
70. lags para o objeto criado e por fim um ponteiro para um modelo de arquivo com atributos de somente leitura No caso de dispositivos de comunica o os seguintes par metros devem ser descritos O nome da porta que deve ser COMX onde X o n mero da porta correspondente entrada dos dados enviados pelo aparelho de GPS O tipo de acesso a porta que deve ser GENERIC READ GENERIC WRITE O modo de compartilhamento no qual deve se passar o valor Zero pois ele n o compartilhado Atributos de seguran a especificado como NULL pois n o era necess rio atributo algum Com rela o a a o que deve ser tomada utilizou se o 87 valor OPEN EXISTING pois caso n o haja nenhum GPS conectado a fun o CreateFile falha Com rela o as flags setadas passou se o valor Zero pois nao se pode sobrepor as flags para dispositivos de I O Por fim o ultimo par metro foi setado o valor NULL pois para dispositivos de comunica o este par metro deve ser nulo Obtido um ponteiro para o dispositivo de comunica o necess rio definir os par metros de controle para o dispositivo de comunica o serial como por exemplo a taxa de transmiss o dos dados e a configura o do stop bit Para tanto a API do Windows oferece uma estrutura de dados chamada DBC Device Control Block A defini o da configura o de controle da serial feita atrav s dos m todos GetCommState e SetCommState que respectivamente servem para
71. liza o A 20 Figura 2 7 faz uso de RA para real ar contornos de um ambiente de baixa ilumina o Figura 2 7 Linhas virtuais facilitando a visualiza o DRA93a 2 4 Planejamento de caminho para rob s Operar um rob principalmente a uma grande dist ncia uma tarefa que requer alguns cuidados Atrasos gerados devido a problemas de comunica o prejudicariam o desempenho desta tarefa que requer tempo real a fim de n o comprometer sua execu o Al m disso a execu o dos movimentos do rob atrav s de joystick pode ocasionar erros de precis o ao pegar um objeto e atrasos no cumprimento do servi o requerendo do usu rio grande concentra o visual e coordena o motora Utilizando se um objeto virtual sobreposto ao rob poder se ia criar um plano para a realiza o dos movimentos do rob antes de execut lo Em outras palavras para sua correta realiza o o usu rio montaria o plano valid lo ia e simplesmente mandaria o rob execut lo Desta forma pode se evitar atrasos devido sua manipula o direta Pensando nisso o grupo que criou o sistema ARGOS Figura 2 8 demonstrou que RA estereosc pica facilita e melhora a precis o para fazer o rob executar seu caminho 21 Figura 2 8 Planejamento atrav s da visualizagao um objeto virtual executado em tempo real KIM96 2 5 Entretenimento Na rea da ind stria cinematogr fica a RA est sendo usada como forma de
72. m o tipo de dado por exemplo CVisBytePixel ou com Gray tipo de dado Pixel por exemplo CVisGrayBytePixel A CVisBytePixel compat vel com o formato de bitmaps de escalas de cinza do Windows e Pixels com cores RGBA cont m quatro componentes de intensidade de cor que s o o vermelho verde azul e alfa medida de transpar ncia imagens capturadas da c mera n o possuem este valor preenchido S o nomeados na forma CVisRGBA tipo por exemplo CVisRGBABytePixel Na MS Vision os dados deste tipo s o armazenados na ordem B G R A tornando os compat veis com o formato usado nos Bitmaps coloridos do Windows e Pixels em cores YUVA possui quatro componentes luminesc ncia tonalidade satura o e alfa Nesse tipo Y e A s o unsigned int enquanto que U e V s o signed int S o nomeados sob a forma CVisYUVA tipo por exemplo CVisYUVABytePixel 61 Para cada um destes tipos de pixels definidos na biblioteca existe um tipo de imagem correspondente a ele Por exemplo quando for utilizado o tipo de pixel CVisYUVABytePixel deve se usar a imagem CVisYUVABytelmage que define uma imagem composta por um array de YUVA bytes pixels Para esse trabalho ser usado a imagem CVisRGBABytelmage do tipo de pixel CVisRGBABytePixel em face da sua maior compatibilidade com os formatos internos do ambiente Windows Na Figura 8 1 encontra se um trecho de c digo que realiza os passos necess rios para utilizar um dispositivo d
73. magem final a ser exibida ao usu rio Nas se es a seguir s o apresentados estes dois problemas bem como algumas formas de abord los 5 1 O problema do registro Para o correto funcionamento de um sistema de Realidade Aumentada imprescind vel que objetos reais e virtuais estejam devidamente alinhados para que se tenha uma perfeita ilus o de coexist ncia dos dois ambientes Esse alinhamento chamado de registro e tem como objetivo informar o sistema sobre a posi o e as dimens es de objetos reais que ir o compor o cen rio visualizado Os principais m todos de registro utilizados hoje s o Registro tico por reconhecimento e registro por rastreamento Cada uma dessas t cnicas apresenta vantagens e desvantagens que devem ser consideradas dependendo da natureza da aplica o O registro tico por reconhecimento aquele que se vale da captura e processamento de imagens do ambiente real para a determina o da posi o dos objetos reais que comp e a cena Este m todo possui duas formas de atua o A primeira baseia se na captura da imagem do ambiente real detec o dos contornos dos objetos e posterior identifica o dos mesmos por meio de t cnicas de reconhecimento de padr es Essa t cnica possui uma tima efici ncia e velocidade de processamento para ambientes de dimens es com 40 objetos simples por m sofre uma alta degrada o de qualidade a grandes dist ncias devido necessidade de grande r
74. mo fazer uso das bibliotecas utilizadas Nele tamb m consta como foi feito o tratamento da oclus o e os ajustes necess rios para que a c mera possa simular o funcionamento da vis o Por fim o cap tulo 9 cont m informa es de como foi desenvolvido a captura manipula o e convers o dos dados enviados pelo aparelho de GPS ao notebook 15 2 Aplica es T cnicas de RA podem ser aplicadas em diversas areas A seguir sao apresentadas algumas delas 2 1 Medicina Existem alguns processos cir rgicos que sao feitos atrav s de micro incis es no corpo humano e que podem vir a prejudicar a vida de um paciente se n o forem bem sucedidos Apesar de beneficiadas pelo uso de sensores n o invasivos como aparelhos de resson ncia magn tica tomografia computadorizada ou aparelhos de ultra som estas cirurgias podem ainda apresentar um alto risco ao paciente Ao aplicar as t cnicas de RA o m dico pode obter uma melhor vis o do corpo humano pois suas partes ser o representadas atrav s de modelos tridimensionais Para gera o destes modelos utilizam se os aparelhos citados acima A id ia melhorar a visualiza o evitando que sejam feitas incis es no corpo e reduzindo o risco de prejudicar o paciente Na Universidade do Colorado do Norte UNC em Chapel Hill um grupo de pesquisadores tem realizado mapeamentos do tero em mulheres gr vidas atrav s de sensores de ultra som gerando a representa o 3D do feto vi
75. mplo ao exibir se o objeto virtual parte dele n o mostrada na tela pois a m scara a o est ocultando parcialmente Por fim o ltimo passo fazer a sobreposi o da imagem virtual real que nesse exemplo ilustrado pela uni o da imagem real c com a imagem virtual b resultando na imagem final d Nesse processo em outras palavras o que est sendo feito gerar imagens virtuais com partes delas j ocultas pelo modelo tridimensional do objeto real Por isso importante se gerar modelos tridimensionais t o parecidos quanto poss vel com os reais evitando assim incorre es no processo de oclus o 45 Objeto Mascara Nova Imagem Virtual Gerada i Imagem Real Virtual Figura 5 4 Processo da mascara de objetos reais 5 3 Motivos para se tratar registro e oclusao neste trabalho Em um sistema de informa es geogr ficas com RA n o registrar alguns objetos reais que ocultam objetos virtuais pode fazer com que a aplica o mostre informa es sobre alguma constru o de forma incorreta Neste caso dependendo da posi o em que se encontra o usu rio da aplica o o dado que pertencia a uma certa constru o pode ser visualizado erroneamente sobre uma outra constru o Por exemplo supondo que um usu rio encontre se em um ponto de uma cidade pr ximo a um monumento sobre o qual ser o exibidas informa es 46 Ao virar se para este monumento um objeto virtual informativo aparecer
76. necess ria fundi la com as imagens virtuais geradas por uma biblioteca gr fica e exibir o resultado final na tela Para manipular uma imagem necessita se um ponteiro para a regi o de mem ria onde a imagem se encontra Para obter este ponteiro a classe CVislmage disp e do m todo PbPixel que recebe por par metro um ponto da imagem em coordenadas de pixel e retorna um ponteiro do tipo BYTE unsigned char para a posi o deste pixel dentro da imagem No caso desse trabalho necessita se de um ponteiro para o primeiro ponto da imagem que pode ser obtido atrav s da fun o StartPoint que retorna o ponto mais a esquerda e acima da imagem Caso queira utilizar algum outro ponto deve se passar um objeto do tipo CPoint com a posi o requerida Nas pr ximas se es s o apresentados trechos de c digo que demonstram sua utiliza o 8 2 1 Integrando OpenGL com o MS Vision SDK Obtido o ponteiro para a imagem necess rio realizar a fus o entre as imagens capturadas pelo dispositivo de v deo com as imagens virtuais A biblioteca OpenGL prov entre outras fun es m todos que permitem a combina o de mapas de bits bitmaps com imagens geradas por suas rotinas de desenho bi ou tridimensionais A combina o das imagens torna se poss vel atrav s da rotina g DrawPixels que escreve um bloco de pixels no frame buffer Esta rotina recebe por par metros as dimens es do ret ngulo largura e altura respectivamente que ser
77. niciar em y pelo tamanho m ximo da imagem 1 pois a imagem inicia em zero e n o em um enquanto que em x o valor atribu do a ele zero Desenhada a imagem real resta promover a integra o das imagens virtuais geradas por computador atrav s das rotinas fornecidas pela OpenGL Na Figura 8 2 segue um pequeno trecho de c digo que descreve como realizada a fus o entre as imagens reais com as imagens virtuais criadas atrav s de rotinas OpenGL 64 Este trecho de c digo uma fun o que deve ser criada para gera o de textos void drawString void font char s unsigned int i for i 0 i lt strlen s i glutBitmapCharacter font s i void texto glPushMatrix gliColor3ub 255 0 0 glRasterPos2f 50 50 drawString GLUT_BITMAP_HELVETICA_18 Mouse glPopMatrix Este trecho de c digo deve ser colocado em uma rotina de redesenho repaint Invers o da imagem verticalmente glPixelZoom 1 0 1 0 ajuste do tamanho da imagem real glRasterPos2i 0 image Width 1 desenho a imagem real na tela glDrawPixels image Height image Width GL_BGRA_EXT GL_UNSIGNED_BYTE unsigned char image PbPixel image StartPoint Desenho da imagem virtual texto Figura 8 2 C digo mostrando os passos para combinar OpenGL e MS Vision A Figura 8 3 ilustra como ocorre o processo de composi o das imagens reais
78. o se a RA nessas edifica es STROTa nin 25 Figura 3 1 Esquema da RA tica AZU97 27 Figura 3 2 Esquema de RA por v deo AZU9T7 nennen 28 Figura 3 3 Modelagem do sistema utilizando monitores AZU97 29 Figura 3 4 Imagem capturada da execu o do aplicativo no palm REK96 30 Figura 4 1 Ilustra o dos requisitos para a execu o do programa PIE02 33 Figura 4 2 Ilustra o da vis o obtida atrav s da RA utilizando um HMD 34 Figura 4 3 A arquitetura do sistema wis ccincicasaiacscncatadtcncntacsencacedacacncaenancsentneaaeds 34 Figura 4 4 Interface do m dulo de registro dos objetos 35 Figura 4 5 Formato do arquivo gerado pelo GPS Register 36 Figura 5 1 Registro por reconhecimento com uso de marcadores SINCO2 40 Figura 5 2 Oclus o sendo aplicado ao tabuleiro BALOO 42 Figura 5 3 Problema da oclus o rita 43 Figura 5 4 Processo da m scara de objetos reais 45 Figura 5 5 Centro Administrativo de Porto Alegre 1 plano Companhia Procergs 2 plano POLO vinnes ianan couse edad aa 46 Figura 6 1 Planos orbitais GARMIN 49 Figura 6 2 Funcionamento utilizando 2 sat lites a e 3 sat lites b GAR99 E E TEA AEA EE Ta ne aaa Ol aa E 50 Figura 7 1 Estrutura de dados da vers o do prod
79. o pacote de dados recebido por um dos equipamentos deve ser sinalizado com o envio de um ACK ou NAK antes do envio do pr ximo pacote O recebimento de um pacote ACK indica que o pacote previamente enviado foi recebido com sucesso e a comunica o pode continuar Se um pacote NAK for recebido o pacote anterior deve ser reenviado A fim de evitar deadlock um NAK tamb m pode ser enviado como mecanismo de timeout quando o host demora a enviar os pacotes seguintes da comunica o 2 5 segs Cada pacote cont m um cabe alho header de tr s bytes DLE ID e o tamanho A Tabela 7 1 mostra como o formato do pacote da camada de Link O byte DLE serve para demarcar o in cio de um pacote do protocolo de link Se existir algum byte no pacote com o mesmo valor do byte DLE ent o outro byte DLE inserido imediatamente ap s o mesmo indicando que n o o in cio de um novo pacote Esse novo byte n o contabilizado no tamanho final do pacote nem utilizado no c lculo do checksum do mesmo Um pacote ACK possui o campo ID do pacote com valor 6 decimal enquanto um pacote NAK possui o valor 21 no mesmo campo Para indicar a qual pacote eles se referem ambos carregam o identificador do pacote referido 8 bits em seu campo de dados 54 Tabela 7 1 Formato do pacote de dados GAR99 Numero do Byte Descri o do Byte Notas 0 Data Link Escape Delimitador Caractere ASCII DLE 16 DLE em decimal 1 ID do pacote
80. odos os aspectos envolvidos em um projeto deste g nero 86 Anexo A Leitura da serial usando a API Win32 Esta se o tem como objetivo mostrar os passos que devem ser realizados para adquirir os dados advindos do aparelho de GPS A leitura das mensagens feita utilizando as fun es de leitura da API do Windows Existem duas fases para fazer a leitura pela porta serial uma fase de cria o de uma conex o atrav s da porta serial e a outra que a leitura propriamente dita Para fazer a conex o e leitura dos dados recebidos pela serial necess rio ter um ponteiro para um dispositivo de comunica o HANDLE Este ponteiro serve para depois orientar em qual porta est o sendo recebidas as informa es O acesso a uma determinada porta feito atrav s do m todo CreateFile que retorna um handle para poder acessar um determinado objeto que no caso a porta serial Apesar de o nome dessa fun o soar estranho esta fun o pode ser utilizada para arquivos pipes mailslots recursos de comunica o dispositivos de discos somente no Windows NT console e diret rios somente para leitura Esta fun o recebe por par metros uma string que descreve o nome da porta na qual est o sendo recebidos os dados o tipo de acesso ao objeto seus modos de compartilhamento um ponteiro contendo informa es sobre atributos de seguran a o tipo de a o que deve ser tomado em objetos que j ou n o existam algumas f
81. pamento de GPS Nas pr ximas se es s o descritas cada uma das camadas e suas respectivas funcionalidades 7 1 O protocolo da camada f sica padr o O funcionamento da camada f sica est baseado nas especifica es da interface RS 232 Dentre os protocolos por ela implementados o protocolo da camada f sica padr o est presente em todas as vers es de GPS e fundamental para o estabelecimento da conex o Ele implementa as regras de transmiss o dos dados em baixo n vel efetuando a comunica o do GPS com o host a ser conectado fazendo uso de conectores DB 9 ou DB 25 para o estabelecimento da conex o No modelo de GPS Garmin 12 utilizado neste trabalho esta comunica o do tipo serial full duplex e ocorre com uma taxa de 9600 bauds A palavra de dados de oito bits sem o bit de paridade sendo que o ultimo bit o stop bit 53 7 2 O protocolo da camada de Link Este protocolo respons vel pela transmiss o dos dados Sua fun o facilitar a comunica o inicial entre o GPS e o host fazendo este ltimo saber com qual GPS est conectado Os pacotes de dados transmitidos s o orientados a caractere ou seja possuem tamanho m ltiplo de 8 bits Esse protocolo do tipo confirmado ou seja faz uso de pacotes do tipo ACK e NAK para indicar o estado da comunica o em n vel de camada link n o verificando erros na camada de aplica o Seu funcionamento baseado na id ia de stop and wait na qual tod
82. pia em face de que uma Unica imagem vista pelos dois olhos O ideal ent o usar duas cameras Neste caso por m surge um outro problema que como acertar o posicionamento entre elas de forma a ter a mesma dist ncia entre as pupilas de um usu rio Al m disso essa dist ncia varia de acordo com o usu rio aumentando a complexidade ao utilizar este tipo de sistema 3 3 Sistemas de RA utilizando Monitores Algumas pessoas n o possuem afinidade com dispositivos como HMD s Neste caso podem ser usados monitores de v deo como televis es para visualizar as cenas geradas ao inv s de utilizar culos empregados nos outros sistemas de RA A montagem um sistema baseado em monitores semelhante aos sistemas de RA por v deo com a diferen a de que ao inv s do combinador de cenas enviar o resultado da combina o das imagens reais e virtuais para um HMD ele ir transmit las para um monitor A Figura 3 3 mostra um diagrama de um sistema baseado em monitores A utiliza o de um stereo glass culos est reo opcional pois seu uso somente necess rio caso se queira ver imagens estereosc pica culos Stereo opcional Dados gt Obti dos Pelo Rastreador Figura 3 3 Modelagem do sistema utilizando monitores AZU97 A aplica o deste modelo tamb m vi vel para sistemas ticos possuindo um esquema similar ao da Figura 3 1 com a diferen a de que os 30 monitores e os combinadores s o pos
83. preencher no DBC os valores da porta definidos no aparelho que faz a comunica o dos dados e setar os valores de controle para a serial Tendo o ponteiro para o dispositivo da serial e definidos os controles dela falta agora definir o timeout de leitura dos dados da serial Na API do windows existe uma estrutura especial chamada COMMTIMEOUTS que define os timeouts de leitura escrita para dispositivos de comunica o Assim como os m todos existentes na defini o de controle existem as fun es GetCommTimeout e SetCommTimeout que servem respectivamente para capturar os valores iniciais e setar o tempo de acesso para leitura escrita no dispositivo Ao final desses passos s o feitas mais duas chamadas para procedimentos de limpeza de erros e estados do dispositivo serial Esses m todos s o respectivamente ClearCommErrors e PurgeComm Na primeira fun o passou se no ltimo par metro o valor NULL pois n o se deseja processar sobre as informa es de erros Em PurgeComm est o sendo descartados todos os caracteres de entrada sa da do buffer do dispositivo de comunica o caso tenha um e s o eliminadas todas as opera es de escrita leitura no dispositivo A Figura A 1 mostra o c digo necess rio para a cria o de comunica o com o dispositivo na porta COM1 88 HANDLE hCom DCB dcb COMMTIMEOUTS commt ime DWORD dSize hCom CreateFile COM1 GENERIC_READ GENERIC_WRITE
84. psbaveneaccecntenweansd 74 8 4 3 Obten o da orienta o da cabe a do observador 74 8 4 4 C lculo do campo de vis o da c mera para a defini o do ngulo de VIGO dra ria ia di EA 75 9 Manipula o das mensagens do receptor GPS eeeeeseeeeeeeeeesseeeeeeees 76 9 1 Tipos de CoomaaNAdAS sas ns do ads iman fode da sala aEIpGaGads segs sede cenepeseseseeedesesesecevnetees 76 e cv Elas OE ros ara a a eRe OEE ese ne eee Sem ere ates eee ese eee 77 9 3 Leitura das MENSAGENG cccceeeeeeeeeeeeeeceeeeeeeeeeeeeeaaeaeeeeeeeeeessesnneaeeeeeeees 78 9 4 Tradu o e convers o dos dados ie 79 9 5 Valida o dos 9 210 car meee nr ener er ret ree OPO reer ener errr ree ner ere rer 81 OS AONE TAG ch RR RR nearer teu teed PAR REAR deny iee isu 82 Tl ONG IIS OSS PRN ORNE bade benoabacbeditas 84 Anexo A Leitura da serial usando a API Win82 0 0 cee eeeeeeteeeeeeeeeeeeeeeenenees 86 Anexo B Defini es sobre o protocolo do GPS ccccceeeeceeeeeeeeeeeeeeeeeeeeeeeeeees 90 Anexo C Manual do USUATMIO cccccceceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeess 92 O mo d lo GPS ROSIE secteur te epee ca yh tener tees neuint lga E tira ia Ena 92 1 1 O m dulo GPS VICWEN apenso toscano dobaioo das Eic anna DS 94 1 2 Uso dos m dulos em outros ambientes fora da PUCRS 94 Refer ncias BIDIOGRANCAS assaz 0 2000012080 aucheuti
85. retamente pelos sentidos naturais Nela objetos virtuais s o inseridos e posicionados na cena real em fun o da posi o relativa do observador Idealmente a coexist ncia destes dois ambientes real e virtual deve ser harm nica a ponto de um usu rio n o distingu los A Figura 1 2 mostra uma aplica o que combina imagens virtuais com objetos reais para auxiliar m dicos em microcirurgias Figura 1 2 Combina o de imagens virtuais no aux lio de cirurgias SAB99 O paradigma da RA em seu estado da arte pode introduzir benef cios de grande import ncia s atividades humanas Sua utiliza o pode auxiliar no aumento da percep o na melhoria da intera o e consequentemente aumentar a produtividade na realiza o de tarefas do mundo real Uma rea onde a RA pode ser de grande valia no Turismo visto que o usu rio pode obter informa es a respeito de um determinado local atrav s da adi o de informa es virtuais ou at mesmo sobrepor imagens virtuais imagens tridimensionais em constru es que foram destru das devido influ ncia da natureza ventos inunda es terremotos ou a guerras acontecidas no passado podendo assim obter maior compreens o de como elas eram e mais informa es a respeito das mesmas com o uso de informa es textuais 13 Baseado nessa id ia este trabalho descreve um aplicativo que permite ao usu rio visualizar informa es virtuais a respeito de pontos espe
86. rto desconforto pois um participante da teleconfer ncia pode algumas vezes n o ver outros participantes destas reuni es H atualmente v rias abordagens tomadas em RA para tentar viabilizar este desconforto dentre elas temos um grupo da Universidade de Washington que est desenvolvendo um projeto para confer ncias utilizando computadores de vestir wearable 23 computers na qual um usuario deste sistema pode ouvir e ver os outros participantes dela BIL98 O grupo da Advanced Network amp Service de Nova York esta implementando um sistema chamado National Tele Imersion Initiative LAN98 para permitir que usu rios que est o geograficamente distribu dos estivessem na mesma sala todos reunidos virtualmente Na Figura 2 10 temos 2 usu rios interagindo no ambiente Note que h imagens virtuais como por exemplo o fundo do cen rio Figura 2 10b Neste sistema h tamb m a manipula o de objetos virtuais como recurso did tico a fim de melhorar o grau de compreens o dos outros participantes da confer ncia CRE G 4 I ERA Figura 2 10 a Usu rio segurando um objeto real b Outro participante ativo da teleconfer ncia LAN98 2 7 Preserva o de patrim nios hist ricos Uma aplica o interessante de RA o projeto Augmented Reality based Cultural Heritage On site Guide ARCHEOGUIDE STRO1a Nele feita a sobreposi o de edifica es virtuais sobre as ru nas de um s tio arqueo
87. se deseja fazer uma m dia a cada cinco leituras o programa faz a m dia aritm tica das coordenadas Isso pode ser interessante para aumentar a confiabilidade da posi o informada quando o usu rio estiver parado 4 2 2 O m dulo GPS Viewer O m dulo GPS Viewer o m dulo principal deste trabalho Ele est encarregado de combinar as imagens reais com as virtuais enviando as para o HMD este respons vel por sua exibi o Inicialmente ele carrega a base de dados textual que foi gerada pelo GPS Register Carregadas e processadas as informa es do arquivo inicia se a leitura dos dados enviados pelo receptor GPS Essa informa o serve para realizar o correto posicionamento do observador e assim compar lo com as posi es das constru es que foram carregadas da base de dados O GPS Viewer tamb m processa as informa es sobre a rota o da cabe a do usu rio obtida pelo dispositivo HMD obtendo assim a dire o para onde ele est olhando Sabendo a posi o atual do usu rio em rela o a uma determinada constru o e a dire o em que olha poss vel determinar quando devem ser exibidas as imagens virtuais O processamento de combina o das imagens reais e virtuais ocorre resumidamente da seguinte forma inicialmente o GPS Viewer recebe uma imagem real capturada pela c mera digital quando o usu rio estiver pr ximo a uma determinada constru o pr cadastrada e olhando para ela a imagem virtu
88. sp onde est o dispon veis uma s rie de defini es a respeito disto Informa es sobre as coordenadas UTM podem ser acessadas pelo site http www cnr colostate edu class info nr502 g3 datums coordinates utm html Nesse trabalho utiliza se o sistema de coordenadas UTM tanto para cadastrar a posi o dos pr dios no m dulo GPS Register como para atualizar a 77 posi o do usu rio no m dulo GPS Viewer A Figura 9 2 mostra as estruturas criadas para armazenar essas informa es Figura 9 1 Zonas usadas no sistema de coordenadas UTM Coordenadas Geod sicas struct Geodetic_Projection double longitude double latitude Coordenadas UTM struct UTM_Projection long zone char hemisphere double easting double northing Figura 9 2 Estruturas de armazenamento para coordenadas geod sicas e UTM 9 2 A classe GPS A Tabela 9 1 apresenta os m todos da classe GPS O uso dos m todos descrito nas pr ximas se es 78 Tabela 9 1 A Classe GPS Acesso M todo Construtor Destrutor Descri o P blico GPS O construtor dessa classe recebe o nome da porta serial ao qual ir ser conectado ao GPS Ele j abre uma conex o com o dispositivo Neste construtor tamb m s o definidos alguns valores do sistema de refer ncia WGS 84 que s o o semi eixo maior da elips ide 6378137 000 e o achatamento do elips ide 1 298 257223563 Neste trabalho colo
89. ster e clique lt ENTER gt Desse modo aberta a janela inicial desse m dulo A Figura C 1 ilustra a tela inicial quando do programa ID gt x r rquivo de Gera o Quantidade de Leituras None do Arquivo con rE Er are z 10 Inicia Gera o Finaliza Gera o Salva Linha Pas 20 LOG do receptor GPS Somente String SGPGLL EJ r rquivo Gerado A T informa es Relevantes no Arquivo 4 Fm Rota o Transla o Escala Rota o Transla o Escala Texto moon vh Jylo Jyp Ty F Z zZ 2 1 0 0 1 arquivo aos Jimagentesto Ju Ea Figura C 1 Tela Inicial do GPSRegister 93 O GPSRegister somente inicia a leitura das mensagens do receptor GPS quando o usu rio clicar no bot o Inicia Gera o e que tenham sido preenchido os campos com o nome do arquivo e a porta de comunica o em que est conectado o cabo ligado ao GPS comi com2 Caso algum desses campos n o seja preenchido uma mensagem de erro mostrada e o programa n o inicia a leitura dos dados vindos pela serial Caso os campos tenham sido preenchidos corretamente o programa inicia lendo as mensagens do GPS atualizando constantemente na tela a string que cont m a informa o de posi o A Figura C 2 mostra algumas das mensagens de posi o obtidas ap s o in cio do programa no campo Log do receptor GPS Somente a string GPGLL SGPGLL 300
90. sto pelo fantasma do pr dio 15 Este usu rio possui uma visualiza o ilustrada na Figura 10 2 83 Figura 10 2 Visao do usuario no ponto A Nesta cena poss vel observar que a placa correspondente ao pr dio 15 esta sofrendo oclus o por parte do mesmo e por isso aparece cortada na imagem A placa relativa ao pr dio 30 aparece esquerda na frente da escadaria do mesmo 84 11 Conclus es Neste trabalho desenvolveu se uma ferramenta que permite ao usu rio visualizar informa es virtuais a respeito de pontos espec ficos de uma cidade tais como pr dios igrejas monumentos e outras constru es fazendo uso das t cnicas de RA Com a utiliza o desse sistema o usu rio pode obter informa es a respeito de um determinado local atrav s da adi o de placas virtuais Durante o desenvolvimento da mesma ratificou se a import ncia da aplica o de uma t cnica de registro eficiente para o posicionamento dos objetos Al m disso a modelagem das r plicas virtuais fantasmas deve ser a mais parecida poss vel com as constru es sobre as quais se desejam adicionar as informa es No que tange aos modelos virtuais procurou se aproximar a arquitetura dos objetos reais atrav s da modelagem de blocos dos mesmos importante destacar que a utiliza o de modelos mais precisos melhorariam a qualidade do processo de oclus o sem altera es no projeto final Outro fator limitante na qualidade do regi
91. stro dos objetos reais neste trabalho foi o baixo grau de precis o imposto pelo equipamento de GPS Isto gerou oscila es indesej veis da posi o do usu rio e no registro dos pr dios cadastrados no sistema causando uma ligeira incoer ncia visual na imagem aumentada Da forma como foi concebido este projeto a utiliza o de um equipamento de GPS mais preciso resolveria esse problema sem nenhuma altera o no c digo No que diz respeito aos pr dios cadastrados um mapa contendo as coordenadas geod sicas dos mesmos poderia ser facilmente incorporado ao sistema eliminando a necessidade da utiliza o do GPS para o registro das constru es Outro fator relevante para o correto desenvolvimento de um sistema de RA a correta obten o dos par metros visuais da c mera utilizada para a captura das imagens reais Isto se mostrou essencial para o correto posicionamento das imagens virtuais O m todo empregado pra este fim mostrou se suficientemente preciso Al m disso em ambientes internos 85 necess ria uma outra forma de rastreamento pois a utiliza o de receptores GPS necessita de uma rea aberta para que o equipamento obtenha um m nimo de quatro sat lites para a determina o da posi o Devido s restri es citadas acima a qualidade de intera o com o sistema ficou um pouco prejudicada Todavia isto n o invalidou o desenvolvimento do trabalho permitindo a realiza o de testes e a avalia o de t
92. sualizando o atrav s de um HMD BAJ92 Seu objetivo ajudar um m dico no processo de visualiza o do feto movendo se no tero Figura 2 1 Posteriormente esfor os foram concentrados na costura de tecidos ap s a retirada de algum tumor no seio Figura 2 2 STA96b Outra aplica o consiste no treinamento de iniciantes na realiza o destas cirurgias mostrando os passos que eles devem seguir auxiliando os na execu o de suas tarefas 16 Figura 2 2 Modelo de uma biopse de um tumor no seio STA96b 2 2 Processos de Constru o e Manuten o Um t cnico realizando a manuten o de algum aparelho de alta complexidade pode ser beneficiado com a utiliza o de RA Ao inv s de se basear em longos e cansativos manuais a adi o de informa o virtual sobre o equipamento real torna mais bvia a realiza o de sua tarefa Neste caso o objetivo facilitar os mecanismos de montagem e manuten o de aparelhos em geral pois muito mais intuitivo para um ser humano a compreens o atrav s de 17 uma representa o estereosc pica do que simplesmente uma leitura em um livro contendo ilustra es Pesquisadores do grupo Steve Feiner da Universidade Col mbia desenvolveram uma aplica o para manuten o de uma impressora laser Na Figura 2 3 temos uma vis o do usu rio usando esta aplica o que neste caso est vendo como remover a bandeja de pap is FEI93a Este projeto utilizou rastreador
93. t lt y gt lt z gt Figura 4 5 Formato do arquivo gerado pelo GPS Register Inicialmente o GPS Register fica em modo de espera at que o usu rio inicie a leitura dos dados enviados pelo receptor GPS O in cio da leitura depende de um requisito imprescind vel que o receptor GPS ter encontrado no m nimo quatro sat lites pois somente assim poss vel obter a string enviada pelo aparelho de GPS contendo a posi o do usu rio contendo os dados de latitude e longitude Al m dos quatro sat lites na aplica o deve ser preenchido o nome do arquivo onde s o armazenados os dados bem como deve ser informado o n mero da porta serial pela qual os dados do receptor GPS s o recebidos Detalhes a respeito da configura o do GPS para este trabalho est o na se o 7 4 Depois de iniciada a leitura dos dados do GPS o programa permanece recebendo os dados enviados pelo aparelho de GPS Quando o usu rio da aplica o clicar no bot o Salva Linha sao gravadas no arquivo todas as informa es necess rias e logo ap s continua a leitura dos dados 37 vindos do receptor GPS O programa fica em loop at que seja finalizada a leitura ou at que seja fechada a janela Maiores detalhes sobre a tradu o das mensagens do aparelho de GPS podem ser encontrados na se o 9 4 Uma funcionalidade interessante desse m dulo a possibilidade de se fazer uma m dia dos pontos lidos Por exemplo quando
94. ter os dados a respeito de constru es tanto atrav s de algum rg o publico ou centro de geoprocessamento que possua os 95 dados a respeito da posi o dos locais de interesse Al m disto pode se usar o GPS Register na rua para o registro das constru es necessitando apenas que esteja utilizando um notebook para gera o do arquivo que ser utilizado na execu o do GPS Viewer Por fim tamb m interessante ter um programa para gerar os modelos tridimensionais das constru es requeridas modelos esses que s o utilizados como fantasmas em nossas constru es ARTOO AZU97 BAJ92 BALOO BIL98 96 Refer ncias Bibliogr ficas ARTOOLKIT Augmented Reality Toolkit Intelligence Agents and Media Group University of Southampton 2000 http www equator ecs soton ac uk projects artoolkit T Azuma Ronald A Survey of Augmented Reality UNC Chapel Hill 1997 Bajura Mike Henry Fuchs and Ryutarou Ohbuchi Merging Virtual Reality with the Real World Seeing Ultrasound Imagery Within the Patient Proceedings of SIGGRAPH 92 Chicago IL 26 31 July 1992 In Computer Graphics 26 2 July 1992 203 210 Selim Balcisoy Marcelo Kallmann A famework for rapid evaluation of prototypes with Augmented Reality 2000 Billinghurst M Bowskill J Jessop M Morphett J A wearable Spatial Conferecing Space 1998 DOCMICROS http msdn microsoft com library default asp Maio de 2008
95. tido por um farol contendo um DGPS Differential GPS localizado em uma posi o bem conhecida A Figura 2 11 mostra como foi feita a arquitetura do Archeoguide que composta pelos tr s subsistemas descritos anteriormente be a DGPS Beacon MU UE VE B E Figura 2 11 Arquitetura de Comunica o do Archeoguide STR01b 25 O maior problema desse tipo de sistema o desconforto devido ao excesso de aparelhos que devem ser carregados no corpo pois os equipamentos de realidade virtual ainda s o pesados apesar de j estarem sendo desenvolvidos outros dispositivos para evitar ou reduzir esses problemas Contudo o que tem de mais interessante nessa aplica o no fato de se poderem preservar os patrim nios hist ricos mantendo os como se encontram originalmente e apenas adicionando informa es virtuais sem precisar alterar o antigo Na Figura 2 12 mostra como essa aplica o funciona Em a pode se visualizar a constru o real que j se encontra tombada Em b tem se a sobreposi o da edifica o grega como originalmente ela havia sido constru da STRO1 al ta ib Figura 2 12 a constru o real tombada pelo tempo b resultado aplicando se a RA nessas edifica es STRO1a 26 3 Tipos de Realidade Aumentada Existem tr s m todos de constru o de sistemas de realidade aumentada RA tica RA por v deo e RA por monitores Cada um possui suas vantagens e desvantagens
96. uma classe chamada StringTokenizer que tem como objetivo retornar tokens separado por um delemitador que neste trabalho foi o caractere v rgula Atrav s dessa classe poss vel fazer a tradu o das mensagens enviadas pelo receptor GPS Os dados a respeito da latitude e longitude s o armazenados na estrutura de dados Geodetic Projection apresentado na Figura 9 2 A partir da obten o da coordenada geod sica falta convert la para coordenadas UTM Como mencionado no in cio deste cap tulo para realizar a convers o dos dados foram utilizados alguns arquivos da biblioteca Mgrs da National Imagery and Mapping Agency NIMA Neste trabalho necessita se apenas converter de geod sicas para UTM portanto utilizou se apenas o c digo necess rio para fazer esta convers o A classe GPS possui um m todo chamado ConvertGeodeticToUTM que faz chamadas s fun es da biblioteca Mgrs que s o respectivamente Set UTM Parameters e Convert Geodetic To UTM A primeira recebe por par metro informa es a respeito do elips ide que representa a Terra enquanto a segunda serve para realizar a convers o de coordenadas geod sicas para UTM baseada no elips ide setado anteriormente 81 A fun o Set UTM Parameters recebe por par metros o semi eixo maior do elips ide e o achatamento Como citado na se o 7 4 o sistema de refer ncia sobre o elips ide baseado no sistema WGS 84 Nele o valor do semi eixo maior equivale
97. uto Linguagem O 55 Figura 7 2 Estrutura de dados das coordenadas de um ponto GAR99 56 Figura 8 1 Passos para trabalhar com imagens capturadas da camera 61 Figura 8 2 C digo mostrando os passos para combinar OpenGL e MS Vision a a aba EET 64 Figura 8 3 Aplica o rodando com OpenGL 64 Figura 8 4 C digo mostrando os passos para combinar GDI e MS Vision 66 Figura 8 5 aplica o rodando com a GDlI 66 Figura 8 6 Fun es de inicializa o do Stencil Buffer 67 Figura 8 7 Fun o para demarcar o Stencil n 71 Figura 8 8 Fun o de exibi o das imagens reais ccccceeeeeeseeeeeteeeeeeeees 72 Figura 8 9 Fun o de desenho dos objetos virtuais 73 Figura 8 10 C lculo do Angulo da C mera vis o superior 74 Figura 9 1 Zonas usadas no sistema de coordenadas UTM 77 Figura 9 2 Estruturas de armazenamento para coordenadas geod sicas e UIM ic 77 Figura 9 3 Exemplo da string obtida pelo receptor GPS 79 Figura 10 1 Mapa do cen rio vista superior PUCRS 82 Figura 10 2 Vis o do usu rio no ponto A ea 83 Lista de Tabelas Tabela 7 1 Formato do pacote de dados GAR9Q9 eeeeseeeeeeeeeeeeeees 54 Tabela 7 2 Mensagens para obten o de informa es sobre o produto GARO
98. verem muito pr ximas a utiliza o do algoritmo da dist ncia se torna invi vel pois n o se consegue evitar o problema Logo o correto posicionamento dos textos virtuais deve ser tratado para que a aplica o funcione de forma correta 48 6 Localiza o sobre o globo terrestre Conforme mencionado anteriormente este trabalho necessita obter a posi o do usu rio e dos objetos reais sobre os quais ser o exibidas as informa es O objetivo disto orientar o sistema na sele o das informa es a serem exibidas de acordo com a posi o atual do usu rio em rela o posi o dos objetos previamente cadastrados No passado a determina o de posi es era feita atrav s do uso de equipamentos para r dio navega o entretanto eles n o eram muito precisos Mais tarde com o desencadeamento da Il Grande Guerra desenvolveram se sistemas mais precisos conhecidos como RADAR RAdio Detection And Ranging capazes de obter a posi o de objetos atrav s da emiss o recep o de ondas de r dio Para se determinar a posi o mede se o intervalo de tempo entre os sinais de r dio provenientes de locais conhecidos emitidos por transmissores ao mesmo tempo e com a mesma velocidade de propaga o Possuindo as exatas localiza es dos transmissores a velocidade das ondas de r dio e a diferen a de tempo entre os dois sinais pode se obter a posi o em uma dimens o pois ele est numa linha reta entre os dois transmissor
99. video camera located over the user s head the images will be captured and manipulated to add the information about the chosen constructions After captured the images are sent to a laptop that an user will be carrying which will insert the data if necessary If the user is near and looking straight to one of those monuments already registered in the system its data will be exhibited in a HMD This device is capable to inform the visual orientation of the user through head sensors attached to it To obtain the real distance between the real objects and the user an equipment of GPS will also be connected to the laptop informing constantly the position of the user It will also help in the registering process of the objects whose data will be exhibited This will make it possible to determine when the information will be shown to the user Keywords Augmented Reality Global Positioning System GPS Head Mounted Display 11 1 Introdu o Sistemas de realidade virtual desenvolvidos nos ltimos anos trouxeram um timo realismo a ambientes totalmente artificiais sintetizados por computadores Entretanto sabe se que a realidade implementada dessa forma est longe de ser comparada ao mundo real ao qual se conhece Em certas aplica es o uso de objetos e cen rios reais pode ser de grande valia no processo interativo com um sistema computacional Em face disso a mescla de objetos reais e imagens virtuais surgiu como uma altern
Download Pdf Manuals
Related Search
Related Contents
Procesamiento de Papaya a Pequeña Escala, Elaboración Pour retrouver les jours de collecte dans votre quartier CLIQUEZ ICI BDT-101CI Installer Manual v1.0 User`s Manual OPERATING INSTRUCTIONS MODEL 2706B DIGITAL MULTIMETER Name of Exhibiting Company: - QS LE PRINTEMPS DE LA PHLEBOLOGIE Thule 855 Quickdraw User's Manual DW084 Nível de autonivelamento Manuel descriptif de la machine Copyright © All rights reserved.