ambiente de realidade virtual para treinamento de ... · nÚcleo de ciÊncias exatas e...

74
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO DIEGO ROBERTO DE SOUZA RODRIGO DARON WANG Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia Trabalho de Conclusão de Curso. Prof. Alessandro Brawerman Orientador CURITIBA, DEZEMBRO DE 2009.

Upload: phamtu

Post on 02-Dec-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

DIEGO ROBERTO DE SOUZA

RODRIGO DARON WANG

Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia

Trabalho de Conclusão de Curso. Prof. Alessandro Brawerman Orientador

CURITIBA, DEZEMBRO DE 2009.

Page 2: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

UNIVERSIDADE POSITIVO Reitor: Prof. Oriovisto Guimarães Vice-Reitor: Prof. José Pio Martins Pró-Reitor de Graduação: Prof. Renato Casagrande Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

Page 3: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

TERMO DE APROVAÇÃO

Diego Roberto de Souza

Rodrigo Daron Wang

Ambiente de Realidade Virtual para Treinamento de Videolaparoscopia

Monografia aprovada como requisito parcial à conclusão do curso Engenharia da Computação da Universidade Positivo, pela seguinte banca examinadora:

Prof. Alessandro Brawerman (Orientador) Prof. José Carlos da Cunha (Membro) Prof. Valfredo Pilla Jr. (Membro)

Curitiba, dezembro de 2009

Page 4: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

AGRADECIMENTOS

Agradecemos primeiramente nossos pais e familiares, por terem acreditado em nós e terem se sacrificado durante todos esses anos de graduação para que conseguíssemos chegar até o fim do curso.

Agradecemos também nossos amigos e colegas que muitas vezes foram importantes para ajudar nas horas difíceis, nas dúvidas e principalmente no companheirismo durante nossa jornada.

Por fim gostaríamos de agradecer todos os professores que foram de fundamental importância para nossa formação integral, tanto como eternos aprendizes quanto como futuros profissionais. Em especial agradecemos o professor Maurício Perretto por ter ajudado nas horas de dúvida e por ter cedido alguns componentes de difícil acesso para a realização do projeto. Agradecemos também o professor e médico James Skinovsky por nos ter cedido a oportunidade de presenciar uma cirurgia de videolaparoscopia para que assim pudéssemos compreender de uma maneira mais profunda a complexidade e a necessidade do desenvolvimento de um ambiente para treinamento desse tipo de cirurgia. E por último, mas não menos importante, agradecemos nosso orientador Alessandro Brawerman pela sugestão desse projeto e por todo apoio e oportunidades que nos proporcionou para que o trabalho de conclusão de curso fosse realizado da melhor maneira possível.

Page 5: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment
Page 6: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

SUMÁRIO

LISTA DE SIGLAS ..................................................................................................... 8 LISTA DE ABREVIATURAS .................................................................................... 9 LISTA DE FIGURAS ............................................................................................... 11 LISTA DE TABELAS ............................................................................................... 12 RESUMO ................................................................................................................... 13 ABSTRACT ............................................................................................................... 14 1 INTRODUÇÃO ................................................................................................. 15 2 FUNDAMENTAÇÃO TEÓRICA ..................................................................... 17 2.1 Laparoscopia ................................................................................................... 17 2.1.1 Intoducao a laparoscopia .......................................................................... 17 2.1.2 Vantagens ................................................................................................ 17 2.1.3 Treinamento ............................................................................................. 18 2.1.4 Comportamento baseado em habilidades .................................................. 18 2.1.5 Comportamento baseado em regras .......................................................... 19 2.1.6 Comportaento baseado em conhecimento ................................................. 19 2.1.7 Objetivo do treinamento, necessidades e modos ....................................... 20 2.1.8 Treinamento atual em laparoscopia .......................................................... 21 2.2 USB (Universal Serial Bus) ............................................................................. 23 2.2.1 Interface Fisica -Elétrica .......................................................................... 23 2.2.2 Interface Fisica - Mecânica ...................................................................... 24 2.2.3 Dispositivos USB ..................................................................................... 24 2.2.4 Host USB ................................................................................................. 24 2.3 HID (human Interface Device) ......................................................................... 25 2.3.1 História ................................................................................................... 25 2.3.2 Componentes do Protocolo HID ............................................................... 25 2.3.3 HID Descriptor ........................................................................................ 26 2.3.4 Report Descriptor ..................................................................................... 26 2.4 Microcontroladores .......................................................................................... 28 2.5 Potenciômentros .............................................................................................. 28 2.6 Realidade virtual .............................................................................................. 28 2.7 Linguagem C ................................................................................................... 30 3 TRABALHOS RELACIONADOS ................................................................... 32 4 ESPECIFICAÇÃO DO PROJETO .................................................................. 34 4.1 Descritivo do Hardware ................................................................................... 34 4.2 Descritivo do Software .................................................................................... 38 4.3 Integracao dos Sistemas ................................................................................... 40 4.4 Estudo de Viabilidade Técnico-Econômica ...................................................... 40 4.5 Planejamento e Desenvolvimento .................................................................... 45

Page 7: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

5 DESENVOLVIMENTO E IMPLEMENTAÇÃO ............................................ 45 5.1 Projeto de software .......................................................................................... 45 5.1.1 Diagrama de sequência ............................................................................ 45 5.1.2 Modelagem 3D e Carregamento dos Objetos ............................................ 46 5.1.3 Movimentacao e Física dos objetos .......................................................... 47 5.1.4 Comunicação com o joystick .................................................................... 48 5.2 Projeto de Hardware ....................................................................................... 48 5.2.1 Aquisição dos movimentos ...................................................................... 48 5.2.2 Unidade de processamento ....................................................................... 50 5.2.3 Protocolo de comunicação........................................................................ 51 5.3 Projeto da Mecânica ........................................................................................ 52 5.3.1 Desenvolvimento da Arquitetura .............................................................. 52 5.3.2 Montagem dos Componentes ................................................................... 53 6 VALIDAÇÃO E RESULTADOS ...................................................................... 55 6.1 Teste de Sotware.............................................................................................. 55 6.2 Teste de Hardware ........................................................................................... 56 6.3 Teste da Mecânica ........................................................................................... 57 6.4 Resultados ....................................................................................................... 58 7 CONCLUSÃO ................................................................................................... 59 REFERÊNCIAS ........................................................................................................ 60 ANEXO A <ARTIGO> ............................................................................................ 63 ANEXO B <MANUAL>........................................................................................... 68

Page 8: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

LISTA DE SIGLAS

µ – Micro

m – Mili

K – Kilo

M – Mega

G – Giga

Hz – Hertz

V - Volt

F - Faraday

b - Bit

B - Byte

s - Segundo

cm - Centímetro

Page 9: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

LISTA DE ABREVIATURAS

NCET – Núcleo de Ciências Exatas e Tecnológicas

UP – Universidade Positivo

USB – Universal Serial Bus

PC – Personal Computer

ROM – Read Only Memory

RAM – Random Access Memory

CPU – Central Process Unit

PIC – Peripheral Interface Controller

DIP – Dual In-Line Package

TV – Televisão

HID – Human Interface Device

3D – Três dimensões

VR – Virtual Reality

CO2 – Dióxido de Carbono

FAA – Federal Aviation Administration

FFS - Full Flight Simulator

FLS - Full-scale Laparoscopy Simulator

VBus - Alimentação do barramento

GND - Ground

I/O - Input/Output

DIN - Conector DIN

PS/2 - Conector PS/2

PDA - Personal digital assistant

LED - Light-emitting diode

VRMSS - Virtual-Reality Motor-Skills Simulator

A/D - Analógico para Digital

IDE - Integrated development environment

Page 10: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

SED - Script Editor

MED - Model Editor

WED - Scenery Editor

VCC - Common-collector voltage

Page 11: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

LISTA DE FIGURAS

Figura 2.1: Exercícios em modelos pélvicos para aumentar a habilidade ...................... 19 Figura 2.2: Um modelo de simulador que possui o recurso de aumento gradativo da dificuldade .................................................................................................................. 20 Figura 2.3: Protótipo de realidade virtual de um modelo pélvico ................................. 21 Figura 2.4: Treinamento em realidade virtual com circuitos programáveis e software de controle ....................................................................................................................... 22 Figura 2.5: Cabo USB ................................................................................................. 24 Figura 2.6: Exemplo de um descriptor de HID para comunicação de um teclado ......... 27 Figura 2.7: Aspectos e símbolos de um potenciômetro ................................................ 29 Figura 2.8: Foto de um simulador de vôo..................................................................... 30 Figura 4.1: Visão geral do projeto ............................................................................... 34 Figura 4.2: Representação em blocos da parte de hardware do projeto ......................... 35 Figura 4.3: Portas com conversores A/D do microcontrolador ..................................... 36 Figura 4.4: Circuito do projeto .................................................................................... 37 Figura 4.5: Fluxograma do Firmware .......................................................................... 37 Figura 4.6: Fluxograma do software de gráfico 3D ...................................................... 38 Figura 4.7: Diagrama da parte de software .................................................................. 39 Figura 4.8: Gráfico de Gantt representando as etapas de especificação ........................ 42 Figura 4.9: Gráfico de Gantt representando as etapas de pesquisa, projeto e desenvolvimento ......................................................................................................... 43 Figura 4.10: Gráfico de Gantt representando as etapas de testes e de documentação .... 44 Figura 5.1: Diagrama de sequência .............................................................................. 45 Figura 5.2: Código para criação de entidade e definição dos parâmetros de física. ....... 47 Figura 5.3: Amostra dos objetos e cenário do Software 3D .......................................... 47 Figura 5.4: Divisor de tensão ....................................................................................... 49 Figura 5.5: Linha de código para definir como 8 bits a resolução do conversor A/D interno ....................................................................................................................... 49 Figura 5.6: Código para obtenção do sinal de entrada convertido para base decimal .... 49 Figura 5.7: Código do firmware para a montagem do vetor contendo os dados referentes aos movimentos realizados pelo usuário ...................................................................... 50 Figura 5.8: Código de envio do pacote contendo um vetor de números inteiros de cinco posições referentes aos movimentos ............................................................................ 51 Figura 5.9: Protocolo de comunicação USB ................................................................ 51 Figura 5.10: Arranjo de dois potenciômetros ............................................................... 52 Figura 5.11: Mostra o principio da dobradiça e o principio de rolagem ....................... 53 Figura 5.12: Montagem do movimento de rotação e abertura da pinça ......................... 53 Figura 5.13: Pinça desmontada com todas as suas peças .............................................. 54 Figura 6.1: Teste de reconhecimento do dispositivo pelo sistema operacional .............. 56 Figura 6.2: Programa de reconhecimento de joysticks ................................................. 57

Page 12: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

LISTA DE TABELAS

Tabela 4.1: Estimativa de custos .................................................................................. 41 Tabela 6.1: Teste de desempenho ................................................................................ 56

Page 13: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

RESUMO

Este projeto apresenta um ambiente de realidade virtual para treinamento médico em videolaparoscopia. A videolaparoscopia é um tipo de cirurgia muito utilizada atualmente por ser minimamente invasiva, diminuindo o número de incisões e proporcionando uma rápida recuperação do paciente. Neste tipo de cirurgia, o médico não olha diretamente para o paciente, mas sim para um monitor (TV) ligado a uma câmera que está inserida no paciente. Com isso, surge um problema, já que a imagem no monitor é em apenas duas dimensões, portanto uma pessoa não treinada perde a noção de profundidade. Como a operação é feita por pinças e outros instrumentos cirúrgicos, de acordo com a necessidade, o projeto tem como objetivo a construção de dois joysticks em forma de pinça e um ambiente de realidade virtual para o treinamento do aspecto da profundidade. O hardware possui um microcontrolador que a partir de potenciômetros converte os movimentos do joystick em sinais interpretados pelo computador. O software deve interpretar os sinais que vem do joystick em imagens dos instrumentos cirúrgicos na tela de forma a emular desafios da cirurgia. O projeto não tem a intenção de recriar toda uma cirurgia em sua forma anatômica e sim apenas desafios que levem o estudante a treinar sua noção de profundidade. O hardware usa conexão USB e protocolo HID (Human Interface Device) como um joystick comercial, sendo sua diferença principalmente na mecânica. A parte gráfica foi feita de forma simples, utilizando-se poucos objetos e a interface de desenvolvimento gratuita Lite-C, que é usada para desenvolvimento de jogos 3D.

Palavras-chave: Videolaparoscopia, Simulação, Realidade Virtual, Ambiente,

gráficos 3D.

Page 14: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

A VIRTUAL REALITY LAPAROSCOPY ENVIRONMENT

ABSTRACT This project describes a virtual reality environment for medic training in

laparoscopic surgery. Laparoscopy is a kind of surgery that has been used in a large proportion nowadays, mainly because it is minimally invasive, reducing the number of incisions and providing the patient a rapid recovery. In this kind of surgery, the physician does not look directly into the patient, but to a monitor (TV) connected to a camera inside the patient. Thus, a problem arises, since the monitor image is represented with only two dimensions; therefore an untrained person loses the depth sense. As the surgery is done with tweezers and others surgical instruments, according to the need, the project’s goal is to build two tweezers joysticks and a virtual reality environment to train the depth sense. The device has a microcontroller, and using potentiometers translate the user’s movements from the device to signals interpreted by the computer. The software must translate the signals, from the joystick, into an image of the surgical instruments in the screen to perform certain surgery challenges. The project does not have the intention to recreate a complete and real anatomic scenario but to create challenges and interactions so the resident is able to train his/her depth sense. The device uses the USB port along with the HID (Human Interface Device) protocol like a commercial Generic Joystick, the difference lies in its mechanics. The graphics were built using few objects with the Lite-C software that is a freeware IDE to 3D game development.

Keywords: Laparoscopy, Simulation, Virtual Reality, Environment, 3D graphics.

Page 15: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

15

CAPÍTULO 1 – INTRODUÇÃO

O projeto em questão tem como objetivo treinar estudantes de medicina para a cirurgia de videolaparoscopia. Essa é uma técnica de cirurgia minimamente invasiva que utiliza uma câmera e dois ou mais instrumentos médicos em pequenas incisões. Como toda a cirurgia é feita através de um monitor, a imagem é mostrada em duas dimensões, e que para uma pessoa não treinada pode gerar problemas quanto à noção de profundidade. Sem esta habilidade, o risco de erro em uma cirurgia cresce substancialmente uma vez que essa técnica preza a precisão do cirurgião.

Atualmente o uso de simulações usando realidade virtual é utilizado em diversas aplicações como, por exemplo, o treinamento de pilotos de aviões. Esse tipo de treinamento consiste em recriar um ambiente que desafie o usuário a entender e exercitar conceitos necessários no seu aprendizado de acordo com a aplicação. A realidade virtual consiste em hardwares e softwares que possam criar tal ambiente.

Para o treinamento do cirurgião, no problema da noção de profundidade, existem vários métodos como a utilização de animais, como porcos, ou em cadáveres, porém a maioria desses métodos tem um custo alto. A idéia de simulação usando realidade virtual vem a suprir esse problema, uma vez que com o hardware e um computador pode-se treinar em qualquer lugar e quantas vezes forem necessárias, sendo que cirurgias em animais requerem lugares específicos e há uma quantidade limitada de tempo de utilização dos animais.

O projeto é dividido em três partes o hardware, a mecânica e o software. O hardware é basicamente o circuito de um joystick com cinco eixos necessário para a movimentação dos instrumentos cirúrgicos. A mecânica tenta conciliar o hardware com o movimento real, basicamente recriando a parte física do sistema. Por último, existe o software gráfico em três dimensões que tenta recriar a parte interna da cirurgia ou a imagem gerada pela câmera. Aqui é bom lembrar que o gráfico em três dimensões é de forma emulada e a imagem no monitor continua em duas dimensões como é a maioria dos jogos 3D de vídeo games modernos.

No final têm-se dois joysticks, que são a junção entre o hardware e a mecânica, que são necessários para uma interação fiel com o mundo virtual, pois como foi falado anteriormente, existe numa cirurgia mais de um instrumento cirúrgico. Ambos os joysticks são ligados no computador via porta USB, que é largamente utilizada para periféricos, e utiliza o protocolo HID, Human Interface Device, que possibilita a sua conexão direta com o sistema operacional sem a necessidade de instalação de softwares adicionais.

A ênfase do projeto é treinar a idéia de profundidade citada anteriormente e não recriar a cirurgia de forma anatômica, a qual pode ser implantada futuramente uma vez que o hardware seja compatível, portanto os exercícios do software recriam situações

Page 16: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

16

não reais, mas que desafiam o usuário a melhorar a sua noção de profundidade. O modelo de treinamento proposto consiste em interagir com objetos na tela que estão posicionados em graus de profundidade diferente utilizando as duas pinças do projeto.

O restante desta monografia está dividida da seguinte forma: o Capítulo 2 apresenta noções importantes para a compreensão do projeto descrito nesta monografia, o Capítulo 3 apresenta alguns trabalhos relacionados utilizados como inspiração e base de pesquisa para a execução do projeto, o Capítulo 4 apresenta a especificação do projeto descrevendo as ferramentas utilizadas para o desenvolvimento tanto do hardware quanto do software, o Capítulo 5 apresenta a parte de desenvolvimento e implementação do projeto explicando passo a passo da execução do mesmo, o Capítulo 6 apresenta a validação e resultados do projeto com o objetivo de mostrar sua funcionalidade assim como desempenho e o Capítulo 7 apresenta a conclusão sobre o projeto, descrevendo o que foi obtido com esse trabalho, dificuldades e possíveis melhorias a serem implementadas.

Page 17: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

17

CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA

Neste capítulo é apresentada a teoria necessária para o entendimento do projeto. São abordadas todas as áreas, desde a parte médica até a parte de engenharia.

2.1 Videolaparoscopia

Esta técnica cirúrgica é a base do projeto, sendo o seu entendimento é fundamental para prosseguir no estudo do problema.

2.1.1 Introdução à videolaparoscopia

A videolaparoscopia é uma técnica cirúrgica minimamente invasiva, ou seja, na qual são utilizadas apenas pequenas incisões entre 0,5 e 1,0 cm para observar o interior da cavidade abdominal e os órgãos aí presentes, através de lentes potentes, microcâmeras e monitores de vídeo (TV). Também através destes pequenos portais, podem ser utilizados instrumentos especiais sem introduzir as mãos na cavidade, manuseados do exterior, como pequenas pinças, tesouras, bisturis elétricos, clamps metálicos e pontos internos, todos vistos numa tela de vídeo de alta resolução, com imagens precisas e aumentadas até 20 vezes, evidenciando estruturas anatômicas e lesões, dificilmente vistas a olho nu e que são manuseadas mais delicadamente por esta técnica (Branco e Zulli, 2008).

Para enxergar a cavidade abdominal, onde todos os órgãos estão juntos, é preciso distender (inflar) a parede abdominal por meio de gases e assim criar espaço interno para separá-los. O gás mais utilizado é o CO2 (dióxido de carbono), um gás inerte e pouco absorvido pelo nosso corpo. A introdução do gás proporciona um amplo espaço para este tipo de cirurgia. Tal precisão é benéfica ao paciente em termos de procedimentos mais eficientes e menos sangrentos, com pós-operatórios mais tranquilos, menor estadia hospitalar, melhor resultado estético pelas menores incisões e menos complicações das incisões grandes, como as hérnias, quelóides (cicatrizes viciosas), infecções, etc. (Branco e Zulli, 2008).

2.1.2 Vantagens

As vantagens deste procedimento em relação à cirurgia convencional, entre outros, reside no fato de ser esta técnica mais estética, ter menos dor no pós-operatório, possibilitar alta hospitalar mais precoce com o retorno também mais rápido às atividades do dia a dia, menor índice de infecção, custo, etc (UOL, 2000).

A videolaparoscopia é um grande avanço para a medicina também quando se fala em infertilidade, pois devido a esta técnica pode-se aperfeiçoar e melhorar a qualidade do exame e realizar microcirurgias as quais devolveram, e outras tantas vezes,

Page 18: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

18

possibilitaram a muitas mulheres tornarem-se mães novamente ou pela primeira vez. Mesmo sendo a videolaparoscopia uma área que desenvolveu instrumentais sofisticados, seguros, precisos, nada substitui a mão treinada do médico que sempre vai estar por trás, operando tais instrumentais e equipamentos, quem faz a cirurgia ainda é o cirurgião e não os aparelhos (UOL, 2000).

2.1.3 Treinamento

A popularidade das técnicas de videolaparoscopia criou um novo domínio no treinamento cirúrgico, desviando um pouco do modelo de aprendizagem, em direção de programas estruturados de ensino de novas habilidades práticas. Cursos práticos proporcionam a jovens cirurgiões praticar técnicas em sintéticos, suínos ou em modelos de realidade virtual. O objetivo mais recente da formação laparoscópica tem sido garantir que o aprendiz tenha habilidades básicas de laparoscopia, tais como coordenação mão-olho e percepção de profundidade antes de entrar numa sala de operação.

Comparada à aviação, onde o treinamento de realidade virtual (VR) foi padronizado e os simuladores mostraram seus benefícios definitivos na melhora de habilidades, os objetivos, as necessidades e meios de treinamento de VR em cirurgias minimamente invasivas foram estabelecidos, como pode ser visualizado na Figura 2.1.

Para que um cirurgião tenha habilidade suficiente para executar uma cirurgia laparoscópica com sucesso ele tem que ter o conhecimento dos três níveis de comportamento humano, que são respectivamente: comportamento baseado em habilidades, comportamento baseado em regras e comportamento baseado em conhecimentos. Esses são fundamentais que sejam obtidos através de treinamentos com simuladores de VR e com experiências reais (Mishra, 2006).

2.1.4 Comportamento baseado em habilidades

Esse representa os comportamentos do cirurgião que se manifestam sem controle consciente. A execução de tarefas é altamente automatizada neste nível de comportamento e é baseada na seleção rápida de atividades motoras que controlam certos músculos. As atividades motoras são baseadas em uma representação precisa de determinada tarefa, da dinâmica do sistema e do ambiente em questão (aprendido por treinamento e experiência). Um exemplo de uma habilidade do dia a dia é andar. Muitos procedimentos em uma cirurgia podem ser considerados como uma sequência de ações de habilidades. Por exemplo, um cirurgião com experiência executa uma ação de sutura com suavidade, sem controle consciente sobre seus movimentos (Mishra, 2006).

Page 19: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

19

Figura 2.1 - Exercícios em modelos pélvicos para aumentar a habilidade.

Adaptada de: http://www.laparoscopyhospital.com/laparoscopy.htm

2.1.5 Comportamento baseado em regras

Neste nível de comportamento humano, o comportamento baseado em regras é aplicado. Durante o comportamento baseado em regras a execução de ações é controlada por procedimentos ou regras memorizadas. Esses podem ter sido derivados empiricamente de ocasiões anteriores, reportadas da perícia de outras pessoas ou como uma receita de bolo. Regras apropriadas são selecionadas de acordo com seu “sucesso” em experiências anteriores. Por exemplo, etapas processuais e reconhecimento de anatomia e patologia em cirurgias minimamente invasivas exigem o comportamento baseado em regras. Parar seu carro em um semáforo com a luz vermelha é um bom exemplo de indicação (luz vermelha) que ativa uma regra memorizada (parar o carro). Na colecistectomia laparoscópica, ter estabelecido por inteiro a visão crítica de segurança é a indicação que ativa a regra de quais estruturas apropriadas podem ser grampeadas na sequência (Mishra, 2006).

2.1.6 Comportamento baseado em conhecimento

Em situações não familiares, quando é deparado com uma tarefa que não há nenhuma regra disponível de experiências anteriores, o comportamento humano é baseado em conhecimento. Durante o comportamento baseado em conhecimento o objetivo é explicitamente formulado, baseando em uma análise do objetivo geral. Planos diferentes são criados, e seus efeitos são testados mentalmente. Finalmente, um plano é escolhido. Sérias complicações que ocasionalmente ocorrem durante uma cirurgia

Page 20: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

20

exigem o forte uso do comportamento baseado em conhecimento do cirurgião. Essa pessoa tem que analisar a complicação e o objetivo do procedimento cirúrgico com o objetivo de criar estratégias para contornar a complicação. Então, tem que ser selecionada a melhor estratégia e consequentemente executar as ações apropriadas (Mishra, 2006).

2.1.7 Objetivo do treinamento, necessidades e modos

O objetivo representa o nível de competência que é esperado do aprendiz depois que ele completou integralmente o treinamento. As necessidades do treinamento são a diferença entre o nível inicial de competência dos aprendizes e o nível necessário de competência depois de ter completado com sucesso o treinamento definido. Ultimamente, a demanda de eficácia e eficiência em uma mão e o estado de arte na tecnologia na outra mão, determinam as ferramentas e métodos para o treinamento, isto é, os modos de treinamento. O treinamento eficaz garante que todos os objetivos do treinamento sejam cumpridos. O treinamento eficiente garante que os modos de treinamento tenham um bom custo/benefício e que o tempo necessário para o treinamento seja minimizado (Mishra, 2006). . Desde que segurança e a recuperação do paciente são os critérios mais importantes na cirurgia, a eficiência do treinamento deve ser de importância primordial, por isso a complexidade do treinamento deve ser gradativamente aumentada no simulador, um outro modelo pode ser visto na Figura 2.2.

Figura 2.2 - Um modelo de simulador que possui o recurso de aumento gradativo da dificuldade

Adaptada de: http://www.laparoscopyhospital.com/laparoscopy.htm

A complexidade e os custos dos modos de treinamento são determinados conforme os objetivos do treino são definidos. Cumprir todas as necessidades do treinamento dos

Page 21: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

21

residentes de videolaparoscopia com apenas um método de treinamento irá exigir um professor com conhecimento avançado em todos os três níveis de comportamento, isso provavelmente acarreta no alto preço de contrato desse profissional (Mishra, 2006).

A complexidade e o custo dos modos de treinamento é relativamente baixo se os objetivos dos treinos são direcionados somente ao comportamento baseado em habilidade, já que este pode ser treinado com simples modelos pélvicos, similar ao da Figura 2.3. Evidentemente, o custo e a complexidade do modo de treinamento aumentam conforme os objetivos passam do comportamento baseado em habilidade para o treinamento baseado em conhecimento. Felizmente, a efetividade geral do treinamento aumenta conforme os níveis de comportamento mais avançados, como o comportamento baseado em conhecimento, são adicionados nos objetivos dos treinos (Mishra, 2006).

Figura 2.3 - Protótipo de realidade virtual de um modelo pélvico.

Adaptada de: http://www.laparoscopyhospital.com/laparoscopy.htm

2.1.8 Treinamento atual em laparoscopia

Ao contrário do treinamento com simuladores de cirurgia, as exigências dos simuladores de vôo foram definidas por autoridades regulamentadores como a Administração Federal de Aviação dos Estados Unidos (FAA) e os modos de treinamento são certificados de acordo com a mesma. Os objetivos, necessidades e modos do treinamento de pilotos têm sido analisados a fundo e os modelos comportamentais de treinamento de pilotos têm sido desenvolvidos como uma ferramenta para projetar, avaliar e aperfeiçoar esses métodos. Meio século de extensiva pesquisa resultou em diversas ferramentas de treinamento, desde a prática de exercícios em dispositivos de simulação de vôo até o completo simulador de vôo de alta tecnologia (FFS - Full Flight Simulator).

Devem ser definidos os objetivos, necessidades e modos do treinamento de laparoscopia, com o objetivo de um treino adequado para a segurança dos pacientes. De acordo com essa diretriz, os simuladores de realidade virtual devem ser desenvolvidos,

Page 22: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

22

a Figura 2.4 representa um ambiente de treinamento que foi desenvolvido de acordo com essa diretriz. Uma formulação explícita dos objetivos do treinamento facilita o desenvolvimento e certificação de um simulador já que determina o que o simulador deveria ser capaz de desempenhar. Por exemplo, pilotos passam diversas horas treinando em simuladores de baixo custo.

Figura 2.4 - Treinamento em realidade virtual com circuitos programáveis e software de controle.

Adaptada de: http://www.laparoscopyhospital.com/laparoscopy.htm

Os simuladores de videolaparoscopia que tem sido desenvolvido durante a década passada podem todos ser considerados como dispositivos de treinamento de videolaparoscopia. A maioria desses simuladores especificamente tem como objetivo o treinamento de comportamento baseado em habilidade, tais como manipulação endoscópica e navegação de câmera endoscópica. Contudo, desempenhar uma cirurgia de videolaparoscopia exige um nível avançado de conhecimento baseado em regra e conhecimento do cirurgião. Idealmente, esses devem também ser treinados fora do “teatro de operação”. Atualmente, o treinamento de comportamento baseado em regras e conhecimento fora do teatro de operação é somente possível em modelos de animais vivos. Contudo, inovações tecnológicas como o aumento do poder computacional, modelos anatômicos detalhados, modelagem de tecido mole e force feedback, proporcionam a integração de todos os níveis de comportamento em um treinamento com simulador de realidade virtual de videolaparoscopia. No futuro, isso pode resultar

Page 23: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

23

em um completo simulador de laparoscopia (FLS - full-scale laparoscopy simulator), comparado ao FFS no treinamento de pilotos.

Uma das mais óbvias necessidades dos residentes de videolaparoscopia é o treinamento de habilidades manuais. As habilidades manuais exigidas durante a videolaparoscopia são diferentes das exigidas em cirurgias convencionais. Treinamento de comportamento baseado em habilidade é viável com simuladores básicos como um modelo pélvico. Os simuladores de habilidades básicas em realidade virtual que estão disponíveis, geralmente são compostos por um abdômen genérico, instrumentos endoscópicos e um monitor. Ações básicas, tais como pegar e soltar são implementadas para treinar a manipulação endoscópica. O treinamento de comportamento baseado em habilidades não exige um ambiente anatômico muito realístico, por exemplo, os órgãos não precisam ser simulados realisticamente. Diversos estudos comprovaram que o treinamento com realidade virtual facilitou o aprendizado de conhecimento baseado em habilidade (Mishra, 2006).

2.2 USB (Universal Serial Bus)

Usando como base o documento da especificação da USB 2.0 pode-se afirmar que esse tipo de comunicação tem como principais objetivos:

• Facilidade da expansão de periféricos de PC • Soluções de baixo custo com uma velocidade de até 480 Mb/s • Suporte completo de dados de voz, áudio e vídeo em tempo real • Flexibilidade do protocolo para transferência de dados isócronos e mensagens

assíncronas • Compreensão de várias configurações e fabricantes de PC • Fornecimento de uma interface padrão capaz de difusão rápida em produtos

proporcionando novas classes de dispositivos que ampliam a capacidade de um PC

• Compatibilidade total com dispositivos USB 2.0 implementados em versões anteriores da especificação.

2.2.1 Interface Física – Elétrica

A USB transfere os dados e a tensão em um cabo de quatro fios, como mostra a Figura 2.5. A transferência de dados ocorre em dois fios em cada segmento ponto a ponto.

Existem três taxas de dados:

• A USB high-speed tem a taxa de 480 Mb/s. • A USB full-speed tem a taxa de 12 Mb/s. • E uma taxa low-speed é definida em 1.5 Mb/s.

Os controladores e hubs da USB 2.0 fornecem recursos para que dados em low-

speed e full-speed possam ser transmitidos na taxa do modo high-speed entre o controlador do host e o hub, mas também permite que possa ser transmitido entre o hub

Page 24: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

24

e o dispositivo nas taxas low-speed e full-speed. Esse recurso minimiza o impacto que os dispositivos que usam low-speed e full-speed têm sobre a largura de banda encontrada nos dispositivos com taxas high-speed.

Figura 2.5 – Cabo USB

Adaptada de: UBS 2.0 Specification

O cabo contém fios VBus e GND em cada seguimento para prover alimentação aos dispositivos. VBus é nominalmente +5V na origem.

2.2.2 Interface Física – Mecânica

Todos os dispositivos têm uma conexão upstream. Conectores A (upstream) e B (downstream) não são permutáveis, assim são eliminadas as conexões recursivas em hubs. O cabo tem quatro condutores, um par trançado para o fluxo de dados e um par responsável pela alimentação. O conector tem quatro posições, com encapsulamento isolador, robustez e características para fácil conexão e desconexão.

2.2.3 Dispositivos USB

Os dispositivos USB são divididos em classes tais como hubs, interface humana, impressoras, imagem e dispositivos de armazenamento. É exigido que os dispositivos USB tenham informações de auto-identificação e configurações genéricas.

2.2.4 Host USB

No projeto aqui sendo descrito foi feito o projeto de um dispositivo USB, esse é ligado a um computador com o software de VR para que seja feita a interação do mundo real com a realidade virtual, o computador o qual esse dispositivo USB estiver conectado estará fazendo o papel de Host.

O host USB interage com o dispositivo USB através do Host Controller. O host é responsável por:

• Detectar a ligação e remoção de um dispositivo USB • Gerenciar o controle de fluxo entre o host e o dispositivo USB • Gerenciar o fluxo de dados entre o host e o dispositivo USB • Coletar o status e estatísticas das atividades • Prover alimentação aos dispositivos USB conectados Existem cinco áreas de interações entre o USB System Software e o software do

dispositivo: • Enumeração e configuração do dispositivo

Page 25: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

25

• Transferência de dados isócrona • Transferência de dados assíncrona • Gerência de alimentação • Informação da gerência de barramento e do dispositivo

2.3 HID (Human Interface Device)

O protocolo HID foi utilizado no projeto para a comunicação do joystick com o sistema operacional. É este protocolo que permite a conexão automática do joystick com o computador, sem a necessidade de instalação de softwares adicionais.

2.3.1 História

As motivações primárias para o HID eram as de proporcionar a inovação aos dispositivos de entrada de um computador simplificando o processo de instalação desses dispositivos. A prioridade do HID é fazer com que o protocolo de comunicação dos dispositivos (como mouse, teclados e controladores de jogos) fique muito bem definido. O protocolo de comunicação padrão do mouse suporta dados dos eixos relativos X e Y e entradas binárias de até dois botões. Qualquer inovação que seja feita em um hardware que irá sobrecarregar o número de dados do protocolo padrão requer que seja criado um novo protocolo. Um simples driver HID transfere o dado e permite a associação dinâmica de dados de I/O com alta funcionalidade. Isso permite a rápida inovação e proliferação de novos dispositivos de interface humana (HID, 2001).

A maioria dos sistemas operacionais reconhecerá dispositivos HID USB padrões, tais como teclados e mouses sem a necessidade de um driver especial. Quando instalado, a mensagem informando “Novo dispositivo de interface humana foi detectado”, geralmente aparece no monitor. Em comparação, essa mensagem usualmente não aparece para dispositivos conectados por conectores DIN PS/2 de 6-pinos o qual é o predecessor da USB. O PS/2 não tem suporte a plug-and-play, o que significa que ao conectar um mouse ou teclado PS/2 com o computador ligado nem sempre irá funcionar. Além disso, o PS/2 não suporta o protocolo HID. Um HID USB é descrito pela classe de dispositivos de interface humana USB (HID, 2001).

2.3.2 Componentes do protocolo HID

No protocolo HID, existem duas entidades o “host” e o “device”. A entidade device é a entidade que interage diretamente com o usuário, tal como mouse e teclado. O host comunica com o dispositivo (device) e recebe os dados de entrada do dispositivo conforme as ações são feitas pelo usuário. Os dados de saída vão do host para o dispositivo e então para o usuário. O exemplo mais comum de um host é um computador, mas alguns celulares e PDAs também podem ser hosts (HID, 2001)

O protocolo HID faz com que a implementação de dispositivos se torne muito simples. Dispositivos definem seus pacotes de dados e então apresentam um “HID descriptor” ao host. O HID descriptor são códigos de array de bytes que descrevem os pacotes de dados do dispositivo. Isso inclui: quantos pacotes o dispositivo suporta, quão grande são esses pacotes e a função de cada byte e bit contido no pacote. Por exemplo, um teclado com um botão de programa de calculadora pode comunicar ao host que o estado dos botões pressionados/soltos é armazenado no segundo bit no sexto byte no

Page 26: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

26

pacote de dado número 4. O dispositivo normalmente armazena o HID descriptor na ROM a qual não necessita entender intrinsecamente ou analisar o HID descriptor. Alguns mouses e teclados hoje vendidos são implementados usando uma CPU de somente 8 bits (HID, 2001).

2.3.3 HID Descriptor

A classe HID consiste primeiramente em dispositivos que as pessoas usam para controlar certas operações no sistema dos computadores. Por exemplo:

• Teclados e dispositivos de posição: mouse, trackballs e controladores de jogos.

• Painel de controle frontal: chaves, botões e reguladores.

• Controles que podem ser encontrados em dispositivos tais como telefones, controles remotos, jogos ou dispositivos de simulação: luvas de realidade virtual, aceleradores, volantes e pedais.

• Dispositivos que podem não necessitar de interação com o usuário, mas fornecem dados de maneira similar dos dispositivos de classe HID: leitores de código de barras, termômetros e voltímetros.

Muitos dispositivos de classe HID incluem indicadores, displays especializados, resposta de áudio, resposta à força e a toque. Portanto, a definição da classe HID inclui suporte a vários tipos de dispositivos de entrada e saída voltadas para o usuário (Hyde, 1999).

As quatro primeiras entradas de um HID descriptor têm valores padrões: 9, 21h, 100h e 0. Se o dispositivo HID opera somente em um país, então o CountryCode deve ser definido de acordo. Um teclado pode ser um bom exemplo de um dispositivo de E/S específico de um país. A quinta entrada, HIDDescriptors, contém a contagem do numero de classes HID que o dispositivo contém. Um único dispositivo de E/S pode ter diversas interfaces HID. A sexta entrada é fixada em x22h indicando que essa interface contém um Report Descriptor, e a sétima entrada contém o TotalLengh (tamanho total) desse report descriptor (Hyde, 1999).

2.3.4 Report Descriptor

Os objetivos primários e fundamentais do Report Descriptor são:

• Ser o mais compacto possível para economizar o espaço de dados do dispositivo.

• Permitir que a aplicação de software ignore informações desconhecidas.

• Seja atualizável e robusto.

• Seja auto-descritiva a ponto de permitir aplicações genéricas de softwares.

Um tipo de pseudocódigo que tem sido gerado é capaz de descrever genericamente qualquer estilo e quantidade de dados. O código foi escolhido por ser muito compacto e fazer com que seja fácil para o host PC analisar e o gerar. Como resultado, é um pouco difícil a leitura, como mostra a Figura 2.6 do descriptor de um teclado. Esse report gera um buffer de 3 bytes que é enviado para o teclado para iluminar os LEDs de estado do teclado, o report recebe um buffer de 6 bytes que pode conter até seis estados de teclas pressionadas (Hyde, 1999).

Page 27: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

27

Figura 2.6 - Exemplo de um descriptor de HID para comunicação de um teclado

Adaptado de Hyde

Page 28: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

28

2.4 Microcontroladores

No projeto um microcontrolador PIC é utilizado para traduzir os movimentos dos potenciômetros, gerenciar a conexão USB e então enviar os dados para o computador e ao sistema operacional.

Criado em 1971, quando a Intel lançou no mercado o microprocessador 4004, que era conhecido como a “calculadora em um único chip”, sendo o primeiro processador de uso geral. Possuía em torno de 3.000 transistores e a partir dele surgiram modelos mais modernos até chegar aos computadores pessoais e supercomputadores (USP, 2008).

Um microprocessador é um circuito integrado capaz de executar instruções pela Unidade Central de Processamento que é a sua parte mais importante. Com tecnologias na área da microeletrônica várias outras características vêm sendo incorporadas como unidades de gerenciamento de memória, memória cachê, co-processador numérico, etc., tornando-os cada vez mais complexos (USP, 2008).

Um microcontrolador é um microprocessador que enfatiza a alta integração, ou seja, eles são utilizados em dispositivos para controlar as funções ou ações do produto.

Dentro do universo dos microcontroladores existe a série 8-bit PIC da Microchip o qual possui uma arquitetura poderosa, uma tecnologia flexível de memórias, ferramentas de fácil compreensão e uso, e um ambiente unificado de desenvolvimento para toda a sua linha de produtos (USP, 2008).

A maioria dos microcontroladores PIC são de baixo consumo e possuem vários recursos como portas I/O , entradas analógicas e interfaces de comunicação como a USB. Possuem memória de programação tipo Flash podendo ter sua programação modificada sempre que necessária (USP, 2008).

Para gravação da memória é necessário um gravador de PIC como o Labtools ICD2, e programas de desenvolvimento e gravação cedidos pela Microchip como o Mplab. O tempo de gravação é relativamente rápido e nos PICs que usam memória flash podem ser facilmente apagados e regravados proporcionando ao programador a opção de fazer inúmeros testes.

2.5 Potenciômetro

No projeto potenciômetros são utilizados como transdutores para captar os movimentos dos cinco eixos do joystick.

Alguns materiais oferecem resistência à passagem de corrente elétrica, isto depende da natureza, das dimensões de da temperatura do material. Essa resistência é a oposição que os átomos do material oferecem á passagem da corrente elétrica (Lourenço et al, 2001).

A partir de diversas experiências o cientista George Ohm conseguiu relacionar as seguintes grandezas: Tensão, corrente, resistência e dimensões. Desta forma ele chegou as suas duas leis de Ohms, para o entendimento apenas a primeira é necessária.

A primeira lei mostra que a corrente e a resistência são diretamente proporcionais a tensão, ou seja:

� � � � �

Page 29: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

29

Onde: V = Tensão sobre dois pontos do material

R = Resistência sobre o material

I = Corrente sobre o material

Portanto se uma dessas grandezas for alterada, as outras deverão compensar a diferença.

O potenciômetro utiliza a lei de ohm para o seu funcionamento. Com um cursor móvel sobre um material resistivo, a resistência entre dois pontos é alterada, porém um potenciômetro normalmente possui três pontos gerando duas partes inversamente proporcionais de resistência. Na Figura 2.7 pode ser visualizada a imagem de um esquemático da parte interna de um potenciômetro. Quando se alimenta um potenciômetro com uma tensão de corrente contínua como mostrado no esquemático da Figura 5.4 tem-se uma saída de tensão variável de acordo com o movimento do potenciômetro.

Figura 2.7 – Aspectos e símbolos de um potenciômetro.

Adaptado de Lourenço

