Por qué las ruedas Mecanum derivan en el periodo autónomo de FTC (y cómo solucionarlo sin ruedas de odometría pasivas)

La deriva de las ruedas Mecanum se debe a la cancelación imperfecta de los vectores de fuerza sobre baldosas de espuma flexibles. Es posible eliminar la mayor parte de los errores en el autónomo sin módulos de odometría bloqueando el rumbo con la IMU interna del Control Hub y perfilando la aceleración.
Los sistemas de tracción Mecanum derivan durante las rutinas autónomas de FTC porque su movimiento se basa en la cancelación matemática precisa de vectores de fuerza diagonales a 45 grados. Sobre baldosas de espuma EVA blandas e irregulares, las fuerzas normales desiguales y el deslizamiento de los rodillos impiden que estos vectores se equilibren a la perfección, lo que genera una guiñada rotacional indeseada que se acumula con la distancia. No hace falta recurrir a costosos módulos de odometría pasivos (dead wheels) para solucionar esto: es posible eliminar la inmensa mayoría de los errores de trayectoria en la fase autónoma cerrando el bucle de control de rumbo mediante la IMU integrada del REV Control Hub y limitando la aceleración para no superar los límites de fricción estática de los rodillos.
La mecánica del deslizamiento en ruedas Mecanum
Una rueda de tracción estándar aplica la fuerza de forma paralela a su rotación. Una rueda Mecanum transfiere la fuerza a través de rodillos pasivos orientados a 45 grados respecto a la placa de la rueda. Cuando un motor hace girar una rueda Mecanum hacia adelante, la superficie de contacto ejerce un vector diagonal: una componente que empuja el robot hacia adelante y una componente transversal de igual magnitud que empuja lateralmente.
Para avanzar en línea recta, las ruedas izquierdas y derechas ejercen fuerzas transversales iguales y opuestas que se anulan entre sí, dejando únicamente el empuje hacia adelante. Para desplazarse lateralmente de forma pura (strafe), los pares diagonales opuestos giran en sentidos contrarios, anulando el empuje frontal y combinando el empuje transversal.
Esta cancelación de vectores presupone tres condiciones que nunca se cumplen en un terreno de competición:
- Fuerzas normales simétricas: si el centro de masas del robot está ligeramente desplazado hacia la batería o el mecanismo de elevación, las esquinas más pesadas experimentan una mayor fuerza normal y más tracción. Las esquinas más ligeras patinan, dejando fuerzas transversales sin anular.
- Tracción superficial uniforme: las baldosas encajables de espuma EVA blanda se deforman con el peso. Los rodillos se hunden en la espuma a profundidades variables, lo que altera el ángulo de contacto efectivo y la resistencia a la rodadura milisegundo a milisegundo.
- Fricción cinética idéntica: los rodillos pasivos de plástico y goma de las ruedas Mecanum comerciales estándar presentan pequeñas tolerancias de fabricación, holgura axial y diferencias de fricción interna.
Cuando los vectores de fuerza no se anulan a la perfección, el resultado inmediato es un par de guiñada no deseado. En cuanto el robot gira apenas dos o tres grados respecto a su rumbo previsto, cada pulso posterior del codificador (encoder) del motor desplaza al robot a lo largo de una trayectoria rotada, multiplicando el error de posición con el tiempo.
La solución: corrección activa de rumbo mediante IMU
Aunque los codificadores de los motores miden cuánto han girado los ejes de las ruedas, no pueden medir el deslizamiento de los rodillos sobre el suelo. Sin embargo, no hace falta un seguimiento cartesiano completo de la posición para resolver la mayor parte de la imprecisión en el autónomo. Si se evita que el robot rote fuera de su rumbo previsto, los errores de traslación de los codificadores se mantienen lineales y predecibles en lugar de rotacionales y catastróficos.
Cada REV Control Hub contiene una unidad de medición inercial (IMU) interna capaz de leer la orientación angular absoluta (guiñada) con gran precisión y una deriva mínima durante un periodo autónomo de 30 segundos.
Implementación del bucle de bloqueo de rumbo
En lugar de enviar directamente potencias de traslación en bruto a los motores de tracción, canalice el error de rumbo a través de un bucle de control proporcional-derivativo (PD) que inyecte potencia de rotación correctiva en las ecuaciones cinemáticas de Mecanum en tiempo real.
Las ecuaciones cinemáticas estándar de Mecanum para las potencias de los motores son:
Front Left = Drive + Strafe + TurnFront Right = Drive - Strafe - TurnBack Left = Drive - Strafe + TurnBack Right = Drive + Strafe - Turn
En una rutina de bucle abierto, Turn se establece en cero durante desplazamientos en línea recta o desplazamientos laterales puros. En una rutina activa con bloqueo de rumbo, Turn se calcula dinámicamente a partir de la retroalimentación de guiñada de la IMU en cada iteración del bucle:
- Leer el rumbo actual: obtenga el ángulo de guiñada actual de la IMU.
- Calcular el error de rumbo: calcule la diferencia angular más corta entre su rumbo objetivo y su rumbo actual, asegurándose de normalizar el ángulo entre -180 y +180 grados (o -π y +π radianes) para evitar errores de discontinuidad angular.
- Calcular la corrección: multiplique el error por una ganancia proporcional ajustada (
kP) y sume la tasa de variación del error multiplicada por una ganancia derivativa (kD) para amortiguar las oscilaciones. - Aplicar y normalizar: sustituya este valor de corrección en la variable
Turn. Si algún cálculo de motor supera una potencia de 1,0 (o -1,0), divida las cuatro potencias de motor por el valor absoluto máximo para conservar las proporciones de los vectores previstas sin saturación ni recorte.
Normalizar las potencias de los motores es fundamental. Si el robot avanza a plena potencia y el controlador exige una corrección de giro, el recorte sin normalizar anulará el diferencial correctivo y permitirá que el robot derive, independientemente de las ganancias configuradas en el software.
Controlar el deslizamiento cinético mediante la limitación de la tasa de cambio (slew rate)
La corrección activa de rumbo soluciona la deriva rotacional, pero una aceleración brusca provoca deslizamientos longitudinales y laterales en los que las ruedas giran más rápido de lo que acelera el chasis. Cuando los rodillos pierden el agarre estático sobre la espuma, los codificadores de los motores registran una distancia que nunca se llegó a recorrer.
Para solucionar el deslizamiento cinético sin ruedas de odometría pasivas:
- Limitar la aceleración (tasa de cambio o slew rate): nunca pase la potencia objetivo del motor de 0,0 a 1,0 en un solo ciclo de bucle. Aumente la potencia gradualmente mediante una rampa de aceleración sencilla (por ejemplo, limitando la aceleración a un incremento no superior a 0,05 de potencia por cada ciclo de 20 milisegundos).
- Decelerar con un perfil de velocidad: utilice perfiles de velocidad trapezoidales o en curva S para reducir la velocidad del robot antes de alcanzar el conteo objetivo del codificador. Frenar bruscamente hace que el robot derrape sobre las baldosas, invalidando el punto de parada previsto.
- Contacto mecánico con el suelo: asegúrese de que el chasis del sistema de tracción tenga una ligera flexibilidad torsional o una suspensión oscilante (rocker) en uno de los ejes. Si un chasis rígido de cuatro ruedas encuentra una junta irregular entre baldosas de espuma, una rueda se levantará ligeramente del suelo, perdiendo tracción al instante y provocando deslizamiento.
¿Cuándo son realmente necesarias las ruedas de odometría pasivas?
Los equipos suelen recurrir de inmediato a módulos de odometría de tres ruedas con resorte porque creen que las ruedas Mecanum no pueden ejecutar una trayectoria autónoma fiable de 30 segundos. En realidad, un bucle de bloqueo de rumbo bien ajustado, combinado con rampas de velocidad basadas en codificadores, basta para completar tareas autónomas de alta puntuación, alinearse de forma fiable con las paredes del campo y estacionar de manera consistente.
La odometría con ruedas pasivas (dead wheels) solo resulta estrictamente necesaria cuando la estrategia autónoma exige trayectorias complejas de curvas spline con múltiples waypoints a alta velocidad (como las trayectorias completas de Road Runner o Pedro Pathing), en las que el robot debe conocer su coordenada exacta (X, Y) tras chocar con elementos de juego o tras realizar desplazamientos laterales agresivos a lo largo de todo el ancho del campo.
Si está construyendo y perfeccionando sistemas de tracción para FTC o desea dominar con su equipo la generación de perfiles de movimiento en fase autónoma, explore nuestras guías de ingeniería para competición en Recursos de FTC de Sheen Robotics.



