Formación Módulo 10 de 11

M10

Del simulador al coche físico (finalistas)

Prepara tu modelo para correr en una pista de verdad

  • Duración: 40 min
  • Finalistas
  • Vídeo + test de 5 preguntas

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

Del simulador al coche real en 5 minutosEl vídeo de este módulo está en preparación. Mientras tanto, tienes el guion completo justo debajo.
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:

  1. 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.
  2. 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.

Paso a pasoDe la consola del coche a la conducción autónoma
1 - Desbloquea el coche
Paso 1 de 4

1 - Desbloquea el coche

Escribe la IP del coche en el navegador. En Unlock your AWS DeepRacer vehicle introduce la contraseña (la de fábrica está impresa debajo del coche) y pulsa Access vehicle.

2 - La consola
Paso 2 de 4

2 - La consola

El menú de la izquierda da acceso a Control vehicle, Models, Calibration, Settings y Logs. Abajo verás también la IP y el nivel de batería.

3 - Sube el modelo
Paso 3 de 4

3 - Sube el modelo

Si el modelo se carga a mano, ve a Models, pulsa Upload y elige el archivo .tar.gz descargado con Download physical car model.

4 - Conduce en autónomo
Paso 4 de 4

4 - Conduce en autónomo

En Control vehicle marca Autonomous driving y elige el modelo en Select a model (tarda unos 10 segundos en cargar). Ajusta Maximum speed como porcentaje de la velocidad de entrenamiento y pulsa Start vehicle; para con Stop vehicle.

Capturas: Guía de implementación de DeepRacer on AWS (AWS)

Conducción autónoma

  1. En la consola, ve a Control vehicle y elige Autonomous driving (conducción autónoma).
  2. Elige el modelo y pulsa Load model (tarda unos 10 segundos).
  3. Ajusta Maximum speed (velocidad máxima) como porcentaje de la velocidad de entrenamiento.
  4. 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.
Paso a pasoCalibra dirección y velocidad
1 - La página Calibration
Paso 1 de 8

1 - La página Calibration

Aquí ves los valores actuales. Pulsa Calibrate en Steering para empezar por la dirección; después harás lo mismo en Speed.

2 - Coche en el suelo
Paso 2 de 8

2 - Coche en el suelo

Apoya el coche en el suelo, donde veas bien las ruedas, y pulsa Next. En Calibrate center, alinea al menos una rueda delantera con la trasera del mismo lado.

3 - Giro máximo a la izquierda
Paso 3 de 8

3 - Giro máximo a la izquierda

En Maximum left steering mueve el control hasta que las ruedas dejen de girar a la izquierda; un ruido fuerte indica que te has pasado. Si entrenaste con un ángulo menor, ajusta el valor equivalente.

4 - Giro máximo a la derecha
Paso 4 de 8

4 - Giro máximo a la derecha

Repite hacia la derecha en Maximum right steering y pulsa Done para guardar la dirección.

5 - Eleva el coche
Paso 5 de 8

5 - Eleva el coche

Para calibrar la velocidad, coloca el coche sobre un soporte estable para que las ruedas giren libres. No lo sujetes con la mano.

6 - Punto de parada
Paso 6 de 8

6 - Punto de parada

En Stopped speed ajusta el Stopped value hasta que las ruedas se paren. El punto ideal es el medio entre los dos valores en los que empieza a sonar el motor.

7 - Sentido de avance
Paso 7 de 8

7 - Sentido de avance

En Set forward direction pulsa las flechas: si las ruedas giran en sentido horario, el avance es correcto; si no, activa Reverse direction.

8 - Velocidad máxima
Paso 8 de 8

8 - Velocidad máxima

En Maximum forward speed mueve el control hasta que Estimated speed coincida con la velocidad máxima de entrenamiento o quede algo por encima, como se indica arriba. Después fija Maximum backward speed (el modo autónomo no la usa) y pulsa Done.

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.

  1. En Your models, elegid los dos o tres candidatos para la final.
  2. Anotad de cada uno el espacio de acciones (ángulo máximo y velocidad máxima) y la pista de entrenamiento.
  3. Evaluad cada candidato en la versión virtual de la pista de la final y en al menos otra pista distinta.
  4. Descartad los que solo funcionen en su pista (posible sobreajuste) y quedaos con el más regular.
  5. 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).
  6. Escribid una ficha con: nombre exacto del modelo, velocidad y ángulo máximos, y un porcentaje de velocidad inicial para probar (por ejemplo, 60 %).
  7. 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.