Existem potenciômetros de vários modelos e formas. No projeto foram utilizados modelos de haste giratória que são os mais comuns e de fácil acesso, porém não muito precisos em relação a potenciômetros de precisão, mais caros e de difícil acesso.

2.6 Realidade virtual

Realidade virtual pode ser confundida com jogos virtuais, porém ela está muito além disso já que realidade virtual é o uso de computadores e outros hardwares e softwares especiais para gerar uma simulação em um mundo alternativo (Eddings 1994).

A realidade virtual já é largamente utilizada em simulações para aprendizado, como simuladores para pilotagem de aviões, carros, e até zonas de guerras, como mostrado na Figura 2.8. É uma forma de colocar o ser humano em situações que o ajudarão a aprender e lidar com fatos reais, mas de forma segura e economicamente viável.

Page 30: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

30

Existem inúmeras outras aplicações para a realidade virtual, mas essa citada acima é necessária para o entendimento do projeto.

Figura 2.8 – Foto de um simulador de vôo.

Adaptada de: http://www.aerocondor.com

Como visto anteriormente, a idéia de realidade virtual esta relacionada tanto na parte de hardware como na parte de software.

Existem inúmeros tipos de hardware que podem ser criados para utilizar em sistemas de VR, porém todos devem utilizar ao menos um dos cinco sentidos humanos (tato, olfato, paladar, visão e audição). A maioria dos hardwares utiliza o tato, a visão e a audição que são representados por joysticks, monitores e alto-falantes respectivamente.

Os joysticks devem ser confeccionados de forma a trazer a realidade a usuário, ou seja, ele deve ser o mais fiel possível ao usuário, para que quando ele se encontre em uma situação real ele possa estar familiarizado. Por isso o joystick necessita ter formatos e movimentação iguais ao real como um manche de avião o qual é replicado nos simuladores.

A imagem gerada também deve ser construída de forma real ou gerar situações que sejam propensas ao treinamento, ou seja, que desafiem o usuário de forma a treinar a sua habilidade motora para que então possa avançar em níveis para a realidade.

Um dos grandes problemas da realidade virtual é na área de calibração e validação uma vez que a parte virtual nem sempre é mensurável ou possui mecanismos de comparação para que seja feito uma aproximação. Para isso devem ser feitos, dentro do possível, experimentos comparativos do real com o virtual de forma a melhorar o realismo.

2.7 Linguagem C

Criada em 1972 por Dennis Ritchie no AT&T Bell Labs para desenvolvimento do sistema operacional Unix (originalmente escrito em assembly). A linguagem C se tornou muito popular devido a sua versatilidade e poder. Sendo uma das grandes vantagens a sua característica de “alto nível” e “baixo nível” ao mesmo tempo

Page 31: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

31

permitindo um controle total da máquina, ao programador, tanto em hardware como de software (Cocian, 2004).

As linguagens de alto nível possuem a versatilidade de terem varias instruções próprias, porém com uma menor otimização do hardware, já as de baixo nível, como assembly, possuem um acesso a instruções diretamente no hardware, tendo uma otimização no processo, porém há uma perda quanto à questão de compatibilidade uma vez que os programas são específicos ao tipo de hardware.

A versatilidade da linguagem C pode ser vista na sua utilização tanto na parte de hardware como no software. O hardware utiliza a linguagem C na programação do microcontrolador PIC que possui todas as rotinas programadas em C, facilitando bastante esse processo. Na parte de software a linguagem C é utilizada na construção do software 3D que também é todo projetado usando essa linguagem.

Page 32: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

32

CAPÍTULO 3 – TRABALHOS RELACIONADOS

Esse capítulo tem como objetivo relatar e exemplificar os trabalhos relacionados que foram usados como base para a execução do projeto desenvolvido. A similaridade que pode ser encontrada nesses trabalhos é a de usar softwares para introduzir a realidade virtual para simulações de situações reais, assim como dispositivos (hardwares) usados para interpretar a interação do usuário com o ambiente de simulação.

O projeto Phantom Desktop – Haptic Device (Phantom Desktop, 2009), é basicamente um joystick capaz de fazer a aquisição de seis movimentos distintos feitos pelo usuário, é bastante usado como dispositivo de treinamento de realidade virtual na área médica, odontológica e também para modelagem 3D. Esse projeto usa encoders para fazer a aquisição dos eixos X, Y e Z e potenciômetros para a aquisição dos ângulos empinamento, cabeceio e balanceio (Pitch, Yaw e Roll da relação de ângulos de Tait-Bryan), além disso, tem a função de force feedback nos eixos X, Y e Z.

O projeto SPRING (SPRING, 2009), é uma plataforma de simulação de tecido mole em tempo real mantida pela Universidade de Stanford. É basicamente um framework, projetado para ser usada com Haptic Devices, como o já citado Phanton Desktop, o qual é usado para a implementação de aplicações 3D. Esse projeto tem como principal objetivo passar ao estudante uma noção de perspectiva, entre outros desafios para determinado tipo de treinamento de cirurgias. Um simulador em particular que usa SPRING é chamado de VRMSS (simulador de habilidades motoras usando realidade virtual), especificamente projetado para ensinar básicas habilidades motoras usadas em cirurgias em um ambiente abstrato. Ele atribui uma pontuação ao usuário baseada no desempenho, habilidades motoras (velocidade, precisão e eficiência do movimento) e habilidades cognitivas.

O projeto VPAT (Framework para Construção de Pacientes Virtuais, 2009), é um framework de aplicações de realidade virtual e computação gráfica na área de medicina. Existe uma pesquisa na área de videolaparoscopia usando este framework. Mesmo o projeto sendo baseado somente na parte de software, ele faz o uso de um modelo de joystick com pinças similares às desenvolvidas no projeto desta monografia, no qual boa parte da mecânica foi baseada no modelo mostrado nesse projeto VPAT.

O projeto LapVR Surgical Simulator da empresa Immersion (Surgical Simulator, 2009), é um sistema muito complexo que recria um cenário completo de cirurgia laparoscópica em um sistema virtual. O sistema inteiro é feito em cima de um hardware que integra completamente todas as partes necessárias pra o treinamento, incluindo as pinças, a região pélvica e a tela, com tudo isso ele se torna pesado e grande, mas

Page 33: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

33

proporciona uma posição correta para o uso das pinças e a posição usualmente usada para a localização da tela, proporcionando ao usuário um sentido muito próximo do ambiente cirúrgico.

O projeto i-Sim da empresa iSurgicals (Laparoscopy Training Solutions, 2009), é um simulador físico muito avançado pois sua mecânica é muito realista, nele existem duas pinças exatamente iguais às usadas em uma cirurgia de videolaparoscopia, uma câmera, uma tela e por último um compartimento o qual pode ser colocado diversos modelos para treinamento de diferentes habilidades. Modelos que podem ser para treinamento de cortes, execução de nós, treinamento de coordenação mão-olho, sutura, entre outros.

O projeto LapSim da empresa SurgicalScience (LapSim, 2009), é composto de dois softwares principais o LapSim Basic Skills que tem como objetivo treinar as habilidades básicas de um cirurgião de videolaparoscopia, tais como profundidade e força a ser aplicada em determinada situação e o LapSim Dissection que é um software mais completo com a integração de várias ferramentas para o treinamento de cortes, cauterizações entre outras ações que podem ser executadas em uma cirurgia laparoscópica.

O projeto de um Joystick Arcade desenvolvido por um projetista formado em engenharia mecatrônica, (Bardelli, 2007) tem como unidade de processamento um microcontrolador da família PIC18F e usa conexão USB com o computador. Este foi de fundamental importância para projetar o hardware descrito nessa monografia, a grande diferença é que em seu projeto são usados apenas dois eixos (X e Y) e eles são absolutos (0 e 1), mas mesmo assim proporcionou uma boa base para que fosse possível trabalhar com um protocolo de comunicação ainda não conhecido pela equipe.

Page 34: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

34

CAPÍTULO 4 – ESPECIFICAÇÃO DO PROJETO

O projeto tem por objetivo o desenvolvimento de um cenário de simulação de videolaparoscopia inicial para treinamento de habilidades mão-olho e noção de profundidade.

O protótipo consiste em um joystick em forma de pinça cirúrgica que através de um microcontrolador é ligado a um computador utilizando a porta USB. No computador, o joystick deve ser reconhecido como um joystick padrão, então o software com gráficos em 3D deve mostrar as pinças virtuais e os cenários que o usuário pode interagir.

A Figura 4.1 mostra a comunicação entre o joystick e o microcomputador que é através da porta USB utilizando o microcontrolador para processar os dados e tratar da comunicação. No computador é desenvolvida a parte gráfica em 3D contendo os objetos de interação e os dados de movimentação captados pelo joystick.

Figura 4.1 – Visão geral do projeto.

4.1 Descritivo do Hardware

Como pode ser visto na Figura 4.1, o hardware do projeto pode ser dividido em duas partes, a primeira é a parte mecânica da pinça e a segunda é a de circuito de interface com o computador.

Page 35: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

35

A unidade de processamento do joystick é o PIC18F4550 (Microchip PIC18F4550, 2004) da Microchip por ser um microcontrolador com entradas com conversores analógicos/digitais já implementados além de possuir uma interface USB pronta. Para capturar os movimentos são necessários potenciômetros que atuam como transdutores captando os movimentos mecânicos da pinça e transformando-os em sinais para o microcontrolador. A Figura 4.2 mostra as conexões dos componentes que constituem a parte de hardware do projeto, desde a parte mecânica até o computador.

Figura 4.2 – Representação em blocos da parte de hardware do projeto.

Partindo da Figura 4.2, a mecânica envolvida no projeto foi desenvolvida de maneira que o usuário sinta-se o mais próximo da realidade ao usar o dispositivo, todo movimento possível da pinça mecânica é obtido através de um potenciômetro de precisão que é conectado nas portas com conversor A/D (Analógico para Digital) existentes no microcontrolador, as portas estão ilustradas na Figura 4.3, essa é dividida em três blocos principais, sendo o primeiro o conversor A/D de 10 bits, o segundo é onde são definidas as tensões de referência tanto positiva quanto negativa, e por último o multiplexador que, quando manipulado através do firmware, é responsável por selecionar um dos treze canais disponíveis.

Page 36: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

Figura 4.3 – Portas com conversores A/D do microcontrolador.

Existe apenas um conversor A/D de 1cinco entradas analógicas no projeto para que todos os movimentos realizados na pinça sejam reproduzidos com eficiência no Simulador de Realidade Virtual em 3D. Segundo o datasheet do componente essas entradas multiplexador, assim possibilitando o uso de até microcontrolador.

O circuito é alimentado com a tensão disponibilizada pela porta USB do computador que é de 5V, que também é a tensão de referência positiva no usoqual está ligado o potenciômconversor A/D varia o vetor de bits de cada entrada de 0 a 256 em binário assim usando 8-bits dos 10 disponíveis no conversor.

O circuito final pode ser visualizado na Figura 4.4, que mostra as conexões de todos os componentes que são usados no projeto, os principais componentes são os potenciômetros de precisão (representado na Figura 4.4 por blocos de três pinos), o microcontrolador e a porta USB, que quanto pelo envio de dados para o microcomputador.

Portas com conversores A/D do microcontrolador.

Adaptado de Microchip.

Existe apenas um conversor A/D de 10-bits no microcontrolador, porém scinco entradas analógicas no projeto para que todos os movimentos realizados na pinça sejam reproduzidos com eficiência no Simulador de Realidade Virtual em 3D. Segundo

do componente essas entradas são ligadas ao conversor A/D através de um multiplexador, assim possibilitando o uso de até treze entradas analógicas ao

alimentado com a tensão disponibilizada pela porta USB do computador a tensão de referência positiva no uso do conversor A/D no

ligado o potenciômetro de precisão. A tensão nele varia de 0V a 5V e o o vetor de bits de cada entrada de 0 a 256 em binário assim usando

conversor.

O circuito final pode ser visualizado na Figura 4.4, que mostra as conexões de todos os componentes que são usados no projeto, os principais componentes são os potenciômetros de precisão (representado na Figura 4.4 por blocos de três pinos), o microcontrolador e a porta USB, que é responsável tanto pela alimentação do circuito quanto pelo envio de dados para o microcomputador.

s no microcontrolador, porém são usadas cinco entradas analógicas no projeto para que todos os movimentos realizados na pinça sejam reproduzidos com eficiência no Simulador de Realidade Virtual em 3D. Segundo

são ligadas ao conversor A/D através de um entradas analógicas ao

alimentado com a tensão disponibilizada pela porta USB do computador do conversor A/D no

de 0V a 5V e o o vetor de bits de cada entrada de 0 a 256 em binário assim usando

O circuito final pode ser visualizado na Figura 4.4, que mostra as conexões de todos os componentes que são usados no projeto, os principais componentes são os potenciômetros de precisão (representado na Figura 4.4 por blocos de três pinos), o

responsável tanto pela alimentação do circuito

Page 37: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

37

Figura 4.4 – Circuito do projeto.

Para uma melhor compreensão do funcionamento do firmware desenvolvido no projeto e gravado no microcontrolador a Figura 4.5 mostra um fluxograma, nele é possível visualizar a estrutura de repetição para verificar se o dispositivo está conectado, fazer a leitura da porta A (que varia de 0 a 4) cinco vezes, o envio do vetor de cinco posições através da USB e por último a verificação do estado da rotina USB.

Figura 4.5 – Fluxograma do firmware.

Page 38: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

4.2 Descritivo do Software

Para a programação em 3D foi utilizada a IDE Lite-C (Lite-C, 2009) que é uma versão freeware do programa 3D GameStudio, apresentado no site do fabricante. Com este programa foi desenvolvido toda a parte de modelagem dos gráficos 3D além da conexão com o joystick. O Lite-C é dividido em dois programas básicos o Lite-C MED que faz a modelagem 3D, muito similar ao Autodesk 3D Studio Max, e o Lite-C SED que faz a programação em linguagem C.

O Lite-C já possui várias bibliotecas específicas para jogos 3D incluindo a parte de física dos objetos e a parte de comunicação com dispositivos periféricos como um joystick. A parte de modelagem possui os seguintes objetos: um cenário, duas pinças, e um objeto de interação, este último que pode variar entre esferas, cubos, entre outros, de acordo com a necessidade do desafio. No fluxograma, da Figura 4.6, é possível ver os passos do programa e ter uma idéia do seu funcionamento. A IDE Lite-C possui um tutorial online que foi de grande ajuda no desenvolvimento (Lite-C, 2009).

Figura 4.6 – Fluxograma do software de gráfico 3D

Page 39: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

39

O software pode ser dividido em vários módulos como mostra a Figura 4.7. A parte gráfica como foi descrito acima foi desenvolvido usando a IDE Lite-C que pode fazer toda a parte de movimentação dos objetos e sua parte física. A comunicação USB foi feita utilizando-se o protocolo HID que possui uma conectividade direta com o sistema operacional Microsoft Windows, portanto não há a necessidade de programas adicionais para fazer esta conexão. Com isso o programa pode obter os dados do joystick através do próprio sistema operacional, utilizando as bibliotecas inclusas na IDE.

Figura 4.7 – Diagrama da parte de software.

A parte gráfica ainda deve conter desafios para interagir com o usuário. A idéia é criar objetos, bolas ou cubos, a serem manuseados utilizando-se as pinças, com objetivos definidos como colocar os objetos em determinados locais. No futuro pode-se criar mais desafios, inclusive cenários cirúrgicos, de acordo com a necessidade e possibilidade já que não é uma parte complexa, mas que demanda certo tempo na parte de modelagem dos objetos e cenários em 3D.

A IDE Lite-C SED (Script Editor) possui um sistema para gerenciar objetos 3D, utilizando-se a extensão de arquivo gráfica “.mdl”, que é gerada pelo programa Lite-C MED (Model Editor). Este tem uma fácil utilização apenas necessita-se definir certos

Software

Parte Gráfica – 3D

Comunicação com USB

Firmware do

Microcontrolador

Conexão com a

USB

Processamento dos

dados para transmissão

Aquisição de dados

Page 40: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

40

parâmetros como massa, gravidade, elasticidade entre outros parâmetros e a posição que pode ser variada de acordo com o joystick ou pode ser controlada pela gravidade, no caso de um objeto solto no cenário. No programa Lite-C MED também é possível criar os cenários, que são de grande importância e são exportados à IDE da mesma forma que os outros objetos.

4.3 Integração dos Sistemas

O protocolo de comunicação que o dispositivo usa é o HID da porta USB. Nele são definidos quais os tipos de entradas o hardware tem, quais suas variações, tamanhos além do vetor de saída, que é estabelecido por valores inteiros que variam de -127 a +127. Esses valores inteiros são tratados no firmware, pois originalmente são obtidos pela entrada A/D do microcontrolador e é dado no intervalo de 0 a 256. No final para que o vetor de saída seja composto de maneira eficiente além da conversão, é necessário colocar os valores das cinco entradas no vetor de saída.

Como citado anteriormente a IDE Lite-C possui bibliotecas para conexão com a interface de joystick, utilizando o protocolo HID do sistema operacional Windows. Para obter os dados do joystick, basta usar os comandos joy_raw e joy_rot cada um com seus três eixos que são x, y e z, totalizando seis eixos possíveis. Esses comandos são considerados pela IDE como números inteiros variando de -255 a +255, portanto ideal ao projeto. Para movimentação do gráfico, basta atribuir esses valores ao valor das coordenadas dos objetos, claro que haverá a necessidade de um loop para verificar os movimentos num tempo determinado.

4.4 Estudo de Viabilidade Técnico-Econômica

A Tabela 4.1 apresenta o estudo de viabilidade técnico-econômica, que mostra um estudo descrevendo os custos de desenvolvimento do projeto.

Esses custos são divididos em quatro principais categorias que são: mão de obra, equipamentos e insumos, documentação e softwares.

A quantidade de cada custo foi especificada dependendo do tipo do insumo em questão, podendo ser mensurada em horas, meses, páginas e unidade.

Page 41: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

41

Tabela 4.1: Estimativa de custos

Planilha de Custos Descritivo Quant. $ Un. $ Total Mão de Obra CEO (coordenador) 80(horas) R$ 109,00 R$ 8.720,00 Gerente de Projeto (orientador) 160(horas) R$ 63,50 R$ 10.160,00 Engenheiro 1440(horas) R$ 30,00 R$ 43.200,00 Sub Total R$ 62.080,00 Equipamentos e Insumos Laboratório 9 (meses) R$ 280,00 R$ 2.520,00 Mobiliário 9 (meses) R$ 416,50 R$ 3.748,50 Computador 9 (meses) R$ 166,50 R$ 1.498,50 Notebook 9 (meses) R$ 291,50 R$ 2.623,50 Osciloscópio 9 (meses) R$ 410,00 R$ 3.690,00 Ferramentas 9 (meses) R$ 60,00 R$ 540,00 Multímetro 9 (meses) R$ 41,00 R$ 369,00 Gravador 9 (meses) R$ 58,00 R$ 522,00 Insumos aplicados 1(unidade) R$ 600,00 R$ 600,00 Frete compras 1(unidade) R$ 200,00 R$ 200,00 Água 9 (meses) R$ 50,00 R$ 450,00 Luz 9 (meses) R$ 100,00 R$ 900,00 Telefone + celular 9 (meses) R$ 100,00 R$ 900,00 Internet (banda larga) 9 (meses) R$ 60,00 R$ 540,00 Deslocamento x2 combustível 9 (meses) R$ 320,00 R$ 2.880,00 Prensa 5 (horas) R$ 0,12 R$ 0,60 Furadeira 5 (horas) R$ 0,45 R$ 2,25 Sub Total R$ 21.984,35 Documentação Cópias 1500 (pags.) R$ 0,10 R$ 150,00 Encadernação 1(unidade) R$ 100,00 R$ 100,00 DVD 4(unidade) R$ 2,50 R$ 10,00 Sub Total R$ 260,00 Softwares Windows/Office x2 PCs 18 (meses) R$ 83,50 R$ 1.503,00 Project 9 (meses) R$ 83,50 R$ 751,50 Lite-C 9 (meses) R$ - R$ - Proteus 160 (horas) R$ 5,70 R$ 912,00 Pic C 80 (horas) R$ 0,52 R$ 41,60 Mplab C30 80 (horas) R$ 0,38 R$ 30,40 Sub Total R$ 3.238,50 SubTotal 87.562,85 Impostos 32.836,07 Total 120.398,92

Page 42: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

4.5 Planejamento do Desenvolvimento

As figuras 4.8-4.10 mostramexecutadas. Esse gráfico serve para ilustrar o avanço das diferentes etapas do projeto. Os intervalos de tempo representando o início e fim de cada fase aparecem como barras sobre o eixo horizontal do gráfico. A barra preta define a etapa total e barra azul define as sub etapas. A Figura 4.8 representa as etapas de especificação, tanto do hardware como do software assim como suas sub etapas. A direita da Figura 4.8 pode ser visualizada em dias a duração de cada etapa.

Figura 4.8 - Gráfico de Gantt representando as etapas de especificação.

Planejamento do Desenvolvimento

mostram o gráfico de Gantt do projeto e as etapas planejadas e Esse gráfico serve para ilustrar o avanço das diferentes etapas do projeto.

Os intervalos de tempo representando o início e fim de cada fase aparecem como barras gráfico. A barra preta define a etapa total e barra azul define

as sub etapas. A Figura 4.8 representa as etapas de especificação, tanto do hardware como do software assim como suas sub etapas. A direita da Figura 4.8 pode ser

o de cada etapa.

Gráfico de Gantt representando as etapas de especificação.

do projeto e as etapas planejadas e Esse gráfico serve para ilustrar o avanço das diferentes etapas do projeto.

Os intervalos de tempo representando o início e fim de cada fase aparecem como barras gráfico. A barra preta define a etapa total e barra azul define

as sub etapas. A Figura 4.8 representa as etapas de especificação, tanto do hardware como do software assim como suas sub etapas. A direita da Figura 4.8 pode ser

Gráfico de Gantt representando as etapas de especificação.

Page 43: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

A Figura 4.9 representa como etapas: Pesquisa, Etapa de Projeto, Desenvolvimento do Software e Desenvolvimento de Hardware, assim como suas sub etapas. Figura 4.9 pode ser visualizada

Figura 4.9 - Gráfico de Gantt representando as etapas de pesquisa, projeto e

A Figura 4.9 representa como etapas: Pesquisa, Etapa de Projeto, Desenvolvimento do Software e Desenvolvimento de Hardware, assim como suas sub etapas. A direita da

visualizada em dias a duração de cada etapa.

Gantt representando as etapas de pesquisa, projeto e desenvolvimento.

A Figura 4.9 representa como etapas: Pesquisa, Etapa de Projeto, Desenvolvimento A direita da

Gantt representando as etapas de pesquisa, projeto e

Page 44: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

A Figura 4.10 representa como etapas: Testes e Documentação, assim como suas sub etapas. A direita da Figura 4.10 pode ser etapa.

Figura 4.10 - Gráfico de Gantt representando as etapas de testes e de documentação.

A Figura 4.10 representa como etapas: Testes e Documentação, assim como suas A direita da Figura 4.10 pode ser visualizada em dias a duração de cada

Gráfico de Gantt representando as etapas de testes e de documentação.

A Figura 4.10 representa como etapas: Testes e Documentação, assim como suas em dias a duração de cada

Gráfico de Gantt representando as etapas de testes e de documentação.

Page 45: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

45

CAPÍTULO 5 – DESENVOLVIMENTO E IMPLEMENTAÇÃO

O projeto consiste de três partes: software, hardware e mecânica. Este capítulo mostra o desenvolvimento dessas três partes e a interação entre elas, além da implementação do projeto como um todo.

5.1 Projeto de Software

Para o desenvolvimento do software foi usada a IDE Lite-C que é uma das mais simples ferramentas de desenvolvimento. Nesta IDE foi feita toda a programação da parte gráfica e a maioria da modelagem 3D. Esta IDE é dividida em três programas básicos o MED para criar objetos 3D , SED para programar e o WED para criar cenários. Além disso, foram criados diagramas que auxiliaram no desenvolvimento final do programa.

5.1.1 Diagrama de Sequência

A Figura 5.1 mostra o diagrama de sequência do software que tem como objetivo facilitar o entendimento mostrando todos os passos do sistema, mostrando os passos as ser tomados pelo usuário e a iteração do sistema com a ação, mostrando todas as os movimentos tomados pelo sistema.

Figura 5.1 – Diagrama de sequência.

5.1.2 Modelagem 3D e Carregamento dos objetos

Page 46: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

46

O gráfico foi modelado usando dois programas o MED Lite-C, programa da IDE de desenvolvimento Lite-C, e o 3D Studio Max. No primeiro foram feitos os objetos mais simples como a bola e a caixa, que devido à restrição do programa de produzir objetos mais detalhados impossibilitou a construção da pinça, essa que por sua vez foi feita no 3D Studio Max que possibilita uma melhor modelagem, ainda sem muitos detalhes devido à inexperiência com este tipo de desenvolvimento.

Os objetos criados no MED já possuem uma extensão, .mdl, que pode ser lida pelo compilador gráfico SED Lite-C. É nesse compilador que todo o projeto é desenvolvido desde o carregamento gráfico aos movimentos dos objetos. Os arquivos com a extensão .mdl podem ser automaticamente carregados no programa usando a função “ent_create” que cria entidades, nome dado aos objetos carregados pelo programa. Cada entidade possui além do modelo do objeto, alguns parâmetros como massa, elasticidade, atrito entre outros. Esses parâmetros devem ser definidos em funções posteriores a criação da entidade como pode ser visto na Figura 5.2.

Figura 5.2 – Código para criação de entidade e definição dos parâmetros de física.

Objetos criados utilizando o 3D Studio Max possuem a extensão “.3DS” a qual não

pode ser carregada pelo compilador, porém o MED pode importar arquivos com este tipo de extensão e salvar na extensão correta, sem perdas quanto a qualidade do gráfico.

Para criar o cenário foi usado o programa WED Lite-C que apresenta uma interface parecida com o MED, porém é exclusivo para criar cenários que são modelos 3D maiores que os objetos. Esses por sua vez possuem extensão “.wmb” que são automaticamente carregados no programa SED usando a função “level_load”. Como cenário do projeto foi criado apenas um plano com bordas para evitar que a bola saia do cenário e um espaço aberto onde a bola deverá ser depositada.

Na Figura 5.3 pode ser visto o cenário e os objetos, facilmente distinguíveis, todos já carregados no programa SED e com suas físicas e movimentos funcionando.

Page 47: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

47

Figura 5.3 – Amostra dos objetos e cenário do Software 3D

5.1.3 Movimentação e Física dos objetos

Após o carregamento das entidades elas estarão automaticamente com a física ativada e utilizando a gravidade definida pela função “phsetgravity” e os parâmetros definidos durante a criação da entidade. A física consiste em todos os movimentos gerados pelo computador de forma a manter os objetos perto da realidade, quanto às colisões e quedas.

As pinças devem ter um movimento independente da gravidade, apenas sendo controlada pelo joystick. Para a movimentação dos objetos o SED Lite-C tem funções extremamente simples para todos os eixos e tipos de movimentação. Estas funções permitem deslocamentos nos três eixos e movimentos de rotação, e inclinações.

Os movimentos de inclinação da pinça nos dois eixos possíveis são feitos utilizando as funções “.tilt” e “.pan” usando a sintaxe “pinca.tilt” ou “pinca.pan” sendo a “pinca” o nome dado a entidade da pinça. Essa sintaxe ainda é usada nos outros movimentos apenas com a troca das funções como a função “.roll” que é usada na rotação da pinça.

Outro movimento é o de profundidade que usa três funções “.x” , “.y” e “.z”. É necessário o uso dessas funções, pois o movimento de profundidade usa coordenadas polares. Entretanto, houve uma adaptação dessa fórmula, devido a problemas no compilador que arredondava os valores tornando o movimento irreal, essa nova fórmula foi ajustada de forma empírica, mudando os parâmetros no código do programa.

O movimento de abertura e fechamento da pinça foi feito a partir da animação da pinça feita no 3D Studio Max e usando a função “ent_animate”. Com essa função é

Page 48: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

48

possível ver a pinça abrir e fechar de forma correta. Essa última função trouxe um problema para pegar a bola já que a física não era aplicada a ela, portanto para pegar a bola foi necessário criar a física em código utilizando-se a idéia de aproximação, ou seja, quando a pinça estivesse perto o suficiente da bola e a pinça estivesse com o movimento de fechamento perto do nível do tamanho da bola então a bola seria pega.

5.1.4 Comunicação com Joystick

O SED Lite-C possui uma conexão direta com o protocolo de joysticks do sistema operacional que traduz os eixos do joystick em variáveis que são usadas no código. Essas variáveis mostram fielmente a variação dos potenciômetros gerando valores de +255 a -255. Essas variáveis são representadas pelas seguintes funções “joy_raw” e “joy_rot” que possuem três eixos cada, sendo elas x, y e z. A sintaxe do código, por exemplo, é joy_rot.x. Essa variação é usada para a movimentação da pinça e a abertura e fechamento da mesma, isso utilizando as funções anteriormente apresentadas.

5.2 Projeto de hardware

A seguir será explicado como foi projetado o hardware, desde o primeiro passo que é a aquisição dos movimentos, passando pela unidade de processamento e por fim sendo transmitido ao computador utilizando o protocolo de comunicação.

5.2.1 Aquisição de movimentos

A aquisição dos movimentos foi feita com potenciômetros, a partir de uma mecânica própria e adaptada para que os movimentos realizados pelo usuário fossem transmitidos ao potenciômetro, que por sua vez encontra-se alimentado por uma tensão fornecida pela porta USB do computador.

Para que a tensão variasse no potenciômetro conforme os movimentos fossem realizados ele foi projetado em forma de um divisor de tensão (Lourenço et al, 2001) como mostra a Figura 5.4, uma extremidade do potenciômetro alimentada pela tensão positiva da porta USB (VCC), outra extremidade aterrada ao terra do circuito (GND) e na SAÍDA_0 é obtida a variação de tensão (de 0V a +5V) dependendo de quanto o potenciômetro varia, tanto no sentido horário, quanto no sentido anti-horário.

Page 49: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

Figura 5.4 – Divisor de tensão.

Depois de obtida a variação de tensão no potenciômetro, a SAÍDA_0 é conectada

em uma porta de entrada do microcontrolador. Essa porta, como já citado na especificação, contém um conversor A/D que conforme configurado no firmware pode ter uma resolução de até 10 bits. Foi escolhido trabalhar com uma resolução de 8 bits, a qual pode ser visualizada na Figura 5.5, por compatibilidade com a interface de comunicação com um joystick padrão já implementada no software e também pela facilidade de calibrar a resolução dos movimentos, tornando-os não extremamente sensíveis.

Figura 5.5 – Linha de código para definir como 8 bits a resolução do conversor A/D interno.

Com o conversor A/D implementado e devidamente configurado, a obtenção do

sinal de entrada foi feita com o código representado na Figura 5.6, o qual faz com que o valor (variando de -127 até 127) passe para uma variável do tipo inteira para posterior manipulação do dado (Pereira, 2003).

Figura 5.6 – Código para obtenção do sinal de

entrada convertido para base decimal.

SAÍDA_0

VCC

RV1

10k

GND

#device adc = 8

set_adc_channel(canal);

delay_us(50);

out_data[0] = read_adc();

Page 50: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

50

5.2.2 Unidade de processamento

A unidade de processamento teve como função a manipulação dos dados obtidos através da aquisição dos movimentos, a configuração da interface com a porta USB e por último a comunicação com o protocolo HID.

A Figura 5.7 mostra a parte de obtenção, manipulação e montagem do vetor dos dados referentes aos cinco movimentos que o usuário pode realizar.

Figura 5.7 – Código do firmware para a montagem do vetor contendo os dados referentes aos movimentos realizados pelo usuário.

Como pode ser visto na Figura 5.7 o comando set_adc_channel(canal), define o

canal de entrada do microcontrolador à ser usado, esse canal varia de 0 a 4, no projeto aqui documentado, cada um referente a um dos cinco movimentos possíveis (X, Y, Z, rotação e movimentação da ponta da pinça). Foi definido um tempo de atraso de 50µs após definir qual canal iria ser lido, pois é suficiente para que seja feita a aquisição do valor em cada porta. Após as cinco leituras mais o tempo de atraso final foi totalizado

set_adc_channel(0);

delay_us(50);

out_data[0] = read_adc();

out_data[0] = out_data[0] - 127;

set_adc_channel(1);

delay_us(50);

out_data[1] = read_adc();

out_data[1] = out_data[1] - 127;

set_adc_channel(2);

delay_us(50);

out_data[2] = read_adc();

out_data[2] = out_data[2] - 127;

set_adc_channel(3);

delay_us(50);

out_data[3] = read_adc();

out_data[3] = out_data[3] - 127;

set_adc_channel(4);

delay_us(50);

out_data[4] = read_adc();

out_data[4] = out_data[4] - 127;

delay_us(50);

Page 51: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

51

um tempo total de atraso de 300µs que ainda é muito pequeno e mesmo depois de passar pelo protocolo de comunicação se mostrou irrelevante considerando a fidelidade à realidade do projeto.

Após a obtenção dos dados referentes aos movimentos, esses são colocados em um vetor de números inteiros (out_data), o qual é enviado para o protocolo de comunicação HID com o código que pode ser visualizado na Figura 5.8.

Figura 5.8 - Código de envio do pacote contendo um vetor de números inteiros de cinco posições referentes aos movimentos.

5.2.3 Protocolo de comunicação

O protocolo de comunicação HID foi projetado para que o sistema operacional detecte o dispositivo, quando conectado ao computador, instale e gerencie o joystick como um controlador de jogos padrão. A Figura 5.9 mostra o protocolo de comunicação HID projetado.

Figura 5.9 – Protocolo de comunicação USB.

usb_put_packet(1,out_data,5,USB_DTS_TOGGLE)

USAGE_PAGE (Generic Desktop)

LOGICAL_MINIMUM (0)

USAGE (Joystick)

COLLECTION (Application)

USAGE_PAGE (Simulation Controls)

USAGE (Throttle)

LOGICAL_MINIMUM (-127)

LOGICAL_MAXIMUM (127)

REPORT_SIZE (8)

REPORT_COUNT (1)

INPUT (Data,Var,Abs)

USAGE_PAGE (Generic Desktop)

USAGE (Pointer)

COLLECTION (Physical)

USAGE (X)

USAGE (Y)

USAGE (Rx)

USAGE (Ry)

REPORT_COUNT (4)

INPUT (Data,Var,Abs)

END_COLLECTION

END_COLLECTION

Page 52: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

52

Em sua configuração nota-se que o dispositivo em questão é um Joystick, o nível lógico máximo e mínimo varia de -127 a 127 e os eixos definidos são X, Y, Rx, Ry e Throttle.

Como pode ser visualizado na Figura 6.1 o sistema operacional reconhece e instala o joystick como um controlador de jogos (Laparoscopy Joystick) e é possível calibrá-lo tanto pelo software de gerenciamento de controladores de jogos do sistema operacional, mostrado na Figura 6.2, quanto pelo software de realidade virtual 3D.

5.3 Projeto da Mecânica

O projeto da mecânica consistiu no desenvolvimento de uma arquitetura para que a pinça fosse montada de uma maneira a otimizar a obtenção dos movimentos juntamente com a disposição e montagem dos componentes.

5.3.1 Desenvolvimento da Arquitetura

Foram feitas pesquisas, consultando os trabalhos relacionados e várias idéias surgiram de como construir o sistema mecânico. Ele deveria ter uma representação dos movimentos reais e conseguir transmitir esses movimentos para os potenciômetros. Na tentativa de chegar nesse resultado foram criados dois protótipos.

O primeiro protótipo utilizou peças retiradas de um “gamepad” de um vídeo game. Este “gamepad” possuía um arranjo de potenciômetros bem interessante, como pode ser visto na Figura 5.10, sendo ideal para aquisição dos movimentos de inclinação, citados no projeto de software, porém frágil em situações de maior esforço.

Figura 5.10 – Arranjo de dois potenciômetros.

O segundo protótipo foi criado a partir do zero, utilizando madeira e hastes de metal.

A parte de inclinação foi feita usando uma arquitetura diferente do primeiro projeto utilizando-se madeira e potenciômetros comuns, porém mantendo os movimentos, além de ser muito mais resistente que o primeiro.

Para o do movimento de profundidade foi utilizado, em ambos, antenas de carro, que são hastes de metal que permitem esse tipo de movimento. Porém, para captar o sinal houve uma divergência entre os protótipos, sendo o primeiro usando o princípio de rolagem do potenciômetro e o segundo o princípio de dobradiça, ambas ilustradas na Figura 5.11.

Page 53: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

Figura 5.11 – Mostra o princípio da dobradiça e o princípio de rolagem.

O movimento de torção, ou rotação, da pinça foi feito diretamente com a conexão do

potenciômetro na parte final da pinça, onde o usuário segura. Nesta última parte ainda é colocado o potenciômetro que capta o movimento de abrir e fechar da pinça, utilizando-se uma peça real de videolaparoscopia. Essas duas montagens podem ser visualizadas na Figura 5.12.

Figura 5.12 – Montagem do movimento de rotação e abertura da pinça.

5.3.2 Montagem dos Componentes

Todo o desenvolvimento das peças foi feito sem a utilização de colas ou materiais autocolantes, utilizando-se apenas encaixes e parafusos, para que em futuros problemas de quebras as peças possam ser facilmente substituídas.

As partes desenvolvidas em madeira foram feitas utilizando-se serra “tico-tico” devido à necessidade de cortes curvos e precisos. A madeira utilizada é do tipo Pinus que se mostrou excelente para o uso, pois é resistente o suficiente e de fácil corte.

Potenciômetros

Page 54: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

54

Não houveram grandes problemas durante a montagem uma vez que as peças simples foram feitas de forma a encaixar perfeitamente, além do pequeno número de peças ter facilitado o processo. A Figura 5.13 mostra a pinça desmontada mostrando todas as suas peças, sendo elas as hastes de metal, a placa de circuito impresso, um cabo da pinça, capacitores, conector USB, cristal, microcontrolador PIC, os potenciômetros e as pecas em madeira.

Figura 5.13 – Pinça desmontada com todas as suas peças.

Durante o processo de montagem uma dificuldade foi a passagem dos fios, pela

parte mecânica, da placa de circuito impresso até os potenciômetros, uma vez que cada um deles usava três fios. Era possível o uso de menos fios já que dois deles são comuns a todos, porém testes empíricos no inicio do projeto mostraram ruídos no sinal quando usado nesse modo econômico. Esses fios tiveram que ser escolhidos de forma meticulosa, pois deviam ser flexíveis o suficiente para aguentar e não atrapalhar os movimentos e transmitirem o sinal sem muita interferência.

Page 55: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

55

CAPÍTULO 6 – VALIDAÇÃO E RESULTADOS

Os testes foram divididos em três partes: do software, do hardware e da parte mecânica. Os quais seguem explicados a seguir.

6.1 Teste de Software

Com um joystick comercial foi testado o software mostrando a interação dos objetos do ambiente. Todos os movimentos foram testados e tiveram sucesso mesmo levando em conta os diversos problemas existentes durante a implementação. O sucesso é considerado quando os movimentos ficam próximo da imagem de uma videolaparoscopia real. . A segunda parte de testes é quanto à física dos objetos no cenário que não se mostrou ideal, devido a movimentos muitas vezes considerados irreais. Isto se deve a restrições das funções de física da IDE. Não pode ser considerado ideal, pois diverge da realidade encontrada na cirurgia que tem uma física extremamente complexa uma vez que os objetos estariam dentro do corpo humano onde há varias variáveis que alteram a percepção da física.

Além dos testes de movimento e física foi feito um teste de desempenho, como pode ser visto na Tabela 4.1, que devido a engine gráfica utilizada se mostrou bem estável funcionando em computadores simples e mesmo em altas resoluções. O uso de memória em torno dos 36MB e o nível de processamento em torno dos 25% para modo tela cheia se mostrou ideal, sendo considerado um software leve.

Em modo em janela o gasto de processamento foi maior o que é considerado normal uma vez que o processador não é utilizado exclusivamente para o software em questão, mas para todo o sistema operacional que ainda é visível nesse modo. Os testes foram realizados utilizando um computador com processador Atom 1.6GHz, 2GB de memória, uma placa de vídeo Intel 950gme com 256MB de memória e sistema operacional Windows 7 32bits.

Page 56: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

Tabela 6.1 – Teste de desempenho

Modo de visualização Resolução Num de pinças Uso de memória cpu(%) fullscreen 1024x768 1 30MB 25 fullscreen 1024x768 2 36MB 30

windowed mode 1024x768 1 36MB 49 windowed mode 1024x768 2 36MB 50

fullscreen 640x480 1 36MB 22 fullscreen 640x480 2 36MB 25

windowed mode 640x480 1 36MB 50 windowed mode 640x480 2 36MB 50

fullscreen 1600x1200 1 36MB 25 fullscreen 1600x1200 2 36MB 25

windowed mode 1600x1200 1 36MB 50 windowed mode 1600x1200 2 36MB 50

6.2 Teste de Hardware

A parte de hardware que no caso é considerado a parte dos circuitos eletrônicos foi testada com uma montagem simples da placa completa e os potenciômetros. Primeiramente, ao conectar o dispositivo ao computador foi feito o teste de reconhecimento do dispositivo pelo sistema operacional como pode ser visto na Figura 6.1, com a utilização do programa de controladores de jogos do sistema operacional Windows. Neste programa podemos ver os movimentos dos eixos do joystick, como visto na Figura 6.2, e então é possível compará-los com a rotação do dos potenciômetros. Nesta comparação os movimentos foram perfeitos sendo impossível perceber alguma diferença entre o movimento do potenciômetro e o deslocamento gráfico no programa.

Figura 6.1 – Teste de reconhecimento do dispositivo pelo sistema operacional

Page 57: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

Figura 6.2 – Programa de reconhecimento de joysticks

Ainda foi feito um teste de desempenho que revelou que o sistema é bem eficiente tendo apenas um atraso na aquisição e transmissão dos dados até o computador de 300µs dentro do processador considerando atrasos propositais para aquisição do sinal, somando o tempo da comunicação USB o atraso não deve chegar a 1ms, que é imperceptível para o ser humano.

6.3 Teste da Mecânica

