Al terminar sabrás…
- Explicar qué es la brecha sim2real y sus causas más habituales
- Conocer cómo llega un modelo al coche y cómo se conduce en modo autónomo
- Entender la calibración de dirección y velocidad y el cuidado de la batería
- Identificar los requisitos de una pista física y las plantillas oficiales
- Saber cómo se cronometra una final presencial
Vídeo: Del simulador al coche real en 5 minutos
Guion del vídeo (texto)
La brecha sim2real. Tu modelo ha aprendido a conducir en un simulador. Pero el mundo real es distinto: hay luces, reflejos, suelos que patinan y baterías que se gastan. A la diferencia de rendimiento entre la simulación y la realidad la llamamos brecha sim to real. Es como pasar de un videojuego de conducción a un kart de verdad. Sabes lo básico, pero tienes que adaptarte. En este módulo veremos cómo reducir esa brecha.
Por qué falla en la pista real. La guía oficial resume las causas habituales de un mal rendimiento en el coche físico. Puede que el modelo no haya convergido, o que esté sobreentrenado y solo sepa conducir en su pista virtual. Puede que el coche no esté calibrado. O puede que la pista no cumpla los requisitos, que haya objetos cerca o que haya reflejos y deslumbramientos. Antes de culpar al modelo, revisa todo lo demás.
Del modelo al coche. En la final, normalmente será la organización quien prepare tu modelo. Lo optimiza para el coche y lo envía por la red al vehículo. También existe una vía manual. Se descarga el modelo para coche físico y se sube desde la consola del coche, a la que se entra con un navegador en la misma red. Tú solo tienes que asegurarte de que el modelo elegido es el correcto.
Conducción autónoma. Para conducir en modo autónomo, en la consola del coche se elige el modelo y se carga, algo que tarda unos diez segundos. Después se ajusta la velocidad máxima como un porcentaje de la velocidad de entrenamiento y se arranca el vehículo. Como el rozamiento del suelo puede frenar el coche, hay que experimentar con ese porcentaje hasta encontrar el punto justo entre rapidez y seguridad.
Calibrar dirección y velocidad. Calibrar es conseguir que el coche real haga lo mismo que el coche virtual. Si tu modelo gira treinta grados, las ruedas reales deben girar treinta grados. La dirección se calibra con el coche apoyado en el suelo, ajustando el centro y los máximos a izquierda y derecha. La velocidad se calibra con el coche elevado, nunca sujeto en la mano. Si algo va mal, revisa primero la mecánica.
Batería y pista. La batería de tracción dura entre quince y veinticinco minutos en modo autónomo. Al bajar el voltaje, el coche pierde fuerza y va más lento, por eso se recomienda cargarla cada quince minutos de uso. La pista también importa. Debe ser oscura, lisa y uniforme, con barreras alrededor y sin nada blanco cerca, porque en el simulador solo los bordes de la pista son blancos.
Así es una final presencial. En una final presencial, cada equipo tiene un turno llamado run. Una persona cronometra cada vuelta con la plataforma, registra los resets cuando hay que recolocar el coche y puede marcar una vuelta como no válida. Al terminar, el run se envía a la clasificación. Según el formato, cuenta la mejor vuelta o la media de las vueltas válidas. Los detalles exactos los marcarán las bases.
¡Enhorabuena, estáis en la final! Hasta ahora vuestro coche solo existía dentro de un ordenador. A partir de aquí va a correr sobre una pista de verdad: un coche AWS DeepRacer a escala 1/18, con tracción 4×4 y una cámara frontal. Este módulo os prepara para ese salto, que se parece mucho a pasar de un simulador de vuelo a pilotar una avioneta.
La brecha sim2real
La brecha sim2real (de "simulation to real") es la diferencia de rendimiento entre la simulación y la realidad. Ningún simulador es perfecto: en el mundo real hay luces, sombras, reflejos, polvo, ruedas que patinan y baterías que se descargan.
La plataforma ya hace parte del trabajo para que la brecha sea pequeña:
- En simulación el coche toma unas 10 acciones por segundo, igual que las unas 10 inferencias por segundo que hace el coche real.
- La cámara simulada imita a la real: gran angular de 120° convertida a escala de grises de 160×120 píxeles.
- La posición inicial se aleatoriza en cada episodio, para que el modelo aprenda toda la pista y no solo la salida.
El resto depende de vosotros y de la organización: una pista real con el mismo color, forma y dimensiones que la simulada, barreras alrededor y un coche calibrado para que su velocidad y su dirección coincidan con el espacio de acciones.
Causas habituales de un mal rendimiento
| Causa | Cómo reconocerla | Qué hacer |
|---|---|---|
| El modelo no ha convergido | En el simulador no completa vueltas con regularidad | Volver a la evaluación: buscar un 100 % de progreso |
| Está sobreentrenado (sobreajustado) | Va perfecto en su pista virtual y mal en cualquier otra | Evaluar en otras pistas antes de elegirlo |
| El coche no está calibrado | Gira menos o más de lo esperado, o va demasiado rápido | Recalibrar dirección y velocidad |
| La pista no cumple los requisitos | Curvas muy cerradas, superficie brillante | Revisar la pista |
| Objetos cerca de la pista | Se desvía hacia algo que hay fuera | Retirar objetos, sobre todo blancos |
| Reflejos y deslumbramientos | Falla siempre en la misma zona iluminada | Cambiar la luz o la orientación |
def reward_function(params):
'''
Example of penalize steering, which helps mitigate zig-zag behaviors
'''
# Read input parameters
distance_from_center = params['distance_from_center']
track_width = params['track_width']
abs_steering = abs(params['steering_angle']) # Only need the absolute steering angle
# Calculate 3 marks that are farther and father away from the center line
marker_1 = 0.1 * track_width
marker_2 = 0.25 * track_width
marker_3 = 0.5 * track_width
# Give higher reward if the car is closer to center line and vice versa
if distance_from_center <= marker_1:
reward = 1.0
elif distance_from_center <= marker_2:
reward = 0.5
elif distance_from_center <= marker_3:
reward = 0.1
else:
reward = 1e-3 # likely crashed/ close to off track
# Steering penality threshold, change the number based on your action space setting
ABS_STEERING_THRESHOLD = 15
# Penalize reward if the car is steering too much
if abs_steering > ABS_STEERING_THRESHOLD:
reward *= 0.8
return float(reward)
Del modelo al coche
Hay dos caminos para que vuestro modelo llegue al coche:
- Envío por la organización (lo habitual en la final). Una persona facilitadora o administradora usa Optimize for car para convertir el modelo al formato del coche y después Upload model to car para enviarlo por red al coche activado (con la opción de borrar antes los modelos que tenga). El formato se elige automáticamente según el tipo de coche.
- Descarga manual. Desde Actions → Download physical car model se descarga un archivo .tar.gz, y se sube en la consola del coche con Models → Upload.
La consola del coche
El coche tiene su propia consola web. Se entra desde un navegador conectado a la misma red que el coche, escribiendo su dirección IP. La contraseña por defecto está impresa en la parte inferior del coche.
Capturas: Guía de implementación de DeepRacer on AWS (AWS)
Conducción autónoma
- En la consola, ve a Control vehicle y elige Autonomous driving (conducción autónoma).
- Elige el modelo y pulsa Load model (tarda unos 10 segundos).
- Ajusta Maximum speed (velocidad máxima) como porcentaje de la velocidad de entrenamiento.
- Pulsa Start vehicle para arrancar y Stop vehicle para parar.
Ejemplo resuelto. Entrenasteis con una velocidad máxima de 2 m/s. En la pista real empezáis al 60 %: el coche completa la vuelta pero lento. Subís al 75 % y sigue estable; al 90 % se sale en la curva más cerrada. Vuestro punto de partida para la final será alrededor del 75-80 %. La fricción de cada superficie es distinta, así que este ajuste siempre se hace probando.
Calibración de dirección y velocidad
Calibrar es conseguir que el coche real haga lo mismo que el virtual: la velocidad máxima y el ángulo máximo del coche deben coincidir con los del entrenamiento. Hay dos enfoques: calibrar el coche para que coincida con el espacio de acciones, o medir el coche y ajustar el espacio de acciones.
- Dirección: con el coche apoyado en el suelo, se ajustan el centro y el máximo a izquierda y derecha. El ángulo se mide con un transportador.
- Velocidad: con el coche elevado (no sujeto en la mano), se ajusta el punto de parada (el punto medio entre los dos valores en los que empieza a sonar el motor), el sentido de avance y las velocidades máximas hacia delante y hacia atrás. Se recomienda dejar el límite un 20-30 % por encima de la velocidad máxima de entrenamiento.
Capturas: Guía de implementación de DeepRacer on AWS (AWS)
Batería y pista física
Batería
La batería de tracción es una LiPo de 7,4 V. Dura unos 15-25 minutos en modo autónomo y se recomienda cargarla cada 15 minutos de uso. Al bajar el voltaje baja la fuerza del motor y el coche va más lento: si probáis el porcentaje de velocidad con la batería casi vacía, en la final con la batería llena os iréis de la pista.
Requisitos de la pista
| Elemento | Requisito oficial |
|---|---|
| Radio de giro (curvas de 90° o menos) | Al menos 25 pulgadas, unos 64 cm (recomendado 30, unos 76 cm) |
| Radio de giro (curvas de más de 90°) | Al menos 30 pulgadas, unos 76 cm (recomendado 35, unos 89 cm) |
| Ancho | Al menos 24 pulgadas (unos 61 cm), con una tolerancia de 3 pulgadas |
| Superficie | Oscura, lisa y uniforme |
| Barreras | Al menos 2,5 pies de alto (unos 76 cm), a 2 pies (unos 61 cm) de la pista |
Además: nada blanco cerca de la pista (en simulación solo los bordes son blancos), cinta limpia y continua, y nada de suelos reflectantes, hormigón pulido u otras líneas en el suelo.
Plantillas oficiales
- A to Z Speedway: básica, réplica 1:1 de la pista virtual, la más usada en competiciones físicas y recomendada para principiantes.
- Smile Speedway: intermedia.
- RL Speedway: avanzada.
Cómo es una final presencial
DeepRacer on AWS permite organizar eventos físicos con hasta 10 pistas, cada una con su clasificación (y una combinada si hay varias). Vocabulario clave:
- Run: el turno de vuestro coche en pista.
- Vuelta (lap): la persona cronometradora marca el inicio con Start first lap y cada vuelta con Record lap.
- Reset: Car reset se registra cuando hay que recolocar el coche.
- Vuelta inválida: Mark lap invalid anula una vuelta que no cumple las normas.
- Did not finish: el coche no terminó.
- Submit Run: cierra el run y lo envía a la clasificación.
El formato puede ser Best lap (mejor vuelta) o Average laps (media de las vueltas válidas). Las reglas concretas de cada final (duración del run, resets permitidos, qué invalida una vuelta) se fijarán según las bases.
Actividad práctica
Objetivo: preparar la "ficha técnica" de vuestro modelo para la final. Se puede hacer en la plataforma y en papel.
- En Your models, elegid los dos o tres candidatos para la final.
- Anotad de cada uno el espacio de acciones (ángulo máximo y velocidad máxima) y la pista de entrenamiento.
- Evaluad cada candidato en la versión virtual de la pista de la final y en al menos otra pista distinta.
- Descartad los que solo funcionen en su pista (posible sobreajuste) y quedaos con el más regular.
- Comprobad en el diario que su función de recompensa no produce zig-zag (si el vídeo de evaluación muestra eses, valorad clonarlo con una penalización de giro).
- Escribid una ficha con: nombre exacto del modelo, velocidad y ángulo máximos, y un porcentaje de velocidad inicial para probar (por ejemplo, 60 %).
- Preparad una lista de comprobación para el día de la final: batería cargada, pista sin objetos blancos, calibración revisada, modelo correcto cargado.
Resumen
- La brecha sim2real es la diferencia entre simulación y realidad; se reduce con buena pista, buena calibración y modelos suaves.
- Antes de culpar al modelo, revisad convergencia, calibración, pista, objetos cercanos, reflejos y mecánica.
- El modelo llega al coche por envío de la organización o por descarga manual, y se ajusta la velocidad máxima en porcentaje.
- La batería dura unos 15-25 minutos: cargadla cada 15 minutos para que el coche se comporte igual.
- En la final se cronometran runs con vueltas, resets y vueltas inválidas, por mejor vuelta o por media, según las bases.
Test final
Comprueba lo que has aprendido. Necesitas 4 aciertos de 5 para superar el módulo.
Para saber más
- Simulated-to-real performance gaps (guía oficial) Oficial
- Calibrate your vehicle (guía oficial) Oficial
- Drive your vehicle (guía oficial) Oficial
- Model management - enviar modelos al coche (guía oficial) Oficial
- Lay your track (guía oficial) Oficial
- Track design templates (guía oficial) Oficial
- Troubleshooting the vehicle (guía oficial) Oficial
- Run an event with timekeeping (guía oficial) Oficial











