Kinematic Redundancy
- También llamado: manipulator redundancy
- Categoría: Foundations & spatial maths › Kinematics
- Etiquetas: kinematics, inverse-kinematics, null-space, manipulators, redundancy-resolution
Un robot es cinemáticamente redundante para una tarea cuando tiene más articulaciones de las que la tarea necesita, de modo que la misma pose del efector final puede alcanzarse con una familia continua de configuraciones articulares.
Definición
Un manipulador es cinemáticamente redundante respecto de una tarea cuando su número de articulaciones n supera la dimensión m de la tarea que debe controlar. El caso clásico es un brazo de siete articulaciones que controla una pose del efector final de seis dimensiones, lo que deja un grado de redundancia. Sin embargo, la redundancia se define en relación con la tarea: un brazo de seis articulaciones también es redundante para una tarea que fija solo la posición de la punta de una herramienta, o que deja libre la rotación alrededor del eje de un taladro. Para una pose fija del efector final, las configuraciones articulares que la alcanzan no forman un único punto, sino una familia de dimensión (n − m), a menudo llamada variedad de automovimiento (self-motion manifold). En la práctica, esto significa que el brazo puede mover el codo mientras la mano permanece quieta.
A nivel de velocidades, la redundancia aparece como el espacio nulo de la jacobiana del manipulador J, de tamaño m × n: las velocidades articulares en ese espacio nulo no producen ningún movimiento del efector final. Los controladores de velocidad resuelta (resolved-rate) lo aprovechan con la forma estándar q̇ = J⁺ẋ + (I − J⁺J)q̇₀, donde J⁺ es la pseudoinversa. El primer término sigue la tarea y el segundo proyecta un objetivo secundario q̇₀ en el espacio nulo. Los objetivos secundarios habituales son mantenerse lejos de los límites articulares, mantener el codo apartado de los obstáculos, aumentar la manipulabilidad para evitar singularidades y reducir los pares articulares. La cinemática inversa con prioridad de tareas (task-priority inverse kinematics) se basa en esto y ordena varias tareas por prioridad, de modo que cada tarea de menor prioridad actúa solo en el espacio nulo de las que están por encima.
La redundancia también cambia el comportamiento de la cinemática inversa. Un solucionador numérico de IK devuelve una solución entre infinitas, elegida implícitamente por su semilla y su algoritmo, por lo que consultas consecutivas pueden saltar entre configuraciones muy alejadas. La IK analítica para diseños habituales de siete articulaciones con hombro y muñeca esféricos parametriza explícitamente la libertad adicional, a menudo como un ángulo del brazo o ángulo de giro (swivel angle) que rota el codo alrededor de la recta que va del hombro a la muñeca. No debe confundirse la redundancia con el conjunto finito de ramas discretas de IK, como codo arriba o abajo y muñeca volteada, que tienen incluso los brazos no redundantes de seis articulaciones.
Por qué importa
La redundancia es lo que permite a un brazo de siete articulaciones rodear obstáculos, evitar los límites articulares y mantenerse lejos de las singularidades mientras su mano sigue una trayectoria, y es la razón por la que muchos brazos colaborativos y humanoides tienen siete articulaciones. También dificulta la cinemática inversa y la planificación, porque algo debe elegir una configuración entre un continuo, y las malas elecciones provocan paradas por límite articular o volteos bruscos del codo.
Aplicaciones clave
- Evitación de obstáculos con el codo y de autocolisiones mientras el efector final sigue una trayectoria
- Evitación de límites articulares y singularidades durante trayectorias de herramienta largas
- Manipulación bimanual y de cadena cerrada, donde la libertad sobrante ayuda a cumplir restricciones compartidas
- Control de cuerpo completo de humanoides y manipuladores móviles con muchas más articulaciones de las que necesita cualquier tarea individual
- Mantener una postura del brazo predecible y apartada de las personas en el trabajo colaborativo
- Reducir los pares articulares o la energía para un movimiento dado del efector final
En la práctica
Un ingeniero programa un brazo de siete articulaciones para limpiar una mesa con una esponja mientras una persona trabaja cerca. La trayectoria de limpieza fija la pose del efector final y deja un grado de libertad libre. El controlador calcula las velocidades articulares con la pseudoinversa de la jacobiana para el movimiento de limpieza y añade un término en el espacio nulo que aleja el codo de la posición rastreada de la persona y lo lleva hacia el centro del rango de cada articulación. Durante las pruebas, el equipo descubre que un solucionador numérico de IK simple, llamado en cada punto de paso, a veces devuelve soluciones con el codo en lados opuestos, lo que provoca grandes saltos articulares. Pasan a inicializar cada consulta con la solución anterior (warm-starting) y a parametrizar la posición del codo explícitamente con el ángulo del brazo, de modo que el planificador elige deliberadamente el grado de libertad redundante en lugar de dejarlo al solucionador.
Ideas erróneas comunes
- Redundancia significa simplemente tener más de seis articulaciones — se define en relación con la tarea, así que un brazo de seis articulaciones es redundante para una tarea que restringe menos de seis coordenadas del efector final
- Los brazos redundantes tienen múltiples soluciones de IK del mismo modo que los brazos de seis articulaciones — los brazos no redundantes tienen un conjunto finito de soluciones discretas, mientras que los brazos redundantes tienen familias continuas de ellas
- El movimiento en el espacio nulo nunca afecta a la tarea — deja la pose del efector final sin cambios solo a primer orden, por lo que los pasos grandes o el movimiento cerca de singularidades aún pueden perturbar la tarea si no se corrige el error
Quién debería saberlo
- Ingenieros de manipulación y de planificación de movimiento
- Ingenieros de control que trabajan en control en el espacio de la tarea y control de cuerpo completo
- Desarrolladores de humanoides y de manipuladores móviles
- Estudiantes de robótica que estudian la cinemática de manipuladores
Tecnologías relacionadas
- Pseudoinversa de la jacobiana (Jacobian Pseudoinverse)
- Proyección en el espacio nulo (Null-Space Projection)
- Cinemática inversa analítica (Analytic Inverse Kinematics)
- Elipsoide de manipulabilidad (Manipulability Ellipsoid)
- Mínimos cuadrados amortiguados (Damped Least Squares)
Términos relacionados
Proyectos relacionados
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- IKPy: Pure-Python inverse kinematics library that builds chains straight from URDF
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics