Que recherchez-vous ?
Industry

La route vers 240 millions de kilomètres virtuels : Le voyage de la conduite autonome de BMW avec Unity

NICK DAVIS / UNITY TECHNOLOGIESContributor
Aug 10, 2020|6 Min
La route vers 240 millions de kilomètres virtuels : Le voyage de la conduite autonome de BMW avec Unity
Cette page a été traduite automatiquement pour faciliter votre expérience. Nous ne pouvons pas garantir l'exactitude ou la fiabilité du contenu traduit. Si vous avez des doutes quant à la qualité de cette traduction, reportez-vous à la version anglaise de la page web.

Avant que la technologie de conduite autonome de BMW ne soit prête pour la production de masse, elle devra parcourir 240 millions de kilomètres virtuels. Découvrez comment Unity Learn aide BMW à augmenter chaque jour son compteur kilométrique. Dans notre premier billet, nous avons abordé la manière dont une équipe de BMW Fully Autonomous Driving & Driver Assistance Systems a utilisé Unity pour développer des outils personnalisés de visualisation de simulations et de création de scénarios. Grâce à ces outils, le BMW Group est bien équipé pour relever les défis quotidiens les plus redoutables en matière de développement AD. Passons en revue quelques domaines dans lesquels Unity apporte une aide importante.

Permettre des tests continus jour et nuit
Voitures sur la route
L'éditeur de scénarios de BMW, basé sur Unity, permet à ses développeurs d'AD de faire des tests avec un contrôle précis. Ces images montrent un test simulé paramétré à différents moments de la journée et dans différentes conditions météorologiques.
Voitures sur une route sombre
Même scénario la nuit.
des voitures sur une route sombre
Même scénario sous la pluie.

En combinant la simulation avec des indicateurs de performance clés (par exemple, le maintien permanent d'une distance de sécurité par rapport aux véhicules en circulation), BMW peut évaluer le degré d'exhaustivité de ses fonctionnalités. Comme les différents composants de son système de contrôle d'accès maîtrisent les scénarios de base, BMW peut procéder à une validation de masse de l'ensemble de son système de contrôle d'accès dans des situations plus complexes.

Ces tests se présentent sous de multiples formes :

  • Tests de caractéristiques à petite échelle - Ces tests sont les plus courants et permettent à BMW d'évaluer rapidement certaines parties de son système d'aide à la conduite, telles que la planification de la trajectoire du véhicule. Au cours d'une journée normale, l'équipe de BMW enregistre des dizaines de milliers de kilomètres virtuels ; la majorité d'entre eux sont des tests sur de courtes distances (de quelques centaines de mètres à 1 kilomètre) par incréments de moins d'une minute.
  • Tests de systèmes à grande échelle - Au lieu d'une série de mini-tests pour une caractéristique spécifique, ce type de simulation est conçu pour tester le système AD dans son ensemble. Il s'agit d'un scénario étendu qui peut durer des heures et qui s'efforce de reproduire des scénarios réels, par exemple un trajet sur l'autoroute entre les villes allemandes de Munich et de Stuttgart. Ces simulations sont plus complexes et impliquent souvent un monde virtuel avec des véhicules en mouvement, des piétons et des conditions météorologiques variables, ainsi que des données cartographiques, des modèles de capteurs pour les algorithmes de perception, la planification de la trajectoire du véhicule, la dynamique du véhicule et bien d'autres choses encore.

Comme les situations de conduite peuvent être répétées aussi souvent que nécessaire en simulation, BMW effectue des tests tout au long de la journée, y compris des "trajets de nuit". Après avoir utilisé l'éditeur de scénarios basé sur Unity pour mettre en place les tests, les développeurs peuvent examiner les résultats le lendemain matin, tirer parti des Analytics pour déterminer exactement quand les fonctions ont échoué et faire apparaître le point exact de l'échec dans une image rendue à partir d'Unity. L'équipe peut automatiquement extraire ces situations problématiques sous forme de scénarios à petite échelle, puis les visualiser pour mieux comprendre pourquoi la situation était problématique.

Par exemple, dans ce scénario, un véhicule de la circulation s'interpose soudainement, mais le véhicule hôte ne décélère pas immédiatement, ce qui entraîne un quasi-accident. Le scénario peut être rejoué après chaque mise à jour incrémentale du code jusqu'à ce que la fonction AD réagisse correctement.

Après une première défaillance dans ce scénario, des améliorations permettent de s'assurer que ce véhicule freine correctement lorsqu'un véhicule de la circulation s'insère dans sa voie de manière agressive.

Créer des cas d'espèce
Voiture dans l'éditeur Unity

Pour atteindre le niveau élevé d'automatisation de leurs véhicules, les développeurs de BMW doivent identifier les limites de leurs fonctions AD dans le plus grand nombre de situations possible. Pourtant, des scénarios comme ceux simulés dans la vidéo ci-dessous sont trop coûteux, difficiles ou dangereux pour être reproduits dans le monde réel.

Grâce à l'éditeur de scénarios basé sur Unity, les développeurs peuvent concevoir des scénarios extrêmes, comme celui d'un véhicule qui grillerait un panneau d'arrêt. La découverte de ces cas particuliers dans les limites d'un monde virtuel est beaucoup plus rentable et plus sûre, tout en permettant de réaliser des tests reproductibles.

BMW utilise la simulation pour tester des scénarios qui sont trop inhabituels pour se produire ou trop risqués pour être créés dans un environnement de conduite réel. Trois cas de figure sont présentés ici : 1) un piéton apparaissant inopinément sur la voie du véhicule hôte à grande vitesse sur une autoroute ; 2) un véhicule de la circulation coupant brusquement la route ; 3) un véhicule arrêté sur la voie du véhicule hôte.

