Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR AUTONOMOUSLY DRIVING AN ACTUATOR OF A DEVICE
Document Type and Number:
WIPO Patent Application WO/2022/214268
Kind Code:
A1
Abstract:
The invention relates to a method for autonomously driving an actuator of an automotive device (10), said actuator being intended to have an influence on the trajectory of said device, the method comprising steps of: - acquiring parameters relating to the trajectory of the device; and - a computer (13) calculating a setpoint for driving said actuator as a function of said parameters, by means of a controller associated with at least one saturation function for an output of the controller. According to the invention, the controller satisfies a model of said at least one saturation function per nonlinear sector.

Inventors:
DO ANH-LAM (FR)
Application Number:
PCT/EP2022/056097
Publication Date:
October 13, 2022
Filing Date:
March 09, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
RENAULT SAS (FR)
NISSAN MOTOR (JP)
International Classes:
B62D15/02; B60W30/09; B60W50/00; B60W60/00; G05D1/00
Domestic Patent References:
WO2020182373A12020-09-17
Foreign References:
US20180017971A12018-01-18
FR3099450A12021-02-05
Other References:
ALESSANDRA PALMEIRAJOÂO MANOEL GOMES DA SILVA JRSOPHIE TARBOURIECHI. GHIGGI: "International Journal of Robust and Nonlinear Control", vol. 26, 2016, WILEY, article "Sampled-data control under magnitude and rate saturating actuators", pages: 3232 - 3252
SKELTON, R. E.IWASAKI, T.GRIGORIADIS, K. M.: "A Unified Algebraic Approach to Linear Control Design", 1998, TAYLOR AND FRANCIS
Attorney, Agent or Firm:
RENAULT GROUP (FR)
Download PDF:
Claims:
REVENDICATIONS

[Revendication 1] Procédé de pilotage autonome d’un actionneur d’un appareil (10) automobile qui est adapté à influer sur la trajectoire dudit appareil (10), comportant des étapes de :

- acquisition de paramètres (b, r, Yi_, eyi_, d, ôref) relatifs à la trajectoire de l’appareil (10), et de

- calcul par un calculateur (13) d’une consigne de pilotage (ôref) dudit actionneur en fonction desdits paramètres (b, r, Yi_, eyi_, d, pref), au moyen d’un contrôleur (K) associé à au moins une fonction de saturation d’une sortie du contrôleur (K), caractérisé en ce que le contrôleur (K) satisfait une modélisation de ladite au moins une fonction de saturation par secteur non linéaire.

[Revendication 2] Procédé de pilotage selon la revendication 1, dans lequel l’appareil (10) est un véhicule automobile qui est adapté à rouler sur route et qui comprend au moins une roue directrice (11), dans lequel ledit actionneur est adapté à commander le braquage de ladite roue directrice (11), et dans lequel la consigne de pilotage (ôref) est une consigne saturée d’angle de braquage de ladite roue directrice (11).

[Revendication 3] Procédé de pilotage selon l’une des revendications 1 et 2, dans lequel la fonction de saturation satisfait un modèle limiteur d’amplitude de consigne de pilotage (ôref) et s’exprime sous la forme : yi(c) = satv(Kx ) — Kx, avec

K le contrôleur, satn une fonction de limitation d’amplitude, et x un vecteur d’état dudit appareil (10).

[Revendication 4] Procédé de pilotage selon l’une des revendications 1 à 3, dans lequel la fonction de saturation satisfait un modèle limiteur de variation de consigne de pilotage (ôref) et s’exprime sous la forme :

K le contrôleur, satv une fonction de limitation d’amplitude, A1 et B1 des matrices prédéterminées, etx un vecteur d’état dudit appareil (10).

[Revendication 5] Procédé de pilotage selon l’une des revendications 1 à 4, dans lequel étant donné un bassin d’attraction (e) situé dans au moins un polyèdre défini en fonction de la modélisation de ladite au moins une fonction de saturation, en l’absence de perturbation, le contrôleur (K) garantit qu’un vecteur d’état (x) dudit appareil (10) présente de valeurs successives au cours du temps qui restent dans le bassin d’attraction (e) et qui convergent asymptotiquement vers l’origine dans un temps prédéterminé.

[Revendication 6] Procédé de pilotage selon l’une des revendications 1 à 5, dans lequel étant donné un bassin d’attraction (e) situé dans au moins un polyèdre défini en fonction de la modélisation de ladite au moins une fonction de saturation, en présence d’une perturbation dont l’énergie est inférieure à un seuil prédéterminé, le contrôleur (K) garantit qu’un vecteur d’état (x) dudit appareil (10) présente des valeurs successives au cours du temps qui restent dans le bassin d’attraction (e).

[Revendication 7] Procédé de pilotage selon l’une des revendications 1 à 6, dans lequel, en l’absence de saturation de la sortie du contrôleur (K), le contrôleur (K) garantit que la synthèse de la norme H appliquée au contrôleur (K) est inférieure à un scalaire prédéterminé.

[Revendication 8] Procédé de pilotage selon l’une des revendications 1 à 7, dans lequel l’un desdits paramètres (pref) est une variable qui dépend de la courbure de la trajectoire.

[Revendication 9] Procédé de pilotage selon l’une des revendications 1 à 8, dans lequel, étant donné un bassin d’attraction (e) situé dans au moins un polyèdre défini en fonction de la modélisation de ladite au moins une fonction de saturation, ledit bassin d’attraction (e) est défini au moyen d’une fonction de Lyapunov (V(t)), de perturbations qui s’appliquent audit appareil (10) et d’un terme qui dépend de ladite au moins une fonction de saturation.

[Revendication 10] Procédé de pilotage selon l’une des revendications 1 à 9, dans lequel le contrôleur (K) satisfait une modélisation dudit appareil (10) dans laquelle une sortie (z) à minimiser est une fonction d’une erreur de suivi de trajectoire (eyi_) et d’une erreur d’angle de cap (Yi_).

[Revendication 11] Procédé de pilotage selon la revendication 10, dans lequel la sortie (z) à minimiser s’exprime sous la forme : avec eyi_ l’erreur de suivi de trajectoire, Yi_ l’erreur d’angle de cap et ay un coefficient de réglage qui varie au cours du temps.

[Revendication 12] Procédé de pilotage selon l’une des revendications 1 à 11, dans lequel il est prévu de désactiver le contrôleur (K) :

- dès que les valeurs initiales d’un vecteur d’état (x) dudit appareil (10) n’appartiennent pas à un premier espace (Eo) prédéterminé, ou - lorsque lesdites valeurs initiales n’appartiennent pas au premier espace (Eo) et que les valeurs instantanées dudit vecteur d’état (x) n’appartiennent pas à un second espace (Ei) prédéterminé.

[Revendication 13] Appareil (10) automobile comprenant au moins un actionneur qui est adapté à influer sur la trajectoire dudit appareil (10) et un calculateur (13) pour piloter ledit actionneur, caractérisé en ce que le calculateur (13) est programmé pour mettre en œuvre un procédé selon l’une des revendications 1 à 12.

Description:
DESCRIPTION

T ITRE DE L’INVENTION : PROCÉDÉ DE PILOTAGE AUTONOME D’UN ACTIONNEUR D’UN APPAREIL

AUTOMOBILE

DOMAINE TECHNIQUE DE L'INVENTION

[0001] La présente invention concerne de manière générale l’automatisation du suivi de trajectoire d’appareils automobiles.

[0002] Elle trouve une application particulièrement avantageuse dans le cadre des aides à la conduite de véhicules automobiles, mais elle peut également s’appliquer au domaine de l’aéronautique ou de la robotique.

[0003] Elle concerne plus particulièrement un procédé de pilotage autonome d’un actionneur d’un appareil automobile qui est adapté à influer sur la trajectoire dudit appareil, comportant des étapes de :

- acquisition de paramètres relatifs à la trajectoire de l’appareil, et de

- calcul par un calculateur d’une consigne de pilotage dudit actionneur en fonction desdits paramètres, au moyen d’un contrôleur associé à au moins une fonction de saturation d’une sortie du contrôleur.

[0004] Elle concerne aussi un appareil équipé d’un calculateur adapté à mettre en œuvre ce procédé.

[0005] Elle s’applique plus particulièrement, mais pas exclusivement au suivi d’une trajectoire d’évitement d’un obstacle par un véhicule automobile.

ETAT DE LA TECHNIQUE

[0006] Dans un souci de sécurisation des véhicules automobiles, on équipe actuellement ces derniers de systèmes d’aide à la conduite ou de systèmes de conduite autonome.

[0007] Parmi ces systèmes, on connaît notamment les systèmes de freinage d’urgence automatique (plus connu sous l’abréviation AEB, de l’anglais « Automatic Emergency Braking »), conçus pour éviter toute collision avec des obstacles situés dans la voie empruntée par le véhicule, en agissant simplement sur le système de freinage conventionnel du véhicule automobile.

[0008] Il existe toutefois des situations dans lesquelles ces systèmes de freinage d’urgence ne permettent pas d’éviter la collision ou ne sont pas utilisables (par exemple si un engin suit de près le véhicule automobile).

[0009] Pour ces situations, il a été développé des systèmes d’évitement automatique (plus connu sous l’abréviation AES, de l’anglais « Automatic Evasive Steering » ou « Automatic Emergency Steering ») qui permettent d’éviter l’obstacle en déviant le véhicule de sa trajectoire, soit en agissant sur la direction du véhicule, soit en agissant sur le système de freinage différentiel du véhicule. On notera que l’obstacle peut être dans la même voie que le véhicule ou dans une voie adjacente, auquel cas il est détecté que cet obstacle peut se trouver dans un court délai sur la trajectoire du véhicule.

[0010] Il arrive toutefois que le système AES impose au véhicule une trajectoire limite en termes de contrôlabilité, qui ne permet pas au conducteur de reprendre la main sur la conduite du véhicule en toute sécurité.

[0011] On connaît alors du document FR3099450 une solution consistant à utiliser un contrôleur qui permet de générer une consigne de pilotage telle que le véhicule reste contrôlable par le conducteur du véhicule si ce dernier souhaite reprendre la main pendant la procédure d’évitement. Pour cela, le contrôleur limite l’amplitude et la vitesse du changement de direction imposé au véhicule automobile, au moyen de fonctions tangente hyperbolique. Cette solution bien qu’efficace dans de nombreuses configurations, présente une performance (c’est-à-dire un bon suivi de la trajectoire d’évitement) parfois améliorable car la modélisation LPV utilisée (linéaire à paramètre variant) est conservatrice et ne décrit pas explicitement les caractéristiques type des saturations.

PRÉSENTATION DE L'INVENTION

[0012] Afin de remédier à l’inconvénient précité de l’état de la technique, la présente invention propose un procédé de pilotage tel que défini dans l’introduction, dans lequel le contrôleur satisfait une modélisation de ladite au moins une fonction de saturation par secteur non linéaire.

[0013] En d’autres termes, le contrôleur est synthétisé sur la base d’une approche par secteur non linéaire, de façon à pouvoir garantir non seulement la stabilité de l’appareil automobile dans toutes les situations, mais aussi une bonne performance dès que la situation le permet.

[0014] Ainsi, l’invention propose une technique plus appropriée pour modéliser les fonctions de saturation. Cette technique présente en effet de nombreux avantages par rapport à la solution décrite dans le document FR3099450.

[0015] Comme cela a été mentionné, elle assure tout d’abord de bonnes performances, c’est-à-dire un bon suivi de position et de cap, ce qui permet au véhicule de suivre avec une plus grande précision la trajectoire de référence calculée pour éviter l’obstacle.

[0016] La solution revendiquée assure en outre une grande stabilité tant que les perturbations présentent une énergie bornée, c’est-à-dire notamment tant que la trajectoire à suivre présente une courbure restant dans des bornes acceptables. En d’autres termes, cette solution permet de savoir rapidement si la trajectoire d’évitement calculée est réalisable dynamiquement par le véhicule, de façon à n’activer la fonction AES que lorsque c’est le cas.

[0017] L’invention propose en outre de synthétiser le contrôleur en séparant les conditions de stabilité et celles de performance. Plus précisément, en mode linéaire (lorsque le contrôleur n’est pas saturé), le contrôleur garantit la performance (ce qui implique la stabilité). En mode saturation (lorsque le contrôleur est saturé), ce contrôleur cherche à stabiliser le système en boucle fermée. Ainsi le contrôleur ne cherche-t-il pas toujours à garantir la stabilité et la performance en même temps, quel que soit le mode de fonctionnement, ce qui permet d’obtenir de meilleures performances dans certains modes de fonctionnement.

[0018] En d’autres termes, en cas de saturation, le contrôleur cherche principalement à garantir la stabilité du système. En l’absence de saturation (ce qui est statistiquement généralement le cas), il cherche également à garantir la performance, c’est-à-dire un bon suivi de trajectoire d’évitement. Il permet ainsi d’obtenir des résultats meilleurs que ceux obtenus par les méthodes proposées dans l’art antérieur, où la stabilité primait toujours sur la performance.

[0019] Selon l’invention, le contrôleur fonctionne même si les états initiaux du véhicule au moment du déclenchement de la fonction AES sont non nuis (cap initial, vitesse de lacet initiale...), ce qui arrive quand le véhicule a déjà une certaine dynamique (par exemple parce qu’il se trouve dans un virage au moment du déclenchement de la fonction AES d’évitement d’obstacle), ce qui n’est pas le cas de la solution décrite dans le document FR3099450. Pour atteindre ce résultat, le contrôleur est synthétisé en considérant les états initiaux du véhicule.

[0020] L’invention propose en outre un calcul automatique des gains du correcteur utilisé dans la loi de commande du véhicule, ce qui permet de réduire le temps de conception de cette loi de commande.

[0021] Le contrôleur proposé est optimal et cohérent avec les limites de contrôlabilité propres au véhicule, parce que les contraintes sur l’angle de braquage et sur la vitesse de braquage sont prises en compte au préalable dans la synthèse du contrôleur.

[0022] La robustesse du contrôleur est en outre garantie pour une partie des courbures de trajectoire d’évitement d’obstacle (tant que l’énergie nécessaire pour suivre cette trajectoire reste bornée), compte tenu des conditions de saturation de l’actionneur (liée à la contrôlabilité du véhicule par le conducteur).

[0023] Comme cela apparaîtra bien dans la suite de la description, la méthode d’estimation de la zone de stabilité dans laquelle le contrôleur doit rester consiste ici en une estimation d’un bassin d’attraction. Cette méthode garantie la stabilité si l’état initial du véhicule, au moment de l’activation de la fonction AES, respecte certains critères. [0024] La méthode selon l’invention offre de bons résultats en termes de stabilité du véhicule, de performance (bon suivi de trajectoire), de tolérance aux délais de mesures des données utilisées dans le cadre de l’invention.

[0025] D’autres caractéristiques avantageuses et non limitatives du procédé conforme à l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes :

- l’appareil est un véhicule automobile qui est adapté à rouler sur route et qui comprend au moins une roue directrice, dans lequel ledit actionneur est adapté à commander le braquage de ladite roue directrice, et dans lequel la consigne de pilotage est une consigne saturée d’angle de braquage de ladite roue directrice ;

- la fonction de saturation satisfait un modèle limiteur d’amplitude de consigne de pilotage et s’exprime sous la forme : ^(x) = sa^iKx - Kx, avec K le contrôleur, sat n une fonction de limitation d’amplitude, et x un vecteur d’état dudit appareil ;

- la fonction de saturation satisfait un modèle limiteur de variation de consigne de pilotage et s’exprime sous la forme : i/> 2 (x) = sat v (A^ + B^aίhίKc)) - (A^ + B^aίhίKc)), avec K le contrôleur, sat v une fonction de limitation d’amplitude, A1 et B1 des matrices prédéterminées, et x un vecteur d’état dudit appareil ;

