La tâche
Le rejeu de données basé sur des scénarios réels et effectué sur du matériel est une méthode courante pour comparer différentes versions d'ECU, de tests de régression, de back-to-back et d'acceptation, ainsi que pour déboguer du matériel avec le même niveau de réalisme que celui donné par les essais sur route réels. Les composants logiciels pour la fusion des données des capteurs et l’activation des fonctions de conduite autonome testées précédemment dans le processus de développement doivent maintenant être déployés et validés sur le matériel cible. Les principaux objectifs sont d'évaluer l'exactitude des interfaces de communication entre les capteurs réels et les ECU, et de garantir les performances, la fiabilité et la sécurité du système cible en tenant compte des charges de données réalistes et des conditions de gestion du temps. Le rejeu de données avancé est idéal lorsque la demande de flexibilité et d'évolutivité d'un système de test est élevée, par exemple, lorsque l'accent est mis sur la validation de versions fréquemment modifiées et de mises à jour de l'ECU ou du HPC, différentes versions du réseau de cartes doivent être prises en compte, et l'injection de données de bus dans les capteurs lidar et radar se fait non seulement via Ethernet en utilisant TCP et UDP/IP, mais aussi en utilisant la communication orientée service. La validation devant se faire sur des SUT (systèmes en test) de maturité différente jusqu’au niveau de production série, l’évolution de la protection de sécurité de bout en bout de l’appareil doit également être prise en compte.
Le défi
Lors des tests de rejeu de données, les plateformes matérielles ADAS/AD doivent être alimentées avec des flux de données hétérogènes, y compris des données de capteurs
brutes et des données de bus, de la même manière que dans le véhicule lors des essais sur route réels. Pour être acceptées par le SUT, toutes les données injectées doivent être rejouées avec une grande justesse et précision. Une plateforme unique pour la conduite autonome doit être alimentée avec des flux de données parfaitement synchronisés de 25 capteurs et plus en parallèle, ce qui nécessite dans certains cas une bande passante allant au-delà de 40 Gbit/s. Les systèmes de conduite autonome basés sur les HPC utilisent souvent une communication orientée service via SOME/IP. Cela nécessite un filtrage adapté des trames de bus en temps réel pendant le rejeu. D'autres adaptations de données brutes et de données de bus sont nécessaires lorsque la version de l'ECU ou du réseau de cartes a changé. Un autre aspect complexe est le nombre croissant de fonctions de sécurité et de protection dans les nouvelles plateformes ADAS/AD. Certaines plateformes sont équipées de contre-mesures « Replay Attack », ce qui rend invalide le rejeu des données au fil de leur enregistrement. Pour éviter cela, l’en-tête de sécurité des données enregistrées doit être modifié en temps réel avant l’injection. En permanence, les tests de rejeu de données doivent être déterministes et reproductibles et permettre un comportement réaliste du bus et du système. De plus en plus de clients utilisent les centres de données pour bénéficier de performances et d'une efficacité adaptées de la virtualisation du calcul et du stockage et de la connexion cloud à haut débit. Par conséquent, les systèmes de rejeu de données doivent être facilement intégrables dans une infrastructure de cloud hybride et contrôlables à distance. La complexité du rejeu de données augmente rapidement – cela nécessite que les services de test vérifient fréquemment la qualité des systèmes de rejeu en parallèle de la validation des ECU réels.
La solution
La solution dSPACE de rejeu avancé de données pour valider les contrôleurs de domaine ADAS/AD et les HPC se compose généralement d’au moins une unité ESI (Environment Sensor Interface) pour l’alimentation des données de capteurs brutes et d’une unité de traitement SCALEXIO faisant office d’interface d’injection de bus. Pour recevoir les données enregistrées, les interfaces capteurs peuvent être connectées soit à plusieurs PC de rejeu, soit intégrées dans une infrastructure de calcul et de stockage d’un centre de données, ce qui est de plus en plus le cas dans les projets actuels. En option, un enregistreur de données peut être ajouté en tant que sonde pour enregistrer les flux de données injectés dans le SUT pour une vérification ultérieure de la qualité du rejeu des données.
L’un des avantages de l’intégration dans une infrastructure de centre de données est la capacité à virtualiser les ressources informatiques et de stockage pour des tests flexibles et à l’échelle. En raison de la présence de connexions à haut débit vers le lac de données cloud allant jusqu'à 100 Gbit/s, les enregistrements de données et les annotations utilisées pour le rejeu et le calcul des résultats des tests peuvent être directement transmis au système de rejeu ou préstockés dans un cache local tandis qu'une instance de RTMAps, le logiciel de rejeu aux performances optimisées de dSPACE, s'exécute sur une unité informatique virtualisée dans un conteneur Docker. Après avoir lu les enregistrements, qui peuvent être faits sous différents formats (MDF4, PCAP, rosbag, etc.), RTMaps pousse les données directement ou après certaines adaptations comme la décompression, l'ajout d'erreurs de pixel ou la suppression de trames de bus, vers des interfaces dédiées pour l'injection de données brutes et de bus, l'unité ESI et l'unité de traitement SCALEXIO. RTMaps peut également être utilisé par la suite pour calculer les indicateurs clés de performance (KPI) en comparant la sortie SUT avec les annotations fournies (données de référence) et pour vérifier le bon fonctionnement du système de rejeu.
L’unité ESI modulaire basée sur le FPGA pour l’injection de données de capteurs brutes peut être équipée individuellement d’une large gamme de modules FMC pour injecter des données dans les différentes interfaces du SUT telles que GMSL, FPD-Link ou MIPI CSI. L’unité de traitement SCALEXIO maintient la relecture en temps réel des flux de données de bus qui transportent des charges utiles comme des nuages de points lidar ou des listes d’objets radar via UDP/TCP/IP ou CAN. En outre, l’unité de traitement haute performance prend en charge l’injection du bus via SOME/IP, y compris le filtrage en temps réel des trames et les manipulations des enregistrements de données existants nécessaires pour couvrir les changements sur le SUT, le réseau de cartes et la communication, et pour répondre aux mises à jour de sécurité E2E. SCALEXIO établit également une simulation de restbus de haute qualité pour fournir les données de bus requises du véhicule et maintenir le SUT au point de fonctionnement attendu pendant toute la durée du rejeu. L'unité ESI et l'unité de traitement SCALEXIO sont toutes deux synchronisées temporellement sur la base du matériel par gPTP (generalized Precision Timing Protocol) en utilisant l'horloge temps réel du système SCALEXIO comme référence pour assurer une injection très précise de tous les flux de données parallèles dans l'ECU ADAS/AD avec une faible gigue permanente inférieure à 1 ms.
Validation du rejeu avancé des données des calculateurs du domaine AD et des calculateurs haute performance
La modularité et la flexibilité du système sont au cœur des solutions de rejeu de données dSPACE pour la validation à l’échelle. La hausse des besoins en bande passante associés à un nombre croissant d’interfaces de capteurs peuvent être couverts par la mise à niveau du système de rejeu avec des unités ESI et des unités de traitement SCALEXIO supplémentaires. L’intégration dans un centre de données permet d’étendre l’environnement de test avec un certain nombre de systèmes de rejeu fonctionnant en parallèle pour des tests à grande échelle.
Pour prendre entièrement en charge l’intégration du centre de données, le système de rejeu peut être commandé et surveillé à distance via des API ouvertes. Pour garantir la haute qualité de rejeu d’une configuration de test aussi complexe, l’environnement de test peut être amélioré en ajoutant un enregistreur de données de sonde et la solution Data Replay Validation de dSPACE. Cela permet de contrôler régulièrement les flux de données qui sont injectés dans le SUT par rapport aux normes de qualité des tests existants.
Avec un effort supplémentaire gérable, un système de rejeu peut également être converti en HIL en boucle fermée pour effectuer des tests basés sur des scénarios, par exemple sur des données synthétiques générées par les modèles de capteurs.