Comment assurer la sécurité des voitures autonomes: Partie 2/5

LiDAR, Automotive Radar et Cameras (et quelques autres également) se disputent le titre de "yeux de la voiture autonome":

Figure 1: Évaluation par McKinsey & Company des capteurs de véhicules autonomesFigure 2: Visualisation des capteurs ADAS par National Instruments

Mais une voiture autonome ne fait pas que «voir» le monde. Les voitures sont également équipées de capteurs intégrés qui peuvent en dire plus sur le monde environnant et sur lui-même. Ces capteurs indiquent à quelle vitesse la voiture se déplace; l'accélération de la force G ressentie par le véhicule dans les directions avant-arrière, côte à côte et haut en bas; l'angle de braquage actuel; et beaucoup plus. C’est une combinaison de ces systèmes de perception (caméra, LiDAR, radar) et de capteurs (GPS, IMU, vitesse de la roue, etc.) qui constituent les entrées du bloc «Sens» de la pile d’AV de voiture autonome.

Partie 2: Dans quelle mesure une voiture autonome peut-elle percevoir le monde?

L’intégration de tous les capteurs, qui permettent au véhicule de prendre des décisions concernant l’environnement, fait souvent partie du bloc «Sens» de la pile AV. Les exemples incluent «un piéton sort des buissons sur le côté gauche à 3 mi / h vers le véhicule», ou «il fait nuit et il pleut», ou même «le véhicule monte une pente de 10% tout en tournant à 3 degrés angle. ”L’intégration des capteurs s’appelle« fusion de capteurs »et la détermination de ce qui se passe dans l’environnement est appelée« beaucoup de choses », mais on parle couramment de« compréhension de la scène ».

L'industrie se concentre énormément sur le développement de cette couche de la pile audiovisuelle. Les ingénieurs veulent que la voiture puisse voir et comprendre le monde avec «l'intelligence» de l'homme. Certaines des personnes les plus brillantes travaillent sur des algorithmes logiciels qui relèvent des compartiments «Intelligence artificielle», «Apprentissage machine» et «Apprentissage en profondeur» pour permettre à la voiture de comprendre ce qu'elle voit:

Figure 3: AI, Curt Hopkins, rédacteur en chef, Hewlett Packard Labs

Alors, avec tous ces capteurs et algorithmes, comment pouvons-nous être sûrs que tout fonctionne correctement? Nous décomposons chaque composant ou un groupe de composants en entrées et sorties et vérifions qu'ils font ce qu'ils étaient censés faire. Nous effectuons des tonnes de tests pour obtenir un ensemble de données, puis des statistiques sur ces données pour prouver avec une certaine confiance que le composant ou le groupe fonctionne correctement.

Ci-dessous, nous allons décomposer chacun des composants et déterminer comment nous les vérifions.

Appareils photo

La plupart des tests de caméra sont effectués dans l'entreprise qui fabrique la caméra. Une caméra est fondamentalement un capteur qui saisit une série de points de couleur dans l’espace et les organise dans une image, souvent appelée matrice d’images. Cette matrice d’images est convertie en un signal numérique et est transmise au matériel qui effectue la fusion des capteurs et la compréhension de la scène. La technologie de la caméra est relativement bien développée et les processus permettant de vérifier que la caméra convertit la bonne image en lignes numériques sont bien compris. Par conséquent, les véhicules autonomes ne devraient pas être un sujet de préoccupation.

LiDAR

Les systèmes LiDAR pour véhicules autonomes sont relativement nouveaux, le premier acteur, Velodyne, n’ayant démontré cette capacité qu’en 2005, lors du premier Grand Défi DARPA. La technologie LiDAR évolue rapidement dans le but de rendre le capteur LiDAR économique et compact. Avec ce changement technologique, les sociétés qui fabriquent des systèmes LiDAR doivent ajuster les méthodes de vérification de leurs systèmes.

LiDAR est une méthode de détection du monde par la lumière laser. Un émetteur crache un peu de lumière, attend que cette lumière rebondisse sur un objet et, puisqu'il sait à quelle vitesse la lumière se déplace, peut déterminer la distance qui le sépare de l'objet en déterminant le temps qui s'est écoulé entre l'envoi de cette lumière et sa réception. . Les unités LiDAR peuvent élargir leur champ de vision en utilisant un groupe de lasers qui tournent en cercle ou, plus récemment, en un groupe de lasers stationnaires s'étalant dans un champ de vision, appelé «Solid State LiDAR». Lorsque la lumière est reçue, le système LiDAR renvoie un ensemble d’informations sur la direction et la distance au matériel en vue de la fusion des capteurs et de la compréhension de la scène, appelé «nuage de points».

Afin de vérifier que le système LiDAR fonctionne correctement, un ingénieur peut configurer une scène artificielle avec des objets prédéterminés à une distance connue et vérifier les résultats du LiDAR. Des méthodologies de test plus avancées impliquent de disposer d'une autre source de lumière à la lumière du LiDAR testé avec un motif temporel qui représente un champ de vision connu, puis l'ingénieur peut comparer les résultats du LiDAR avec l'environnement simulé connu. Ce type de test s'appelle «Hardware in the Loop» car il existe un système de test simulant un stimulus connu du matériel testé, et le retour de ce matériel retourne au système de test, créant ainsi une «boucle».

Les ingénieurs vérifient de nombreuses manières le bon fonctionnement du système LiDAR, notamment en testant sous contrainte l’appareil dans diverses conditions météorologiques et en veillant à ce qu’il fonctionne correctement avec différents signaux électriques entrant et sortant de l’appareil. En tout, il s’agit là d’une procédure très compliquée, et les ingénieurs qui choisissent les systèmes LiDAR pour leurs voitures autonomes doivent faire leurs recherches avant de choisir une unité. Les fournisseurs fourniront des données sur l'espérance de vie, la précision et les défaillances attendues de leurs unités, mais les ingénieurs qui installent des systèmes LiDAR dans des véhicules doivent également effectuer leurs propres tests de sécurité.

Radar

Le radar existe depuis toujours. Il ressemble à LiDAR en ce sens qu’il s’agit d’une technologie «point-and-shoot», mais qu’elle utilise des ondes radio ou électromagnétiques. Le radar se prête bien à la détection d'objets à longue distance mais n'est généralement pas très précis.

Alors, comment testez-vous cette chose? Eh bien, c’est comme LiDAR, mais comme la technologie RADAR est moins chère et mieux comprise, certaines entreprises créent déjà des outils à cet effet:

Figure 4: Système de test radar de véhicules National Instruments

Encore une fois, les ingénieurs doivent travailler avec les fournisseurs Radar pour s’assurer qu’ils testent rigoureusement leurs appareils et que ces ingénieurs testent à nouveau l’unité une fois qu’elle est à bord de leur véhicule.

Capteurs de véhicule

Les capteurs de véhicule sont intégrés dans les voitures depuis un certain temps, mais ce n’est que depuis 1993 que l’organisation internationale de normalisation (ISO) a déterminé que le capteur communiquera avec un véhicule au moyen d’un protocole numérique à 2 fils mis au point par Robert Bosch Gmbh. le “bus CAN:”

Figure 5: Bus CAN, CSS Electronics

Les capteurs installés dans le bus CAN sont nombreux. Ils comprennent des accéléromètres, des unités de mesure internes (IMU), des capteurs de vitesse de véhicule, des capteurs de roue, des capteurs d'angle de joint, la pression des pneus, et bien d'autres. La norme ISO (ISO 11898) garantit que les fabricants de ces capteurs vérifient leurs capteurs avant de les envoyer à un client.

