Systèmes avancés d'aide à la conduite (ADAS)

 

Introduction aux ADAS

3 choses à savoir

Les systèmes avancés d'aide à la conduite (ADAS) sont les composants hardware et software qui automatisent les responsabilités du conducteur. Parmi les exemples de systèmes ADAS utilisés aujourd'hui dans les véhicules, on peut citer la régulation adaptative de la vitesse, la détection des angles morts, la détection de changement de voie, le suivi automatique des voies de circulation et le freinage d'urgence automatique.

Pourquoi les systèmes ADAS sont-ils importants ?

Les systèmes ADAS peuvent rendre les routes plus sûres en minimisant les erreurs humaines. Certains systèmes ADAS contribuent à développer des habitudes de conduite plus prudentes en alertant les conducteurs en cas de scénarios de conduite dangereux, tels que la présence d'une voiture dans l'angle mort du conducteur qui rendrait un changement de voie dangereux. D'autres systèmes ADAS automatisent les comportements de conduite, comme l'évitement de collision avec un freinage d'urgence autonome.

En effet, les systèmes ADAS permettent d'éviter 28 % des accidents et 9 900 décès par an aux États-Unis, selon une étude du Boston Consulting Group.

Niveaux des systèmes ADAS

La Society of Automotive Engineers définit cinq niveaux d'automatisation de la conduite. La plupart des voitures actuellement en circulation possèdent des fonctionnalités ADAS comprises entre les niveaux 0 et 3. Les entreprises à la pointe de la conduite autonome développent les niveaux 4 et 5.

SAE J3016 Levels of Driving Automation

SAE J3016 Levels of Driving Automation

Les véhicules complètement autonomes sont susceptibles de devenir une réalité à mesure que les questions de sécurité, de cybersécurité et de réglementation sont résolues.

Comment les fonctionnalités ADAS sont-elles conçues ?

Pour comprendre comment les fonctionnalités ADAS sont conçues, prenons l'exemple de la régulation adaptative de la vitesse. Lorsque cette fonctionnalité ADAS est utilisée, le véhicule ralentit s'il s'approche du véhicule qui le précède et accélère pour reprendre sa vitesse de croisière si le véhicule qui le précède s'éloigne à une distance considérée comme sûre.

La première étape du design d'un système de régulation adaptative de la vitesse (ACC, Adaptive Cruise Control) consiste à collecter des données provenant des capteurs dont la voiture est équipée. Pour la régulation adaptative de la vitesse, nous avons besoin d'une caméra et d'un capteur radar. La caméra détecte les autres objets présents à l'image (véhicule, piéton, arbre, etc.) et le radar calcule la distance entre notre voiture et chaque objet.

Une fois les données de nos capteurs collectées, nous nous focalisons sur le développement d'un algorithme ADAS. La régulation adaptative de la vitesse peut être décomposée en trois étapes :

Un algorithme de perception servant à détecter s'il y a un véhicule devant nous

Les étapes 1, 2 et 3 correspondent aux éléments suivants :

  1. Un algorithme de perception servant à détecter s'il y a un véhicule devant nous
  2. Un algorithme de radar servant à calculer la distance entre les deux véhicules
  3. Un algorithme de contrôle servant à ajuster la vitesse de notre voiture en fonction de la distance mesurée

Nous utilisons ici l'ACC comme exemple d'ADAS, mais la méthodologie générale consistant à choisir des capteurs adéquats et à concevoir des algorithmes en fonction des données provenant des capteurs s'applique à toutes les fonctionnalités ADAS.

Importance des capteurs

Les trois types de capteurs les plus populaires dans le cadre des fonctionnalités ADAS sont les caméras, les capteurs radar et les capteurs LiDAR.

Caméras

Les caméras sont utilisées pour les tâches ADAS liées à la détection. Les caméras situées sur les côtés d'un véhicule peuvent détecter les angles morts. Les caméras situées à l'avant peuvent détecter les voies de circulation, les véhicules, les panneaux routiers, les piétons et les cyclistes. Les algorithmes de détection ADAS associés sont généralement conçus à partir d'algorithmes conventionnels de Computer Vision et de Deep Learning. Les caméras présentent plusieurs avantages :

  • Elles fournissent d'excellentes données pour la détection d'objets.
  • Elles sont relativement bon marché : un faible coût signifie qu'il devient moins coûteux pour un constructeur de tester de nombreux types de caméras.
  • Il en existe de nombreux modèles : vous pouvez tester et faire votre choix parmi de nombreux types de caméras telles que des caméras fisheye, monoculaires et à sténopé.
  • Elles ont fait l'objet de recherches exhaustives : la caméra est le plus ancien et le plus étudié de ces trois types de capteurs.

