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.
Realiza un barrido de simulación de conducción autónoma con CARLA
En este tutorial se explica cómo ejecutar un barrido de parámetros de simulación de conducción autónoma de
La tarea consiste en cambiar de carril, en el que un vehículo NPC arranca detrás del vehículo ego, acelera para posicionarse 20 metros por delante del ego durante una fase de avance de 105 segundos y, a continuación, se pone en el carril del ego. Abarca las velocidades configurables del ego, las velocidades de los PNJ y las distancias iniciales de los PNJ, y crea una tarea para cada combinación de parámetros (2 × 2 × 2 = 8 tareas por defecto). Cada tarea captura datos de varios sensores de los puntos de vista de la cámara que selecciones y produce el siguiente resultado:
-
Fotogramas RGB de cada punto de vista de cámara seleccionado
-
Marcos de segmentación semántica
-
Nubes de puntos LiDAR ()
.ply -
Cuadros delimitadores 2D y 3D (formato KITTI)
-
Per-camera vídeos de escenarios (MP4) H.264
-
Vídeo en cuadrícula cosida (si seleccionas varias cámaras)
El siguiente vídeo muestra el flujo de trabajo de barrido de simulaciones de CARLA en Deadline Cloud.
Tiempo estimado: de 1 a 2 horas, incluida la creación de la imagen de Docker. Las tareas suelen completarse en unos 13 minutos cada una.
La ejecución de este tutorial conlleva gastos para las instancias de trabajo de la GPU que procesan las tareas y para el almacenamiento de imágenes de Amazon ECR.
Descripción general de
Para completar este tutorial, siga estos pasos:
-
Cumplir los requisitos previos de .
-
Configura tu granja.
-
Cree y envíe la imagen de Docker.
-
Envíe el trabajo de simulación.
-
Supervise el trabajo.
-
Revise la salida.
-
Eliminación de recursos.
Requisitos previos
Antes de empezar, complete la siguiente configuración:
-
Crea una AWS cuenta
si aún no tienes una y asegúrate de que tenga acceso a las instancias de GPU ( g6.4xlargerecomendado). -
Instala Docker
localmente para crear la imagen de CARLA. -
Cree un repositorio de
Amazon ECR en su cuenta para alojar la imagen creada. -
Instale la CLI de Deadline Cloud
localmente.
Configure su granja
Necesitas una granja de Deadline Cloud con una cola que tenga un entorno de colas tipo conda (canales:conda-forge, paquetes:ffmpeg) y una flota de GPU (mínimo: 1 GPU NVIDIA con 16 vCPU y 64 GiB de memoria).
Permisos de IAM: su rol de cola necesita permisos de extracción de Amazon ECR, ya que el script de tareas se ejecuta con las credenciales del rol de cola. docker pull Adjunte una política como la siguiente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:BatchCheckLayerAvailability" ], "Resource": "arn:aws:ecr:REGION:ACCOUNT_ID:repository/*" }, { "Effect": "Allow", "Action": "ecr:GetAuthorizationToken", "Resource": "*" } ] }
Configuración del host de la flota: los trabajadores de su flota necesitan Docker y el kit de herramientas de contenedores de NVIDIA. Adjunta el script de configuración del host de Docker y NVIDIA Container Toolkit a tu flota. GitHub
Crea y publica la imagen de Docker
El trabajo se ejecuta dentro de un contenedor Docker basado en la imagen base:0.9.16 carlasim/carla de Docker Hub. scenario_runner
Para crear e insertar la imagen de Docker
-
Cree un repositorio de Amazon ECR si no tiene uno:
aws ecr create-repository --repository-name carla-deadline --regionREGION -
Desde el
docker/directorio delautonomous_driving_carlapaquete, cree la imagen:cd docker/ docker build -t carla-deadline:0.9.16 .nota
El Dockerfile se
carlasim/carla:0.9.16extrae de Docker Hub como imagen base. La primera compilación descarga aproximadamente 8 GB. -
Envía la imagen a Amazon ECR:
aws ecr get-login-password --regionREGION| \ docker login --username AWS --password-stdinACCOUNT_ID.dkr.ecr.REGION.amazonaws.com docker tag carla-deadline:0.9.16 \ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/carla-deadline:0.9.16 docker pushACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/carla-deadline:0.9.16
Envíe el trabajo de simulación
Para enviar el trabajo con el remitente de la GUI
-
Desde el directorio del paquete, abra el remitente:
cd autonomous_driving_carla deadline bundle gui-submit . -
En la pestaña de Job-specific ajustes, en Ajustes del escenario, configura las velocidades del ego, las velocidades de los PNJ y las distancias de los PNJ como números enteros separados por comas. El producto cruzado crea tu cuadrícula de tareas.
-
En Puntos de vista de cámara, selecciona qué cámaras quieres capturar. La opción frontal es la opción predeterminada. Las posiciones disponibles son delantera, delantera izquierda, delantera derecha, trasera, trasera izquierda y trasera derecha.
-
En Avanzado, defina el URI de la imagen del contenedor en
y la AWS región en la que se encuentra su repositorio de Amazon ECR.ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/carla-deadline:0.9.16 -
Seleccione Enviar.
Si lo prefiere, envíelo con la CLI:
deadline bundle submit . \ --farm-idFARM_ID\ --queue-idQUEUE_ID\ --name "CARLA Lane Change Demo" \ -p ImageURI=ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/carla-deadline:0.9.16 \ -p AwsRegion=REGION
Monitorizar el trabajo
Supervise el progreso en la consola de Deadline Cloud. Cada tarea muestra los valores de sus parámetros (EgoSpeed,NpcSpeed,NpcDistance) en la tabla de tareas. Las tareas suelen completarse en unos 13 minutos cada una.
El resultado del registro muestra:
-
Generación de escenarios y valores de parámetros
-
Arranque y preparación del servidor CARLA
-
Progreso de la captura del sensor (recuento de fotogramas por cámara)
-
Codificación de vídeo para cada cámara
-
Combinación de vídeo en cuadrícula (si ha seleccionado varias cámaras)
Revisa el resultado
Para descargar el resultado
-
Cuando se complete el trabajo, ejecute el comando de descarga desde el mismo directorio que usó al momento del envío, de modo que la
OutputDirruta (predeterminada./outputs) aparezca en el mismo lugar:deadline job download-output --job-idjob-id -
Deadline Cloud restaura la salida en el
OutputDirdirectorio que seleccionó al enviar el trabajo.
Cada tarea produce resultados en un subdirectorio llamado así por sus parámetros:
outputs/ └── ego20_npc30_dist10/ ├── rgb/ │ ├── front/frame_000001.png ... frame_000062.png │ └── rear/frame_000001.png ... frame_000062.png ├── semantic/ │ ├── front/... │ └── rear/... ├── lidar/frame_000001.ply ... ├── bbox_2d/{front,rear}/frame_*.txt ├── bbox_3d/frame_*.txt └── video/ ├── front_scenario.mp4 ├── rear_scenario.mp4 └── grid_scenario.mp4
Limitaciones conocidas
-
Solo en Linux: la imagen de Docker de CARLA requiere un host Linux con controladores de GPU NVIDIA. Los trabajadores deben trabajar en flotas de Linux.
-
Solo x86_64: la imagen de Docker de CARLA no es compatible con las arquitecturas ARM.
-
Imágenes en mosaico: el trabajo genera imágenes en RGB/semantic mosaico al seleccionar 2 o más cámaras. El diseño es de 2 × 3 cuando las 6 están activas o, en caso contrario, una cuadrícula más pequeña.
-
La velocidad de captura aumenta con el número de cámaras: el script de captura escribe los archivos PNG de forma sincrónica en cada descarga. Con las 6 cámaras, cada descarga graba 14 archivos PNG en lugar de 2 con una sola cámara, y el aumento de la I/O ralentización queda por debajo del objetivo de 7 FPS. El codificador de vídeo está fijado en 7 FPS, por lo que el mismo escenario produce un vídeo por cámara más largo con pocas cámaras habilitadas y un vídeo multivista más corto y denso con muchas cámaras habilitadas. Este diseño sincrónico es una compensación deliberada para mantener la arquitectura de la muestra pequeña y fácil de adaptar. Un proceso de producción paralelizaría el sensor. I/O
Limpieza
Para evitar cargos continuos, limpia los recursos que creaste para este tutorial:
Para limpiar los recursos del tutorial
-
Si creaste una flota de GPU específicamente para este tutorial, deténgala o elimínela. Si usaste una flota compartida preexistente, déjala en su lugar.
-
Elimine el repositorio de
carla-deadlineAmazon ECR si ya no necesita la imagen.
Recursos relacionados
Los siguientes recursos proporcionan información adicional: