VISUALIZACIÓN EN TIEMPO REAL DE LA LOCOMOCIÓN HUMANA · se pueden utilizar directamente para...

10
XVI CONGRESO INTERNACIONAL DE INGENIERÍA GRÁFICA VISUALIZACIÓN EN TIEMPO REAL DE LA LOCOMOCIÓN HUMANA BALDASSARRI, Sandra; SERON, Francisco Universidad de Zaragoza, España Centro Politécnico Superior Departamento de Informática e Ingeniería de Sistemas Grupo de Informática Gráfica Avanzada (GIGA) Instituto de Investigación en Ingeniería de Aragón (I3A) Correo electrónico: [email protected] , [email protected] RESUMEN En este trabajo se presenta un sistema basado en la física que permite la visualización realista de la locomoción humana a partir de la especificación de parámetros de alto nivel (velocidad, frecuencia de paso, longitud de paso). Las herramientas de visualización desarrolladas se basan en estándares que permiten la representación gráfica en tiempo real. Para obtener movimientos realistas y naturales, se ha desarrollado un sistema “híbrido” dinámico-cinemático, que utiliza modelos con diferentes niveles de complejidad. La utilización de modelos dinámicos muy simples permite obtener los patrones básicos del movimiento del cuerpo. El resto de movimientos de las articulaciones del modelo se calculan aplicando cinemática directa e inversa. Palabras clave: animación, movimiento, locomoción humana, visualización, tiempo real. ABSTRACT In this paper, a physically-based visualization system of human locomotion is presented. The system, based on well-known standards, allows the representation in real time of the different graphic outputs of the human locomotion. In order to generate realistic body movements, we developed a hybrid dynamic-kinematic system that uses models with different level of complexity. By the use of very simple dynamic models, the basic motion of the human body can be obtained. The remaining variables of the model are calculated by applying direct and inverse kinematics. Key words: computer animation, movement, human locomotion, visualization, real time.

Transcript of VISUALIZACIÓN EN TIEMPO REAL DE LA LOCOMOCIÓN HUMANA · se pueden utilizar directamente para...

XVI CONGRESO INTERNACIONAL DE INGENIERÍA GRÁFICA

VISUALIZACIÓN EN TIEMPO REAL DE LA LOCOMOCIÓN HUMANA

BALDASSARRI, Sandra; SERON, Francisco

Universidad de Zaragoza, España

Centro Politécnico Superior Departamento de Informática e Ingeniería de Sistemas

Grupo de Informática Gráfica Avanzada (GIGA) Instituto de Investigación en Ingeniería de Aragón (I3A) Correo electrónico: [email protected], [email protected]

RESUMEN

En este trabajo se presenta un sistema basado en la física que permite la visualización realista de la locomoción humana a partir de la especificación de parámetros de alto nivel (velocidad, frecuencia de paso, longitud de paso). Las herramientas de visualización desarrolladas se basan en estándares que permiten la representación gráfica en tiempo real. Para obtener movimientos realistas y naturales, se ha desarrollado un sistema “híbrido” dinámico-cinemático, que utiliza modelos con diferentes niveles de complejidad. La utilización de modelos dinámicos muy simples permite obtener los patrones básicos del movimiento del cuerpo. El resto de movimientos de las articulaciones del modelo se calculan aplicando cinemática directa e inversa.

Palabras clave: animación, movimiento, locomoción humana, visualización, tiempo real.

ABSTRACT

In this paper, a physically-based visualization system of human locomotion is presented. The system, based on well-known standards, allows the representation in real time of the different graphic outputs of the human locomotion. In order to generate realistic body movements, we developed a hybrid dynamic-kinematic system that uses models with different level of complexity. By the use of very simple dynamic models, the basic motion of the human body can be obtained. The remaining variables of the model are calculated by applying direct and inverse kinematics.

Key words: computer animation, movement, human locomotion, visualization, real time.

1. Introducción

En Informática Gráfica, la visualización es una de las herramientas más importantes a la hora de verificar la calidad de los resultados. Este hecho es especialmente cierto cuando la representación final proviene del cálculo de movimientos muy familiares para el ser humano, como la locomoción.

Hasta hace muy poco, la garantía de alto nivel en la visualización se lograba únicamente mediante poderosas estaciones de trabajo que utilizaban librerías especializadas, sobre hardware específico. El costo era, por tanto, bastante elevado. Sin embargo, con la economía de escala y la introducción de Internet y el mercado de los videojuegos, es posible obtener, a un costo accesible, ordenadores con excelentes prestaciones que permiten visualizar resultados científicos mediante el uso de librerías y estándares específicos.

