unidad profesional interdisciplinaria de ingenier as y

56
Unidad Profesional Interdisciplinaria de Ingenier ´ ıas y Tecnolog ´ ıas Avanzadas del Instituto Polit ´ ecnico Nacional Ingenier´ ıaBi´onica An´ alisis biomec´ anico y anat´ omico para el modelado din´ amico y simulador virtual del tejido blando con dispositivos h´ apticos. Tesis que presenta Juan Jacobo Gamboa Gomezflores para obtener el Grado de Ingeniero en la Especialidad de Ingenier´ ıaBi´onica Director de la Tesis Dr. Gabriel Cep´ ulveda Cervantes M.C. Santiago Godoy exico ,D.F. Enero de 2010

Upload: others

Post on 28-Jan-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unidad Profesional Interdisciplinaria de Ingenier as y

Unidad Profesional Interdisciplinaria deIngenierıas y Tecnologıas Avanzadas

del Instituto Politecnico Nacional

Ingenierıa Bionica

Analisis biomecanico y anatomico para el

modelado dinamico y simulador virtual del tejido

blando con dispositivos hapticos.

Tesis que presenta

Juan Jacobo Gamboa Gomezflores

para obtener el Grado de

Ingeniero

en la Especialidad de

Ingenierıa Bionica

Director de la Tesis

Dr. Gabriel Cepulveda Cervantes

M.C. Santiago Godoy

Mexico ,D.F. Enero de 2010

Page 2: Unidad Profesional Interdisciplinaria de Ingenier as y

ii

Page 3: Unidad Profesional Interdisciplinaria de Ingenier as y

Resumen

La materia prima de los simuladores de realidad virtual para entrenamiento sonlos modelos 3D, si a estos simuladores se les agrega la capacidad del usuario parainteractuar con el sistema mediante el sentido del tacto se obtiene una experienciacon mayor realismo y por lo tanto un mayor aprendizaje de la tecnica. En esta tesis semuestra una metodologıa para la creacion de modelos 3D con caracterısticas hapticasy visuales, teniendo como principal objetivo obtener las propiedades biomecanicas deestiramiento y deformacion. El modelo dinamico del tejido se utiliza para la simula-cion virtual 3D con la ayuda de dispositivos hapticos. La caracterizacion biomecanicada como resultado el modelo matematico del tejido. La construccion de los modelos3D se realiza mediante un software libre de diseno Blender, la simulacion visual delentorno virtual y de los modelos 3D se desarrollo mediante una aplicacion en Pythoncon un motor de juego profesional libre Panda3D y la renderizacion haptica medianteun dispositivo haptico Falcon de la companıa Novint. Como resultado se obtuvo unsimulador virtual de deformacion y estiramiento de tejido blando (hıgado) con re-troalimentacion visual y haptica capaz de extenderse a cualquier otro tejido con lasmismas herramientas.

iii

Page 4: Unidad Profesional Interdisciplinaria de Ingenier as y

iv

Page 5: Unidad Profesional Interdisciplinaria de Ingenier as y

Agradecimientos

Primero quiero agradecer a Dios quien ha sustentado todo lo que hago en mi viday quien me ha dado fuerza para sobrepasar cualquier adversidad, por darme la opor-tunidad de vivir y seguir adelante en todo este tiempo.A mi abuelita + agradezco porque su nunca perdio la fe en mı siempre me impulso aseguir adelante, con sus palabras de aliento y todas sus acciones me impulsaron aseguir adelante.Agradezco a mis padres agradezco todo su apoyo, toda su confianza pero sobre todosu gran amor que siempre me dio la fuerza en los momentos mas difıciles, toda la pa-ciencia que me dieron fue parte fundamental para lograr esto, los amo Beto y Marina.Agradezco a mi hermano, quien es mi mejor amigo, porque siempre me escucho y meregano cuando mas lo necesitaba, por compartir todos los suenos a mi lado, pero demanera especial te agradezco por que sin tu preocupacion este sueno jamas hubierasido posible, te amo Morokin.Agradezco a toda mi familia por confiar en mı y nunca dejarme caer, a mis tıos,primos, que siempre estuvieron dandome animos.Agradezco a mi Director el Dr. Gabriel Sepulveda Cervantes, por tener la confianzaen mı a pesar de ser un desconocido, por todas sus palabras de aliento, pero sobretodopor la fe que siempre tuvo en mı, sin todo esto jamas se hubiera podido realizar estesueno.Quiero agradecer a mi novia Brenda ya que sin su apoyo y compresion no se hubierarealizado esta meta tan importante para los dos, por ser mi mejor amiga y siempreestar en todos los momentos difıciles durante el transcurso de este proyecto. Te amo.Agradezco al Dr. Omar Domınguez por facilitarme las instalaciones del laboratoriode posgrado en la Universidad Autonoma de Hidalgo, ası como todas las atencionesrecibidas y todo el apoyo brindado, que fueron esenciales para la realizacion de esteproyecto.

Finalmente agradezco a UPIITA y al CIDETEC por todo el apoyo durante mivida profesional.

v

Page 6: Unidad Profesional Interdisciplinaria de Ingenier as y

vi

Page 7: Unidad Profesional Interdisciplinaria de Ingenier as y

Indice general

Resumen III

Agradecimientos V

Indice VIII

1. Introduccion 1

1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Interfaces hombre-maquina . . . . . . . . . . . . . . . . . . . . 1

1.1.2. Dispositivos hapticos . . . . . . . . . . . . . . . . . . . . . . . 2

1.1.3. Interfaces hapticas . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2. Motivacion y Justificacion . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3. Planteamiento del Problema y Solucion . . . . . . . . . . . . . . . . . 5

1.4. Contribuciones de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . 5

1.5. Organizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2. COMPONENTES DE UN SISTEMA DE REALIDAD VIRTUALY APLICACIONES MEDICAS 7

2.1. Concepto de Realidad VIrtual . . . . . . . . . . . . . . . . . . . . . . 7

2.1.1. Elementos claves . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2. Realidad Virtual aplicada en la medicina . . . . . . . . . . . . . . . . 8

3. CARACTERIZACION BIOMECANICA DE TEJIDO BLANDO 11

3.1. Caracterizacion Biomecanica . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1. Definiciones en Biomecanica . . . . . . . . . . . . . . . . . . . 12

3.1.2. Caracterizacion Fuerza - Deformacion . . . . . . . . . . . . . . 12

3.2. Procedimiento de Caracterizacion Biomecanica Experimental . . . . . 12

3.2.1. Robot manipulador . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.2. Sensores de fuerza . . . . . . . . . . . . . . . . . . . . . . . . 14

vii

Page 8: Unidad Profesional Interdisciplinaria de Ingenier as y

viii INDICE GENERAL

3.2.3. Aplicacion de Control y Almacenamiento de Datos . . . . . . 14

3.3. Modelo dinamico de tejido blando . . . . . . . . . . . . . . . . . . . . 15

3.3.1. Procesamiento de datos . . . . . . . . . . . . . . . . . . . . . 16

3.3.2. Modelo matematico de tejido hepatico de ave . . . . . . . . . 17

4. GENERACION DE MODELO 3D 19

4.1. Diseno 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2. Modelo del tejido blando . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2.1. Gimp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.2.2. Generacion de texturas . . . . . . . . . . . . . . . . . . . . . . 20

4.2.3. Normalmaping . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5. RETROALIMENTACION HAPTICA 23

5.1. Novint Falcon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1.1. Lazo Servo y lazo kinestesico . . . . . . . . . . . . . . . . . . . 24

5.1.2. Retrollamada . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.1.3. Generacion de DLL . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2. Generacion de ambientes virtuales basados en Variedades Diferenciales 25

5.2.1. Definicion de Variedad Diferenciable . . . . . . . . . . . . . . 25

5.2.2. Modelo de Control aplicado en el Falcon . . . . . . . . . . . . 26

6. PLATAFORMA EXPERIMENTAL 29

6.1. Reconfiguracion de mallado . . . . . . . . . . . . . . . . . . . . . . . 29

6.1.1. Lectura de un modelo egg en Panda 3D . . . . . . . . . . . . . 29

6.1.2. Algoritmo de lectura de vertices . . . . . . . . . . . . . . . . . 30

6.2. Deformacion de Vertices . . . . . . . . . . . . . . . . . . . . . . . . . 31

6.2.1. Modelo dinamico para la deformacion de Vertices . . . . . . . 31

6.2.2. Deformacion de un mallado 3D . . . . . . . . . . . . . . . . . 32

6.3. Algoritmo de Colisiones con objetos rıgidos . . . . . . . . . . . . . . . 32

6.4. Generacion de la aplicacion . . . . . . . . . . . . . . . . . . . . . . . 33

7. DISENO DE EXPERIMENTOS Y RESULTADOS 35

7.1. Diseno de Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . 35

7.2. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

8. CONCLUSIONES 43

8.1. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

8.2. Publicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

8.3. Trabajo a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Page 9: Unidad Profesional Interdisciplinaria de Ingenier as y

Indice de figuras

1.1. Simulador vitual de cirugıa dental manipulado con dispisitivos hapti-cos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2. Interfaz Haptica Falcon Novint. . . . . . . . . . . . . . . . . . . . . . 3

3.1. Materiales Necesarios. . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2. Efectores Finales Construidos. . . . . . . . . . . . . . . . . . . . . . 14

3.3. Efector Final Tipo Media Esfera. . . . . . . . . . . . . . . . . . . . . 14

3.4. Grafica de Control y Posicion del Robot. . . . . . . . . . . . . . . . . 14

3.5. Instrumentacion de acoplamiento de senal del FlexiForece. . . . . . . 15

3.6. Plataforma Experimental. . . . . . . . . . . . . . . . . . . . . . . . . 15

3.7. Grafica Posicion, Fuerza vs Tiempo. . . . . . . . . . . . . . . . . . . 16

3.8. Grafica de segmento de contacto. . . . . . . . . . . . . . . . . . . . . 17

3.9. Grafica Posicion vs Fuerza. . . . . . . . . . . . . . . . . . . . . . . . 17

4.1. Las normales tienen que estar por vertices. . . . . . . . . . . . . . . 20

4.2. Modelo virtual de hıgado. . . . . . . . . . . . . . . . . . . . . . . . . 21

4.3. Ambiente 3D de un quirofano. . . . . . . . . . . . . . . . . . . . . . 21

5.1. Lazo kinestesico y lazo servo dentro de una interfaz haptica . . . . . 24

6.1. Vertices de manera independiente . . . . . . . . . . . . . . . . . . . . 30

6.2. Vertices de manera independiente . . . . . . . . . . . . . . . . . . . . 31

6.3. Malla inercial. Se muestran pequenas masas conectadas por medio deresortes y amortiguadores. . . . . . . . . . . . . . . . . . . . . . . . . 31

6.4. Ecuacion de un plano. . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.5. Fuera del plano de contacto. . . . . . . . . . . . . . . . . . . . . . . 33

6.6. Contacto en el plano. . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.7. Dentro del plano de contacto . . . . . . . . . . . . . . . . . . . . . . 34

7.1. Proxy virtual creado en Blender. . . . . . . . . . . . . . . . . . . . . 37

7.2. Textura del modelo virtual de hıgado. . . . . . . . . . . . . . . . . . 38

ix

Page 10: Unidad Profesional Interdisciplinaria de Ingenier as y

x INDICE DE FIGURAS

7.3. Textura para crear normalmapping. . . . . . . . . . . . . . . . . . . 38

7.4. Modelo final aplicando todas las texturas. . . . . . . . . . . . . . . . 39

7.5. Modelo virtual de piel hecho en blender. . . . . . . . . . . . . . . . . 39

7.6. Aplicacion Final con el modelo de tejido. . . . . . . . . . . . . . . . 40

7.7. Aplicacion Final con el modelo de piel. . . . . . . . . . . . . . . . . . 40

7.8. Grafica del experimento 1 . . . . . . . . . . . . . . . . . . . . . . . . 41

7.9. Gafica del experimento 2 . . . . . . . . . . . . . . . . . . . . . . . . 41

7.10. Grafica del experimento 3 . . . . . . . . . . . . . . . . . . . . . . . . 42

7.11. Grafica comparativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Page 11: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 1

Introduccion

El trabajo desarrollado en esta tesis, muestra una nueva metologıa para la creacionde modelos 3D con caracterısticas hapticas para utilizarlos dentro de simuladores decirugıa. La metologıa desarrollada provee una herramienta para la creacion, imple-mentacion y analisis de modelos 3D con leyes de control haptico generados a partir desus propiedades biomecanicas; todo dentro de un ambiente virtual con intereaccion entiempo real, para ser utilizados en simuladores de cirugıa. Para ubicar el contexto delpresente trabajo y declara el objetivo, se presentan los antecedentes y lo que motivo yjustifico esta tesis; para posteriormente introducir la respuesta propuesta.

1.1. Antecedentes

Es necesario, en la busqueda de su mejor comprension, mostrar su evolucion des-de las primeras Interfaces Hombre-Maquina (IHM), posteriormente la creacion dedispositivos especializados en la generacion de retroalimentacion kinestesica, despuesprocedemos a presentar el desarrollo de IH ya como se conocen en la actualidad y susproblemas asociados y por ultimo las principales propuestas de algoritmos de controlhaptico.

1.1.1. Interfaces hombre-maquina

Al interactuar con el entorno el ser humano utiliza dos canales de intercomunica-cion: uno de ellos es el canal sensorial con el cual recibe todos los estımulos a travezde sus sentidos, el otro canal es el motor mediante el cual cambia al entorno con lainterracion del cuerpo dentro del medio. En las Interfaces Hombre Maquina los sen-tidos que mas se utilizan son: el tacto, el oido y la vista, mientras que la interaccionmotora se realiza directamente o con el uso de herramientas, las cuales extienden lascapacidades del usuario, siendo el caso de un bisturı, un desarmador o unas tijeras,solo por mencionar algunos. Dicho contacto dependera de la reaccion del hombre aconsecuencia de la informacion que reciba a travez de los sentidos o por la interpre-

1

Page 12: Unidad Profesional Interdisciplinaria de Ingenier as y

2 Capıtulo 1

tacion del conocimiento previo. Esta retroalimentacion provee informacion acerca deentorno en el cual esta inmerso; por ejemplo un cirujano puede diferenciar entre untejido sano de un tejido enfermo por la diferencia de colores o de texturas.

1.1.2. Dispositivos hapticos

Los dispositivos hapticos son aquellos en los que se estimula el sentido del tactomediante un software que permite visualizar en un entorno 3D el tipo de superficie queestamos tocando de manera virtual, buscando que la percepcion haptica sea lo masparecida a la percepcion real. Los dispositivos hapticos se clasifican de la siguientemanera:

Dispositivos hapticos pasivos: Sin realimentacion. Se programa la disipacioncomo una funcion del espacio o del tiempo. (lazo abierto).

Dispositivos hapticos activos: Con realimentacion (lazo cerrado).

EJEMPLOS: En el campo de la cirugıa dental, existen simuladores virtuales [1] queproporcionan la posibilidad de experimentar nuevas y mejores tecnicas de operaciondebido a que estan implementados con dispositivos hapticos, ver Fig. 1.1. La posibili-dad de poder experimentar en ambientes seguros donde todo es virtual le proporcionamayor seguridad al odontologo.

Figura 1.1: Simulador vitual de cirugıa dental manipulado con dispisitivos hapticos.

2

Page 13: Unidad Profesional Interdisciplinaria de Ingenier as y

Introduccion 3

1.1.3. Interfaces hapticas

El novint Falcon, ver Fig. 1.2, es un dispositivo conectado a una serie de pequenosbrazos roboticos. Estos oponen resistencia a la presion y son capaces de simular contoda presicion texturas, contornos de superficies y diversas sensaciones tactiles [2].Este ofrece una posibilidad de control espacial, tanto para videojuegos como paraotras actividades como por ejemplo, modelado en 3D o entrenamiento de cirujanos.

Figura 1.2: Interfaz Haptica Falcon Novint.

1.2. Motivacion y Justificacion

Dados los antecedentes cientıficos y tecnologicos, la siguiente pregunta es pertinen-te: ¿Es posible construir una interfaz haptica dinamica realista basado en caracterısti-cas biomecanicas con tecnologıa de escritorio disponible al dıa de hoy? De ser estoposible ¿Se podrıa disenar aplicaciones relevantes para medicina, como interaccioncon organos virtuales deformables?

1.2.1. Motivacion

La realidad virtual es un ambiente compuesto por simulaciones computacionales,componentes electronicos, sonidos, etc. que proporcionan a los usuarios la sensacionde estar dentro de una ambiente sintetico mediante la retroalimentacion en uno o envarios sentidos dando la sensacion de una inmersion mental o presentes en el mundovirtual [3]. Los entrenadores virtuales son una excelente aplicacion de la realidad vir-tual porque los usuarios desarrollan las habilidades entrenadas de la misma manera

3

Page 14: Unidad Profesional Interdisciplinaria de Ingenier as y

4 Capıtulo 1

que en el mundo real. En la milicia han dado excelentes resultados por ejemplo enEEUU se ha creado un simulador de situaciones de guerra [4]. En la medicina los avan-ces de los ambientes virtuales se utilizan para desarrollar tele-cirugıa, que son cirugıasa distancia manipulando un robot [5], por mencionar algunos. Existen simuladoresde cirugıa que utilizan la deformacion de modelos 3D con solo retroalimentacion vi-sual [6], al adicionar retroalimentacion kinestesica se puede estimular el sentido deltacto en una animacion virtual para desarrollar las habilidades hapticas que solo seconsiguen mediante la experiencia, otorgando una herramienta para practicar sin lanecesidad de tener un cuerpo real con sus lımites de tiempo de vida.

1.2.2. Justificacion

Los algoritmos y metodologıas generadas a partir de sistemas dinamicos y mode-los Euler-Lagrange, proveen una amplia gama de herramientas para la caracterizacionbiomecanica obteniendo un modelo de deformacion,la renderizacion haptica de fuer-zas de contacto y propiedades superficiales, ası como tambien nos proporcionan unadeformacion visual. Sin embargo interfaces hapticas dinamicas con interaccion conobjetos deformables, plasticos y/o elasticos presenta importantes problemas. Algunosalgoritmos actuales han sido probados y analizados bajo diferentes situaciones y em-pleando dispositivos hapticos, es por lo que la generacion de modelos reales basadosen caracterizacion biomecanica resulta una tera nada sencilla ni evidente. Ası quees necesario establecer la metodologıa formal para la generacion de modelos 3d coninterfaces hapticas basada en propiedades biomecanicas y anatomicas.

