Académique Documents
Professionnel Documents
Culture Documents
Résumé
La validation de la sécurité fonctionnelle et de la fiabilité des systèmes d’aide à la conduite (aussi appelés ADAS) est un
problème complexe. Il est lié à la difficulté de construire à moindre coût des campagnes de test suffisamment complètes pour
valider les objectifs de sécurité fonctionnelle et de fiabilité des ADAS. Or la présence de ces systèmes tend à se généraliser
dans les véhicules automobiles modernes, ce qui fait de la problématique de leur validation un enjeu important. En cas
d’accident, la responsabilité juridique du constructeur peut être directement engagée. Dans ce cadre, le projet COVADEC a
démarré au milieu de l’année 2013. Il a pour objectif de développer des méthodes et outils directement industrialisable pour
faire face à cette problématique, tout en évaluant l’applicabilité de normes de sécurité fonctionnelle telle que l’ISO 26262 à la
conception et à la validation des ADAS. Ce document présente un résumé des travaux réalisés dans le cadre de ce projet, avec
les points durs rencontrés et les solutions mises en œuvre pour les dénouer.
Summary
Safety and reliability validation of Advanced Driver Assistance Systems (ADAS) is not a trivial issue. Build at a low cost level a
sufficiently detailed campaign in order to validate safety related and reliability related goals for an ADAS is very difficult, since
this kind of systems can encounter an almost infinite number of situations. Now, this kind of systems tends to be more and more
integrated in modern cars, what makes of the problem of ADAS validation an important stake. In the event of an accident, the
manufacturer can be held legally responsible. In this context, the COVADEC project has started in the mid-2013. The
COVADEC project aims to provide methods and techniques for automotive OEMs and suppliers who face these problems, while
enhancing the global knowledge of automotive safety standard likes ISO 26262 applicability to design and validation of ADAS
sensors, and shed light on its limitations, in order to propose solutions. This document presents a summary of the works
realized within this project, with the met hard points and the solutions implemented to solve them.
1 Avant-propos
La validation des systèmes d’aide à la conduite (ou ADAS en anglais, pour Advanced Driver Assistance Systems) est un
problème complexe et stratégique, alors que ces systèmes deviennent incontournables dans le domaine automobile. Les ADAS
apportent du confort aux conducteurs, et peuvent même être un argument de vente. Mais leurs fonctions, bien qu’utiles, ne
doivent pas affecter la sécurité générale du véhicule, qui est de la responsabilité du constructeur.
Les ADAS actuels sont, pour la plupart, basés sur des capteurs caméra, fournissant des entrées aux applications telles que la
détection d’obstacle ou la détection de piétons qui sont elles-mêmes des composants essentiels de fonctions comme le
système de freinage d’urgence automatique. Ces systèmes qui protègent les utilisateurs de la route prennent encore plus
d’importance avec les nouveaux protocoles d’évaluation de la sécurité des véhicules, qu’ils soient mis au point en Europe ou en
Amérique du Nord. Pour ces raisons, la robustesse et la fiabilité des fonctions ADAS ne peuvent pas être négligées et les
constructeurs automobiles doivent se doter d’outils pour s’assurer que les fonctions ADAS intégrées à leurs véhicules
fonctionnent avec le niveau de sécurité requis.
La complexité de ces systèmes combinée avec le nombre quasiment infini de combinaisons de paramètres liées aux profils
d’usage de fonction basées sur des capteurs caméra nécessitent de développer de nouvelles méthodes d’optimisation de test
et de nouveaux outils pour concevoir et valider les systèmes ADAS. Les ressources nécessaires en coût et en délai, si l’on
souhaite utiliser les techniques actuelles de test, rendent ces techniques de moins en moins adaptées aux nouvelles
fonctionnalités de sécurité, qui induisent de très fortes exigences en terme de validation. Aujourd’hui, pour valider la sécurité
des ADAS basés sur des caméras, des véhicules de test sont équipés avec ces systèmes et doivent rouler un très grand
nombre de kilomètres, parfois pendant des années. Il y a donc un besoin évident d’améliorer les techniques utilisées pour la
validation des ADAS, tout en respectant les normes de sécurité fonctionnelle automobile telle que l’ISO 26262. L’objet de ce
document est de présenter les techniques développées au cours du projet COVADEC pour répondre à cette problématique.
2 Le projet COVADEC
Le projet de recherche et développement COVADEC (*), débuté vers le milieu de l’année 2013, a pour objectif de fournir des
méthodes et techniques aux équipementiers et fournisseurs automobiles confronté à ces problèmes.
(*) COVADEC signifie « COnception et VAlidation Des systèmes Embarqués d’aide à la Conduite ».
Les principaux objectifs de COVADEC sont les suivants :
• Optimiser les scénarios de tests et ainsi réduire les kilomètres d’essais nécessaires à la validation des systèmes
ADAS.
• Optimiser les coûts et délais de validation des systèmes ADAS.
• Répondre efficacement aux exigences de fiabilité et de sécurité conformément aux normes (ISO 26262, etc…).
• Prendre en compte les exigences de sûreté de fonctionnement en amont du développement des algorithmes de
traitement d’images.
• Standardiser les méthodes et outils nécessaires pour la validation d’exigences de sécurité fonctionnelles et
opérationnelles.
• Améliorer le développement des fonctions ADAS en anticipant et en implémentant en priorité les situations critiques
qui peuvent mettre en défaut les systèmes d’aide à la conduite.
• Assurer l’interopérabilité entre les plateformes de test, de simulation et les autres plateformes de développement.
Le domaine des ADAS n’étant pour le moment pas pleinement couvert par les exigences de sécurité fonctionnelle de la norme
ISO 26262, un des objectifs du projet est de proposer de nouvelles solutions qui pourraient être intégrées dans le processus de
validation mis en place pour n’importe quel système automobile de manière à combler les manques de cette norme sur le sujet.
Dans les faits, la version actuelle de la norme ISO 26262 exclut explicitement les dangers qui sont inhérents au comportement
nominal du système, c’est-à-dire lorsque les dangers potentiels sont causés par des limitations intrinsèques des performances
des capteurs, et ne sont pas le résultat d’une défaillance du système.
De fait, les décisions erronées potentiellement prises par un ADAS peuvent être considérées comme un comportement normal
du système et par conséquent ne sont pas couvertes par la norme. Par conséquent, les risques résiduels les plus critiques ne
sont plus les défaillances logicielles ou matérielles, qui sont déjà couvertes par la norme ISO 26262 existante, mais les cas où
le comportement de l’ADAS diverge du comportement nominal.
Une décision erronée d’ADAS concerne deux sortes d’événements redoutés :
• Le système ne détecte pas la situation dangereuse qui aurait dû être détectée comme telle.
• Le système détecte une situation dangereuse alors que ça n’est pas le cas dans la réalité.
Dans le cas d’une fonction de freinage d’urgence autonome, le premier cas est moins critique en terme de sécurité
fonctionnelle, car le conducteur peut toujours prendre la bonne décision et l’ADAS ne déclenche aucune action. Dans ce cas, la
qualité de service est diminuée, mais il n’y a pas plus de risque qu’avec un véhicule non équipé de ce système. En revanche, le
second cas est critique, car l’ADAS peut générer une mauvaise information et déclencher une mauvaise réaction du véhicule.
Dans ce cas, utiliser un véhicule équipé de cet ADAS est plus risqué qu’utiliser un véhicule non-équipé.
De manière à valider que les ADAS sont robustes face aux événements redoutés, différentes approches ont été étudiées par le
projet COVADEC :
• La première approche, basée sur la preuve formelle, a été écartée car elle est non exploitable dans le cas de
systèmes très complexes (explosion des algorithmes de preuves) et l’expression formelle peut être inappropriée dans
le cas de logiciel couche basse.
• La seconde approche basée sur la simulation est limitée par la quantité de cas de test qui doivent être générés pour
couvrir tous les cas possibles.
• La troisième approche consiste à tester le système dans des conditions réelles. Cependant, atteindre l’objectif de
validation en termes de tests (des centaines de millions de kilomètres) est fastidieux voir même infaisable vu les
cycles de vie de ces systèmes. De plus, la définition et la réalisation de campagnes de test de roulages sont
notoirement connues comme étant peu représentatives d’un usage réel.
Il existe actuellement des tentatives pour résoudre ces problèmes, par exemple en essayant de construire une chaîne d’outils
basée sur Matlab / Simulink et / ou Statemate et / ou SCADE + DesignVerifier et / ou Prover et / ou MaTeLo et / ou Teststand…
Cependant il n’y a à l’heure actuelle aucune solution intégrée qui réponde à tous les points durs soulevés par COVADEC,
notamment, l'intégration d'une analyse détaillée des scénarios et des composants de détection.
La nouvelle approche développée par le projet COVADEC propose différentes manières d’évaluer les fonctions ADAS et
d’établir des objectifs de sécurité pour les systèmes basés sur des caméras.
L’enjeu du projet COVADEC est de fournir un outil à la fois facilement accessible en termes d’interface utilisateur et de
configuration (import de cas de test, accessibilité aux rapports d’exécution), de modularité (capable de gérer des cibles
d’exécution comme RTMaps et Pro-SiVIC, mais extensible à d’autres outils comme Simulink) et de performance (exécution
distribuée sur des machines multiples, sans duplication des ressources logicielles pour traiter les données de capteurs ou les
enregistrements 3D qui peuvent être particulièrement volumineux).
5.1 Problématique
La validation des ADAS est un problème complexe, particulièrement pour des systèmes basés sur des caméras, car ces
fonctions peuvent être confrontées à un ensemble de situations quasiment infini. Dans cet ensemble, certaines situations auront
plus d’influence que d’autres sur la réponse de la fonction ADAS et certaines se présenteront plus souvent. Aussi, bien que
toutes les situations ne puissent pas être couvertes par le test, il est possible de réduire l’espace à tester à une zone
suffisamment petite pour pouvoir tester la fonction en ne choisissant que les situations les plus influentes et les plus
représentatives qu’un ADAS puisse rencontrer.
Quelle que soit la nature des données utilisées pour la validation, réelles ou simulées, l’approche du test par les modèles (MBT,
Model-Based Testing) peut être utilisée pour construire automatiquement une base de données complète de tests qui
remplissent cette exigence de taille limitée tout en couvrant la plupart des situations ayant le plus d’influence sur la fonction
ADAS à tester.
Des détails supplémentaires sur l’algorithme de génération sont donnés dans les paragraphes suivants.
Dans une première étape, partant du graphe de simulation généré par MaTeLo, la méthode consiste à construire un champ
aléatoire Markovien (cf. Section 5.5.1). Lorsque les paramètres (ou composantes) sont localement dépendants, ceci peut
s’effectuer de façon assez simple au moyen des classiques formules de Bayes. Ensuite, les cas de test sont obtenus à l’aide de
l’échantillonneur de Gibbs. En particulier, nous nous sommes efforcés d’optimiser la vitesse de convergence vers l’équilibre,
laquelle est exponentielle d’après la théorie générale.
On s’intéressera particulièrement au CAM possédant des propriétés d’interactions locales. Cette notion classique s’appuie
principalement sur la notion d’espérance conditionnelle, après avoir défini une topologie convenable sur l’ensemble des indices
𝑆𝑆 = {1,2, … 𝑉𝑉} des composantes de 𝑋𝑋, qui désormais sera plutôt appelé l’ensemble des sites. Il est alors possible de définir un
système de voisinages sur S (donc une topologie), qui est une famille 𝐹𝐹 = {𝑁𝑁𝑠𝑠∈𝑆𝑆 } telle que, ∀𝑠𝑠 ∈ 𝑆𝑆,
Définition 1. Le champ aléatoire 𝑋𝑋 est appelé champ Markovien par rapport au système de voisinages 𝐹𝐹 𝐹𝐹 si pour tout site
𝑠𝑠 ∈ 𝑆𝑆 les variables aléatoires 𝑋𝑋𝑠𝑠 et (𝑋𝑋𝑖𝑖 , 𝑖𝑖 ∉ 𝑁𝑁𝑠𝑠 ), sont indépendantes conditionnellement aux (Xi , i ∈ 𝒩𝒩s).
Soit 𝜋𝜋 (. ) la mesure de probabilité du vecteur X, de sorte que 𝜋𝜋(𝑥𝑥) ≝ 𝑃𝑃(𝑋𝑋 = 𝑥𝑥).. Alors 𝜋𝜋 est une distribution de Gibbs relative au
graphe {𝑆𝑆, 𝐹𝐹} si elle est de la forme :
1 𝑈𝑈(𝑥𝑥)
𝜋𝜋(𝑥𝑥) = 𝑒𝑒 − 𝑇𝑇 , {2}
𝑍𝑍𝑇𝑇
où 𝑇𝑇 > 0 est la température, 𝑈𝑈(𝑥𝑥) est l’énergie de la configuration 𝑥𝑥, qui dérive d’un certain potentiel, et 𝑍𝑍𝑇𝑇 est la constante de
normalisation. Sous une condition dite de positivité (Lemme de Brook, en particulier satisfait lorsque 𝜋𝜋(𝑥𝑥) > 0, ∀𝑥𝑥 ∈ 𝛬𝛬), un
important théorème dû à Hammersley et Clifford montre l’équivalence entre les distributions de Gibbs et les CAM, qui sont
essentiellement des objets de même nature.
Le principe en est simple : à chaque étape, on choisit au hasard un site (composante) 𝑠𝑠 ∈ 𝑆𝑆, puis on calcule la nouvelle valeur
ys du site correspondant selon la probabilité conditionnelle 𝜋𝜋(𝑦𝑦𝑠𝑠 | 𝑥𝑥𝑗𝑗 𝑗𝑗 ≠ 𝑠𝑠) = 𝜋𝜋(𝑦𝑦𝑠𝑠 | 𝑥𝑥𝑗𝑗 , 𝑗𝑗 ∈ 𝑁𝑁𝑠𝑠 ).
Soit 𝛼𝛼𝑠𝑠 la probabilité of visiter le site s, avec 0 < 𝛼𝛼𝑠𝑠 < 1 and ∑𝑉𝑉1 𝛼𝛼𝑠𝑠 = 1.
L’algorithme construit une chaîne de Markov qui évolue de la façon suivante :
(a) Sélectionner un vecteur initial X(0) et un vecteur de probabilité (𝛼𝛼1 , 𝛼𝛼2 , … , 𝛼𝛼𝑉𝑉 ).
(b) À la j-ième itération, choisir un indice s avec probabilité 𝛼𝛼𝑠𝑠 ;
(c) Générer 𝑋𝑋𝑠𝑠 (𝑡𝑡) avec la probabilité 𝜋𝜋(𝑋𝑋𝑠𝑠 | 𝑋𝑋𝑗𝑗 (𝑡𝑡 − 1), 𝑗𝑗 ∈ 𝑁𝑁𝑠𝑠 );
(d) Répéter l’étape (b) jusqu’à atteindre l’équilibre.
On peut montrer que la chaîne de Markov 𝑋𝑋(𝑡𝑡) est réversible, et que sa mesure invariante est précisément la distribution 𝜋𝜋 du
vecteur 𝑋𝑋.
Ici les sites sont choisis dans un ordre prédéterminé fixé, soit (s1 , s2 , … , sV ), qui correspond à une permutation of (1,2, … , V). On
génère une chaîne de Markov Z(t) selon l’algorithme suivant. D’abord, on sélectionne Xs1 , conditionnellement à l’état courant
des autres sites, puis de la même façon on choisit Xs2 , etc., jusqu’à XsV . Après ce balayage, on considère que la chaîne de
Markov a effectué exactement une transition et il n’est pas difficile de montrer que π est sa mesure stationnaire.
Vitesse de convergence
Il est connu, d’après les résultats standards sur les chaînes de Markov, que la vitesse de convergence des EG vers l’équilibre
est géométrique. Ceci signifie qu’on a l’inégalité (cf. Par exemple [BRE])
1
|𝑋𝑋(0)ℙ𝑛𝑛 − 𝜋𝜋| ≤ |𝑋𝑋(0) − 𝜋𝜋|𝛿𝛿(ℙ)𝑛𝑛 , {3}
2
où ℙ désigne la matrice de transition de la chaîne de Markov obtenue à partir d’un EG, and 0 ≤ δ(ℙ) ≤ 1 est le coefficient
ergodique of ℙ, dit coefficient de Dobrushin,
Le calcul de bornes explicites satisfaisantes pour 𝛿𝛿( ℙ) reste un problème difficile (ouvert en général), qui varie évidemment
selon le type d’EG considéré. Le lecteur pourra consulter quelques résultats globaux sur ce sujet dans [LIU] and [LEV].
De fait, la vitesse de convergence dépend fortement de la structure du CAM sous-jacent décrivant le système. Dans le projet
COVADEC, nous implémenterons un EGA. Ensuite, en utilisant les propriétés spécifiques du graphe produit par le logiciel
MaTeLo, nous étudierons la vitesse de convergence vue comme une fonction du vecteur de probabilité (𝛼𝛼1 , 𝛼𝛼2 , … , 𝛼𝛼𝑉𝑉 ) introduit
plus haut et qui est un paramètre libre.
5.6.5 Piétons
Cette catégorie de paramètres décrit comment les piétons évoluent dans la scène (nombre, trajectoire, traversant la route, etc.).
Ce modèle en cas de paramètres dépendants n’est plus recevable, puisqu’un tel modèle générerait des cas de test qui ne
peuvent se produire dans la réalité, faussant la représentativité des campagnes de test générées.
Le graphe suivant est le graphe des cas possibles du modèle MaTeLo ci-dessus. Supposons que les cas identifiés par des
rectangles rouges soient des cas impossibles.
Figure 4. Graphe des possibles du modèle précédent et identification des cas impossibles
La chaîne MaTeLo telle qu’illustrée dans l’exemple suivant sera alors construite :
Figure 5. Modèle MaTeLo modifié pour ne pas générer les cas impossible
Pro-SiVIC est un logiciel de simulation d’environnement spécialisé dans le rendu avancé des capteurs ADAS (caméras, lidars,
radars, GPS, systèmes de communication). Il offre des modèles de capteurs complexes ainsi que d’environnements en prenant
en compte de nombreuses caractéristiques physiques et électroniques (par exemple, pour une caméra, modélisation de la
distorsion, bruit, conditions atmosphériques et météorologiques, conditions de lumières, etc…). L’aspect clé pour le processus
de validation est la capacité de contrôler les caractéristiques des conditions environnementales. Pro-SiVIC permet également
d’intégrer des modèles de dynamiques véhicules, de programmer des situations complexes de conduite dans un environnement
routier complet, d’intégrer des animations d’objets (tels que des piétons par exemple). Pro-SiVIC peut fonctionner en temps réel
ou en temps simulé, ce qui permet de réaliser le test et la validation de fonctions ADAS avec ou sans humain ou ECU dans la
boucle.
RTMaps est un framework logiciel modulaire (basé sur des composants), permettant le développement rapide et l’exécution
optimisée d’applications temps réelles qui doivent gérer, traiter et fusionner de nombreux flux de données capteurs à haute
bande passante, asynchrones et hétérogènes, tels que des caméras, lidars, radars, bus CAN, GPS, IMUs, communications
V2V and V2I, etc... RTMaps offre également des possibilités d’enregistrement de données en provenance de n’importe quel
type de capteurs ADAS, puis de les rejouer de manière synchronisée, en temps réel et en temps simulé, afin de permettre le
développement d’applications de perception, de fusion de données, de communication, de prise de décisions et de contrôle-
commande (développements, tests, validation et analyse comparative). RTMaps peut également être connecté à des outils de
simulation et/ou de contrôle commande tels que Pro-SiVIC.
I-DEEP est un serveur d’exécution automatique de test dédié à la validation de fonctions de perception et de décision pour les
ADAS, particulièrement les fonctions basées sur la vision :
• I-DEEP peut stocker des données capteurs enregistrées et leurs données de vérité terrain associées et/ou des
ressources de scénarios de simulation, et peut également accueillir des algorithmes de traitement d’images /
traitement de signal / fusion de données à tester (intégrés dans RTMaps comme plugins), et permet ensuite de définir
et exécuter automatiquement les nombreux cas de test sur plusieurs clusters de calculateurs.
• I-DEEP offre également une approche double pour la validation de fonction ADAS en utilisant soit la simulation, soit le
rejeu de données préalablement enregistrées.
Rabbits est un simulateur matériel/logiciel rapide capable de co-simuler des systèmes multiprocesseurs sur une puce. Il tire
parti de QEMU pour la modélisation du processeur, et SystemC TLM pour la modélisation des composants matériels. Rabbits
peut gérer plusieurs paramètres, comme un nombre variable de processeurs, de taille mémoire, de disponibilité de cache et de
taille de cache, il supporte des instructions spécifiques, par exemple SIMD ou à virgule flottante, etc... Bien qu’assez abstraite,
la technologie de simulation permet d’évaluer le temps d’exécution sur les systèmes matériels/logiciels. Dans ce projet, Rabbits
est utilisé comme le simulateur de l’architecture matérielle des ADAS dans le but d’explorer l’espace de conception de la
plateforme matérielle et de l’implémentation logicielle. Rabbits a été intégré dans l’ensemble du flux de conception comme un
composant RTMaps afin de cibler la validation d’une architecture optimisée. RTMaps fait un pré-traitement des images
générées par Pro-SiVIC et les envoie, à travers une interface d’I-DEEP, à Rabbits. Rabbits exécute le logiciel cross-compilé de
la fonction ADAS, qui lit les images par le biais d’une caméra virtuelle lié à l’interface d’I-DEEP, effectue des calculs sur ces
images et renvoie à RTMaps, à travers une interface série virtuelle, les informations sur l’environnement renvoyées par la
fonction de perception de l’ADAS simulée. Ensuite RTMaps se charge de fournir au reste de la chaîne de traitement ces
informations, de telle manière que la décision appropriée puisse être prise par le système.
8 Conclusion
Plusieurs bénéfices sont attendus du projet COVADEC :
• Améliorer la connaissance globale de l’applicabilité de la norme ISO 26262 pour la conception et la validation des
capteurs ADAS, et faire la lumière sur ses limites afin de proposer des solutions.
• Réduire le nombre de kilomètres de roulages nécessaires pour la validation des ADAS, en utilisant un modèle
statistique et en optimisant les plans de tests en utilisant la notion de classes d’équivalence.
• Construire une plateforme de validation ADAS (Model in the Loop et Software in the Loop), combinant des données
d’environnement réelles et simulées.
A ce jour, la méthodologie a été entièrement développée et testée sur des cas d’étude réduits. A l’heure de l’écriture de ce
document, la plateforme de validation est en phase d’intégration, notamment pour la validation avec des données réelles. Le
simulateur Pro-SiVIC est en cours d’amélioration afin de fournir des environnements routiers modulables et conformes à ceux
demandés par les campagnes de test. L’implémentation de l’algorithme de l’échantillonneur de Gibbs dans l’outil de génération
des cas de test (MaTeLo) est également en cours.
Le projet COVADEC est dans sa dernière phase, la campagne de démonstration grandeur nature devrait avoir lieu en
septembre 2016. La communication que nous présenterons à Lambda Mu sera alors enrichie des derniers résultats obtenus.
Bibliographie
[BRE] P. Brémaud (1995), Markov Chains, Springer.
[GEM] S. & D. Geman (1984), IEEE Trans. on Pattern Analysis and Machine Intelligence, 6, 721-741.
[GRI] G. Grimmett (2010), Probability on Graphs, CUP.
[HAST] Hastings (1970), Biometrika, 57 (1), 97-109.
[LEV] R.A. Levine & al. (2006), Journal of Multivariate Analysis, 97, 2071-2100.
[LIU] J.S. Liu & al. (1995), Journal of the Royal Stat. Society, Series B, 57 (1), 157-169.
[MET] Metropolis & al., 1953, The Journal of Chemical Physics 21, 1087-1092.
i
Autres auteurs contributeurs
P. DE SOUZA (CIVITEC (ESI Group)), X. ROUAH (INTEMPORA), M. PFEIFFER (MAGILLEM), S. GÉRONIMI (PSA), F.
PÉTROT et A. TEMANI (TIMA – INPG), S. AHIAD (VALEO)