Améliorer la qualité du code grâce aux tests visuels et au débogage

Unity est utilisé quotidiennement pour aider les 1 800 développeurs AD du groupe BMW à améliorer en permanence le code dont ils sont individuellement responsables. Lorsqu'ils apportent des modifications à la base de code pour ajouter une nouvelle fonction ou améliorer une fonction existante, ils exécutent des tests d'intégration avant de fusionner avec le code maître.

Par exemple, un développeur axé sur la perception peut utiliser l'éditeur de scénarios basé sur Unity pour concevoir plusieurs scénarios dans lesquels le véhicule dépasse un panneau de limitation de vitesse. Ces tests à petite échelle sont simulés sur le PC du développeur et peuvent être visualisés avec Unity en direct au fur et à mesure de leur exécution.

Le développeur peut valider visuellement ses résultats et utiliser les mesures d'évaluation pour identifier les améliorations ou confirmer que la fonctionnalité est prête à être intégrée dans la version principale (c'est-à-dire que le véhicule s'adapte à la limite affichée à chaque fois).

Les développeurs peuvent simultanément tester et visualiser les résultats de leurs mises à jour incrémentales du code. Après la fusion, ils peuvent exécuter des tests d'acceptation pour identifier les défaillances dans d'autres fonctions qui résultent de leur validation ou vice versa. Par exemple, la fusion d'un pair peut introduire un bogue qui affecte la perception des panneaux de limitation de vitesse. Les développeurs peuvent utiliser Unity pour le débogage visuel et inspecter facilement ce qui se passe afin de corriger les problèmes plus rapidement. Le système de BMW est conçu de manière à ce que les développeurs puissent fixer des points d'arrêt dans la fonction de conduite et dans le code de simulation. La fonction AD et la simulation sont toujours synchronisées l'une avec l'autre, de sorte que l'équipe peut parcourir le code ligne par ligne et passer d'un monde à l'autre au fur et à mesure du débogage. Le synchronisme est également reflété par la visualisation, qui permet une inspection simultanée du code et du monde simulé. Comme les développeurs peuvent toujours se déplacer et inspecter les valeurs dans l'application basée sur Unity, ils peuvent réduire le nombre d'outils devant être ouverts en même temps, tout en gardant les données aussi transparentes que possible. Tous ces éléments garantissent que le code de production qui alimentera à terme les véhicules autonomes de BMW répond à ses normes de sécurité et de fiabilité.

---

Découvrez Unity Industry Collection ou apprenez-en plus sur les façons dont Unity est utilisé pour la simulation des AD dans notre livre blanc : Les 5 façons dont la 3D en temps réel révolutionne le cycle de vie des produits automobiles.