Cinemática inversa

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 5 de octubre de 2020; las comprobaciones requieren 2 ediciones .

La cinemática inversa ( inverse kinematic animation , inglés  cinemática inversa , IK) es el proceso de determinar los parámetros de objetos en movimiento conectados (por ejemplo, un par cinemático o una cadena cinemática ) para lograr la posición, orientación y ubicación requeridas de estos objetos. La cinemática inversa es un tipo planificaciónLa cinemática inversa se usa activamente en robótica , animación por computadora en 3D y en el desarrollo de juegos de computadora.. Se utiliza principalmente en aquellas situaciones en las que es necesario posicionar con precisión las articulaciones móviles de un objeto en relación con otros objetos del entorno. El algoritmo de cinemática inversa es lo opuesto al algoritmo de cinemática directa .

Descripción

La cinemática inversa, como la directa , se aplica a los modelos de cualquier personaje u objeto que se crea mediante la animación esquelética . La esencia de la animación esquelética es que un objeto consiste en un conjunto de segmentos sólidos (componentes) conectados por articulaciones (articulación inglesa )  . En este caso, los segmentos se pueden combinar en pares cinemáticos , que a su vez se combinan en cadenas cinemáticas . Estos segmentos forman cadenas jerárquicas que tienen niveles "superiores" e "inferiores". Los segmentos (componentes) de los niveles superiores se denominan componentes antecesores (o segmentos principales), y los componentes de nivel inferior se denominan componentes secundarios (o segmentos secundarios). Por ejemplo, si consideramos una mano humana, entonces la articulación del hombro será el nivel más alto y la yema del dedo será el más bajo, es decir, el componente descendiente de la articulación del hombro. La articulación del codo está dentro de la cadena, tendrá segmentos tanto principales (hombro) como secundarios (muñeca, dedos). [una]

La principal diferencia entre la cinemática directa y la cinemática inversa es que con la cinemática directa, cualquier acción se transmite a lo largo de una cadena jerárquica de arriba a abajo. Por ejemplo, cuando se mueve la articulación de la cadera, se mueven todos los descendientes, es decir, la articulación de la rodilla y todo lo demás. La cinemática inversa utiliza un principio que es diametralmente opuesto al principio directo: mover los componentes secundarios provoca un cambio en la posición de los componentes principales, es decir, el algoritmo calcula la posición y la orientación de los componentes principales en función de la posición y orientación de los componentes secundarios. [una]

En cinemática inversa, un segmento secundario (componente secundario) que provoca un cambio en la posición y orientación de otros objetos y se ubica en medio de una cadena jerárquica separada de segmentos se denomina efector [ 1 ] .  Si el efector es el objeto final de esta cadena jerárquica, entonces se le llama efector final ( eng. end effector ). Es a través del efector que se manipula toda la cadena jerárquica. Cambiar la posición y/o la orientación del efector final conduce a un cambio en la posición y/o la orientación de todos los segmentos de la cadena jerárquica según las leyes de la cinemática inversa. Cambiar la posición y/o la orientación de un efector simple (no final) conduce al hecho de que la posición de los objetos debajo de él en la jerarquía cambia de acuerdo con las leyes de la cinemática directa, y los objetos con una jerarquía superior, de acuerdo con las leyes de cinemática inversa.  

La clave para la implementación exitosa de la cinemática inversa es la animación dentro de restricciones (restricciones en inglés )  : las extremidades del modelo del personaje deben comportarse dentro de límites antropomórficos razonables. Lo mismo ocurre con los dispositivos robóticos, que tienen limitaciones físicas, como el entorno en el que operan, limitaciones en el movimiento de sus articulaciones y cargas físicas y velocidades limitadas con las que pueden trabajar. [una]

Uso y ejemplos

La cinemática inversa es una herramienta utilizada a menudo por los artistas 3D . Es más fácil para el artista expresar la acción espacial deseada que manipular directamente los ángulos de articulación. Por ejemplo, la cinemática inversa permite al artista mover el brazo de un modelo de personaje humanoide 3D a la posición y orientación deseadas. Al mismo tiempo, el propio algoritmo, y no el artista, elige los ángulos correctos de la articulación de la muñeca, el codo y el hombro.

Por ejemplo, si una persona quiere agarrar el pomo de una puerta con la mano, entonces su cerebro debe hacer los cálculos necesarios para colocar correctamente el brazo y el torso de la persona. El objetivo principal es mover la mano, pero se deben usar muchas articulaciones complejas de múltiples articulaciones para llevar la mano al objeto deseado. Un proceso similar ocurre en las aplicaciones tecnológicas: para lograr el objetivo deseado, se deben realizar los cálculos matemáticos de cinemática inversa para colocar las extremidades de la manera correcta. Un ejemplo en el que a menudo se necesitan cálculos de cinemática inversa es en robótica. Por ejemplo, un operador de robot quiere colocar algún objeto usando un manipulador , pero, por supuesto, no quiere controlar cada articulación del manipulador por separado.

Otras aplicaciones en las que se utiliza la cinemática inversa son las de animación y gráficos por ordenador . Por ejemplo, los animadores quieren controlar un modelo de personaje humanoide generado por computadora, pero es muy difícil animar articulaciones individuales. La solución es simular las articulaciones virtuales de un "títere títere" y dejar que el animador mueva los brazos, las piernas y el torso del títere, y la computadora usando cinemática inversa generará automáticamente las posiciones de extremidades necesarias para lograr el resultado.

La cinemática inversa se usa a menudo en juegos de computadora para animar personajes humanoides. Básicamente, la cinemática inversa se utiliza para crear animaciones de las piernas de los modelos de una criatura humanoide o una persona. Por ejemplo, es bastante fácil crear una animación de movimiento (caminar, correr) de una persona o un animal terrestre, si se mueve en un plano. Sin embargo, si el terreno es irregular (desnivelado, accidentado, accidentado o montañoso), crear animaciones precisas para caminar es una tarea prácticamente imposible. La animación de las piernas no se corresponderá con el relieve de la superficie, lo que se manifestará en efectos como el deslizamiento de las piernas sobre la superficie y el posicionamiento inexacto de las piernas con respecto a ella (el pie se "hundirá" en la superficie o "no alcanzalo). Es para la solución cualitativa y efectiva de estos problemas que se utiliza la cinemática inversa. [una]

Otras aplicaciones que utilizan la cinemática inversa incluyen la manipulación interactiva, el control de animaciones y la prevención de colisiones .

Notas

  1. 1 2 3 4 5 Yuri Ilyin. Animación esquelética, cinemática directa e inversa . Mir3D.ru (27 de julio de 2009). Consultado el 7 de diciembre de 2009. Archivado desde el original el 13 de agosto de 2011.

Enlaces externos

Fuentes en inglés Fuentes en ruso