Resumen. Cerca de una singularidad, una pequeña velocidad solicitada a la herramienta puede exigir velocidades articulares enormes. La inversa amortiguada del jacobiano mantiene finita la ganancia, pero modifica el movimiento realmente ejecutado. Este estudio cuantifica el compromiso mediante un manipulador plano de dos articulaciones: derivación cinemática, solución regularizada, interpretación espectral y cálculo reproducible. La distinción central es que limitar la amplificación numérica no recupera la movilidad perdida, no impone todas las restricciones de los actuadores ni demuestra la seguridad del robot.
El lector debería conocer derivadas, vectores y mínimos cuadrados. El ejemplo es deliberadamente pequeño: permite comprobar cada paso y entender qué sacrifica el procedimiento numérico. No presentamos pruebas físicas ni un algoritmo nuevo; el experimento didáctico se ejecutó en Python con NumPy y doble precisión.
1. Una petición inocua solo en el espacio cartesiano
Imaginemos una herramienta que debe desplazarse horizontalmente un centímetro por segundo. La orden parece modesta, pero su viabilidad depende de la configuración del brazo. Cuando dos eslabones están casi alineados, mover la punta en la dirección de su eje exige grandes rotaciones opuestas de las articulaciones. En una configuración flexionada, la misma velocidad puede obtenerse sin esa amplificación.
Un controlador recibe a menudo una orden cartesiana de un nivel superior: planificación, visión, teleoperación o una política aprendida. La corrección semántica de esa orden no garantiza que la inversión cinemática esté bien condicionada. Esta es también una interfaz entre IA y robótica: traducir una intención a un movimiento compatible con la geometría actual. La pregunta precisa es: ¿cuánto error cartesiano introducimos al reducir las velocidades articulares mediante amortiguación?
2. Construir el problema: un brazo 2R
Consideremos dos eslabones rígidos de longitudes l1 y l2 y dos articulaciones de revolución. q1 mide el ángulo del primer eslabón respecto al eje x de la base; q2 es relativo al primero. Los ángulos de las funciones trigonométricas se expresan en radianes. Estudiamos únicamente la posición de la punta en el plano, no su orientación. La cinemática directa es:
x = l1 cos(q1) + l2 cos(q1 + q2) y = l1 sin(q1) + l2 sin(q1 + q2) v = J(q) qdot
Al derivar respecto a cada ángulo obtenemos una matriz 2×2. Cada columna describe la velocidad de la punta generada por una velocidad unitaria de la articulación correspondiente:
J = [ -l1 sin(q1)-l2 sin(q1+q2) -l2 sin(q1+q2) ]
[ l1 cos(q1)+l2 cos(q1+q2) l2 cos(q1+q2) ]
det(J) = l1 l2 sin(q2)
El determinante se anula cuando q2 es cero o un múltiplo de π. Con ambos eslabones extendidos sobre x, las columnas de J son verticales: a primer orden ninguna combinación de velocidades articulares produce velocidad horizontal. No es un defecto de precisión del ordenador, sino una pérdida geométrica de direcciones instantáneamente disponibles.
La relación es local. No afirma que la punta nunca pueda alcanzar una posición interior después de una maniobra finita. Afirma que, en ese instante, el modelo diferencial no puede producir una componente sobre x. Un algoritmo que devolviera exactamente esa componente sin cambiar las hipótesis estaría resolviendo otro problema.
3. Por qué la pseudoinversa amplifica la orden
La descomposición en valores singulares escribe J = UΣVᵀ. Las columnas ui de U son direcciones cartesianas ortogonales; las columnas vi de V son direcciones articulares. σi indica cuánto movimiento cartesiano produce una velocidad articular unitaria en vi. La pseudoinversa aplica una ganancia 1/σi a las componentes alcanzables. Para σi nulo usa cero y devuelve la solución de norma mínima del problema de mínimos cuadrados. Este marco clásico y su alternativa amortiguada se explican en las secciones 4–6 de la nota de Samuel R. Buss.
qdot_pinv = Σi:σi>0 vi (uiᵀ v) / σi
Elegimos l1 = l2 = 1 m, q1 = 0 y v = (0,01; 0) m/s. Para q2 distinto de cero y π podemos resolver sin una biblioteca: la segunda fila relaciona las velocidades articulares; sustituyendo en la primera se obtiene qdot1 = 0,01 cot(q2) y qdot2 = −0,01 cot(q2/2), en rad/s. Para q2 pequeño, la norma crece aproximadamente como 0,01√5/|q2|.
A 0,1 grados, esta expresión predice una norma aproximada de 12,81 rad/s, pese a una orden de solo 0,01 m/s. En cero grados exactos, sin embargo, la pseudoinversa devuelve velocidades nulas para esa orden horizontal. El valor en el punto singular no coincide con el límite de los valores próximos. Un umbral numérico que trunca valores singulares evita algunas divisiones, pero introduce una decisión operativa sobre la transición entre ambos comportamientos.
4. Derivar la inversa amortiguada
Introducimos un vector articular desconocido z y una penalización positiva λ. En nuestras unidades, J tiene dimensión m/rad y λ utiliza la misma escala. Minimizamos una función estrictamente convexa:
L(z) = ||Jz − v||² + λ² ||z||² ∇L(z) = 2 Jᵀ(Jz − v) + 2λ²z (JᵀJ + λ²I) z = Jᵀv qdot_DLS = (JᵀJ + λ²I)⁻¹ Jᵀv
La matriz de las ecuaciones normales es definida positiva para λ > 0: su forma cuadrática en cualquier vector no nulo es ||Jz||² + λ²||z||², que resulta positiva. Existe por tanto un mínimo único incluso cuando J pierde rango. La fórmula ayuda a razonar; al programar conviene resolver el sistema o utilizar la SVD, en vez de construir explícitamente una inversa.
Al sustituir la SVD y usar la ortogonalidad, el problema se separa en coordenadas independientes. Cada coordenada articular paga tanto el residuo en una dirección cartesiana como su propia amplitud. La solución escalar cambia la ganancia de 1/σ a σ/(σ²+λ²). «Amortiguación» significa aquí regularización cinemática: no estamos añadiendo un amortiguador mecánico ni modelando la disipación del robot.
5. El precio de la amortiguación, dirección por dirección
gλ(σ) = σ / (σ² + λ²) J qdot_DLS = Σi ui [σi²/(σi²+λ²)] (uiᵀv) r = v − J qdot_DLS gλ'(σ) = (λ² − σ²) / (σ²+λ²)² maxσ≥0 gλ(σ) = 1/(2λ) ||qdot_DLS|| ≤ ||v||/(2λ)
La velocidad realizada se atenúa más en las direcciones con σ pequeño. Para σ = λ pasa exactamente la mitad de la componente solicitada; cuando σ es mucho mayor que λ la atenuación es pequeña; para σ nulo, la componente sigue siendo irrealizable. La derivada muestra que la ganancia máxima se encuentra en σ = λ. La ortogonalidad y la norma espectral del operador proporcionan entonces la cota de velocidad articular.
Con ||v|| = 0,01 m/s y λ = 0,05 m/rad, la norma articular no supera 0,1 rad/s en este modelo. Es una cota suficiente sobre el vector completo, no una comprobación de aceleraciones, pares, colisiones o límites de posición. Si cada articulación tiene límites diferentes, una única λ no expresa directamente esas prioridades. Las restricciones específicas deben formularse explícitamente, por ejemplo mediante optimización cuadrática restringida.
La penalización tampoco elimina únicamente el movimiento «malo». Una λ finita atenúa también las direcciones bien condicionadas, aunque menos. Una λ muy grande produce velocidades pequeñas en todas partes: una norma articular baja, por sí sola, no indica una buena ejecución de la tarea.
6. Experimento reproducible: geometría fija, ningún robot físico
Calculamos las soluciones para q2 de 30°, 10°, 1°, 0,1° y 0°, conservando las longitudes y la orden descritas. El programa utiliza SVD en float64; para la pseudoinversa considera nulos los valores singulares no superiores a 10⁻¹². Las λ estudiadas son 0,01 y 0,05 m/rad. No hay muestreo aleatorio, entrenamiento ni integración temporal: cada fila corresponde a una configuración independiente.
| q2 (grados) | Método | ||qdot|| (rad/s) | ||v−Jqdot|| (m/s) |
|---|---|---|---|
| 30 | Pseudoinversa | 0,041144 | ≈0 |
| 30 | DLS λ=0,05 | 0,039307 | 0,000425 |
| 1 | Pseudoinversa | 1,281121 | ≈0 |
| 1 | DLS λ=0,01 | 0,485007 | 0,006214 |
| 1 | DLS λ=0,05 | 0,030477 | 0,009762 |
| 0,1 | Pseudoinversa | 12,811721 | ≈0 |
| 0,1 | DLS λ=0,05 | 0,003121 | 0,009998 |
| 0 | Todos los métodos | 0 | 0,010000 |
Los residuos casi nulos de la pseudoinversa son errores de redondeo, no mediciones del mundo físico. La comparación a un grado es reveladora: λ = 0,05 reduce la norma articular unas cuarenta y dos veces respecto a la pseudoinversa, pero el residuo alcanza aproximadamente el 97,6% de la norma de la orden. El robot ideal apenas ejecuta el movimiento solicitado. Informar solo de la reducción de velocidades sería engañoso.