A parte mecânica foi testada inicialmente sem a eletrônica a fim de verificar se o movimento é condizente com o real, ou seja, comparando com os movimentos de uma cirurgia real. Os parâmetros foram analisados durante uma visita dos integrantes do projeto a uma cirurgia real concedida pelo orientador. Com a montagem da eletrônica foi feito um novo teste comparando os movimentos do joystick, parte física, com os movimentos do gráfico do software, parte virtual. Como foi dito anteriormente a parte mecânica foi dividida em dois protótipos que na parte inicial tiveram o mesmo resultado, mas diferentes na segunda parte com uma melhora quanto à precisão.

O primeiro protótipo teve um erro angular de 10° na movimentação das pinças nos eixos de inclinação e um erro de 20° na movimentação rotacional da pinça. No movimento de profundidade houve um erro na média de 4 cm, mas devido a problemas na mecânica esse erro aumentou com o desgaste dos componentes.

No segundo protótipo obteve-se erros menores em torno dos 5° para os movimentos angulares, eixos de inclinação e rotacionais e um erro em torno de 2 cm no movimento da profundidade.

No movimento de abertura da pinça, que em ambos os protótipos é igual, não é possível fazer o teste uma vez que não há parâmetros de comparação, já que há vários modelos de pinças diferentes no mercado.

Page 58: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

58

6.4 Resultados

O resultado do projeto foi um ambiente de treinamento de videolaparoscopia que tem um funcionamento dentro do esperado, com os movimentos próximos do real, como visto nos testes, funcionamento estável e efetivo funcionamento na questão do treinamento do problema da profundidade. Como já foi citado anteriormente não há a intenção de recriar uma cirurgia, mas apenas treinar a noção de profundidade do aprendiz. Portanto o gráfico ficou simples, mas funcional mesmo com poucos objetos tais como as pinças, uma bola e uma caixa que podem ser facilmente alterados em futuras atualizações.

A parte de hardware tem um funcionamento excelente, uma vez que a utilização do PIC 18F4550 se mostrou ideal já que os recursos satisfazem todas as necessidades, numa montagem simples com poucos componentes. Em contraste existe a parte mecânica que se mostrou instável quanto à resistência, que devia ser conciliado com os movimentos precisos e reais de uma pinça de videolaparoscopia, apresentando quebras em diversas partes e necessitando de grandes modificações no seu projeto. Os potenciômetros também se mostraram instáveis, pois modelos mais precisos têm seu corpo muito frágil e modelos mais reforçados tem sua precisão comprometida e flutuações. No entanto a influência dessa falta de precisão e flutuação foi considerada aceitável para o protótipo. Para um produto final podem ser usados outros tipos de potenciômetros como modelos de fio que são mais precisos e fortes, porém possuem um alto custo em relação aos utilizados no projeto, além da dificuldade de acesso ao componente que é vendido apenas em lojas especializadas.

A parte gráfica se mostrou funcional para o projeto mesmo não possuindo uma engine poderosa e nem uma física consistente. Porém, considerando que a ferramenta de desenvolvimento utilizada era de licença gratuita e de programação relativamente simples, utilizando linguagem C, o resultado foi bom e dentro das expectativas. O desenvolvimento dos objetos 3D também teve um resultado esperado, uma vez que nenhum dos integrantes envolvidos no projeto tinha um conhecimento prévio sobre o assunto, ocasionando modelos extremamente simples, mas que cumpriam o seu papel.

Durante o processo de desenvolvimento foram criados dois protótipos com arquiteturas mecânicas diferentes e utilizando potenciômetros diferentes. O primeiro modelo utilizava potenciômetros de precisão que foram removidos de um gamepad de vídeo-game, o qual mostrou ser eficiente quanto à precisão, porém frágil, causando quebras e necessidades de reparos constantes.

O segundo modelo foi criado de forma mais reforçada a fim de resolver quebras causadas por uso, uma vez que os usuários tendem a exercer grandes forças sobre as pinças, além disso, foram utilizados potenciômetros comuns.

Nos testes o segundo modelo se mostrou mais funcional mesmo com uma pequena flutuação no sinal dos potenciômetros, esperado nesse tipo de potenciômetro, sendo extremamente resistente em relação ao primeiro modelo e garantindo os mesmos movimentos fiéis a realidade.

Page 59: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

59

CAPÍTULO 7 – CONCLUSÃO

O principal objetivo do projeto era criar uma solução, composto por hardware e software de maneira que o protótipo pudesse ser facilmente aprimorado, modificado e fazer com que a comunicação entre hardware e software fosse a mais genérica possível. O hardware mostrou-se extremamente genérico na sua conclusão, pois pode ser conectado em computadores com sistemas operacionais diferentes e mesmo assim o sistema operacional irá reconhecer e instalar os drivers automaticamente. O software também se mostrou extremamente genérico, pois se conectado um joystick USB qualquer a interação com o ambiente 3D será possível, já que o mesmo usa diretrizes de eixos padrões de joysticks gerenciadas pelo sistema operacional.

O projeto se mostrou muito funcional na tentativa de resolver um problema importante no aprendizado da cirurgia de videolaparoscopia, que é a falta de noção de profundidade na visualização da imagem mostrada no monitor. O conjunto, hardware e software, funcionou dentro do esperado, porém como todo projeto teve seus desafios. Um dos desafios foi encontrar materiais de apoio e pesquisa relacionados tanto para o projeto do hardware quanto para o projeto do software. A idéia de protocolo de comunicação de joysticks é bem pouco pesquisada e sua interface com o microcontrolador apenas dificultou a pesquisa. Na parte de software o desenvolvimento em 3D ainda é algo novo e não muito divulgado dificultando a implementação.

O hardware se mostrou muito eficiente com a conexão com o computador, além da utilização do protocolo de comunicação HID que ajudou bastante no desenvolvimento. Os potenciômetros utilizados tiveram um resultado satisfatório, mas não ideal, para isso seria necessário testes empíricos a fim de encontrar um modelo que se adequasse tanto na estabilidade do sinal quanto no baixo desgaste da sua mecânica conforme a utilização.

O software de realidade virtual 3D pode receber melhoras, aumentando as funcionalidades do ambiente. Por exemplo, a adição de diferentes desafios para que o treinamento de noção de profundidade fosse aumentando gradativamente conforme o usuário explorasse o ambiente e também o aumento da complexidade da física e dos objetos contidos no cenário, quem sabe até chegar a um simulador completo de videolaparoscopia contendo um cenário com a anatomia semelhante à de um ser humano. Outra melhoria a ser feita é no hardware, podendo fazer a substituição dos transdutores usados (potenciômetros) por outros como: encoders, acelerômetros e giroscópios assim a aquisição dos movimentos seria mais precisa. E a fim de chegar a um dispositivo mais completo para ser utilizado em um treinamento é necessário a implementação de force feedback no dispositivo para que o usuário tenha a noção de quando encostar em determinado obstáculo.

Page 60: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

60

REFERÊNCIAS BIBLIOGRÁFICAS

HYDE, J.; USB Design by Example: a practical guide to building I/O devices.

J. Wiley & Sons. New York. 1999

EDDINGS, J.; How Virtual Reality Works. Ziff-Davis Press. Emeryville. 1994

LOURENCO,A.C. et al.; Circuitos em Corrente Continua. Editora Érica. São

Paulo. 2001

PEREIRA, F.; Microcontroladores PIC Programação Em C. Editora Érica. São

Paulo. 2003

COCIAN, L. F. E.; Manual da Linguagem C. Editora Ulbra. Canoas. 2004

SCHILDT, H.; C Completo e Total. Makron books. 1996

BRANCO J.M., ZULLI K.; A Videolaparoscopia no Diagnóstico e Tratamento

da Endometriose. Congresso Médico Universitário do ABC - Santo André. 2008.

<http://lildbi.bireme.br/lildbi/docsonline/lilacs/20090300/214-LILACS-

UPLOAD.pdf> Acesso em: outubro de 2009

UOL - eHealth Latin America. Laparoscopia: Suas Vantagens e Uso na

Identificação e Tratamento de Doenças. 2000.

<http://boasaude.uol.com.br/lib/ShowDoc.cfm?LibDocID=3627&ReturnCatID=476>

Acesso em: outubro de 2009

MISHRA, R.K.; Role of Training in Laparoscopy.

<http://www.laparoscopyhospital.com/laparoscopy.htm> Acesso em: outubro de 2009

Page 61: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

61

USB 2.0 Specification <http://www.usb.org/developers/docs/> Acesso em:

fevereiro de 2009

PHANTOM Desktop - Haptic Device <http://www.sensable.com/haptic-

phantom-desktop.htm#PHANTOM_Desktop> Acesso em: outubro de 2009

Surgical Simulator - The LaparoscopyVR Virtual-Reality System

<http://www.immersion.com/markets/medical/products/laparoscopy/index.html>

Acesso em: setembro de 2009

Laparoscopy Training Solutions <http://www.isurgicals.com/isim.htm> Acesso

em: setembro de 2009

Lapsim <http://www.surgical-science.com> Acesso em: agosto 2009

SPRING - Surgical Simulator <http://spring.stanford.edu/> Acesso em: maio de

2009

PIC18F4550 Datasheet

<http://www.create.ucsb.edu/~dano/CUI/PIC18F4550datasheet.pdf> Acesso em:

fevereiro de 2009

Lite-C - Tutorial da IDE Lite-C <http://tutorial.3dgamestudio.net/> Acesso em:

abril de 2009

VRMSS – Virtual Reality Motor-Skills Simulator

<http://www.tri.jabsom.hawaii.edu/surgicalsimweb/vrms.jsf> Acesso em: agosto de

2009

Joystick ARCADE USB - Bardelli

<http://www.vabsco.com/bardhp/proj/arusb/main.html> Acesso em: junho de 2009

USP - Microprocessadores <http://iris.sel.eesc.usp.br/sel614/> - Acesso em:

outubro de 2009

Page 62: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

62

Framework para Construção de Pacientes Virtuais: Uma Aplicação em

Laparoscopia Virtual <http://www.inf.ufrgs.br/cg/publications/carla/svr2003-

vpat.pdf> Acesso em: março de 2009

HID - Device Class Definition for Human Interface Devices

<http://www.usb.org/developers/devclass_docs/HID1_11.pdf> Acesso em: setembro

de 2009.

Page 63: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

63

ANEXO A <ARTIGO>

Um Ambiente de Realidade Virtual de Videolaparoscopia

Alessandro Brawerman, Diego Roberto de Souza & Rodrigo Daron Wang

Engenharia da Computação – Universidade Positivo - Curitiba – PR – Brasil [email protected] , {rodrigodaron, dstringg}@gmail.com

Resumo – Simuladores de vôo de realidade virtual tem sido

usado a anos para o treinamento de pilotos no mundo todo

visando segurança, baixo custo e facilidade no aprendizado.

Usando essa premissa um simulador de videolaparoscopia

deve ajudar residentes de medicina a aprender os

movimentos básicos desse tipo de cirurgia. A

videolaparoscopia é um método de cirurgia minimamente

invasivo que utiliza duas pinças (ou outros instrumentos) e

uma câmera, então a imagem da cirurgia é exibida em uma

TV. Um cirurgião deve ter uma noção de perspectiva 3D em

uma tela 2D. A idéia do simulador de videolaparoscopia é

treinar o residente de medicina a entender essa idéia de

perspectiva e simplificar o aprendizado de uma cirurgia

laparoscópica. O projeto tem o desenvolvimento de um

ambiente completo desde o hardware representado por um

joystick até o software que é um programa 3D.

Palavras-chave: Laparoscopia, Realidade Virtual,

simuladores, joystick, gráficos 3D.

1 Introdução

O conceito da realidade virtual é representar algo extraído do mundo real para o computador. Então esse projeto é dividido em duas partes: hardware e software.

O hardware é basicamente um joystick na forma de uma pinça de videolaparoscopia e usa a porta USB pela facilidade de conexão e também por que pode ser usada na maioria dos computadores. Existem cinco movimentos: rotação, abrir/fechar a pinça e os eixos X, Y e Z. Esses movimentos são obtidos através de potenciômetros de precisão com a intenção de evitar a flutuação do sinal.

Contido no hardware, encontra-se a parte mecânica que é um sistema para aquisição dos movimentos da maneira mais real possível. Para isso, essa parte mecânica, precisa ser resistente suficiente para suportar a força exercida no joystick, e ainda proporcionar a maior realidade possível dos movimentos.

O software é um programa 3D que simula um ambiente de cirurgia laparoscópica, não no aspecto anatômico, mas na idéia de treinar a perspectiva. Então esse ambiente no fim é composto por pinças, esferas e outro objeto para interação. No futuro pode ser aperfeiçoado para obter um maior realismo na anatomia para expandir o treinamento aproximando à realidade médica. O software usa uma IDE gratuita que é simples de usar e criar, até mesmo objetos 3D, ela também usa uma física simples para proporcionar um pouco mais de realidade. Todo o ambiente é representado na Figura 01, a qual mostra todas as partes do projeto de uma maneira simples.

O nível de dificuldade no simulador não é muito elevado uma vez que a intenção é o treinamento básico, já o hardware tem a capacidade de ser aperfeiçoado para que no futuro possa ser utilizado em um programa mais real já que possui todos os movimentos de possível execução em uma cirurgia.

O dispositivo está usando a porta USB para ser conectado a um computador semelhante a um joystick genérico, para simplificar a parte da comunicação e então o sistema operacional, no caso Windows, reconheça o dispositivo automaticamente e não necessite a instalação de nenhum driver ou software optou-se em utilizar o protocolo de comunicação HID (Human Interface Device) que gerencia toda conexão entre o dispositivo e o computador usando Windows. O software irá obter os dados do joystick

Page 64: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

64

diretamente pelo sistema operacional, porque na IDE que o software foi desenvolvido pode-se usar qualquer joystick, tal como um Controlador do Xbox 360 para Windows.

Figura 01 – Diagrama em blocos do ambiente.

2 Trabalhos Relacionados

Essa seção mostra alguns dos trabalhos relacionados. Comumente eles têm a idéia de simulação de cirurgia utilizando videolaparoscopia, algumas características desses trabalhos foram usadas como inspiração para esse projeto.

O projeto LapVR Surgical Simulator da empresa Immersion [1], é um sistema muito complexo que recria um cenário completo de cirurgia laparoscópica em um sistema virtual. O sistema inteiro é feito em cima de um hardware que integra completamente todas as partes necessárias pra o treinamento, incluindo as pinças, a região pélvica e a tela, com tudo isso ele se torna pesado e grande, mas proporciona uma posição correta para o uso das pinças e a posição usualmente usada para a localização da tela, proporcionando ao usuário uma noção muito próxima do ambiente.

