Un agarre fallido aunque la lectura del motor sea correcta
Una pinza debe regresar sobre un pequeño alojamiento. El operador enseña una posición, el robot la repite varias veces y parece preciso. Después cambia el recorrido de aproximación: llega desde el lado contrario y se detiene algo desplazada. La lectura del motor es idéntica. ¿Debe fallar la cámara, la red neuronal o el programa de trayectoria? No necesariamente: entre donde medimos el movimiento y donde queremos posicionar puede haber una transmisión con holgura. Su respuesta también depende de cómo llegamos hasta allí.
La pregunta central es: cuando la posición del motor no basta para conocer la de la pinza, ¿qué información falta? Construiremos un modelo mínimo de holgura, calcularemos cómo un ángulo pequeño se convierte en desplazamiento en la punta y mostraremos el límite de un corrector que ignora el pasado. Es una simulación determinista con dimensiones didácticas: no mide un robot comercial, evalúa seguridad ni demuestra prestaciones de EL-AI. Su valor es hacer visible una causa de error oculta por una medida aparentemente exacta.
La posición del sensor cambia el significado de la medida
Un encoder mide posición angular. Montado en el motor observa la entrada de la transmisión, no automáticamente la articulación accionada. Llamamos u al ángulo del motor referido al lado articular mediante la reducción nominal y q al ángulo real de la articulación. Así los comparamos en las mismas unidades, sin mezclar vueltas del motor y grados de salida. En una transmisión ideal rígida y sin holgura tendríamos q = u. En nuestro ejemplo esa igualdad no siempre se cumple.
Imaginemos dos superficies que transmiten movimiento al tocarse, con un pequeño espacio libre entre ellas. En una dirección, una arrastra a la otra. Al invertir, el lado motor cruza primero la separación: la salida puede permanecer quieta hasta el contacto opuesto. La imagen introduce el mecanismo, no describe todos los reductores reales. También existen deformación elástica, fricción y dependencia de la carga. Las excluimos para aislar una pregunta: ¿qué memoria necesita incluso el modelo cinemático más simple de holgura?
Una regla con memoria, no una corrección fija
Elegimos una semiholgura r = 0,1 grados, con anchura total 2r = 0,2 grados. Para una entrada u, la salida admisible está entre u − r y u + r. El modelo conserva la salida anterior si sigue dentro del intervalo. Si la entrada se aleja lo suficiente, la salida es arrastrada hasta el borde más cercano. La fórmula responde a «¿dónde queda la articulación tras el siguiente movimiento?»: proyecta el valor anterior sobre el intervalo actual, cambiándolo solo lo necesario para cumplir la restricción.
El índice k cuenta muestras, no segundos. u, q y r están aquí en grados. min elige el menor de dos números y max el mayor; juntos mantienen q entre los bordes. El detalle decisivo es q[k−1], que conserva el estado anterior. El algoritmo necesita un valor almacenado y operaciones constantes por muestra, por tanto O(n) para n entradas. El programa usa coma flotante y comprueba que la separación angular no exceda r, con tolerancia numérica de 10⁻¹² grados.
Es una descripción cuasiestática: asigna posiciones sucesivas sin calcular aceleraciones, pares ni impactos. No integramos una ecuación dinámica ni fijamos un periodo físico de muestreo. La documentación oficial de Backlash de Simulink describe funcionamiento desacoplado y acoplado en cada dirección. La utilizamos como referencia del significado de holgura; nuestros cálculos y secuencia son un ejemplo independiente en Python, no resultados de ejecutar Simulink.
Seguir una inversión paso a paso
Partimos de u = 1 grado y q = 0,9, acoplados en la rama creciente. Reducimos u a 0,95. El intervalo pasa a 0,85–1,05 y todavía contiene q = 0,9: la salida permanece quieta. Lo mismo sucede en 0,90, 0,85 y 0,80. Solo en u = 0,75 el borde superior llega a 0,85 y arrastra q hasta allí. No es un retardo en milisegundos: es recorrido necesario para atravesar la holgura. Si el motor se detiene antes, esperar más no completa por sí solo ese movimiento en el modelo.
| u (grados) | q (grados) |
|---|---|
| 1.00 | 0.90 |
| 0.95 | 0.90 |
| 0.90 | 0.90 |
| 0.85 | 0.90 |
| 0.80 | 0.90 |
| 0.75 | 0.85 |
| 0.70 | 0.80 |
La figura ofrece dos lecturas. A la izquierda, la entrada recorre de −1 a +1 grado y regresa, en incrementos de 0,01 grados. Las ramas no coinciden: el ciclo es una forma de histéresis, dependencia de la historia. A la derecha se amplía la inversión de la tabla. Observemos la salida plana mientras disminuye la entrada. No interpretemos la pendiente como velocidad: el eje horizontal es un índice sin tiempo asignado. Son posiciones del modelo, no vibraciones ni medidas de encoders reales.

