Está en la página 1de 6

Cinemática inversa

Ir a la navegaciónIr a la búsqueda

El texto que sigue es una traducción defectuosa. Si quieres colaborar con


Wikipedia, busca el artículo original y mejora esta traducción.
Copia y pega el siguiente código en la página de discusión del autor de este
artículo: {{subst:Aviso mal traducido|Cinemática inversa}} ~~~~

En Robótica, la Cinemática inversa (IK) es la técnica que permite determinar el


movimiento de una cadena de articulaciones para lograr que un actuador final se
ubique en una posición concreta. El cálculo de la cinemática inversa es un problema
complejo que consiste en la resolución de una serie de ecuaciones cuya solución
normalmente no es única.

El objetivo de la cinemática inversa es encontrar los valores que deben tomar las
coordenadas articulares del robot para que su extremo se posicione y oriente según
una determinada localización espacial. Depende de la configuración del
robot(existen soluciones múltiples).

Siempre que se especifica una posición de destino y una orientación en términos


cartesianos, debe calcularse la cinemática inversa del dispositivo para poder
despejar los ángulos de articulación requeridos. Los sistemas que permiten
describir destinos términos cartesianos son capaces de mover el manipulador a
puntos que nunca fueron capaces de mover el espacio de trabajo a los cuales tal vez
nunca haya ido antes. A estos puntos los llamaremos puntos calculados. 1

El movimiento de una cadena cinemática ya sea si es un robot o un personaje animado


es modelado por ecuaciones cinemáticas propias de la misma cadena. Estas ecuaciones
definen la configuración de la cadena en términos de sus parámetros.

Por ejemplo las fórmulas de la cinemática inversa permiten el cálculo de los


parámetros de unión del brazo de un robot para levantar un objeto.Ya que una de las
Fórmulas similares es determinar las posiciones del esqueleto de un personaje
animado que se va a mover de una manera en particular.

Índice
1 Análisis Cinemático
2 Cinématica inversa y animación 3D
3 Herramientas para resolver problemas de cinemática inversa
4 Cinemática Inversa para un Brazo Robot de 5 grados de libertad.
5 Cinemática inversa: Posibles soluciones
6 Cinemática inversa: Métodos
7 Método geométrico
8 Cinemática Inversa para un Brazo Robot de 5 grados de libertad.
9 Ecuaciones cinemáticas
10 Ejemplos de aplicación de la IK
11 Aproximación de soluciones de sistemas de IK
12 Cinemática Directa de Plataformas Gough-Stewart Tipo 6-3
13 Referencias
14 Enlaces externos
Análisis Cinemático
La cinemática inversa se refiere a la utilización de las ecuaciones cinemáticas de
un robot para determinar los parámetros comunes que proporcionan una posición
deseada del efector final. Especificación del movimiento de un robot de manera que
su extremo efector logra una tarea deseada es conocido como planificación de
movimientos.La cinemática inversa transforma el plan de movimiento en trayectorias
del actuador en conjuntos para el robot. El movimiento de una cadena cinemática si
se trata de un robot o un personaje animado es modelada por las ecuaciones
cinemáticas de la cadena. Estas ecuaciones definen la configuración de la cadena en
términos de sus parámetros conjuntos. La cinemática directa utiliza los parámetros
comunes para calcular la configuración de la cadena, y la cinemática inversa
invierte este cálculo para determinar los parámetros de conjuntos que logra una
configuración deseada.

Una figura articulada consta de un conjunto de segmentos rígidos conectados


mediante articulaciones. Los múltiples ángulos que pueden adoptar estas
articulaciones permiten un número indefinido de configuraciones o posiciones de la
figura. La solución al problema cinemático inverso consiste en encontrar los
valores que deben adoptar las coordenadas articulares del robot q = [q1,
q2, . . . , qn] para que su extremo se posicione y oriente según una determinada
configuración deseada. En general no existe una solución única para este problema,
incluso puede no existir. La búsqueda de la solución suele realizarse mediante el
uso de técnicas numéricas iterativas como por ejemplo Método de Newton. Esto puede
resultar en cálculos lentos, por lo que habitualmente en una implementación real se
acota el tiempo máximo (o iteraciones) que debe realizar el algoritmo de búsqueda.

En otro casos, para robots con pocos grados de libertad, existen soluciones
analíticas mediante el uso de métodos geométricos, que consisten en la utilización
de las relaciones trigonométricas y la resolución de los triángulos formados por
los elementos y articulaciones del robot.

