Sie sind auf Seite 1von 6

1

Abstract El Grupo Robtica y Sistemas Integrados de la


Universidad Nacional de Crdoba est llevando adelante un
proyecto financiado por el Ministerio de Ciencia y Tecnologa de
la provincia de Crdoba y la SeCyT-UNC de un brazo robtico
para Laparoscopa
Para las operaciones quirrgicas mnimamente invasivas, es de
gran ayuda disponer de un brazo robtico que sostenga al
endoscopio. Sin embargo, tambin es de gran importancia que
este brazo robtico afecte lo menos posible a las operaciones que
necesite realizar el cirujano. Por tal motivo, se propuso y se inici
el estudio de un sensor ptico que permita ubicar espacialmente a
los brazos del cirujano y, de esta manera, planificar la trayectoria
del brazo robtico a los efectos de evitar colisiones entre ellos.
El sensor Kinect se presenta como una excelente posibilidad
dado que permite adquirir las imgenes en el espectro visible y,
con la informacin del espectro infrarrojo, armar un plano
tridimensional de los objetos. En este caso, se desarrollaron dos
aplicaciones que servirn como punto de inicio para el proyecto
del Brazo Robtico. La primera aplicacin proporciona un
entorno de ensayos capaz de evaluar todos los componentes del
sensor en tiempo real. La segunda aplicacin permite registrar y
guardar trayectorias del cuerpo de una o varias personas
pudiendo reproducirlas luego en cualquier momento.

Index Terms Sensor ptico Kinect colisiones determinacin
3D
I. INTRODUCCIN
ESDE el ao 2007, se est desarrollando en el GRSI
Grupo Robtica y Sistemas Integrados de la Universidad
Nacional de Crdoba, el proyecto Brazo Robtico para
Laparoscopa cuyo objetivo es el de asistir al cirujano en las
operaciones laparoscpicas. Este proyecto nace a raz de un
pedido del Servicio de Ciruga Peditrica - Hospital de Nios
de la Santsima Trinidad de Crdoba.
Uno de los sub-proyectos consiste en incorporar al sistema
Robtico un sensor de imgenes que permita utilizar las
mismas para planificar los desplazamientos del brazo robtico
de manera de evitar colisiones entre el brazo robot y los brazos
del cirujano. A tal efecto, se adquiri un sensor Kinect.
En el presente trabajo, se detallan las actividades realizadas
con el sensor Kinect orientadas a determinar las capacidades
tcnicas y de funcionamiento del sensor de manera de poder
disear luego aplicaciones para detectar movimientos o
superficies tridimensionales con el objetivo de asegurar la
correcta planificacin de las trayectorias del Brazo Robtico
de modo de no colisionar con los brazos del cirujano.


Se desarrollaron dos aplicaciones necesarias para el
proyecto general del brazo de laparoscopa. La primera
aplicacin es un entorno de prueba capaz de confirmar el buen
funcionamiento del sensor y todos sus componentes internos.
La segunda aplicacin, se entiende como una herramienta
capaz de captar y guardar todas las trayectorias que realice el
cuerpo de una o varias personas, pudiendo reproducirlas luego
en cualquier momento.
Adems de este proyecto general, tambin se prev la
utilizacin del sensor Kinect para dirigir un robot mvil que
tenga visin tridimensional
II. EL SENSOR KINECT Y SU COMPOSICIN
El sensor de Kinect es un equipo alargado conectado a un
pivote, diseado para estar en una posicin horizontal. El
dispositivo tiene
una cmara RGB,
un sensor de profundidad y
un micrfono multi-array bidireccional
que, en conjunto, capturan imgenes y movimientos de los
cuerpos en 3D, adems de ofrecer reconocimiento facial y
aceptar comandos de voz.


Fig. 1 Dimensiones del sensor Kinect

El sensor de Kinect adquiere imgenes de video con un
sensor CMOS de colores a una frecuencia de 30 Hz, en colores
RGB de 32-bits y resolucin VGA de 640480 pixeles. El
canal de video monocromo CMOS es de 16-bit, resolucin
QVGA de 320240 pixeles con hasta 65,536 niveles de
sensibilidad (Fig. 2.).
Para calcular distancias entre un cuerpo y el sensor, el sensor
emite un haz lser infrarrojo que proyecta un patrn de puntos
sobre los cuerpos cuya distancia se determina. Una cmara
infrarroja capta este patrn y por hardware calcula la
profundidad de cada punto. El rango de profundidad del
sensor de Kinect est entre 0.4 y 4 mts (Fig. 3.) Existen 2
Estudio del funcionamiento del sensor Kinect y
aplicaciones para bioingeniera
Ladislao Mathe, Daro Samban, Gabriel Gmez (dariosamban@ gmail.com)
D