Los simuladores virtuales 3D son una excelente herramienta para el entrenamientode habilidades para persona como pilotos, mecanicos, medicos, etc., si a estos simu-ladores les agregamos la capacidad al usuario de poder interactuar con el sistemamediante el sentido del tacto se obtiene como resultado una experiencia con mayorrealismo y por lo tanto un mayor aprendizaje de la tecnica. Algunos problemas conlos que experimentan los cirujanos recien recibidos son:

1. Se someten a un gran estres causado por interactuar con un cuerpo vivo.

2. El tiempo en las cirugias disminuye dependiendo de la experiencia del cirujano,por eso los cirujanos novatos tardan mas en realizar la misma cirugia en com-paracion con un cirujano experimentado. Esto tiene como consecuencia que elpaciente esta mas tiempo expuesto a una infeccion y mas tiempo anestesiado.

3. Una posible hemorragia por un error debido a la falta de experiencia del ciru-jano.

4. Una cirugia incorrecta.

5. Danar estructuras del paciente por exceso de fuerza.

4

Page 15: Unidad Profesional Interdisciplinaria de Ingenier as y

Introduccion 5

Al tener un simulador virtual de tejido se comienzan a sentar las bases parasolucionar estos problemas, ya que el practicar en un ambiente virtual 3D controladose dotara a los cirujanos inexpertos con mayor conocimiento, experiencia y seguridada la hora de realizar una cirugia. Por otro lado se podra depurar la tecnica personalde cirugia debido a que se podra repetir un numero infinito de veces con tal soloreiniciar el simulador incrementando el nivel de dificultad de la cirugia. Ademas sepodra realizar un sistema de guiado que ayude al cirujano a realizar una mejor cirugıavirtual, teniendo como consecuencia una mejor cirugıa real ya que se cuenta con mayorexperiencia.

1.3. Planteamiento del Problema y Solucion

El problema a resolver en esta tesis gira en torno a la siguiente pregunta: ¿Esposible la creacion de moldelos 3D con deformacion visula y haptica basados enlas propiedades fisiologicas del tejido real desde una metologıa que sea la base paracualquier tipo de tejido organo o instrumento exportable a cualquier simulador deRealidad Virtual?.

En esta tesis se muestra una solucion a este problema con lo siguiente:

1. Creacion de un marco teorico que pudiera englobar a una clase generica desistemas dinamicos Euler-Langrange de interfaces hapticas.

2. Sintetizar un algoritmo que permita correcta deformacion visual mediante mo-delos Euler-Langrange.

3. Analisis de estabilidad de lazo cerrado dinamico del sistema que permita garan-tizar un comportamiento estable del sistema bajo cada uno de los algoritmosde control.

1.4. Contribuciones de la Tesis

En esta tesis se presenta una solucion viable para la caracterizacion de tejidosasi como la modificacion del principio de penalizacion haptica, proporcionando unametologıa para la creacion de modelos virtuales. Las contribuciones de esta tesis seenumeracion a continuacion:

1. La renderizacion haptica dinamica de fuerzas de contacto.

2. La deformacion visual de un modelo 3D mediante un algoritmo de deteccion deVertices Mınimos Necesarios en PANDA 3D.

3. Renderizacion haptica propiedades superficiales para objetos virtuales deforma-bles.

5

Page 16: Unidad Profesional Interdisciplinaria de Ingenier as y

6 Capıtulo 1

4. La Caracterizacion biomecanica de un tejido mediante el control de un robot yuna tarjeta de adquisicion de datos.

5. Implementacion de modelos matematicos para tejido organico obtenidos me-diante la caracterizacion biomecanica.

6. Implementacion empleando un software profesional avanzado como renderizadorgrafico del mundo virtual, ası como la intercomunicacion entre los distintosprocesos.

7. Generacion de una libreria PANDA 3D con las capacidades de interactuar elmundo virtual con el usuario por medio de la interfaz haptica Falcon.

8. Implementacion en una plataforma computacional bajo un sistema operativode tiempo real, empleando un dispositivo haptico comercial Falcon.

9. Dos artıculos presentados en conferencia nacional.

1.5. Organizacion

En el capıtulo 2 se presenta una descripcion de los componentes de un sistemade Realidad Virtual, ası como las aplicaciones que existen.En el 3 se muestra lametologıa que se diseno e implemento para obtener las caracterısticas de elasticidad ydeformacion de tejido blando. En los capıtulos 4 y 5 se muestran desde como generarel modelo 3D hasta como obtener la retroalimentacion haptica del mismo a partirdel modelo generado en la Caracterizacion Biomecanica propuesta. En el capıtulo 6se reporta el diseno y la implementacion de la plataforma final y los experimentosy resultados de esta se muestran en el capıtulo 7. Por ultimo, en el capıtulo 8 seexpresan las conclusiones de este trabajo ası como el posible trabajo futuro.

6

Page 17: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 2

COMPONENTES DE UNSISTEMA DE REALIDADVIRTUAL Y APLICACIONESMEDICAS

2.1. Concepto de Realidad VIrtual

Es un ambiente compuesto por simulaciones computacionales que proporcionan alos usuarios la sensacion de estar en dentro mediante la retroalimentacion en uno oen varios sentidos dando la sensacion de una inmersion mental o presentes en una si-mulacion. Un ambiente virtual para la simulacion de un modelo nos proporcionara laherramienta para adiestramiento del personal de marina con las ventajas repetir lasveces que sean necesario hasta conseguir la aptitud dada por la aplicacion, simu-lara situaciones reales en el campo de batalla, etc., tendra la capacidad de adiestraral cadete en el grado que mas necesite.[3]

2.1.1. Elementos claves

Los elementos claves en un sistema de realidad virtual son:

Mundo Virtual

Es el entorno en donde se desarrolla la VR y puede existir sin estar siendo expuesto,utilizando rexursos cono sonidos, movimentos, etc. Como es el caso de los librosen donde los escritores describen mundos virtuales mediante los distintos tipos deredaccion ya que una simple palabra genera un entorno virtual con el hecho de veralescrita.Otro ejemplo sencillo es cuando escuchamos una palabra y esta nos lleva arecordar algun suceso que hayamos vivido.

7

Page 18: Unidad Profesional Interdisciplinaria de Ingenier as y

8 Capıtulo 2

Inmersion

Es el efector de sentirse dentro de olvidandose de la realidad. Al ver una pelıcula,leer un libro, jugar un videojuego, etc., el grado de inmersion se mide con la capa-cidad de adentrarse en en sistema dependiendo de la imaginacion que contenga elusuario, surgiendo una relacion proporcional imaginacion - grado; a mayor grado deimaginacion mayor imersion.En Realidad Virtual la inmersion es la capacidad que tiene el ambiente de provocaral usario la sensacion de estar en el mundo real y lo hace madiante :

1. Inmersion Fısica: Es la capacidad del sistema por medios fısicos como imagenes,sonidos, movimientos, tecnologıa, etc., de reemplazar o argumentar estımulos enlos sentidos del usuario.

2. Inmersion Mental : Es la capacidad del sistema de generar un sentido de pre-sencia por medio de la manipulacion de la psicologıa del usuario.

Retroalimentacion sensorial

Es la manera de como interactua el sistema con el usuario por medio de la tecnolgıaque importa, dicho de otra manera es la respuesta del sistema a las acciones que elusuario genera dentro de este.

Interactividad

Es la capacidad del usuario para responder a las acciones del sistema, por ejemplola capacidad de cambiar de perspectiva dentro del mundo virtual, o el tocar algunobjeto dentro del mundo virtual. En este punto se califica con la eficiencia y la facilidaddel usuario para realizarlo.

En la interactividad del sistema de Realidad Virtual surge un ambiente de colabo-racion que es una extension de los elementos de interaccion y se refiere a los multiplesusuarios que interactuan dentro del mismo espacio virtual de manera duirecta conel mundo virtual y/o otros usuarios representados mediante avatars. Resultando unambiente de multipresencia o multiparticipacion.

2.2. Realidad Virtual aplicada en la medicina

Los sistemas de Realidad Virtual han tenido gran aceptacion en el campo de lamedicina porque dotan a los estudiantes de nuevos conocimentos y habilidades ne-cesarias para su vida laboral, con la principal caracterıstica de poder practicar lasveces que sean necesarias hasta adquirir la habilidad deseada en simuladores inertes,que van desde un cuerpo completo con manifestaciones de diferentes enfermedades asegmentos corporales como una cabeza, un brazo, una pierna y realizan procedimien-tos desde el mas sencillo como poner una puncion venosa. Aprendiendo desde como

8

Page 19: Unidad Profesional Interdisciplinaria de Ingenier as y

COMPONENTES DE UN SISTEMA DE REALIDAD VIRTUAL YAPLICACIONES MEDICAS 9

poner una inyeccion, resucitar a una persona, simuladores de parto, etc.[7]. Existensimuladores que ayudan a la planeacion de una cirugıa ya sea mediante anaglifos,resultando un anilisis 3D de radiografıas para la planeacion de una cirugıa Nuero-quirurgica [8] obteniendo ası un mejor manejo y sobre todo conocimiento de comorealizar una operacion mas rapida y eficiente. Para rehabilitar pascientes o analizarpatologıas es muy util el implementar sistemas de realidad virtual, en el Instituto Na-cional de Neurologıa y Neurocirugıa (INNN) actualmente se trabaja la ansiedad pormedio de simuladores en ambientes 3D con paisajes y musica que genera relajacional cuerpo del pasciente por medio de la manipulacion de su mente [9].

