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
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. -
Crie um repositório
Amazon ECR em sua conta para hospedar a imagem criada. -
Instale o Deadline Cloud CLI
localmente.
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 GitHub
Crie e divulgue a imagem do Docker
O trabalho é executado dentro de um contêiner Docker com base na imagem base:0.9.16 carlasim/carla no Docker Hub. 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: