¿Cómo puedo calcular la cinemática inversa de un brazo robótico, dado que tengo la cinemática directa de un brazo robótico de 6 DoF?

Hay tres soluciones en las que puedo pensar:

1. Utilice una herramienta como OpenRAVE o IKfast que calculará la cinemática inversa al invertir las ecuaciones cinemáticas hacia adelante (FKE).

2. Tome la derivada de cada FKE con respecto a cada articulación. Esto le proporciona ecuaciones de 6 × 6 que son entradas de la “velocidad jacobiana”. Luego puede usar el método inverso jacobiano para conducir el robot a la posición / orientación deseada en el espacio cartesiano utilizando el control de retroalimentación. En pocas palabras, tendrás algo como esto

[matemáticas] \ dot {X} = \ dot {J} \ dot {j} [/ matemáticas]

donde [math] \ dot {J} [/ math] es una matriz que relaciona las velocidades en el espacio articular ([math] \ dot {j} [/ math]) con las velocidades en el espacio mundial. Ahora puede calcular la [matemática] \ dot {X} [/ matemática] que se mueve desde usted desde su posición actual a la deseada en el espacio mundial y resolver el cambio en sus articulaciones como

[matemáticas] \ dot {J} ^ {- 1} \ dot {X} = \ dot {j} [/ matemáticas]

Como esto solo funcionará para desplazamientos muy pequeños, el método inverso jacobiano requiere que te muevas en pequeños pasos hacia tu objetivo. Aquí, la matriz jacobiana necesita ser recalculada para las posiciones conjuntas actuales. Más información aquí Advanced Robotics # 4: cinemática inversa

3. Use las ecuaciones cinemáticas avanzadas para calcular las coordenadas mundiales en un marco de planificación de ruta aleatorio como RRT. Esto reduce el problema cinemático inverso a un problema de planificación de ruta con el beneficio de ceder una ruta a esa posición desde la posición real del robot.

Lo único que falta en las otras dos respuestas es aclarar la distinción entre soluciones numéricas y simbólicas. Las herramientas de software generales (es decir, las herramientas que funcionan en cualquier robot) son numéricas. Los métodos numéricos sufren por no encontrar todas las soluciones IK y un rendimiento más lento. Generalmente encuentran solo la solución más cercana a la solución actual.

Resolver las ecuaciones simbólicamente es difícil y puede que no haya una solución en absoluto. En este caso, a veces es posible obtener un conjunto de ecuaciones que se pueden resolver si se conociera UNA de las articulaciones. Si luego aplica un método numérico, esto se reduce a una búsqueda 1D (más rápida) y también puede dar todas las soluciones (porque ha cerrado los resultados del formulario para los otros 5 DOF).

Hay varias formas de abordar el problema en 6 DOF, muchas de las cuales causan más problemas de los que resuelven.

Le sugiero que omita The Flintstones y vaya directamente a The Jetsons: teoría del tornillo (a veces llamada teoría de las llaves inglesas).

El libro Rigid Body Dynamics Algorithms de Roy Featherstone le mostrará el camino.