O uso de cenários simulados para testes no setor automotivo é uma prática bem estabelecida. Entretanto, os cenários usados no passado, por exemplo, para treinar sistemas de freio ABS, não são suficientes para o treinamento de veículos autônomos. Essencialmente, os veículos autônomos precisam ser treinados para se comportar como humanos, o que requer simulações altamente complexas.
Uma parte importante de qualquer simulação de treinamento de veículo autônomo é o ambiente de simulação. Unity, a plataforma de renderização 3D em tempo real, está sendo usada por equipes de engenharia para criar com eficiência ambientes de simulação para treinamento de veículos autônomos que são ricos em complexidade sensorial e física, oferecem desafios cognitivos atraentes e suportam a interação dinâmica de vários agentes.
Esse artigo fornece uma visão geral prática sobre o que compõe o ambiente simulado e como Unity é usado na produção de ambientes de treinamento para veículos autônomos.
Assim como os humanos, um veículo autônomo precisa de um “cérebro”: esse é o sistema autônomo, que abrange quatro áreas importantes:
Controle: Controle: essa parte cuida das ações que o carro precisa realizar, como frear, acelerar e conduzir.
Planejamento: Planejamento: a parte de planejamento cuida de como o veículo navega, realiza ultrapassagens e evita obstáculos.
Percepção: Isso abrange como o carro obtém informações sobre o mundo real. As informações podem ser coletadas com uma combinação de sensores, como:
- Visão do computador, se você estiver usando câmeras
- Sensores LiDARs (Light Detection and ranging)
- Radares
Por último, por meio de um processo chamado fusão de sensores, as informações coletadas com os métodos acima são colhidas e agrupadas como algo que o carro compreende.
Coordenação: Essa parte está ligada à parte de planejamento, pois trata de como o carro se comporta em relação a outros carros inteligentes que encontra. Requer comunicação com outros veículos e infraestrutura, como, por exemplo, o veículo de passeio:
- Platooning: como carros podem seguir uns aos outros de perto em rodovias formando uma espécie de ”trem” que otimiza combustível cortando a resistência do ar, entre outras coisas.
- Fusão e interseções: como carros podem se ajustar coletivamente ao fluxo do tráfego.
- Enxame: o conceito que facilita as coordenações acima.
Como você coleta todos os dados de que precisa? A aprendizagem automática está no centro dos veículos autônomos, e é um sistema que consome muitos dados. São necessárias enormes quantidades de dados para treinar um veículo autônomo. Como fazer isso de forma econômica e precisa?
Como o carro entenderá o que são os dados? Não basta apenas coletar os dados, é preciso garantir que o carro entenda o que são os dados - ele não pode apenas ver um objeto, ele precisa entender se esse objeto é uma árvore, uma estrada, uma pessoa e assim por diante.
Como você classifica e estrutura os dados? Cada dado precisa ser compreendido pelo veículo autônomo, um processo caro e propenso a erros quando realizado por pessoas. Se isso pudesse ser feito automaticamente, você chegaria muito mais rápido e com mais segurança aos algoritmos necessários.
Como você prepara o veículo para as inevitáveis situações imprevistas? Os dados coletados exclusivamente no mundo real só podem preparar o veículo autônomo para o que ele já viu lá fora.
Ambientes simulados amplos e complexos oferecem às equipes de engenharia o controle sobre a geração de dados e, por fim, treinam um sistema de veículo autônomo para estar pronto para todos os cenários, incluindo os imprevistos e situações extremas.
Para treinar um sistema de veículo autônomo, é necessário produzir um ambiente que seja o mais próximo possível do que o carro real veria na estrada. As partes principais de um ambiente de simulação são:
Dinâmica do Veículo: como o carro se comporta fisicamente, como a fricção com o asfalto.
Meio ambiente: Essa parte compreende três subcategorias:
- Elementos estáticos, como as estradas, árvores e semáforos.
- Elementos dinâmicos, como pedestres ou outros carros, que estabelecem variações e permitem que você crie cenários que podem ser usados para validar ou coletar dados para seus veículos.
- Parâmetros, como a hora, dia e diferentes condições do tempo, que você pode aplicar a um determinado cenário para recriar situações diferentes.
A conjunção desses fatores ambientais variados é o que permite que você produza situações extremas que são raras na realidade.
Modelo do sensor: Os cenários de simulação precisam ser capturados pelo sistema autônomo por meio de um modelo de sensor, como um sensor LiDAR, uma câmera ou um radar. Ele precisa ser fisicamente preciso a ponto de o algoritmo que depende dessas informações poder se comportar no ambiente sintético da mesma forma que se comportará na realidade.
A engenharia de um ambiente de simulação requer os mesmos recursos e conjuntos de ferramentas usados na criação de outros tipos de conteúdo interativo avançado: iluminação e física, sistemas de partículas e clima, animação, aprendizado de máquina e muito mais.
A Unity é a plataforma de renderização 3D em tempo real líder mundial para o desenvolvimento de jogos e outros conteúdos interativos. É uma plataforma testada e comprovada, com recursos completos, que alimenta milhões de jogos e aplicativos multiplataforma. Ele também oferece as vantagens exclusivas da Asset Store (consulte abaixo para obter mais informações) e sua enorme comunidade de desenvolvedores e criadores de vários setores.
Flexibilidade de scripts: As equipes podem adaptar o Unity aos seus fluxos de trabalho com um poderoso sistema de scripts em C# e uma API abrangente. Acesso ao código fonte pode ser adquirido para desenvolvimento embutido em C++.
Velocidade A interface de usuário intuitiva do editor do Unity possibilita a criação rápida de protótipos. Quando estiver no modo "Play" (Reproduzir) no editor, você poderá reproduzir e visualizar a aparência do aplicativo na compilação final. Você pode pausar a cena e alterar valores, ativos, scripts e outras propriedades, e ver os resultados instantaneamente. Você também pode percorrer um projeto quadro a quadro para facilitar a depuração.
Interatividade rica O Unity fornece uma API robusta e bem documentada que dá acesso a toda a gama de seus sistemas, incluindo física, renderização, animação e comunicações, permitindo um modelo de interação rico e a integração com outros sistemas.
Gráficos de alta qualidade: O Scriptable Render Pipeline (Pipeline de renderização com script), ou SRP, permite que você codifique o núcleo do loop de renderização em C#, o que proporciona muito mais flexibilidade para personalizar a forma como a cena é desenhada para torná-la específica para o seu conteúdo.
Há dois SRPs disponíveis: o Pipeline de Renderização de Alta Definição (HDRP) oferece qualidade visual de classe mundial em hardware de alto desempenho, enquanto o Pipeline de Renderização Universal (URP) mantém o desempenho responsivo ao ser dimensionado para dispositivos móveis.
Suporte aVR e AR (além de implementação em 25 outras plataformas). Devido ao seu suporte amplo a plataformas, Unity é usado por estúdios que produzem jogos AAA, as agências mais criativas, estúdios de filmes e equipes de pesquisa dos setores automotivo, espacial entre outros para criar aplicativos imersivos.
Ferramentas avançadas para artistas e designers: O Unity inclui ferramentas de design de cena 3D, narrativa e cinemática, iluminação e efeitos especiais, sistema de áudio e um poderoso sistema de animação dopesheet.
Recursos de aprendizado de máquina e IA: Recursos de : o Unity permite que pesquisadores de aprendizado de máquina estudem comportamentos complexos usando Unity e oferece conteúdo interativo para que desenvolvedores com as tecnologias mais recentes de aprendizado de máquina desenvolvam agentes inteligentes.
O Asset Store: A Asset Store lhe dá acesso ao maior mercado de ativos prontos para uso e ferramentas de produtividade, incluindo uma enorme seleção para a criação de ambientes, para economizar tempo de desenvolvimento.
O BMW Group usou o Unity para desenvolver um editor de cenários gráficos que simplifica muito o processo de teste e validação de recursos de direção automatizada (AD) em desenvolvimento. A interface facilita a visualização e a configuração de milhares de cenários simulados para os desenvolvedores de AD, o que aumenta a maturidade e a prontidão dos recursos.
Cerca de 95% de todas as milhas de teste da BMW para direção autônoma são dirigidas por veículos virtuais em mundos virtuais.
Leia nossa série de blogs para saber mais.
Saiba mais sobre como os principais fabricantes automotivos do mundo estão usando o Unity para acelerar o desenvolvimento de veículos autônomos e todo o ciclo de vida do produto, do design ao marketing e à manutenção.