9

Page 20: Unidad Profesional Interdisciplinaria de Ingenier as y

10 Capıtulo 2

10

Page 21: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 3

CARACTERIZACIONBIOMECANICA DE TEJIDOBLANDO

La caracterizacion biomecanica de tejido organico y la sıntesis de su modelo ma-tematico en general, proveen de una herramienta que permite el analisis y simulacionde sus propiedades fısicas con diversos propositos, uno de ellos es en aplicaciones deentrenamiento en cirugıa virtual con retroalimentacion tactil y kinestetica. En estecapıtulo se presenta un procedimiento para la caracterizacion de tejido organico y laobtencion de un modelo matematico de fuerza-deformacion, y como caso experimen-tal de estudio se emplea tejido hepatico de ave. El procedimiento experimental parala deformacion fue desarrollado empleando un dispositivo haptico PHANToM Pre-mium 1.0 empleado como un robot completamente actuado y sin memoria mecanicaarticular con alto desempeno espacial, en lazo cerrado con un control PID cartesianopara seguimiento operacional de trayectorias. El efector final fue acondicionado conun sensor de fuerza FLEXI Force A-201 instrumentado con una tarjeta de adquisicionde datos NI USB 6009 programada en Visual C++ version 6.0. La interpretacion dela matriz de caracterizacion y la evaluacion de un metodo de interpolacion polinomialpara la obtencion del modelo resultante fue desarrollada con Matlab 7.0. El procedi-miento puede extenderse a cualquier otro tejido organico que se requiere representarde manera virtual en un simulador.

3.1. Caracterizacion Biomecanica

Son muy numerosos los estudios basados en caracterizacion de tejido blando ası co-mo los procedimientos y ensayos propuestos por sus autores [10] [11][12]. Estos ensayosson realizados comunmente in vivo en organos de cerdo y ex vivo para desarrollar cor-tes y deformaciones, sobre tejido blando de animales con caracterısticas similares altejido humano. Los experimentos se realizan utilizando herramientas especializadas

11

Page 22: Unidad Profesional Interdisciplinaria de Ingenier as y

12 Capıtulo 3

para ejercer presion o crear cortes sobre el tejido.En la caracterizacion aquı presentada se utilizo un hıgado de ave, por la facilidad paramanejarlo, adquirirlo y prepararlo, mientras que para usar tejido humano las razonesde salubridad, moralidad y etica evitaron la prueba, de igual manera para realizarpruebas con tejido de cerdo, ya que el laboratorio no permitıa dichas pruebas, porel tiempo que se llevarıa con este tipo de tejido, ya que el equipo es costoso y lostiempos para realizar pruebas son limitados .

3.1.1. Definiciones en Biomecanica

La biomecanica es una rama de la ingenierıa que estudia los organismos y sus pro-cesos biologicos con la finalidad de comprender sus propiedades mecanicas y hace usode herramientas para conseguir este objetivo. [13]. Auxiliandose de las matematicasy de la robotica se genera un proceso de conocimiento del tejido que se denomina:caracterizacion biomecanica [14]. La caracterizacion biomecanica de un tejido hepati-co de ave y la sıntesis de su modelo matematico proveen de una herramienta paradisenar un modelo virtual exportable para aplicaciones de entrenamiento en cirugıavirtual.

3.1.2. Caracterizacion Fuerza - Deformacion

Un modelo virtual que se basa en un modelo matematico resultante de la caracteri-zacion biomecanica tiene mejores capacidades de retroalimentacion tactil y kinestesicaque un modelo que carece de ellas, dando como resultado que el usuario tenga unamayor inmersion dentro del simulador de cirugıa y ası la practica del entrenamientotenga mejores resultados [15]. Es por ello que surge la necesidad de crear una metodo-logıa para la creacion de tejidos virtuales aplicados en simuladores de cirugıa, la cualimporte las propiedades biomecanicas del tejido real a su homologo virtual. El objeti-vo de realizar una caracterizacion de tejido hepatico de ave, es evaluar las propiedadesde deformacion aplicando una fuerza de manera puntual y encontrar ası un algoritmomatematico que represente dichas deformaciones. Se eligio este tipo de caracterizacionpara sentar las bases y aplicar otro tipo de caracterizaciones con diferentes tejidossiempre y cuando tenga, las infraestructura necesaria, los conocimientos y el tiemposuficiente.

3.2. Procedimiento de Caracterizacion Biomecani-

ca Experimental

La caracterizacion que se realizo de manera experimental pretende crear unametodologıa como parte de lıneas de trabajo futuras en la elaboracion de modeloscomputacionales en 3D para principalmente simuladores de cirugıa con y estudios

12

Page 23: Unidad Profesional Interdisciplinaria de Ingenier as y

CARACTERIZACION BIOMECANICA DE TEJIDO BLANDO 13

relacionados con la simulacion de las propiedades biomecanicas de tejido organico. Acontinuacion se desarrollara la metodologıa propuesta.

3.2.1. Robot manipulador

La fuerza de compresion para deformar el tejido se llevo a cabo mediante el dispo-sitivo PHANTOM Premium 1.0 ver Fig.3.1a, que es un dispositivo haptico que constade posicionadores mecanicos. El PHANTOM Premium realiza censado de posicion enX, Y y Z, efectuando respectivamente la retroalimentacion de fuerzas. Los motores decorriente continua con que cuenta permiten que este ejerza continuamente una fuerza(en posicion nominal) de 0.3 lbp iguales a 1.4N [16].

Figura 3.1: Materiales Necesarios.

Construccion de efectores finales

El efector final se muestra en la Fig.3.1 y sirve para manipular la posicion me-diante el dedo ındice o para recibir la fuerza que proviene de los motores del robot,en este caso se utiliza para ejercer una fuerza sobre el tejido y debido a que original-mente esta disenado para ser manipulado con el dedo ındice se construyo una seriede piezas que sustituiran el efector final, con las cuales se realizo la manipulacion deltejido organico, con la unica finalidad de analizar la respuesta con las distintas formasgeometricas con las que fueron construidas.

Las modificaciones realizadas sobre el robot permiten tener distintos modos decontacto con la superficie del tejido y del sensor, generando varios puntos de compa-racion. El efector final tipo caja mostrado en la Fig.3.2a nos proporciona un contactode manera puntual, generando mayor deformacion del tejido, pero generando menormedicion de fuerza. El efector final que presenta los mejores es el media esfera (Fig.3.2c y Fig.3.3) debido a que ejerce la suficiente presion y deformacion tanto en eltejido como sobre el sensor, en comparacion con los dos anteriormente descritos.

13

Page 24: Unidad Profesional Interdisciplinaria de Ingenier as y

14 Capıtulo 3

Figura 3.2: Efectores Finales Construidos.

Figura 3.3: Efector Final Tipo Media Esfera.

3.2.2. Sensores de fuerza

El sensor cuya funcion es medir la fuerza mediante la deformacion del tejido esun FlexiForce que funciona mediante la variacion de su impedancia entre los rangosmenores a 5 Mega-Ohms [17] dependiendo de la presion que se ejerza sobre el (Fig.3.1b)

3.2.3. Aplicacion de Control y Almacenamiento de Datos

El efector final es montado en el robot y siguiendo una trayectoria trapezoidal enposicion y velocidad durante un periodo de 33 segundos, bajo un control PID. En losvalles de la senal deseada se ejerce presion sobre el material, logrando la deformacion.La velocidad deseada de accion es de 0.05 cm/s ver Fig. 3.4.

Figura 3.4: Grafica de Control y Posicion del Robot.

La posicion es capturada mediante los sensores propios y por medio de un algo-ritmo programado en C++ se obtiene el control descrito anteriormente. La fuerza de

14

Page 25: Unidad Profesional Interdisciplinaria de Ingenier as y

CARACTERIZACION BIOMECANICA DE TEJIDO BLANDO 15

deformacion mediante la tarjeta de adquisicion de datos NI USB 6009 que se instru-mento con base en la referencia del manual de fabricante, utilizando las librerıas enC++.El acoplamiento de la senal del sensor de fuerza FlexiForce se realizo mediante losmanuales del fabricante (Fig. 3.5), instrumentando dicho sensor en la tarjeta de ad-quisicion de datos en una entrada analogica (Fig. 3.6) y ası estar monitoreando lasvariaciones de fuerza sobre la muestra son enviadas a la computadora mediante unprotocolo en USB2 y recibidos en un programa codificado en Visual C++. Posterior-mente los datos son recibidos en un archivo para su posterior analisis.

Figura 3.5: Instrumentacion de acoplamiento de senal del FlexiForece.

Con los archivos que contienen los datos como posicion y velocidad del Phantom,el tiempo y la fuerza ejercida sobre el sensor se procede al analisis mediante Matlabpara obtener un modelo matematico que describa las propiedades biomecanicas de de-formacion aplicando una fuerza puntual. La plataforma puesta en marcha se muestraen la Fig. 3.6

Figura 3.6: Plataforma Experimental.

3.3. Modelo dinamico de tejido blando

