Al terminar sabrás…
- Distinguir las community races de las live races
- Enviar un modelo a una carrera y seguir el estado del envío
- Comprender los métodos de clasificación, las vueltas mínimas y las penalizaciones
- Diseñar una estrategia de equipo para las tres carreras virtuales del campeonato
- Planificar las horas de cómputo y revisar el modelo antes de enviarlo
Vídeo: Estrategia de carreras virtuales en 5 minutos
Guion del vídeo (texto)
Dos tipos de carrera. En DeepRacer on AWS hay dos formas de correr. En una carrera de comunidad, la organización abre un plazo, tú envías tu modelo y se evalúa en cuanto llega, sin que tengas que estar conectado. En una carrera en directo, los modelos corren de uno en uno mientras todos lo ven, y una persona facilitadora dirige la cola. Las dos usan la misma idea: tu modelo conduce solo, tú ya no puedes tocar nada.
Cómo enviar tu modelo. Para participar, entra en el apartado de carreras, elige una carrera abierta y pulsa entrar en la carrera. Elige tu modelo y confirma. Tu envío aparecerá en la lista de tus envíos y pasará por varios estados. En cola, preparando, en curso y completado. Después verás tu puesto en la clasificación, tu tiempo, la diferencia con el primero y las salidas de pista. Recuerda que los modelos físicos no se pueden enviar.
Tres formas de clasificar. Cada carrera puede clasificar de tres maneras. Con mejor vuelta, cuenta tu vuelta más rápida, después de un mínimo de vueltas. Con tiempo total, se suma el tiempo de todas las vueltas. Con vuelta media, se promedia una ventana de vueltas seguidas y cuenta la mejor ventana. Las salidas de pista suman segundos de penalización. Cómo será cada carrera del campeonato lo dirán las bases.
Nuestro campeonato. La fase virtual del campeonato tiene tres carreras. La clasificación general es la suma de los tiempos de las tres, y gana quien menos tiempo acumule. Esto tiene una consecuencia muy clara. Tenéis que correr las tres carreras y ser regulares. Un equipo muy rápido que se sale de pista en una carrera puede quedar por detrás de un equipo algo más lento pero constante.
Velocidad y trazada. Para ir más rápido, entrena en la misma pista de la carrera. Cuando tu coche ya complete vueltas, premia la velocidad y entrena entre una y dos horas. Para mejorar la trazada tienes herramientas muy útiles. Los puntos de referencia de la pista y la orientación del coche te dicen si apunta en la dirección correcta. El progreso y los pasos te dicen si va más rápido de lo previsto.
Gestiona tus horas. Cada entrenamiento, cada evaluación y cada envío gastan horas de cómputo. Esas horas se reinician al principio de cada mes, así que conviene planificarlas como si fueran el presupuesto del equipo. No lancéis todos el mismo experimento. Repartíos las ideas, apuntadlas en el diario y reservad horas para la última semana antes de cada carrera.
Checklist antes de enviar. Antes de enviar, repasad una lista corta. El modelo está entrenado en la pista y el sentido de la carrera. Lo habéis evaluado con varias vueltas y las completa todas con tiempos parecidos. Sabéis cuántos envíos os quedan y cuándo se cierra la carrera. Y todo el equipo está de acuerdo con el modelo elegido. Con eso, solo queda pulsar enviar y cruzar los dedos.
Llega la hora de la verdad. Has entrenado, has evaluado y has mejorado tu modelo. Ahora toca competir. En una carrera virtual ya no puedes tocar el volante: tu modelo conduce solo y lo que cuenta es la estrategia que tu equipo haya preparado antes. Es como un penalti en fútbol: el partido se gana en los entrenamientos, no en el último segundo.
Community races y live races
DeepRacer on AWS tiene dos modos de carrera:
| Modo | Cómo funciona | ¿Tienes que estar conectado? |
|---|---|---|
| Community race (carrera de comunidad) | La organización abre un periodo de envíos. Cada modelo se evalúa al recibirse y el leaderboard (clasificación) se actualiza | No, es asíncrona |
| Live race (carrera en directo) | Los modelos se evalúan de uno en uno mientras todos lo ven. Una persona facilitadora lanza los modelos, ordena la cola y declara el ganador | No hace falta, pero puedes verla con Watch live |
En las live races recibes avisos cuando tu modelo empieza, termina, entra en el top 3 o marca el mejor resultado. Cada modelo tarda unos 20 minutos, así que con muchos participantes la carrera dura horas.
En cuanto al tipo, las carreras pueden ser Time trial (contrarreloj) u Object avoidance (con obstáculos).
Cómo enviar un modelo
- Ve a Races (carreras) y elige una carrera abierta.
- Pulsa Enter race (entrar en la carrera).
- En Choose model elige tu modelo y confirma con Enter race.
- Tu envío aparece en Your submissions (tus envíos).
El envío pasa por estos estados: Queued (en cola) → Initializing (preparando) → In progress (en curso) → Completed (completado). En el Race leaderboard verás tu puesto, tu tiempo, la diferencia con el primero y el número de salidas de pista. Cuando la carrera termina pasa a Closed y la encontrarás en Completed races.
Capturas: Guía de implementación de DeepRacer on AWS (AWS)
Métodos de clasificación, vueltas y penalizaciones
Quien organiza cada carrera elige su Ranking method (método de clasificación). Lo que significa Minimum laps (vueltas mínimas) cambia según el método:
| Método | Qué cuenta | Qué significa Minimum laps |
|---|---|---|
| Best lap time (mejor vuelta) | Tu vuelta más rápida | Número mínimo de vueltas antes de que cuente la mejor vuelta |
| Total time (tiempo total) | La suma de todas las vueltas | Queda bloqueado al número máximo de vueltas: hay que completarlas todas |
| Average lap time (vuelta media) | La media de una ventana de vueltas consecutivas | Es la "ventana de promedio": cuántas vueltas seguidas se promedian. Puntúa tu mejor ventana |
Además, cada carrera tiene:
- Off-track penalty: segundos que se suman a tu tiempo por cada salida de pista (y Collision penalty por choque, si hay obstáculos).
- Max number of submissions per user: número máximo de envíos por persona.
- Maximum resets per model: reinicios permitidos, solo en live races.
Ejemplo resuelto. Dos modelos corren 3 vueltas con una penalización hipotética de 2 segundos por salida de pista.
| Modelo | Vueltas | Salidas | Total con penalización |
|---|---|---|---|
| Rayo | 12,0 + 12,1 + 12,3 s | 2 | 36,4 + 4 = 40,4 s |
| Tortuga | 13,0 + 13,1 + 13,0 s | 0 | 39,1 s |
Con Best lap, Rayo gana con 12,0 s. Con Total time, gana Tortuga. Moraleja: el método cambia la estrategia.
Nuestro campeonato: tres carreras y la suma importa
La fase virtual del Campeonato Nacional AWS DeepRacer 2026/27 se disputa entre diciembre de 2026 y febrero de 2027 y tiene 3 carreras virtuales. La clasificación general es la suma de los tiempos de las 3 carreras: menos es mejor.
¿Qué significa esto en la práctica?
- Hay que correr las tres. La general necesita vuestro tiempo en cada carrera. Qué ocurre exactamente si falta alguno se detallará según las bases, pero no os arriesguéis.
- La regularidad vale oro. Igual que en el ejemplo de Rayo y Tortuga, un modelo que nunca se sale suele sumar mejor que uno brillante pero imprevisible.
- Cada carrera es una oportunidad de aprender. Lo que funcione en la primera os servirá para la segunda y la tercera. Apuntadlo en el diario de experimentos.
Velocidad y trazada
Los consejos oficiales siguen un orden lógico:
- Entrena en la pista de la competición. Es la recomendación más directa de la guía.
- Primero que termine vueltas, después que vaya rápido. Cuando ya sea regular, premia la velocidad en la función de recompensa y amplía el entrenamiento a 1-2 horas.
- Sube la velocidad máxima del espacio de acciones creando un modelo nuevo. Mejora los tiempos, pero dificulta el entrenamiento: reduce granularidades y afina la función.
Más acciones y más rápidas permiten ir más deprisa, pero tardan más en converger. Con espacio continuo puedes premiar velocidades o giros concretos en puntos concretos de la pista.
Para la trazada tienes los parámetros waypoints, closest_waypoints y heading. Este ejemplo oficial premia que el coche apunte en la dirección de la pista:
# Place import statement outside of function (supported libraries: math, random, numpy, scipy, and shapely)
# Example imports of available libraries
#
# import math
# import random
# import numpy
# import scipy
# import shapely
import math
def reward_function(params):
###############################################################################
'''
Example of using waypoints and heading to make the car point in the right direction
'''
# Read input variables
waypoints = params['waypoints']
closest_waypoints = params['closest_waypoints']
heading = params['heading']
# Initialize the reward with typical value
reward = 1.0
# Calculate the direction of the center line based on the closest waypoints
next_point = waypoints[closest_waypoints[1]]
prev_point = waypoints[closest_waypoints[0]]
# Calculate the direction in radius, arctan2(dy, dx), the result is (-pi, pi) in radians
track_direction = math.atan2(next_point[1] - prev_point[1], next_point[0] - prev_point[0])
# Convert to degree
track_direction = math.degrees(track_direction)
# Calculate the difference between the track direction and the heading direction of the car
direction_diff = abs(track_direction - heading)
if direction_diff > 180:
direction_diff = 360 - direction_diff
# Penalize the reward if the difference is too large
DIRECTION_THRESHOLD = 10.0
if direction_diff > DIRECTION_THRESHOLD:
reward *= 0.5
return float(reward)
Y para la velocidad global puedes usar progress y steps. El coche toma unas 10 acciones por segundo, así que menos pasos para el mismo progreso significa ir más rápido. Este ejemplo oficial da un premio extra cada 100 pasos si vas por delante de lo previsto:
def reward_function(params):
#############################################################################
'''
Example of using steps and progress
'''
# Read input variable
steps = params['steps']
progress = params['progress']
# Total num of steps we want the car to finish the lap, it will vary depends on the track length
TOTAL_NUM_STEPS = 300
# Initialize the reward with typical value
reward = 1.0
# Give additional reward if the car pass every 100 steps faster than expected
if (steps % 100) == 0 and progress > (steps / TOTAL_NUM_STEPS) * 100 :
reward += 10.0
return float(reward)
Horas de cómputo y trabajo en equipo
Cada entrenamiento, evaluación y envío consume horas de cómputo. La gráfica de la página de inicio muestra las horas usadas sobre las permitidas, y se reinician al principio de cada mes. Los límites concretos los fija la organización.
Pensad en las horas como el presupuesto del equipo:
- Repartid los experimentos para no repetir el mismo dos veces.
- Empezad con entrenamientos cortos para descartar ideas y reservad los largos para las prometedoras.
- Guardad horas para la última semana antes de cada carrera.
- Si un modelo aparece en WAITING_FOR_CAPACITY, la plataforma está llena: usad Retry training más tarde.
Roles dentro del equipo
| Rol | Responsabilidad |
|---|---|
| Ingeniería de recompensa | Escribe y valida las funciones de recompensa |
| Análisis | Evalúa modelos, lee gráficas y mantiene el diario de experimentos |
| Gestión de cómputo | Controla las horas usadas y el calendario de entrenamientos |
| Jefatura de carrera | Lee las bases, controla plazos y envíos y hace el envío final |
Rotad los roles entre carreras para que todo el equipo aprenda de todo.
Actividad práctica
Objetivo: preparar y realizar un envío a una carrera abierta con una estrategia de equipo.
- Leed las bases de la carrera: pista, sentido, método de clasificación, vueltas mínimas, penalización y número máximo de envíos.
- Repartid los cuatro roles de la tabla anterior.
- Revisad las horas de cómputo disponibles en la página de inicio y planificad cuántos entrenamientos podéis hacer hasta el cierre.
- Elegid vuestros dos mejores candidatos del diario y evaluadlos en la pista y el sentido de la carrera con al menos tantas vueltas como pida la carrera.
- Calculad, con la fórmula del método de la carrera, qué tiempo obtendría cada candidato incluyendo penalizaciones.
- Pasad el checklist: - El modelo está en Ready y entrenado en la pista y el sentido de la carrera. - Completa todas las vueltas evaluadas con tiempos parecidos. - Sabéis cuántos envíos os quedan y cuándo se cierra la carrera. - Todo el equipo está de acuerdo.
- Enviad el modelo con Races → Enter race y seguid su estado en Your submissions.
- Cuando aparezca en Completed, anotad en el diario el puesto, el tiempo y las salidas de pista.
Resumen
- Las community races son asíncronas; las live races se corren en directo, un modelo tras otro.
- Se envía con Races → Enter race y el envío pasa por Queued, Initializing, In progress y Completed.
- Best lap, Total time y Average lap cambian lo que significan las vueltas mínimas y la estrategia; las penalizaciones suman segundos.
- En nuestro campeonato la general suma los tiempos de las 3 carreras: correr las tres y ser regular es clave.
- Planificad las horas de cómputo, que se reinician cada mes, y repartid roles dentro del equipo.
Test final
Comprueba lo que has aprendido. Necesitas 4 aciertos de 5 para superar el módulo.
Para saber más
- Join a community race (guía oficial) Oficial
- Live races (guía oficial) Oficial
- Create and manage races - métodos de clasificación (guía oficial) Oficial
- Monitor usage - horas de cómputo (guía oficial) Oficial
- Create a model - Reward function (guía oficial) Oficial
- deepracer-race-data - datos de pistas (comunidad) Comunidad