L'inconvénient des données provenant des caméras tient au fait qu'elles sont moins adaptées à la détection de la distance à un objet par rapport aux autres types de capteurs. Pour cette raison, les développeurs ADAS utilisent fréquemment les caméras conjointement à des capteurs radar.

Radar

Les capteurs radar émettent des ondes à haute fréquence et enregistrent le moment où ces ondes sont renvoyées par réflexion sur des objets de l'environnement. Ces données peuvent être utilisées pour calculer la distance à un objet. Dans les systèmes ADAS, les capteurs radar sont généralement placés à l'avant du véhicule.

Le radar fonctionne dans des conditions météorologiques variées, ce qui en fait un choix de capteur pratique pour les fonctionnalités ADAS telles que le freinage d'urgence automatique et la régulation adaptative de la vitesse.

Bien que les données provenant de capteurs radar soient bien adaptées aux algorithmes de détection de distance, elles sont moins utiles aux algorithmes de classification des objets détectés. Pour cette raison, les développeurs ADAS utilisent fréquemment les capteurs radar conjointement à des caméras.

LiDAR

Les capteurs LiDAR (Light Detection And Ranging) émettent un laser dans leur environnement et enregistrent le moment où le signal leur revient. Les signaux renvoyés sont reconstruits pour créer un nuage de points 3D qui représente l'environnement autour du capteur LiDAR. Les données LiDAR peuvent servir à calculer la distance entre le capteur et les objets dans le nuage de points 3D.

Il existe deux types de capteurs LiDAR utilisés pour les applications ADAS :

  1. LiDAR électromécanique (à rotation) : un capteur LiDAR électromécanique est fixé sur le toit d'une voiture et effectue des rotations pour collecter des données permettant de produire une carte de l'environnement sous forme de nuage de points 3D.
  2. LiDAR solid-state : il s'agit d'un nouveau type de LiDAR sans éléments mobiles. À long terme, les capteurs LiDAR solid-state vont devenir des alternatives plus rapides, moins chères et plus précises aux capteurs LiDAR électromécaniques. Concevoir un capteur viable du point de vue commercial pose toutefois des problèmes d'ingénierie liés à la sécurité et à la portée du capteur.

Vous pouvez utiliser les données LiDAR aussi bien pour les fonctions de détection de distance que pour celles de classification des objets dans le système ADAS. Cependant, le traitement de données LiDAR nécessite davantage de puissance de calcul que les données provenant de caméras ou de capteurs radar, et pose des défis importants aux développeurs d'algorithmes ADAS.

Développer des algorithmes ADAS grâce à des simulations

Comme les tests réalisés sur du hardware sont coûteux, les ingénieurs commencent par tester leurs solutions ADAS grâce à des simulations virtuelles. Les environnements de simulation peuvent être en 2D ou en 3D.

Vous pouvez utiliser une simulation en 2D pour développer et tester les algorithmes ADAS pour les caméras et capteurs radar. Nous commençons par créer des scènes virtuelles comportant des routes, des piétons, des cyclistes et d'autres véhicules. Nous plaçons ensuite notre véhicule dans la scène et nous l'équipons de caméras et de capteurs radar. Nous pouvons alors programmer le mouvement de la voiture afin de générer des données de capteurs synthétiques pour le développement et les tests des algorithmes ADAS.

La simulation 3D se base sur la simulation 2D et nous permet de tester les capteurs LiDAR en plus des caméras et des capteurs radar. Les environnements 3D nécessitent davantage de puissance de calcul en raison de leur complexité relative.

Une fois que vous avez développé des algorithmes ADAS dans les environnements de simulation, l'étape de développement suivante consiste à réaliser des tests Hardware-in-the-Loop (HIL). Cela implique de tester les algorithmes ADAS sur du hardware automobile réel, comme un système de freinage réel, en les connectant à un environnement de simulation. Les tests HIL donnent une bonne idée de la manière dont un composant ADAS d'une voiture fonctionnera dans le monde réel.

Il existe d'autres tests ADAS tels que les tests Driver-in-the-Loop, mais ils amènent tous à réaliser des tests en véhicule afin de comprendre comment ce dernier se comporte lorsque tous les éléments sont assemblés. Il s'agit du type de test ADAS le plus coûteux, mais également le plus précis, et il est obligatoire avant toute mise en production d'un véhicule.

Concevoir des fonctionnalités ADAS avec MATLAB et Simulink