El principal problema enfrentado para la caracterizacion de tejido de ave es lamanipulacion misma del tejido, esto debido al tipo de efector final construido, ne-cesitando crear muestras de 2x2x1 cm. El tejido debe tener un tiempo de vida no

15

Page 26: Unidad Profesional Interdisciplinaria de Ingenier as y

16 Capıtulo 3

mayor a 2 horas para evitar que comience su estado de descomposicion o rigormortisy tener errores en los ensayos y mediciones. El objetivo del ensayo de deformacionpuntual es la determinacion de las caracterısticas mecanicas de deformacion del tejidorespecto a la fuerza aplicada sobre el. El procedimiento de ensayo se desarrollo bajolas siguientes tareas:

1. La muestra se coloca en el centro de la plataforma.

2. Se coloca el Efector Final en el robot

3. Se coloca el FlexiForce es la superficie de la muestra

4. El ensayo se lleva a cabo bajo control en desplazamiento a una velocidad delbrazo de accion de 0.05 cm/s. Con esto se pretende evitar cualquier dano altejido y una correcta medicion.

5. Al finalizar el ensayo se repite con la misma muestra y se cambia el efector final.Despues se toma otra muestra y se reconstruye el experimento.

3.3.1. Procesamiento de datos

Los resultados obtenidos fueron analizados mediante el software MATLAB 7 .0en donde se procesan los datos de posicion y velocidad del robot ası como la fuerzaregistrada por el sensor FlexiForce mediante la tarjeta de adquisicion NI USB 6009.Debido a que el ensayo de deformacion del tejido en mas de una ocasion, los resultadosfueron separados e interpretados de manera individual.Los segmentos de evaluacion donde se ejerce la deformacion se determinan a partirdel momento que el robot PHANToM hace contacto con el tejido esto a 3cm denel eje coordenado y por debajo de la posicion de home del robot, aproximadamente,hasta el punto maximo de penetracion. Para evitar el efecto de histeresis, se mantienecontacto un tiempo aproximadamente de 1 segundo como se muestra en la Fig.3.7.

Figura 3.7: Grafica Posicion, Fuerza vs Tiempo.

16

Page 27: Unidad Profesional Interdisciplinaria de Ingenier as y

CARACTERIZACION BIOMECANICA DE TEJIDO BLANDO 17

3.3.2. Modelo matematico de tejido hepatico de ave

De los datos obtenidos durante el ensayo de deformacion, se obtuvo la grafica dedeformacion contra fuerza, para cada segmento de contacto, como se aprecia en laFig.3.8

Figura 3.8: Grafica de segmento de contacto.

Para un correcto estudio de los valores obtenidos se realizo una aproximacion polinominal de cuarto orden y se alineo la grafica en sus ejes X y Y con respecto a lospuntos de inicio de la deformacion, ası como la fuerza preestablecida en el sensor(Fig.3.9), esta se obtuvo creando un arreglo de valores en donde no existıa contactocon el tejido y obteniendo su media aritmetica, las variaciones entre cada ensayo sedeben a las limitaciones de la plataforma experimental, ası como las condiciones fısi-cas del tejido.

Figura 3.9: Grafica Posicion vs Fuerza.

La media aritmetica de los ensayos se obtuvo sumando los coeficientes del mismo

17

Page 28: Unidad Profesional Interdisciplinaria de Ingenier as y

18 Capıtulo 3

orden de toas las ecuaciones obtenidas (una ecuacion por ensayo) y dividiendo entreel numero de ensayos.Mediante la aproximacion polinomial se obtuvo un modelo matematico (3.1) el cualexplica la deformacion que sufre un tipo de tejido interno ave, en este caso hıgado,mediante la fuerza ejercida por el robot de manera puntual. Dicho polinomio se ex-presa de la siguiente forma:

F = −896121,47314144x4+393628,72742696x3−3887,89950268x2+11,80999310x+,09251403(3.1)

Donde x representa la deformacion del tejido y F la fuerza de respuesta debidoa esta deformacion. Este polinomio es de suma importancia ya que provee un mode-lo matematico que permite simular un tejido hepatico de ave mediante dispositivoshapticos, obteniendo sensaciones tactiles semejantes a las reales.

18

Page 29: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 4

GENERACION DE MODELO 3D

Blender es un programa de modelado en 3D, apoyado por varias herramientas,es multiplataforma (corre en windows XP, Vista 32 y 64 bits, Linux 32 y 64 bits,MacOS, solaris, etc.). Fue creado por la empresa Not a Number (NaN).

Esta orientado a artistas y profesionales del diseno y multimedia, puede ser usadopara crear, visualizaciones 3D estaticas o vıdeos de alta calidad. Tambien incorporaun motor de 3D en tiempo real el cual permite la creacion de contenido tridimensionalinteractivo que puede ser reproducido de forma independiente.

4.1. Diseno 3D

El modelo 3D que representa el organo, solo debe cumplir con las siguientes normasde diseno:

1. Las normales deben ser por vertice en lugar de estar por cara.

2. Las caras de los polıgonos deben estar en triangulos.(Fig.4.1)

3. No exceder las 500 caras para tener un funcionamiento correcto.

4. Debe contener binormales y tangentes.

4.2. Modelo del tejido blando

4.2.1. Gimp

El GIMP es una abreviatura para Programa General de la Manipulacion de Imagen(General Image Manipulation Program por sus siglas en ingles) (o el GNU Programade Manipulacion de Imagen). El GIMP es un programa gratuito, robusto y poderosopara pintar, para el procesamiento de imagenes y para manipular grafico. La principalutilidad de este software es la generacion de texturas.

19

Page 30: Unidad Profesional Interdisciplinaria de Ingenier as y

20 Capıtulo 4

Figura 4.1: Las normales tienen que estar por vertices.

4.2.2. Generacion de texturas

Para dar un mayor realismo al tejido virtual, en GIMP se disenan las texturas tantola exterior como la necesaria para crear el efecto de profundidad (normalmaping). Lageneracion de texturas es a partir de la imagen de beakeado creada en blender.

4.2.3. Normalmaping

El efecto de Normalmaping es un efecto de iluminacion mediante una tecnica 3Dque genera una ilusion de tener superficies en un plano modificando la distribucionde normales de la textura, dando la apareiencia que el material tiene bordes creandomayor realismo. Esta tecnica funciona almacenando la informacion del vector normala la superficie de los objetos en colores RGB. La ventaja de utilizar esta tecnica es lade dotar al modelo de mejor calidad sin tener mas poligonos, dando como resultadoun modelo eficaz. Una vez creada la textura necesaria para el Normalmaping hay queagregarla al modelo mediante blender.

El desarrollo del modelo 3D que se utiliza para simular el tejido hepatico se muestraen la Fig.4.2, observando que tiene aplicada las texturas generadas en blender ymodificadas en GIMP.

El ambiente 3D donde se desarrolla la aplicacion final se muestra en la Fig.4.3.

20

Page 31: Unidad Profesional Interdisciplinaria de Ingenier as y

GENERACION DE MODELO 3D 21

Figura 4.2: Modelo virtual de hıgado.

Figura 4.3: Ambiente 3D de un quirofano.

21

Page 32: Unidad Profesional Interdisciplinaria de Ingenier as y

22 Capıtulo 4

22

Page 33: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 5

RETROALIMENTACIONHAPTICA

5.1. Novint Falcon

Los dispositivos comunes como el teclado y el raton de computadora son conside-rados dispositivos pasivos de entrada, ya que no generan ninguna retroalimentacionkinestesica al usuario. Por otro lado, los dispositivos hapticos son dispositivos activosque generan un lazo cerrado de informacion entre el usuario y el sistema de computo.El Novint Falcon es un robot paralelo con tres brazos unidos mediante un efector final.Cuenta con 3 grados de libertad con su etapa de potencia y comunicacion incluidosdentro de la base del mismo.

La forma en que el usuario,el disositivo haptico y el sistema de computo inter-actuan es la siguiente:

1. El usuario manipula el efector final del dispositivo haptico y de esta maneraintroduce informacion al sistema.

2. El dispositivo haptico codifica las nuevas coordenadas a traves del encoder osensores de posicion y velocidad.

3. La informacion de posicion y velocidad del dispositivo es enviada a un sistemade computo a traves del sistema de comunicacion propio del dispositivo.

4. Posteriormente se evalua un algoritmo para la renderizacion de fuerzas de con-tacto para establecer la retroalimentacion kinestesica y/o tactil.

5. El resultado es enviado al servocontrolador del dispositivo, para producir alafuerza de reaccion virtual en el efector final del dispositivo real.

23

Page 34: Unidad Profesional Interdisciplinaria de Ingenier as y

24 Capıtulo 5

5.1.1. Lazo Servo y lazo kinestesico

Al lazo formado entre el operador y el dispositivo se le llama lazo kinestesico, verFig. 5.1 lado izquierdo. Por otro lado al lazo formado entre el dispositivo haptico yel sistema de computo se le llama lazo servo o lazo de control; hay un tercer lazo,el lazo visual que existe entre el monitor y los ojos del operador, ver Fig. 5.1 ladoderecho. Todo esto tiene como resultado una mayor inmersion en el usuario dentrodel ambiente virtual.

Figura 5.1: Lazo kinestesico y lazo servo dentro de una interfaz haptica .

5.1.2. Retrollamada

