Interação em Aplicações para Treinamento Médico Virtual: Problemas e Soluções a partir de estudos de caso OMITTED FOR BLIND REVIEW Abstract 1. Introdução This paper presents the implementation of an interaction module incorporated in a Virtual Reality (VR) framework, which aims at facilitating the implementation of medical training tools for biopsy exams simulation. The specific goal is to present problems and challenges noticed during the implementation and expose solutions adopted in order to obtain a higher degree of realism. The module supports conventional devices (keyboard and mouse) and non-conventional devices (haptic equipment and dataglove). The generated applications through framework were evaluated by students and teachers of the medical area. A construção de muitas aplicações de Realidade Virtual (RV) visa à simulação de situações do mundo real por meio do computador, permitindo que pessoas realizem determinadas tarefas utilizando essas máquinas, como se estivessem no ambiente real. Entretanto, a construção de tais aplicações não é um procedimento trivial, visto que inúmeras pesquisas nessa área estão sendo elaboradas, procurando aperfeiçoar e desenvolver sistemas de RV que gerem simulações mais próximas do real, proporcionando benefícios às pessoas. A RV está presente em diversas áreas do conhecimento. Na Medicina, pode auxiliar profissionais da área (médicos e estudantes) em simulações de cirurgias e demais procedimentos médicos. Alguns benefícios na simulação de tais procedimentos são a disponibilidade do sistema, minimizando a necessidade de cobaias; a diversidade de casos, oferecendo diversas situações, com presença e ausência de anomalias; a diminuição de riscos a profissionais da área e pacientes, visto que o treinamento pode ser realizado sem o receio de causar danos aos pacientes [7]. Para que seja possível a aquisição de habilidades e conhecimentos sobre determinado procedimento, a interação entre o usuário e o computador é parte fundamental na construção de aplicações desta natureza. Por isso, nesta categoria de aplicações é desejável interação com suporte a dispositivos de entrada e saída para possibilitar a comunicação entre homem e máquina de maneiras diversas. Além disso, aplicações médicas virtuais precisam atender outros requisitos, como precisão e respostas em tempo real, para permitir uma simulação mais realista [4]. O presente artigo tem o objetivo de apresentar alguns problemas e desafios decorrentes da implementação de um módulo de interação em um Keywords Interaction, evaluation, conventional devices, nonconventional device. Resumo Este artigo apresenta a implementação de um módulo de interação incorporado a um framework de Realidade Virtual (RV), que visa a facilitar a implementação de ferramentas de treinamento médico para simular exames de biópsia. O objetivo específico é apresentar problemas e desafios percebidos durante a implementação e expor soluções adotadas, com a finalidade de obter um grau mais elevado de realismo. O módulo suporta dispositivos convencionais (teclado e mouse) e não convencionais (equipamento háptico e luva de dados). As aplicações geradas por meio do framework foram avaliadas por estudantes e professores da área médica. Palavras-Chave Interação, avaliação, dispositivos dispositivos não convencionais. convencionais, framework para treinamento médico, e algumas soluções adotadas até o momento. Com isto, pretendese contribuir para que outros pesquisadores dedicados a esta área, economizem tempo para encontrar soluções de questões semelhantes no desenvolvimento de suas aplicações. Para atingir seu objetivo, este artigo está composto da seguinte forma: a seção 2 expõe o framework OMITTED FOR BLIND REVIEW e a implementação do módulo de interação; a seção 3 apresenta problemas encontrados no desenvolvimento do módulo de interação e na avaliação do OMITTED FOR BLIND REVIEW, bem como algumas soluções adotadas; a seção 4 apresenta resultados obtidos com as soluções adotadas e a seção 5 disponibiliza as conclusões. 2. Desenvolvimento do projeto O desenvolvimento do projeto considerou inicialmente a simulação de um procedimento médico denominado biópsia, que consiste na utilização de um instrumento médico (uma seringa, por exemplo) a ser manipulada por um médico, inserindo a agulha em uma região do corpo do paciente, com o intuito de coletar material para posterior análise laboratorial. Esse procedimento é utilizado para a confirmação de diagnósticos quando há suspeita de anomalias. Uma abordagem adotada na implementação foi a utilização de um framework para gerar aplicações relacionadas a este tipo de treinamento. O projeto completo é a soma de diversos trabalhos, que constituem diferentes etapas de desenvolvimento. Neste artigo será descrito o módulo de interação, que dá suporte a equipamentos convencionais e não convencionais. Além da implementação da interação foi realizada uma avaliação do primeiro protótipo com usuários da área médica, proporcionando a análise de problemas considerando as aplicações geradas pelo framework como um todo. O OMITTED FOR BLIND REVIEW é um framework de RV, orientado a objetos, desenvolvido com o uso das linguagens de programação Java e C++, e a API (Application Programming Interface) Java3D. Com suas classes e métodos é possível construir um Ambiente Virtual (AV) que disponibiliza um objeto que representa o instrumento médico virtual e outro que representa o órgão humano. Os objetos podem ser modelados externamente ao framework e utilizado nas aplicações. Além disso, as seguintes funcionalidades relacionadas ao domínio estão disponíveis: deformação do objeto que representa o órgão humano; detecção de colisão com precisão, que define o momento em que o objeto virtual que representa o instrumento médico encontra o objeto virtual que representa o órgão humano; modelagem adequada de objetos tridimensionais, definindo características e comportamentos dos objetos que representarão o instrumento médico, o órgão humano, ou qualquer outro objeto; estereoscopia, permitindo uma sensação de imersão para proporcionar mais realismo; suporte a dispositivos convencionais e não convencionais para possibilitar a interação entre usuário e sistema computacional [2]. Inicialmente, a interação do OMITTED FOR BLIND REVIEW se dava da seguinte forma: o usuário ou participante da simulação manipulava o instrumento médico por meio do mouse, e a aplicação identificava a ocorrência de colisão, realizando a deformação do local onde a colisão foi detectada no objeto que representa o órgão humano, conforme pode ser verificado na Figura 1. 2.1 Framework de RV Frameworks consistem em recursos para reutilização de componentes de software, permitindo o aumento da produtividade na construção de aplicações dentro de um determinado domínio de problemas, incluindo o projeto e a implementação destas [5]. Conforme mencionado, foi inicialmente planejada a construção de um framework para gerar aplicações de treinamento médico, delimitando o domínio para simulação de exames de biópsia. O framework OMITTED FOR BLIND REVIEW (Virtual Medical Training) encontra-se em estágio de desenvolvimento. Figura 1. Exemplo de aplicação gerada pelo OMITTED FOR BLIND REVIEW inicial [2] Com a implementação do módulo de interação, o AV gerado pelo OMITTED FOR BLIND REVIEW foi adaptado para importar um terceiro objeto, ou melhor, uma coleção de objetos dispostos hierarquicamente para composição de uma mão virtual, apresentada na Figura 2, que representaria o ato de segurar e soltar o órgão humano durante o exame de biópsia, para inserção do instrumento médico. mão do usuário está sendo fechada para segurar o objeto virtual que representa o órgão humano, resultando na rotação dos conjuntos de objetos que representam os dedos. A ação de liberar essas teclas indica que a mão do usuário está sendo aberta, e o órgão humano virtual deve ser solto, resultando na inversão da rotação dos dedos virtuais. Desta forma, cada tecla está associada a um conjunto de objetos virtuais que representa cada dedo do usuário. A Figura 4 apresenta a interação por meio do teclado. Figura 2. Objeto mão no AV 2.2 Módulo de interação O módulo de interação foi planejado com o intuito de proporcionar o uso de dispositivos convencionais e não convencionais, tendo em vista imprimir uma flexibilidade ao OMITTED FOR BLIND REVIEW, de tal forma que o usuário possa selecionar as formas de interação, considerando seus recursos disponíveis. Os dispositivos convencionais são um mouse comum e um teclado, e os não convencionais são uma luva de dados 5DT Data Glove 5 Ultra, fabricada pela 5DT (Fifth Dimension Technologies), e um equipamento háptico, modelo PHANTOM Omni, desenvolvido pela empresa SensAble Technologies. Cada dispositivo está associado a um objeto presente no AV, e atua sobre ele conforme a ação do usuário. O mouse comum está associado ao objeto virtual que representa o instrumento médico. O dispositivo capta e envia à aplicação informações sobre os movimentos realizados pelo usuário, bem como informações sobre o pressionamento dos botões do dispositivo, para que a aplicação realize movimentos de translação e rotação no instrumento médico. A Figura 3 mostra o uso do mouse. Figura 4. Utilização do teclado A 5DT DataGlove 5 Ultra é apresentada na Figura 5 e está associada à mão virtual, de forma semelhante ao teclado. Este dispositivo possui cinco sensores de fibra óptica, que permitem a captação de informações como a flexão dos dedos da mão do usuário [1]. Essas informações são transferidas à aplicação para a realização de movimentos de rotação nos conjuntos de objetos virtuais que representam os dedos. Desta forma, a luva de dados indica o ato de segurar e soltar o objeto virtual que representa órgão humano pela flexão dos dedos do usuário. Figura 5. Uso da 5DT DataGlove 5 Ultra Figura 3. Utilização do mouse O teclado está associado à mão virtual, que é constituída por um conjunto de objetos virtuais, dispostos hierarquicamente para formar os dedos. A interação ocorre por meio do pressionamento ou da liberação de teclas específicas, que são analisadas pela aplicação. A ação de pressionar tais teclas indica que a Por último, o PHANTOM Omni, é um dispositivo háptico associado ao objeto que representa o instrumento médico. Tal dispositivo capta dentre outras informações, movimentos de translação e rotação nos eixos x, y e z, caracterizando um dispositivo de seis graus de liberdade, além de fornecer retorno de força nos três eixos [8]. O conceito de háptico está relacionado à ciência do tato, considerando força e sensação propiciadas por esse sentido [6]. Desta forma, a aplicação recebe tais informações do dispositivo, e altera a translação e a rotação do objeto virtual que representa o instrumento médico, além de retornar força, criando uma determinada resistência, quando a colisão é detectada, indicando que o instrumento médico tocou o órgão humano. A interação por meio do dispositivo PHANTOM Omni pode ser visualizada na Figura 6. Figura 6. Uso do PHANTOM Omni Com o módulo de interação implementado é possível, ao gerar a aplicação usando o OMITTED FOR BLIND REVIEW, optar pela combinação de dispositivos, levando em consideração a disponibilidade financeira e o realismo necessário. Os equipamentos não convencionais possuem custo mais elevado quando comparados com os convencionais. O grau de realismo é maior quando são usados dispositivos não convencionais, projetados para que o usuário realize tarefas, interagindo com o AV de forma natural, semelhante à execução de tais tarefas no ambiente real. O módulo de interação também permite que mais de um dispositivo seja usado na interação simultaneamente, oferecendo diversas combinações, tais como: dispositivo háptico e teclado, dispositivo háptico e luva de dados, mouse e teclado, mouse e luva de dados. Na próxima seção são apresentados os problemas e as soluções adotadas na construção do módulo de interação e na avaliação do OMITTED FOR BLIND REVIEW. 3. Implementação e avaliação – problemas e soluções Esta seção apresenta os problemas encontrados durante a implementação e as soluções adotadas para cada um deles. O primeiro problema encontrado na implementação do módulo de interação foi com relação aos dispositivos não convencionais (luva de dados e equipamento háptico), que possuem drivers e bibliotecas com funções pré-definidas, desenvolvidas pelos fabricantes e escritas nas linguagens de programação C e C++. No entanto, o OMITTED FOR BLIND REVIEW está sendo desenvolvido em linguagem de programação Java, visto que oferece diversos benefícios, tais como: portabilidade, gratuidade, classes e métodos prontos. A API Java 3D também está sendo empregada, por apresentar os mesmos benefícios e permitir a criação de Ambientes Virtuais. Para resolver esse problema, duas idéias foram consideradas: a primeira consistia na construção de drivers para os dispositivos utilizando a linguagem de programação Java, e a segunda consistia na integração entre as linguagens de programação C/C++ e Java, ambas apresentando vantagens e desvantagens. A construção de drivers envolve questões como conhecimento de instruções para estabelecer a comunicação entre dispositivo e computador, consistindo em programação de baixo nível e operações sobre as portas de comunicação (serial, FireWire, USB (Universal Serial Bus), entre outras), dispêndio de tempo para desenvolvimento e testes. Já a integração de linguagens de programação engloba o estudo aprofundado das linguagens, bem como a pesquisa de recursos disponíveis para realizar a integração, além de testes. A solução adotada foi a integração das linguagens de programação Java e C++, visto que deduziu-se que o tempo de implementação desta seria inferior ao tempo de construção de drivers, além deste tipo de procedimento não ser apresentado na literatura de forma detalhada, podendo significar uma importante contribuição para a comunidade científica. O recurso escolhido para realizar a integração foi o JNI (Java Native Interface), encontrado no JDK (Java Development Kit) que possibilita a interoperação entre a linguagem de programação Java e outras linguagens, como C, C++ e Assembly [9]. Desta forma, é possível escrever métodos em linguagem de programação Java, denominados de métodos nativos, para acessar funções escritas em código nativo, no caso, escritas em linguagem de programação C++, onde estão as funções e comandos disponibilizados em bibliotecas dos fabricantes. Além disso, se faz necessária a utilização de bibliotecas de ligação, nos Sistemas Operacionais Windows, as denominadas DLLs (Dynamic-Link Libraries), que são geradas por meio de compiladores. No presente projeto, o compilador adotado foi o Microsoft Visual C++ 6.0 devido à familiaridade da equipe de desenvolvimento com esta tecnologia, entretanto, outros compiladores, e até mesmo outros Sistemas Operacionais. Os softwares oferecidos pelos fabricantes, como o OpenHaptics Toolkit, para controle do dispositivo háptico, possui versão para outras plataformas, como Linux e MacOS. A Figura 7 apresenta o diagrama do fluxo de informações entre o usuário e o sistema computacional, no qual os dispositivos utilizados para a comunicação entre ambos são a luva de dados e o monitor de vídeo. Figura 8. Diagrama de integração e interação para o PHANTOM Omni [3] Figura 7. Diagrama de integração e interação para a DataGlove 5 Ultra [3] A Figura 8 mostra o diagrama de integração e interação para o dispositivo háptico, semelhante ao diagrama anterior, com os fluxos de informações entre a aplicação, situada no sistema computacional e o usuário, que atua sobre o sistema por meio do dispositivo háptico, bem como os fluxos entre as partes da aplicação, escritas em linguagem de programação Java e C++, sendo que nesta última estão contidas as funções do OpenHaptics Toolkit, e a biblioteca de ligação Haptic.dll, para fornecer a interface de comunicação entre ambas as partes. A diferença entre os diagramas é a existência do fluxo de informações em ambas as direções no segundo, relacionado ao dispositivo háptico. Isso indica que a parte da aplicação escrita em Java recebe informações, que passam do dispositivo para a parte da aplicação escrita em linguagem de programação C++, desta para a biblioteca de ligação, e da biblioteca para a parte da aplicação em Java, que realiza alterações no objeto virtual de acordo com tais informações, apresentando essas alterações no monitor de vídeo. A parte da aplicação desenvolvida em linguagem de programação Java calcula o retorno de força de acordo com parâmetros pré-estabelecidos e envia essas informações para o dispositivo, fazendo o caminho inverso. O PHANTOM Omni realiza o feedback, proporcionando sensações táteis no usuário. Outro problema identificado estava relacionado à modelagem do objeto virtual para representação da mão do usuário no AV, no que diz respeito ao grau de realismo para a rotação dos dedos de acordo com as informações da luva de dados. Como a luva de dados possui um único sensor para cada dedo, o movimento de qualquer parte ou falange de um dedo indica o movimento do dedo todo. Por isso, o dedo virtual foi modelado com uma determinada inclinação, constituído por três objetos virtuais distintos, conforme pode ser visualizado na Figura 9. Pode-se observar a divisão dos membros da mão, pois há uma hierarquia no movimento das falanges dos dedos. Na modelagem os objetos virtuais são dispostos da seguinte forma: as pontas dos dedos são penduradas no corpo dos respectivos dedos, os corpos dos dedos são pendurados nas esferas de rotação, e as esferas são penduradas na palma da mão. As esferas de rotação são utilizadas para que os conjuntos que formam os dedos virtuais possam rotacionar de forma correta, permitindo que a rotação se limite ao centro de cada esfera, e não ao centro do objeto dedo como um todo, propiciando um maior realismo [3]. Os objetos que formam a mão virtual foram modelados separadamente e conectados no AV por meio de métodos disponíveis no Java3D, adicionando os objetos como nós na estrutura do grafo de cena. Uma ação semelhante ocorreu com o objeto virtual seringa, que representa o instrumento médico, na qual uma esfera de rotação de tamanho reduzido foi adicionada na ponta desta, como pode ser visualizado na Figura 10, permitindo que a rotação do objeto ocorra de forma correta. aplicação e as opiniões dos usuários sobre conforto com os dispositivos, facilidade de uso, bem como o conhecimento dos mesmos sobre RV e nível de entendimento sobre a tarefa a ser realizada no AV. A Figura 12 apresenta o AV para a avaliação. Figura 9. Estrutura de modelagem da mão Figura 12. AV gerado para a avaliação Figura 10. Estrutura de modelagem da seringa Após essas etapas de implementação, a aplicação passou a apresentar o AV com três objetos, conforme pode-se notar na Figura 11. Uma avaliação preliminar com um professor da Faculdade de Medicina de Marília, que também indicou os estudantes para os testes, relacionou determinados problemas, sendo que alguns foram solucionados para a segunda etapa da avaliação, realizada com alunos, conforme apresentado a seguir. No que diz respeito à visualização, visto que os testes seriam realizados com objetos virtuais em aramado e objetos com cores que simulavam textura, o treinamento com objetos coloridos foi dispensado, pois dificultava a visualização dos objetos e a deformação do órgão humano, como pode-se observar na Figura 13. Figura 11. Aplicação gerada com três objetos Uma etapa importante deste projeto, conforme mencionado, é a avaliação de um primeiro protótipo, testando não somente o módulo de interação, mas a aplicação como um todo. Assim como na implementação, alguns problemas foram identificados na fase de avaliação, comprovando a importância da opinião dos usuários da área de aplicação durante o desenvolvimento de aplicações de RV. A avaliação das aplicações geradas por meio do OMITTED FOR BLIND REVIEW envolveu aspectos computacionais e humanos e foi realizada com o auxílio de profissionais de Medicina. Desta forma, foram coletados dados sobre o desempenho da Figura 13. Aplicação com objetos coloridos Desta forma, a visualização em wireframe foi adotada. Outro ponto discutido foi com relação ao objeto virtual que representa o órgão humano, no caso, a mama virtual. De acordo com a opinião do profissional consultado, a modelagem que contempla somente o órgão humano dificulta a percepção espacial do aprendiz. Por isso, um objeto virtual mais completo, incluindo o tórax, apresentado na Figura 14, foi modelado. Figura 14. Tórax com ductos modelados Outro problema apontado foi com respeito à utilização simultânea da mão virtual e o instrumento médico, que resultava em dificuldades durante a interação. A luva usada atualmente não possui sensor de posição e, por isso, a mão virtual é um objeto estático no AV, permitindo somente os movimentos de rotação dos dedos virtuais. Desta forma, optou-se pelo treinamento com os dispositivos de forma separada, conforme as Figuras 15 e 16, retirando a mão virtual do AV quando a luva de dados não estava sendo empregada. Uma solução futura e mais adequada para esta questão é a aquisição de luvas com sensor de posição ou o acoplamento de um sensor de posição no dispositivo usado atualmente. Após ter solucionado os primeiros problemas identificados na avaliação preliminar, passou-se à segunda etapa da avaliação, durante a qual estudantes de Medicina testaram o protótipo. Novos problemas foram identificados e soluções foram sugeridas, como: visualização com texturas mais elaboradas para os objetos virtuais; aperfeiçoamento da visualização, principalmente na questão da percepção de profundidade, o que pode ser realizado com óculos estereoscópicos; utilização de objeto físico, uma mama de borracha, por exemplo, a ser acoplada no dispositivo háptico, com o intuito de melhorar a percepção; problema do retorno de força contínuo após a identificação de colisão e a ocorrência da rotação incorreta do objeto virtual que representa o instrumento médico, sendo que ambos acontecem casualmente; métodos mais precisos de colisão e deformação, bem como métodos mais precisos para o retorno háptico, envolvendo tecidos diversos que compõem o órgão humano, ângulos de inclinação do instrumento médico virtual durante a inserção. Para coletar as opiniões dos usuários, dois questionários foram empregados: um antes e outro após os testes com as aplicações. O primeiro apresentava questões sobre o nível de experiência com dispositivos de RV e aplicações desta natureza, nível de experiência na realização de procedimentos de biópsia, entendimento da tarefa a ser executada no AV (parte do procedimento de biópsia), opinião sobre a utilização de simuladores para treinamento médico. O segundo apresentava questões sobre facilidade de uso, nível de satisfação e dificuldade com dispositivos convencionais e não convencionais, e com relação à combinação de dispositivos, bem como a contribuição do aspecto visual do AV no treinamento, além de idéias e sugestões. 4. Resultados e Discussões Figura 15. Treinamento com a mão virtual Figura 16. Treinamento com o instrumento médico, sem a mão virtual O módulo de interação foi construído, oferecendo suporte a dispositivos convencionais (teclado e mouse comum) e não convencionais (luva de dados e dispositivo háptico), que podem ser utilizados em aplicações separadamente ou em combinações. A integração entre linguagens de programação foi adotada para inclusão dos dispositivos não convencionais no módulo de interação, sendo que a interface de programação nativa JNI foi escolhida para permitir essa implementação. A modelagem dos objetos que representam a mão virtual apresentou uma elevação no grau de realismo, mesmo com as limitações da luva utilizada. O desempenho da aplicação, calculado de acordo com o tempo de resposta e o número de quadros por segundo, atingiu um nível satisfatório, visto que a sensação de realismo foi propiciada, mesmo com a integração de linguagens de programação e a utilização de dispositivos não convencionais. No que diz respeito aos estudantes e professores de Medicina, estes forneceram contribuições importantes para o aperfeiçoamento do framework e, conseqüentemente, da aplicação, tais como: correlação espacial entre realidade e AV, utilização de detector de posição para a luva de dados, alterações na visualização, refinamento do retorno de força. No entanto, pôde-se observar e confirmar com relatos dos próprios voluntários, que eles tiveram dificuldades na realização da tarefa no AV, resultando em tempos elevados de execução, devido principalmente à visualização, que tornava difícil a percepção de profundidade, levando a uma desorientação durante a interação. 5. Conclusões Um simulador construído com técnicas de RV para treinamento médico pode auxiliar profissionais da área, contribuindo para a aquisição de conhecimento, o que abrange diversos benefícios, como a diminuição de riscos à saúde de pacientes. No entanto, conforme mencionado, a construção de aplicações desta natureza não é uma tarefa trivial, apresentando diversos problemas, como os encontrados no desenvolvimento do OMITTED FOR BLIND REVIEW, objetos de análise deste artigo. Os problemas podem ser classificados como solucionados, parcialmente solucionados e ainda não resolvidos. Os solucionados envolvem a diversidade de linguagens de programação (Java e C++), resolvido com a implementação da integração citada; a estruturação e a modelagem da mão virtual para resolver o problema da limitação da luva de dados, permitindo alcançar um realismo mais elevado e a construção mais elaborada de um modelo que represente o órgão humano. Dentre os parcialmente resolvidos, pode-se citar: o aumento da facilidade de uso da aplicação, realizando o procedimento de biópsia em fases separadas, utilizando um dispositivo de cada vez, sendo que o ideal seria a adoção de um detector de posição para identificar os movimentos de translação da luva de dados e permitir a execução da tarefa com a mão virtual e o instrumento médico simultaneamente; o refinamento da correlação espacial, que gerou uma ligeira melhora para o treinamento. E, finalmente, os problemas não solucionados até o momento, sendo que alguns foram levantados pelo professor e pelos estudantes, a citar: visualização dos objetos virtuais e percepção espacial, utilizando texturas próximas da realidade e pontos de vista diferentes do AV; percepção espacial com o emprego de objeto físico, confeccionado com material de borracha, por exemplo, a ser acoplado no dispositivo háptico; retorno de força contínuo após a detecção de colisão e a rotação incorreta do objeto virtual que representa o instrumento médico, sendo que ambos problemas acontecem casualmente; métodos mais precisos de colisão e deformação, bem como métodos mais completos para o retorno háptico, englobando tecidos diversos que constituem o órgão humano (camadas da pele), ângulos de inclinação do instrumento médico virtual durante a inserção e extração. O estudo dos problemas e soluções adotadas é uma questão importante para o aperfeiçoamento das aplicações. Além de fornecer subsídios para que as mesmas tornem-se mais realistas, pode contribuir para a diminuição de esforços na resolução de questões já solucionadas. 6. Referências [1] 5DT Fifth Dimension Technologies, disponível em: http://www.5dt.com/hardware.html, acessado em 06/03/2007. [2] OMITTED FOR BLIND REVIEW [3] OMITTED FOR BLIND REVIEW [4] OMITTED FOR BLIND REVIEW [5] J. Bosch, M. Mattsson, “Framework problems and Experiences”, FAYAD, M. J., JOHNSON, R., SCHMIDT, D., Building Application Frameworks: Object-Oriented Foundations of Framework Design, New York: John Wiley and Sons, 1999, p. 55-82. [6] J. M. Burns et al. “The Virtual Haptic Back for Palpatory”, Proc. 6th International Conference on Multimodal. Interraction, State College, PA, USA, 2004, p. 191-197. [7] L. S. Machado et al., “SITEG – Sistema Interativo de Treinamento em Exame Ginecológico”, Proc. 8th SVR Symposium on Virtual. and Augumented Reality, Belém, PA, Brasil, CD-ROM, 2006. [8]SensAble Technologies, Disponível http://www.sensable.com, acessado em 06/03/2007. em: [9] Sun, “Java Native Interface Specification”, Disponível em: http://java.sun.com/j2se/1.4.2/docs/guide/jni/spec/jniTOC.ht ml, acessado em 15/03/2007.