MATLAB® et Simulink® supportent le développement des ADAS à chaque étape du workflow :

  1. Analyse de données
  2. Synthèse de scénarios de conduite
  3. Design d'algorithmes de planification et de contrôle ADAS
  4. Design d'algorithmes de perception
  5. Déploiement des algorithmes
  6. Intégration et tests

Analyse de données

MATLAB vous permet d'accéder à des données de conduite temps réel et enregistrées, de les visualiser et de les labelliser pour le développement ADAS. MATLAB supporte également les données de cartes géographiques via HERE HD Live Maps, OpenStreetMap, et Zenrin Japan Maps. Ces données sont fréquemment utilisées pour le développement et la vérification d'algorithmes ADAS.

L'application montre sur la gauche une vidéo avec une voiture labellisée par une boîte englobante bleue et le mot « car », et sur la droite une séquence LiDAR avec une voiture labellisée par une boîte englobante 3D bleue.

Application Ground Truth Labeler permettant de labelliser de manière interactive les données de la vérité-terrain dans une vidéo, une séquence d'images ou un nuage de points LiDAR.

Synthèse de scénarios de conduite

MATLAB vous permet de développer et tester les algorithmes ADAS dans des scénarios virtuels en utilisant l'environnement de simulation cuboïde pour les systèmes de contrôle, la fusion de capteurs et la planification de mouvement, ainsi que l'environnement Unreal Engine pour la perception. Vous pouvez également concevoir des scènes 3D réalistes avec RoadRunner.

L'application montre, à gauche, le canevas d'une scène et, à droite, une vue aérienne de la scène. La partie gauche représente une intersection comportant plusieurs voitures, notamment un ego-véhicule représenté en bleu, qui se déplace en direction du nord. La partie droite montre la même intersection en vue aérienne, avec les détections réalisées par la caméra et le capteur radar de l'ego-véhicule.

Application Driving Scenario Designer pour le design de scénarios, la configuration de capteurs et la génération de données synthétiques pour les applications ADAS.

Design d'algorithmes de planification et de contrôle ADAS

MATLAB contient de nombreuses applications de référence pour la conduite autonome, qui peuvent servir de point de départ pour le design de vos propres algorithmes de planification et de contrôle ADAS.

Voie de circulation avec l'ego-véhicule, à partir duquel plusieurs lignes courbes indiquent des trajectoires. La partie gauche présente la vue en poursuite, la partie droite la vue aérienne. Les trajectoires sont codées suivant différentes couleurs indiquant si une trajectoire est optimale, conduit à une collision, est infaisable ou n'est pas évaluée.

Visualisation de l'évaluation des trajectoires possibles dans une situation de conduite sur autoroute, avec la représentation en vue aérienne.

Design d'algorithmes de perception

MATLAB propose des outils pour le développement d'algorithmes de perception utilisant des données caméras, radar et LiDAR. Vous pouvez développer des algorithmes basés sur la Computer Vision, le Deep Learning, le traitement de données LiDAR et radar, ainsi que la fusion de capteurs.

Perspective conducteur d'un panneau Stop, encadré par une boîte englobante jaune et un label indiquant « stopSign: (Confidence = 0.995492). »

Détection d'un panneau Stop en utilisant un R-CNN pré-entraîné avec MATLAB.

Déploiement des algorithmes

Les toolboxes telles que MATLAB Coder™, Embedded Coder® et GPU Coder™ vous permettent de générer automatiquement du code pour déployer vos algorithmes ADAS sur des dispositifs embarqués et des architectures orientées services telles que ROS et AUTOSAR.

Carte NVIDIA Jetson TX2.

Carte NVIDIA Jetson TX2. Vous pouvez générer du code CUDA pour cette carte avec GPU Coder.

Intégration et tests

Les outils Simulink vous permettent d'intégrer et tester vos systèmes de perception, de planification et de contrôle. Simulink Requirements™ vous permet de capturer et de gérer vos exigences ADAS. Vous pouvez également utiliser Simulink Test™ pour exécuter et automatiser des cas de test en parallèle.

L'outil Requirements Editor avec l'affichage des fichiers sur la gauche et les propriétés sur la droite. Le volet des propriétés affiche une table de test pour le test d'un mode « stop-and-go » sur une route sinueuse. Ce tableau décrit les véhicules cibles et les exigences concernant l'ego-véhicule.

Tests des exigences pour une application de référence de suivi des voies de circulation.

Découvrir des applications ADAS réalisées par des utilisateurs de MATLAB et Simulink