Para generar una percepcion de continuidad durante la estimulacion kinestesicadel operador, la frecuencia de refresco haptica debe ser menos de 1 KHz [18][19].Debido a que el dispositivo haptico estimula el anal kinestesico y/o tactil del operadory debido a que el sistema es por naturaleza muestreado, se requiere que el sistemafuncione con frecuencias de refresco latas, impuestas por el umbral de percepcionhumana. Lo anterior implica una restriccion importante en cuanto a la metodologıade control del dispositivo , por lo que se requiere una plataforma de adquisicion yprocesamiento en tiempo real que asegura las frecuencias de refresco. Es evidente quepara poder sintetizar una interfaz haptica como el Falcon, es necesario interactuar anivel dinamico en tiempo real, puesto que en todo momento el cuerpo del operadoresta acoplado con el Falcon.Para asegurar que el Falcon trabaje de manera correcta y continua se auxilia de uncallback que se trata de una cierta funcion API que realiza una accion dada sobre unacierta cantidad de elementos internos del sistema, como todas las ventanas de ciertotipo. Tal funcion, tambien llamada funcion enumerada, requiere como parametro laaccion que ha de ejecutarse en cada elemento, que se transmite como una funciono procedimiento compatible con un tipo de procedimiento dado de otra forma un

24

Page 35: Unidad Profesional Interdisciplinaria de Ingenier as y

RETROALIMENTACION HAPTICA 25

Callback es un codigo ejecutable que es pasado como un argumento a otro codigo.Esto permite al software de la capa de bajo nivel llamar a una subrutina (funcion)definida en una capa de alto nivel.

5.1.3. Generacion de DLL

Para tener control sobre el Falcon hay que generar un programa en C++ con laayuda del SDK (Kit de Desarrollo de Software) que proporciona el fabricante. Sinembargo solo proporciona las librerıas y el algoritmo del lazo servo para manipular elproducto. Por esta razon se genero una DLL con funciones basicas [20].

Una Librerıa de Enlace Dinamico es la implementacion de Microsoft del conceptode librerıas compartidas en Sistemas Windows y OS/2. Generalmente estas librerıasllevan la extension .dll, o .ocx (que contienen controles ActiveX), o .dvr (controladoresdel sistema), los DLL pueden contener codigos, datos y recursos. Las bibliotecas DLLserıan una evolucion de las bibliotecas estaticas. Usarlos en el desarrollo de programastrae ciertas ventajas como:

1. Reduccion del tamano de los archivos ejecutables: pues parte del codigo puedeestar en las bibliotecas y no en el ejecutable.

2. Compartir bibliotecas entre aplicaciones.

3. Facilitar la gestion y aprovechar la memoria del sistema.

4. Brindar flexibilidad frente a cambios: la solucion de errores o la implementa-cion de mejoras puede solucionarse solo con distribuir una nueva version de labiblioteca. Esta correccion, en general, sera valida para todas las aplicacionesque la utilicen [21].

A esta librerıa se le agrego un codigo denominado HAPTICS EFFECT con el quemodificamos el control del Falcon, generando mas efector de retroalimentacion hapticacon el usuario.

5.2. Generacion de ambientes virtuales basados en

Variedades Diferenciales

5.2.1. Definicion de Variedad Diferenciable

Dado un espacio euclidiano E ∈ Rn, es una familia de variedades continuamentediferenciables V ∈ E de dimension k puede ser definida a partir de la funcion implicitaϕ : Rn → Rm,con m ≤ n, de la forma siguiente:

V = {s ∈ Rn | ϕ(s)− a = 0} (5.1)

25

Page 36: Unidad Profesional Interdisciplinaria de Ingenier as y

26 Capıtulo 5

donde ϕ(s) ∈ C2(E), a ∈ Rm es un vector constante que define a cada una de lasvariedades dentro de la familia. La matriz Jacobiana de ϕ(s) esta dada por:

Jϕ =

[∂

∂s1ϕ(s), . . . ,

∂snϕ(s)

], rank(Jϕ) = k (5.2)

5.2.2. Modelo de Control aplicado en el Falcon

El Falcon es un dispositivo haptico comercial desarrollado para videojuegos, porlo que el modelo dinamico no se encuentra en la literatura. Como se considera que esun robot manipulador su modelo dinamico:

H(q)q + C(q, q)q + g(q) = τ (5.3)

Donde (q, q) ∈ R2n son vectores que representan las posiciones y velocidades n esel numero de grados de libertad, H(q) ∈ Rn×n es una matriz que representa las fuerzasinerciales del robot con H(q) = H(q)T definida positiva,C(q, q) ∈ Rn×n es una matrizque representa las fuerzas de Coriolis g(q) ∈ Rn es el vector de pares gravitacionalesτ ∈ Rn es un vector que representa los pares de entrada en cada articulacion.Es atraves de los grados de libertad de posicion y orientacion que se sintetiza la posiciony orientacion del proxy dentro del ambiente virtual, respectivamente. Los pares decontrol τ que genera el motor haptico para lograr la estimulacion kinestesica, sobre eloperador se calculan con base en las interacciones presentes entre el proxy y el mundovirtual, a esto se le conoce como Control Haptica.[22][23][24][25].El dispositivo haptico responde a una ley de control que permite al usuario experi-mental con mas realismo en el simulador:

τ1 = C(q, q)q + g(q)− PH(q)Jϕ∗Jϕq −QH(q)Qq − JTϕ λd −Qζd (5.4)

Jϕ =

[∂

∂q1ϕ(q), . . . ,

∂qnϕ(q)

](5.5)

Jψi=

[∂

∂q1ψi(q), . . . ,

∂qnψi(q)

](5.6)

donde

P =JTϕJϕJTϕ

Jϕ (5.7)

Q =

Jψ1

Jψ2

...Jψn

(5.8)

26

Page 37: Unidad Profesional Interdisciplinaria de Ingenier as y

RETROALIMENTACION HAPTICA 27

Donde λd y ζd son variables auxiliares de control que inducen una dinamica desea-da. Para obtener una correcta recreacion durante la interaccion del usuario con elobjeto virtual con propiedades elasticas no lineales como es el caso del tejido organi-co. En 5.5 definimos las variables necesarias para implementar el modelo matematicodel tejido en nuestra ley de control 5.4 y poder generar una sensacion semejante a lareal.

27

Page 38: Unidad Profesional Interdisciplinaria de Ingenier as y

28 Capıtulo 5

28

Page 39: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 6

PLATAFORMAEXPERIMENTAL

En este capıtulo describiremos el prototipo que cuenta con un algoritmo de pro-gramacion para la deformacion de vertices para tener ası la deformacion visual con laretroalimentacion del dispositivo haptico. Panda3D es un motor de videojuegos queincluye manejo de graficos, audio I/O, la deteccion de colisiones y otras habilidadesrelevantes para la creacion de videojuegos, es una herramienta para trabajos de ma-nera profesional, siendo multiplataforma y libre.Panda3D esta disenado como una api para trabajar sobre Python, el motor en sı mis-mo esta escrito en C++ y utiliza un generador automatico de envoltorio, para exponerla funcionalidad completa del motor en una interfaz en Python. Este enfoque da undesarrollador de las ventanas de Python. Este ultimo es el programa base en el quese desarrolla toda el prototipo, es un lenguaje interpretado y manejado por scriptsdando como resultado una herramienta para programar de manera flexible.

6.1. Reconfiguracion de mallado

El modelo que se construyo en Blender con capacidades 3D es la base para ladeformacion visual, sin embargo para exportarlo a Panda3D y poder utilizarlo en laaplicacion es necesario crear un algoritmo que modifique las capacidades del mode-lo, de otra manera no tenemos acceso a los vertices, haciendo imposible generar ladeformacion visual.

6.1.1. Lectura de un modelo egg en Panda 3D

Un modelo egg en Panda3D esta compuesto de una serie de instrucciones queindican el numero de vertices, texturas, etc., sin embargo en Panda3D no se puedeacceder a los vertices del modelo de una manera ordenada, ya que por cada cara poneel numero de vertices que lo forman y la cara vecina tambien tiene el mismo numero de

29

Page 40: Unidad Profesional Interdisciplinaria de Ingenier as y

30 Capıtulo 6

vertices dando como resultado que Panda3D aumente el numero de vertices en realcional numero de caras. Esta manera de organizar los vertices hace que existan verticessiempre anclados a una solo cara, generando ası que la deformacion al manipular unsolo vertice se haga solo en un cara como se puede observar en la Fig.6.1 ya que no essuficiente desplazar un solo vertice para generar una movimiento el dos caras o mas.

Figura 6.1: Vertices de manera independiente .

6.1.2. Algoritmo de lectura de vertices

Por esta razon se desarrollo una librerıa en Python para decodificar el archivo egg.En esta librerıa primero se localizan los vertices y se almacenan en una lista la cualdetecta lo que pertenecen a dos caras simultaneamente y los define como verticesgemelos, posteriormente almacena las caras en una lista, la cual indica cuales sonlas caras y que vertices contienen para generar los vertices vecinos. Las texturas delmodelo se obtienen almacenando en una lista los UV. Una vez identificados los verticesgemelos con sus respectivos vecinos, se redisenar el archivo egg mediante la creacionde una estructura interna de Panda3D llamada GeomVertexData, ası al redibujarel modelo con el MVR (Mınimo de Vertices Requeridos) se obtiene una geometrıaprimitiva la cual esta compuesta por una serie de columnas que indican las propiedadesmodificables de la nueva estructura. Con la creacion de la geometrıa primitiva elsiguiente paso es agregarle los datos obtenidos del modelo original. El resultado quese tiene de este algoritmo es un modelo con MVR capaz de ser deformable con eldesplazamiento de un solo vertice (Fig. 6.2).

30

Page 41: Unidad Profesional Interdisciplinaria de Ingenier as y

PLATAFORMA EXPERIMENTAL 31

Figura 6.2: Vertices de manera independiente .

6.2. Deformacion de Vertices

La deformacion de la malla se realiza utilizando mallas inerciales mediante elefecto de masa-resorte-amortiguador (Fig. 6.3)

Figura 6.3: Malla inercial. Se muestran pequenas masas conectadas por medio de resortesy amortiguadores.

.

6.2.1. Modelo dinamico para la deformacion de Vertices

El modelo dinamico de la malla inercial es el siguiente:

mixi + Σnj=1bijxij + Σn

j=1kij∆xij + ki0xi = Fi (6.1)

31

Page 42: Unidad Profesional Interdisciplinaria de Ingenier as y

32 Capıtulo 6

6.2.2. Deformacion de un mallado 3D

Las colisiones se detectan en Panda3D y mediante la utilizacion de mensajes seaplica el modelo de defromacion de la siguiente forma:

1. Se realiza el contacto del proxy con el objeto 3D.

2. El contacto manda un mensaje indicando que hubo colision en el mundo virtual.

3. El mensaje manda llamar una funcion que toma los valores del nodo en el quese realizo dicha colision, mandando un nuevo mensaje con estos datos.

4. La funcion de deformacion se activa al recibir el mensaje y aplica el modelo dedeformacion (6.1).

Dando como resultado el efecto de deformacion de una malla como sucede en el mundoreal.

6.3. Algoritmo de Colisiones con objetos rıgidos

Para la deteccion de contacto se empleo la ecuacion de un plano (Fig.6.4) que alevaluarlo si se encuentra por debajo o arriba del plano mediante la evaluacion de laecuacion implıcita define la variedad diferenciable que representa al plano. .

Figura 6.4: Ecuacion de un plano.

Donde:

El vector (x, y, z) corresponde a los puntos de contacto con la superficie y el vec-tor (A,B,C) se obtiene mediante (6.2)

A = N [x] (6.2)

B = N [y] (6.3)

C = N [z] (6.4)

32

Page 43: Unidad Profesional Interdisciplinaria de Ingenier as y

PLATAFORMA EXPERIMENTAL 33

N corresponde a la Normal con respecto al plano y D se obtiene con la ecuacion (6.5)

D = − (Ax+Bx+ Cz) (6.5)

Ahora se evalua la variedad en (6.6)

ϕ= Ax+Bx+ Cz +D (6.6)

ϕ> 0 (6.7)

ϕ= 0 (6.8)

ϕ< 0 (6.9)

Al evaluar la ecuacion, si ϕ > 0 entonces indica que el punto de contacto esta porencima del plano determinando que esta fuera del objeto como lo muestra la Fig.6.5

Figura 6.5: Fuera del plano de contacto.

.

mientras que si ϕ = 0 expresa que esta sobre el plano realizando un contacto enel objeto (fig.6.6)

. Y por ultimo si ϕ > 0 nos indica que se encuentra dentro de la superficie decontacto (Fig.6.7)

La normal y el punto de contacto se obtienen al detectar una colision en el mundovirtual y se mandan estos datos a la librerıa de enlace dinamico por medio del callback,dicha DLL trabaja a 1KH, manipulando ası el lazo servo del Falcon que es donde serealiza la renderizacion haptica.

6.4. Generacion de la aplicacion

AL haber realizado el modelo virtual 3D en Blender se obervo que todas las carasdeben exportarse en triangulos para que el algoritmo de reconocimiento y creacion de

33

Page 44: Unidad Profesional Interdisciplinaria de Ingenier as y

34 Capıtulo 6

Figura 6.6: Contacto en el plano.

Figura 6.7: Dentro del plano de contacto

MVR se efectue correctamente. En caso contrario la generacion de la malla inercialde MVR no se realiza de la forma adecuada.

En Panda3D se genero una librerıa para tener acceso a las funciones de la DLLy manipular solo los datos en el ambiente de Panda3D, obteniendo como resultadouna aplicacion para manipular el Falcon desde Panda3D utilizando la DLL generadaanteriormente.

34

Page 45: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 7

DISENO DE EXPERIMENTOS YRESULTADOS

En esta seccion se muestran los resultados experimentales de la plataforma expe-rimental, ası como la implementacion de distintos modelos dinamicos virtuales corro-borando la funcionalidad del sistema.

7.1. Diseno de Experimentos

El objetivo de la plataforma experimental es aplicar el modelo obtenido de lacaracterizacion biomecanica en un ambiente virtual y mediante el uso de FALCONsimular la sensaicion haptica con la la interaccion con los objetos virtuales, y medianteel algoritmo de MVR percibir la deformacion visual. Para lograrlo se realizaron 2experimentos que se expresan a continuacion:

1. Experimento 1:La forma en que el usuario es parte del mundo virtual es mediante la mani-pulacion de un objeto dentro del mismo, por ello que se construyo un modeloen blender que sirve como interfaz.La interfaz virtual entre los modelos hechosen blender y el falcon se hace mediante otro modelo el cual se denomina proxy(ver Fig.7.1), este es el que recibe las posiciones del Falcon e interactua en elmundo virtual, de este modo los modelos creados en el capıtulo 4, se carganen Panda3D y mediante una herramienta de textura se le aplica el efecto desuperficie (normalmapping, ver Figs. 7.2, 7.3, 7.4), dando como resultado unambiente detallado (Fig. 7.6). La aplicacion final consiste en sentir el modelomientras se deforma visualmente, estimulando de igual manera el sentido deltacto y la vista.La aplicacion mediante la DLL recibe las posiciones del Falcon y las tranfiereal proxy, transladando de esta manera los movimientos del usuario a los movi-mientos del proxy en el mundo virtual, cuando el proxy toca un objeto virtualse realiza una colision y al realizar la colision entre los dos objetos en Panda3D

35

Page 46: Unidad Profesional Interdisciplinaria de Ingenier as y

36 Capıtulo 7

se manda llamar una funcion que le otorga los valores de la normal y el puntode contacto a la DLL, para que esta ultima calcule el contacto y con el algo-ritmo de colisiones con objetos rıgidos (ver capıtulo 6), se calcule la fuerza derespuesta en los encoders del Falcon, en el mismo instante la colision activa ladeformacion de vertices de la malla con la que se esta interactuando.

2. Experimento 2:En este experimento se genera en blender un modelo que representa la piel (Fig.7.5) con forma de plano con menos detalles, siendo el objetivo principal realizarlas colisiones con otro objeto virtual, al solo tener un plano se libera carga alprocesador. El proxy interactua con el tejido virtual y utiliza la misma algoritmaque en el experimento anterior (ver Fig. 7.7).

3. Experimento 3:El experimento consta en comprobar la diferencia de realizar las colisiones en ellazo de 1Khz con las colisiones en el lazo de 60 Hz, para ello se realizo una apli-cacion que modifica el modelo de retroalimentacion haptica dentro de la DLL,teniendo ası una interfaz capaz de interactuar con el sentido del tacto perci-biendo distintas sensaciones kinestesicas. Los modelos que se implementaronpara esta apliacion fueron el modelo obtenido de la caracterizacion biomecanicaobtenida en este trabajo (ver Capıtulo 3), un modelo de Boyer (masa-resorte-amortiguador) y un modelo exponencial de tejido de cerdo. La algoritmia aseguir consta de tomar el Falcon e interactuar con un plano ya definido en elorigen y mediante los botones del Falcon cambiar el modelo haptico.

Para validar los experimentos y poder comparar el modelo programado con elmodelo obtenido en la caracterizacion se desarrollo una funcion extra en la DLLcapaz de escribir en un archivo .txt las posiciones, la fuerza y la velocidad del Falconmientras interactua en el mundo virtual.La Grafica 1 (Fig. 7.8) indica como la fuerza se comporto durante el experimento 1 algraficar deformacion vs fuerza utilizando el modelo biomecanico obtenido en esta tesis,en esta prueba se colisiono varia veces con el tejido virtual. El experimento 2 muestramediante la grafica 2 una ligera mejorıa de la respuesta haptica al quitarle trabajo alprocesador con un modelo con un ındice de polıgonos menor en comparacion con elexperimento 1. Por ultimo en el experimento 3 se observa una grafica mas detalladapuesto que las colisiones se realizan en el lazo servo (ver Capıtulo 6) y no existe la partevisual, de esta manera solo evaluamos la parte haptica del sistema. La grafica 4 (verFig.7.11) es una comparacion entre el modelo obtenido en la comparacinon siendola lınea negra y la grafica obtenida en el experimento 3 (lınea roja), dando comoresultado que la en el periodo de deformacion de .5 cm hasta 2 cm son semejantesmientras que el resto es distinto, esto sucede debido a que en el modelo obtenido dela caracterizacon solo se evalua la deformacion vs fuerza en un tiempo sin importarla viscosidad y en el modelo programado se implemento una viscosidad mınima.

36

Page 47: Unidad Profesional Interdisciplinaria de Ingenier as y

DISENO DE EXPERIMENTOS Y RESULTADOS 37

Figura 7.1: Proxy virtual creado en Blender.

7.2. Resultados

Los resultados obtenidos al concluir con la etapa de experimentacion son los si-guientes:

1. La deformacion visual del mallado necesita requerimientos computacionales po-tentes para generar graficos correctos.

2. Al cambiar de objeto virtual por un modelo con menos poligonos el sistemaresponde de manera correcta.

3. El solo evaluar la parte haptica genera una mejor retroalimentacion ya que elsistema se convierte en un sistema de un solo proposito.

4. La reconfiguracion del objeto a deformar produce gran consumo de computo.

5. La programacion de distintos modelos hapticos comprueba la estabilidad de laDLL.

37

Page 48: Unidad Profesional Interdisciplinaria de Ingenier as y

38 Capıtulo 7

Figura 7.2: Textura del modelo virtual de hıgado.

Figura 7.3: Textura para crear normalmapping.

38

Page 49: Unidad Profesional Interdisciplinaria de Ingenier as y

DISENO DE EXPERIMENTOS Y RESULTADOS 39

Figura 7.4: Modelo final aplicando todas las texturas.

Figura 7.5: Modelo virtual de piel hecho en blender.

39

Page 50: Unidad Profesional Interdisciplinaria de Ingenier as y

40 Capıtulo 7

Figura 7.6: Aplicacion Final con el modelo de tejido.

Figura 7.7: Aplicacion Final con el modelo de piel.

40

Page 51: Unidad Profesional Interdisciplinaria de Ingenier as y

DISENO DE EXPERIMENTOS Y RESULTADOS 41

Figura 7.8: Grafica del experimento 1

Figura 7.9: Gafica del experimento 2

41

Page 52: Unidad Profesional Interdisciplinaria de Ingenier as y

42 Capıtulo 7

Figura 7.10: Grafica del experimento 3

Figura 7.11: Grafica comparativa

42

Page 53: Unidad Profesional Interdisciplinaria de Ingenier as y

Capıtulo 8

CONCLUSIONES

8.1. Resultados

Los resultados obtenidos durante el desarrollo de la tesis se resumen a los siguientespuntos:

1. La tecnologıa actual limita el poder deformar deficientemente modelos complejoscon la metodologıa propuesta.

2. La metologıa permite la deformacion de cualquier objeto aunque la manera encomo trabaja es poco eficiente.

3. Se obtuvo y valido un nuevo modelo que representa el tejido hepatico de ave.

4. Se genero una aplicacion para la prueba de los modelos presentados en esteproyecto.

Para lograr los resultados mencionados fue necesario resolver los siguientes pro-blemas tecnicos y adquirir los siguientes conocimientos :

1. Desarrollar una librerıa capaz de comunicar Panda3D en python con C++ paraobtener un renderizado haptico en el lazo servo a 1 Khz.

2. Actualizar la DLL para poder interactuar con la parte grafica en Panda3D.

3. Disenar un algoritmo con la capacidad de crear un modelo 3D con una malladeformable.

4. Redisenar el algoritmo de obtencion de parametros deformables debido a que elcomplemento para exportar el modelo 3D a Panda3D (chiken) fue actualizadoy modificado.

5. Emigrar de sistema operativo de Windows XP a Windows 7.

43

Page 54: Unidad Profesional Interdisciplinaria de Ingenier as y

44 Capıtulo 8

6. Se tomaron las materias de Graficacion I y II en ESCOM.

7. En el CIDETEC se tomaron las materias de simulacion y Recursos de Hardware.

8.2. Publicaciones

Los artıculos publicados y derivados del trabajo de esta tesis son los siguientes:

a) Jacobo Gamboa Gomezflores, Angel Parra Castillon, Gabriel SepulvedaCervantes. Procedimientos para la caracterizacion biomecanica de tejidohaptico de ave para simulacion de cirugıa haptico. 8 vo. Congreso Nacionalde Mecatronica. Noviembre 26 y 27, 2009, Veracruz, Veracruz.

b) Jacobo Gamboa Goamezflores, Gabriel Sepulveda Cervantes. Analisis Bio-mecanico y anatomico para el modelado dinamico y simulador virtual deltejido blando con dispositivos hapticos”.8 vo. Congreso Nacional de Me-catronica. Noviembre 26 y 27, 2009, Veracruz, Veracruz.

8.3. Trabajo a futuro

Se han desarrollado una metologıa para la caractrizacion de tejido hepatico deave, validado en un sistema de realidad virtual con retroalimentacion hapticay deformacion visual, cumpliendo ası con las metas deseadas y los objetivosplanteados, dejando como trabajos a futuro los siguientes:

a) Creacion de algoritmos de deformado visual mas eficientes.

b) Generacion de modelos dinamicos de tejidos blandos.

c) Diseno e implementacion de sistemas de realidad virtual basados en tec-nologıa haptica.

d) Desarrollo de algoritmos de colision avanzados en C++

44

Page 55: Unidad Profesional Interdisciplinaria de Ingenier as y

Bibliografıa

[1] PANADDA MARAYONG OLEG GEROVICH and ALLISON M. OKA-MURA EBI. The effect of visual and haptic feedback on computer-assistedneedle insertion. Baltimore, Maryland, USA 2004, 2004.

[2] http://www.novint.com/novintfalcon.htm.

[3] Alan B. William R. Understanding Virtual Reality. Interface, Application,and Desing. Morgan Kaufmann, 2003.

[4] Michael Z. From visual simulation to virtual reality to games. IEEEComputer Society., 25 - 32, 2005.

[5] Mellado M. Zotovic R. Diseno, implementacion y control de un sistema hap-tico con realimentacion sensorial en tele-robotica. InteracciA3n2001, 2001.

[6] Paloc C. Online remeshing for soft tissue simulation in surgical training.IEEE Computer Society., 21 - 32, 2006.

[7] Fac. de Med. UNAM. Dra. Andrea Davila Cervantes. Cecam: Una pro-puesta complementaria en la formacion profesional de los medicos. 8Ao

Congreso Nacional de Mecatronica, septiembre 2009.

[8] Dr. Rommel Granados Lopez. Utilizacion de las imagenes en 3d en laplaneacion neuroquirurgica, una forma alterna. 8Ao Congreso Nacional deMecatronica, septiembre 2009.

[9] Javier Franco Perez Alejandra Ibarra Rangel. Efecto de realidad virtualsobre los niveles de ansiedad en pacientes tratados con marco estereotacticoen radioneurocirugia. 8Ao Congreso Nacional de Mecatronica, septiembre2009.

[10] Jaydev P. Chanthasopeephan T and Alan C. Modeling soft-tissue deforma-tion prior to cutting for surgical simulation: Finite element analysis andstudy of cutting parameters. IEEE TRANSACTIONS ON BIOMEDICALENGINEERING., 54(3), 2007.

[11] CTie Hu and Jaydev P. Desai. Characterization of soft-tissue material pro-perties: Large deformation analysis. Program for Robotics, Intelligent Sen-sing, and Mechatronics (PRISM) Laboratory 3141 Chestnut Street, 2007.

45

Page 56: Unidad Profesional Interdisciplinaria de Ingenier as y

46 BIBLIOGRAFIA

[12] Bentley L. Brouwer I, Ustin J. Measuring in vivo animal soft tissue pro-perties for haptic modeling in surgical simulation. Program for Robotics,Department of Surgery, University of California, San Francisco, CA 94143-0475, and Robotics and Intelligent Machines Laboratory, University of Ca-lifornia, Berkeley, 2007.

[13] Miralles I. Miralles R. Biomecanica clinica de las patologias del aparatolocomotor. Masson, 1 edition, 2007.

[14] Coss R. Simulacion, Un enfoque practico. Limusa, 20 edition, 2003.

[15] Alcaniz M. Monserrat C, Lopez O. Estado del arte en simulacion quirur-gica. Medical Image Computer Laboratory (MedICLab), 2003.

[16] PHANTOM PREMIUM aUser Guide, SensAble Technologies. 2004.

[17] User Manual, Tekscan. Revision f edition, 2005.

[18] Vincent Hayward Mohsen Mahvash. High fidelity haptic synthesis of con-tact with deformable objects. IEEE Computer Graphics and Application,24(2), 2003.

[19] Cagatay Basdogan. Haptic rendering in virtual environments. Technical re-port, Laboratory for Human and Machine Haptics, Massachusetts Instituteof Technology, Cambridge.

[20] Gabriel Sepulva Cervantes. Estacion Haptica para Deformacion, Corte ySutura de Organos Deformables con Propiedades Superficiales. Cinvestav,2009.

[21] Ivor Horton’s. Beginning Visual C++ 2008. Wrox, 2008.

[22] Kevin R. Cleary C. Closed- loopforce for haptics simulation of virtualenvironments. Technical report, Maryland Georgetown University MedicalCenter.

[23] Dominguez O V. Parra. Constrained lagrangian-based force position controlfor haptics guidance. Eurohaptics 2003.

[24] D.S. Kwon Y.S. Kim J.B. Song. B.H. Ryu. Testing time domain passi-vity control of haptics enabled systems. In Experimental Robotic, springerTracts in Advanced Robotics Series, 5, 2003.

[25] Corno M. and Zefran M. Haptics playback: Modeling, controller desing andstability analysis. Department of Electrical and Computer Engineering,University of Illinois at Chicago.

46