2
modos (Default y Near) para determinar distancias. Se ha
elegido el modo Default ya que permite medir hasta 4
metros de distancia con respecto al sensor
El ngulo de vista (FOV) es de 58 horizontales y 45
verticales. Por otro lado el pivote permite orientar en
elevacin, hacia arriba o hacia abajo incrementando el FOV
hasta en 27.
El array del micrfono tiene cuatro cpsulas, y opera con
cada canal procesando en 16-bit de audio con un ratio de
frecuencia de 16 kHz.
La cmara de Kinect funciona con hardware y software
propios para el reconocimiento de imagen.


Fig. 2. Composicin interna del sensor Kinect.
La cmara tiene dos funciones principales:
generar un mapa en 3D de la imagen que tiene en su
campo visual y
reconocer humanos en movimiento entre los objetos de
la imagen a partir de diferentes segmentos de las
articulaciones del cuerpo y un esquema en escala de
grises.


Fig. 3 Rango de distancias admitidas por el sensor Kinect. Existen 2
modos (Default y Near).

En un amplio campo visual con objetos, la cmara Kinect
trata de reconocer a qu distancia estn los distintos objetos,
distinguiendo movimientos en tiempo real.
El sensor Kinect puede llegar a distinguir la profundidad de
cada objeto con una resolucin de 1 centmetro y las
estimaciones de la altura y anchura con una exactitud de
aproximadamente 3 milmetros.
El hardware de Kinect est compuesto por la cmara y el
proyector de luz infrarroja, aadido al firmware y a un
procesador que utiliza algoritmos para procesar las imgenes
tridimensionales.



Fig. 4 Funcionamiento del sensor monocromtico

El procesador es capaz de interpretar los movimientos que
se registran de los objetos capturados por la cmara de
Kinect en eventos con significado que aparecen en pantalla.
Los movimientos buscados por el algoritmo son
contextualizados. Por ejemplo, si se est aplicando el sensor
Kinect a un juego como Kinect Adventures, donde una balsa
desciende por la corriente del ro, dado que este juego requiere
movimientos tales como agacharse o tumbarse, el algoritmo
buscar la identificacin de estos movimientos en tiempo real
para producir eventos en pantalla. Si el usuario navega por el
men con interface grfica de Netflix entonces se buscarn
movimientos con las manos horizontales y verticales que sern
registrados en los fenmenos de pantalla. (GetLab)

III. DETECCIN DE ARTICULACIONES MEDIANTE EL SENSOR
KINECT
Normalmente, el flujo de datos crudos que suministra el
sensor Kinect proporciona la informacin de 20 puntos de una
persona cuando est dentro del rango visual admisible (Fig. 5).
De esta manera, es posible obtener la informacin posicional
en tiempo real y en los 3 ejes cartesianos de estos 20 puntos
por persona. Cabe destacar que la informacin recolectada est
en un formato imagen de 640x480 pixeles tomada a una
velocidad de 30 FPS (Frames per Second o Cuadros por
segundo).

Con el fin de obtener todas las trayectorias que realiza una
persona, es necesario registrar y archivar los 20 puntos que
entrega el dispositivo. Cabe destacar que esta es la


3
funcionalidad ms importante que tiene el sensor para la
aplicacin buscada, dado que otorga la posibilidad de tener la
posicin tridimensional en cada instante de tiempo. Si se toma
una sucesin dinmica de estas entregas, se podr obtener
todas las trayectorias de todos las partes del cuerpo de una
persona.
IV. ELECCIN DEL KIT DE DESARROLLO DE SOFTWARE - SDK
PARA PROGRAMAR EL KINECT
Antes de iniciar el desarrollo de la primera aplicacin se
realiz un estudio y anlisis de distintos kits de desarrollo con
el objetivo de decidir con que SDK (software development kit)
programar las aplicaciones. Esta instancia es crucial ya que
una vez comenzado el desarrollo de las aplicaciones, hubiese
sido un gran problema tener que dar marcha atrs y cambiar la
SDK si hubiese surgido algn problema de compatibilidad con
los equipos o bien con las aplicaciones a realizar


Fig. 5 Conjunto de 20 puntos detectado por el sensor Kinect.
Entre las opciones, se encontraron dos posibles libreras:
libreras libres o libreras oficiales (Fig. 6). Dentro de las
primeras, la ms conocida y la ms utilizada es la llamada
OpenNi que guarda compatibilidad con las libreras de
OpenKinect. Para el desarrollo de la aplicacin se seleccion
la librera OpenNi debido a su mayor difusin en Internet y por
lo tanto, existir ms informacin con distintas aplicaciones.
En cuanto a la oficial, Microsoft lanz la SDK 1.0 para
Kinect la cual cuenta con una ordenada documentacin y
amplia informacin en la web.
A pesar de que las libreras OpenNi presentaban ms
ventajas, al haber mucha ms informacin por parte de la SDK
oficial, se decidi utilizar la librera oficial para desarrollar las
primeras aplicaciones.

Fig. 6. Comparacin entre Microsoft SDK for Kinect 1.0 y el OpenNi


V. DESARROLLO DE LA APLICACIN PARA
ENSAYOS DEL SENSOR TEST KINECT
Primero se establecieron los requerimientos funcionales del
proyecto y para esto fue necesario diferenciar todos los
dispositivos que existen dentro del sensor Kinect.



4
Cmara RGB
Cmara Monocromtica D con IR
Motor
Acelermetros
Micrfono ambiental
LED

Se dise un software que captura las seales de un sensor
Kinect conectado a una entrada USB y los exhibe en una
pantalla simple donde se puede observar el funcionamiento de
todos los dispositivos nombrados anteriormente. De esta
manera se logra asegurar que la conexin est lograda y el
equipo est funcionando correctamente.
Las libreras del SDK de Kinect estn disponibles para los
lenguajes C++ y C#. Se eligi el segundo (C#) para desarrollar
las aplicaciones.
Las imgenes de ambas cmaras del Kinect se obtuvieron
mediante los componentes WPF KinectColorViewer y
KinectDepthViewer, que ofrece la SDK.
Para obtener los cuadros por segundo simplemente se
calcula en funcin de las imgenes captadas en cmara
monocromtica Depth. Se obtienen los tiempos en cada
instante y en funcin de stos, se calcula la cantidad de
cuadros en un segundo. Por ltimo se presenta el resultado
como un dato en el cuadro de visualizacin.
Para cambiar el ngulo utilizando el motor del sensor, se
dise un simple cuadro de texto en donde el usuario ingresa
por teclado el ngulo deseado respecto a la horizontal (no
respecto a la base) y luego presionando en botn SET con el
mouse, se comanda el movimiento del motor cambiando el
parmetro ElevationAngle del objeto Sensor.
En cuanto al grabador y reproductor de audio, cuando el
usuario oprime el botn grabar, se activa una bandera la cual
permite el ingreso a un bucle que toma los datos entregados
por el Audiosource del objeto Sensor y los guarda en un
simple array.
Este mismo bucle est dentro de otro bucle que permite
determinar de dnde proviene el sonido muestreado por el
micrfono ambiental determinando el parmetro BeamAngle.
Cuando el usuario presiona el botn Reproducir,
simplemente, se abre el archivo de sonido .MP3 guardado
anteriormente.


Fig. 7. Interface grfica TestKinect diseado
Se realiz una interface grfica (Fig. 7.) simple y amistosa
para que el usuario tenga la posibilidad de probar que todos
los componentes del sensor funcionen de manera correcta.

VI. DESARROLLO DE LA APLICACIN DE GRABADO Y
REPRODUCCIN DE TRAYECTORIAS IOSKELETON

La otra aplicacin desarrollada consiste en la realizacin
de una aplicacin capaz de identificar los puntos ms
importantes del cuerpo humano (clase Skeleton de SDK)
grabndolos todo el tiempo que desee el usuario con la opcin
de guardarlos en un archivo TXT. Esto es, grabar y guardar
trayectorias del cuerpo de una persona en un archivo comn.
Posteriormente, en la misma aplicacin, se tendr la opcin de
cargar el archivo generado y reproducir las trayectorias de
manera grfica.
Para lograr la generacin de un archivo es necesario la
creacin de un protocolo de archivo. Es decir, una forma de
guardar los datos para que luego puedan ser reproducidos
respetando la forma. Es importante comprender el
funcionamiento y la forma de las seales captadas para luego
entender el protocolo que se va a crear detallado ms adelante
en este documento.
Esta aplicacin es de gran importancia para el proyecto
general ya que conforma el Input / Output de archivos que
representan la trayectoria de personas. De esta forma, se podr
alojar en archivos todos los movimientos que se registren para
luego reproducirlos y analizarlos permitiendo manipular
sistemas robticos en funcin de los puntos de las trayectorias
captadas.
El guardado de datos se realiza mediante la escritura de la
posicin tridimensional de todos los puntos en cada instante en
un archivo TXT. Para lograr este objetivo fue necesaria la
elaboracin de un protocolo de escritura y lectura de datos.

