O CARLA é um simulador de pesquisa de direção autônoma de código aberto desenvolvido no Unreal Engine. Ele fornece uma plataforma flexível para que os pesquisadores desenvolvam, treinem e validem sistemas de direção autônoma. O CARLA suporta simulações de vários sensores, como câmera, LIDAR e radar, e fornece ativos digitais avançados, como mapas da cidade, veículos e pedestres. Os usuários podem controlar o ambiente de simulação e ajustar as condições, como clima, tráfego e cenários, por meio da API Python ou C++. O CARLA foi projetado para dar suporte a testes de cenários complexos de tráfego e pesquisa de interação de corpos com inteligência múltipla para uma ampla gama de aplicações na academia e no setor. Sua natureza de código aberto permite que os usuários usem e contribuam com o código gratuitamente, tornando-o adequado para o desenvolvimento e teste de algoritmos de direção autônoma.

Lista de funções
- Simulação de sensorSuporte a uma ampla variedade de sensores, como câmeras RGB, LIDAR, radar, sensores de profundidade e GPS, para gerar dados sensoriais fotorrealistas.
- Geração de cenas de tráfegoMapas de cidades, subúrbios e autoestradas: fornece uma ampla variedade de mapas de cidades, subúrbios e autoestradas e oferece suporte à simulação dinâmica do fluxo de tráfego e do comportamento dos pedestres.
- API flexívelControle o ambiente de simulação, incluindo veículos, pedestres, clima e regras de trânsito, por meio de APIs Python e C++.
- Editor de mapasSuporte à criação de mapas personalizados com base no padrão ASAM OpenDRIVE, que pode ser gerado por ferramentas como o RoadRunner.
- Gravação e reprodução de cenasPermite registrar o processo de simulação e reproduzi-lo com precisão, facilitando a comparação de resultados de diferentes configurações.
- Arquitetura multi-clienteSuporte a vários clientes para controlar diferentes inteligências ao mesmo tempo, adequado para pesquisas com várias inteligências.
- Integração do ROSConexão perfeita com o sistema operacional do robô por meio da ponte ROS, com suporte a estruturas como o AutoWare.
- gerenciamento de tráfegoO Traffic Manager integrado controla o comportamento dos NPCs (personagens não jogadores) para simular desafios reais de tráfego.
- simulação físicaIntegração da biblioteca Chrono para dar suporte a simulações altamente precisas da dinâmica de veículos e da dinâmica de vários corpos.
Usando a Ajuda
Processo de instalação
Para usar o CARLA localmente, os usuários precisam instalar e configurar o ambiente. Abaixo estão as etapas de instalação para sistemas Ubuntu; os usuários do Windows podem consultar a documentação oficial.
- Verificação dos requisitos do sistema
 O CARLA é compatível com o Unreal Engine versão 4.26 ou 5.5. A configuração de hardware recomendada é Intel i7/i9 (9ª-11ª geração) ou AMD Ryzen 7/9, com uma placa de vídeo compatível com DirectX 11 ou superior, pelo menos 16 GB de RAM e 50 GB de espaço em disco.