- étant donné un bassin d’attraction situé dans au moins un polyèdre défini en fonction de la modélisation de ladite au moins une fonction de saturation, en l’absence de perturbation, le contrôleur garantit qu’un vecteur d’état dudit appareil présente de valeurs successives au cours du temps qui restent dans le bassin d’attraction et qui convergent asymptotiquement vers l’origine dans un temps prédéterminé ;

- étant donné un bassin d’attraction situé dans au moins un polyèdre défini en fonction de la modélisation de ladite au moins une fonction de saturation, en présence d’une perturbation dont l’énergie est inférieure à un seuil prédéterminé, le contrôleur garantit qu’un vecteur d’état dudit appareil présente de valeurs successives au cours du temps qui restent dans le bassin d’attraction ;

- la sortie à minimiser s’exprime sous la forme \ z = e VL + a y . y ί avec e yi _ l’erreur de suivi de trajectoire, Yi_ l’erreur d’angle de cap et a y un coefficient de réglage qui varie au cours du temps ;

- en l’absence de saturation de la sortie du contrôleur, le contrôleur garantit que la synthèse de la norme H appliquée au contrôleur est inférieure à un scalaire prédéterminé ;

- l’un desdits paramètres est une variable qui dépend de la courbure de la trajectoire ;

- ledit bassin d’attraction est défini au moyen d’une fonction de Lyapunov, de perturbations qui s’appliquent audit appareil et d’un terme qui dépend de ladite au moins une fonction de saturation ;

- le contrôleur satisfait une modélisation dudit appareil dans laquelle une sortie à minimiser est une fonction d’une erreur de suivi de trajectoire et d’une erreur d’angle de cap ;

- l’importance de l’erreur de suivi de trajectoire et l’importance de l’erreur d’angle de cap dans le calcul de la consigne de pilotage varient au cours du temps.

[0026] Préférentiellement, il est prévu de désactiver le contrôleur : n dès que les valeurs initiales d’un vecteur d’état dudit appareil n’appartiennent pas à un premier espace prédéterminé, ou n lorsque lesdites valeurs initiales n’appartiennent pas au premier espace et que les valeurs instantanées dudit vecteur d’état n’appartiennent pas à un second espace prédéterminé.

[0027] Cette méthode de désactivation du contrôleur est déterminée en se basant sur la zone de stabilité et sur des paramètres d’état du véhicule (l’angle de dérive, la vitesse de lacet, l’angle de cap, la position latérale, l’angle de volant, la vitesse de volant et la courbure de la trajectoire à suivre). Les conditions de désactivation édictées permettent de garantir le bon fonctionnent du contrôleur et de diagnostiquer des situations anormales (risque d’instabilité du véhicule, défaillances des capteurs, actionneurs, comportements véhicule/conducteur imprévus... ).

[0028] L’invention concerne aussi un appareil automobile comprenant au moins un actionneur qui est adapté à influer sur la trajectoire dudit appareil et un calculateur pour piloter ledit actionneur, programmé pour mettre en œuvre un procédé selon l’une des revendications précédentes.

[0029] 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.

DESCRIPTION DÉTAILLÉE DE L'INVENTION

[0030] La description qui va suivre en regard des dessins annexés, donnés à titre d’exemples non limitatifs, fera bien comprendre en quoi consiste l’invention et comment elle peut être réalisée.

[0031] Sur les dessins annexés :

[0032] [Fig. 1A] est une vue schématique de dessus d’un véhicule automobile qui circule sur une route et qui est adapté à mettre en œuvre un procédé conforme à l’invention ; [0033] [Fig. 1 B] est une vue homologue de la figure 1 A ;

[0034] [Fig. 2] est une vue schématique en perspective du véhicule automobile de la figure 1A, représenté dans quatre positions successives situées le long d’une trajectoire d’évitement d’un obstacle ;

[0035] [Fig. 3] est un schéma illustrant la fonction de transfert en boucle fermée utilisée pour piloter le véhicule automobile de la figure 1A ;

[0036] [Fig. 4] est un graphique illustrant les polyèdres de saturation et le bassin d’attraction du contrôleur utilisé dans le cadre de l’invention, et un exemple de variation de l’état du véhicule en l’absence de perturbation,

[0037] [Fig. 5] est un graphique homologue de celui de la figure 4, sur lequel l’exemple de variation de l’état du véhicule est représenté en cas de présence d’une perturbation ; [0038] [Fig. 6] est un graphique illustrant l’influence d’un réglage sur la performance du contrôleur ; et

[0039] [Fig. 7] est un graphique illustrant un algorithme de pilotage du véhicule selon un procédé conforme à l’invention.

[0040] Sur la figure 1A, on a représenté un véhicule automobile 10 comprenant classiquement un châssis qui délimite un habitacle, deux roues avant 11 directrices, et deux roues arrière 12 non directrices. En variante, ces deux roues arrière pourraient également être directrices avec une adaptation de la loi de commande.

[0041] Ce véhicule automobile 10 comporte un système de direction conventionnel permettant d’agir sur l’orientation des roues avant 11 de façon à pouvoir faire tourner le véhicule. Ce système de direction conventionnel comprend notamment un volant connecté à des biellettes afin de faire pivoter les roues avant 11. Dans l’exemple considéré, il comporte également un actionneur permettant d’agir sur l’orientation des roues avant en fonction de l’orientation du volant et/ou en fonction d’une requête reçue d’un calculateur 13.

[0042] En complément, on pourra éventuellement prévoir que ce véhicule automobile comporte un système de freinage différentiel permettant d’agir différemment sur les vitesses de rotation des roues avant 11 (et le cas échéant sur celles des roues arrière 12) de façon à ralentir le véhicule automobile en le faisant tourner. Ce système de freinage différentiel comprend par exemple un différentiel piloté ou des moteurs électriques placés au niveau des roues du véhicule.

[0043] Dans la suite de cet exposé, le système de direction considéré sera formé par le seul système de direction conventionnel. En variante, il pourrait être formé par la combinaison du système de direction conventionnel et du système de freinage différentiel. [0044] Le calculateur 13 est alors prévu pour piloter l’actionneur de direction assistée. Il comporte à cet effet au moins un processeur, au moins une mémoire et différentes interfaces d'entrée et de sortie.

[0045] Grâce à ses interfaces d'entrée, le calculateur 13 est adapté à recevoir des signaux d'entrée provenant de différents capteurs.

[0046] Parmi ces capteurs, il est par exemple prévu :

- un dispositif tel qu’une caméra frontale, permettant de repérer la position du véhicule par rapport à sa voie de circulation,

- un dispositif tel qu’un télédétecteur RADAR ou LIDAR, permettant de détecter un obstacle 20 se trouvant sur la trajectoire du véhicule automobile 10 (figure 2),

- au moins un dispositif latéral tel qu’un télédétecteur RADAR ou LIDAR, permettant d’observer l’environnement sur les côtés du véhicule,

- un dispositif tel qu’un gyromètre, permettant de déterminer la vitesse de rotation en lacet (autour d’un axe vertical) du véhicule automobile 10, et

- un capteur de position et de vitesse angulaire du volant.

[0047] Grâce à ses interfaces de sortie, le calculateur 13 est adapté à transmettre une consigne à l’actionneur de direction assistée.

[0048] Il permet ainsi de forcer le véhicule à suivre une trajectoire d’évitement T0 de l’obstacle 20 (voir figure 2).

[0049] Grâce à sa mémoire, le calculateur 13 mémorise des données utilisées dans le cadre du procédé décrit ci-dessous.

[0050] Il mémorise notamment une application informatique, constituée de programmes d’ordinateur comprenant des instructions dont l’exécution par le processeur permet la mise en œuvre par le calculateur du procédé décrit ci-après.

[0051] Avant de décrire ce procédé, on peut introduire les différentes variables qui seront utilisées, dont certaines sont illustrées sur les figures 1A et 1B.

[0052] La masse totale du véhicule automobile sera notée « m » et sera exprimée en kg.

[0053] L’inertie du véhicule automobile autour d’un axe vertical passant par son centre de gravité CG sera notée « J » et sera exprimée en N.m.

