SciELO - Scientific Electronic Library Online

 
vol.16 número34Time failover evaluation on GMPLS LSPL1VPN networksAn automatic sorting system based on coffee-grain color identification for the "excelso" presentation using image processing índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

  • Em processo de indexaçãoCitado por Google
  • Não possue artigos similaresSimilares em SciELO
  • Em processo de indexaçãoSimilares em Google

Compartilhar


Tecnura

versão impressa ISSN 0123-921X

Tecnura vol.16 no.34 Bogotá out./dez. 2012

 

Sistema portátil de captura de movimiento para el análisis cinemático de la marcha humana

Portable system for kinematic motion capture of human walking

Esperanza Camargo C.1, Yamid Garzón G.2, Víctor A. Camacho P.3

1 Ingeniera en Control Electrónico e Instrumentación, estudiante de doctorado en Ingeniería. Docente de la Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. Contacto: ecamargoc@udistrital.edu.co.
2 Ingeniero en Control Electrónico e Instrumentación, magíster en Ingeniería Electrónica. Docente de la Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. Contacto: eygarzóng@udistrital.edu.co.
3 Tecnólogo en electrónica. Investigador de la Universidad Distrital Francisco José de Caldas. Bogotá, Colombia. Contacto: ing.victorcamacho@hotmail.com.

Fecha de recepción: 30 de agosto de 2011 Fecha de aceptación: 26 de junio de 2012


Resumen

El análisis de la marcha en humanos se realiza en laboratorios especializados con ambientes controlados generalmente con técnicas de videogametria. Sin embargo, los pacientes al sentirse observados cambian el patrón de marcha. Adicionalmente, estos laboratorios son muy pocos para la alta demanda de la población en Colombia que requiere estos servicios.

El desarrollo de esta investigación es el diseño e implementación de un dispositivo portátil que, a partir de sensores de movimiento (acelerómetros) proporcionen las características cinemáticas de la marcha humana tales como: velocidad, aceleración, y el ángulo formado entre los segmentos articulares (cadera, rodilla y tobillo), para tal fin se utilizan acelerómetros micro maquinados; la información es procesada a través de un microcontrolador PIC 18F4550 y almacenada en una micro SD; posteriormente es recreada en una interfaz gráfica desarrollada en Open Gl.

El desarrollo de este tipo de proyecto permite la captura de la marcha humana en cualquier espacio no controlado y resulta de utilidad no solo a médicos y especialistas, sino también a expertos en animación. Este proyecto se desarrolla en el marco del grupo de investigación DIGITI (Sistemas Digitales Inteligentes) de la Universidad Distrital con financiamiento del CIDC (Centro de Investigación y Desarrollo Científico) de la Universidad Distrital por un valor de $10.000.000.

Palabras clave: Acelerómetro, biomecánica, medición de movimiento, sistema de información médica, test médico.


Abstract

Gait analysis in humans is performed in specialized laboratories with controlled environments, usually with videogametric techniques. However, some patients change their way of walking when they feel observed. Hence, these labs are very few to cope with the high demand in Colombia, represented by all the people who require these services.

The purpose of this study is to design and implement a portable device from motion sensors (accelerometers) that provide the kinematic characteristics of human walking, namely speed, acceleration, and angle between the segment joints (hip, knee and ankle). In order to do this, machined micro accelerometers are used. The information is processed by a microcontroller (PIC 18F4550) and stored on a micro SD; then motion is recreated in a graphical interface developed that runs on Open Gl.

The development of this type of projects allows capturing human walking in any space (not controlled) and it is useful not only to doctors and specialists, but also to experts in animation. This project was conducted by the research group called DIGITI (Intelligent Digital Systems) at Universidad Distrital, with funding from the CIDC (Center for Scientific Research and Development – Universidad Distrital); the budget was $ 10,000,000.

Key words: Accelerometer, biomechanics, motion measurement, medical information systems, medical tests.


1. Introducción

Las patologías asociadas a la marcha pueden ser diagnosticadas de manera objetiva a través de laboratorios de marcha, sin embargo, en Colombia estos laboratorios son insuficientes para la población que requiere este tipo de análisis, además, se encuentran sujetos a ambientes controlados lo que dificulta analizar actividades cotidianas, así como evitar que el individuo cambie su patrón de marcha al sentirse observado, por lo que se propone un sistema de captura de movimiento (MOCAP) el cual permite observar, grabar y analizar de manera objetiva las variaciones propias de la marcha humana [1].

En la actualidad los sistemas de captura de movimiento son utilizados en aplicaciones de entretenimiento (películas y video juegos), médicas (análisis de movimiento y rehabilitación), control de robots y en general como una interfaz con la computadora. Existen diversos tipos de sistemas de captura de movimiento: mecánicos, ópticos, magnéticos y los sistemas de seguimiento inerciales [2], [3].

El sistema desarrollado muestra la captura del movimiento en las extremidades inferiores, haciendo uso de un sistema portátil (MOCAP) el cual no limita la movilidad. Su funcionamiento es en esencia la recopilación de información a través de un sistema de captura, para que posteriormente dichos datos puedan ser interpretados, al mismo tiempo que se genera una representación gráfica 3D de los movimientos realizados, lo cual presenta muchas ventajas con respecto a un laboratorio de marcha convencional [4], [5], [6].

Para la ejecución de este prototipo fue necesario implementar una red de sensores para la captura del movimiento a través de acelerómetros, obteniendo la inclinación o rotación de cada una de las articulaciones de las extremidades inferiores del usuario, estos fueron ubicados en cadera rodilla y tobillo de cada pierna, para un total de seis acelerómetros AMMA7260. Cada sensor provee el valor de la aceleración en X y en Y, para un total de 12 señales, posteriormente, se implementó un algoritmo para la calibración y filtrado de las señales de los sensores y así prepararlas para el procesamiento matemático, con el fin de obtener las variables de interés.

Con el fin de almacenar la información obtenida por los sensores en una SD, se implementaron dos librerías destinadas a su control a través de un microcontrolador; para esto se realizó el diseño de una tarjeta que permite acceder a la SD en modo SPI y almacenar o leer datos de ésta, creando un sistema de archivos FAT16 por lo que la información escrita en la tarjeta queda en formato ".txt". El software de visualización se desarrolló bajo Visual C++, éste se divide en dos categorías principalmente: la primera, que es la lectura, análisis, tratamiento y obtención del ángulo de rotación; y una segunda parte que es desarrollo de la interfaz gráfica, en la cual se implementan paquetes de programación orientada a gráficos en 2D y 3D, haciendo uso de librerías específicas para ello.

Inicialmente, se realizó un modelo de las extremidades inferiores haciendo uso de las figuras primitivas, para este caso se realizó la representación de las extremidades inferiores utilizando esferas y cubos, por lo que no se veían grandes detalles en su apariencia. Como herramienta de modelado se utilizó 3D max estudio, ya que presenta gran facilidad de uso, adicionalmente no exige un gran recurso computacional y muestra una gran variedad de recursos y aplicaciones fáciles de adaptar. Para facilitar el modelamiento del personaje se diseñó por partes cada uno de los huesos principales que conforman cada pierna, cada uno de los cuales se exporta al programa donde se desea realizar la animación, en este caso Visual C++, y desde ahí en conjunto con las herramientas brindadas por open GL realizar su reconstrucción.

Finalmente, se visualiza el movimiento de los miembros inferiores y el comportamiento de las articulaciones en cada una de las fases de la marcha, permitiendo analizarla desde el punto de vista cinemático (velocidad, aceleración y el ángulo formado por las articulaciones) y por tanto ofrecer algunos de los servicios de un laboratorio de marcha; por lo que se convierte en una herramienta funcional y práctica para médicos y especialistas en patologías del sistema locomotor y neuromuscular, llegando incluso, en un futuro, a dotar a cada especialista con el dispositivo, lo que le permitiría evaluar al paciente dentro y fuera del consultorio, con o sin presencia del especialista.

2. Metodología