- Baixar CARLA
 Os usuários podem optar por baixar pacotes pré-compilados do GitHub ou compilados na fonte:- pacote pré-compiladoVisite o site oficial do CARLA (http://carla.org) ou a página de lançamento do GitHub (https://github.com/carla-simulator/carla/releases) para fazer download da versão mais recente (por exemplo, 0.9.15). Descompacte-a e use-a.
- Compilação de código-fonteClonar um repositório do GitHub:
git clone -b ue5-dev https://github.com/carla-simulator/carla.git CarlaUE5Uma conta do GitHub precisa ser associada à Epic Games para acessar os repositórios do Unreal Engine 5.5. 
 
- Instalação de dependências
 Vá para o diretório raiz do CARLA e execute o script de instalação:cd CarlaUE5 sudo -E env GIT_LOCAL_CREDENTIALS=github_username@github_token ./CarlaSetup.shO script faz o download automático do Unreal Engine 5.5 e das dependências, e pode exigir que as credenciais do GitHub sejam inseridas. Os usuários do Windows precisarão executar um comando semelhante usando o prompt de comando x64 Native Tools no Visual Studio 2022. 
- Compilado por CARLA
 Execute no diretório raiz do CARLA:cmake -G Ninja -S . -B Build --toolchain=$PWD/CMake/Toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_ROS2=ONApós a compilação, execute ./CarlaUE4.shInicie o simulador.
- Instalação da biblioteca do cliente Python
 O CARLA fornece uma API Python e requer a instalação de bibliotecas de clientes:pip3 install carlaRecomenda-se instalá-lo em um ambiente virtual para evitar conflitos de versão. Há suporte para Python 2.7, 3.6, 3.7 e 3.8. 
Uso das funções principais
- Iniciar o simulador
 estar em movimento./CarlaUE4.sh -quality-level=epic(alta qualidade) ou-quality-level=low(Hardware de baixo custo). O simulador é iniciado mostrando a visualização da cidade e aguardando a conexão do cliente.
- Execute o script de amostra
 O CARLA fornece vários scripts de exemplo em Python localizados no diretórioPythonAPI/examplesCatálogo. Exemplo:- Geração de tráfego: Executar python3 generate_traffic.pygerando veículos e pedestres dinâmicos no simulador.
- controle manual: Executar python3 manual_control.pyO veículo é controlado pelo teclado e pelo mouse, com as teclas WASD para mover e o mouse para ajustar a visualização.
- Aquisição de dados do sensor: Executar python3 03_RGB_camera.pySe quiser salvar os dados de imagem da câmera RGB, poderá usar a câmera RGB para adquirir os dados de imagem e salvá-los.
 
- Geração de tráfego: Executar 
- Gerente de tráfego operacional
 O Traffic Manager controla o comportamento do NPC. Exemplo:tm = client.get_trafficmanager() tm.set_desired_speed(vehicle, 30.0) # 设置车辆速度为 30 km/h tm.set_percentage_random_left_lanechange(vehicle, 20.0) # 20% 概率随机左换道A velocidade do NPC, o comportamento de mudança de faixa etc. podem ser definidos por meio da API. 
- Mapas personalizados
 Os usuários podem criar mapas por meio do RoadRunner ou do OpenDRIVE. Importar mapas para o CARLA:python3 import_map.py --path /path/to/your_map.xodrEm seguida, carregue o novo mapa no emulador. 
- Gravação e reprodução
 Iniciar a gravação:client.start_recorder("recording01.log")Gravação de reprodução: client.replay_file("recording01.log", start_time=0.0, duration=60.0)
- Integração do ROS
 Instale a ponte ROS (https://github.com/carla-simulator/ros-bridge):git clone https://github.com/carla-simulator/ros-bridge.gitDepois de iniciar um nó do ROS, o CARLA pode interagir com estruturas como o AutoWare. 
Operação da função em destaque
- Configuração do sensorAdicione sensores ao veículo por meio da API Python. Por exemplo, adicione uma câmera RGB:
blueprint_library = world.get_blueprint_library() camera_bp = blueprint_library.find('sensor.camera.rgb') camera = world.spawn_actor(camera_bp, carla.Transform(carla.Location(x=1.5, z=1.4))) camera.listen(lambda image: image.save_to_disk('output/%06d.png' % image.frame))
- Simulação de corpo com inteligência múltiplaScripts Python: Vários scripts Python podem controlar diferentes veículos ao mesmo tempo por meio de uma arquitetura multicliente. Cada cliente se conecta a uma porta de emulador (padrão 2000-2002).
- Simulação de física do ChronoAtivação da biblioteca Chrono: A ativação da biblioteca Chrono torna a dinâmica do veículo mais realista e adequada para o estudo do controle do veículo e da resposta dinâmica. Consulte a documentação oficial (https://carla.readthedocs.io/en/latest/adv_chrono/) para obter o método de configuração.
cenário do aplicativo
- Desenvolvimento de algoritmo de direção autônoma
 Os pesquisadores usam o CARLA para testar algoritmos de percepção, planejamento e controle. Por exemplo, modelos de aprendizagem profunda foram treinados para detecção de alvos e planejamento de caminhos simulando dados de LiDAR e câmera.
- Teste de cenário de tráfego
 Os desenvolvedores podem criar cenários de tráfego complexos no CARLA, como testes de colisão em cruzamentos ou condução em condições climáticas adversas, para validar a robustez do sistema de condução autônoma.
- Educação e treinamento
 Universidades e organizações de treinamento usam o CARLA para ensinar os princípios da direção autônoma. Os alunos implementam algoritmos de controle simples por meio de APIs Python e aprendem sobre processamento de dados de sensores e controle de veículos.
- Pesquisa de inteligência múltipla
 A arquitetura multi-cliente do CARLA é adequada para estudar a direção cooperativa de vários veículos, simulando a comunicação da frota ou cenários de direção competitiva.
QA
- Quais sistemas operacionais são compatíveis com o CARLA?
 O CARLA é oficialmente compatível com o Ubuntu 18.04 e 20.04 e com o Windows 7 e superior. O macOS não é oficialmente compatível, mas a comunidade tem algumas soluções não oficiais.
- Como resolver as dependências durante a compilação?
 Certifique-se de que todas as dependências (por exemplo, CMake, Ninja) estejam instaladas. ExecutarCarlaSetup.shO script instalará automaticamente as dependências ausentes. Se houver falha, consulte a FAQ oficial (https://carla.readthedocs.io/en/latest/faq/).
- Posso executar o CARLA off-line?
 Sim, o CARLA suporta a execução off-line. Depois de fazer o download do pacote pré-compilado ou compilar o código-fonte, você pode executar o emulador e os scripts sem uma conexão com a Internet.
- Como faço para obter mais mapas?
 Faça o download de pacotes de mapas adicionais (por exemplo, Town06, Town07) ou crie mapas personalizados usando o RoadRunner para importar arquivos OpenDRIVE para o CARLA.































 Português do Brasil
Português do Brasil				 简体中文
简体中文					           English
English					           日本語
日本語					           Deutsch
Deutsch