Ángulo de dirección y deslizamiento en la odometría
Qué aporta el modelo de bicicleta (usar el ángulo de dirección) a la odometría del robocar, y cómo la degradan los deslizamientos —el patinaje de las ruedas motrices al arrancar, y el derrape lateral en curva—. La conclusión adelanta la decisión de implementación: el ángulo de dirección aporta consistencia cinemática en marcha normal, pero no protege contra el deslizamiento; frente al patinaje, la fuente robusta es la que no depende de las ruedas.
1 Punto de partida
La odometría actual del robocar fusiona, con un EKF, dos medidas: la velocidad lineal del encoder (v) y la velocidad angular del giroscopio (ω). La pose 2D se obtiene integrando el modelo del uniciclo:
ẋ = v cos θ · ẏ = v sin θ · θ̇ = ωpose integrada a partir de velocidad lineal y velocidad angular
Validado rodando, este esquema deriva ~0,17 m por vuelta cerrada. La pregunta del estudio: ¿qué añadiría medir también el ángulo de direcciónδ, y qué pasa cuando las ruedas resbalan?
2 El modelo de bicicleta: qué añade la dirección
Un coche Ackermann se modela como una bicicleta: una rueda trasera (tracción) y una delantera (dirección), separadas por la batalla L. Si la delantera se orienta un ángulo δ, la geometría impone el centro instantáneo de rotación (CIR) y, con él, el radio de giro y la velocidad de giro.
Modelo de bicicleta (esquemático). El ángulo δ fija el CIR; el radio R y la velocidad de giro se deducen de δ, v y la batalla L.
De esa geometría salen dos relaciones exactas (sin deslizamiento):
R = Ltan δω = v · tan δLradio de giro · velocidad de giro derivada de la dirección
La segunda es la clave: el par v+δpredice la velocidad de giroω de forma independiente al giroscopio. En el robocar, L = 0,175 m (del URDF), con radio mínimo de 0,175 m a δ ≈ 45°.
Qué aporta realmente
Redundancia del yaw. Un segundo estimador de ω independiente del giroscopio. Si el gyro falla, satura o se le va el bias, la dirección sostiene el rumbo.
Sin deriva geométrica.δ es una medida geométrica instantánea, no una integración: no acumula bias como el giroscopio en giros largos y lentos.
Consistencia cinemática. Restringe el movimiento a trayectorias físicamente posibles del Ackermann (sin desplazamiento lateral, respetando el radio mínimo). Filtra estimaciones incoherentes con la geometría del coche.
Valor predictivo (feedforward). La dirección es una entrada comandada, conocida antes de que el movimiento ocurra: alimenta el paso de predicción del EKF, no solo el de corrección.
Límites (por qué es una fuente "blanda")
Se usa el ángulo comandado al servo, no el medido en la rueda: holguras mecánicas, deformación del neumático y la calibración servo→δ introducen error. Y, sobre todo, las ecuaciones anteriores asumen rodadura pura, sin deslizamiento. Esa hipótesis es justo la que rompen los derrapes.
3 Deslizamiento: cuando el modelo se rompe
Toda odometría basada en ruedas asume que la rueda rueda sin resbalar: que la velocidad de su superficie iguala la del suelo. Cuando no se cumple, la medida miente. Hay dos formas de deslizamiento, con efectos distintos.
3.1 · Deslizamiento longitudinal (el patinaje al arrancar)
Es el ejemplo que planteabas: al dar gas, las ruedas motrices giran más rápido que el avance real del coche. Se cuantifica con la razón de deslizamiento:
s = ωrueda · r − vsuelovsuelos > 0 al acelerar/patinar · s < 0 al frenar/bloquear
En el arranque, la inercia del chasis se resiste al movimiento pero la rueda ya gira: s > 0. El encoder cuenta vueltas que no se han convertido en avance, así que la odometría sobreestima la distancia. Es un error sistemático, no ruido: se acumula justo en cada aceleración.
Mitigación que ya tienes
La rampa anti-pico del car_control_node (subir el gas gradualmente, límite de °/comando) reduce el pico de par en el arranque y, con él, el patinaje inicial. Es control de tracción rudimentario, pero atenúa la fuente del error en origen.
3.2 · Deslizamiento lateral (el derrape en curva)
En una curva tomada rápido o con poco agarre, el coche desliza de lado: su rumbo real no coincide con el que marca la dirección. Aparece un ángulo de derivaβ entre hacia dónde apunta el coche y hacia dónde se mueve de verdad. Aquí el modelo de bicicleta falla doblemente: usa v (contaminada por el deslizamiento longitudinal) y además presuponeβ = 0. El ω = v·tanδ/L deja de describir el movimiento.
4 Cómo responde cada fuente al deslizamiento
La diferencia decisiva es qué mide físicamente cada sensor: si mira a la rueda, el deslizamiento lo engaña; si mira al mundo o al movimiento inercial, no.
Fuente
Qué mide
Ante deslizamiento
Encodervelocidad de rueda
vueltas de la rueda motriz
vulnerablePatinaje longitudinal → sobreestima distancia. Fuente directa del error de arranque.
Direcciónmodelo bicicleta
v · tan δ / L
vulnerable ×2Hereda el error de v y además asume β = 0. En derrape puede afirmar con confianza un giro que no ocurre.
GiroscopioIMU
velocidad angular real del chasis
robustoMide la rotación de verdad, gire o no la rueda. Inmune al patinaje.
AcelerómetroIMU
aceleración real del chasis
robusto*Ve la aceleración real (podría delatar el patinaje), pero ruidoso y con bias: poco fiable para integrar posición.
Odometría láserscan-matching (rf2o)
desplazamiento respecto al entorno
robustoMide el movimiento contra las paredes: el patinaje no lo engaña. Fuente de traslación independiente de las ruedas.
La idea central
Ninguna fuente basada en ruedas sobrevive al deslizamiento (encoder y dirección caen juntos). Las que miran al mundo o a la inercia —giroscopio y láser— sí. Por eso el patinaje se combate añadiendo una fuente independiente de las ruedas, no refinando las que dependen de ellas.
5 Síntesis e implicaciones
El estudio ordena las dos mejoras candidatas según el problema que resuelven:
El ángulo de dirección (mejora 66) aporta redundancia de yaw y consistencia cinemática en marcha normal. Es útil cuando el giroscopio flojea (giros muy lentos, deriva de bias). Pero no protege del deslizamiento: comparte la vulnerabilidad del encoder y añade la hipótesis β = 0, de modo que en un derrape puede incluso empeorar la estimación al insistir en una trayectoria que no está ocurriendo. Conviene fusionarlo con covarianza holgada.
La odometría láser (mejora 67) ataca directamente el problema del patinaje que planteabas: mide el movimiento contra el entorno, así que el resbalón de las ruedas al arrancar no la engaña. Es la fuente de traslación independiente que le falta a la fusión.
Estrategia de fusión (EKF)
El EKF no sabe cuándo hay deslizamiento salvo que se lo indiquemos. Tres palancas: (1) reducir el patinaje en origen (rampa de tracción, ya presente); (2)covarianza adaptativa — inflar la incertidumbre del encoder cuando la aceleración comandada o la del IMU es alta (arranques); (3)fuentes independientes (láser, giroscopio) que discrepen del encoder durante el patinaje y "tiren" de la estimación hacia la realidad.
Conclusión para la implementación
Ordenadas por lo que aportan al problema del deslizamiento que motivó el estudio:
1ºOdometría láser (67). Fuente de traslación inmune al patinaje; corrige el error sistemático del arranque. Mayor valor frente a los deslizamientos. Coste: CPU (convive con Cartographer) y compilar rf2o.
2ºÁngulo de dirección (66). Redundancia de yaw y coherencia Ackermann en marcha normal; aporta poco frente al deslizamiento y hay que fusionarlo con prudencia (covarianza holgada, no fiarse en derrape).
Ambas son mejoras reales del EKF; la diferencia es qué debilidad cubren. Si la prioridad es la robustez ante patinaje/derrape, empezar por la 67.