El objetivo principal de este proyecto es el desarrollo de un software para el análisis y visualización de la marcha humana de las extremidades inferiores, a partir de una representación tridimensional, generando su animación con los datos entregados por el dispositivo para la captura del movimiento, quien se encarga de procesar, codificar y almacenar la información de cada una de las articulaciones a observar (cadera, rodilla y tobillo). Este archivo contiene los datos necesarios para realizar el análisis y reconstrucción del movimiento, por lo que es necesario de antemano conocer qué tipo de información fue almacenada, qué datos se están teniendo en cuenta y de qué forma fue codificado.

2.1 Definición, descripción e implementación de sensores

Un acelerómetro es un sensor capaz de medir la aceleración a lo largo de un eje determinado. Cuando un cuerpo se acelera en una dirección determinada se convierte en un objeto de una fuerza igual a masa por aceleración [7].

De conformidad con la segunda ley de Newton, los acelerómetros se basan en el principio de medir la fuerza ejercida sobre un cuerpo de prueba de masa conocida a lo largo de un eje determinado. El acelerómetro detecta movimiento basado en la doble integración de la aceleración y la adición de la posición inicial y la velocidad. Sin embargo, desde que la tierra ejerce una aceleración de la gravedad en todos los cuerpos, se puede también utilizar el acelerómetro para medir la inclinación [8]. Cuando el eje de sensibilidad apunta directamente al centro de la tierra, mide 1g. Cuando el eje de sensibilidad del acelerómetro se encuentra paralelo a la superficie de la tierra marca una aceleración de 0G, por lo tanto el ángulo de inclinación real puede ser inferido como se muestra a continuación:

Angulo de Inclinación = arcsin (aceleracionmedida/1G)

Una de las marcas más sobresaliente en la producción de acelerómetros es Motorola Freescale, la cual ofrece una gran variedad de acelerómetros análogos o digitales, al mismo tiempo que ofrece un soporte técnico suficiente para poder implementar fácilmente este tipo de sensores. Para el desarrollo de este proyecto se implementó el acelerómetro MMA7260.

Algo muy importante a tener en cuenta es la ubicación y disposición de los sensores sobre el usuario, así mismo, la manera cómo estén sujetos a él, ya que si se presenta una mala sujeción, esto puede contribuir con una toma de datos equivocados e inservibles [9]. Para ello, en la Figura 1 se muestra cuál debería ser la disposición adecuada para cada uno de los acelerómetros sobre las articulaciones. En este caso, pensando en la movilidad de los usuarios, los sensores son sujetados al paciente a través de correas de belcro, lo cual hace fácil y rápido la ubicación en el individuo.

A nivel de Hardware, el sistema posee una red de sensores compuesta de seis acelerómetros, cada uno generando tres señales de aceleración por cada eje, de las cuales solo se utilizan dos: la aceleración del eje "X" y la del eje "Y". Por consiguiente, se cuenta con un total de 12 señales a registrar. Sin embargo, el acelerómetro solo, sin adecuación ninguna, es vulnerable a ruidos de diferentes tipos, ya sean mecánicos, eléctricos, entre otros, por lo que se hizo necesario realizar una adecuación previa antes de digitalizar cada una de las señales, esto con el fin de que la información digitalizada sea lo más precisa posible. Para ello se hace uso de un filtro pasa bajos recomendado por el fabricante para disminuir el ruido eléctrico.

Adicionalmente, fue necesario implementar un multiplexor análogo de referencia CD4052B con el fin de direccionar las señales provenientes de los acelerómetros para poder reutilizar algunos de los canales de conversión del micro controlador, el cual se encarga de determinar por medio de dos bits de control que señal se va a muestrear.

En la Figura 2 se muestra el diagrama electrónico del microcontrolador PIC 18F4550, en el cual se controla la lectura de los acelerómetros.

Para disminuir el gasto matemático a nivel de procesamiento se utilizó el método de burbuja emulando un filtro digital, el cual toma una cantidad de muestras determinada para cada canal, estas son ordenadas de menor a mayor, de tal manera que si se presenta un cambio fuerte en una muestra, al ser mayor con respecto a las muestras anteriores, ésta es eliminada inmediatamente; este proceso ayuda a disminuir el ruido generado por el sistema.