También puede ser el proceso de cálculo de la posición en el espacio del extremo de


una estructura ligada, dados los ángulos de todas las articulaciones. Es fácil, y
sólo hay una solución. Cinemática inversa hace lo contrario. Teniendo en cuenta el
punto final de la estructura, lo que los ángulos de las articulaciones qué
necesidad de estar en el punto final que alcanzar. Puede ser difícil, y por lo
general hay muchos o infinitas soluciones. Este proceso puede ser extremadamente
útil en la robótica. Es posible que tenga un brazo robótico que tiene que agarrar
un objeto. Si el software sabe dónde está el objeto en relación con el hombro,
simplemente se necesita el cálculo de los ángulos de las articulaciones para llegar
a él.

Cinématica inversa y animación 3D


La cinemática inversa es importante para la programación de juegos y animación en
3D, donde se utiliza para conectar físicamente los personajes del juego para el
mundo, tales como recepción de pies firmemente en la parte superior del terreno.
Una figura animada se modela con un esqueleto de segmentos rígidos conectados con
las articulaciones, llama una cadena cinemática. Las ecuaciones cinemáticas de la
figura definen la relación entre los ángulos de las articulaciones de la figura y
su pose o configuración. El problema de la animación de cinemática directa es que
utiliza las ecuaciones cinemáticas para determinar la postura dado los ángulos
articulares. El problema de cinemática inversa calcula los ángulos de articulación
para una pose deseada de la figura. A menudo es más fácil para los diseñadores
basados en computadoras, artistas y animadores para definir la configuración
espacial de un conjunto o una cifra en las partes móviles o los brazos y las
piernas, en lugar de manipular directamente los ángulos articulares. Por lo tanto,
la cinemática inversa se utiliza en los sistemas de diseño asistido por ordenador
para animar las asambleas y de los artistas y animadores por computadora basados en
datos de posición y caracteres. El conjunto se modela como eslabones rígidos
conectados por articulaciones que se definen como compañeros o restricciones
geométricas. Movimiento de un elemento requiere el cálculo de los ángulos de la
articulación de los otros elementos para mantener las restricciones conjuntas. Por
ejemplo, la cinemática inversa permite a un artista para mover la mano de un modelo
humano 3D con una posición y orientación deseada y tiene un algoritmo de selección
de los ángulos apropiados de la muñeca, el codo y articulaciones de los hombros. La
implementación exitosa de la animación por ordenador por lo general también
requiere que la cifra se mueven dentro de los límites razonables antropomorfas.
Herramientas para resolver problemas de cinemática inversa
Algunas herramientas como OpenRave utilizan un método denominado IKFast para
solucionar problemas de cinemática inversa. IKFast puede resolver analíticamente
las ecuaciones de la cinemática de cualquier cadena cinemática compleja, y generar
el código en un lenguaje específico, como C++, para su uso posterior. El resultado
final es extremadamente estable y ofrece un tiempo de respuesta de unos pocos
microsegundos.

Cinemática Inversa para un Brazo Robot de 5 grados de libertad.


En los apartados "Cinemática I" y "Cinemática II" nos movíamos siempre sobre los
ejes X e Y, y lo aplicábamos al brazo tipo Scara. Ahora es el momento de subir un
peldaño y pasar a calcular una cinemática inversa aplicada a las 3 dimensiones para
un brazo robot antropomorfo de 4 ó 5 grados de libertad. En realidad es mucho más
sencillo de lo que parece porque vamos a seguir usando las mismas fórmulas que
anteriormente pero antes de pasar a ellas tenemos que hacer unos ajustes para que
el brazo entre en la nueva dimensión. El eje X se mantendrá en la misma posición
sobre el plano, el eje Y pasará a convertirse en la profundidad y el eje Z pasa a
ser la altura.

Cinemática inversa: Posibles soluciones


Procedimiento genérico a partir de los parámetros D-H:

-Método iterativo
-Problemas de velocidad y convergencia
Búsqueda de solución cerrada:

-Posibilidad de resolución en tiempo real.


-Posibilidad de selección de la solución más adecuada.
-Posibilidad de simplificaciones.
-No siempre es posible.
Cinemática inversa: Métodos
1-Métodos geométricos

-Se suele utilizar las primeras variables articulares.


-Uso de relaciones geométricas y trigonométricas(resolución de triángulos).

