Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Comprender los tipos de carreras y habilitar los sensores compatibles con AWS DeepRacer
En AWS DeepRacer League, puede participar en los siguientes tipos de eventos de carreras:
-
Contrarreloj: corra contra el reloj en una pista sin obstáculos e intente obtener el tiempo de vuelta más rápido posible.
-
Evasión de obstáculos: corra contra el reloj en una pista con obstáculos fijos e intente obtener el tiempo de vuelta más rápido posible.
-
Head-to-bot carreras: compite contra uno o más vehículos en la misma pista y trata de cruzar la línea de meta antes que otros vehículos.
Actualmente, las carreras DeepRacer comunitarias de AWS solo admiten contrarreloj.
Deberías experimentar con diferentes sensores en tu DeepRacer vehículo de AWS para dotarlo de las capacidades suficientes para observar su entorno en un tipo de carrera determinado. En la siguiente sección, se describen los sensores DeepRacer compatibles con AWS que pueden habilitar los tipos compatibles de eventos de carreras autónomas.
Temas
Elija sensores para los tipos de DeepRacer carreras de AWS
Su DeepRacer vehículo de AWS viene con una cámara monocular frontal como sensor predeterminado. Puede añadir otra cámara monocular frontal para crear cámaras estéreo frontales o para complementar la cámara monocular o las cámaras estéreo con una unidad LiDAR.
La siguiente lista resume las capacidades funcionales de los sensores DeepRacer compatibles con AWS, junto con breves cost-and-benefit análisis:
- Cámara frontal
-
Una cámara frontal monolente puede capturar imágenes del entorno frente al vehículo anfitrión, incluidos los bordes y las formas de la pista. Es el sensor menos caro y es adecuado para manejar las tareas de conducción autónomas más simples, como carreras contrarreloj sin obstáculos en pistas bien marcadas. Con el entrenamiento adecuado, puede esquivar obstáculos estacionarios en lugares fijos en la pista. Sin embargo, la información sobre la ubicación de los obstáculos está incorporada en el modelo entrenado y, como resultado, es probable que el modelo esté sobreajustado y no se generalice a otras colocaciones de obstáculos. Con objetos estacionarios colocados en lugares aleatorios u otros vehículos en movimiento en la pista, es poco probable que el modelo converja.
En el mundo real, el DeepRacer vehículo de AWS viene con una cámara frontal de un solo objetivo como sensor predeterminado. La cámara tiene una lente gran angular de 120 grados y captura imágenes RGB que luego se convierten en imágenes en escala de grises de 160 x 120 píxeles a 15 fotogramas por segundo (fps). Estas propiedades del sensor se conservan en el simulador para maximizar la posibilidad de que el modelo entrenado se transfiera bien de la simulación al mundo real.
- Cámara estéreo frontal
-
Una cámara estéreo tiene dos o más objetivos que capturan imágenes con la misma resolución y frecuencia. Las imágenes de ambas lentes se utilizan para determinar la profundidad de los objetos observados. La información de profundidad de una cámara estéreo es valiosa para el vehículo anfitrión para evitar chocar contra los obstáculos u otros vehículos por la parte delantera, especialmente en entornos más dinámicos. Sin embargo, la información de profundidad adicional hace que los entrenamientos converjan más lentamente.
En el vehículo DeepRacer físico de AWS, la cámara estéreo de doble objetivo se construye añadiendo otra cámara de objetivo único y montando cada cámara en los lados izquierdo y derecho del vehículo. El DeepRacer software AWS sincroniza las capturas de imágenes de ambas cámaras. Las imágenes capturadas se convierten a escala de grises, se apilan y se introducen en la red neuronal para su inferenciación. El mismo mecanismo se duplica en el simulador con el fin de entrenar el modelo para generalizar bien a un entorno del mundo real.
- Sensor LiDAR
-
Un sensor LiDAR utiliza láseres giratorios para enviar pulsos de luz fuera del espectro visible y calcular cuánto tarda cada pulso en volver. La dirección de y la distancia hasta los objetos a los que golpea un pulso específico se registran como un punto en un mapa 3D grande centrado alrededor de la unidad LiDAR.
Por ejemplo, LiDAR ayuda a detectar puntos ciegos del vehículo anfitrión para evitar colisiones mientras el vehículo cambia de carril. Al combinar LiDAR con cámaras mono o estéreo, permite que el vehículo anfitrión capture suficiente información para tomar las medidas adecuadas. Sin embargo, un sensor LiDAR es más caro en comparación con las cámaras. La red neuronal debe aprender a interpretar los datos LiDAR. Por lo tanto, los entrenamientos tardarán más en converger.
En el vehículo DeepRacer físico de AWS, un sensor LiDAR está montado en la parte trasera e inclinado 6 grados hacia abajo. Gira a una velocidad angular de 10 rotaciones por segundo y tiene un rango de 15 cm a 2 m. Puede detectar objetos detrás y a los lados del vehículo anfitrión, así como objetos elevados no obstruidos por las piezas del vehículo en la parte delantera. El ángulo y el alcance se eligen para que la unidad LiDAR sea menos susceptible al ruido ambiental.
Puede configurar su DeepRacer vehículo de AWS con la siguiente combinación de sensores compatibles:
-
Solo cámara frontal de un solo objetivo.
Esta configuración es buena para contrarreloj, así como para esquivar obstáculos con objetos en lugares fijos.
-
Solo cámara estéreo frontal.
Esta configuración es buena para evitar obstáculos con objetos en ubicaciones fijas o aleatorias.
-
Cámara frontal de un solo objetivo con LiDAR.
Esta configuración es adecuada para evitar obstáculos o head-to-bot competir en carreras.
-
Cámara estéreo frontal con LiDAR.
Esta configuración es buena para evitar obstáculos o head-to-bot competir, pero probablemente no sea la más económica para contrarreloj.
A medida que agrega más sensores para que su DeepRacer vehículo de AWS pase de las contrarreloj a la evasión de objetos y head-to-bot las carreras, el vehículo recopila más datos sobre el entorno para incorporarlos a la red neuronal subyacente durante el entrenamiento. Esto hace que el entrenamiento sea más difícil porque se necesita que el modelo maneje mayores complejidades. Al final, sus tareas de aprendizaje para entrenar modelos se vuelven más exigentes.
Para aprender de forma progresiva, primero debe empezar a entrenarse para las contrarreloj antes de pasar a la evitación de objetos y, después, a las head-to-bot carreras. Encontrará recomendaciones más detalladas en la siguiente sección.
Configurar el agente para entrenar DeepRacer modelos de AWS
Para entrenar un modelo de aprendizaje por refuerzo para que el DeepRacer vehículo de AWS compita evitando obstáculos o head-to-bot corriendo, debe configurar el agente con los sensores adecuados. Para pruebas contrarreloj sencillas, puede usar el agente predeterminado configurado con una cámara monolente. Al configurar el agente, puede personalizar el espacio de acción y elegir una topología de red neuronal para que funcione mejor con los sensores seleccionados y cumpla con los requisitos de conducción previstos. Además, puede cambiar la apariencia del agente para facilitar su identificación visual durante el entrenamiento.
Después de configurarlo, la configuración del agente se registra como parte de los metadatos del modelo para el entrenamiento y la evaluación. Para la evaluación, el agente recupera automáticamente la configuración registrada para utilizar los sensores especificados, el espacio de acción y la tecnología de red neuronal.
En esta sección se explican los pasos para configurar un agente en la DeepRacer consola de AWS.
Para configurar un DeepRacer agente de AWS en la DeepRacer consola de AWS
-
Inicie sesión en la DeepRacerconsola de AWS
. -
En el panel de navegación principal, seleccione Garage (Garaje).
-
La primera vez que utilice Garage (Garaje), aparecerá el cuadro de diálogo WELCOME TO THE GARAGE (BIENVENIDO AL GARAJE) . Elija > o < consulte la introducción a los distintos sensores compatibles con el DeepRacer vehículo de AWS o seleccione X para cerrar el cuadro de diálogo. Puede encontrar esta información introductoria en el panel de ayuda en Garage (Garaje).
-
En la página Garage (Garaje) elija Build new vehicle (Construir un nuevo vehículo).
-
En la página Mod your own vehicle (Personalice su propio vehículo) en Mod specifications (Especificaciones de personalización), elija uno o más sensores para probar y aprender la mejor combinación que pueda satisfacer sus tipos de carreras previstos.
Para entrenarse para las pruebas contrarreloj de AWS para DeepRacer vehículos, elija Camera. Para evitar obstáculos o head-to-bot correr, querrá utilizar otros tipos de sensores. Para elegir Cámara estéreo, asegúrese de haber adquirido una cámara adicional de una sola lente. AWS DeepRacer convierte la cámara estéreo en dos cámaras de un solo objetivo. Puede tener una cámara monolente o una cámara estéreo de doble lente en un vehículo. En cualquier caso, puedes añadir un sensor LiDAR al agente si solo quieres que el modelo entrenado sea capaz de detectar y evitar puntos ciegos al evitar obstáculos o al correr. head-to-bot
-
En la página Garage (Garaje) y en Neural network topologies (Topologías de red neuronal), elija una topología de red compatible.
En general, una red neuronal más profunda (con más capas) es más adecuada para conducir en pistas más complicadas con curvas agudas y numerosos giros, para competir para evitar obstáculos estacionarios o para competir contra otros vehículos en movimiento. Pero resulta más caro entrenar una red neuronal más profunda y el modelo tarda más en converger. Por otro lado, una red menos profunda (con menos capas) cuesta menos y se tarda menos en entrenarla. El modelo entrenado es capaz de manejar condiciones de pista más simples o requisitos de conducción, como contrarreloj en una pista sin obstáculos sin competidores.
En concreto, AWS DeepRacer admite CNN de 3 capas o CNN de 5 capas.
-
En la página Garage (Garaje) seleccione Next (Siguiente) para continuar con la configuración del espacio de acción del agente.
-
En la página Action space (Espacio de acción) deje la configuración predeterminada para su primer entrenamiento. Para entrenamientos posteriores, experimente con diferentes ajustes para el ángulo de dirección, la velocidad máxima y sus granularidades. A continuación, elija Siguiente.
-
En la página Colorea tu vehículo para que destaque entre la multitud, escribe un nombre en Nombre tuyo DeepRacer y, a continuación, elige un color para el agente de la lista de colores del vehículo. A continuación, seleccione Submit (Enviar).
-
En la página Garage (Garaje) examine la configuración del nuevo agente. Para realizar más modificaciones, elija Mod vehicle (Personalizar vehículo) y repita los pasos anteriores comenzando por el paso 4.
Ahora, su agente está listo para entrenar.
Personalice la DeepRacer formación de AWS para las contrarreloj
Si es la primera vez que utiliza AWS DeepRacer, debería empezar con una prueba contrarreloj sencilla para familiarizarse con el entrenamiento de los DeepRacer modelos de AWS para que conduzcan su vehículo. De esta manera, obtiene una introducción más suave a los conceptos básicos de función de recompensa, agente, medio ambiente, etc. Su objetivo es entrenar a un modelo para que el vehículo permanezca en la pista y termine una vuelta lo más rápido posible. A continuación, puede implementar el modelo entrenado en su DeepRacer vehículo de AWS para realizar una prueba de conducción en una pista física sin sensores adicionales.
Para preparar un modelo para este escenario, puede elegir el agente predeterminado en Garage en la DeepRacer consola de AWS. El agente predeterminado se ha configurado con una sola cámara frontal, un espacio de acción predeterminado y una topología de red neuronal predeterminada. Resulta útil empezar a entrenar un DeepRacer modelo de AWS con el agente predeterminado antes de pasar a otros más sofisticados.
Para entrenar su modelo con el agente predeterminado, siga las recomendaciones que se indican a continuación.
-
Empiece a entrenar a su modelo con una pista simple de formas más regulares y de giros menos abruptos. Utilice la función de recompensa predeterminada. Y entrene el modelo durante 30 minutos. Una vez completada la tarea de entrenamiento, evalúe su modelo en la misma pista para ver si el agente puede terminar una vuelta.
-
Obtenga más información sobre los parámetros de la función de recompensa. Prosiga el entrenamiento con diferentes incentivos para recompensar al agente para que vaya más rápido. Alargue el tiempo de entrenamiento del siguiente modelo a 1 - 2 horas. Compare el gráfico de recompensas entre el primer entrenamiento y el segundo. Siga experimentando hasta que el gráfico de recompensas deje de mejorar.
-
Lea más sobre el espacio de acción. Entrene el modelo la 3ª vez aumentando la velocidad máxima (por ejemplo, 1 m/s). Para modificar el espacio de acción, debe construir un nuevo agente en Garage, cuando tenga la oportunidad de realizar la modificación. Cuando actualice la velocidad máxima de su agente, tenga en cuenta que cuanto mayor sea la velocidad máxima, más rápido podrá el agente completar la pista de evaluación y más rápido su DeepRacer vehículo de AWS podrá terminar una vuelta en una pista física. Sin embargo, una velocidad máxima más alta a menudo significa que el entrenamiento va a tardar más tiempo en converger, porque es más probable que el agente rebase una curva y, por lo tanto, se salga de la pista. Es posible que desee reducir las granularidades para dar al agente más espacios para acelerar o desacelerar y ajustar aún más la función de recompensa de otras maneras para ayudar a que el entrenamiento converja más rápido. Después de que el entrenamiento converja, evalúe el tercer modelo para ver si el tiempo de vuelta mejora. Siga explorando hasta que no haya más mejoras.
-
Elija una pista más complicada y repita el proceso del paso 1 al paso 3. Evalúe su modelo en una pista que sea diferente de la que utilizó para entrenar para ver cómo el modelo puede generalizar diferentes pistas virtuales y generalizar entornos del mundo real.
-
(Opcional) Experimente con diferentes valores de los hiperparámetros para mejorar el proceso de entrenamiento y repita el proceso del paso 1 al paso 3.
-
(Opcional) Examine y analice los DeepRacer registros de AWS. Para ver un código de muestra que puede utilizar para analizar los registros, consulte https://github.com/aws-samples/aws-deepracer-workshops/tree/master/log-analysis
.
Adapte la DeepRacer formación de AWS para las carreras de evitación de objetos
Después de familiarizarse con las contrarreloj y haber entrenado algunos modelos convergentes, pase al siguiente desafío, algo más exigente: esquivar obstáculos. Aquí, su objetivo es entrenar a un modelo que pueda completar una vuelta lo más rápido posible sin salir de la pista, evitando al mismo tiempo chocar contra los objetos colocados en la pista. Obviamente, este es un problema con un aprendizaje más complicado para el agente, y el entrenamiento tarda más en converger.
La DeepRacer consola de AWS admite dos tipos de entrenamiento para evitar obstáculos: los obstáculos se pueden colocar en ubicaciones fijas o aleatorias a lo largo de la pista. Con ubicaciones fijas, los obstáculos permanecen fijos en el mismo lugar durante toda la tarea de entrenamiento. Con ubicaciones aleatorias, los obstáculos cambian sus respectivos lugares al azar de un episodio a otro.
Es más fácil para los entrenamientos converger a la hora de evitar obstáculos de ubicación fija porque el sistema tiene menos grados de libertad. Sin embargo, los modelos pueden sobreajustarse cuando la información de ubicación está integrada en los modelos entrenados. Como resultado, los modelos pueden estar sobrecargados y pueden no generalizarse bien. A la hora de esquivar obstáculos posicionados aleatoriamente, es más difícil que los entrenamientos converjan porque el agente debe seguir aprendiendo a evitar chocar contra obstáculos en lugares que no ha visto antes. Sin embargo, los modelos entrenados con esta opción tienden a generalizarse mejor y transferirse bien a las carreras del mundo real. Para empezar, coloque obstáculos en ubicaciones fijas, familiarícese con los comportamientos y, a continuación, aborde las ubicaciones aleatorias.
En el DeepRacer simulador de AWS, los obstáculos son cajas en forma de cubo con las mismas dimensiones (9.5 pulgadas (largo) x 15.25 pulgadas (ancho) x 10/5 pulgadas (alto)) que la caja del paquete del vehículo de AWS. DeepRacer Esto hace que sea más fácil transferir el modelo entrenado del simulador al mundo real si coloca la caja de embalaje como un obstáculo en la pista física.
Para experimentar con la esquiva de obstáculos, siga la práctica recomendada que se describe en los pasos siguientes:
-
Utilice el agente predeterminado o experimente con nuevos sensores y espacios de acción personalizando un agente existente o creando uno nuevo. Debe limitar la velocidad máxima a menos de 0,8 m/s y la granularidad de velocidad a 1 o 2 niveles.
Comience a entrenar un modelo durante aproximadamente 3 horas con 2 objetos en ubicaciones fijas. Utilice la función de compensación de ejemplo y entrene al modelo en la pista en la que vaya a correr o en una pista similar. El circuito AWS DeepRacer Smile Speedway (intermedio) es sencillo, lo que lo convierte en una buena opción para prepararse para las carreras de cumbre. A continuación, evalúe el modelo en la misma pista con el mismo número de obstáculos. Vea cómo converge la recompensa total esperada, en caso de que sea posible.
-
Obtenga más información sobre los parámetros de la función de recompensa. Experimente con variaciones de su función de recompensa. Aumente el número de obstáculos a 4. Capacite al agente para ver si el entrenamiento converge en la misma cantidad de tiempo de entrenamiento. Si no lo hace, vuelva a ajustar su función de recompensa, reduzca la velocidad máxima o reduzca el número de obstáculos, y vuelva a entrenar al agente. Repita la experimentación hasta que ya no haya mejoras relevantes.
-
Ahora, pasemos al entrenamiento esquivando obstáculos en lugares aleatorios. Deberá configurar el agente con sensores adicionales, que están disponibles en Garage en la DeepRacer consola de AWS. Puede usar una cámara estéreo. También puede combinar una unidad LiDAR con una cámara monolente o una cámara estéreo, pero debería esperar un tiempo de entrenamiento más largo. Configure el espacio de acción con una velocidad máxima relativamente baja (por ejemplo 2 m/s) para que el entrenamiento converja más rápidamente. Para la arquitectura de red, utilice una red neuronal superficial, que resulta suficiente para esquivar obstáculos.
-
Comience a entrenar durante 4 horas el nuevo agente para esquivar obstáculos con 4 objetos colocados aleatoriamente en una pista simple. Luego evalúe su modelo en la misma pista para ver si puede terminar vueltas con obstáculos posicionados aleatoriamente. Si no es así, es posible que desee ajustar su función de recompensa, probar diferentes sensores y tener más tiempo de entrenamiento. Como otro consejo, puede intentar clonar un modelo ya existente para continuar el entrenamiento y aprovechar la experiencia adquirida previamente.
-
(Opcional) Elija una velocidad máxima más alta para el espacio de acción o coloque más obstáculos aleatoriamente a lo largo de la pista. Experimente con diferentes combinaciones de sensores y ajuste las funciones de recompensa y los valores de hiperparámetros. Experimente con la topología de red CNN de 5 capas. Luego, vuelva a entrenar el modelo para determinar cómo afectan a la convergencia del entrenamiento.
Personalice el DeepRacer entrenamiento de AWS para head-to-bot las carreras
Tras realizar un entrenamiento para evitar obstáculos, ya estás preparado para afrontar el siguiente nivel de desafío: los modelos de entrenamiento para head-to-bot las carreras. A diferencia de los eventos para evitar obstáculos, head-to-bot las carreras tienen un entorno dinámico con vehículos en movimiento. Su objetivo es entrenar modelos para su DeepRacer vehículo de AWS para que compitan contra otros vehículos en movimiento y llegar primero a la línea de meta sin salirse de la pista ni chocar contra ningún otro vehículo. En la DeepRacer consola de AWS, puede entrenar un modelo de head-to-bot carreras haciendo que su agente compita contra 1 a 4 vehículos robot. En términos generales, usted debe tener más obstáculos colocados en una pista más larga.
Cada vehículo robot sigue un camino predefinido a velocidad constante. Puede habilitarlo para cambiar de carril o permanecer en su carril inicial. De forma similar al entrenamiento para esquivar obstáculos, puede tener los vehículos robot distribuidos uniformemente por la pista en ambos carriles. La consola le permite tener hasta 4 vehículos bot en la pista. Tener más vehículos de la competencia en la pista proporciona al agente de aprendizaje más oportunidades para encontrar situaciones más variadas con los otros vehículos. De esta manera, aprende más en una tarea de entrenamiento y el agente aprende más rápido. Sin embargo, es probable que cada entrenamiento tarde más tiempo en converger.
Para entrenar a un agente con vehículos robot, debe establecer la velocidad máxima del espacio de acción del agente como más alta que la velocidad (constante) de los vehículos robot para que el agente tenga más oportunidades de paso durante el entrenamiento. Como buen punto de partida, debe establecer la velocidad máxima del agente en 0,8 m/s y la velocidad de movimiento del vehículo robot en 0,4 m/s. Si habilita a los robots para cambiar de carril, el entrenamiento se vuelve más desafiante porque el agente debe aprender no sólo a evitar chocar contra un vehículo en movimiento delante de él en el mismo carril, sino también cómo evitar chocar contra otro vehículo en movimiento delante de él en el otro carril. Puede configurar los robots para cambiar de carril a intervalos aleatorios. La duración de un intervalo se selecciona al azar a partir de un rango de tiempo (por ejemplo de 1 s a 5 s) que usted especifica antes de iniciar el trabajo de entrenamiento. Este comportamiento al cambiar de carril es más parecido al de las head-to-bot carreras del mundo real y el agente entrenado debería generar mejores resultados. Sin embargo, se tarda más tiempo en entrenar al modelo para converger.
Sigue estos pasos sugeridos para repetir tu entrenamiento de cara a las carreras: head-to-bot
-
En Garage of the AWS DeepRacer console, cree un nuevo agente de entrenamiento configurado con cámaras estéreo y una unidad LiDAR. Es posible entrenar un modelo relativamente bueno usando solo una cámara estéreo contra vehículos robot. LiDAR ayuda a reducir los puntos ciegos cuando el agente cambia de carril. No establezca una velocidad máxima demasiado elevada. Un buen punto de partida es 1 m/s.
-
Para entrenarte para head-to-bot las carreras, comienza con dos vehículos robot. Configure la velocidad de desplazamiento del bot por debajo de la velocidad máxima de su agente (por ejemplo, 0,5 m/s si la velocidad máxima del agente es de 1 m/s). Deshabilite la opción de cambio de carril y, a continuación, elija el agente de entrenamiento que acaba de crear. Utilice uno de los ejemplos de funciones de recompensa o realice las modificaciones mínimas necesarias, y luego entrene durante 3 horas. Use la pista en la que va a competir o una pista similar. El circuito AWS DeepRacer Smile Speedway (intermedio) es sencillo, lo que lo convierte en una buena opción para prepararse para las carreras de cumbre. Una vez completado el entrenamiento, evalúe el modelo entrenado en la misma pista.
-
Para tareas más desafiantes, clone su modelo entrenado para crear un segundo modelo head-to-bot de carreras. Proceda a experimentar con más vehículos robot o active las opciones de cambio de carril. Comience con operaciones de cambio de carril lento a intervalos aleatorios de más de 2 segundos. Es posible que también desee experimentar con funciones de recompensa personalizadas. En general, su lógica de función de recompensa personalizada puede ser similar a la de esquivar obstáculos, si no tiene en cuenta el equilibrio entre superar a otros vehículos y mantenerse en la pista. Dependiendo de lo bueno que sea su modelo anterior, es posible que necesite entrenar otras 3 a 6 horas. Evalúe los modelos y vea cómo funciona el modelo.