Si vous adaptez un véhicule à une automatisation, vous devrez vous brancher sur ce bus CAN et vous assurer de pouvoir déchiffrer les signaux et d’envoyer les vôtres. Après tout, le véhicule doit lire ces signaux pour fonctionner correctement. Dans un véhicule «Drive By Wire» (DBW), il n’existe aucune connexion manuelle, mais uniquement numérique, entre l’accélérateur, le frein ou le volant, le moteur et les roues. Le bus CAN est ce qui communique les intentions du conducteur au véhicule.

Si vous construisez un véhicule autonome à partir de la base, vous devez vous assurer que les capteurs sont correctement sélectionnés et montés. Cela doit également être vérifié en conduisant le véhicule ou en simulant une conduite avec des tests HIL, puis en analysant les résultats des capteurs. Il en va de même pour tout capteur supplémentaire ajouté à un véhicule existant.

Que se passe-t-il si l'un des capteurs est désactivé?

C’est là que les ingénieurs doivent à nouveau intervenir. Leurs algorithmes intégrés à la couche de détection doivent effectuer un contrôle de cohérence des capteurs à un intervalle prédéterminé. Des ajustements doivent être faits si nécessaire. Il devrait également y avoir une certaine redondance dans les capteurs.

Que se passe-t-il si l'un des capteurs fonctionne mal ou se déconnecte, ou si votre véhicule est percuté et qu'une caméra bouge? Eh bien, si le système «auto-étalonne» ses capteurs, cela devrait résoudre certains de ces problèmes. Dans le cas contraire, le système peut simplement avoir besoin d'envoyer une commande au reste de la pile logicielle indiquant qu'un capteur fonctionne mal, et le reste de la pile AV peut décider quoi faire.

Les ingénieurs doivent s'assurer que la décision concernant la gestion d'un capteur défectueux est correcte. Comme pour le test de LiDAR, un ingénieur peut envoyer au matériel de fusion de capteurs des signaux simulés qui représentent une défaillance du capteur et voir comment le système répond (HIL). Même avant cela, l'ingénieur peut envoyer des données simulées sous forme logicielle au segment de code d'un environnement de développement pour voir comment ce code répond. Cette méthode de test s'appelle «Software-in-the Loop» ou SIL, parce que le programme qui teste le code envoie des données au logiciel en cours de test et obtient une réponse, réalisant à nouveau une «boucle».

Tous ces tests sont exécutés dans diverses conditions et une tonne de données est produite. Ces données sont classées, étiquetées et analysées afin de permettre une détermination statistique de la mesure dans laquelle le véhicule a reconnu la défaillance du capteur et de la manière dont il a réagi.

Compréhension de scène: objets statiques ou semi-statiques

Ah plus de logiciels fonctionnant sur du matériel à tester! Le logiciel de compréhension de scène peut être assez complexe et peut même constituer une «boîte noire» pour de nombreux ingénieurs qui le développent. Quoi qu’il en soit, il appartient à ces ingénieurs de s’assurer de sa sécurité objective.

Un technicien expérimenté comprend le logiciel pour vérifier le logiciel à plusieurs reprises au cours du développement. Ils peuvent même scinder des parties de la scène, par exemple en vérifiant d'abord «y a-t-il un objet», puis «quel est cet objet» et même «qu'est-ce que cela signifie pour moi?

Des milliers de simulations avec des images, des données LiDAR et des données radar peuvent être introduites logiquement dans la compréhension de la scène pour vérifier que la scène est correcte. Cela nécessite souvent un ensemble de «données d’entraînement» dont le résultat est déjà bien connu (c’est un chien). Une série de données est ensuite analysée et une nouvelle fois une probabilité statistique que la compréhension de la scène était correcte est fournie.

Les ingénieurs peuvent aller encore plus loin en simulant les signaux de la caméra, du LiDAR et du radar envoyés aux capteurs du véhicule et en vérifiant si le système de compréhension de la scène a bien visualisé la scène. C'est l'approche HIL.

