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.
Índice |
Cinemática inversa en Robótica [editar]
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.
Cinématica inversa y animación 3D [editar]
Cinemática inversa es una herramienta utilizada con frecuencia por los artistas de 3D, principalmente en animación. Facilita al artista expresar directamente el aspecto espacial deseado en lugar de manipular los ángulos articulares. Por ejemplo, permite mover la mano de un modelo 3D humano a la posición y orientación deseada, posteriormente un algoritmo selecciona de forma automática el ángulo adecuado de la muñeca, del codo y de las demás articulaciones de los hombros.
La implementación exitosa de la cinemática inversa en la animación por ordenador requiere del cumplimiento de restricciones dadas por la naturaleza del objeto animado.Del mismo modo, los dispositivos robóticos tienen limitaciones físicas, tales como el entorno en que operan o limitaciones mecánicas como las articulaciones, que limitan el movimiento, velocidad, y carga que estos pueden desarrollar.
Herramientas para resolver problemas de cinemática inversa [editar]
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.
Ejemplos de aplicación de la IK [editar]
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 .
Referencia [editar]
- Esta obra deriva de la traducción de Inverse kinematics, publicada bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 3.0 Unported por editores de la Wikipedia en inglés.
Enlaces externos [editar]
- 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