La misma lectura puede ocultar dos posiciones
Llegamos a u = 0 desde valores suficientemente negativos: q vale −0,1 grados. Llegamos al mismo u desde valores suficientemente positivos: q vale +0,1. La separación es 0,2 grados pese a lecturas idénticas. El sensor del motor puede ser perfectamente consistente mientras la articulación ocupa dos estados. Repetir siempre desde la misma dirección puede dar una impresión excelente y ocultar el error al cambiar la aproximación. No hay contradicción: repetir un recorrido y alcanzar una posición independientemente del recorrido son preguntas experimentales distintas.
De una décima de grado a milímetros en la pinza
Para saber si 0,2 grados son poco o mucho, unimos al eje un segmento rígido de longitud L = 0,5 metros. La punta describe una circunferencia, con posición p(q) = [L cos(q), L sin(q)]. Las funciones trigonométricas requieren q en radianes: se multiplican los grados por π/180. Comparamos q = −r y q = +r. Tienen igual coordenada horizontal y coordenadas verticales opuestas. La distancia es dos veces L sin(r), sin necesidad de aproximación.
La primera distancia separa llegadas con historias distintas; la segunda mide el error respecto a la punta ideal p(0). No deben confundirse: llamar al error 1,745 milímetros sin precisar la comparación casi duplicaría el error nominal. Para ángulos pequeños, sin(r) se aproxima a r y el primer valor a 2Lr, pero el programa mantiene la fórmula trigonométrica. No es una tolerancia especificada para un robot, sino la consecuencia geométrica de nuestros 0,5 metros y 0,1 grados hipotéticos.
Cambiando solo la semiholgura a 0,05, 0,10 y 0,20 grados, las separaciones calculadas son aproximadamente 0,873, 1,745 y 3,491 milímetros. Esta sensibilidad muestra qué parámetro dirige el resultado. Una herramienta más larga amplifica el mismo error angular porque L es un factor multiplicativo. En un manipulador multieje también intervienen geometría y postura: no basta multiplicar por el número de ejes. Hay que propagar los errores mediante la cinemática completa, conservando direcciones y dependencias.
Por qué más datos no bastan para un modelo sin memoria
Supongamos que entrenamos un predictor que recibe solo u y devuelve q. En nuestro conjunto didáctico, u = 0 aparece con igual frecuencia asociado a q = −r y q = +r. ¿Qué único número debe aprender? Con error cuadrático medio, la solución óptima es la media, cero. Podemos demostrarlo sin entrenar una red. Llamamos a a la predicción en ese punto; su error medio aparece abajo. El ejemplo aísla una ambigüedad de entrada, no un defecto del optimizador ni falta de parámetros.
Los términos cruzados +2ar y −2ar se cancelan, dejando a² y r². Elegir a = 0 anula el primero, no el segundo. RMSE es la raíz del error cuadrático medio y vuelve a tener unidades de grados. Más ejemplos idénticos mejoran la estimación de la media, pero no revelan qué historia produjo la próxima observación. Incluso sin ruido queda un error condicional de 0,1 grados. Es un límite con ramas equiprobables y entrada limitada a u, no un límite universal de las redes neuronales o la robótica.
Si los datos contienen solo llegadas por la rama creciente, q = u − r es perfecto en esa rama. Aplicarlo a la opuesta produce error angular 2r. Es fácil obtener un test engañoso: repartir aleatoriamente repeticiones de una aproximación entre entrenamiento y evaluación no incorpora la historia ausente. Evaluar la corrección exige inversiones completas y parciales, inicialización explícita y recorridos diferentes. Es una propuesta de protocolo, no un entrenamiento realizado: aquí solo ejecutamos simulador y cálculos.
Ni la última dirección identifica siempre el estado
¿Bastaría añadir el signo de aumento o disminución del motor? Ayuda en ramas plenamente acopladas, pero no resuelve todas las inversiones parciales. Ejecutamos dos historias, ambas iniciadas en q = 0. La primera usa [0, 1, 0,85, 0,90] y termina en q = 0,90. La segunda usa [0, −1, −0,50, 0,90] y termina en q = 0,80. Ambas acaban con entrada 0,90 y movimiento final creciente. Difieren porque la primera conserva el valor anterior a la inversión breve y la segunda alcanza el borde de la rama creciente.
En el modelo conocido basta propagar q anterior: no hace falta una red grande para un problema descrito por una regla exacta. Si el comportamiento real es desconocido, un modelo con estado o una secuencia de observaciones puede ser una hipótesis útil. Llamarlo «recurrente» no garantiza identificación ni estabilidad. Con historia inicial desconocida, incluso nuestro simulador necesita incertidumbre sobre la salida o un procedimiento que establezca el estado. La memoria no crea información nunca observada ni inicializada.
Compensar es posible dentro de las hipótesis
En la rama creciente q = u − r, por lo que el objetivo q* requiere u = q* + r. En la decreciente q = u + r y usamos u = q* − r. Para q* = 0,5 grados, el programa verifica 0,6 al aproximarse desde abajo y 0,4 desde arriba. Ambos producen q = 0,5 tras recorridos que establecen el contacto correcto. Esto no significa añadir alternativamente una décima a cualquier orden: fuera de las ramas acopladas importan el estado y atravesar la holgura.
La compensación inversa puede exigir un salto de entrada al cambiar de rama. Nuestro cálculo cuasiestático no limita velocidad, aceleración, corriente ni impactos: una orden matemáticamente válida no es automáticamente una trayectoria física admisible. El sistema real necesita dinámica y restricciones de transmisión. Además, r puede variar con carga, desgaste o condiciones. Una estimación incorrecta deja error residual; un modelo solo de holgura no corrige automáticamente elasticidad, fricción ni errores geométricos.
Comparar soluciones que observan cosas distintas
Aproximarse siempre desde una dirección reduce la ambigüedad de rama, pero cambia el recorrido y puede alargar el ciclo o chocar con restricciones de obstáculos. Un encoder de salida observa q más directamente y distingue estados que el del motor confunde, pero añade costes, montaje y cuestiones de control. Medir externamente la punta observa el resultado conjunto, incluidos otros errores geométricos, pero introduce ruido, oclusiones y retardo. Ninguna elección elimina todos los errores por definición: cambia la información disponible.
Para experimentar propondríamos medidas sincronizadas de entrada y salida, ida y vuelta a varias amplitudes, inversiones parciales y repeticiones con cargas declaradas. Compararíamos un modelo sin memoria, uno de holgura con estado y residuos no explicados. Cualquier componente aprendido debería evaluarse en secuencias distintas, sin dividir una misma secuencia ocultando su inicialización. No se ha ejecutado este protocolo en hardware. La robótica industrial y colaborativa es una dirección que EL-AI desea explorar; el análisis no acredita reductores, robots, instalaciones ni resultados empresariales ya realizados.
Reproducir el razonamiento sin confundirlo con una prueba física
El archivo incluye simulador, resultados y gráficos. play lee las entradas en orden y actualiza q mediante la proyección; alterar el orden cambia el problema. run construye ciclo, inversión, dos llegadas al mismo valor, contraejemplo sobre la última dirección y órdenes compensadas. Las aserciones verifican restricciones y resultados; el fragmento imprime los valores centrales. No hay semilla porque no existe muestreo aleatorio. Se registran Python 3.14.0 y Matplotlib 3.11.2.
La respuesta al agarre fallido
La pinza puede no regresar al mismo punto porque una medida antes de la transmisión no siempre identifica el estado posterior. La holgura conserva parte de la historia. En el ejemplo, lecturas idénticas u = 0 producen puntas separadas unos 1,745 milímetros; una predicción que solo ve u no distingue las ramas. La solución conceptual consiste en observar o reconstruir ese estado y evaluar una corrección compatible con la dinámica real. Antes de exigir mayor precisión a una IA, conviene comprobar si sus entradas contienen la información necesaria.
Referencia técnica y materiales
MathWorks — Backlash: Model behavior of system with play (documentation R2026b).
from experiment import run, play
r = run()
print(r['same_input'])
print(r['same_last_direction'])
print(r['branch_compensation'])
print(r['balanced_memoryless_rmse_deg'])
Código, datos e instrucciones · JSON. Cálculos didácticos ejecutados con Python 3.14.0; figuras con Matplotlib 3.11.2. Análisis asistido por IA, sin afirmar revisión por pares ni humana. Portada original ImageGen ilustrativa: no documenta personas, sedes ni instalaciones de EL-AI. Fuentes consultadas el 9 de octubre de 2026.