Pour tester la compréhension de la scène, les ingénieurs ont besoin de tonnes d'images et de nuages ​​de points. Une seule de ces images prend beaucoup de place. Ainsi, une voiture fonctionnant en temps réel remplirait 4 To de données en une heure et demie, ce qui équivaut à 250 millions de pages de papier, soit 83 jours de visionnage direct de DVD (source) .

Figure 6: Données sur la voiture Intel (source)

Comme vous pouvez l'imaginer, la gestion de toutes ces données pour tester un véhicule est un défi de taille. Mais les ingénieurs travaillent à cela et peuvent fournir des statistiques sur la qualité de leurs algorithmes de compréhension de scène. Cela devrait inspirer le public.

Compréhension de la scène: objets dynamiques et temps réel

Cela ressemble aux objets statiques, mais vous avez maintenant besoin de plusieurs images consécutives et d'informations de nuage de points pour comprendre le mouvement des objets dans l'espace. Ainsi, non seulement vous devez identifier correctement les objets, vous devez également savoir comment ils se déplacent et quelle sera leur prochaine destination, en fonction de la physique et du raisonnement. Cela peut être particulièrement difficile.

Comme pour les données statiques, les ingénieurs doivent simuler des environnements dynamiques avec SIL et HIL et prouver que la compréhension de la scène est la bonne prédiction. Vous avez maintenant besoin de séries d'images au fil du temps et vous devez le tester de manière très stricte, car les collisions frontales avec un autre corps en mouvement peuvent être mortelles.

Heureusement, les ingénieurs le découvrent aussi, mais ils ont besoin de plus en plus de données. Pour certains de ces défis, les algorithmes utilisés par les ingénieurs ne sont pas complètement au point, mais des progrès quotidiens sont réalisés dans ce domaine. C’est un sujet dont le public devrait être pleinement conscient.

Compréhension de la scène: scénario véhicule-route

OK, alors vous êtes certain que le robot «conducteur» du véhicule voit correctement la route. Que doit-il faire d'autre? Eh bien, il doit comprendre le scénario de la voiture dans l’espace à tout moment. En tant que conducteur, vous le faites tout le temps. Vous pouvez facilement savoir si vous montez ou descendez une colline, si vous êtes dans un virage ou si vous continuez tout droit, ou si les routes sont couvertes de neige ou dégagées. Les choses les plus complexes que vous pouvez retrouver sont aspirées à l'arrière de votre chaise, ou forcées vers le pare-brise, ou se balançant sur le côté en fonction des G que le véhicule vous communique.

Un véhicule peut comprendre toutes ces choses par fusion de capteurs. Il peut lire l’accélération linéaire à partir de l’IMU et indiquer l’angle de la voiture et sa rapidité de tangage en avant / arrière, de roulement latéral ou de lacet dans un virage.

Figure 7: Système SAE Axis

Une combinaison d'informations de perception et d'accélération peut indiquer l'inclinaison ou le bord de la route, même les creux et les pics. La perception et la vitesse des roues par rapport à la vitesse du véhicule permettent au véhicule de deviner le coefficient de frottement entre la route et les pneus (bien que celui-ci puisse être assez difficile).

Puisque nous faisons déjà confiance aux capteurs, nous testons la capacité de comprendre la route en simulant des données au logiciel représentant certaines conditions de route (SIL), en envoyant des signaux simulés aux capteurs représentant les conditions de route (HIL), et même en plaçant le véhicule sur un gabarit, appelé dynamomètre de châssis, et en vérifiant les résultats, le système crache:

Figure 8: Dyno de châssis Meidensha (Source)

Pour celui-ci, il n'y a pas de norme ISO, et la Society of Automotive Engineers (SAE) n'a pas recommandé une approche à adopter pour garantir que le véhicule se connaisse lui-même. De nombreux constructeurs de véhicules autonomes ne s'appuient que sur les informations de perception et les données cartographiques GPS pour fournir ces informations. Les constructeurs automobiles devront améliorer cette situation à l'avenir pour assurer la sécurité des véhicules, ce qui sera particulièrement évident lorsque nous discuterons de la planification de la trajectoire.

