Brevet FR3128928A1 — publié le 20230512

L’invention concerne un module (10) d’aide à la conduite d’un véhicule automobile, comportant : - un bloc principal (100) qui reçoit en entrée un ensemble de données d’entrée (D1 QM , D1 B ) relatives au véhicule automobile et à son environnement, et qui fournit en sortie une consigne préliminaire de pilotage (C QM , O QM , E QM ) du véhicule automobile en fonction des données d’entrée, et - un bloc de sécurisation (200) de la consigne préliminaire de pilotage qui est distinct du bloc principal, qui reçoit en entrée la consigne préliminaire de pilotage et un ensemble de données de vérification (D1 B ), qui fournit en sortie une consigne finale de pilotage (C B , O B , E B ) et qui contrôle que la consigne préliminaire de pilotage est conforme à un ensemble d’au moins une règle prédéfinie. Selon l’invention, l’ensemble des données de vérification diffère de l’ensemble des données d’entrée, et chacune des données de vérification présente un niveau de sécurité strictement supérieur à un niveau de sécurité de l’une au moins des données d’entrée. Figure pour l’abrégé : Fig. 2 Module et procédé d’aide à la conduite d’un véhicule automobile Domaine technique de l'invention La présente invention concerne de manière générale la sécurité dans le domaine automobile. Elle concerne plus particulièrement un module et un procédé d’aide à la conduite d’un véhicule automobile. L’invention trouve une application particulièrement avantageuse dans la conception de logiciels sécurisés permettant d’automatiser la conduite de véhicules automobiles. Etat de la technique Les véhicules automobiles modernes comportent plusieurs calculateurs qui offrent une grande quantité de fonctions, dont des fonctions de pilotage autonome ou semi-autonome du véhicule. Parmi ces fonctions, on peut par exemple citer la fonction de maintien automatique du véhicule au centre de sa voie de circulation, ou la fonction de régulation adaptative de vitesse (qui permet de maintenir la vitesse du véhicule à une vitesse de consigne ou de réguler cette vitesse si la circulation est dense afin de maintenir des distances de sécurité adaptées). Ces fonctions mettent en œuvre une quantité importante de logiciels, représentant généralement plusieurs millions de lignes de code. Certaines de ces fonctions sont critiques pour la sécurité du véhicule. Dès lors, les logiciels doivent être développés selon des règles de conception rigoureuses définies par exemple par la norme ISO26262. Le matériel informatique et les capteurs sont également sélectionnés en fonction de cette norme. Cette norme ISO26262 définit des niveaux d’exigence en matière de sécurité automobile allant du niveau ASIL-A (niveau le moins critique) au niveau ASIL-D (niveau le plus critique). Pendant la conception du véhicule, il est prévu de développer chaque fonction en respectant le niveau ASIL qui lui est assigné. Naturellement, plus la fonction est critique, plus le niveau ASIL est élevé, et plus le développement du logiciel s’avère coûteux en termes notamment de temps de développement. Afin de pouvoir déployer une fonction sur des véhicules alors que le logiciel n’a pas encore été certifié avec le niveau d’ASIL souhaité (et qu’il est donc considéré comme étant encore en cours de développement), le document EP3816741 propose une méthode de vérification de la sortie émise par le logiciel en cours de développement. En pratique, ce document enseigne d’envoyer la sortie émise par le logiciel en cours de développement vers un moniteur de sécurité qui répond, lui, à un certain niveau de sécurité. Ce moniteur va donc lire la sortie et faire de tests sur celle-ci afin de vérifier qu’elle est sûre et qu’elle peut être employée telle quelle. Ces tests consistent par exemple à vérifier que la sortie n’entraînera pas de collision, une instabilité du véhicule, un problème de confort, une accélération trop grande du véhicule… Si la sortie passe les tests, elle est transmise aux actionneurs. Dans le cas contraire, elle n’est pas transmise. L’inconvénient de cette solution est qu’elle ne garantit pas un niveau de sécurité suffisant pour être déployée sur des véhicules de série. Au contraire, elle permet seulement de réaliser des essais sur des véhicules de présérie. Présentation de l'invention Afin de remédier à l’inconvénient précité de l’état de la technique, la présente invention propose d’assigner la charge du respect du niveau ASIL sélectionné à une entité logicielle particulière qui, à elle seule, permettra de vérifier que la consigne de pilotage calculée respecte bien des fonctionnalités sélectionnées. Plus particulièrement, on propose selon l’invention un module d’aide à la conduite d’un véhicule automobile, comportant : - un bloc (ou « composant logiciel ») principal qui reçoit en entrée un ensemble de données d’entrée relatives au véhicule automobile et à son environnement, et qui fournit en sortie une consigne préliminaire de pilotage du véhicule automobile en fonction des données d’entrée, et - un bloc (ou « composant logiciel ») de sécurisation de la consigne préliminaire de pilotage qui est distinct du bloc principal, qui reçoit en entrée la consigne préliminaire de pilotage et un ensemble de données de vérification, qui fournit en sortie une consigne finale de pilotage et qui contrôle que la consigne préliminaire de pilotage est conforme à un ensemble d’au moins une règle prédéfinie (également appelées « fonctionnalités »), dans lequel l’ensemble des données de vérification diffère de l’ensemble des données d’entrée, et dans lequel chacune des données de vérification présente un niveau de sécurité strictement supérieur à un niveau de sécurité de l’une au moins des données d’entrée. Ainsi, grâce à l’invention, le bloc de sécurisation peut, en s’appuyant sur les données de vérification dont le niveau de sécurité est jugé suffisant, vérifier que la consigne préliminaire de pilotage peut être employée ou non. En d’autres termes, le bloc de sécurisation est en mesure de vérifier de manière très fiable que la consigne préliminaire de pilotage satisfait des règles prédéfinies à l’aide de ces données de vérification. La solution proposée est donc générique et peut donc être employée dans divers domaines de l’automobile. Elle est peu couteuse en ce sens que le bloc principal n’a pas à être certifié au niveau de sécurité souhaité, seul le bloc de sécurisation doit l’être. Or ce bloc de sécurisation est suffisamment petit pour pouvoir être développé sans nécessiter un temps de développement important. Le bloc de sécurisation permet ainsi de réduire le temps de développement de la fonction et peut alors être appliqué sur la véhicule final ( i.e. embarqué dans ce véhicule). Cette solution permet ainsi de s’assurer que dans 100% des scenarii envisageables, la consigne finale de pilotage sera utilisable sans danger pour le véhicule automobile. D’autres caractéristiques avantageuses et non limitatives de l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes : - la consigne finale de pilotage est fonction de la consigne préliminaire de pilotage ; - la consigne finale de pilotage est égale à la consigne préliminaire de pilotage lorsque la consigne préliminaire de pilotage est conforme aux règles prédéfinies et est sinon égale à une consigne de sécurité prédéterminée ; - le bloc de sécurisation est adapté à calculer une consigne intermédiaire de pilotage et la consigne finale de pilotage est égale au maximum entre la consigne préliminaire de pilotage et la consigne intermédiaire de pilotage ; - lorsqu’à un premier instant, la consigne préliminaire de pilotage n’est plus conforme aux règles prédéfinies, chaque composante de la consigne finale de pilotage varie de façon discontinue ; - lorsqu’à un deuxième instant subséquent, la consigne préliminaire de pilotage redevient conforme aux règles prédéfinies, au moins une composante de la consigne finale de pilotage varie de façon continue ; - les données de vérification présentent toutes un niveau de sécurité de type ASIL déterminé ; - au maximum une des données de vérification présente un niveau de sécurité inférieur à celui des autres données de vérification ; - la consigne finale de pilotage comporte un couple à transmettre à un actionneur d’un groupe motopropulseur ou d’un système de freinage de manière à assurer une fonction de régulation automatique de la vitesse du véhicule automobile ; - la consigne finale de pilotage comporte un signal d’alerte permettant d’activer une interface Homme-Machine lorsque le conducteur du véhicule automobile n’est plus concentré sur sa conduite et qu’une fonction de maintien du véhicule automobile au centre de sa voie de circulation est activée ; - le module de sécurisation est adapté à compter le temps passé depuis que le conducteur du véhicule automobile n’est plus concentré sur sa conduite en un nombre entier de cycles. L’invention concerne aussi un procédé de calcul d’une consigne finale de pilotage d’un équipement de véhicule automobile, comportant : - la réception par un bloc principal d’un ensemble de données d’entrée relatives au véhicule automobile et à son environnement, - le calcul par le bloc principal d’une consigne préliminaire de pilotage en fonction des données d’entrée, - la réception par un bloc de sécurisation distinct du bloc principal de la consigne préliminaire de pilotage et d’un ensemble de données de vérification, - le calcul de la consigne finale de pilotage, qui comprend le contrôle que la consigne préliminaire de pilotage est conforme à un ensemble d’au moins une règle prédéfinie, dans lequel l’ensemble des données de vérification diffère de l’ensemble des données d’entrée, et dans lequel chacune des données de vérification présente un niveau de sécurité strictement supérieur à un niveau de sécurité de l’une au moins des données d’entrée. L’invention concerne également une méthode de conception d’un module dans lequel, le module étant programmé pour mettre en œuvre une fonction de conduite autonome du véhicule automobile, il est prévu des étapes de : - division de la fonction en au moins deux fonctionnalités distinctes, dont l’une au moins doit présenter un niveau de sécurité supérieur à celui d’au moins une autre fonctionnalité, - programmation d’un logiciel de mise en œuvre de ladite fonction, en au moins deux blocs dont un premier bloc de sécurisation qui est adapté à mettre en œuvre la fonctionnalité ayant le niveau de sécurité supérieur, ledit premier bloc recevant en entrée les données de vérification, et l’autre bloc recevant en entrée les données d’entrée, - vérification des résultats fournis par le logiciel en utilisant plusieurs scenarii. Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. Module (10 ; 20) d’aide à la conduite d’un véhicule automobile (1), comportant : - un bloc principal (100 ; 500) qui reçoit en entrée un ensemble de données d’entrée (D1 QM , D1 B ) relatives au véhicule automobile et à son environnement, et qui fournit en sortie une consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) du véhicule automobile (1) en fonction des données d’entrée (D1 QM , D1 B ), et - un bloc de sécurisation (200 ; 600) de la consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) qui est distinct du bloc principal (100 ; 500), qui reçoit en entrée la consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) et un ensemble de données de vérification (D1 B ; V 1 , S 3 ), qui fournit en sortie une consigne finale de pilotage (C B , O B , E B ; S B ) et qui contrôle que la consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) est conforme à un ensemble d’au moins une règle prédéfinie, caractérisé en ce que l’ensemble des données de vérification (D1 B ) diffère de l’ensemble des données d’entrée (D1 QM , D1 B ), et en ce que chacune des données de vérification (D1 B ; V 1 , S 3 ) présente un niveau de sécurité strictement supérieur à un niveau de sécurité de l’une au moins des données d’entrée (D1 QM , D1 B ). Module (10) conforme à la revendication 1, dans lequel la consigne finale de pilotage (C B , O B , E B ) est égale à la consigne préliminaire de pilotage (C QM , O QM , E QM ) lorsque la consigne préliminaire de pilotage (C QM , O QM , E QM ) est conforme aux règles prédéfinies et est sinon égale à une consigne de sécurité (C S , O S , E S ) prédéterminée. Module (20) conforme à la revendication 1, dans lequel le bloc de sécurisation (600) est adapté à calculer une consigne intermédiaire de pilotage (S INT ) et dans lequel la consigne finale de pilotage (S B ) est égale au maximum entre la consigne préliminaire de pilotage (S QM ) et la consigne intermédiaire de pilotage (S INT ). Module (10) conforme à l’une des revendications précédentes, dans lequel : - lorsqu’à un premier instant, la consigne préliminaire de pilotage (C QM , O QM , E QM ) n’est plus conforme aux règles prédéfinies, chaque composante de la consigne finale de pilotage (C B , O B , E B ) varie de façon discontinue, et - lorsqu’à un deuxième instant subséquent, la consigne préliminaire de pilotage (C QM , O QM , E QM ) redevient conforme aux règles prédéfinies, au moins une composante de la consigne finale de pilotage (C B , O B , E B ) varie de façon continue. Module (10 ; 20) conforme à l’une des revendications 1 à 4, dans lequel les données de vérification (D1 B ; V 1 , S 3 ) présentent toutes un niveau de sécurité de type ASIL déterminé. Module (10) conforme à l’une des revendications 1 à 4, dans lequel au maximum une des données de vérification présente un niveau de sécurité inférieur à celui des autres données de vérification. Module (10) conforme à l’une des revendications 1 à 6, dans lequel la consigne finale de pilotage (C B , O B , E B ) comporte un couple (C B ) à transmettre à un actionneur d’un groupe motopropulseur ou d’un système de freinage de manière à assurer une fonction de régulation automatique de la vitesse du véhicule automobile (1). Module (20) conforme à l’une des revendications 1 à 6, dans lequel la consigne finale de pilotage (S B ) comporte un signal d’alerte (S B ) permettant d’activer une interface Homme-Machine lorsque le conducteur (5) du véhicule automobile (1) n’est plus concentré sur sa conduite et qu’une fonction de maintien du véhicule automobile (1) au centre de sa voie de circulation est activée. Module (10 ; 20) conforme à l’une des revendications 1 à 8, dans lequel le module de sécurisation est adapté à compter le temps passé depuis que le conducteur (5) du véhicule automobile (1) n’est plus concentré sur sa conduite en un nombre entier de cycles. Procédé de calcul d’une consigne finale de pilotage (C B , O B , E B ; S B ) d’un équipement de véhicule automobile (1), comportant : - la réception par un bloc principal (100 ; 500) d’un ensemble de données d’entrée (D1 QM , D1 B ) relatives au véhicule automobile et à son environnement, - le calcul par le bloc principal (100 ; 500) d’une consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) en fonction des données d’entrée (D1 QM , D1 B ), - la réception par un bloc de sécurisation (200 ; 600) distinct du bloc principal (100 ; 500) de la consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) et d’un ensemble de données de vérification (D1 B ; V 1 , S 3 ), - le calcul de la consigne finale de pilotage (C B , O B , E B ; S B ), qui comprend le contrôle que la consigne préliminaire de pilotage (C QM , O QM , E QM ; S QM ) est conforme à un ensemble d’au moins une règle prédéfinie, caractérisé en ce que l’ensemble des données de vérification (D1 B ) diffère de l’ensemble des données d’entrée (D1 QM , D1 B ), et en ce que chacune des données de vérification (D1 B ; V 1 , S 3 ) présente un niveau de sécurité strictement supérieur à un niveau de sécurité de l’une au moins des données d’entrée (D1 QM , D1 B ).