O segundo trabalho é o SPRING [2], o qual é uma plataforma de simulação de tecido mole em tempo real mantida pela Universidade de Stanford. É basicamente um framework, então no site há vários exemplos para serem testados. Esse projeto tem como principal objetivo passar ao estudante uma noção de perspectiva, entre outros desafios para determinado tipo de treinamento de cirurgias. Um simulador em particular que usa SPRING é chamado de VRMSS [3] (simulador de habilidades motoras usando realidade virtual), especificamente projetado para ensinar básicas habilidades motoras usadas em cirurgias em um ambiente abstrato. Ele atribui uma pontuação ao usuário

baseada no desempenho, habilidades motoras (velocidade, precisão e eficiência do movimento) e habilidades cognitivas.

3 Especificação

O projeto consiste em um joystick baseado em uma pinça cirúrgica que é conectado ao computador utilizando a comunicação USB gerenciada por um microcontrolador. No computador o joystick deve ser reconhecido como um joystick USB genérico, então o software 3D representa as pinças virtuais juntamente com o ambiente o qual o usuário pode interagir. A Figura 01 mostra a conexão entre o joystick e o computador utilizando o protocolo de comunicação HID, processado por um microcontrolador. No computador, depois de ser feita a aquisição dos movimentos, o gráfico 3D é modificado conforme o usuário executa os movimentos.

3.1 Hardware

Ambos os joysticks estão usando um microcontrolador da Microchip, o PIC18F4550, o qual possui uma interface USB e portas A/D (analógicas/digitais) [4]; essa última característica é muito importante já que é necessário obter os movimentos dos potenciômetros.

Usando os potenciômetros e um microcontrolador como pode ser visto na Figura 02, o circuito torna-se extremamente simples e barato já que o mesmo utiliza somente alguns capacitores e um cristal além do conector USB.

Figura 02 – Diagrama esquemático do projeto.

O firmware do microcontrolador foi criado utilizando o programa MPLab da Microchip usando a linguagem de programação C. Ele usa o protocolo HID, isso faz com que o sistema operacional reconheça o dispositivo como um joystick padrão e o firmware faz todas as conversões necessárias para passar o sinal obtido dos potenciômetros para o protocolo HID.

Page 65: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

65

3.2 Comunicação

O projeto como um todo tem diversos níveis de comunicação, desde a aquisição de dados até nos movimentos da pinça representada pelo gráfico 3D no computador, esses níveis de comunicação estão representados na Figura 03.

Para a comunicação entre o dispositivo e o sistema operacional não foi desenvolvido nenhum driver específico, em vez disso está sendo usada a solução HID, que é um padrão criado pela USB.

O descriptor HID é uma complexa array de bytes codificada para descrever os pacotes de dados do dispositivo. Isso inclui: quantos pacotes o dispositivo suporta, quão grande são esses pacotes e o propósito de cada byte e bit em cada pacote. Por exemplo, o firmware do joystick com seus cinco movimentos analógicos (Throttle, X, Y, Rx, e Ry) relaciona os valores analógicos convertidos, cada um para uma posição em uma array de cinco posições inteiras, e envia o pacote para o HID descriptor. O HID descriptor é armazenado na memória ROM do microcontrolador a qual não necessita intrinsecamente compreender ou analisar o HID descriptor [5].

Figura 03 – Diagrama de comunicação dos dados.

3.3 Software

O Software foi projetado usando a IDE Lite-C [6] que se apresentou muito fácil para trabalhar com gráficos 3D. Essa IDE é dividida em dois programas, o Script Editor (SED) e o Model Editor (MED). O primeiro é usado para programar utilizando a linguagem C, todos os objetos são carregados nesse programa e todos os movimentos e físicas, também a interação com o joystick é feita com a linguagem C. O segundo programa é para desenvolver objetos 3D de uma maneira simples para que o SED possa interpretar sem maiores problemas.

O programa recria o ambiente da parte interna no sistema, como é ilustrado na Figura 04, onde existe a ponta da pinça e alguns objetos para interação, como dito anteriormente o software não tem a intenção de recriar uma cirurgia real, somente o ambiente de treinamento de noção de profundidade.

Lite-C é uma IDE muito simples para programar gráficos em 3D já que usa comandos da linguagem C para movimentar e interagir com os objetos no ambiente com uma física, mas isso tudo vem com um custo, como o software não se mostra completo em aplicações de mais alto nível.

Figura 04 – Tela de visualização do software 3D.

3.4 Aprimoramentos

Como a IDE do Lite-C tem algumas limitações, no futuro a intenção é usar outra IDE, baseada em XNA para criar um software mais complexo e detalhado para um sistema mais apresentável.

O joystick está passando por um aprimoramento, como está na sua fase de protótipo, o próximo passo é basicamente a melhora da parte mecânica com o objetivo de torná-la muito mais resistente a força do usuário e mais realista para a representação dos movimentos incluindo

Page 66: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

66

uma melhor calibração, e criar uma maneira de calibração em caso de distúrbios funcionais.

4 Resultados Experimentais

Não existem muitos testes a serem executados nesse projeto já que não possui nenhuma parte crítica. Como usa a porta USB para transmitir os dados dos joysticks não há nenhum problema como velocidade já que a taxa de transmissão de dados USB é rápida suficiente tornando impossível notar o atraso, e não possui alimentação externa, pois usa 5V diretamente para alimentação do circuito proveniente da porta USB do computador. O consumo de energia é muito baixo e pode ser comparado ao de um joystick genérico.

Embora, alguns testes foram feitos em um computador com a seguinte especificação:

Processador Atom 1.6Hz

Memória 2GB

Placa de Vídeo Intel 950gme 256mb

S.O. Windows 7 32bits

Os resultados podem ser facilmente visualizados na Tabela 01.

Modo Resolução Pinças Memória Processador(%)

Tela cheia 1024x768 1 30 MB 25

Tela cheia 1024x768 2 36 MB 30 Modo Janela 1024x768 1 36 MB 49 Modo Janela 1024x768 2 36 MB 50

Tela cheia 640x480 1 36 MB 22

Tela cheia 640x480 2 36 MB 25 Modo Janela 640x480 1 36 MB 50 Modo Janela 640x480 2 36 MB 50

Tela cheia 1600x1200 1 36 MB 25

Tela cheia 1600x1200 2 36 MB 25 Modo Janela 1600x1200 1 36 MB 50 Modo Janela 1600x1200 2 36 MB 50

Tabela 01 – Testes de desempenho do computador.

Testes de velocidade foram feitos para obter o atraso no dispositivo. Como foi usado um tempo de 50µs para conversão de cada entrada A/D, o projeto possui cinco

entradas, totalizando 250µs para converter todas as entradas. De acordo com a especificação da USB 2.0, sua velocidade máxima de transferência é de 480Mbit/s[7]. O tamanho total do pacote enviado através do protocolo HID é de 40bits, então a resposta do dispositivo não é um problema já que o tempo é muito rápido para ser notado pelo usuário.

4.1 Precisão

O maior problema é a precisão do projeto já que os movimentos representados no ambiente 3D precisam ser exatamente como os movimentos do joystick. Mas isso pode ser calibrado no programa para que então o usuário possa configurar a fim de obter o mínimo erro.

4.2 Limitação do Software

O software sofre de uma limitação de física por consequência da IDE escolhida, já que a física anatômica é muito complexa. Outra limitação é o gráfico 3D que é muito simples não sendo completamente realista.

4.3 Limitações do Hardware

Como pode ser visto na Figura 05 o joystick está no primeiro protótipo, e tem alguns problemas de confiabilidade. Os potenciômetros podem se desgastar com o tempo e começar a falhar. Com melhores potenciômetros esse problema pode ser solucionado, mas esse tipo de potenciômetro tem seu custo razoavelmente elevado.

Outro problema é a falha mecânica que pode acontecer se o joystick for utilizado de maneira brusca. Podendo quebrar em algumas partes ou perder sua calibração com o potenciômetro comprometendo o sistema como um todo.

Como dito anteriormente o joystick está passando por um aprimoramento então todas suas limitações estão sendo consideradas para resolver esses problemas.

Page 67: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

67

Figura 05 – Primeiro protótipo do Joystick.

5 Conclusão

O principal objetivo do projeto era criar um hardware e um software de maneira que eles podiam ser facilmente aprimorados, modificados e fazer com que a comunicação entre eles fosse a mais genérica possível.

O hardware é muito intuitivo, desde o momento que o usuário interage com ele, visualizando a animação do gráfico 3D, torna-se obvio qual ação é necessária a ser executada no momento.

Muitos usuários forneceram um bom feedback aprovando a noção de profundidade proporcionada pelo software 3D juntamente com sua interação com o hardware e também aprovaram a necessidade do uso das duas pinças simultaneamente para executar determinado objetivo.

O projeto aparenta ser muito promissor, pois usa uma tecnologia simples para criar algo que pode ajudar o treinamento de residentes de medicina em um tipo de cirurgia muito utilizada que tem se tornado muito popular nos dias de hoje por ser minimamente invasiva e facilitar a recuperação do paciente.

Uma tecnologia simples, como o microcontrolador utilizado significa produtos mais baratos que podem ser usados em universidades proporcionando oportunidades para todos.

6 Referências

[1]Immersion , ”Surgical Simulator: The LaparoscopyVR Virtual-Reality System". http://www.immersion.com/markets/medical/products/laparoscopy/index.html . Acessado em: 14/10/2009 [2] SPRING, “SPRING Surgical Simulator”. http://spring.stanford.edu/. Acessado em: 06/10/2009. [3] VRMSS, “Virtual Reality Motor-Skills Simulator”. http://www.tri.jabsom.hawaii.edu/surgicalsimweb/vrms.jsf. Acessado em: 07/10/2009. [4] Microchip, “PIC18FXX5X - Enhanced Flash, USB Microcontrollers

with nanoWatt Technology” Datasheet, 2007. http://ww1.microchip.com/downloads/en/DeviceDoc/39632D.pdf. Acessado em: 02/09/2009. [5] HID, “Human Interface Device”. http://en.wikipedia.org/wiki/Human_interface_device. Acessado em: 01/10/2009. [6] Lite-c, “Lightweight virtual reality language”. http://www.conitec.com/english/gstudio/litec.htm . Acessado em: 10/10/2009. [7] USB, “Universal Serial Bus”. http://www.usb.org/developers/docs/. Acessado em: 22/09/2009.

Page 68: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

68

ANEXO B <MANUAL>

Manual de Instruções

Características:

O Ambiente de Treinamento de videolaparoscopia possui um software com gráficos 3D e dois

joysticks em forma de pinça laparoscópica. No computador deve ser instalado o programa 3D e o

joystick como citado a seguir.

Sistema Requerido:

Processador: Intel Pentium 4, Athlon XP ou superior.

Placa de vídeo: Acelerada com 64MB ou superior.

Memória RAM: 512MB ou superior.

Sistema operacional: Windows XP SP3 / Windows Vista / Windows 7.

Softwares Adicionais: .Net Framework 3.5 ou superior.

Instalação do Software:

1º Passo: Coloque o disco de instalação no drive de CD/DVD (caso tenha o arquivo em mãos

passe para o 2º passo).

2º Passo: Execute o programa Setup.exe.

Page 69: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

69

3º Passo: Clique em Avançar.

4º Passo: Leia e marque a opção Aceito o contrato de licença.

5º Passo: Uma janela com informações deve aparecer então clique em Avançar. Uma nova

janela deve aparecer mostrando modo rápido e modo personalizado. Caso queira mudar o local

de destino clique em Personalizado e siga os passos. Recomendamos o modo Rápido, clique em

Instalar .

6º Passo: A instalação será feita automaticamente. Uma nova janela de informação será aberta,

clique Avançar e então na última janela concluir. O programa será executado automaticamente.

Page 70: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

70

Instalação dos Joysticks:

1º Passo: Localize a Porta USB B do Joystick.

2º Passo: Conecte o cabo USB com a parte B no joystick.

3º Passo: Localize a Porta USB do seu computador.

4º Passo: Conecte o cabo USB com a parte A na porta localizada no computador.

Page 71: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

71

5º Passo: O sistema operacional deverá reconhecer o joystick automaticamente.

6º Passo: O segundo joystick deve ser instalado da mesma maneira.

Obs.: Para testar o joystick e verificar se está funcionando corretamente clique no menu Iniciar-

>Painel de Controle->Controladores de Jogos e clique no Laparoscopy Joystick então uma nova

janela deverá abrir mostrando os eixos que podem ser testados (no Windows Vista ou Windows

7 clique em Iniciar e digite “controladores de jogo” ou “set up USB game controllers”).

Utilização:

Com o aplicativo e o joystick devidamente instalados execute o software pelo atalho no desktop

ou pelo menu iniciar. O software irá mostrar uma tela com as opções de vídeo e números de

pinças, coloque o numero exato de pinças instaladas e clique em Entrar.

Page 72: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

72

Uma tela gráfica será aberta com todos os objetos e as pinças. A idéia do treinamento é colocar a

bola dentro do orifício que se encontra abaixo da caixa.

Movimente a pinça conforme as fotos abaixo para interagir com o cenário virtual. A segunda

pinça tem os mesmos movimentos.

Page 73: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

73

Para sair do programa apenas aperte ESC.

Page 74: Ambiente de Realidade Virtual para Treinamento de ... · NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ... Circuito do projeto ... This project describes a virtual reality environment

74

Perguntas e Respostas:

O que fazer se o software travar ou falhar?

Pressione ESC para sair do programa e reinicie o sistema. Caso não seja possível sair utilizando

o ESC pressione CTRL+ALT+DEL e encerre o aplicativo.

O programa parece funcionar, mas uma ou as duas pinças não se movem, o que fazer?

Pressione ESC para sair do programa. Desconecte a pinça que não esta funcionando espere

alguns minutos e conecte novamente e inicie o programa.

O programa está funcionando e a pinça também, porém os movimentos parecem estar

errados, o que fazer?

Pressione ESC para sair do programa. Deixe a pinça no centro do eixo X e para baixo no eixo

Y(eixos de inclinação) e inicie o programa.