Cada imagen ser representada por una lnea de texto de
tipo String con el siguiente formato:


fps: primero se coloca el nmero de fps actual del
cuadro escaneado.
#: indica que comienza a describir los puntos de una
persona (esqueleto)
Id: id del esqueleto a grabar
Sucesin de coordenadas x y z de cada punto en el
siguiente orden:

Por ejemplo:

20 # 0 0,691704 0,4166231 21224 0,6856822 0,3888395 21408 0,6675547
0,2409311 21312 0,6683985 0,1429283 21200 0,6130065 0,2980414 21272
0,5938133 0,4018739 21640 0,5701469 0,4764952 21352 0,5687516
0,503214 21176 0,7293036 0,2940527 21472 0,7549853 0,3960381 21856
0,7716017 0,4639662 20608 0,7719545 0,5019765 19968 0,6706141
0,4530297 21104 0,6450689 0,7161486 21264 0,6435035 0,8764954 21432
0,6385844 0,9064202 20984 0,722645 0,4507132 21264 0,7384559
0,7030128 20848 0,7608178 0,883681 20832 0,766999 0,918592 20512 ff


5
De esta manera, y siguiendo este protocolo, se logra la
escritura y lectura de todas las trayectorias que realiza una o
varias personas en frente del sensor Kinect. Por supuesto, la
aplicacin dispone de una interface grfica simple y amigable
(Fig. 8.) para lograr una conexin segura entre el usuario y el
software.


Fig. 8 Interfaz grafica de IOSkeleton

Es de destacar que la aplicacin ofrece dos posibilidades
de grabado: manual y automtico. La primera brinda la
posiblidad de iniciar y terminar la grabacin oprimiendo un
simple botn. La segunda opcin permite que el usuario
configure el tiempo de grabado en segudnos y al oprimir el
botn de grabado, la aplicacin registra las trayectoras
captados en ese periodo de tiempo.

VII. APLICACIONES PARA BIOINGENIERA
Actualmente, el sensor Kinect es utilizado en mltiples
campos tales como la publicidad o el entretenimiento entre
otros. La idea fundamental es incluir mayor participacin de
dicho sensor en el campo de la salud mediante la inclusin del
sensor en dispositivos o desarrollos de bioingeniera.
Como se menciono anteriormente, las aplicaciones
descriptas anteriormente se encuentran dentro del marco de
un proyecto mayor el cual consiste en la construccin de un
brazo de laparoscopia monitoreado con el sensor Kinect. A
grandes rasgos, el proyecto se basa en controlar el brazo de
laparoscopia utilizando el sensor Kinect, quien controla todas
los movimientos alrededor del brazo movindolo si es
necesario. Evitando as, cualquier tipo de colisin que pueda
causar algn dao en el paciente.
Sin embargo, el proyecto anterior es solo uno de miles que
se pueden realizar. La idea principal es ir incluyendo
paulatinamente el sensor Kinect a dispositivos biomdicos.
Otro proyecto en marcha actualmente en el cual se utilizan las
aplicaciones descriptas anteriormente, es un estudio de
fuerzas de la marcha. En el mismo, se hace caminar al
paciente por una plataforma de fuerza obteniendo el peso que
se ejerce en cada instante de la marcha. Al mismo tiempo, se
escanea el paciente con dos sensores Kinect escaneando cada
trayectoria que realiza el paciente. Luego sincronizando los
datos obtenidos tanto por los sensores Kinect como por las
celdas de carga de la plataforma de fuerza, se obtienen los
vectores de fuerza que realiza el paciente en cada instante de
la marcha permitiendo al profesional mdico realizar algn
tipo de diagnostico en el caso de que el paciente presente
alguna patologa del marcha.
Como vemos, el sensor Kinect presenta un gran potencial
en cualquier tipo de aplicaciones. Por ello consideramos que
es necesario aplicar este potencia al campo de la medicina
integrando el sensor a dispositivos biomdicos.