A partir de diversas pruebas realizadas se encontró que el punto de equilibrio para la toma de muestras son 16, tanto para la calibración como para el filtrado de la señal, obteniendo resultados considerablemente buenos en cuanto al tiempo de ejecución y calidad de la señal.

2.2 Almacenamiento de información en SD Datalloger

Después de haber realizado el procesamiento digital de las señales la información, está lista para su almacenamiento; teniendo en cuenta que la información que se desea almacenar es extensa, fue necesario hacer uso de memorias externas con alta capacidad. Actualmente, en el mercado se encuentran memorias de tipo USB, SD, Micro-SD, MMC, cada una con diferentes capacidades de almacenamiento, pero la gran mayoría con algo en común, la forma de comunicación de estas memorias o una de las formas en que se pueden comunicar es a través de la comunicación SPI.

2.2.1 Desarrollo e implementación datalloger

A partir de los conceptos revisados anteriormente y haciendo uso de los mismos se diseña e implementa dos librerías destinadas para el control de la SD en modo SPI a través del microcontrolador, fue necesario diseñar una tarjeta de control para almacenar o leer datos de ésta, creando un sistema de archivos FAT16 [10]. La aplicación desarrollada a nivel de software inicia la comunicación SPI del Microcontrolador a la SD e inicia el sistema de archivos FAT, posteriormente, crea el archivo de texto y realiza un muestreo de la información, esta última queda almacenada en el buffer para finalmente escribir los datos en el archivo de texto.

Para iniciar el proceso de comunicación por SPI, se configura el modo de trabajo, en este caso el que controla es el maestro, es decir el microcontrolador; posteriormente, se realizan algunas definiciones de los comandos y pines a utilizar, cada uno de estos comandos mencionados anteriormente permiten conocer o modificar el estado de la tarjeta; por ejemplo, se toma el comando CMD0 definido para reiniciar la tarjeta SD, en este caso, en vez de enviar el número 0, se envía su definición, es decir CMD0 y así con cada uno de los otros comandos. Por último, es necesario aclarar cuál va a ser el tamaño de los cluster o sectores en que se va a dividir la memoria, en este caso específico se definen sectores de un tamaño igual 512 bytes, y se utiliza el sistema de archivos FAT16. Para terminar con el proceso de inicialización de la memoria, se procede a crear una función que permita establecer una comunicación entre el PIC y la SD. A continuación en la Figura 3 se muestra un apartado del código que realiza esta definición.

Todo el proceso para el funcionamiento de los sistemas de archivos FAT se hace a través de la comunicación SPI. Es importante aclarar que primero se inicia la memoria SD y posteriormente el FAT. Para el protocolo SPI se define el tamaño del bloque a escribir o leer usando la función SD init(), para el sistema de archivos FAT se realiza un proceso muy similar, definiendo características como: la cantidad de bytes por sector, la cantidad de cluster, número de copias del FAT, entre otros.

Para la creación del archivo de texto se deben encontrar cluster libres donde se pueda escribir la información, apenas ocurre esto se almacena la dirección que se encontró y se procede a hacer la definición y escritura del archivo, con lo que se tiene inmediatamente una entrada FAT, es decir, se logra tener dicha información dentro de un archivo plano. En este caso, el archivo es definido como "Datos.txt", sin embargo, también se puede guardar con la extensión xls (tabla de excel).

2.3 Almacenamiento de información en el buffer

Después de ser muestreadas las señales, se realiza un proceso de codificación que consiste en armar el bloque que se desea escribir dentro del archivo de texto, recordando que es un bloque de 512 bytes, para esto se parte de la cantidad de información que se tiene y en cómo se necesita almacenar para poder reconocerla posteriormente, es así como se define la codificación mostrada en la Figura 4.