[0054] La distance entre le centre de gravité CG et l’essieu avant du véhicule sera notée « I f » et sera exprimée en mètres.

[0055] La distance entre le centre de gravité CG et l’essieu arrière sera notée « l r » et sera exprimée en mètres.

[0056] Le coefficient de rigidité de dérive des roues avant sera noté « C f » et sera exprimé en N/rad.

[0057] Le coefficient de rigidité de dérive des roues arrière sera noté « C r » et sera exprimé en N/rad.

[0058] Ces coefficients de rigidité de dérive des roues sont des notions bien connues de l’homme du métier. A titre d’exemple, le coefficient de rigidité de dérive des roues avant est ainsi celui qui permet d’écrire l’équation F f = 2.C f .a f , avec F f la force latérale de glissement des roues avant et a f l’angle de dérive des roues avant.

[0059] L’angle de braquage que font les roues avant directrices avec l’axe longitudinal A1du véhicule automobile 10 sera noté « d » et sera exprimé en rad.

[0060] La variable ô ref , exprimée en rad, désignera la consigne saturée d’angle de braquage, telle qu’elle sera transmise à l’actionneur de direction assistée.

[0061] La variable dk, exprimée en rad, désignera la consigne non saturée d’angle de braquage. A ce stade, on pourra seulement préciser que le concept de saturation sera lié à des limites d’angle de braquage et de vitesse de braquage qui ne seraient pas nécessairement respectées avec la variable dk, mais qui le seraient avec la variable ô ref . [0062] La variable ô sat , exprimée en rad, désignera la consigne semi-saturée d’angle de braquage. Elle est issue de la consigne non saturée dk et est saturée en angle de braquage uniquement. La consigne saturée ô ref sera calculée sur la base de cette consigne semi-saturée ô sat .

[0063] Le repère du véhicule aura ici pour origine son centre de gravité CG. Son abscisse Xv sera orientée selon l’axe longitudinal A1 du véhicule automobile 10, et son ordonnée Yv sera orientée latéralement, sur le côté gauche du véhicule.

[0064] La vitesse de lacet du véhicule (autour de l’axe vertical passant par son centre de gravité CG) sera notée « r » et sera exprimée en rad/s.

[0065] L’angle relatif de cap entre l’axe longitudinal A1 du véhicule et la tangente à la trajectoire d’évitement T0 (trajectoire souhaitée du véhicule) sera noté « Yi_ » et sera exprimé en rad.

[0066] L’écart latéral entre l’axe longitudinal A1 du véhicule automobile 10 (passant par le centre de gravité CG) et la trajectoire d’évitement T0, à une distance de visée « Is » située à l’avant du véhicule, sera noté « yi_ » et sera exprimé en mètres.

[0067] La consigne d’écart latéral entre l’axe longitudinal A1 du véhicule automobile 10 (passant par le centre de gravité CG) et la trajectoire d’évitement T0, à une distance de visée « Is » située à l’avant du véhicule, sera notée « yi_- ref » et sera exprimée en mètres. [0068] L’erreur de suivi de trajectoire sera notée « e yi _ » et sera exprimée en mètres. Elle sera égale à la différence entre la consigne d’écart latéral yi_- ref et l’écart latéral yi_.

[0069] La distance de visée « Is » précitée sera mesurée à partir du centre de gravité CG et s’exprimera en mètres.

[0070] L’angle de dérive du véhicule automobile 10 (angle que fait le vecteur vitesse du véhicule automobile avec son axe longitudinal A1) sera noté « b » et sera exprimé en rad. [0071] La vitesse du véhicule automobile sera notée « V » et s’exprimera en m/s.

[0072] Les constantes « x » et « w » représenteront des caractéristiques dynamiques de l’angle de braquage des roues avant du véhicule. [0073] La constante « oo f » représentera quant à elle une caractéristique dynamique d’une perturbation arbitraire « w » bornée appliquée au véhicule.

[0074] La constante « g » sera l’accélération de la pesanteur, exprimée en m.s 2 .

[0075] La vitesse de braquage désignera la vitesse angulaire de braquage des roues avant directrices.

[0076] Le procédé selon l’invention est prévu pour permettre au véhicule de suivre la trajectoire d’évitement T0 le plus précisément possible, en mode autonome. Ce procédé est mis en œuvre lorsque la fonction AES d’évitement automatiquement d’obstacle est déclenchée et qu’une trajectoire d’évitement T0 a été calculée. On notera que la manière de déclencher la fonction AES et de calculer la trajectoire d’évitement T0 ne fait pas à proprement parler l’objet de la présente invention, et ne sera donc pas ici décrite. Ce procédé est prévu pour être mis en œuvre en boucle, lors de « pas de temps » successifs.

[0077] On notera ici que le suivi de trajectoire est prévu pour être opéré de manière autonome par le calculateur 13, mais qu’il doit pouvoir aussi être interrompu à tout instant pour permettre au conducteur de reprendre le contrôle du véhicule. Il doit aussi pouvoir être utilisé comme aide pour le conducteur lorsque ce dernier tient le volant mais n’exerce pas le couple qu’il faudrait sur le volant pour éviter l’obstacle.

[0078] Avant de décrire le procédé qui sera exécuté par le calculateur 13 pour mettre en œuvre l’invention elle-même, on pourra dans une première partie de cet exposé décrire les calculs qui ont permis d’aboutir à l’invention, de façon à bien comprendre d’où proviennent ces calculs et sur quels ressorts ils s’appuient.

[0079] L’idée de la première partie de l’exposé est en effet de décrire la façon selon laquelle il est possible de synthétiser un contrôleur qui, une fois implémenté dans le calculateur 13, permettra de piloter le véhicule de façon à ce qu’il suive la trajectoire d’évitement T0 de façon stable et performante.

[0080] On considérera ici que le comportement dynamique du véhicule peut être modélisé au moyen de l’équation Mathl suivante.

[0081] [Math 1]

[0083] Ce modèle est un modèle bicyclette amélioré.

[0084] Le terme oo f est utilisé pour modéliser la dynamique de la courbure de la trajectoire d’évitement T0 à suivre (laquelle est calculée par ailleurs et est donc déjà connue).

[0085] Le terme p ref de courbure de la trajectoire d’évitement T0 permet alors de tenir compte de la trajectoire du véhicule (et donc de la courbure de la route) dans la modélisation du comportement dynamique du véhicule.

[0086] Ce modèle ne permet toutefois pas en soit de limiter l’angle de braquage et la vitesse de braquage des roues avant 11 du véhicule. Or une telle limitation s’avère particulièrement importante pour assurer au conducteur du véhicule d’être en mesure de reprendre le contrôle du véhicule à tout moment.

[0087] De telles limitations peuvent s’exprimer à l’aide de l’équation suivante, par une saturation en vitesse de braquage :

[0088] [Math 2]

[0089] \S ref \ £ v

[0090] Ainsi qu’à l’aide de l’équation suivante, par une saturation en amplitude de braquage:

[0091] [Math 3]

[0092] | S re f | < h

[0093] Dans l’équation Math 2, le coefficient u est une constante qui représente la vitesse de braquage à ne pas dépasser. Cette constante est définie soit par calcul, soit à l’issue d’une campagne d’essais réalisés sur un véhicule test. Elle est par exemple égale à 0,0491 Rad/s, ce qui correspond à 0,785 Rad/s au niveau du volant (c’est-à-dire 45°/s) si le coefficient de démultiplication de la direction est égal à 16.

[0094] Dans l’équation Math 3, le coefficient h est une constante qui représente l’angle de braquage à ne pas dépasser. Cette constante est définie soit par calcul, soit à l’issue d’une campagne d’essais réalisés sur un véhicule test. Elle est par exemple égale à 0,0328 Rad, ce qui correspond dans notre exemple à 0,524 Rad au niveau du volant (c’est-à-dire 30°).

[0095] La contrainte exprimée par l’équation Math 3 permet de limiter le couple exercé par l’actionneur de direction assistée afin qu’un conducteur moyen puisse compenser manuellement ce couple.