El gráfico superior también muestra un comportamiento no monótono de DLS: la ganancia aumenta hacia la región crítica y después disminuye hacia cero en la dirección que pierde movilidad. El inferior revela el precio de esa reducción. Mostrar ambos evita confundir la detención del movimiento con una ejecución precisa de la tarea.
7. Código esencial y comprobaciones independientes
import numpy as np
q2 = np.deg2rad(1.0)
J = np.array([[-np.sin(q2), -np.sin(q2)],
[1 + np.cos(q2), np.cos(q2)]])
v = np.array([0.01, 0.0])
lam = 0.05
U, sigma, Vt = np.linalg.svd(J, full_matrices=False)
qdot = Vt.T @ ((sigma / (sigma**2 + lam**2)) * (U.T @ v))
print(np.linalg.norm(qdot), np.linalg.norm(v - J @ qdot))
El archivo incluye el programa completo, los resultados y el código de los gráficos. La comprobación del jacobiano compara la fórmula con diferencias finitas centradas de paso 10⁻⁶ rad en una configuración no singular. Otra comprobación evalúa el residuo de las ecuaciones normales de las soluciones DLS; una tercera verifica la cota de norma y la invariancia al convertir coherentemente metros en milímetros. Son comprobaciones distintas: ninguna demuestra por sí sola toda la implementación, pero detectan errores de signo, escala y solución.
Descargar código, datos e instrucciones de reproducción. El archivo de resultados también contiene las componentes de velocidad y los valores singulares, para no limitar la verificación a las normas agregadas.
8. Un número sin unidades puede cambiar el controlador
Expresar las mismas longitudes en milímetros multiplica J y v por mil. Para conservar la solución, λ también debe multiplicarse por mil: toda la función objetivo queda multiplicada por un millón. Mantener λ = 0,05 después del cambio de unidades hace que la penalización relativa sea un millón de veces menor. No es un detalle de presentación: cambia el movimiento calculado.
El problema se amplía en robots espaciales, al combinar velocidades lineales y angulares. Una norma que suma componentes en m/s y rad/s incorpora una elección de pesos. Antes de comparar números de condición, parámetros de amortiguación o precisiones hay que fijar una métrica coherente, por ejemplo normalizando con escalas de posición y orientación pertinentes para la tarea. No existe una λ universalmente transferible sin esa convención.
9. De la cinemática al control: lo que falta
Un ciclo real integra la orden, obtiene nuevas mediciones y vuelve a calcular J. Introduce período de muestreo, retardos, errores del modelo, saturaciones y dinámica de los actuadores. Aquí no elegimos un período porque no simulamos ese ciclo. Deducir estabilidad en lazo cerrado de una matriz finita sería un salto lógico. Incluso una velocidad de norma pequeña puede ocultar cambios rápidos entre muestras.
Una comparación operativa debería registrar error cartesiano, velocidad y aceleración por articulación, saturaciones y distancia a las restricciones, además del tiempo de cálculo. Los métodos deberían probarse sobre la misma trayectoria, con idénticas unidades y límites. Antes de eso, quizá deba modificarse la trayectoria solicitada: no toda orden cartesiana debe perseguirse a cualquier precio.
La investigación reciente también estudia alternativas a la regularización uniforme. El preprint J-PARSE, versión 1 de 2025, distingue direcciones singulares y no singulares y modifica la orden mediante proyecciones. Las secciones III y IV describen el método, comparaciones en simulación y demostraciones físicas; los límites articulares y las colisiones quedan explícitamente fuera de la formulación abordada. No reproducimos ese trabajo y nuestros números no constituyen una comparación con J-PARSE. Es una dirección de estudio, no una prueba de superioridad universal.
10. Consecuencias para la robótica y la IA en las empresas
Un sistema aprendido que propone una pose o velocidad debe convivir con un nivel de ejecución que exponga qué puede realizar. En este ejemplo, DLS podría devolver la velocidad alcanzable y el residuo junto a la orden articular: el planificador sabría que se ha perdido casi todo el movimiento solicitado. Esa información puede justificar otra configuración o ralentizar la tarea. Es una propuesta arquitectónica derivada del cálculo, no una función ya probada en producción.
La robótica industrial y colaborativa es una dirección de interés declarada por EL-AI. Este estudio aclara un problema técnico pertinente sin atribuir a la empresa instalaciones, controladores o pruebas físicas inexistentes. El experimento es didáctico y no valida la seguridad de una celda colaborativa.
Conclusión. La inversa amortiguada controla la ganancia de inversión aceptando un residuo que depende de la dirección. Importa no solo cuánto disminuyen las velocidades articulares, sino cuánto de la orden se realiza realmente. Cerca de la extensión completa, el compromiso puede ser extremo: una solución numéricamente tranquila puede corresponder a una herramienta casi inmóvil.
Fuentes y transparencia
Buss, Introduction to Inverse Kinematics with Jacobian Transpose, Pseudoinverse and Damped Least Squares Methods, nota técnica, secciones 4–6; J-PARSE, arXiv:2505.00306v1, 2025, secciones III–IV. Fuentes enlazadas en los puntos pertinentes y consultadas el 22 de septiembre de 2026. La derivación 2R, los cálculos y las figuras son material didáctico reproducible, no una nueva publicación revisada por pares.
Texto y traducciones preparados con asistencia de IA; no se declara revisión humana. La portada generada con IA es ilustrativa y no representa una instalación real de EL-AI.