Se utilizaron básicamente dos identificadores por cada canal, por ejemplo, si se toma una muestra del canal 1 del micro controlador, antes de almacenarla, se guarda un identificador inicial (ID1) que indica el inicio del dato muestreado; después, se guarda la muestra y por ultimo con un segundo identificador (ID2) para indicar que hasta ahí va el dato muestreado. Los identificadores utilizados son letras. En la Tabla 1 se muestra el carácter de identificación según la señal que se está ingresando.

Adicional a los identificadores mencionados para la aceleración obtenida por cada sensor, aparecen otros dos identificadores adicionales, "offset inicio" y "offset final", estos corresponden a los identificadores asignados para el offset que trae por defecto los acelerómetros.

2.4 Escritura de datos en archivo de texto

Para la escritura del buffer previamente creado se implementa una función que se encargue de enviar dichos datos a la memoria, conservando las características del archivo de texto, esto se muestra en la Figura 5.

Al obtener el archivo de texto, se concreta el "almacenamiento de información", a partir de este archivo se realiza un análisis de la información para obtener los ángulos de rotación y la representación gráfica 3D.

2.5 Análisis matemático para la obtención del movimiento

En la sección anterior se muestra cómo eran almacenados y codificados los datos dentro de un archivo de texto, como se desea realizar una representación gráfica del movimiento, se parte de analizar qué programas facilitan esta labor. Sin embargo, actualmente existen librearías de cogido abierto, con las cuales se pueden hacer aplicaciones gráficas llamativas sin la necesidad de usar programas muy sofisticados. Estas librerías son conocidas como Open Gl. Las librerías gráficas Open GL, son un software que facilita la interface con el hardware gráfico. Consta de unas 120 funciones distintas que especifican los objetos y las operaciones necesarias para producir aplicaciones interactivas en las que intervienen gráficos en tres dimensiones.

Para obtener el ángulo a partir de un acelerómetro de tres ejes fue necesario obtener la rotación que se realiza sobre el eje Z. En la Figura 6, se puede observar que al girar el acelerómetro en sentido contrario al de las manecillas del reloj, se obtiene un ángulo θ, el cual por geometría se ve reflejado en el extremo superior del acelerómetro con respecto a la gravedad, por lo tanto, es posible describir matemáticamente cada aceleración como: aceleración en x ecuación (1), aceleración en y ecuación (2).

Si se expresan estas dos aceleraciones como una relación se obtiene a través de la ecuación (3).

En la Figura 7 se muestra que, al utilizar una solución de dos ejes del componente de la gravedad en el eje X, sigue la función seno, mientras que el componente de la gravedad que actúa sobre el eje Y sigue la función del coseno. Se observa que la sensibilidad a la inclinación (pendiente de la línea) en la dirección X se encuentra en su máximo, mientras que el Y-sensibilidad se encuentra en su mínimo y viceversa. Por lo tanto, la sensibilidad a la inclinación máxima se puede mantener si tanto el X y Y son los resultados combinados, esto se observa con la línea amarilla en la Figura 8.

Una forma de definir la sensibilidad está dada por la ecuación (4).

Recordando que siempre la suma de las sensibilidades de los dos canales es de un grado, como se mostró en la Figura 8, es posible determinar, a partir del grado de rotación, si se encuentra en el primer, segundo, tercer o cuarto cuadrante, tal como se observa en la Figura 9.

Con las dos aceleraciones en X y en Y, sí es posible definir en qué lugar del cuadrante se encuentra la aceleración, para esto se puede basar en la Tabla 2.

De igual forma, se aplica el proceso para relacionar los tres ejes del acelerómetro, en cuyo caso la relación se realiza a partir de la Figura 10.

En este caso, se cuenta con tres rotaciones que se llamarán pitch (ρ), roll (φ) y theta (θ), donde pitch es definido como el ángulo formado entre x y la referencia; roll, el ángulo formado en y con respecto a la referencia, y theta es el ángulo con respecto a la gravedad, de esta forma es posible ser más precisos en la obtención del ángulo. Haciendo uso de las ecuaciones mencionadas anteriormente se concluyen las ecuaciones (5), (6) y (7), para definir el ángulo de rotación de cada eje.

Teniendo en cuenta que la rotación de las articulaciones de las piernas se realiza en un sólo eje, es posible utilizar cualquiera de las tres, esto depende de la posición que se asuma para el acelerómetro, sin embargo, se asume la disposición de forma tal que se obtiene la rotación con respecto al eje z; para esto se implementa una función en el software de análisis que se encarga de realizar dicho proceso y entregar el ángulo para su respectiva representación. Su implementación se muestra en la Figura 11.

Con el dato exacto de rotación de la articulación es posible generar una representación gráfica de los ángulos generados en el eje x y el eje y, ahora se procede a mostrar cómo se realiza la representación de dicha información.

3. Desarrollo gráfico, visualización marcha humana

Partiendo de la información almacenada y codificada en el archivo de texto, se reconstruyen los datos y se obtienen los ángulos en las articulaciones. Para ello se utiliza un software que, por sus características, permite integrar las herramientas ofrecidas por Open Gl al lenguaje de programación normal, dentro de posibles soluciones se revisaron varios programas (visual c++ 6.0, Netbeans, Matlab, entre otros), sin embargo, por condiciones de rendimiento se decidió utilizar Visual C++ 6.0.

A partir de características como: primitivas geométricas, codificación del color, visualización y modelado, mapeado de texturas, iluminación de materiales, doble buffering, anti-alizado, sombreado gouraud, z-buffering, efectos atmosféricos, alpha blending, planos de plantilla, listas de display, los evaluadores polinómicos, feedback (selección y elección), primitivas de raster, operaciones con pixels y transformaciones [11]; se implementaron las funciones: glPushMatrix(), glPopMatrix(), glTranslatef(), glRotatef(), glScale(), para modelar un personaje al cual se le realiza la animación con los ángulos obtenidos. Un fragmento del código implementado para la creación se muestra en la Figura 12, básicamente, aquí se muestra cómo, a partir de los modificadores PushMatrix, PopMatrix, se cambia la posición, rotación y tamaño de los objetos dentro de la escena, adicionalmente, estos modificadores permiten crear una jerarquía entre cada una de las partes de las extremidades inferiores, es decir, la jerarquía permite crear puntos de referencia sobre los cuales se basa el movimiento, en este caso la pierna se mueve con respecto a la cadera, pero la articulación de la canilla (rodilla), se mueve con respecto a la pierna, esto hace que se genere un movimiento natural y casi real.

En la Figura 13 se muestra el resultado de la ejecución del código mostrado en la Figura 13, nótese que, en este caso, las extremidades inferiores están diseñadas únicamente con cubos y esferas, esto hace parte de lo que se ha denominado figuras primitivas. Si se desea un aspecto más realista se puede usar un software especializado para el modelamiento de objetos en 3D, como puede ser Maya, 3D Max Studio, o Blender.

El representar el movimiento humano a través de un personaje animado, se facilita la interpretación de los datos, aunque es indispensable que la información obtenida sea tratada adecuadamente con el fin de no generar lecturas o visualizar movimientos incorrectos, en la etapa de resultados se muestran detalladamente algunas pruebas realizadas, en donde se ratifica que, aunque este sistema es un prototipo, es indispensable para mejorarla representación mejorar los algoritmos de filtrado y tratamiento de señales, y esto solo es posible aumentando la capacidad del procesador.

A partir de la integración de una herramienta como Blender, el resultado final mejora considerablemente, en la Figura 14 se muestra una comparación cuando se hace uso de herramientas de modelado en 3D y se unen con lenguajes de programación sofisticados como Visual C++ y Open GL.

En esta versión se incorporan segmentos corporales reales así como la visualización de los ángulos formados por las articulaciones, este permite girar alrededor del objeto de estudio, acercarse o alejarse del mismo, permitiendo analizar la marcha en el plano sagital, frontal y coronal.

4. Resultados

El dispositivo obtenido es un dispositivo portátil que permite la captura del movimiento de la marcha y estimar la velocidad y aceleración de la misma. El dispositivo dispone de los sensores de manera modular, facilitando la adaptación en cada una de las extremidades inferiores.

La orientación de los acelerómetros en la extremidad izquierda es contraria a la orientación de los acelerómetros de la extremidad derecha. Con el fin de obtener una posición física fija a cada articulación por parte de los sensores; cada sensor utiliza una banda de velcro, lo que permite ajustar el sensor a diferentes tamaños de las articulaciones de las extremidades inferiores, como se muestra en la Figura 15.

El dispositivo tiene un consumo de corriente de 0.1 A, este factor facilita que la alimentación del dispositivo se realice con baterías. La calibración del dispositivo se debe realizar en completo reposo; si esta condición no se cumple no se puede garantizar que el dispositivo mida las variables correctamente. La calibración se realiza constantemente al momento en el que la interfaz de usuario cambie de visualizar las variables de posición a velocidad y viceversa.

Para la estimación de la velocidad y la aceleración es recomendable que el usuario marque significativamente el paso durante la marcha, de no ser así, el controlador no captará el momento del paso en la marcha lo que traería inconvenientes en la estimación de la velocidad y la aceleración.

Por la forma en la que fue implementado el sistema, es posible guardar hasta 2GBytes de información referente al movimiento capturado, lo cual permite obtener resultados más completos e ininterrumpidos.

Según las pruebas realizadas, y teniendo en cuenta que el algoritmo seleccionado para la obtención de los ángulos correspondientes a la rotación de cada articulación no fue el más robusto, sí se generó una precisión bastante alta con respecto a los ángulos medidos de forma manual. Lo anterior, como parte de pruebas para conocer el grado de precisión del sistema, de lo que se obtiene en promedio un error de ±6 grados.

El funcionamiento del dispositivo no se garantiza si el usuario se encuentra en ambientes eléctricamente hostiles, debido a que la manipulación de las señales de los sensores serán alterados significativamente por el ruido eléctrico.

Durante las pruebas realizadas de forma repetitiva se logró determinar las ventajas y limitaciones del dispositivo, de ello se destaca:

Ventajas:

  • El uso adicional que posee en tiempo real sirve como medio de diagnóstico del sistema.
  • Presenta portabilidad, debido a sus reducidos circuitos
  • Fácil uso.
  • Gran capacidad de almacenamiento.

Limitaciones:

  • Velocidad de tratamiento de señal lenta.
  • Se pierde información en una captura de marcha a velocidad media o alta, lo cual incurre en una mala representación del movimiento.
  • Baja velocidad de procesamiento del micro controlador.

Es importante resaltar que el sistema funciona correctamente, sin embargo, la velocidad de procesamiento del micro controlador no fue lo suficientemente alta para generar algoritmos más complejos y así generar una mejor captura; hasta el momento, se consigue una captura de marcha a velocidad baja, es decir, hasta 80 pasos por minuto. Como mejora a futuro, se recomienda cambiar de tecnología para aumentar la capacidad de procesamiento, esto en gran medida permitiría obtener resultados mucho más confiables. El representar el movimiento humano a través de un personaje animado facilita la interpretación de los datos, aunque es indispensable que la información obtenida sea tratada adecuadamente con el fin de no generar lecturas o visualizar movimientos incorrectos, en la etapa de resultados se muestran detalladamente algunas pruebas realizadas, en donde se ratifica que, aunque este sistema es un prototipo, es indispensable para mejorar la representación y mejorar los algoritmos de filtrado y tratamiento de señales, lo cual sólo es posible aumentando la capacidad del procesador.

5. Conclusiones

En resumen, el dispositivo, al tener sensores que permiten su fácil traslado, cumple con la expectativa de portabilidad. Esto podría implementarse en laboratorios de análisis de marcha así como en ambientes virtuales de 3D.

Debido a las limitaciones en la tecnología implementada, los algoritmos de filtrado de la señal no son lo suficientemente robustos para eliminar gran parte del ruido y no resulta inmune al ruido.

Para procesos de evaluación y pruebas del dispositivo, se tiene en cuenta que, además de permitir almacenar información en gran capacidad dentro de una memoria SD, micro SD o MMC, también es posible implementarlo en aplicaciones en tiempo real, lo cual lo hace un completo sistema de captura de movimiento.

La velocidad de captura, análisis y procesamiento de la información no es lo suficientemente rápida para lograr velocidades de muestreo adecuadas, por lo tanto, a partir de pruebas realizadas se determina que, para obtener un comportamiento estable, la velocidad de marcha no debe ser alta. Cabe resaltar que lo anterior es consecuencia de la limitación a nivel de hardware. Número de objetos y así mismo puedan ser representados de forma más realista en el software.

El hecho de utilizar acelerómetros como sensores de inclinación facilitó el procesamiento de las señales. Existía la posibilidad de implementar algoritmos de integración numérica para obtener aceleración, velocidad y posición del sensor. Sin embargo, esto no fue muy conveniente debido a la cantidad de sensores y al filtrado requerido, por ello, el recurso que ofrece el acelerómetro como medidor de ángulos de inclinación es de gran efectividad para la captura de la posición de cada una de las articulaciones y por ende de la velocidad y la aceleración del individuo en la marcha humana.

El uso de las librerías matemáticas del controlador es muy restringido con respecto a las funciones trigonométricas, lo que dificulta en gran medida la obtención de los grados del sensor frente a la respuesta del controlador. Sin embargo, la aplicación de conversiones con multiplicaciones de factores constantes facilitó considerablemente la tarea para ello.

Por último, este prototipo presenta grandes expectativas para los intereses del grupo de investigación debido a que se genera una base de investigación sólida sobre los diferentes sistemas de captura de movimiento y cómo estos pueden ser integrados para el apoyo de diferentes áreas como lo es el caso de la bioingeniería.


Referencias

[1] J. K. Aggarwal and Q. Cai, "Human motion analysis: a review", in Proceedings IEEE Nonrigid and Articulated Motion Workshop, pp. 90-102.         [ Links ]

[2] X. Huang and N. V. Boulgouris, "Human Gait Recognition Based on Multiview Gait Sequences", EURASIP Journal on Advances in Signal Processing, pp. 1-9, 2008.         [ Links ]

[3] L. Wang, "Recent developments in human motion analysis", Vol. 36, No. 3, pp. 585-601, 2003.         [ Links ]

[4] C. Sanz, Cinesiología de la marcha humana normal, pp. 1-14.         [ Links ]

[5] S. R. Simon, "Quantification of human motion: gait analysis-benefits and limitations to its application to clinical problems", Journal of biomechanics, Vol. 37, No. 12, pp. 1869-80, Dec. 2004.         [ Links ]

[6] D. Vlasic, et al., "Practical motion capture in everyday surroundings", ACM Transactions on Graphics, Vol. 26, No. 3, p. 35, Jul. 2007.         [ Links ]

[7] A. Godfrey, R. Conway, D. Meagher, and G. OLaighin, "Direct measurement of human movement by accelerometry", Medical engineering & physics, Vol. 30, No. 10, pp. 1364-86, Dec. 2008.         [ Links ]

[8] J. J. Kavanagh and H. B. Menz, "Accelerometry: a technique for quantifying movement patterns during walking", Gait & posture, Vol. 28, Bo. 1, pp. 1-15, Jul. 2008.         [ Links ]

[9] R. G. Cutlip, C. Mancinelli, F. Huber, and J. DiPasquale, "Evaluation of an instrumented walkway for measurement of the kinematic parameters of gait", Gait & posture, Vol. 12, No. 2, pp. 134-8, Oct. 2000.         [ Links ]

[10] P. Manual, "San Disk Secure Digital Card Product Manual", Revision, No. 80, 2003.         [ Links ]

[11] M. A. Roa y C. Villegas, "Modelamiento, estabilidad e implicaciones biomecánicas de la caminata bípeda pasiva con tres grados de libertad Modelling, stability and biomechanical implications of three DOF passive bipedal gait", Revista Ingeniería e investigación, Vol. 27, No. 2, pp. 77-84, 2007.         [ Links ]