[0096] En effet, plus l’angle de braquage est grand, plus l’effort appliqué par l’actionneur de direction assistée sera grand. Cette limitation assure ainsi à l’usager de pouvoir reprendre le contrôle du véhicule sans avoir à contrer un effort trop important. Cet angle dépendra alors de l’effort appliqué par le type d’actionneur choisi.

[0097] On notera que les valeurs précitées sont données à titre d’exemple et pourraient en variante être plus réduites (par exemple 25°/s et 20° pour assurer un confort plus grand). [0098] Selon l’invention, on souhaite limiter l’angle et la vitesse de braquage des roues directrices 11 non pas en imposant un seuil brutal, mais plutôt en saturant progressivement l’amplitude de consigne et la variation de consigne.

[0099] Sur la figure 3, on a représenté l’architecture de contrôle utilisé pour piloter l’actionneur de direction assistée de façon qu’il suive la trajectoire d’évitement T0 tout en respectant les contraintes précitées.

[0100] Sur cette figure, on a représenté un contrôleur K qui permet de calculer une consigne non saturée d’angle de braquage dk. Ce contrôleur K comporte avantageusement un sommateur qui fournit en sortie la consigne non saturée d’angle de braquage dk et qui reçoit en entrée un terme de retour d’état (issu d’un bloc de retour d’état K p ) qui dépend de l’état du véhicule, et un terme de compensation de saturation (issu d’un bloc de compensation des saturations K a ) qui dépend de la consigne saturée d’angle de braquage ô ref calculée au pas de temps précédent.

[0101] Le terme de compensation de saturation permet de renforcer la stabilité du contrôleur en mode non linéaire, c’est-à-dire dans les cas où la commande de l’actionneur de direction assistée est saturée en amplitude ou en vitesse.

[0102] Le bloc SAT1 représenté sur la figure 3 illustre la saturation en amplitude de la consigne non saturée d’angle de braquage dk. Elle reçoit en entrée la sortie du contrôleur K et elle fournit en sortie une consigne semi-saturée d’angle de braquage ô sat . On observe que ce bloc fonctionne en boucle ouverte.

[0103] L’ensemble de blocs SAT2 illustre la saturation en vitesse de la consigne semi- saturée d’angle de braquage ô sat . Elle reçoit en entrée cette consigne semi-saturée et elle fournit en sortie la consigne saturée d’angle de braquage ô ref . On observe qu’il s’agit d’une boucle fermée. Dans cet ensemble de blocs SAT2, correspondant à une fonction « pseudo rate limiter », il est donc prévu en entrée un sommateur qui permet de calculer l’écart D entre la consigne semi-saturée d’angle de braquage ô sat et la consigne saturée d’angle de braquage ô ref au pas de temps précédent. Elle comporte un bloc multiplicateur permettant de multiplier cet écart par un paramètre l, un bloc de saturation permettant le non dépassement de la dérivée de la consigne saturée d’angle de braquage ô ref selon l’équation Math2 et un bloc intégrateur permettant d’obtenir la consigne saturée d’angle de braquage ô ref (via une transformée de Laplace).

[0104] Le paramètre l représente la dynamique des blocs SAT2 (pour notre application, on peut considérer l=500), et plus l est grand plus ce pseudo rate limiter se rapproche d’une fonction « rate-limiter ».

[0105] Sur la figure 3, le bloc P sy s représente le système en boucle ouverte qui décrit la dynamique du véhicule et le comportement de l’actionneur de direction assistée. [0106] On observe que ce bloc reçoit en entrée une perturbation w et la consigne saturée d’angle de braquage d GQί . Il fournit en sortie un vecteur de sortie y et une erreur z. [0107] Selon une caractéristique avantageuse, cette erreur z à minimiser est une fonction de l’erreur de suivi de trajectoire e yi _ et de l’angle relatif de cap entre l’axe longitudinal A1 du véhicule et la tangente à la trajectoire d’évitement T0 (noté ci-après erreur de cap Yi_), dont on sait qu’il convient de les minimiser. On peut alors écrire :

[0108] [Math 4]

[0109] z = e yL + a^. xp L

[0110] Dans cette équation, le terme ay est un coefficient de réglage qui permet d’ajuster l’erreur que l’on souhaite prioritairement minimiser (erreur de suivi de cap (heading-angle en anglais) ou erreur de suivi de position). On verra dans la suite de cet exposé comment la valeur de ce coefficient de réglage est choisie. Ce choix d’erreur z en sortie permet de garantir à la fois le bon suivi de position et le bon suivi de cap.

[0111] Le vecteur de sortie y est ici considéré égal à un vecteur d’état préliminaire x p , dont tous les éléments sont mesurables ou estimables en roulant, et que l’on peut écrire sous la forme :

[0112] [Math 5]

[0113] c r = (b r ip L e yL d d p ref ) T

[0114] L’objectif est alors de déterminer la forme du contrôleur K qui est un régulateur du retour d’état permettant de calculer la consigne d’angle de braquage non saturée dk sur la base du vecteur d’état préliminaire x p .

[0115] On notera que l’un des paramètres de ce vecteur d’état (la variable d’état p ref ) dépend de la courbure de la trajectoire d’évitement T0. La dynamique (c’est-à-dire la dérivé) de la courbure est supposée connue (puisqu’on connaît la trajectoire d’évitement T0). En intégrant cette dynamique dans le modèle du véhicule, on obtient donc un système augmenté donc la courbure devient un état (qui est une entrée du contrôleur K). De cette manière, la compensation de la courbure est traitée d’une manière plus précise (via la connaissance de la dynamique de la courbure) qu’elle le serait si on employait une méthode plus classique (de type « FeedForward ») qui considère des courbures statiques ou à faibles variations.

[0116] Pour comprendre comment déterminer un contrôleur K qui convienne tant en termes de stabilité que de performance, on peut tout d’abord décrire le système Psys lorsqu’il fonctionne en boucle ouverte, c’est-à-dire en mode linéaire, sans saturation (cas où les consignes saturée et non saturée d’angle de braquage d GQί , dk sont égales).

[0117] On peut écrire notre système sous une forme générique :

[0118] [Math 6] c r = A p . x p + B p . u p + B w . w iip = — Aiip + Aii j(

[0120] Dans cette équation :

- le terme u p est l’entrée de commande saturée, ici égale à la consigne d’angle de braquage saturée ô ref ,

- le terme UK est l’entrée de commande non saturée, ici égale à la consigne d’angle de braquage non saturée dk,

- w est la perturbation, supposée bornée,

- A p est une matrice dynamique,

- B p est une matrice de commande et

- B w est une matrice de perturbation.

[0121] On peut écrire ces trois matrices sous la forme suivante.

[0122] [Math 7]

[0128] Le contrôleur K, dont on cherche les gains optimaux qui répondent à nos critères de contrôle, qui est défini comme un régulateur de retour d’état statique, peut quant à lui s’exprimer sous la forme :

[0129] [Math 10] [0130] u K = K. x [0131] Avec [0132] [Math 11] = ¾w]

[0133] \ K

( x [Xp u p ]T

[0134] x est le vecteur d’état augmenté par la consigne d’angle de braquage saturée ô ref qui sera considéré dans la suite de cet exposé. Ses paramètres seront appelés variables d’état.

[0135] Le terme U K est, dans notre application, considéré égal à la consigne non saturée d’angle de braquage dk.

[0136] On peut maintenant décrire le système Psys en boucle fermée, c’est-à-dire en mode non linéaire avec saturation (cas où les consignes saturée et non saturée d’angle de braquage d G ί , dk sont inégales).

[0137] Sur la base des équations Math 6 et Math 10, on peut écrire :

[0138] [Math 12]

[0139] x = (A + BA t + BB ± K)x + BB^^x) + Bp 2 (x)

[0140] Dans cette équation, les termes x, A, B, Ai et Bi sont définis de la manière suivante :

[0141] [Math 13]

[0143] [Math 14]

A 0144] p B

[ A = p 0 0 .

[0145] [Math 15]

[0146] fl = [°]

[0147] I est la matrice identité.

[0148] [Math 16]

[0149] A = [0 -2]

[0150] [Math 17]

[0151] B ± = l

[0152] Pour la prise en compte des contraintes de contrôlabilité telles que définies dans les équations Math 2 et Math 3, on a introduit deux nouvelles fonctions de saturation Yi(c) et 4 (x), qui représentent le dépassement des limites de l’entrée de la commande non saturée.

[0153] On cherche alors à modéliser les fonctions de saturation via une modélisation par secteurs non-linéaires (de l’anglais « dead-zone nonlinearity »), sur la base de travaux divulgués dans le document référencé : « Alessandra Palmeira, Joâo Manoel Gomes da Silva Jr, Sophie Tarbouriech, I. Ghiggi. Sampled-data control under magnitude and rate saturating actuators. International Journal of Robust and Nonlinear Control, Wiley, 2016, 26 (15), pp.3232 - 3252 ».

[0154] Les deux fonctions de saturation Yi(c) et 4 (x) peuvent donc être définies ainsi : [0155] [Math 18]

[0159] Dans ces deux équations, on utilise une fonction de saturation notée satro(f), qui peut être définie ainsi :

[0160]

[0161]

[0162] On notera donc que ces deux fonctions de saturation Yi(c), Y2(c) présentent des valeurs nulles en mode non saturé et non nulles sinon.

[0163] Pour modéliser les limites de contrôlabilité du système, on peut définir deux polyèdres, dont l’un, noté Si(x,q), modélise le comportement de la saturation en amplitude et l’autre, noté 82(c,Yi,n) modélise le comportement de la saturation en vitesse. Ces deux polyèdres peuvent être modélisés sous la forme suivante :

[0164] [Math 21]

[0165] X^c,h) = {x e R n , \ (K — G x ) | £ h }

[0166] [Math 22]

[0167] S 2 (x,\p 1 ,v) = {x e R n , ip t e R m , \(A t + B t K - G 2 )x + (B t - G 3 )^ 1 (x)| £ v}

[0168] Ces modélisations font intervenir des matrices Gi, G2 et G3. Ces matrices ont la même dimension que celle du contrôleur K. Elles illustrent l’écart que l’on autorise pour dépasser les contraintes de saturation.

[0169] A titre illustratif, la matrice G1 pourrait être considérée égale au produit de la matrice K par un scalaire ak. Alors l’équation math 21 pourrait être réécrite sous une forme faisant intervenir le terme (1-ak), qui constituera donc un réglage du dépassement autorisé. Ce dépassement pourra par exemple être réglé à 10 %. Pour régler ce dépassement, il conviendra de faire des essais routiers.

[0170] Toutefois, de préférence, cette matrice G1 ne sera pas une fonction de la matrice K. Elle devra être optimisée non par des essais routiers, mais par calculs, par exemple par la méthode des inégalités matricielles linéaires. De cette façon, on évitera le conservatisme d’une solution telle que celle décrite au paragraphe précédent.

[0171] Dans un premier temps, on peut supposer que pendant le fonctionnement du système en boucle fermée (tel que défini dans l’équation Math 12), les vecteurs d’état x et la variable Yi se trouvent dans ces deux polyèdres, si bien qu’on peut écrire :

[0172] [Math 23]

G01731 i x e Si M 1 J {(. c ,y ί ) e S 2 (.x,ip 1 ,v)

[0174] Ces deux polyèdres sont ici représentés sur les figures 4 et 5 et représentent donc, comme cela sera bien décrit supra, les deux espaces au sein desquels la stabilité et la performance du système sont garanties.

[0175] On notera à ce stade que ces figures illustrent des graphiques en deux dimensions, simplifiant la solution décrite ci-dessus en vue de la rendre plus compréhensible.

[0176] En d’autres termes, cette représentation en deux dimensions ne vaudrait que si le vecteur d’état x comportait deux variables d’état seulement, l’une formant l’abscisse et l’autre l’ordonnée de chacun de ces graphiques.

[0177] En pratique, ici, le vecteur d’état comporte huit variables d’état. Une représentation de l’invention devrait donc être tracée en huit dimensions.

[0178] Avec l’hypothèse posée dans l’équation ci-dessus, les inégalités suivantes sont satisfaites pour toutes les matrices diagonales positives Ui et U2 , qui sont plus précisément ici des grandeurs scalaires positives :

[0179] [Math 24]

[0180]

[0181] On notera ici que ces grandeurs scalaires Ui et l^ sont ici introduites simplement pour faciliter les calculs subséquents (selon la S-procédure).

[0182] Pour résumer, les équations Math 21 et 22 sont deux modèles de saturation, respectivement en amplitude et en vitesse, qui, tant qu’ils restent valables au sens de l’équation Math 23, permettent de s’assurer que les équations Math 24 le sont également. [0183] On peut alors utiliser ces modèles pour la synthèse (c’est-à-dire l’optimisation) du gain principal K p du retour d’état lié aux variables d’état du système en boucle ouverte P et du gain K a de compensation des saturations (ou « gain anti-windup ») du contrôleur K. [0184] L’équation Math 12 en boucle fermée et la représentation du système Psys représenté sur la figure 3 permettent d’écrire :

[0185] [Math 25]

[0187] Dans cette équation, z est l’erreur du système considéré, avec z=e yi _ +ai_.Yi_. [0188] La matrice Cz s’exprime alors de la manière suivante :

[0189] [Math 26] [0190] c z = [0 0 a y 1 0 0 0 0]

[0191] On suppose que la perturbation w est limitée en énergie, c’est à dire bornée, de sorte qu’on peut écrire :

[0192] [Math 27]

[0194] Cette hypothèse est liée au fait que la courbure de la trajectoire (qui est ici considérée comme une perturbation) et la durée d’activation de la fonction AES sont toujours bornées.

[0195] Donc, dans l’équation Math 27, où le terme w représente la courbure de la trajectoire d’évitement, la valeur maximale w max de cette courbure est connue (puisqu’on connaît les limites dynamiques du véhicule et donc la courbure maximale que le véhicule peut suivre en toute sécurité et de fait imposable par la planification de trajectoire). Par conséquent, le paramètre o peut être défini ainsi :

[0196] [Math 28]

[0198] Dans cette équation, le temps TAES correspond à la durée d’activation maximale de la fonction AES, qui est généralement comprise entre 1 et 3 secondes, et correspond notamment à la durée de la manœuvre d’évitement.

[0199] Compte tenu des limites de contrôlabilité que l’on souhaite imposer, w max étant la courbure de la trajectoire de référence la plus dynamique que la fonction AES puisse réaliser, cette courbure maximale peut être estimée en fonction de l’angle de braquage maximale (imposé par la contrainte de contrôlabilité Math 3). Par conséquent, on peut aussi écrire :

[0200] [Math 29]

[0202] Dans cette équation, le terme k est le gradient de sous virage, qui se calcule de la façon suivante :

[0203]

[0204]

[0205] Pour obtenir une solution optimale du contrôleur K, on définit tout d’abord une première fonction de Lyapunov V(t) pour les conditions de stabilité :

[0206] [Math 31]

[0207] V t ) = x T Px

[0208] On peut éventuellement définir aussi une seconde fonction de Lyapunov V Y (t) pour les conditions de performance : [0209] [Math 32]

[0210] n g( ) = c t R gc

[0211] Dans ces deux équations, les matrices P et P Y sont définies positives et symétriques.

[0212] L’intérêt de la première fonction de Lyapunov V(t) est que si sa dérivée première est strictement négative, elle garantit que le système sera toujours stable en l’absence de perturbation.

[0213] L’idée est alors ici d’utiliser cette première fonction dérivée, en y retranchant un terme qui prend en compte les perturbations et un autre terme qui prend en compte la saturation (au sens de l’équation Math 24), et de s’assurer que cet ensemble est toujours strictement négatif, ce que l’on peut écrire :

[0214] [Math 33]

[0215] V{t) - W T . W - 2. ip U 1 (ip 1 + G x x) - 2. ip U 2 (ip 2 + G 2 x + G 3^) < 0

[0216] Cette condition portant sur la première fonction de Lyapunov V(t) garantit la stabilité avec la présence ou non de la perturbation et avec la présence de la saturation de l’actionneur.

[0217] Sur les figures 4 et 5, on a représenté les deux polyèdres assurant la stabilité et la performance du système. On va alors chercher un espace situé simultanément dans ces deux polyèdres. Il pourrait par exemple s’agir de l’intersection de ces deux espaces. [0218] Toutefois, ici, on préférera modéliser cet espace sous la forme d’une ellipse appelée bassin d’attraction. Ce bassin d’attraction e est ici défini sous la forme :

[0219] [Math 34]

[0220] e(R,m) = {x e R n ,x T Px < m -1 }

[0221] En complément de la condition de stabilité portant sur la première fonction de Lyapunov V(t) définie par Math 33, ce bassin d’attraction doit être inclus dans les deux polyèdres S1 et S2, qui modélisent respectivement les saturations en amplitude et en vitesse, pour garantir la stabilité du système (qui reste la priorité à garantir).

[0222] Pour garantir la performance, on pourrait également définir un second espace, sur la base de la seconde fonction de Lyapunov V Y (t), mais on préférera ici utiliser un autre modèle (le modèle Hinfini, qui sera mentionné ci-après).

[0223] Le bassin d’attraction e est donc un espace de stabilité (ou espace invariant) du système considéré. En d'autres termes, il s’agit d’un espace au sein duquel les trajectoires des variables d’état (c’est-à-dire les composantes du vecteur d’état x) restent, pour autant qu’elles aient été initialisées dans cet espace (même si le système est soumis à des perturbations et des saturations des actionneurs).

[0224] Compte tenu des équations Math 21, Math 22 et Math 34, on a représenté de manière schématique sur les figures 4 et 5 les espaces dans lesquels les variables d’état du système peuvent évoluer.

[0225] Comme on pourra le comprendre sur ces figures, le contrôleur K est alors synthétisé de manière à répondre à trois objectifs.

[0226] Le premier objectif est qu’en absence de perturbation, le contrôleur K garantisse que les trajectoires des variables d’état du système en boucle fermée restent dans le bassin d’attraction e (ce qui assure la stabilité) et convergent asymptotiquement vers l’origine (ce qui assure la performance), notamment dans un temps prédéfini.

[0227] Sur la figure 4, on a considéré le cas d’absence de perturbation. Dans ce cas, l’espace des conditions initiales du système, notées Eo, et l’estimation Ei du bassin d’attraction e se confondent. On y observe que la trajectoire T1 du vecteur d’état x à partir d’une quelconque situation initiale converge bien vers l’origine.

[0228] Le deuxième objectif est qu’en présence de perturbation, le contrôleur K garantisse que les trajectoires des variables d’état du système en boucle fermée restent dans le bassin d’attraction e (ce qui assure la stabilité) quelle que soit la perturbation w, pour autant que cette dernière soit limitée en énergie (au sens de l’équation Math 27). [0229] Sur la figure 5, on a considéré ce cas où une perturbation intervient. Dans ce cas, l’espace des conditions initiales du système, notées Eo, sont nécessairement contenues dans l’estimation Ei du bassin d’attraction e. On y observe que la trajectoire T2 des variables d’états, lorsqu’il part d’une quelconque situation initiale contenue dans l’espace Eo, reste bien contenue à l’intérieur du bassin d’attraction e.

[0230] Le troisième objectif est qu’en mode linéaire (sans saturation en amplitude et en vitesse), le contrôleur K garantisse la performance du système, qui prime alors sur la stabilité, en faisant en sorte que la synthèse de la norme H soit inférieure à un scalaire prédéterminé.

[0231] On rappellera que cette synthèse consiste à trouver le contrôleur K qui est tel que la norme H du terme Fi(P sys , K) soit minimum, avec :

[0232] [Math 35]

[0233] z = F^P sys .K w

[0234] On peut écrire cette équation sous la forme suivante :

[0235] [Math 36]

[0236] V y (t) + z T z — y 2 w T w < 0

[0237] On notera ici que y est la norme H de la fonction de transfert de w -> z.

[0238] Cette synthèse implique un bon rejet de la perturbation w et un bon suivi de la trajectoire de référence (avec une erreur z proche de zéro).

[0239] En pratique, pour satisfaire ces trois objectifs, on pourrait utiliser plusieurs méthodes, par exemple une méthode basée sur la résolution des équations de Riccati ou une méthode utilisant la paramétrisation de Youla.

[0240] Mais la méthode utilisée ici est préférentiellement l’utilisation du lemme de Finsler appliquée aux inégalités matricielles linéaires (de l’anglais Linear Matrix Inequalities LMI) pour réduire le conservatisme (LMI relaxation), ce lemme de Finsler étant appliqué notamment à la fois à la stabilité (équation Math 33) et à la performance (équation Math 35). Elle est ainsi réalisée à partir de critères d’optimisation convexe sous contraintes d’inégalités matricielles linéaires (la linéarité des termes des matrices utilisées assurant au problème mathématique d’être possible à résoudre sans nécessiter une charge de calcul trop importante).

[0241] L’objectif est plus précisément d’optimiser les gains de la boucle fermée définie par le contrôleur K en jouant sur le choix des pôles.

[0242] Pour des réels positifs prédéfinis ei et £2, s’il existe des matrices de dimensions appropriées R, Q, Q, Q Y , L1, L2, T 1 , T2 et un scalaire £3 tel que le problème d’optimisation est faisable, on obtient donc un contrôleur K qui satisfait les trois objectifs précités.

[0243] Ces matrices sont calculées en fonction de la matrice P (voir équation Math 42). [0244] Les inéquations matricielles ici utilisées sont au nombre de cinq et sont définies par les inéquations suivantes, dans lesquelles y est à minimiser.

[0245] [Math 37]

[0255] Dans ces inéquations, une matrice de la forme est écrite sous la X y forme L* W-

[0256] Les matrices R, Q, Q, Q Y , Li, L2, T 1 , T2 s’expriment ici sous la forme suivante :

[0257] [Math 42]

[0259] Dans ces équations, J est une matrice non singulière.

[0260] Le contrôleur K est défini par l’équation :

[0261] [Math 43]

[0262] K = R. Q ~ 1

[0263] La vitesse V du véhicule est supposée constante (donc toutes les matrices du système sont considérées constantes).

[0264] Les quatre inéquations Math 37 à Math 40 permettent de s’assurer que la dynamique de la boucle fermée reste limitée, c’est-à-dire que le système reste stable en l’absence ou en présence d’une perturbation (les deux premières conditions sont donc remplies).

[0265] La cinquième inéquation Math 41 garantit la performance (au sens de la norme H 00 ) du système en boucle fermée quand le système est soumis à une perturbation et quand la sortie du contrôle K n’est pas encore saturée (ni en amplitude, ni en vitesse, c’est-à-dire lorsque les consignes de braquage ô ref et dk sont égales). Cette inéquation assure que la troisième condition est remplie.

[0266] Comme le montre la figure 6, plusieurs types de contrôleur K peuvent être obtenus en fonction de la valeur choisie de a y .

[0267] Sur cette figure, on observe alors qu’il est possible de jouer sur la performance du contrôleur K en ajustant la valeur de a y .

[0268] Ainsi, le coefficient de réglage a y , lorsqu’il présente une valeur réduite, permet d’obtenir un contrôleur K qui minimise l’erreur de suivi de position (zone ZC1). Au contraire, lorsqu’il présente une valeur élevée, il permet d’obtenir un contrôleur K qui minimise l’erreur de suivi de cap (zone ZC2). Entre ces valeurs extrêmes, il est possible de faire un compromis entre le suivi de position et le suivi de cap (zone ZC3).

[0269] En début d’évitement, le coefficient de réglage a y sera choisi avec une valeur réduite (inférieure à 20), pour minimiser l’erreur de suivi de position et s’assurer que le véhicule suive bien la trajectoire d’évitement T0.

[0270] En fin d’évitement (une fois l’obstacle dépassé), le coefficient de réglage a y sera choisi avec une valeur élevée (supérieure à 20), pour minimiser l’erreur de suivi de cap et s’assurer que le véhicule se replace bien parallèlement à la route.

