Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exécutez un balayage de simulation de conduite autonome avec CARLA
Ce didacticiel explique comment exécuter un balayage des paramètres de simulation de conduite autonome
Le job exécute un scénario de changement de voie dans lequel un véhicule PNJ démarre derrière le véhicule de l'ego, accélère pour se positionner 20 mètres devant l'ego pendant une phase d'avance de 105 secondes, puis prend la voie de l'ego. Il passe en revue les vitesses d'ego configurables, les vitesses des PNJ et les distances de départ des PNJ, créant une tâche pour chaque combinaison de paramètres (par défaut 2 × 2 × 2 = 8 tâches). Chaque tâche capture des données multicapteurs à partir des points de vue de la caméra que vous sélectionnez et produit le résultat suivant :
-
Images RGB depuis le point de vue de chaque caméra sélectionné
-
Cadres de segmentation sémantique
-
Nuages de points LiDAR ()
.ply -
Boîtes de délimitation 2D et 3D (format KITTI)
-
Per-camera vidéos de scénarios (H.264 MP4)
-
Vidéo en grille cousue (si vous sélectionnez plusieurs caméras)
La vidéo suivante présente le flux de travail de simulation CARLA sur Deadline Cloud.
Durée estimée : 1 à 2 heures, y compris la création de l'image Docker. Les tâches se terminent généralement en 13 minutes chacune.
L'exécution de ce didacticiel entraîne des frais pour les instances de travail GPU qui traitent les tâches et pour le stockage d'images Amazon ECR.
Présentation de
Pour terminer ce didacticiel, procédez comme suit :
-
Respectez les conditions préalables de .
-
Configurez votre ferme.
-
Créez et diffusez l'image Docker.
-
Soumettez la tâche de simulation.
-
Surveillez le travail.
-
Vérifiez la sortie.
-
nettoyer les ressources.
Conditions préalables
Avant de commencer, effectuez la configuration suivante :
-
Créez un AWS compte
si vous n'en avez pas déjà un, en vous assurant qu'il a accès aux instances GPU ( g6.4xlargerecommandé). -
Installez Docker
localement pour créer l'image CARLA. -
Créez un référentiel
Amazon ECR dans votre compte pour héberger l'image créée. -
Installez la CLI Deadline Cloud
localement.
Configurez votre ferme
Vous avez besoin d'une ferme Deadline Cloud avec une file d'attente dotée d'un environnement de file d'attente conda (canaux :conda-forge, packages :ffmpeg) et d'un parc de GPU (minimum : 1 GPU NVIDIA avec 16 processeurs virtuels et 64 Go de mémoire).
Autorisations IAM : votre rôle de file d'attente nécessite des autorisations d'extraction Amazon ECR, car le script de tâche s'exécute avec les informations d'identification du rôle docker pull de file d'attente. Joignez une politique comme celle-ci :
{ "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": "*" } ] }
Configuration de l'hôte de la flotte : les employés de votre flotte ont besoin de Docker et du NVIDIA Container Toolkit. Associez le script de configuration hôte Docker et NVIDIA Container Toolkit GitHub
Créez et diffusez l'image Docker
La tâche s'exécute dans un conteneur Docker basé sur l'image de base:0.9.16 sur Docker carlasim/carla Hub. scenario_runner
Pour créer et diffuser l'image Docker
-
Créez un référentiel Amazon ECR si vous n'en avez pas :
aws ecr create-repository --repository-name carla-deadline --regionREGION -
Depuis le
docker/répertoire duautonomous_driving_carlabundle, créez l'image :cd docker/ docker build -t carla-deadline:0.9.16 .Note
Le Dockerfile est
carlasim/carla:0.9.16extrait de Docker Hub comme image de base. La première version télécharge environ 8 Go. -
Transférez l'image vers 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
Soumettre la tâche de simulation
Pour soumettre la tâche à l'aide de l'expéditeur de l'interface graphique
-
Dans le répertoire du bundle, ouvrez l'émetteur :
cd autonomous_driving_carla deadline bundle gui-submit . -
Dans l'onglet Job-specific Paramètres, sous Paramètres du scénario, configurez les vitesses ego, les vitesses des PNJ et les distances des PNJ sous forme d'entiers séparés par des virgules. Le produit croisé crée votre grille de tâches.
-
Sous Points de vue de la caméra, sélectionnez les caméras à capturer. Front est la sélection par défaut. Les positions disponibles sont avant, avant gauche, avant droite, arrière, arrière gauche et arrière droite.
-
Dans Avancé, définissez l'URI de votre image de conteneur sur
et la AWS région dans laquelle se trouve votre référentiel Amazon ECR.ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/carla-deadline:0.9.16 -
Sélectionnez Soumettre.
Vous pouvez également soumettre via l'interface de ligne de commande :
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
Surveillance de la tâche
Suivez la progression dans la console Deadline Cloud. Chaque tâche affiche ses valeurs de paramètres (EgoSpeed,NpcSpeed,NpcDistance) dans le tableau des tâches. Les tâches se terminent généralement en 13 minutes chacune.
La sortie du journal indique :
-
Génération de scénarios et valeurs de paramètres
-
Démarrage et préparation du serveur CARLA
-
Progression de la capture du capteur (nombre d'images par caméra)
-
Encodage vidéo pour chaque caméra
-
Assemblage vidéo en grille (si vous avez sélectionné plusieurs caméras)
Passez en revue la sortie
Pour télécharger la sortie
-
Une fois la tâche terminée, exécutez la commande de téléchargement depuis le répertoire que vous avez utilisé au moment de l'envoi, afin que le
OutputDirchemin (par défaut./outputs) soit résolu au même endroit :deadline job download-output --job-idjob-id -
Deadline Cloud restaure la sortie
OutputDirdans le répertoire que vous avez sélectionné lors de la soumission de la tâche.
Chaque tâche produit une sortie dans un sous-répertoire nommé d'après ses paramètres :
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
Limitations connues
-
Linux uniquement : l'image CARLA Docker nécessite un hôte Linux équipé de pilotes GPU NVIDIA. Les travailleurs doivent fonctionner sur des flottes Linux.
-
x86_64 uniquement — L'image CARLA Docker ne prend pas en charge les architectures ARM.
-
Images en mosaïque : la tâche génère des images en RGB/semantic mosaïque lorsque vous sélectionnez au moins deux caméras. La disposition est 2 × 3 lorsque les 6 sont actifs, ou une grille plus petite dans le cas contraire.
-
La fréquence de capture varie en fonction du nombre de caméras : le script de capture écrit des fichiers PNG de manière synchrone par flux. Avec les 6 caméras, chaque flux écrit 14 PNG au lieu de 2 avec une seule caméra, et l'augmentation I/O ralentit les flux en dessous de l'objectif de 7 images par seconde. L'encodeur vidéo étant fixé à 7 images par seconde, le même scénario produit une vidéo par caméra plus longue avec peu de caméras activées et une vidéo multi-vues plus courte et plus dense avec de nombreuses caméras activées. Cette conception synchrone est un compromis délibéré visant à réduire la taille de l'architecture de l'échantillon et à la rendre facile à adapter. Un pipeline de production paralléliserait le capteur. I/O
Nettoyage
Pour éviter des frais récurrents, nettoyez les ressources que vous avez créées pour ce didacticiel :
Pour nettoyer les ressources du didacticiel
-
Si vous avez créé un parc de GPU spécifiquement pour ce didacticiel, arrêtez-le ou supprimez-le. Si vous avez utilisé une flotte partagée préexistante, laissez-la en place.
-
Supprimez le référentiel
carla-deadlineAmazon ECR si vous n'avez plus besoin de l'image.
Ressources connexes
Les ressources suivantes fournissent des informations supplémentaires :