Saltar al contenido principal

[Robótica Webots] Evaluación Determinista con evaluate_qlearning y Comparativa frente a DQN y SARSA (#4)

· 2 min de lectura
Jihwan Park (jaybee)
AI & Robotics Engineer

Comparativa de Éxito y Pasos

📌 Puntos Clave (TL;DR)

  • Objetivo: Medir el desempeño puro y determinista de la política voraz aprendida (ε=0) sin ruido exploratorio, validando su viabilidad de despliegue.
  • Metodología: Implementación de evaluate_qlearning.py con 30 pruebas independientes distribuidas en 5 semillas de evaluación, monitoreando tasa de éxito, eficiencia de ruta frente a la distancia mínima teórica y conteo de aproximaciones críticas (near-miss).
  • Resultado: Q-Learning tabular alcanzó un 93.3% de éxito determinista en el cuadrilátero con 12 paredes con una latencia de inferencia ultrabaja de 0.02 ms, superando a modelos más pesados como DQN y SARSA.

1. Canalización de Evaluación Cuantitativa (evaluate_qlearning.py)​

Para medir la capacidad real de navegación del robot cargamos la tabla Q entrenada (qlearning_qtable.npy) y evaluamos con $\epsilon = 0$ a través de 5 semillas de prueba.

flowchart LR
Model["Tabla Q Entrenada<br>(qlearning_qtable.npy)"] --> Agent["Agente Voraz<br>(ε = 0 Fijo)"]
EvalSeeds["5 Semillas de Prueba<br>(EVAL_SEEDS 0..4)"] --> Webots["Simulador Webots<br>(30 Pruebas)"]
Agent <--> Webots
Webots --> CSV["Registro de Datos<br>(eval_log.csv / traces)"]

2. Comparativa de Algoritmos: Q-Learning vs. SARSA vs. DQN​

Calidad de Trayectoria

Evaluación en el mismo escenario de 12 paredes en Webots:

MétricaQ-Learning Tabular (Propuesto)SARSA (On-policy)Deep Q-Network (DQN)
ParadigmaOff-policy TD(0)On-policy TD(0)Red Neuronal Profunda
Tamaño de Modelo~2.5 KB (2,592 valores)~2.5 KB~600 KB (~150k pesos)
Tasa de Éxito (obstacle12)93.3%86.7%90.0%
Pasos Promedio por Episodio41.2 pasos48.5 pasos44.7 pasos
Latencia por Inferencia0.02 ms (consulta en array)0.02 ms2.15 ms (PyTorch)
Aproximación Crítica a ParedesModerada (desvío balanceado)Mínima (excesivamente conservador)Media

3. Próximos Pasos​

En el episodio final #5, presentaremos la transferencia a hardware real (Sim-to-Real): integración en un robot Arduino Uno de 2 ruedas, comunicación Bluetooth HC-06, calibración de distorsión con tablero de ajedrez y seguimiento visual con marcadores ArUco.