El objetivo de este trabajo es presentar un conjunto de herramientas de visualización basadas en estándares conocidos, como OpenGL y VRML, y en la especificación H-Anim. Las herramientas están desarrolladas para lograr la representación en tiempo real de las salidas gráficas de un sistema de animación de la locomoción. Para lograr realismo en el movimiento del cuerpo, el sistema desarrollado es un “sistema híbrido”, que utiliza dinámica directa para el cálculo de los patrones básicos del movimiento del cuerpo, y cinemática directa e inversa para el cálculo del movimiento de las articulaciones.

A continuación se expone la organización del artículo. En la sección 2 se repasan las principales investigaciones desarrolladas en el ámbito de la visualización del cuerpo humano y la locomoción humana. La sección 3 describe, de modo general, el sistema desarrollado. En las secciones 4 y 5 se explica, en detalle, los subsistemas de cálculo y visualización, respectivamente. Algunos de los resultados obtenidos se presentan en la sección 6. Y finalmente, en la sección 7 se exponen las conclusiones.

2. Antecedentes

La animación realista de la locomoción humana se basa en dos procesos: la descripción de la forma del cuerpo y la generación del movimiento del cuerpo.

El modelado realista del cuerpo humano necesita agregar la forma del cuerpo a la inherente complejidad del esqueleto. Dependiendo del objetivo final, en algunos trabajos se utilizan modelos geométricos simplificados, mientras que en otros se utilizan aproximaciones basadas en estudios de la anatomía real del cuerpo humano [1]. Sin embargo, los modelos del cuerpo pueden variar desde segmentos rígidos conectados por articulaciones [2, 3] hasta modelos multicapa que permiten representar el esqueleto, la piel, los músculos o los huesos [4, 5].

En relación con el desarrollo de algoritmos para simular locomoción humana, en Informática Gráfica los trabajos se clasifican principalmente en: métodos basados en el conocimiento cinemático, y métodos que utilizan la dinámica o incorporan restricciones dinámicas en la generación del movimiento. Las ventajas principales de

los modelos cinemáticos [6, 7] son: el control se realiza por medio de parámetros de alto nivel, y que su coste computacional es bajo. Sin embargo, estos métodos utilizan técnicas de interpolación que puede generar secuencias poco realistas. En cambio, las aproximaciones dinámicas ofrecen más realismo ya que se basan en las leyes físicas y se pueden utilizar directamente para simular la marcha humana o para agregar restricciones a un movimiento predefinido [8, 9]. Los métodos híbridos cinemáticos-dinámicos se utilizan para aprovechar el realismo ofrecido por las leyes dinámicas, sin necesidad de especificar las fuerzas que generan el movimiento [10, 11].

3. Descripción general del sistema

El ciclo de la locomoción humana está compuesto por dos pasos consecutivos, uno con cada pierna. La alternancia de estos pasos, que son simétricos con cierto desfase, permite el desplazamiento. Por lo tanto, sólo es necesario estudiar en detalle el paso dado por una pierna. Durante el caminar se pueden diferenciar dos fases: la fase de apoyo y la fase de giro. En la fase de apoyo se producen las fuerzas que permiten al cuerpo humano avanzar mientras el pie se mantiene en contacto con el suelo. La fase de giro se produce cuando el pie está en el aire.

La idea principal de este trabajo es la visualización de la locomoción humana en tiempo real sin necesidad de utilizar dispositivos ópticos o magnéticos para capturar los datos de la locomoción. En nuestro trabajo se utiliza, como patrón básico del movimiento, la solución directa de modelos dinámicos muy simples, gobernados por una máquina de estados finitos (ver Fig. 1). La continuidad en los cálculos se mantiene a pesar de usar modelos con diferentes niveles de complejidad (muy simples para la dinámica, más complejos para el cálculo cinemático). En cada fase se insertan las condiciones de contorno obtenidas de estudios experimentales que permiten obtener los valores de las fuerzas que optimizan los resultados dinámicos. Estos resultados establecen el patrón básico que siguen todos los movimientos cinemáticos que constituyen el cálculo final.

Fig. 1. Bucle principal de la máquina de estados

Por medio de parámetros globales de alto nivel (ver Fig. 2) es posible modificar fácilmente las características físicas de los individuos (altura, peso) y las diferencias en sus movimientos (velocidad, frecuencia de paso, longitud de paso). A partir de estos datos, y utilizando dinámica directa, se obtiene el patrón básico de la locomoción humana. Asimismo, en el sistema se considera conocimiento empírico de la locomoción humana: secuenciación entre fases, simetría en el doble apoyo y minimización del consumo energético [10].

Fig. 2. Niveles de control en el sistema de locomoción humana

4. Sistema de Cálculo

En nuestro sistema se utiliza un modelo simplificado de las ecuaciones de movimiento para cada fase del ciclo de locomoción. El control y el proceso de integración numérica se simplifican por las siguientes razones:

• El modelo dinámico se restringe a las dos dimensiones del plano de la locomoción. • La pierna de apoyo es un segmento telescópico controlado por una fuerza axial. La

pierna de giro es un doble segmento articulado que incluye el peso y la posición del pie en su momento de inercia. El cuerpo superior se modela como un sólido rígido articulado en la cadera.

• Todos los segmentos se suponen simétricos y de masa constante. La masa y la longitud de los segmentos son proporcionales a la masa y la altura del cuerpo.

• La simulación de la pierna de apoyo se separa de la simulación de la pierna de giro. • La simulación de cada pierna se divide en fases que simplifican el número de

ecuaciones de movimiento. • El movimiento permanece continuo aplicando conservación de la energía entre las

fases.

Para la deducción de las ecuaciones de movimiento se utiliza el método Lagrange-Euler, utilizado en el diseño de leyes de control en Robótica. Se parte de la energía del sistema para identificar las fuerzas de interacción y acoplamiento que se presentan, según cada una de las coordenadas generalizadas qr

qqqdtdF qqq

q ∂∂∂+−

=&

UTT ∂∂∂

T = Energía Cinética U = Energía Potencial qr= Coordenadas Generalizadas Fqr = Fuerzas Generalizadas

