FR3084867A1 - Procede d’assistance pour qu’un vehicule a conduite automatisee suive une trajectoire, par apprentissage par renforcement de type acteur critique a seuil - Google Patents
Procede d’assistance pour qu’un vehicule a conduite automatisee suive une trajectoire, par apprentissage par renforcement de type acteur critique a seuil Download PDFInfo
- Publication number
- FR3084867A1 FR3084867A1 FR1857352A FR1857352A FR3084867A1 FR 3084867 A1 FR3084867 A1 FR 3084867A1 FR 1857352 A FR1857352 A FR 1857352A FR 1857352 A FR1857352 A FR 1857352A FR 3084867 A1 FR3084867 A1 FR 3084867A1
- Authority
- FR
- France
- Prior art keywords
- vehicle
- estimation error
- action
- loss function
- final
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000002787 reinforcement Effects 0.000 title description 9
- 230000009471 action Effects 0.000 claims abstract description 89
- 230000001186 cumulative effect Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims description 49
- 238000013528 artificial neural network Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 59
- 238000004364 calculation method Methods 0.000 description 6
- 239000013256 coordination polymer Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 239000010931 gold Substances 0.000 description 4
- 229910052737 gold Inorganic materials 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 3
- 238000007620 mathematical function Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241000130989 Calvia Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003292 diminished effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
- B60W30/12—Lane keeping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0013—Optimal controllers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0002—Automatic control, details of type of controller or control system architecture
- B60W2050/0014—Adaptive controllers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
Un procédé d'assistance permet à un véhicule à conduite automatisée de suivre une trajectoire et comprend une étape (10-80) dans laquelle : - on détermine des récompenses cumulées futures espérées Q(s,a) pour des états s définis par rapport à une délimitation de voie de circulation, et des actions a à réaliser pour conduire le véhicule, puis, - on déduit pour chaque Q(s,a) une fonction de perte fonction d'une erreur d'estimation, puis - on minimise soit chaque fonction de perte tant que l'erreur d'estimation associée est supérieure à un seuil, soit -Q(s,a) à la place de la fonction de perte associée quand l'erreur d'estimation associée est inférieure ou égale au seuil, pour faire évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d'estimation finale, puis - on choisit comme action a à réaliser dans le véhicule ayant l'état s, l'action a associée au Q(s,a) final le plus grand.
Description
PROCÉDÉ D’ASSISTANCE POUR QU’UN VÉHICULE À CONDUITE AUTOMATISÉE SUIVE UNE TRAJECTOIRE, PAR APPRENTISSAGE PAR RENFORCEMENT DE TYPE ACTEUR CRITIQUE À SEUIL
L’invention concerne les véhicules à conduite automatisée, et plus précisément les stratégies de suivi de trajectoire par de tels véhicules, à base d’apprentissage par renforcement (ou « Reinforcement Learning »).
On notera que l’on entend ici par « véhicule à conduite automatisée (ou autonome) », un véhicule pouvant être conduit de façon automatisée (et donc sans intervention de son conducteur) pendant une phase de conduite autonome.
Dans un véhicule à conduite automatisée (ou autonome), un dispositif d’assistance contrôle à chaque instant sa direction et son accélération au moyen de commandes destinées à certains organes impliqués dans ses déplacements. La détermination de ces direction et accélération définit une consigne à suivre à chaque instant où la conduite automatisée (ou autonome) est active.
Les stratégies de suivi de trajectoire d’un véhicule à conduite automatisée utilisent un algorithme qui prend en entrée des informations sur l’environnement de ce véhicule et délivrent en sortie des commandes au moins pour l’angle de braquage (ou de volant) de ce véhicule.
Comme le sait l’homme de l’art, il existe au moins deux grandes techniques de suivi de trajectoire par apprentissage par renforcement. Comme leur nom l’indique elles comprennent toutes une phase d’apprentissage (ou d’exploration), destinée à rechercher une configuration optimale, et une phase d’exploitation. L’invention concerne plus précisément la phase d’apprentissage (exploration et exploitation).
Une première technique, connue sous l’appellation anglaise « Qlearning », est fondée sur une estimation de la récompense (ou « reward ») cumulée future qui est espérée pour la réalisation d’une action a = tt(s) pour conduire le véhicule lorsque ce dernier est placé dans un état s défini par rapport à une délimitation d’une voie de circulation sur laquelle il circule. L’objectif est de déterminer la fonction π, qui se présente sous la forme d’un réseau de neurones à plusieurs entrées (définies par s) et une seule sortie, et qui est optimale.
L’espace des actions étant discret, on calcule cette récompense cumulée future espérée (que l’on appelle en anglais « Q-value ») pour chacune des actions possibles aj, et l’on choisit celle qui induit la récompense cumulée future espérée maximale. Cette première technique est notamment décrite dans l’article qui est accessible à l’adresse Internet « https://rd.sphnger.eom/content/pdf/10.1007%2FBF00992698.pdf ».
Cette première technique étant fondée sur une discrétisation de l’espace des actions, un problème de convergence apparaît assez rapidement et ne permet pas d’arriver à un suivi de trajectoire satisfaisant.
Une seconde technique, connue sous l’appellation anglaise « ActorChtic » - en français « acteur critique »), notamment décrite dans l’article accessible à l’adresse Internet « https://arxiv.org/pdf/1509.02971.pdf » et dans les documents brevet CA2993551 et CN107346138, est fondée sur une séparation de l’estimation de la récompense cumulée future espérée (ou Qvalue) précitée et du choix de l’action a = tt(s), et permet de travailler dans un espace des actions continu. L’action a = tt(s) à réaliser dans le véhicule est vue de manière stochastique, et la probabilité d’une action est augmentée ou diminuée en fonction de l’écart entre la récompense effectivement obtenue et la récompense estimée, et l’on choisit celle qui induit la récompense cumulée future espérée (ou Q-value) maximale.
Plus précisément, cette seconde technique comprend une étape dans laquelle on détermine des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis, pour chaque Q(s,a), on déduit une fonction de perte qui est fonction d’une erreur d’estimation de ce Q(s,a), représentative de sa surestimation ou sous-estimation, puis on minimise chaque fonction de perte pour faire évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d’estimation finale, puis on ajuste la probabilité P(a) de l’action a à réaliser dans le véhicule ayant l’état s dans le sens de l’erreur d’estimation de Q(s,a).
Pour mettre en œuvre l’étape précitée, on peut classiquement utiliser des première et seconde fonctions principales appelées respectivement « la critique » et « l’acteur ».
La première fonction principale détermine la récompense cumulée future espérée (ou Q-value), notée Q(s,a) et généralement régie par l’équation de Bellman Q(s,a) = r(s,a) + YQ(s’,a’), où s’ est l’état qui suit l’état s après que l’action a = tt(s) ait été réalisée, a’ = tt(s’), r(s,a) est la récompense obtenue en ayant réalisé l’action a en présence de l’état s du véhicule, et γ est un paramètre appartenant à l’intervalle [0; 1[. La seconde fonction principale détermine, à partir de l’état s, l’action a optimale à réaliser dans le véhicule, et donc correspond à la fonction π que l’on recherche.
La première fonction principale (ou critique) va converger vers la Qvalue réelle grâce à l’équation de Bellman de laquelle on déduit une fonction de perte « lossc » devant être minimisée et définie par l’équation lossc = [(r + YQ(s’,a’)) - Q(s,a)]2. Cette fonction de perte lossc est fondée sur l’erreur d’estimation de la Q-value, nommée « TDerror » (« Temporal Difference Error » - erreur de différence temporelle) et définie par l’équation TDen-or = (r + YQ(s’,a’)) - Q(s,a). Cette erreur d’estimation de la Q-value (TDen-or) contient dans son signe l’information du sens de l’erreur : TDen-or est négative lorsque la récompense cumulée future espérée (ou Q-value) est surestimée, et TDerror est positive lorsque la récompense cumulée future espérée (ou Q-value) est sousestimée.
Cette information concernant le sens de l’erreur permet d’introduire une autre fonction de perte « lossa » devant être minimisée par la seconde fonction principale (ou acteur) et définie par l’équation lossa = -log(P(a))TDerror, ou P(a) est la probabilité de l’action a ayant mené à la récompense r(s,a). Si cette action a est meilleure que prévu on augmente sa probabilité, sinon on la diminue. P(a) est donc optimisée en fonction de l’erreur d’estimation associée, et a est la sortie bruitée du réseau. Cette optimisation est l’objectif de l’apprentissage. En effet, si l’on a TDerror > 0, cela signifie que la récompense cumulée future espérée (ou Q-value) est sous-estimée et donc qu’il faut augmenter la probabilité de l’action a menant à cette Q-value, et inversement, si l’on a TDen-or < 0, cela signifie que la récompense cumulée future espérée (ou Q-value) est surestimée et donc qu’il faut diminuer la probabilité de l’action a menant à cette Q-value. On doit donc maximiser P(a)TDen-or, ce qui revient à minimiser l’équation lossa = -log(P(a))TDen-or.
La probabilité P(a) apparaît donc comme « l’outil » qui va permettre de modifier l’action a (bruitée) en sortie du réseau. Elle sert ici de scalaire à optimiser. On considère en effet ici que la probabilité P(a) d’une action a suit une loi normale de moyenne μ calculée par le réseau et de variance o2 fixe. La moyenne μ correspond à la probabilité maximale, mais on vient ajouter à cela un bruit d’exploration pour former l’action a à réaliser. C’est donc sur ce bruit que l’optimisation va avoir lieu, pour décaler la gaussienne vers la moyenne μ optimale qui correspond à l’action optimale.
Pour chacun des états s, l’action a à réaliser apparaît sous la forme d’une gaussienne où l’on demande à un réseau neuronal d’apprendre la moyenne. Dans un souci d’exploration, l’action a est bruitée dans un premier temps, et ce bruit est diminué au fur et à mesure que l’apprentissage avance pour finir par privilégier l’exploitation au lieu de l’exploration.
Un inconvénient principal de cette seconde technique réside dans le fait qu’une fois la récompense cumulée future espérée (ou Q-value) bien estimée par la première fonction principale, et donc une fois que l’écart entre la récompense effectivement obtenue par la première fonction principale critique (mais à un échantillon de temps de différence, avec l’apport entre temps de la véritable récompense reçue de l’environnement) et la récompense cumulée future espérée (ou Q-value) est très faible, la seconde fonction principale n’apprend plus et ne converge pas dans la pratique vers l’action qui permet d’obtenir la meilleure récompense future espérée (ou Q-value). En effet, la seconde fonction principale (acteur) ne peut apprendre que tant que la première fonction principale (critique) fait des erreurs et que l’erreur d’estimation de la Q-value (TDen-or) apporte de l’information, à savoir est-ce que l’action était surestimée ou sous-estimée. Si l’erreur d’estimation de la Qvalue (TDen-or) est très faible, cela veut seulement dire que la Q-value espérée d’une action a pour un état s du véhicule a été bien évaluée, et non pas que cette action a était la meilleure à faire à partir de cet état s. De plus, une trop faible valeur de l’erreur d’estimation de la Q-value (TDen-or) peut mener à des comportements non maîtrisés pour la convergence de la fonction de perte lOSSa.
L’invention a donc notamment pour but d’améliorer la situation, et plus précisément de permettre à la seconde technique (acteur critique) de converger vers une solution optimale en fin de phase d’apprentissage.
Elle propose notamment à cet effet un procédé d’assistance, d’une part, permettant d’assister le suivi d’une trajectoire par un véhicule à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, et, d’autre part, comprenant une étape dans laquelle :
- on détermine des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis
- on déduit pour chaque Q(s,a) une fonction de perte fonction d’une erreur d’estimation de ce Q(s,a) qui est représentative de sa surestimation ou sous-estimation, puis
- on minimise chaque fonction de perte pour faire évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d’estimation finale, puis
- on choisit comme action a à réaliser dans le véhicule ayant l’état s, l’action a qui est associée au Q(s,a) final le plus grand.
Ce procédé d’assistance se caractérise par le fait que dans son étape on compare pour chaque Q(s,a) l’erreur d’estimation associée à un seuil prédéfini, et lorsque cette erreur d’estimation associée est supérieure à ce seuil prédéfini on poursuit la minimisation de la fonction de perte associée, tandis que lorsque cette erreur d’estimation associée est inférieure ou égale à ce seuil prédéfini on minimise -Q(s,a) à la place de la fonction de perte.
Grâce à ce changement de la fonction de perte à minimiser en cours d’apprentissage par renforcement (et plus précisément une fois que Q(s,a) est bien estimé), on obtient une convergence plus stable et dirigée vers un optimum global par construction, contrairement à la technique acteur critique de l’art antérieur qui n’utilise pas de seuil de comparaison pour les erreurs d’estimations.
Le procédé d’assistance selon l’invention peut comporter d’autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment :
- dans son étape, on peut utiliser des Q(s,a) régis par une équation de Bellman Q(s,a) = r(s,a) + YQ(s’,a’), où s’ est un état qui suit un état s après qu’une action a = tt(s) ait été réalisée dans le véhicule, a’ = tt(s’), r(s,a) est une récompense obtenue en ayant appliqué l’action a en présence de l’état s du véhicule, et y est un paramètre appartenant à un intervalle [0 ; 1[ ;
> dans son étape on peut utiliser une erreur d’estimation de Q(s,a) qui est définie par (r + yQ(s’,a’)) - Q(s,a) ;
• dans son étape on peut utiliser pour chaque Q(s,a) une fonction de perte égale à -log(P(a))((r + yQ(s’,a’)) - Q(s,a)), où P(a) est une probabilité de l’action a ayant mené à la récompense r(s,a), laquelle est variable en fonction de l’erreur d’estimation associée ;
- dans son étape on peut utiliser des états s qui sont définis chacun par, par exemple, au moins deux distances séparant de la délimitation de la voie de circulation respectivement deux points déterminés sur une prolongation vers l’avant du véhicule d’un axe longitudinal médian de ce dernier, un angle de braquage en cours du véhicule et un angle de cap en cours du véhicule ;
> dans son étape on peut utiliser des états s qui sont définis chacun par cinq distances, l’angle de braquage en cours du véhicule et l’angle de cap en cours du véhicule ;
- dans son étape on peut utiliser un réseau de neurones pour minimiser chaque fonction de perte associée à un Q(s,a), et pour choisir comme action a à réaliser dans le véhicule ayant l’état s, l’action a associée au Q(s,a) final le plus grand.
L’invention propose également un produit programme d’ordinateur comprenant un jeu d’instructions qui, lorsqu’il est exécuté par des moyens de traitement, est propre à mettre en œuvre le procédé d’assistance décrit ci-avant pour assister le suivi d’une trajectoire par un véhicule à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire.
L’invention propose également un dispositif d’assistance, d’une part, chargé d’assister le suivi d’une trajectoire par un véhicule à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, et, d’autre part, comprenant au moins un premier calculateur déterminant des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis déterminant pour chaque Q(s,a) une erreur d’estimation représentative de sa surestimation ou sous-estimation, et un second calculateur déduisant pour chaque Q(s,a) une fonction de perte fonction de l’erreur d’estimation associée, puis minimisant chaque fonction de perte pour que le premier calculateur fasse évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d’estimation finale, puis choisissant comme action a à réaliser dans le véhicule ayant l’état s, l’action a associée au Q(s,a) final le plus grand.
Ce dispositif d’assistance se caractérise par le fait que son second calculateur compare à un seuil prédéfini chaque erreur d’estimation associée à un Q(s,a), et poursuit la minimisation de la fonction de perte associée à un Q(s,a) tant que l’erreur d’estimation associée est supérieure à ce seuil prédéfini, et minimise -Q(s,a) à la place de la fonction de perte associée à un Q(s,a) lorsque l’erreur d’estimation associée est inférieure ou égale à ce seuil prédéfini.
L’invention propose également un véhicule, éventuellement de type automobile, à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation sur laquelle il circule, sur lequel on réalise des actions a pour le conduire, et comprenant un dispositif d’assistance du type de celui présenté ci-avant.
D’autres caractéristiques et avantages de l’invention apparaîtront à l’examen de la description détaillée ci-après, et des dessins annexés, sur lesquels :
- la figure 1 illustre schématiquement et fonctionnellement un véhicule situé sur l’une des deux voies de circulation d’une route et équipé d’un capteur, de circuits d’analyse et d’un exemple de réalisation d’un dispositif d’assistance selon l’invention,
- la figure 2 illustre schématiquement un exemple d’algorithme mettant en œuvre un procédé d’assistance selon l’invention, et
- la figure 3 illustre schématiquement et fonctionnellement un exemple de réalisation d’un dispositif d’assistance selon l’invention.
L’invention a notamment pour but de proposer un procédé d’assistance, et un dispositif d’assistance DA associé, destinés à assister le suivi d’une trajectoire par un véhicule V à conduite automatisée circulant sur une voie de circulation VC, par apprentissage par renforcement (ou Reinforcement Learning) de type dit « acteur critique » (ou en anglais « ActorChtic »), avec introduction d’un seuil prédéfini.
Il est rappelé que l’on entend ici par « véhicule à conduite automatisée (ou autonome) » un véhicule pouvant être conduit, au moins de façon temporaire, de façon automatisée (ou autonome, et donc sans intervention de son conducteur), sous le contrôle d’un dispositif d’assistance pendant une phase de conduite automatisée.
Dans ce qui suit, on considère, à titre d’exemple non limitatif, que le véhicule V est de type automobile. Il s’agit par exemple d’une voiture. Mais l’invention n’est pas limitée à ce type de véhicule. Elle concerne en effet tout type de véhicule terrestre pouvant circuler sur des voies de circulation terrestres définies chacune par deux délimitations.
Sur la figure 1 la direction X est la direction longitudinale du véhicule, laquelle est sensiblement parallèle aux côtés latéraux comportant les portières latérales, et la direction Y est la direction transversale du véhicule, laquelle est perpendiculaire à la direction X.
On a schématiquement et fonctionnellement représenté sur la figure 1 un véhicule V circulant sur l’une des deux voies de circulation VC et VC’ d’une route R. On notera que le véhicule V circule ici sur la voie de circulation VC qui est encadrée (ou délimitée) par deux délimitations d1 et d2.
Ce véhicule V comprend au moins un exemple de réalisation d’un dispositif d’assistance DA selon l’invention.
Comme évoqué plus haut, l’invention propose notamment un procédé d’assistance destiné à assister le suivi d’une trajectoire par le véhicule V, par apprentissage par renforcement de type acteur critique, avec introduction d’un seuil prédéfini. Ce procédé d’assistance peut être au moins partiellement mis en œuvre par le dispositif d’assistance DA qui comprend à cet effet au moins des premier C1 et second C2 calculateurs. Par exemple, chacun de ces premier C1 et second C2 calculateurs peut comprendre au moins un processeur de signal numérique (ou DSP (« Digital Signal Processor »)), éventuellement associé à au moins une mémoire. Le premier calculateur C1 assure alors une première fonction principale (et donc le rôle de critique), et le second calculateur C2 assure une seconde fonction principale (et donc le rôle d’acteur).
On notera que ce dispositif d’assistance DA est éventuellement de type ADAS (« Advanced Driver Assistance System »).
Le procédé d’assistance, selon l’invention, comprend une étape dans laquelle on commence par déterminer des récompenses cumulées futures espérées, notées Q(s,a), pour des états s qui sont définis par rapport à une délimitation (par exemple d1 ) de la voie de circulation VC sur laquelle circule le véhicule V et des actions a pour conduire ce dernier (V) afin qu’il suive la trajectoire déterminée, à priori, par le dispositif d’assistance DA. C’est le premier calculateur C1 du dispositif d’assistance DA qui est classiquement chargé de déterminer ces récompenses cumulées futures espérées Q(s,a).
La détermination de chaque Q(s,a) est ici classique et donc bien connue de l’homme de l’art. On rappellera simplement que l’on peut utiliser des récompenses cumulées futures espérées Q(s,a) qui sont régies par l’équation de Bellman Q(s,a) = r(s,a) + yQ(s’,a’), où s’ est l’état qui suit un état s après qu’une action a = tt(s) ait été réalisée dans le véhicule, a’ = tt(s’), r(s,a) est une récompense obtenue en ayant appliqué l’action a en présence de l’état s du véhicule V et représentative du bien-fondé de cette action a, et y est un paramètre appartenant à l’intervalle [0 ; 1[. On comprendra que Q(s,a) est la récompense cumulée future espérée en cours d’utilisation et Q(s’,a’) est la récompense cumulée future espérée qui suit Q(s,a). On peut déduire de cette équation de Bellman une fonction de perte lossc qui est définie par l’équation lossc = [(r + yQ(s’,a’)) - Q(s,a)]2, et qui doit être minimisée. Cette fonction de perte lossc est fondée sur l’erreur d’estimation de Q(s,a), nommée « TDen-or » (« Temporal Difference Error » - erreur de différence temporelle) et définie par l’équation TDen-or = (r + YQ(s’,a’)) - Q(s,a). On a donc lossc = (TDen-or)2. Cette erreur d’estimation d’un Q(s,a) TDen-or contient dans son signe l’information du sens de l’erreur : TDen-or est négative lorsque la récompense cumulée future espérée (ou Q(s,a)) est surestimée, et TDen-or est positive lorsque la récompense cumulée future espérée (ou Q(s,a)) est sous-estimée.
Par exemple, dans l’étape du procédé on peut utiliser des états s qui sont définis chacun par au moins deux distances dk séparant d’une délimitation de la voie de circulation VC (par exemple d1 ) respectivement deux points pk déterminés sur une prolongation vers l’avant du véhicule V de l’axe longitudinal médian AL de ce dernier (V), l’angle de braquage en cours du véhicule V et l’angle de cap en cours du véhicule V.
A titre d’exemple, et comme illustré non limitativement sur la figure 1, dans l’étape du procédé on peut utiliser des états s qui sont définis chacun par cinq distances d1 à d5 (k = 1 à 5), l’angle de braquage en cours du véhicule V et l’angle de cap en cours du véhicule V.
Chacune des distances dk peut être déterminée à partir d’informations d’environnement qui sont fournies soit par un dispositif d’aide à la navigation très précis et embarqué dans le véhicule V, soit par des circuits d’analyse CAN embarqués dans le véhicule V (comme illustré non limitativement).
Ces circuits d’analyse CAN déterminent leurs informations d’environnement à partir d’images numériques acquises par au moins un capteur CP embarqué dans le véhicule V (comme illustré non limitativement).
Ce capteur CP comprend au moins une caméra numérique installée dans une partie avant du véhicule (par exemple sur le pare-brise ou sur le rétroviseur intérieur), et chargée d’acquérir des images numériques dans l’environnement qui est au moins situé devant le véhicule V et sur une partie au moins de ses côtés latéraux.
On notera que le nombre de capteurs CP est ici égal à un (1), mais il peut prendre n’importe quelle valeur supérieure ou égale à un (1) (au moins un capteur sur l’avant), dès lors que cela permet d’acquérir des informations dans l’environnement qui est au moins situé devant le véhicule V. Ainsi, le véhicule V pourrait aussi comprendre au moins un capteur à ultrasons et/ou au moins un radar ou lidar et/ou au moins une autre caméra installée dans une partie arrière.
Dans l’exemple illustré non limitativement sur la figure 1, les circuits d’analyse CAN font partie d’un calculateur CAL embarqué dans le véhicule V et couplé au dispositif d’assistance DA. Mais cela n’est pas obligatoire. En effet, les circuits d’analyse CAN pourraient comprendre leur propre calculateur. Par conséquent, les circuits d’analyse CAN peuvent être réalisés sous la forme d’une combinaison de circuits ou composants électriques ou électroniques (ou « hardware ») et de modules logiciels (ou informatiques ou encore « software »).
On notera que dans l’exemple illustré non limitativement sur la figure 1, le dispositif d’assistance DA est un équipement comprenant un boîtier qui est couplé directement au calculateur CAL. Mais le dispositif d’assistance DA pourrait être couplé indirectement au calculateur CAL via un réseau de communication embarqué dans le véhicule V et éventuellement de type multiplexé.
On notera également que les circuits d’analyse CAN peuvent éventuellement, mais non obligatoirement, faire partie du dispositif d’assistance DA.
Les circuits d’analyse CAN sont ici agencés de manière à analyser au moins les images numériques, acquises par le capteur CP dans l’environnement situé au moins devant le véhicule V, afin de déterminer des informations qui sont représentatives au moins de l’une au moins des deux délimitations d1 et d2 de la voie de circulation VC sur laquelle circule le véhicule V (par exemple celle de droite d1 ) et de l’angle de cap en cours de ce dernier (V).
Les informations représentant une délimitation d1 ou d2 peuvent, par exemple, être des points (ayant une coordonnée longitudinale (suivant X) et une coordonnée transversale (suivant Y)) dans un référentiel choisi attaché au véhicule V (par exemple au centre de son extrémité avant), et représentatifs respectivement de portions de délimitation détectées, par exemple, dans une image numérique acquise par le capteur CP. On notera que ces informations peuvent aussi définir l’angle de lacet du véhicule V, et/ou l’estimée de la courbure d’une délimitation ainsi qu’éventuellement l’estimée de la dérivée de cette courbure.
Les circuits d’analyse CAN peuvent être également agencés de manière à déterminer des fonctions mathématiques qui représentent des portions de l’une au moins des délimitations d1 et d2 à partir des informations qu’ils ont déterminées. Par exemple, une délimitation d1 ou d2 peut être définie par une fonction mathématique de type polynôme de degré deux (f(x) = cO + c1x + c2 x2), où x représente la distance suivant la direction longitudinale X. Mais d’autres types de fonction mathématique peuvent être utilisés pour représenter une délimitation d1 ou d2, et notamment une clothoïde.
Les circuits d’analyse CAN sont ici également agencés de manière à déterminer les distances dk des états s. Mais dans une variante de réalisation ces distances dk pourraient être déterminées par le dispositif d’assistance DA (en particulier lorsque les informations d’environnement sont fournies par un dispositif d’aide à la navigation).
Par exemple, chaque distance dk peut être égale à la longueur séparant un point pk, appartenant à la prolongation avant de l’axe longitudinal médian AL), de sa projection orthogonale sur la délimitation de droite d1 (ou de gauche d2). La distance entre deux points pk successifs et entre l’extrémité avant du véhicule V et le premier point p1 est de préférence constante (comme illustré non limitativement sur la figure 1). Cette distance constante peut, par exemple, être comprise entre 3 mètres et 10 mètres. A titre d’exemple, elle peut être égale à 5 mètres.
Egalement à titre d’exemple, une action a peut consister en une modification de l’angle de braquage (ou de la valeur qui le représente) via au moins une commande générée par le dispositif d’assistance DA pour au moins la direction assistée électrique du véhicule V. Une telle commande est instaurée pour que ce dernier (V) suive au mieux la trajectoire déterminée par le dispositif d’assistance DA en fonction de l’environnement du véhicule V (au moins devant). On notera que d’autres commandes peuvent aussi être déterminées pour d’autres organes impliqués dans les déplacements du véhicule V, comme par exemple le groupe motopropulseur (ou GMP), le système de freinage, et les moyens de changement de vitesse (par exemple une boîte de vitesses automatique).
L’étape du procédé d’assistance se poursuit par la déduction pour chaque Q(s,a) d’une fonction de perte lossa qui est fonction de l’erreur d’estimation de ce Q(s,a) TDen-or, représentative de sa surestimation ou sousestimation, comme expliqué plus haut. C’est le premier calculateur C1 du dispositif d’assistance DA qui est classiquement chargé de déterminer chaque erreur d’estimation d’un Q(s,a) TDen-or, et c’est le second calculateur C2 qui détermine chaque fonction de perte lossa associée.
Par exemple, dans l’étape du procédé lorsque les récompenses cumulées futures espérées Q(s,a) sont régies par l’équation de Bellman et que chaque erreur d’estimation d’un Q(s,a) TDen-or est définie par (r + YQ(s’,a’)) Q(s,a), chaque fonction de perte lossa peut être égale, par exemple, à log(P(a))((r + YQ(s’,a’)) - Q(s,a)) = -log(P(a))TDerror, où P(a) est la probabilité de de l’action a ayant mené à la récompense r(s,a), laquelle probabilité est variable en fonction de l’erreur d’estimation TDen-or associée (comme expliqué dans la partie introductive).
Puis, l’étape du procédé d’assistance se poursuit par la comparaison à un seuil prédéfini ε de chaque erreur d’estimation TDen-or associée à un Q(s,a). Si l’erreur d’estimation TDen-or associée à un Q(s,a) est supérieure au seuil prédéfini ε (soit TDen-or > ε), on minimise la fonction de perte lossa associée pour faire évoluer le Q(s,a) associé vers un Q(s,a) final qui est associé à une erreur d’estimation finale. En revanche, si l’erreur d’estimation TDen-or associée à un Q(s,a) est inférieure ou égale au seuil prédéfini ε (soit TDen-or ε), on effectue une minimisation de -Q(s,a) à la place de la fonction de perte lossa pour faire évoluer le Q(s,a) associé vers un Q(s,a) final qui est associé à une erreur d’estimation finale. En d’autres termes, on remplace la fonction de perte lossa par -Q(s,a) dans la minimisation.
C’est le second calculateur C2 du dispositif d’assistance DA qui est chargé d’effectuer chaque comparaison et chaque minimisation.
Une erreur d’estimation TDen-or suffisamment petite (et donc < ε) signifie que la première fonction principale (critique) assurée par le premier calculateur C1 est précise sur la prédiction d’une récompense cumulée future espérée Q(s,a). On peut alors passer à une seconde phase de l’apprentissage par renforcement dans laquelle on ne demande plus à la seconde fonction principale (acteur), assurée par le second calculateur C2, d’ajuster les probabilités des actions a en fonction d’une surestimation ou sous-estimation d’une Q(s,a), mais de choisir l’action afin de maximiser la dernière Q(s,a) obtenue et ainsi produire la Q(s,a) finale optimale. On passe donc d’une seconde fonction principale qui augmente les probabilités des actions a, qui ont menées à des récompenses Q(s,a) plus fortes que prévues, à une fonction qui choisit les actions a afin de maximiser les Q(s,a).
La première optimisation fonctionne par probabilité d’action, mais pour la seconde optimisation (celle de -Q(s,a)) la notion de probabilité disparait et on prend la sortie du réseau directement comme action à réaliser (en d’autres termes la moyenne μ devient l’action a).
En d’autres termes, on a une première phase d’exploration qui prend fin lorsque l’on dispose des Q(s,a) finaux et donc que l’on vient d’obtenir des TDerror ε, et une seconde phase d’exploitation décrite ci-après.
Ensuite, l’étape du procédé d’assistance se poursuit par la seconde phase d’exploitation dans laquelle on choisit, comme action a à réaliser dans le véhicule V ayant l’état s, l’action a qui est associée à la récompense cumulée future espérée Q(s,a) finale la plus grande.
L’invention offre une convergence plus stable et dirigée vers un optimum global par construction, contrairement à la technique acteur critique de l’art antérieur qui n’utilise pas de seuil de comparaison pour les erreurs d’estimations TDen-or.
On notera que dans l’étape du procédé on peut utiliser un réseau de neurones pour minimiser chaque fonction de perte lossa associée à un Q(s,a), et pour choisir comme action a à réaliser dans le véhicule V ayant l’état s, l’action a qui est associée au Q(s,a) final le plus grand.
On a schématiquement illustré sur la figure 2 un exemple d’algorithme mettant en œuvre l’étape du procédé d’assistance décrit ci-avant.
Cette étape commence par une sous-étape 10 dans laquelle on (le premier calculateur C1) détermine des récompenses cumulées futures espérées Q(s,a) pour des états s qui sont définis par rapport à une délimitation (par exemple d1) de la voie de circulation VC sur laquelle circule le véhicule V et des actions a pour conduire ce dernier (V), comme par exemple des modifications de l’angle de braquage.
Puis, dans une sous-étape 20 on (le premier calculateur C1) détermine pour chaque Q(s,a) (déterminé à la sous-étape 10) son erreur d’estimation TDen-or, et on (le second calculateur C2) déduit une fonction de perte lossa de chaque erreur d’estimation TDen-or.
Puis, dans une sous-étape 30 on (le second calculateur C2) effectue un test pour déterminer si chaque erreur d’estimation TDen-or est supérieure au seuil prédéfini ε.
Si l’erreur d’estimation TDen-or associée à un Q(s,a) est supérieure au seuil prédéfini ε (soit TDen-or > ε), on (le second calculateur C2) minimise dans une sous-étape 40 la fonction de perte lossa associée. Puis, dans une sousétape 50, on (le premier calculateur C1) fait évoluer le Q(s,a) associé en fonction du résultat de la minimisation, puis on retourne effectuer la sous-étape 20.
En revanche, si l’erreur d’estimation TDen-or associée à un Q(s,a) est inférieure ou égale au seuil prédéfini ε (soit TDen-or ε), on (le second calculateur C2) minimise dans une sous-étape 60 -Q(s,a) à la place de la fonction de perte lossa. Puis, dans une sous-étape 70, on (le premier calculateur C1) fait évoluer le Q(s,a) associé vers un Q(s,a) final qui est associé à une erreur d’estimation finale.
Enfin, dans une sous-étape 80, on (le second calculateur C2) choisit, comme action a à réaliser dans le véhicule V ayant l’état s, l’action a qui est associée à la récompense cumulée future espérée Q(s,a) finale la plus grande parmi toutes celles déterminées.
On a schématiquement illustré sur la figure 3 un exemple de réalisation d’un dispositif d’assistance DA selon l’invention.
Le premier calculateur C1 comprend sept modules de traitement (ou de calcul) M1 à M7.
Le premier module de traitement M1 reçoit en entrée une action a et un état s et délivre en sortie un Q(s,a) qu’il a déterminé au moyen d’un réseau de neurones en cours.
Le deuxième module de traitement M2 reçoit en entrée le Q(s,a) déterminé par le premier module de traitement M1 et lui associe une étiquette « en cours ».
Le troisième module de traitement M3 reçoit en entrée une copie du réseau de neurones utilisé par le premier module de traitement M1, un nouvel état s’ (déterminé par un module d’interface Ml du dispositif d’assistance DA), et une nouvelle action a’ (qui provient du second calculateur C2 (acteur)). Ce troisième module de traitement M3 est chargé de déterminer avec la copie reçue, alimentée avec s’ et a’, un Q(s’,a’).
Le quatrième module de traitement M4 reçoit en entrée le Q(s’,a’) déterminé par le troisième module de traitement M3 et une récompense r(s,a), déterminée par le module d’interface Ml en ayant appliqué l’action a (en cours) en présence de l’état s (en cours), et détermine une cible égale à r(s,a) + yQ(s’,a’).
Le cinquième module de traitement M5 reçoit en entrée le Q(s,a) en cours du deuxième module de traitement M2 et la cible (r(s,a) + yQ(s’,a’)) déterminée par le quatrième module de traitement M4, et détermine l’erreur d’estimation TDen-or associée à Q(s,a) en cours en calculant le résultat de (r(s,a) + yQ(s’,a’)) - Q(s,a).
Le sixième module de traitement M6 reçoit en entrée l’erreur d’estimation TDen-or déterminée par le cinquième module de traitement M5, et détermine une fonction de perte lossc égale au carré de TDen-or (soit lossc = (TDerror)2
Le septième module de traitement M7 reçoit en entrée la fonction de perte lossc déterminée par le sixième module de traitement M6 et détermine une minimisation de cette fonction de perte lossc, puis utilise le résultat de cette minimisation pour modifier le réseau de neurones venant d’être utilisé par le premier module de traitement M1 avec les a et s en cours.
Le second calculateur C2 comprend huit modules de traitement (ou calculs) M8 à M15.
Le premier module de traitement M8 reçoit en entrée l’état s en cours et délivre en sortie un paramètre μ représentant l’action mais utilisé pour construire une répartition gaussienne. Ce paramètre μ va être bruité numériquement pour simuler une exploration et permettre ainsi l’apprentissage. Il est déterminé au moyen d’un réseau de neurones en cours.
Le deuxième module de traitement M9 reçoit en entrée le paramètre μ déterminé par le premier module de traitement M8 et délivre en sortie une densité de probabilité de variance o2 fixée arbitrairement.
Le troisième module de traitement M10 est chargé de générer du bruit numérique, par exemple de type gaussien.
Le quatrième module de traitement M11 est chargé d’effectuer la somme de μ déterminé par le deuxième module de traitement M9 et du bruit numérique généré par le troisième module de traitement M10. Le résultat de cette addition est une action bruitée (par exemple sous forme de gaussienne) . Ce résultat alimente un cinquième module M12 et le module d’interface Ml qui s’en sert pour déterminer la récompense r(s,a) et le nouvel état s’ en fonction de l’action effectuée. Dans un souci d’exploration, le bruit de l’action a est diminué au fur et à mesure que l’apprentissage avance pour finir par privilégier l’exploitation au lieu de l’exploration.
Le cinquième module de traitement M12 reçoit en entrée le résultat de l’addition précitée et l’erreur d’estimation TDen-or déterminée par le cinquième module de traitement M5 (du premier calculateur C1), et détermine une fonction de perte lossa égale à -log(P(a))TDen-or, où P(a) est la probabilité de l’action a bruitée suivant la densité de probabilité de variance o2 calculée par le deuxième module de traitement M9.
Le sixième module de traitement M13 reçoit en entrée le Q(s,a) en cours du deuxième module de traitement M2 (du premier calculateur C1), et multiplie ce Q(s,a) en cours par la valeur -1 afin de délivrer en sortie -Q(s,a).
Le septième module de traitement M14 reçoit en entrée l’erreur d’estimation TDen-or déterminée par le cinquième module de traitement M5 (du premier calculateur C1), et détermine si cette erreur d’estimation TDen-or est supérieure au seuil prédéfini ε (soit TDen-or > ε). Dans l’affirmative (TDen-or > ε), le septième module de traitement M14 extrait la fonction de perte lossa du cinquième module de traitement M12 afin de la transmettre au huitième module de traitement M15. Dans la négative (TDen-or ε), le septième module de traitement M14 extrait -Q(s,a) du sixième module de traitement M13 afin de le transmettre au huitième module de traitement M15. Ce septième module de traitement M14 agit donc comme une espèce de commutateur.
Le huitième module de traitement M15 détermine une minimisation de ce qu’il reçoit sur son entrée (soit lossa si TDerror > ε, soit -Q(s,a) si TDerror < ε), puis utilise le résultat de cette minimisation pour modifier le réseau de neurones venant d’être utilisé par le premier module de traitement M8 (de son second calculateur C2).
C’est la minimisation de -Q(s,a) qui permet de converger vers la meilleure solution au cours des itérations de l’apprentissage.
On notera que le premier calculateur C1 (de Q(s,a)) n’est utile que pour la phase d’apprentissage. Une fois l’apprentissage terminé, on utilise seulement le second calculateur C2 (acteur) pour obtenir directement l’action à réaliser.
On notera également que l’invention propose aussi un produit programme d’ordinateur comprenant un jeu d’instructions qui, lorsqu’il est exécuté par des moyens de traitement de type circuits électroniques (ou hardware), comme par exemple les premier C1 et second C2 calculateurs et le module d’interface Ml, est propre à mettre en œuvre le procédé d’assistance décrit ci-avant pour assister le suivi d’une trajectoire par le véhicule V circulant sur la voie de circulation VC.
On notera également que sur la figure 3 le dispositif d’assistance DA est très schématiquement et fonctionnellement illustré par des modules de traitement (ou calcul) M1 à M15 et Ml. L’un au moins de ces modules de traitement (ou calcul) peut être réalisé au moyen d’au moins un processeur, par exemple de signal numérique (ou DSP (Digital Signal Processor)), éventuellement associé à une mémoire vive pour stocker des instructions pour la mise en œuvre par ce processeur d’une partie du procédé d’assistance tel que décrit ci-avant. Par ailleurs, le dispositif d’assistance DA peut, comme évoqué plus haut, comprendre un boîtier comportant des circuits intégrés (ou imprimés), reliés par des connections filaires ou non filaires. On entend par circuit imprimé tout type de dispositif apte à effectuer au moins une opération électrique ou électronique. Par ailleurs, ce dispositif d’assistance DA peut comprendre au moins une mémoire de masse notamment pour le stockage des données définissant les résultats de ses traitements (ou calculs) intermédiaires et finaux, une interface d’entrée pour la réception d’au moins les éléments constituants les états s (et qu’il n’a pas déterminés lui-même et qu’éventuellement il met en forme et/ou démodule et/ou amplifie de façon 5 connue en soi), et une interface de sortie pour la transmission des résultats de ses calculs et traitements (et notamment l’action a (par exemple une modification de l’angle de braquage) devant être réalisée dans le véhicule V du fait qu’elle est associée à la récompense cumulée future espérée Q(s,a) finale la plus grande parmi toutes celles déterminées).
Une ou plusieurs sous-étapes de l’étape du procédé d’assistance peuvent être effectuées par des composants différents. Ainsi, le procédé d’assistance peut-être mis en œuvre par une pluralité de processeurs, mémoire vive, mémoire de masse, interface d’entrée, interface de sortie et/ou processeur de signal numérique. Dans ces situations, le dispositif d’assistance DA peut-être décentralisé, au sein d’un réseau local (plusieurs processeurs reliés entre eux par exemple) ou d’un réseau étendu.
Claims (10)
- REVENDICATIONS1. Procédé d’assistance pour assister le suivi d’une trajectoire par un véhicule (V) à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, ledit procédé comprenant une étape (10-80) dans laquelle on détermine des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis on déduit pour chaque Q(s,a) une fonction de perte fonction d’une erreur d’estimation de ce Q(s,a), représentative de sa surestimation ou sous-estimation, puis on minimise chaque fonction de perte pour faire évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d’estimation finale, puis on choisit comme action a à réaliser dans ledit véhicule (V) ayant ledit état s, l’action a associée au Q(s,a) final le plus grand, caractérisé en ce que dans ladite étape (10-80) on compare pour chaque Q(s,a) ladite erreur d’estimation associée à un seuil prédéfini, et lorsque ladite erreur d’estimation associée est supérieure audit seuil prédéfini on poursuit la minimisation de ladite fonction de perte associée, tandis que lorsque ladite erreur d’estimation associée est inférieure ou égale audit seuil prédéfini on minimise -Q(s,a) à la place de ladite fonction de perte.
- 2. Procédé selon la revendication 1, caractérisé en ce que dans ladite étape (10-80) on utilise des Q(s,a) régis par une équation de Bellman Q(s,a) = r(s,a) + yQ(s’,a’), où s’ est un état qui suit un état s après qu’une action a = tt(s) ait été réalisée dans ledit véhicule, a’ = tt(s’), r(s,a) est une récompense obtenue en ayant appliqué ladite action a en présence dudit état s du véhicule, et y est un paramètre appartenant à un intervalle [0 ; 1[.
- 3. Procédé selon la revendication 2, caractérisé en ce que dans ladite étape (10-80) on utilise une erreur d’estimation de Q(s,a) définie par (r + YQ(s’,a’)) - Q(s,a).
- 4. Procédé selon la revendication 3, caractérisé en ce que dans ladite étape (10-80) on utilise pour chaque Q(s,a) une fonction de perte égale à log(P(a))((r + YQ(s’,a’)) - Q(s,a)), où P(a) est une probabilité de l’action a ayant mené à la récompense r(s,a), laquelle est variable en fonction de ladite erreur d’estimation associée.
- 5. Procédé selon l’une des revendications 1 à 4, caractérisé en ce que dans ladite étape (10-80) on utilise des états s définis chacun par au moins deux distances séparant de ladite délimitation de la voie de circulation respectivement deux points déterminés sur une prolongation vers l’avant dudit véhicule (V) d’un axe longitudinal médian de ce dernier, un angle de braquage en cours dudit véhicule et un angle de cap en cours dudit véhicule (V).
- 6. Procédé selon la revendication 5, caractérisé en ce que dans ladite étape (10-80) on utilise des états s définis chacun par cinq distances, ledit angle de braquage en cours dudit véhicule (V) et ledit angle de cap en cours dudit véhicule (V).
- 7. Procédé selon l’une des revendications 1 à 6, caractérisé en ce que dans ladite étape (10-80) on utilise un réseau de neurones pour minimiser chaque fonction de perte associée à un Q(s,a), et pour choisir comme action a à réaliser dans ledit véhicule (V) ayant ledit état s, l’action a associée au Q(s,a) final le plus grand.
- 8. Produit programme d’ordinateur comprenant un jeu d’instructions qui, lorsqu’il est exécuté par des moyens de traitement, est propre à mettre en œuvre le procédé d’assistance selon l’une des revendications précédentes pour assister le suivi d’une trajectoire par un véhicule (V) à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire.
- 9. Dispositif d’assistance (DA) pour assister le suivi d’une trajectoire par un véhicule (V) à conduite automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, ledit dispositif (DA) comprenant au moins i) un premier calculateur (C1) déterminant des récompenses cumulées futures espérées, notées Q(s,a), pour des états s et des actions a, puis déterminant pour chaque Q(s,a) une erreur d’estimation représentative de sa surestimation ou sous-estimation, et ii) un second calculateur (C2) déduisant pour chaque Q(s,a) une fonction de perte fonction de ladite erreur d’estimation associée, puis minimisant chaque fonction de perte pour que ledit premier calculateur (C1) fasse évoluer chaque Q(s,a) associé vers un Q(s,a) final associé à une erreur d’estimation finale, et choisissant comme action a à réaliser dans ledit véhicule (V) ayant ledit état s, l’action a associée au Q(s,a) final le plus grand, caractérisé en ce que ledit 5 second calculateur (C2) compare à un seuil prédéfini chaque erreur d’estimation associée à un Q(s,a), et poursuit la minimisation de ladite fonction de perte associée à un Q(s,a) tant que ladite erreur d’estimation associée est supérieure audit seuil prédéfini, et minimise -Q(s,a) à la place de la fonction de perte associée à un Q(s,a) lorsque ladite erreur d’estimation associée est 10 inférieure ou égale audit seuil prédéfini.
- 10. Véhicule (V) à conduite au moins partiellement automatisée, ayant des états s définis par rapport à une délimitation d’une voie de circulation (VC) sur laquelle il circule, et sur lequel on réalise des actions a pour le conduire, caractérisé en ce qu’il comprend un dispositif d’assistance (DA) selon la 15 revendication 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1857352A FR3084867B1 (fr) | 2018-08-07 | 2018-08-07 | Procede d’assistance pour qu’un vehicule a conduite automatisee suive une trajectoire, par apprentissage par renforcement de type acteur critique a seuil |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1857352A FR3084867B1 (fr) | 2018-08-07 | 2018-08-07 | Procede d’assistance pour qu’un vehicule a conduite automatisee suive une trajectoire, par apprentissage par renforcement de type acteur critique a seuil |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3084867A1 true FR3084867A1 (fr) | 2020-02-14 |
FR3084867B1 FR3084867B1 (fr) | 2021-01-15 |
Family
ID=65201036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1857352A Active FR3084867B1 (fr) | 2018-08-07 | 2018-08-07 | Procede d’assistance pour qu’un vehicule a conduite automatisee suive une trajectoire, par apprentissage par renforcement de type acteur critique a seuil |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3084867B1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392979A (zh) * | 2020-03-11 | 2021-09-14 | 宏达国际电子股份有限公司 | 强化学习系统及训练方法 |
WO2022090040A1 (fr) * | 2020-10-29 | 2022-05-05 | Zf Friedrichshafen Ag | Procédé et dispositif pour commander un véhicule le long d'une trajectoire de déplacement |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2993551A1 (fr) | 2015-07-24 | 2017-02-02 | Google Llc | Commande continue avec apprentissage par renforcement profond |
CN107346138A (zh) | 2017-06-16 | 2017-11-14 | 武汉理工大学 | 一种基于增强学习算法的无人船侧向控制方法 |
US20180032082A1 (en) * | 2016-01-05 | 2018-02-01 | Mobileye Vision Technologies Ltd. | Machine learning navigational engine with imposed constraints |
-
2018
- 2018-08-07 FR FR1857352A patent/FR3084867B1/fr active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2993551A1 (fr) | 2015-07-24 | 2017-02-02 | Google Llc | Commande continue avec apprentissage par renforcement profond |
US20180032082A1 (en) * | 2016-01-05 | 2018-02-01 | Mobileye Vision Technologies Ltd. | Machine learning navigational engine with imposed constraints |
CN107346138A (zh) | 2017-06-16 | 2017-11-14 | 武汉理工大学 | 一种基于增强学习算法的无人船侧向控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392979A (zh) * | 2020-03-11 | 2021-09-14 | 宏达国际电子股份有限公司 | 强化学习系统及训练方法 |
WO2022090040A1 (fr) * | 2020-10-29 | 2022-05-05 | Zf Friedrichshafen Ag | Procédé et dispositif pour commander un véhicule le long d'une trajectoire de déplacement |
Also Published As
Publication number | Publication date |
---|---|
FR3084867B1 (fr) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3903123B1 (fr) | Dispositif de génération d'un ensemble de données simulées du fouillis de mer, procédé et programme d'ordinateur associés | |
EP2642464B1 (fr) | Procédé de détermination d'information | |
CA2950847A1 (fr) | Procede d'analyse d'une scene dynamique, module d'analyse et programme d'ordinateur associes | |
FR3084867A1 (fr) | Procede d’assistance pour qu’un vehicule a conduite automatisee suive une trajectoire, par apprentissage par renforcement de type acteur critique a seuil | |
EP4176286A1 (fr) | Système et procédé de détection d'un obstacle dans un environnement d'un véhicule | |
FR3098172A1 (fr) | Procédé de détermination d’une trajectoire d’évitement d’un véhicule automobile | |
EP3661827A1 (fr) | Procede d'elaboration d'une consigne de pilotage d'un organe de conduite d'un vehicule automobile | |
EP3353031B1 (fr) | Dispositif d'aide a la conduite pour estimation du danger d'une situation | |
EP3877228B1 (fr) | Construction par segmentation de voies virtuelles sur une chaussée | |
EP4256412A1 (fr) | Système et procédé de contrôle de véhicule à base d'apprentissage machine | |
WO2018041978A1 (fr) | Dispositif de détermination d'une limitation de vitesse, système embarqué comprenant un tel dispositif et procédé de détermination d'une limitation de vitesse. | |
FR3052727A1 (fr) | Procede de determination d'une classe de conduite de reference | |
FR3106108A1 (fr) | Procédé et dispositif de détermination de trajectoire d’une route | |
FR3092545A1 (fr) | Assistance à la conduite d’un véhicule, par détermination de la voie de circulation dans laquelle est situé un objet | |
EP3704625A1 (fr) | Procédé de traitement de données pour système d'aide à la conduite d'un véhicule et système d'aide à la conduite associé | |
FR2938228A1 (fr) | Procede de mesure de distance au moyen d'une camera embarquee dans un vehicule automobile | |
FR3086491A1 (fr) | Assistance a la conduite d’un vehicule, par determination de l’angle de braquage au moyen d’un reseau neuronal sans biais de calcul | |
FR3093369A1 (fr) | Apprentissage d’un réseau de neurones par comparaisons de valeurs produites par un simulateur de conduite d’un véhicule fonctionnant en paralèlle | |
US20220309799A1 (en) | Method for Automatically Executing a Vehicle Function, Method for Evaluating a Computer Vision Method and Evaluation Circuit for a Vehicle | |
FR3133097A1 (fr) | Procédé d’analyse d’images amélioré, en fonction du temps disponible, dans un véhicule automobile, dispositif et véhicule associés | |
FR3100910A1 (fr) | Détermination d’objets présents dans l’environnement d’un système par transformation de données d’environnement d’une vue de face dans une vue du ciel | |
EP4359278A1 (fr) | Procede d'optimisation du contrôle dynamique du châssis d'un vehicule | |
FR3082935A1 (fr) | Procede et dispositif d’analyse pour determiner une clothoide representant un element d’une route sur laquelle circule un vehicule | |
FR3100641A1 (fr) | Détermination d’informations d’environnement en temps réel et à régression sélective, pour un système | |
WO2017029444A1 (fr) | Procédé de détermination d'un niveau d'attention d'un conducteur d'un véhicule automobile et méthode de stimulation de l'attention d'un conducteur d'un véhicule automobile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20200214 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |
|
CD | Change of name or company name |
Owner name: STELLANTIS AUTO SAS, FR Effective date: 20240423 |
|
PLFP | Fee payment |
Year of fee payment: 7 |