[0271] Ainsi, à titre d’exemple, si le conducteur souhaite reprendre la main en fin d’évitement, la valeur élevée du coefficient de réglage a y est telle que la consigne d’angle de braquage saturée ô ref transmise à l’actionneur de direction assistée va aider le conducteur à stabiliser le véhicule.

[0272] Encore à titre d’exemple, si le conducteur souhaite reprendre la main en début d’évitement et qu’il s’écarte beaucoup plus de l’obstacle que prévu (au sens de la trajectoire d’évitement T0), la valeur élevée du coefficient de réglage a y en fin d’évitement fait en sorte que la consigne d’angle de braquage saturée ô ref ne ramène pas inutilement le véhicule sur la trajectoire d’évitement alors que celle-ci a été dépassé de beaucoup (ce qui serait sinon déstabilisant pour le conducteur).

[0273] A ce stade, on notera que le lemme de Finsler (au sens du document « Skelton, R. E., Iwasaki, T., and Grigoriadis, K. M. (1998). A Unified Algebraic Approach to Linear Control Design. Taylor and Francis, London ») a été appliqué aux inéquations matricielles linéaires pour réduire le conservatisme. En effet, deux matrices Lyapunov différentes Q et Q Y (au lieu d’une seule matrice commune) ont été respectivement utilisées pour les critères de stabilité et de performance.

[0274] La méthode proposée s’avère donc efficace lorsqu’il s’agit de déterminer à chaque instant l’angle de volant de façon raisonnable (et maîtrisable par un conducteur aux compétences moyennes) et de manière réalisable par l’actionneur.

[0275] Après résolution des inégalités matricielles linéaires, le contrôleur K est recalculé à l’aide de l’équation suivante :

[0276] [Math 44]

[0277] K = R.J T [0278] Avec [0279] [Math 45]

[0280] ; = Q -1

[0281] Une fois le contrôleur K obtenu, le calculateur peut être utilisé pour calculer la consigne d’angle de braquage non saturée dk au moyen de la formule suivante :

[0282] [Math 46]

[0283] d k = K. x

[0284] Le contrôleur K trouvé lors de la conception du véhicule peut alors être implémenté dans les calculateurs 13 des véhicules automobiles 10 de la gamme. [0285] A ce stade, on peut décrire en référence à la figure 7 le procédé qui sera exécuté par le calculateur 13 d’un de ces véhicules automobiles pour mettre en œuvre l’invention. [0286] Le calculateur 13 est ici programmé pour mettre en œuvre ce procédé de façon récursive, c’est-à-dire pas à pas, et en boucle.

[0287] Pour cela, au cours d’une première étape, le calculateur 13 vérifie que la fonction d'évitement autonome d’obstacle (AES) est activée et qu’une trajectoire d’évitement d’obstacle a été planifiée.

[0288] Le calculateur 13 va alors chercher à définir une consigne de pilotage pour le système de direction conventionnel, à savoir une consigne saturée d’angle de braquage ô ref , permettant de suivre au mieux cette trajectoire d’évitement T0.

[0289] Il commence pour cela par calculer ou mesurer les paramètres que sont :

- l’angle de braquage d mesuré,

- la dérivée par rapport au temps de l’angle de braquage mesuré d,

- la consigne saturée d’angle de braquage ô ref obtenue au pas de temps précédent,

- la vitesse de lacet r,

- l’angle relatif de cap Yi_ ,

- l’erreur de suivi de trajectoire e yi _,

- la courbure p ref de la trajectoire d’évitement,

- l’angle de dérive b.

[0290] Le calculateur 13 utilise ensuite le contrôleur K enregistré dans sa mémoire. Ce contrôleur K va donc permettre de déterminer, au cours d’une première étape, les valeurs des consignes d’angles de braquage non saturée dk et saturée ô ref .

[0291] On notera que le contrôleur K est synthétisé compte tenu des fonctions de saturation, si bien que les consignes sont parfaitement adaptées au modèle de saturation choisi.

[0292] La consigne d’angle de braquage saturée ô ref va alors être transmise à l’actionneur de direction assistée pour braquer les roues du véhicule automobile 10.

[0293] Il peut arriver, une fois que la fonction AES a été activée, qu’il y ait des anomalies (défaillance des capteurs, du système de direction assistée, comportements du véhicule et/ou du conducteur non gérable par le contrôleur K...). Dans ce cas, il est prévu de désactiver la fonction AES.

[0294] La stratégie globale de pilotage employée peut alors être décrite, en référence à la figure 7.

[0295] La première étape E1 intervient au moment où la fonction AES est activée.

[0296] A cet instant, le calculateur 13 acquiert l’état initial du véhicule, défini par le vecteur d’état x (noté, à cet instant initial, xo). [0297] Au cours de la seconde étape E2, le calculateur peut, à l’aide du contrôleur K et compte tenu de la trajectoire d’évitement à suivre, déterminer une consigne saturée d’angle de braquage ô ref . Cette consigne est envoyée à l’actionneur de direction assistée du véhicule automobile 10, lequel réagit de sorte que le véhicule peut être défini par un nouveau vecteur d’état x.

[0298] Le procédé de calcul de la consigne saturée d’angle de braquage ô ref est alors répété en boucle, à pas de temps réguliers, de façon à ce que le véhicule suive au mieux la trajectoire d’évitement.

[0299] En parallèle, et ici à chaque nouvelle boucle, le calculateur 13 vérifie s’il se trouve en présence d’une anomalie nécessitant la désactivation de la fonction AES.

[0300] Pour cela, au cours d’une étape E3, le calculateur vérifie si deux conditions cumulatives sont remplies.

[0301] La première condition est que le vecteur d’état initial xo n’appartienne pas à l’espace Eo des conditions initiales du système. La seconde condition est que le vecteur d’état x (du pas de temps considéré) n’appartienne pas à l’estimation Ei du bassin d’attraction e. On peut écrire ces deux conditions de la manière suivante :

[0302] [Math 47]

[0303] { » « E ' = £(P f - " 5

( X e E 1 = e(R,m _1 )

[0304] Si ces deux conditions cumulatives sont remplies, alors il existe un risque d’instabilité du système, si bien qu’au cours d’une étape E4, le calculateur 13 désactive automatiquement la fonction AES.

[0305] Dans le cas contraire, au cours d’une étape E5, le calculateur décide de maintenir la fonction AES d'évitement d’obstacle autonome à l’état activé, afin d’éviter l’obstacle.

[0306] Dès lors, le calculateur reboucle le procédé à l’étape E2.

[0307] On notera qu’en variante, le calculateur pourrait désactiver la fonction AES sur la base de la première condition uniquement. Il est en effet probable, lorsque cette première condition est remplie, qu’il ne soit pas possible de piloter le véhicule de façon à ce qu’il suive la trajectoire d’évitement en toute sécurité.

[0308] Toutefois, ici la seconde condition permet d’attendre de détecter une réelle instabilité du contrôle du véhicule avant de désactiver la fonction AES. Il peut en effet arriver, lorsque le vecteur d’état initial est en dehors de l’espace Eo, que le contrôle du véhicule reste stable, par exemple sou l’action du vent ou parce que le conducteur n’a pas lâché le volant et participe à l’évitement.

[0309] On notera ici que si de nouvelles circonstances routières interviennent, le changement de scène nécessitera une réactivation de la fonction AES. Dans le cas où la fonction AES n’est pas réactivée mais si, pour des raisons diverses, le processus continue, cette nouvelle scène impactera le contrôleur K au cours de l’étape E3, ce qui pourra aboutir à la désactivation automatique de la fonction AES.

[0310] La présente invention n’est nullement limitée au mode de réalisation décrit et représenté, mais l’homme du métier saura y apporter toute variante conforme à l’invention.

[0311] Ainsi, le procédé pourra s’appliquer à d’autres types de domaines dans lesquels une trajectoire particulière doit être suivie, par exemple en aéronautique ou en robotique (notamment lorsque le robot est petit et qu’il faut saturer l’une de ses commandes).