Le matériel qui héberge la pile

Une autre bataille est en cours pour trouver le matériel approprié pour héberger tous les logiciels décrits ci-dessus. Parmi les nombreux joueurs dans le jeu, il y a les processeurs, les GPU, les FPGA, les ASIC, les TPU, les IPU, les MCU, etc. Ils ont leurs compromis, et certains d'entre eux peuvent être décrits de manière approximative par cette image:

Figure 9: Alternatives au silicium (Source)

Dans le monde actuel (2018) des prototypes de voitures autonomes, nous voyons la plupart des voitures construites en utilisant une combinaison de processeurs et de GPU. À l'avenir, il s'agira probablement d'une combinaison des prétendants au matériel:

Figures 10, 11, 12: Adrian Colyer (Source)

Alors, que faut-il tester sur le matériel? Eh bien, dans les images ci-dessus, vous voyez une métrique appelée «Latence» et une métrique appelée «Puissance». La latence est le temps qu'il a fallu au logiciel sur le matériel pour prendre une décision. Vous voulez minimiser cela. Le «pouvoir» est la quantité d’énergie électrique qu’il a fallu pour prendre cette décision. Vous voulez également minimiser cela, car plus de consommation électrique signifie que vous pouvez conduire la voiture moins de distance, que ce soit un véhicule à essence ou électrique. Certaines décisions ont une priorité plus élevée que d’autres, comme nous le verrons également dans les parties 3 et 4. Par exemple, vous devez savoir s’il existe immédiatement un scénario d’urgence, mais vous devrez peut-être uniquement vérifier la température de l’air extérieur toutes les minutes. quelques secondes, car la température change beaucoup plus lentement.

Vous testez à la fois la latence et l’alimentation en donnant au matériel une charge, ou une tâche à effectuer pendant que vous le regardez. Vous mesurez la quantité de tension et de courant que cette tâche consomme et vous les multipliez pour obtenir de l'énergie. Vous comparez également le temps nécessaire à l'exécution de chaque tâche et vous vous enregistrez également.

La latence peut être une arme à double tranchant. Vous avez peut-être deux pièces de matériel dans lesquelles l’une tourne beaucoup plus vite que l’autre 90% du temps, mais 10% du temps est plus lent. L'autre partie du matériel fonctionne toujours exactement au même moment lors de tous les tests. La quantité de variation de la latence s'appelle le déterminisme. Ce dont vous avez besoin pour une tâche critique est un système déterministe à faible temps de latence. Vous pouvez décharger des éléments non critiques pour des tâches avec des temps de latence supérieurs et / ou des systèmes non déterministes, idéalement avec une consommation d'énergie minimale.

Ainsi, un ingénieur doit prendre la bonne décision concernant le choix du matériel et le tester lui-même pour s'assurer qu'il obtient la réponse dont il a besoin tout en consommant le moins d'énergie possible. Encore beaucoup de données!

Conclusion

Alors, où cela nous laisse-t-il? Eh bien, il devrait être clair qu’une combinaison de tests SIL, HIL et réels est nécessaire pour s’assurer que le système de détection fonctionne correctement. Il devrait également être clair que cela nécessite des quantités énormes de données, une tonne de temps et un ensemble d'outils pour aider les ingénieurs à gérer tout cela. Certains tests sont standardisés, d'autres non. Pour nous assurer que le véhicule perçoit correctement le monde, nous allons compter sur ce processus pour s’améliorer au fil du temps, chaque élément étant objectivement meilleur qu’un conducteur humain.

Lire le reste de la série: Comment assurer la sécurité des voitures autonomes

Partie 1 - Introduction

Partie 2 - Détection

Partie 3 - Planification

Partie 4 - intérimaire

Partie 5 - Conclusion