2-Resolución a partir de matrices de transformación homogénea

- Se despejan las n variables en función de las componentes de los vectores.


3-Desacoplamiento cinemático.

-En robots de 6 GDL.


-Separación y posicionamiento.
4-Otros

-Álgebra de tornillo.
-Cuaterniones duales.
-métodos iterativos.
Método geométrico

process of geometric solution


Es adecuado para robots de pocos grados de libertad o para el caso de que se
consideren solo los primeros grados de libertad para posicionar el extremo.

El procedimiento se basa en encontrar un número suficiente de relaciones


geométricas en las que intervendrán las coordenadas del extremo del robot, sus
coordenadas articulares y las dimensiones físicas de sus elementos.
Robot con 3 GDL.
Coordenas Px, Py, Pz
Robot con estructura planar.
La orientación del último eslabón es la suma de las variables articulares.

{\displaystyle \theta =\theta _{1}+\theta _{2}+\theta _{3}}{\displaystyle \theta


=\theta _{1}+\theta _{2}+\theta _{3}}
{\displaystyle q_{1}=\arctan {\frac {P_{y}}{P_{x}}}}{\displaystyle q_{1}=\arctan
{\frac {P_{y}}{P_{x}}}}
Considerando ahora únicamente r y utilizando el teorema del coseno, se tendrá:

{\displaystyle r^{2}=P_{x}^{2}+P_{y}^{2}}{\displaystyle r^{2}=P_{x}^{2}+P_{y}^{2}}


{\displaystyle r^{2}+P_{z}^{2}=I_{2}^{2}+I_{3}^{2}+2\cdot I_{2}\cdot I_{3}\cdot
\cos q_{3}}{\displaystyle r^{2}+P_{z}^{2}=I_{2}^{2}+I_{3}^{2}+2\cdot I_{2}\cdot
I_{3}\cdot \cos q_{3}}
{\displaystyle \cos q_{3}={\frac {P_{x}^{2}+P_{y}^{2}+P_{z}^{2}-I_{2}^{2}-
I_{3}^{2}}{2\cdot I_{2}\cdot I_{3}}}}{\displaystyle \cos q_{3}={\frac
{P_{x}^{2}+P_{y}^{2}+P_{z}^{2}-I_{2}^{2}-I_{3}^{2}}{2\cdot I_{2}\cdot I_{3}}}}
Esta expresión permite obtener q1 en función del vector de posición del extremo P.
No obstante, por motivos de ventajas computacionales, es más conveniente utilizar
la expresión de arco tangente en lugar del arco seno. Puesto que:

{\displaystyle \operatorname {sen} q_{3}=\pm (1-\cos ^{2}q_{3})^{\frac {1}{2}}}


{\displaystyle \operatorname {sen} q_{3}=\pm (1-\cos ^{2}q_{3})^{\frac {1}{2}}}
Se tendrá que:

q3 = arctg(± (1-cos²q3)½ / cosq3)


cosq3 = ((Px)² + (Py)² + (Pz)² - (I2)² - (I3)²) / (2(I2)(I3))
El cálculo de q2 se hace a partir de la diferencia entre ß y a:

q2 = ß - a
Siendo:

ß = arctg (Pz / r ) = arctg (Pz / ± ((Px)² + (Py)² )½ )


a = arctg (I3 senq3 / I2 + I3 cosq3 )
Luego:

q2 = arctg (Pz / ± ((Px)² + (Py)² )½ ) - arctg (I3 senq3 / I2 + I3 cosq3)


De nuevo los dos posibles valores según la elección del signo dan lugar a dos
valores diferentes de q2 correspondientes a las configuraciones codo arriba y
abajo.

Cinemática Inversa para un Brazo Robot de 5 grados de libertad.


Programado en FreeBasic (implementación de OpenGL) En los apartados "Cinemática I"
y "Cinemática II" nos movíamos siempre sobre los ejes X e Y, y lo aplicábamos al
brazo tipo Scara. Ahora es el momento de subir un peldaño y pasar a calcular una
cinemática inversa aplicada a las 3 dimensiones para un brazo robot antropomorfo de
4 ó 5 grados de libertad. En realidad es mucho más sencillo de lo que parece porque
vamos a seguir usando las mismas fórmulas que anteriormente pero antes de pasar a
ellas tenemos que hacer unos ajustes para que el brazo entre en la nueva dimensión.
El eje X se mantendrá en la misma posición sobre el plano, el eje Y pasará a
convertirse en la profundidad y el eje Z pasa a ser la altura.

