As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Execute uma varredura de simulação de direção autônoma com CARLA
Este tutorial mostra como executar uma varredura de parâmetros de simulação de direção autônoma CARLA com captura multissensor configurável. CARLA
O trabalho executa um cenário de mudança de faixa em que um veículo NPC começa atrás do veículo do ego, acelera para se posicionar 20 metros à frente do ego durante uma fase de avanço de 105 segundos e depois entra na pista do ego. Ele abrange velocidades de ego configuráveis, velocidades de NPC e distâncias iniciais de NPC, criando uma tarefa para cada combinação de parâmetros (padrão 2 × 2 × 2 = 8 tarefas). Cada tarefa captura dados de vários sensores dos pontos de vista da câmera que você seleciona e produz a seguinte saída:
-
Quadros RGB de cada ponto de vista da câmera selecionado
-
Quadros de segmentação semântica
-
Nuvens de pontos LiDAR (
.ply) -
Caixas delimitadoras 2D e 3D (formato KITTI)
-
Per-camera vídeos de cenários (H.264 MP4)
-
Vídeo em grade costurado (se você selecionar várias câmeras)
O vídeo a seguir demonstra o fluxo de trabalho de varredura da simulação CARLA no Deadline Cloud.
Tempo estimado: 1—2 horas, incluindo a criação da imagem do Docker. As tarefas normalmente são concluídas em cerca de 13 minutos cada.
A execução deste tutorial gera cobranças pelas instâncias de trabalho da GPU que processam as tarefas e pelo armazenamento de imagens do Amazon ECR.
Visão geral do
Para concluir este tutorial, siga estas etapas:
-
Concluir os pré-requisitos do .
-
Configure sua fazenda.
-
Compilar e enviar por push uma imagem do Docker
-
Envie o trabalho de simulação.
-
Monitore o trabalho.
-
Revise a saída.
-
Limpe recursos.
Pré-requisitos
Antes de começar, conclua a seguinte configuração:
-
Crie uma AWS conta
se ainda não tiver uma, garantindo que ela tenha acesso às instâncias de GPU ( g6.4xlargerecomendado). -
Instale o Docker localmente para criar a imagem CARLA. Para obter instruções de instalação, consulte Obter o Docker
no site do Docker. -
Crie um repositório
Amazon ECR em sua conta para hospedar a imagem criada. -
Instale o Deadline Cloud CLI localmente. Para obter instruções de instalação, consulte o repositório
deadline-cloud no site. GitHub
Configure sua fazenda
Você precisa de um farm Deadline Cloud com uma fila que tenha um ambiente de fila conda (canais:conda-forge, pacotes:ffmpeg) e uma frota de GPU (mínimo: 1 GPU NVIDIA com 16 vCPUs e 64 GiB de memória).
Permissões do IAM — Sua função de fila precisa de permissões de pull do Amazon ECR, porque o script de tarefas é executado docker pull sob as credenciais da função de fila. Anexe uma política como a seguinte:
{ "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": "*" } ] }
Configuração do host da frota — Seus trabalhadores da frota precisam do Docker e do NVIDIA Container Toolkit. Anexe o script de configuração de host do Docker e do NVIDIA Container Toolkit
Crie e divulgue a imagem do Docker
O trabalho é executado dentro de um contêiner do Docker com base na imagem base:0.9.16 carlasim/carla no site do Docker. scenario_runner
Para criar e enviar a imagem do Docker
-
Crie um repositório Amazon ECR se você não tiver um:
aws ecr create-repository --repository-name carla-deadline --regionREGION -
No
docker/diretório doautonomous_driving_carlapacote, crie a imagem:cd docker/ docker build -t carla-deadline:0.9.16 .nota
O Dockerfile é extraído
carlasim/carla:0.9.16do Docker Hub como imagem base. A primeira compilação baixa aproximadamente 8 GB. -
Envie a imagem para o 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
Envie o trabalho de simulação
Para enviar o trabalho com o remetente da GUI
-
No diretório do pacote, abra o remetente:
cd autonomous_driving_carla deadline bundle gui-submit . -
Na guia de Job-specific configurações, em Configurações do cenário, defina as velocidades do ego, as velocidades do NPC e as distâncias do NPC como números inteiros separados por vírgula. O produto cruzado cria sua grade de tarefas.
-
Em Pontos de vista da câmera, selecione quais câmeras capturar. Frente é a seleção padrão. As posições disponíveis são frontal, dianteira esquerda, dianteira direita, traseira, traseira esquerda e traseira direita.
-
Em Avançado, defina o URI da imagem do contêiner como
e a AWS região em que seu repositório Amazon ECR reside.ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/carla-deadline:0.9.16 -
Selecione Enviar.
Como alternativa, envie com a 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
Monitoramento do trabalho
Monitore o progresso no console do Deadline Cloud. Cada tarefa mostra seus valores de parâmetros (EgoSpeed,NpcSpeed,NpcDistance) na tabela de tarefas. As tarefas normalmente são concluídas em cerca de 13 minutos cada.
A saída do registro mostra:
-
Geração de cenários e valores de parâmetros
-
Inicialização e prontidão do servidor CARLA
-
Progresso da captura do sensor (contagem de quadros por câmera)
-
Codificação de vídeo para cada câmera
-
Costura de vídeo em grade (se você selecionou várias câmeras)
Revise a saída
Para baixar a saída
-
Depois que o trabalho for concluído, execute o comando de download no mesmo diretório usado no momento do envio, para que o
OutputDircaminho (padrão./outputs) seja resolvido no mesmo local:deadline job download-output --job-idjob-id -
O Deadline Cloud restaura a saída para o
OutputDirdiretório que você selecionou ao enviar o trabalho.
Cada tarefa produz uma saída em um subdiretório nomeado de acordo com seus 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
Limitações conhecidas
-
Somente Linux — A imagem CARLA Docker requer um host Linux com drivers de GPU NVIDIA. Os trabalhadores devem operar em frotas Linux.
-
Somente x86_64 — A imagem CARLA Docker não suporta arquiteturas ARM.
-
Imagens em mosaico — O trabalho gera imagens em RGB/semantic mosaico quando você seleciona 2 ou mais câmeras. O layout é 2 × 3 quando todos os 6 estão ativos, ou uma grade menor, caso contrário.
-
A taxa de captura aumenta com a contagem de câmeras — O script de captura grava PNGs de forma síncrona por descarga. Com todas as 6 câmeras, cada descarga grava 14 PNGs em vez de 2 com uma única câmera, e a lentidão aumentada fica abaixo da I/O meta de 7 FPS. O codificador de vídeo é fixado em 7 FPS, então o mesmo cenário produz um vídeo mais longo por câmera com poucas câmeras habilitadas e um vídeo de várias visualizações mais curto e denso com muitas câmeras ativadas. Esse design síncrono é uma troca deliberada para manter a arquitetura da amostra pequena e fácil de adaptar. Uma tubulação de produção paralelizaria o sensor. I/O
Fazer a limpeza.
Para evitar cobranças contínuas, limpe os recursos que você criou para este tutorial:
Para limpar os recursos do tutorial
-
Se você criou uma frota de GPU especificamente para este tutorial, interrompa-a ou exclua-a. Se você usou uma frota compartilhada preexistente, deixe-a em vigor.
-
Exclua o repositório
carla-deadlineAmazon ECR se você não precisar mais da imagem.
Recursos relacionados
Os seguintes recursos fornecem informações adicionais:
-
Exemplo de código-fonte
no GitHub site -
Simulador CARLA
no site da CARLA -
Script
de configuração do host Docker e NVIDIA Container Toolkit no site GitHub -
Execute contêineres Docker com GPUs NVIDIA no Deadline Cloud Workers