VIII. CONCLUSIONES
Con este desarrollo se logr dar un gran paso en el
proyecto general ya que se estableci una forma de Entrada /
Salida de archivos que contienen trayectorias, lo cual hace
tiempo se estuvo buscando. Por otro lado, se adquirieron
conocimientos de nivel avanzado acerca del funcionamiento
del sensor y la generacin de aplicaciones en C# con el mismo
Se adquirieron conocimientos acerca del funcionamiento
general del Sensor Kinect adems de las aplicaciones que se
pueden llegar a desarrollar.
A partir del desarrollo de la aplicacin de prueba Test
Kinect se comenz la familiarizacin con el Sensor Kinect
que permite evaluar el funcionamiento general. Con el
desarrollo de la aplicacin IOSkeleton, se adquirieron los
conocimientos acerca del formato de las seales recibidas
desde el sensor adems de crear un protocolo de entrada y
salida de los mismos.
Respecto al aspecto tcnicos se logr hacer funcionar el
sensor Kinect conectado a una PC obteniendo las seales
captadas por todos los dispositivos que posee el Kinect tales
como la cmara VGA, cmara monocromtica de distancia,
micrfono ambiental, motor vertical y acelermetros.
Mediante el desarrollo del Test Kinect se logr una
excelente aplicacin de ensayos que permite verificar el buen
funcionamiento de todos los componentes que integran el
sensor y al mismo tiempo una herramienta muy til para el
usuario en general. La otra aplicacin desarrollada, el
IOSkeleton registra los puntos de una o varias personas en el
espacio cartesiano tridimensional siendo capaz de grabar las
trayectorias del mismo, guardarlas y cargarlas en un archivo de
texto estndar. Esto representa un gran avance dado que
permite usarlo como punto de partida para construir otras
aplicaciones.

AGRADECIMIENTOS
El mbito profesional y de investigacin reinante en el
Grupo Robtica y Sistemas Integrados de la Facultad de
Ciencias Exactas, Fsicas y Naturales de la Universidad
Nacional de Crdoba facilitaron de gran modo el trabajo
desarrollado, destacndose por el muy buen ambiente de
trabajo basado en el respeto y la confianza. Este punto es de
gran importancia para formar experiencia y realizar prcticas
profesionales supervisadas para la capacitacin laboral y
profesional, mbito en el que nos vamos a mover en un futuro
no muy lejano. Por otra parte, se tuvo permanentemente en


6
cuenta la futura aplicacin de este sensor. Esto es, en
Quirfano del Hospital de Nios de la Provincia de Crdoba.
Para finalizar reconocemos que el tiempo de trabajo en el
Grupo Robtica y Sistemas Integrados de la Facultad de
Ciencias Exactas, Fsicas y Naturales de la Universidad
Nacional de Crdoba fue justificado con creces y dej una
enseanza muy rica en todos los sentidos. Es realmente
importante contar con laboratorios de este tipo dentro de una
facultad de ingeniera ya que se brindan herramientas y
espacios ideales para que los alumnos de la institucin puedan
desarrollar sus trabajos e investigaciones de la manera
correcta. Finalizando, se agradece a toda la gente que hizo
posible la realizacin de este proyecto, especialmente a los
integrantes del Grupo de Robtica y Sistemas Integrados
(GRSI). A su director Ing. Ladislao Mathe, al Ing. Gabriel
Gmez, al Ing. Oscar Cceres y al Ing. Juan Pedroni como as
tambin a los otros alumnos ayudantes de investigacin
quienes colaboraron con gran entusiasmo


REFERENCIAS
[1] (SlideShare) Juan Pablo Arbelez (2011, March). Kinect, Como
Funciona. Available: http://www.slideshare.net/ArbelaezGroup/kinect-
como-funciona-7228721
[2] (Visual Studio Developer Center) Microsoft. Get started with Visual
Studio. Available: http://msdn.microsoft.com/en-us/vstudio/ff431702
[3] (Kinect for Windows) Microsoft. Kinect SDK. Available:
http://www.microsoft.com/en-us/kinectforwindows/develop/
[4] (Coding4Fun) Microsoft. Project Gallery. Available:
http://channel9.msdn.com/coding4fun/kinect/


Sambn Daro (M11M12) 1989, nacido en, Argentina
donde cumpli con todos sus estudios. En el ao 2006
completo los estudios secundarios en el instituto San Jos de
su ciudad natal. En el ao siguiente, comenz la carrera de
Ingeniera en Computacin en la Universidad Nacional de
Crdoba. En el ao 2012 comenz su proyecto final de carrera
adems de insertarse en el mercado laboral en QAustral S.A.
como analista funcional de Software. (email: dariosamban@
gmail.com)

Das könnte Ihnen auch gefallen