Ecuaciones cinemáticas
Las ecuaciones cinemáticas para la cadena de serie de un robot se obtienen
utilizando una transformación rígida [Z] para caracterizar el movimiento relativo
permitido en cada transformación rígida conjunta o separadamente, [X] para definir
las dimensiones de cada enlace. El resultado es una secuencia de transformaciones
rígidas alterna transformaciones conjuntas y el enlace de la base de la cadena de
enlace a su extremo, que se equipara a la posición especificada para el enlace
final.

{\displaystyle [T]=[Z_{1}][X_{1}][Z_{2}][X_{2}]\ldots [X_{n-1}][Z_{n}]\!}


{\displaystyle [T]=[Z_{1}][X_{1}][Z_{2}][X_{2}]\ldots [X_{n-1}][Z_{n}]\!}
Donde [T] es la transformación que se encuentra en el enlace final. Estas
ecuaciones se llaman las ecuaciones cinemáticas de la cadena en serie.

Ejemplos de aplicación de la IK
Supongamos que estamos en un cruce, detrás de un camión de remolque que desea girar
a la derecha. Cuando se enciende la luz verde el conductor del camión se mueve a lo
largo de un camino r (t), pero es evidente que las ruedas del remolque se mueven a
lo largo de otra ruta de acceso r '(t). La cinemática inversa puede ser utilizada
para determinar r '(t) de r (t), teniendo en cuenta las restricciones del sistema:
la longitud del remolque es una constante y el proceso no requiere ningún
conocimiento de las fuerzas entre los objetos .

Aproximación de soluciones de sistemas de IK


Hay muchos métodos de modelado y de resolución de problemas inversos cinemática. La
configuración más flexible de estos métodos se basan típicamente en la optimización
iterativa de buscar una solución aproximada, debido a la dificultad de invertir la
ecuación cinemática hacia delante y la posibilidad de un espacio de solución vacío.
La idea central detrás de varios de estos métodos es modelar la ecuación cinemática
hacia delante utilizando un desarrollo en serie de Taylor, que puede ser más simple
para invertir y resolver que el sistema original.

Cinemática Directa de Plataformas Gough-Stewart Tipo 6-3


Una plataforma general Gough-Stewart se compone de un órgano terminal, denominado
plataforma móvil, y un eslabón base, denominado plataforma fija, unidos por medio
de seis cadenas serie las cuales se accionan de manera independiente.

Algunas de las desventajas de una plataforma general Gough-Stewart, es decir de


seis grados de libertad, son las siguientes:

• El análisis directo de posición, un paso inevitable en el dimensionado mecánico


de los componentes del manipulador, es una tarea compleja que conduce a cuarenta
posibles soluciones reales (Raghavan 1993; Innocenti 1998). De esta manera el
controlador requiere de información adicional, por medio de sensores, sobre la
ubicación instantánea de la plataforma móvil.

• La presencia de singularidades locales, Di Gregorio (2002), es un problema


recurrente que limita al espacio de trabajo.

• Como consecuencia del punto anterior, la manipulabilidad o de exteridad del


mecanismo es extremadamente cuestionable.

Referencias
Craig J., John (2006). robótica. pearson education. ISBN 970-26-0772-8.
Enlaces externos
Esta obra contiene una traducción derivada de «Inverse kinematics» de la Wikipedia
en inglés, publicada por sus editores bajo la Licencia de documentación libre de
GNU y la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported.
Ejemplo en FreeBasic de un simulador de brazo robot que aplica la cinemática
inversa para 5 grados de libertad más la pinza.
Analytical Inverse Kinematics Solver - Given an OpenRAVE robot kinematics
description, generates a C++ file that analytically solves for the complete IK.
Inverse Kinematics algorithms
Robot Inverse Kinematics
HowStuffWorks.com article How do the characters in video games move so fluidly?
with an explanation of inverse kinematics
3D Theory Kinematics
Protein Inverse Kinematics
Simple Inverse Kinematics example with source code using Jacobian
Detailed description of Jacobian and CCD solutions for inverse kinematics
Basic Application of Inverse Kinematics using ActionScript
Cinemática Inversa (Inverse Kinematics) en C++ con Orocos
http://www.kramirez.net/wp-content/uploads/2012/04/CinematicaInversaRobot.pdf

También podría gustarte