L'utilisation de scénarios simulés pour les essais dans l'industrie automobile est une pratique bien établie. Cependant, les scénarios utilisés dans le passé, par exemple pour former les systèmes de freinage ABS, ne suffisent pas pour la formation aux véhicules autonomes. En fait, les véhicules autonomes doivent être entraînés à se comporter comme des humains, ce qui nécessite des simulations très complexes.
L'environnement de simulation est un élément clé de toute simulation de formation au véhicule autonome. Unity, la plateforme de rendu 3D en temps réel, est utilisée par les équipes d'ingénieurs pour créer efficacement des environnements de simulation pour la formation aux véhicules autonomes qui sont riches en complexité sensorielle et physique, qui offrent des défis cognitifs convaincants et qui prennent en charge l'interaction dynamique multi-agents.
Cet article donne un aperçu utile de ce qu'est un environnement de simulation et de la manière dont Unity est utilisé dans la production d'environnements de formation pour les véhicules autonomes.
Tout comme les humains, un véhicule autonome a besoin d'un "cerveau" : c'est le système autonome, qui comprend quatre domaines clés :
Contrôle : Cette partie prend en charge les actions que la voiture doit effectuer, telles que le freinage, l'accélération et la direction.
Planification : La partie planification s'occupe de la manière dont le véhicule navigue, dépasse et évite les obstacles.
Perception : Il s'agit de la manière dont la voiture obtient des informations sur le monde réel. Les informations peuvent être recueillies à l'aide d'une combinaison de capteurs, tels que
- Vision par ordinateur si vous utilisez des caméras
- Capteurs LiDAR (Light Detection and ranging)
- Radars
Enfin, grâce à un processus appelé "fusion des capteurs", les informations collectées par les méthodes ci-dessus sont regroupées et assemblées de manière à ce que la voiture les comprenne réellement.
Coordination : Cette partie est liée à celle de la planification, car elle traite du comportement de la voiture par rapport aux autres voitures intelligentes qu'elle rencontre. Elle nécessite une communication avec d'autres véhicules et infrastructures, dont voici quelques exemples :
- Platooning : comment les voitures peuvent se suivre de près sur les autoroutes pour former une sorte de "train" qui optimise la consommation de carburant en réduisant la résistance à l'air, entre autres.
- Fusion et intersections : comment les voitures pourraient s'adapter collectivement au flux de circulation.
- L'essaimage : le concept qui facilite les coordinations susmentionnées.
Comment recueillir toutes les données dont vous avez besoin ? L'apprentissage automatique est au cœur des véhicules autonomes, et c'est un système très gourmand en données. D'énormes quantités de données sont nécessaires pour former un véhicule autonome. Comment le faire de manière rentable et précise ?
Comment la voiture comprendra-t-elle la nature des données ? Il ne suffit pas de collecter des données, il faut aussi s'assurer que la voiture comprend ce que sont ces données - elle ne peut pas se contenter de voir un objet, elle doit comprendre si cet objet est un arbre, une route, une personne, etc.
Comment trier et structurer les données ? Chaque donnée doit être comprise par le véhicule autonome, un processus qui est à la fois coûteux et sujet à des erreurs lorsqu'il est effectué par des personnes. Si cela pouvait se faire automatiquement, vous arriveriez beaucoup plus rapidement et en toute sécurité aux algorithmes requis.
Comment préparer le véhicule aux inévitables situations imprévues ? Les données collectées exclusivement dans le monde réel ne peuvent que préparer le véhicule autonome à ce qu'il a déjà vu.
Des environnements de simulation riches et complexes permettent aux équipes d'ingénieurs de contrôler la production de données et, en fin de compte, de former un système de véhicule autonome pour qu'il soit prêt à faire face à tous les scénarios, y compris ceux qui n'ont pas été prévus et les cas limites.
Pour entraîner un système de véhicule autonome, il faut produire un environnement aussi proche que possible de ce que la voiture réelle verrait sur la route. Les éléments clés d'un environnement de simulation sont les suivants
Dynamique du véhicule : comment la voiture se comporte physiquement, comme le frottement avec l'asphalte.
L'environnement : Cette partie comprend trois sous-catégories :
- Les éléments statiques, tels que les routes, les arbres et les panneaux de signalisation.
- Des éléments dynamiques, tels que des piétons ou d'autres voitures, qui apportent des variations dans votre scénario et vous permettent de créer des scénarios qui peuvent être utilisés pour valider ou collecter des données pour vos véhicules.
- Paramètres, tels que l'heure et les conditions météorologiques, que vous pouvez appliquer à un scénario donné, afin de recréer différentes situations.
C'est la conjonction de ces différents facteurs environnementaux qui permet de produire des cas limites qui sont rares dans la réalité.
Modèle de capteur : Les scénarios de simulation doivent être pris en compte par le système autonome via un modèle de capteur, tel qu'un capteur LiDAR, une caméra ou un radar. Elle doit être physiquement exacte au point que l'algorithme qui s'appuie sur cette information puisse se comporter dans l'environnement synthétique aussi bien qu'il se comportera dans la réalité.
La conception d'un environnement de simulation nécessite les mêmes fonctionnalités et outils que ceux utilisés pour créer d'autres types de contenus interactifs riches : éclairage et physique, systèmes de particules et météorologiques, animation, apprentissage automatique, etc.
Unity est la première plateforme mondiale de rendu 3D en temps réel pour le développement de jeux et d'autres contenus interactifs. Il s'agit d'une plateforme complète et éprouvée qui alimente des millions de jeux et d'applications multiplateformes. Il offre également les avantages uniques de l'Asset Store (voir ci-dessous pour plus d'informations) et de son immense communauté de développeurs et de créateurs intersectoriels.
Flexibilité des scripts : Les équipes peuvent adapter Unity à leurs flux de travail grâce à un puissant système de script C# et à une API complète. Vous pouvez également acheter l'accès au code source pour développer directement en C++.
Vitesse L'interface intuitive de l'éditeur Unity permet de créer rapidement des prototypes. Lorsque vous êtes en mode "Play" dans l'éditeur, vous pouvez jouer et prévisualiser l'apparence de votre application dans sa version finale. Vous pouvez mettre la scène en pause, modifier les valeurs, les actifs, les scripts et d'autres propriétés, et voir instantanément les résultats. Vous pouvez également parcourir un projet image par image pour faciliter le débogage.
Une grande interactivité Unity fournit une API robuste et bien documentée qui donne accès à la gamme complète de ses systèmes, y compris la physique, le rendu, l'animation et les communications, ce qui permet un modèle d'interaction riche et l'intégration avec d'autres systèmes.
Graphiques haut de gamme : Le Scriptable Render Pipeline (SRP) vous permet de coder le cœur de votre boucle de rendu en C#, ce qui vous donne beaucoup plus de flexibilité pour personnaliser la façon dont votre scène est dessinée afin de la rendre spécifique à votre contenu.
Deux SRP sont disponibles : le High-Definition Render Pipeline (HDRP) offre une qualité visuelle de premier ordre sur du matériel de haute performance, tandis que l'Universal Render Pipeline (URP) maintient des performances réactives lors de la mise à l'échelle pour les mobiles.
Prise en charge de laRV et de la RA (et déploiement sur 25 autres plateformes). Grâce à sa prise en charge étendue des plateformes, Unity est utilisé par des studios de jeux AAA, des agences de création de premier plan, des studios de cinéma et des équipes de recherche dans les domaines de l'automobile, de l'espace et d'autres industries pour créer des applications immersives.
Outils avancés pour les artistes et les concepteurs : Unity comprend des outils de conception de scènes en 3D, de narration et de cinématique, d'éclairage et d'effets spéciaux, un système audio et un puissant système d'animation dopesheet.
Capacités d'apprentissage automatique et d'intelligence artificielle: La boîte à outils Unity ML-Agents permet aux chercheurs en apprentissage automatique d'étudier des comportements complexes à l'aide de Unity, et fournit aux développeurs de contenu interactif les dernières technologies d'apprentissage automatique pour développer des agents intelligents.
Le magasin d'actifs : L'Asset Store vous donne accès au plus grand marché de ressources prêtes à l'emploi et d'outils de productivité, y compris une vaste sélection pour la création d'environnements, afin de réduire le temps de développement.
Le groupe BMW a utilisé Unity pour développer un éditeur de scénarios graphiques qui simplifie considérablement le processus de test et de validation des fonctions de conduite automatisée en cours de développement. L'interface permet aux développeurs AD de visualiser et de mettre en place des milliers de scénarios simulés qui augmentent la maturité et la préparation des fonctionnalités.
Près de 95 % des kilomètres d'essai de BMW pour la conduite autonome sont parcourus par des véhicules virtuels dans des mondes virtuels.
Lisez notre série de blogs pour en savoir plus.
Découvrez comment les plus grands constructeurs automobiles du monde utilisent Unity pour accélérer le développement des véhicules autonomes et l'ensemble du cycle de vie de leurs produits, de la conception à la maintenance en passant par le marketing.