El método produce un sistema multivariable de ecuaciones diferenciales de segundo orden no lineales y fuertemente acopladas cuya expresión es [ ] ),( θθθ

r&

rr&& BA =

con para la pierna de apoyo y para pierna de giro (ver Fig. 3).

=

2

1

θθω

qr

=

4

3 θθ

qr

Fig. 3. Modelo dinámico de las piernas de apoyo y giro

Las deducciones de las expresiones de energía de ambas piernas y las expresiones finales para cada coordenada generalizada se pueden encontrar en [12]. Las expresiones de las fuerzas generalizadas se deducen a partir de patrones obtenidos de la biomecánica y la robótica. La fuerza generalizada longitudinal Fω simula la flexión y la extensión de la rodilla y el tobillo. La expresión del patrón es:

ωυωκ ωωω &−−+= )( 1 aplF donde pa es el actuador de posición, un elemento de control activo del valor de la fuerza axial. La e ento con respecto a la articulación de la cadera, F

xpresión del momθ2 es: 22_2222

siendo _2( ) θυθθκθ&−−−= desF 0≈desθ el ángulo

con respecto a la vertical, configurable por el animador. El momento Fθ1 representa las acciones musculares que producen la rotación de la pierna de apoyo y hacen que el cuerpo avance. Fθ1 es una constante, determinada recursivamente, de tal modo que la coordenada generalizada θ1 pueda alcanzar un valor objetivo. Durante la fase dinámica de giro, los valores de los momentos Fθ3 y Fθ4 dependen de la subfase de cálculo. Si dichos valores se obtienen recursivamente toman la expresión exponencial:

4,3. En otro caso se deducen c en la fase de

apoyo, cuya expresión es: con ( )2AtBeF −=θ omo los patrone

( 4,3_ 4,34,34,3θθθ −−= phaseswingkF

s propuestos 3) 4,34,3 θυ &

phaseswing _ 4,θ configurable por el animador.

La resolución de las ecuaciones de movimiento de la pierna de apoyo se divide en tres subfases que se corresponden con las de la biomecánica: contacto, apoyo medio y propulsión (esta última se divide en propulsión activa y propulsión pasiva). La fase de

giro es recursiva en cada una de las tres subfases en que se divide (1º, 2º y 3º). Como en la fase de giro el modelo dinámico coincide con el modelo cinemático, el resultado de la simulación se incorpora directamente en la visualización cinemática (ver Fig. 4).

Fig. 4. Subfases de la fase de apoyo y de la fase de giro

El movimiento está gobernado directamente por las fuerzas generalizadas (dinámica directa) cuyas expresiones se basan en los principios biomecánicos de la dinámica pasiva. El valor de cada fuerza generalizada se calcula recursivamente verificando, al final de cada paso, si cumple con ciertas condiciones de contorno. Estas condiciones se construyen a partir de los conceptos biomecánicos de secuenciación de fases, minimización energética y simetría en el doble apoyo.

El método numérico que se ha implementado para la resolución del sistema es un algoritmo n-dimensional multipaso predictor-corrector, con control adaptativo de paso de integración. Utiliza un algoritmo Adams-Bamsford como predictor y Moulton-Adams como corrector. Se inicializa con un método Runge Kutta de 4º orden [13].

5. Visualización

La herramienta de visualización ha sido desarrollada en C++ con la librería externa OpenGL, optimizada para el uso de aceleradores gráficos. En el caso de la interfaz, para lograr independencia de la plataforma, se ha utilizado GTK++.

La figura humana se representa por un modelo formado por una estructura jerárquica de 48 segmentos, que se construye de manera paramétrica a partir de datos antropométricos. En particular, para obtener un nuevo “cuerpo humano” en la aplicación, es necesario especificar la altura del individuo (ver Fig. 5). En la visualización final el modelo humano se puede representar por medio de un esqueleto, un modelo en jaula de alambre o un modelo de superficies. El sistema de visualización también permite exportar vídeo en formato AVI y exportar la geometría y la animación en la especificación H-Anim [14].

La apariencia visual del movimiento “a bajo nivel” se mejora por medio de la cinemática. Se aplican restricciones cinemáticas a los movimientos de todos aquellos segmentos y ángulos del modelo articulado que no son resultado directo de la simulación dinámica. Los valores de las restricciones se extraen de medidas antropométricas, tanto experimentales como estéticas, y permiten la caracterización individual de cada animación.

Fig. 5. Interfaz gráfica del sistema de visualización

La cinemática de la pierna de apoyo refleja el funcionamiento biomecánico de la rodilla y el tobillo. Ambas articulaciones absorben el choque del talón, suavizan la transición entre los estados de giro y apoyo y mantienen la mayor altura posible del Centro de Masas. Las trayectorias de la cadera y el tobillo se deducen de la dinámica. La cinemática de la pierna de apoyo se divide en: contacto, despegue del talón y despegue del empeine (ver Fig. 4). La cinemática de la pierna de giro se reduce a completar el movimiento del pie por medio de interpolación lineal entre las diferentes subfases (ver Fig. 4).

El movimiento más importante de la pelvis es la rotación pélvica producida en el plano transversal, y que produce un incremento en la longitud del paso. En el plano coronal ocurre el balanceo pélvico, que produce que una cadera esté más alta que la otra. El desplazamiento lateral del cuerpo es perpendicular al plano de locomoción y transfiere parte del peso del cuerpo a la pierna de apoyo. En el apoyo del talón, la rotación pélvica es máxima y el desplazamiento lateral y el balanceo pélvico desaparecen. No hay rotación en el apoyo medio pero el desplazamiento es máximo. La mayor diferencia de altura entre las caderas ocurre al principio de la fase de giro.

El modelo utilizado en el cuerpo superior simula cinemáticamente toda la columna vertebral (los movimientos se han agrupado de acuerdo a las vértebras lumbares, torácicas y cervicales). Cada vértebra sólo realiza movimientos de rotación con respecto a la anterior. Las vértebras lumbares absorben, de manera proporcional, el movimiento angular de la coordenada generalizada del modelo dinámico y el balanceo pélvico. La rotación pélvica y la rotación de los hombros en dirección opuesta se compensan a lo largo de la columna vertebral de manera que la cabeza siempre permanezca en la dirección de la locomoción. En el plano transversal, los hombros rotan en dirección opuesta y proporcionales a la rotación de la pelvis. En el plano de locomoción, en cambio, los brazos rotan proporcionalmente al ángulo dinámico de la cadera de la pierna contraria y los antebrazos se interpolan directamente a partir de valores experimentales.

6. Resultados

A continuación se muestran algunas salidas gráficas del sistema de animación desarrollado. A excepción de la Fig. 6, en todos los demás casos las animaciones corresponden a una persona de 80 kg de peso y 1.80 m de altura, caminando a paso natural de 5 km/h. La Fig. 6 muestra una comparativa entre tres cuerpos humanos de diferentes características antropométricas. La Fig. 7 presentan una secuencia completa de locomoción humana. El cuerpo está representado mediante un modelo esqueletal y de superficies, respectivamente. En la última figura (Fig. 8) se pueden observar los cambios en los valores angulares de las articulaciones de la pierna durante tres ciclos de locomoción. El primer paso constituye el comienzo a partir de la posición de reposo, produciendo una aceleración, y el último paso detiene la locomoción por medio de una deceleración. Este hecho se observa claramente en los extremos de la curva de la trayectoria de los ángulos de cada articulación. Asimismo se puede observar la cadencia rítmica en los ciclos de locomoción.

Fig. 6. Representación de diferentes cuerpos humanos

Fig. 7. Secuencia de locomoción humana: modelo esqueletal y modelo de superficies

-40

-20

0

20

40

60

80

1

hip knee ankle

Fig.8. Ángulos de las articulaciones durante la locomoción

7. Conclusiones

Este trabajo nos permite concluir que es posible simular la locomoción humana en tiempo real con ordenadores de bajo coste, utilizando un método de control híbrido dinámico-cinemático en base a modelos articulados jerárquicos (muy simples para la dinámica y más complejos para la cinemática). Estos modelos han sido desarrollados utilizando información biomecánica de la locomoción real, y la apariencia final se mejora aplicando cinemática sobre los patrones básicos del movimiento obtenidos en la dinámica.

Entre otras cosas el sistema permite: trabajar con individuos con diferentes características antropométricas son intervención del animador, representar humanos por medio de un modelo paramétrico (esqueleto, jaula de alambre o superficies), controlar la dinámica del movimiento de un modo muy intuitivo, a partir de parámetros de alto nivel como velocidad o frecuencia del paso y obtener información significativa acerca de la biomecánica del problema. Además no es necesario utilizar técnicas de captura de datos, como es usual en los laboratorios de la locomoción.

Las herramientas de visualización desarrolladas se basan en estándares abiertos y en librerías que se utilizan en el mercado del entretenimiento y los videojuegos.

Entre los trabajos futuros se pretende: mejorar el modelo humano para darle una apariencia más realista, validar los resultados del sistema comparándolos con datos obtenidos mediante rotoscopia y utilizar los valores obtenidos en nuestro sistema para obtener simulaciones de las deformaciones musculares durante la locomoción.

Agradecimientos

Los autores agradecen la colaboración de Francisco Rojas Luna y Andrés Mena Tobar en este trabajo.

Este trabajo fue parcialmente financiado con el proyecto Nº TIC 2000-1635-C04-01 del Ministerio de Ciencia y Tecnología de España.

Referencias

[1] Baldassarri S., Gutierrez D., Seron F. Modelling Objects with Changing Shapes: A survey, Machine GRAPHICS & VISION. Vol. 11, Nº 4, pp. 399-430, 2002.

[2] Thalmann D., Magnenat Thalmann N., Bergenon P. Dream Flight: A Fictional Film Produced by 3d Computer Animation, Proceedings of Computer Graphics’82, pp. 353-368, 1982.

[3] Fetter W. A Progression of Human Figures Simulated by Computer Graphics, IEEE Computer Graphics and Applications, Vol. 2 (9), pp. 9-13, 1982.

[4] Chadwick J.E., Haumann D.R., Parent R.E. Layered Construction for Deformable Animated Characters, Computer Graphics Proceedings, Siggraph’89, pp. 243-252, 1989.

[5] Wilhelms J., Van Gelder A. Anatomically Based Modelling, Computer Graphics Proceedings, Siggraph’97, pp. 173-180, 1997.

[6] Boulic R., Magnenat Thalmann N., Thalmann D. A Global Human Walking Model with Real-time Kinematic Personification, The Visual Computer, vol. 6, pp. 344-358, 1990.

[7] Bruderlin A., Teo G., Calvert T. Procedural Movement for Articulated Figure Animation, Computer & Graphics, Vol. 18, pp. 453-461, 1994.

[8] Raibert M.H., Hodgins J. Animation of Dynamic Legged Locomotion, Proceedings of ACM Siggraph, pp. 349-358, 1991.

[9] van de Panne M., Kim R., Fiume E. Virtual Wind-up Toys for Animation, Proceedings of Graphics Interface’94, pp. 208-215, 1994.

[10] Bruderlin A., Calvert T. Goal-directed Dynamic Animation of Human Walking, Computer Graphics, Vol. 23, pp. 233-242, 1989.

[11] Komura T., Shinagawa Y., Kunii T. Creating and Retargeting Motion by the Musculoskeletal Human Body Model, The Visual Computer, Vol. 16, pp. 254-270, 2000.

[12] Rojas F., Baldassarri S., Seron F. Software Laboratory for Physical Based Human Body Animation, LNCS 2492: Articulated Motion and Deformable Objects, Springer-Verlag, pp. 226-240, 2002.

[13] Burden R., and Faires D. Numerical Analysis, PWS, Boston, 1985. [14] Beitler M., http://www.cis.upenn.edu/~beitler/children