DESCRIPTION DESCRIPTION
T ITRE DE L’INVENTION : PROCÉDÉ DE PILOTAGE AUTONOME D’UN ACTIONNEUR D’UN APPAREILTITLE OF THE INVENTION: AUTONOMOUS CONTROL METHOD OF AN ACTUATOR OF A DEVICE
AUTOMOBILEAUTOMOTIVE
DOMAINE TECHNIQUE DE L'INVENTION TECHNICAL FIELD OF THE INVENTION
[0001] La présente invention concerne de manière générale l’automatisation du suivi de trajectoire d’appareils automobiles. The present invention generally relates to automating the trajectory tracking of automotive devices.
[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. [0002] It finds a particularly advantageous application in the context of motor vehicle driving aids, but it can also be applied to the field of aeronautics or robotics.
[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 : [0003] It relates more particularly to a method for autonomously controlling an actuator of an automotive device which is suitable for influencing the trajectory of said device, comprising the steps of:
- acquisition de paramètres relatifs à la trajectoire de l’appareil, et de - acquisition of parameters relating to the trajectory of the aircraft, and
- 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. - calculation by a computer of a control setpoint of said actuator according to said parameters, by means of a controller associated with at least one function of saturation of an output of the controller.
[0004] Elle concerne aussi un appareil équipé d’un calculateur adapté à mettre en œuvre ce procédé. [0004] It also relates to a device equipped with a computer adapted to implement this method.
[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. [0005] It applies more particularly, but not exclusively, to the following of an obstacle avoidance trajectory by a motor vehicle.
ETAT DE LA TECHNIQUE STATE OF THE ART
[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. [0006] For the sake of securing motor vehicles, they are currently equipped with driving assistance systems or autonomous driving systems.
[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. [0007] Among these systems, we know in particular the automatic emergency braking systems (better known by the abbreviation AEB, from the English "Automatic Emergency Braking"), designed to avoid any collision with obstacles located in the lane. taken by the vehicle, by simply acting on the conventional braking system of the motor vehicle.
[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). [0008] There are, however, situations in which these emergency braking systems do not make it possible to avoid the collision or cannot be used (for example if a vehicle is closely following the motor vehicle).
[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. [0009] For these situations, automatic avoidance systems (better known by the abbreviation AES, standing for "Automatic Evasive Steering" or "Automatic Emergency Steering") have been developed which make it possible to avoid the obstacle by deflecting the vehicle from its trajectory, either by acting on the steering of the vehicle, or by acting on the vehicle's differential braking system. It will be noted that the obstacle can be in the same lane as the vehicle or in an adjacent lane, in which case it is detected that this obstacle can be found within a short time in the trajectory of the vehicle.
[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é. [0010] It happens, however, that the AES system imposes a limit trajectory on the vehicle in terms of controllability, which does not allow the driver to regain control of driving the vehicle in complete safety.
[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. [0011] We then know from document FR3099450 a solution consisting in using a controller which makes it possible to generate a steering instruction such that the vehicle remains controllable by the driver of the vehicle if the latter wishes to regain control during the avoidance procedure. For this, the controller limits the amplitude and the speed of the change of direction imposed on the motor vehicle, by means of hyperbolic tangent functions. This solution, although effective in many configurations, has a performance (i.e. good tracking of the avoidance trajectory) that can sometimes be improved because the LPV modeling used (linear with variable parameter) is conservative and does not describe not explicitly the typical characteristics of saturations.
PRÉSENTATION DE L'INVENTION PRESENTATION OF THE 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. In order to remedy the aforementioned drawback of the state of the art, the present invention proposes a control method as defined in the introduction, in which the controller satisfies a modeling of said at least one saturation function by nonlinear sector.
[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. [0013] In other words, the controller is synthesized on the basis of a non-linear sector approach, so as to be able to guarantee not only the stability of the automobile apparatus in all situations, but also a good performance from as the situation permits.
[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. [0014] Thus, the invention proposes a more appropriate technique for modeling the saturation functions. This technique indeed has many advantages compared to the solution described in the 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. [0015] As has been mentioned, it first of all ensures good performance, that is to say good position and heading tracking, which allows the vehicle to follow the trajectory of the vehicle with greater precision. reference calculated to avoid the 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. [0016] The claimed solution also ensures great stability as long as the disturbances have a bounded energy, that is to say in particular as long as the trajectory to be followed has a curvature remaining within acceptable limits. In other words, this solution makes it possible to know quickly whether the avoidance trajectory calculated can be performed dynamically by the vehicle, so as to activate the AES function only when this is the case.
[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. The invention also proposes to synthesize the controller by separating the stability conditions and those of performance. More precisely, in linear mode (when the controller is not saturated), the controller guarantees performance (which implies stability). In saturation mode (when the controller is saturated), this controller seeks to stabilize the closed-loop system. Thus the controller does not always seek to guarantee stability and performance at the same time, whatever the operating mode, which makes it possible to obtain better performance in certain operating modes.
[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. [0018] In other words, in the event of saturation, the controller mainly seeks to guarantee the stability of the system. In the absence of saturation (which is statistically generally the case), it also seeks to guarantee performance, i.e. good avoidance trajectory tracking. It thus makes it possible to obtain better results than those obtained by the methods proposed in the prior art, where stability always took precedence over 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. [0019] According to the invention, the controller operates even if the initial states of the vehicle when the AES function is triggered are not adversely affected (initial heading, initial yaw rate, etc.), which happens when the vehicle has already a certain dynamic (for example because it is in a bend when the AES obstacle avoidance function is triggered), which is not the case with the solution described in the document FR3099450. To achieve this result, the controller is synthesized by considering the initial states of the vehicle.
[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. The invention also proposes an automatic calculation of the gains of the corrector used in the control law of the vehicle, which makes it possible to reduce the design time of this control law.
[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. The proposed controller is optimal and consistent with the controllability limits specific to the vehicle, because the constraints on the steering angle and on the steering speed are taken into account beforehand in the synthesis of the controller.
[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). [0022] The robustness of the controller is also guaranteed for part of the obstacle avoidance trajectory curvatures (as long as the energy required to follow this trajectory remains limited), taking into account the saturation conditions of the actuator ( related to the controllability of the vehicle by the driver).
[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. [0023] As will clearly appear in the remainder of the description, the method for estimating the stability zone in which the controller must remain consists here of an estimation of a basin of attraction. This method guarantees stability if the initial state of the vehicle, when the AES function is activated, meets certain criteria. The method according to the invention offers good results in terms of vehicle stability, performance (good trajectory following), tolerance to data measurement delays used in the context of the 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 : Other advantageous and non-limiting characteristics of the process according to the invention, taken individually or in all technically possible combinations, are as follows:
- 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 ; - the device is a motor vehicle which is suitable for driving on the road and which comprises at least one steered wheel, in which said actuator is adapted to control the steering of said steered wheel, and in which the steering setpoint is a saturated setpoint steering angle of said steering wheel;
- 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, satn une fonction de limitation d’amplitude, et x un vecteur d’état dudit appareil ; - the saturation function satisfies a control setpoint amplitude limiting model and is expressed in the form: ^(x) = sa^iKx - Kx, with K the controller, sat n an amplitude limiting function, and x a state vector of said device;
- la fonction de saturation satisfait un modèle limiteur de variation de consigne de pilotage et s’exprime sous la forme : i/>2(x) = satv (A^ + B^aίhίKc)) - (A^ + B^aίhίKc)), avec K le contrôleur, satv une fonction de limitation d’amplitude, A1 et B1 des matrices prédéterminées, et x un vecteur d’état dudit appareil ; - the saturation function satisfies a control setpoint variation limiting model and is expressed in the form: i/> 2 (x) = sat v (A^ + B^aίhίKc)) - (A^ + B^aίhίKc )), with K the controller, sat v an amplitude limiting function, A1 and B1 predetermined matrices, and x a state vector of said device;
- é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é ; - given a basin of attraction located in at least one polyhedron defined according to the modeling of said at least one saturation function, in the absence of disturbance, the controller guarantees that a state vector of said device has successive values over time which remain in the basin of attraction and which converge asymptotically towards the origin in a predetermined time;
- é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 ; - given a basin of attraction located in at least one polyhedron defined according to the modeling of said at least one saturation function, in the presence of a disturbance whose energy is less than a predetermined threshold, the controller guarantees that a state vector of said device has successive values over time which remain in the basin of attraction;
- la sortie à minimiser s’exprime sous la forme \ z = eVL + ay. yί 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 ;- the output to be minimized is expressed in the form \ z = e VL + a y . y ί with e yi _ the trajectory tracking error, Yi_ the heading angle error and a y an adjustment coefficient which varies over time;
- 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é ; - in the absence of saturation of the controller output, the controller guarantees that the synthesis of the H norm applied to the controller is less than a predetermined scalar;
- l’un desdits paramètres est une variable qui dépend de la courbure de la trajectoire ;- one of said parameters is a variable which depends on the curvature of the trajectory;
- 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 ; - said basin of attraction is defined by means of a Lyapunov function, disturbances which apply to said device and a term which depends on said at least a saturation function;
- 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 ; - the controller satisfies a modeling of said device in which an output to be minimized is a function of a path tracking error and a heading angle error;
- 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. - the size of the trajectory tracking error and the size of the heading angle error in the calculation of the piloting instruction vary over time.
[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é. Preferably, provision is made to deactivate the controller: n as soon as the initial values of a state vector of said device do not belong to a first predetermined space, or n when said initial values do not belong to the first space and that the instantaneous values of said state vector do not belong to a second predetermined space.
[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... ). [0027] This controller deactivation method is determined based on the stability zone and on vehicle state parameters (drift angle, yaw rate, heading angle, lateral position, steering wheel angle, steering wheel speed and curvature of the trajectory to be followed). The deactivation conditions enacted make it possible to guarantee the correct operation of the controller and to diagnose abnormal situations (risk of vehicle instability, failure of sensors, actuators, unforeseen vehicle/driver behavior, etc.).
[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. The invention also relates to an automotive device comprising at least one actuator which is adapted to influence the trajectory of said device and a computer for controlling said actuator, programmed to implement a method according to one of the preceding claims.
[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. Of course, the different characteristics, variants and embodiments of the invention can be associated with each other in various combinations insofar as they are not incompatible or exclusive of each other.
DESCRIPTION DÉTAILLÉE DE L'INVENTION DETAILED DESCRIPTION OF THE 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. The following description with reference to the accompanying drawings, given by way of non-limiting examples, will make it clear what the invention consists of and how it can be implemented.
[0031] Sur les dessins annexés : [0031] In the accompanying drawings:
[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 ; [0032] [Fig. 1A] is a schematic top view of a motor vehicle traveling on a road and which is adapted to implement a method according to the invention; [0033] [Fig. 1B] is a homologous view of FIG. 1A;
[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 ; [0034] [Fig. 2] is a schematic perspective view of the motor vehicle of the FIG. 1A, represented in four successive positions situated along an obstacle avoidance trajectory;
[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 ; [0035] [Fig. 3] is a diagram illustrating the closed-loop transfer function used to drive the motor vehicle of FIG. 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, [0036] [Fig. 4] is a graph illustrating the saturation polyhedra and the basin of attraction of the controller used in the context of the invention, and an example of variation in the state of the vehicle in the absence of disturbance,
[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 [0037] [Fig. 5] is a graph similar to that of FIG. 4, on which the example of variation in the state of the vehicle is represented in the event of the presence of a disturbance; [0038] [Fig. 6] is a graph illustrating the influence of a setting on the performance of the controller; and
[0039] [Fig. 7] est un graphique illustrant un algorithme de pilotage du véhicule selon un procédé conforme à l’invention. [0039] [Fig. 7] is a graph illustrating a vehicle steering algorithm according to a method according to the 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. In Figure 1A, there is shown a motor vehicle 10 conventionally comprising a frame which delimits a passenger compartment, two front wheels 11 steered, and two rear wheels 12 not steered. As a variant, these two rear wheels could also be steered with an adaptation of the control law.
[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. This motor vehicle 10 comprises a conventional steering system making it possible to act on the orientation of the front wheels 11 so as to be able to turn the vehicle. This conventional steering system comprises in particular a steering wheel connected to connecting rods in order to cause the front wheels 11 to pivot. In the example considered, it also comprises an actuator making it possible to act on the orientation of the front wheels according to the orientation of the steering wheel and/or according to a request received from a computer 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. [0042] In addition, it may possibly be provided that this motor vehicle includes a differential braking system making it possible to act differently on the speeds of rotation of the front wheels 11 (and if necessary on those of the rear wheels 12) so as to slow down the motor vehicle by turning it. This differential braking system comprises for example a controlled differential or electric motors placed at the wheels of the vehicle.
[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. [0043] In the remainder of this presentation, the steering system considered will be formed by the conventional steering system alone. Alternatively, it could be formed by the combination of the conventional steering system and the differential braking system. The computer 13 is then provided to control the power steering actuator. It comprises for this purpose at least one processor, at least one memory and various input and output interfaces.
[0045] Grâce à ses interfaces d'entrée, le calculateur 13 est adapté à recevoir des
signaux d'entrée provenant de différents capteurs. [0045] Thanks to its input interfaces, the computer 13 is suitable for receiving input signals from different sensors.
[0046] Parmi ces capteurs, il est par exemple prévu : Among these sensors, provision is made, for example:
- un dispositif tel qu’une caméra frontale, permettant de repérer la position du véhicule par rapport à sa voie de circulation, - a device such as a front camera, making it possible to identify the position of the vehicle in relation to its traffic lane,
- 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), - a device such as a RADAR or LIDAR remote sensor, making it possible to detect an obstacle 20 lying in the path of the motor vehicle 10 (FIG. 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, - at least one lateral device such as a RADAR or LIDAR remote sensor, allowing observation of the environment on the sides of the vehicle,
- 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 - a device such as a gyrometer, making it possible to determine the speed of rotation in yaw (around a vertical axis) of the motor vehicle 10, and
- un capteur de position et de vitesse angulaire du volant. - a steering wheel position and angular speed sensor.
[0047] Grâce à ses interfaces de sortie, le calculateur 13 est adapté à transmettre une consigne à l’actionneur de direction assistée. [0047] Thanks to its output interfaces, the computer 13 is suitable for transmitting a setpoint to the power steering actuator.
[0048] Il permet ainsi de forcer le véhicule à suivre une trajectoire d’évitement T0 de l’obstacle 20 (voir figure 2). It thus makes it possible to force the vehicle to follow an avoidance trajectory T0 of the obstacle 20 (see FIG. 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. Thanks to its memory, the computer 13 stores data used in the process described below.
[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. It stores in particular a computer application, consisting of computer programs comprising instructions whose execution by the processor allows the implementation by the computer of the method described below.
[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. Before describing this process, the various variables which will be used can be introduced, some of which are illustrated in FIGS. 1A and 1B.
[0052] La masse totale du véhicule automobile sera notée « m » et sera exprimée en kg. [0052] The total mass of the motor vehicle will be denoted "m" and will be expressed in 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. [0053] The inertia of the motor vehicle around a vertical axis passing through its center of gravity CG will be denoted "J" and will be expressed in N.m.
[0054] La distance entre le centre de gravité CG et l’essieu avant du véhicule sera notée « If » et sera exprimée en mètres. The distance between the center of gravity CG and the front axle of the vehicle will be denoted “I f ” and will be expressed in meters.
[0055] La distance entre le centre de gravité CG et l’essieu arrière sera notée « lr » et sera exprimée en mètres. The distance between the center of gravity CG and the rear axle will be denoted “l r ” and will be expressed in meters.
[0056] Le coefficient de rigidité de dérive des roues avant sera noté « Cf » et sera exprimé en N/rad. The drift stiffness coefficient of the front wheels will be denoted “C f ” and will be expressed in N/rad.
[0057] Le coefficient de rigidité de dérive des roues arrière sera noté « Cr » et sera exprimé en N/rad. The coefficient of drift stiffness of the rear wheels will be denoted “C r ” and will be expressed in 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 Ff = 2.Cf.af, avec Ff la force latérale de
glissement des roues avant et af l’angle de dérive des roues avant. [0058] These wheel drift stiffness coefficients are notions that are well known to those skilled in the art. By way of example, the drift stiffness coefficient of the front wheels is thus the one which makes it possible to write the equation F f = 2.C f .a f , with F f the lateral force of slip of the front wheels and a f the angle of drift of the front wheels.
[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. The steering angle that the front steered wheels make with the longitudinal axis A1 of the motor vehicle 10 will be denoted “d” and will be expressed in 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. The variable δ ref , expressed in rad, will designate the saturated steering angle setpoint, as it will be transmitted to the power steering actuator.
[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. The variable dk, expressed in rad, will designate the unsaturated steering angle setpoint. At this stage, we can only specify that the concept of saturation will be linked to steering angle and steering speed limits which would not necessarily be respected with the variable dk, but which would be with the variable δ ref . The variable δ sat , expressed in rad, will designate the semi-saturated steering angle setpoint. It comes from the unsaturated setpoint dk and is saturated in steering angle only. The saturated setpoint ô ref will be calculated on the basis of this half-saturated setpoint ô 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. [0063] The reference point of the vehicle will here originate from its center of gravity CG. Its abscissa Xv will be oriented along the longitudinal axis A1 of the motor vehicle 10, and its ordinate Yv will be oriented laterally, on the left side of the vehicle.
[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. The yaw rate of the vehicle (around the vertical axis passing through its center of gravity CG) will be denoted “r” and will be expressed in 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. The relative angle of heading between the longitudinal axis A1 of the vehicle and the tangent to the avoidance trajectory T0 (desired trajectory of the vehicle) will be denoted “Yi_” and will be expressed in 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. [0066] The lateral difference between the longitudinal axis A1 of the motor vehicle 10 (passing through the center of gravity CG) and the avoidance trajectory T0, at a sighting distance "Is" located at the front of the vehicle, will be noted “yi_” and will be expressed in meters.
[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 « eyi_ » 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_. The lateral deviation setpoint between the longitudinal axis A1 of the motor vehicle 10 (passing through the center of gravity CG) and the avoidance trajectory T0, at a sighting distance "Is" located in front of the vehicle, will be noted "yi_- ref " and will be expressed in meters. The trajectory tracking error will be denoted “e yi _” and will be expressed in meters. It will be equal to the difference between the lateral deviation setpoint yi_- ref and the lateral deviation 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. The aforementioned aiming distance “Is” will be measured from the center of gravity CG and will be expressed in meters.
[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. The drift angle of the motor vehicle 10 (angle that the speed vector of the motor vehicle makes with its longitudinal axis A1) will be denoted “b” and will be expressed in rad. The speed of the motor vehicle will be denoted "V" and will be expressed in 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 « oof » représentera quant à elle une caractéristique dynamique d’une perturbation arbitraire « w » bornée appliquée au véhicule. The constants “x” and “w” will represent dynamic characteristics of the steering angle of the front wheels of the vehicle. The constant “oo f ” will represent a dynamic characteristic of a bounded arbitrary disturbance “w” applied to the vehicle.
[0074] La constante « g » sera l’accélération de la pesanteur, exprimée en m.s 2. The constant “g” will be the acceleration due to gravity, expressed in ms 2 .
[0075] La vitesse de braquage désignera la vitesse angulaire de braquage des roues avant directrices. [0075] The steering speed will designate the angular steering speed of the steered front wheels.
[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. The method according to the invention is provided to enable the vehicle to follow the avoidance trajectory T0 as precisely as possible, in autonomous mode. This process is implemented when the AES automatic obstacle avoidance function is triggered and an avoidance trajectory T0 has been calculated. It will be noted that the manner of triggering the AES function and of calculating the avoidance trajectory T0 is not strictly speaking the subject of the present invention, and will therefore not be described here. This method is designed to be implemented in a loop, during successive “time steps”.
[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. [0077] It will be noted here that trajectory tracking is provided to be operated autonomously by the computer 13, but that it must also be able to be interrupted at any time to allow the driver to regain control of the vehicle. It must also be able to be used as an aid for the driver when the latter is holding the steering wheel but is not exerting the torque required on the steering wheel to avoid the 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. [0078] Before describing the process which will be executed by the computer 13 to implement the invention itself, we can in a first part of this presentation describe the calculations which made it possible to lead to the invention, so as to fully understand where these calculations come from and on what springs they are based.
[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. The idea of the first part of the presentation is in fact to describe the way in which it is possible to synthesize a controller which, once implemented in the computer 13, will make it possible to control the vehicle in such a way that it follows the avoidance trajectory T0 in a stable and efficient manner.
[0080] On considérera ici que le comportement dynamique du véhicule peut être modélisé au moyen de l’équation Mathl suivante. It will be considered here that the dynamic behavior of the vehicle can be modeled by means of the following Mathl equation.
[0081] [Math 1]
[0081] [Math 1]
[0083] Ce modèle est un modèle bicyclette amélioré. This model is an improved bicycle model.
[0084] Le terme oof 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). The term oo f is used to model the dynamics of the curvature of the avoidance trajectory T0 to be followed (which is calculated elsewhere and is therefore already known).
[0085] Le terme pref 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. The term p ref of curvature of the avoidance trajectory T0 then makes it possible to take account of the trajectory of the vehicle (and therefore of the curvature of the road) in the modeling of the dynamic behavior of the vehicle.
[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. [0086] However, this model does not in itself make it possible to limit the steering angle and the steering speed of the front wheels 11 of the vehicle. However, such a limitation is particularly important to ensure that the driver of the vehicle is able to regain control of the vehicle at any time.
[0087] De telles limitations peuvent s’exprimer à l’aide de l’équation suivante, par une saturation en vitesse de braquage : [0087] Such limitations can be expressed using the following equation, by saturation in steering speed:
[0088] [Math 2] [0088] [Math 2]
[0089] \Sref\ £ v [0089] \S ref \£v
[0090] Ainsi qu’à l’aide de l’équation suivante, par une saturation en amplitude de braquage: [0090] As well as using the following equation, by saturation in steering amplitude:
[0091] [Math 3] [0091] [Math 3]
[0092] | Sref | < h [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. In the Math 2 equation, the coefficient u is a constant which represents the steering speed not to be exceeded. This constant is defined either by calculation or at the end of a test campaign carried out on a test vehicle. It is for example equal to 0.0491 Rad/s, which corresponds to 0.785 Rad/s at the level of the steering wheel (i.e. 45°/s) if the steering reduction coefficient is equal to 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°). [0094] In the Math 3 equation, the coefficient h is a constant which represents the steering angle not to be exceeded. This constant is defined either by calculation or at the end of a test campaign carried out on a test vehicle. It is for example equal to 0.0328 Rad, which corresponds in our example to 0.524 Rad at the steering wheel (i.e. 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. The constraint expressed by the Math 3 equation makes it possible to limit the torque exerted by the power steering actuator so that an average driver can manually compensate for this torque.
[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. [0096] Indeed, the greater the steering angle, the greater the force applied by the power steering actuator. This limitation thus ensures that the user can regain control of the vehicle without having to counteract too much effort. This angle will then depend on the force applied by the type of actuator chosen.
[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. It will be noted that the aforementioned values are given by way of example and could alternatively be reduced (for example 25°/s and 20° to ensure greater comfort). According to the invention, it is desired to limit the angle and the steering speed of the steered wheels 11 not by imposing a sudden threshold, but rather by gradually saturating the setpoint amplitude and the setpoint variation.
[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. In Figure 3, there is shown the control architecture used to control the power steering actuator so that it follows the avoidance trajectory T0 while respecting the aforementioned constraints.
[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 Kp) qui dépend de l’état du véhicule, et un terme de compensation de saturation (issu d’un bloc de compensation des saturations Ka ) qui dépend de la consigne saturée d’angle de braquage ôref calculée au pas de temps précédent. In this figure, a controller K has been shown which makes it possible to calculate an unsaturated steering angle dk setpoint. This controller K advantageously comprises an adder which outputs the unsaturated steering angle setpoint dk and which receives as input a state feedback term (coming from a state feedback block K p ) which depends on the state of the vehicle, and a saturation compensation term (resulting from a saturation compensation block K a ) which depends on the saturated steering angle setpoint δ ref calculated at the previous time step.
[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. The saturation compensation term makes it possible to reinforce the stability of the controller in nonlinear mode, that is to say in cases where the control of the power steering actuator is saturated in amplitude or in speed.
[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. The block SAT1 represented in FIG. 3 illustrates the saturation in amplitude of the unsaturated steering angle dk setpoint. It receives as input the output of the controller K and it provides as output a semi-saturated steering angle setpoint δ sat . We observe that this block operates in an open loop.
[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). The set of blocks SAT2 illustrates the saturation in speed of the semi-saturated steering angle setpoint δ sat . It receives this semi-saturated setpoint as input and it supplies the saturated steering angle setpoint δ ref as output. We observe that it is a closed loop. In this set of blocks SAT2, corresponding to a “pseudo rate limiter” function, an adder is therefore provided at the input which makes it possible to calculate the difference D between the semi-saturated steering angle setpoint δ sat and the saturated setpoint steering angle δ ref at the previous time step. It comprises a multiplier block making it possible to multiply this difference by a parameter l, a saturation block making it possible to not exceed the derivative of the saturated steering angle setpoint δ ref according to the equation Math2 and an integrator block making it possible to obtain the saturated steering angle setpoint δ ref (via a Laplace transform).
[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 ». The parameter l represents the dynamics of the SAT2 blocks (for our application, we can consider l=500), and the larger l is, the closer this pseudo rate limiter is to a "rate-limiter" function.
[0105] Sur la figure 3, le bloc Psys 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 dGQί. 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 eyi_ 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 : In FIG. 3, the block P sy s represents the open loop system which describes the dynamics of the vehicle and the behavior of the power steering actuator. It is observed that this block receives as input a disturbance w and the saturated steering angle setpoint d GQί . It outputs an output vector y and an error z. According to an advantageous characteristic, this error z to be minimized is a function of the trajectory tracking error e yi _ and of the relative heading angle between the longitudinal axis A1 of the vehicle and the tangent to the trajectory d avoidance T0 (denoted below heading error Yi_), which we know should be minimized. We can then write:
[0108] [Math 4] [0108] [Math 4]
[0109] z = eyL + a^. xpL [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. In this equation, the term ay is an adjustment coefficient which makes it possible to adjust the error which it is primarily desired to minimize (heading-angle tracking error or position tracking error) . It will be seen later in this presentation how the value of this adjustment coefficient is chosen. This choice of error z at the output makes it possible to guarantee both correct position tracking and correct heading tracking.
[0111] Le vecteur de sortie y est ici considéré égal à un vecteur d’état préliminaire xp, dont tous les éléments sont mesurables ou estimables en roulant, et que l’on peut écrire sous la forme : The output vector y is here considered equal to a preliminary state vector x p , all the elements of which can be measured or estimated while driving, and which can be written in the form:
[0112] [Math 5] [0112] [Math 5]
[0113] cr = (b r ipL eyL d d pref)T [0113] c r = (br ip L e yL ddp 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 xp. The objective is then to determine the form of the controller K which is a state feedback regulator making it possible to calculate the unsaturated steering angle setpoint dk on the basis of the preliminary state vector x p .
[0115] On notera que l’un des paramètres de ce vecteur d’état (la variable d’état pref) 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. It will be noted that one of the parameters of this state vector (the state variable p ref ) depends on the curvature of the avoidance trajectory T0. The dynamics (ie the derivative) of the curvature is assumed to be known (since the avoidance trajectory T0 is known). By integrating this dynamic into the model of the vehicle, we therefore obtain an augmented system so the curvature becomes a state (which is an input of the controller K). In this way, the curvature compensation is treated in a more precise way (via the knowledge of the dynamics of the curvature) than it would be if we used a more classic method (of the "FeedForward" type) which considers static or slightly varying curvatures.
[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 dGQί, dk sont égales). To understand how to determine a controller K which is suitable both in terms of stability and performance, we can first describe the Psys system when it operates in open loop, that is to say in linear mode, without saturation (case where the saturated and unsaturated steering angle d GQί , dk setpoints are equal).
[0117] On peut écrire notre système sous une forme générique : We can write our system in a generic form:
[0118] [Math 6]
cr = Ap. xp + Bp. up + Bw. w iip = — Aiip + Aiij( [0118] [Math 6] c r = A p . xp + Bp . u p + B w . w iip = — Aiip + Aii j(
[0120] Dans cette équation : In this equation:
- le terme up est l’entrée de commande saturée, ici égale à la consigne d’angle de braquage saturée ôref, - the term u p is the saturated control input, here equal to the saturated steering angle set point ô 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, - the term UK is the unsaturated command input, here equal to the unsaturated steering angle set point dk,
- w est la perturbation, supposée bornée, - w is the disturbance, assumed to be bounded,
- Ap est une matrice dynamique, - A p is a dynamic matrix,
- Bp est une matrice de commande et - B p is a control matrix and
- Bw est une matrice de perturbation. - B w is a disturbance matrix.
[0121] On peut écrire ces trois matrices sous la forme suivante. We can write these three matrices in the following form.
[0122] [Math 7]
[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 : The controller K, for which we are looking for the optimal gains that meet our control criteria, which is defined as a static state feedback regulator, can be expressed in the form:
[0129] [Math 10] [0130] uK = K. x [0131] Avec
[0132] [Math 11] = ¾w] [0129] [Math 10] [0130] u K = K. x [0131] With [0132] [Math 11] = ¾w]
[0133] \K [0133]\ K
( x [Xp up]T ( 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. [0134] x is the state vector increased by the saturated steering angle setpoint δ ref which will be considered later in this presentation. Its parameters will be called state variables.
[0135] Le terme UK est, dans notre application, considéré égal à la consigne non saturée d’angle de braquage dk. The term U K is, in our application, considered equal to the unsaturated steering angle dk setpoint.
[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 dG ί, dk sont inégales). We can now describe the system Psys in closed loop, that is to say in non-linear mode with saturation (case where the saturated and unsaturated steering angle d G ί , dk setpoints are unequal).
[0137] Sur la base des équations Math 6 et Math 10, on peut écrire : On the basis of the Math 6 and Math 10 equations, we can write:
[0138] [Math 12] [0138] [Math 12]
[0139] x = (A + BAt + BB±K)x + BB^^x) + Bp2(x) [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 : In this equation, the terms x, A, B, Ai and Bi are defined as follows:
[0141] [Math 13]
[0141] [Math 13]
[0143] [Math 14] [0143][Math 14]
A 0144] p B A 0144] p B
[ A = p 0 0 . [ A = p 0 0 .
[0145] [Math 15] [0145] [Math 15]
[0146] fl = [°] [0146] fl = [°]
[0147] I est la matrice identité. I is the identity matrix.
[0148] [Math 16] [0148] [Math 16]
[0149] A = [0 -2] [0149] A = [0 -2]
[0150] [Math 17] [0150][Math 17]
[0151] B± = l [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. To take into account the controllability constraints as defined in the Math 2 and Math 3 equations, two new saturation functions Yi(c) and 4(x) have been introduced, which represent the overrun of the limits of the command input not saturated.
[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 ». [0153] We then seek to model the saturation functions via modeling by non-linear sectors (from the English "dead-zone nonlinearity"), on the basis of work disclosed in the referenced document: "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]
[0154] The two saturation functions Yi(c) and 4 (x) can therefore be defined as follows: [0155] [Math 18]
[0159] Dans ces deux équations, on utilise une fonction de saturation notée satro(f), qui peut être définie ainsi : In these two equations, a saturation function denoted satro(f) is used, which can be defined as follows:
[0160] [0160]
[0161]
[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. It will therefore be noted that these two saturation functions Yi(c), Y2(c) have zero values in unsaturated mode and non-zero values otherwise.
[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 : To model the controllability limits of the system, two polyhedra can be defined, one of which, denoted Si(x,q), models the behavior of the saturation in amplitude and the other, denoted 82(c,Yi ,n) models the behavior of velocity saturation. These two polyhedrons can be modeled in the following form:
[0164] [Math 21] [0164][Math 21]
[0165] X^c,h) = {x e Rn, \ (K — Gx) | £ h } [0165] X^c,h) = {xe R n , \ (K — G x ) | £ h }
[0166] [Math 22] [0166] [Math 22]
[0167] S2(x,\p1,v) = {x e Rn , ipt e Rm, \(At + BtK - G2)x + (Bt - G3)^1(x)| £ v} [0167] S 2 (x,\p 1 ,v) = {xe 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. These models involve matrices Gi, G2 and G3. These matrices have the same dimension as that of the controller K. They illustrate the deviation that is authorized to exceed the saturation constraints.
[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. By way of illustration, the matrix G1 could be considered equal to the product of the matrix K by a scalar ak. Then the math equation 21 could be rewritten in a form involving the term (1-ak), which will therefore constitute an adjustment of the allowed overshoot. This overshoot could for example be set to 10%. To adjust this excess, it will be necessary to do road tests.
[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. However, preferably, this matrix G1 will not be a function of the matrix K. It will have to be optimized not by road tests, but by calculations, for example by the method of linear matrix inequalities. In this way, the conservatism of a solution such as the one described in the previous paragraph will be avoided.
[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 : [0171] First, it can be assumed that during operation of the closed-loop system (as defined in Math Equation 12), the state vectors x and the variable Yi are found in these two polyhedra, so that we can write:
[0172] [Math 23] [0172] [Math 23]
G01731 i x e SiM 1 J {(.c,yί) e S2(.x,ip1,v) G01731 i xe 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. These two polyhedra are represented here in FIGS. 4 and 5 and therefore represent, as will be clearly described above, the two spaces within which the stability and the performance of the system are guaranteed.
[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. It will be noted at this stage that these figures illustrate two-dimensional graphics, simplifying the solution described above with a view to making it more understandable.
[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. In other words, this two-dimensional representation would only be valid if the state vector x comprised only two state variables, one forming the abscissa and the other the ordinate of each of these graphics.
[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. In practice, here, the state vector comprises eight state variables. A representation of the invention should therefore be drawn in eight 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 : With the assumption made in the equation above, the following inequalities are satisfied for all the positive diagonal matrices Ui and U2 , which are more precisely here positive scalar quantities:
[0179] [Math 24] [0179] [Math 24]
[0180]
[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). It will be noted here that these scalar quantities Ui and l^ are introduced here simply to facilitate the subsequent calculations (according to the S-procedure).
[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 Kp du retour d’état lié aux variables d’état du système en boucle ouverte P et du gain Ka 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 : To sum up, the Math equations 21 and 22 are two saturation models, respectively in amplitude and speed, which, as long as they remain valid within the meaning of the Math equation 23, make it possible to ensure that the equations Math 24 are too. We can then use these models for the synthesis (that is to say the optimization) of the main gain K p of the state feedback linked to the state variables of the open loop system P and of the gain K a for compensation of saturations (or “anti-windup gain”) of the controller K. The closed-loop equation Math 12 and the representation of the Psys system represented in FIG. 3 make it possible to write:
[0185] [Math 25]
[0185][Math 25]
[0187] Dans cette équation, z est l’erreur du système considéré, avec z=eyi_ +ai_.Yi_. [0188] La matrice Cz s’exprime alors de la manière suivante : In this equation, z is the error of the system considered, with z=e yi _ +ai_.Yi_. The matrix Cz is then expressed as follows:
[0189] [Math 26]
[0190] cz = [0 0 ay 1 0 0 0 0] [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 : We assume that the disturbance w is limited in energy, that is to say bounded, so that we can write:
[0192] [Math 27]
[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. This assumption is linked to the fact that the curvature of the trajectory (which is considered here as a disturbance) and the duration of activation of the AES function are always limited.
[0195] Donc, dans l’équation Math 27, où le terme w représente la courbure de la trajectoire d’évitement, la valeur maximale wmax 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 : [0195] Therefore, in equation Math 27, where the term w represents the curvature of the avoidance trajectory, the maximum value w max of this curvature is known (since we know the dynamic limits of the vehicle and therefore the curvature maximum that the vehicle can follow in complete safety and in fact taxable by trajectory planning). Therefore, the parameter o can be defined as:
[0196] [Math 28]
[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. In this equation, the TAES time corresponds to the maximum activation duration of the AES function, which is generally between 1 and 3 seconds, and corresponds in particular to the duration of the avoidance maneuver.
[0199] Compte tenu des limites de contrôlabilité que l’on souhaite imposer, wmax é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 : [0199] Given the controllability limits that it is desired to impose, w max being the curvature of the most dynamic reference trajectory that the AES function can achieve, this maximum curvature can be estimated as a function of the steering angle maximum (imposed by the Math 3 controllability constraint). Therefore, we can also write:
[0200] [Math 29]
[0200][Math 29]
[0202] Dans cette équation, le terme k est le gradient de sous virage, qui se calcule de la façon suivante : In this equation, the term k is the understeer gradient, which is calculated as follows:
[0203] [0203]
[0204]
[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é : To obtain an optimal solution of the controller K, we first define a first Lyapunov function V(t) for the stability conditions:
[0206] [Math 31] [0206] [Math 31]
[0207] V t ) = xTPx [0207] V t ) = x T Px
[0208] On peut éventuellement définir aussi une seconde fonction de Lyapunov VY(t) pour les conditions de performance :
[0209] [Math 32] [0208] It is also possible to define a second Lyapunov function V Y (t) for the performance conditions: [0209] [Math 32]
[0210] ng( ) = ctRgc [0210] n g( ) = c t R gc
[0211] Dans ces deux équations, les matrices P et PY sont définies positives et symétriques. In these two equations, the matrices P and P Y are positive and symmetric definite.
[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. The advantage of the first Lyapunov function V(t) is that if its first derivative is strictly negative, it guarantees that the system will always be stable in the absence of disturbance.
[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 : [0213] The idea here is then to use this first derivative function, by subtracting from it a term which takes into account the disturbances and another term which takes into account the saturation (within the meaning of equation Math 24), and to ensure that this set is always strictly negative, which we can write:
[0214] [Math 33] [0214][Math 33]
[0215] V{t) - WT. W - 2. ip U1(ip1 + Gxx) - 2. ip U2(ip2 + G2x + G 3^) < 0 [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. This condition relating to the first Lyapunov function V(t) guarantees stability with the presence or absence of the disturbance and with the presence of the saturation of the actuator.
[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 : In Figures 4 and 5, the two polyhedrons are shown ensuring the stability and performance of the system. We will then look for a space located simultaneously in these two polyhedra. It could for example be the intersection of these two spaces. [0218] However, here, we prefer to model this space in the form of an ellipse called the basin of attraction. This basin of attraction e is here defined in the form:
[0219] [Math 34] [0219] [Math 34]
[0220] e(R,m) = {x e Rn,xTPx < m-1} [0220] e(R,m) = {xe 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). [0221] In addition to the stability condition relating to the first Lyapunov function V(t) defined by Math 33, this basin of attraction must be included in the two polyhedra S1 and S2, which respectively model the saturations in amplitude and in speed, to guarantee the stability of the system (which remains the priority to be guaranteed).
[0222] Pour garantir la performance, on pourrait également définir un second espace, sur la base de la seconde fonction de Lyapunov VY(t), mais on préférera ici utiliser un autre modèle (le modèle Hinfini, qui sera mentionné ci-après). To guarantee performance, one could also define a second space, on the basis of the second Lyapunov function V Y (t), but it is preferable here to use another model (the Hinfini model, which will be mentioned below ).
[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). The basin of attraction e is therefore a space of stability (or invariant space) of the system considered. In other words, it is a space within which the trajectories of the state variables (i.e. the components of the state vector x) remain, insofar as they have been initialized in this space (even if the system is subject to disturbances and saturations of the actuators).
[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. [0224] Taking into account the equations Math 21, Math 22 and Math 34, there has been shown schematically in FIGS. 4 and 5 the spaces in which the state variables of the system can change.
[0225] Comme on pourra le comprendre sur ces figures, le contrôleur K est alors synthétisé de manière à répondre à trois objectifs. As can be understood from these figures, the controller K is then synthesized in such a way as to meet three objectives.
[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. The first objective is that in the absence of disturbance, the controller K guarantees that the trajectories of the state variables of the closed-loop system remain in the basin of attraction e (which ensures stability) and converge asymptotically towards the origin (which ensures performance), in particular within a predefined time.
[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. In Figure 4, the case of no disturbance has been considered. In this case, the space of the initial conditions of the system, denoted Eo, and the estimate Ei of the basin of attraction e merge. We observe that the trajectory T1 of the state vector x from any initial situation does indeed converge towards the origin.
[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. The second objective is that in the presence of disturbance, the controller K guarantees that the trajectories of the state variables of the closed-loop system remain in the basin of attraction e (which ensures stability) whatever the disturbance w, provided that the latter is limited in energy (within the meaning of equation Math 27). In FIG. 5, this case has been considered where a disturbance occurs. In this case, the space of the initial conditions of the system, denoted Eo, are necessarily contained in the estimate Ei of the basin of attraction e. We observe that the trajectory T2 of the state variables, when it starts from any initial situation contained in the space Eo, remains well contained inside the basin of 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é. The third objective is that in linear mode (without saturation in amplitude and in speed), the controller K guarantees the performance of the system, which then takes precedence over stability, by ensuring that the synthesis of the norm H is less than a predetermined scalar.
[0231] On rappellera que cette synthèse consiste à trouver le contrôleur K qui est tel que la norme H du terme Fi(Psys, K) soit minimum, avec : It will be recalled that this synthesis consists in finding the controller K which is such that the norm H of the term Fi(P sys , K) is minimum, with:
[0232] [Math 35] [0232] [Math 35]
[0233] z = F^Psys.K w [0233] z = F^P sys .K w
[0234] On peut écrire cette équation sous la forme suivante : We can write this equation in the following form:
[0235] [Math 36] [0235][Math 36]
[0236] Vy(t) + zTz — y2wTw < 0 [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. It will be noted here that y is the norm H of the transfer function of 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). This synthesis implies good rejection of the disturbance w and good tracking of the reference trajectory (with an error z close to zero).
[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. In practice, to satisfy these three objectives, several methods could be used, for example a method based on the resolution of the Riccati equations or a method using the Youla parametrization.
[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). But the method used here is preferably the use of Finsler's lemma applied to linear matrix inequalities (LMI) to reduce conservatism (LMI relaxation), this Finsler's lemma being applied in particular to the both stability (Math equation 33) and performance (Math equation 35). It is thus carried out on the basis of convex optimization criteria under constraints of linear matrix inequalities (the linearity of the terms of the matrices used ensuring that the mathematical problem can be solved without requiring too great a computational load).
[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. The objective is more precisely to optimize the gains of the closed loop defined by the controller K by playing on the choice of the poles.
[0242] Pour des réels positifs prédéfinis ei et £2, s’il existe des matrices de dimensions appropriées R, Q, Q, QY, 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. For predefined positive reals ei and £2, if there exist matrices of appropriate dimensions R, Q, Q, Q Y , L1, L2, T 1 , T2 and a scalar £3 such that the problem of optimization is feasible, we therefore obtain a controller K which satisfies the three aforementioned objectives.
[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. These matrices are calculated as a function of the matrix P (see Math equation 42). The matrix inequalities used here are five in number and are defined by the following inequalities, in which y is to be minimized.
[0245] [Math 37]
[0245][Math 37]
[0255] Dans ces inéquations, une matrice de la forme
est écrite sous la
X y forme L* W-[0255] In these inequalities, a matrix of the form is written under X y forms L* W-
[0256] Les matrices R, Q, Q, QY, Li, L2, T 1 , T2 s’expriment ici sous la forme suivante : The matrices R, Q, Q, Q Y , Li, L2, T 1 , T2 are expressed here in the following form:
[0257] [Math 42]
[0257][Math 42]
[0259] Dans ces équations, J est une matrice non singulière. In these equations, J is a non-singular matrix.
[0260] Le contrôleur K est défini par l’équation : [0260] The controller K is defined by the equation:
[0261] [Math 43] [0261][Math 43]
[0262] K = R. Q~ 1 [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). The speed V of the vehicle is assumed to be constant (therefore all the matrices of the system are considered constant).
[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). The four inequalities Math 37 to Math 40 make it possible to ensure that the dynamics of the closed loop remain limited, that is to say that the system remains stable in the absence or in the presence of a disturbance ( the first two conditions are therefore fulfilled).
[0265] La cinquième inéquation Math 41 garantit la performance (au sens de la norme H00) 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. [0265] The fifth inequality Math 41 guarantees the performance (within the meaning of the H 00 standard) of the closed-loop system when the system is subjected to a disturbance and when the output of the control K is not yet saturated (nor in amplitude , nor in speed, i.e. when the steering instructions ô ref and dk are equal). This inequality ensures that the third condition is satisfied.
[0266] Comme le montre la figure 6, plusieurs types de contrôleur K peuvent être obtenus en fonction de la valeur choisie de ay. As shown in FIG. 6, several types of controller K can be obtained depending on the chosen value of 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 ay. In this figure, it is then observed that it is possible to play on the performance of the controller K by adjusting the value of a y .
[0268] Ainsi, le coefficient de réglage ay, 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). Thus, the adjustment coefficient a y , when it has a reduced value, makes it possible to obtain a controller K which minimizes the position tracking error (zone ZC1). On the contrary, when it has a high value, it makes it possible to obtain a controller K which minimizes the heading tracking error (zone ZC2). Between these extreme values, it is possible to make a compromise between position tracking and heading tracking (zone ZC3).
[0269] En début d’évitement, le coefficient de réglage ay 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. At the start of avoidance, the adjustment coefficient a y will be chosen with a reduced value (less than 20), to minimize the position tracking error and ensure that the vehicle follows the avoidance trajectory T0.
[0270] En fin d’évitement (une fois l’obstacle dépassé), le coefficient de réglage ay 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. [0270] At the end of avoidance (once the obstacle has been passed), the adjustment coefficient a y will be chosen with a high value (greater than 20), to minimize the heading tracking error and ensure that the vehicle is positioned parallel to the road.
[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 ay 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. Thus, by way of example, if the driver wishes to regain control at the end of avoidance, the high value of the adjustment coefficient a y is such that the saturated steering angle setpoint δ ref transmitted to the power steering actuator will help the driver stabilize the vehicle.
[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 ay 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). [0272] Again by way of example, if the driver wishes to regain control at the start of avoidance and if he deviates much further from the obstacle than expected (in the sense of the avoidance trajectory T0), the high value of the adjustment coefficient a y at the end of avoidance ensures that the saturated steering angle setpoint δ ref does not unnecessarily bring the vehicle back onto the avoidance trajectory when the latter has been exceeded by a great deal ( which would otherwise be destabilizing for the driver).
[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 QY (au lieu d’une seule matrice commune) ont été respectivement utilisées pour les critères de stabilité et de performance. [0273] At this stage, it will be noted that Finsler's lemma (within the meaning of the document "Skelton, RE, Iwasaki, T., and Grigoriadis, KM (1998). A Unified Algebraic Approach to Linear Control Design. Taylor and Francis, London”) has been applied to linear matrix inequalities to reduce conservatism. Indeed, two different Lyapunov matrices Q and Q Y (instead of a single common matrix) were respectively used for the stability and performance criteria.
[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. The proposed method therefore proves to be effective when it comes to determining the steering wheel angle at each instant in a reasonable way (and manageable by a driver with average skills) and in a way that can be carried out by the actuator.
[0275] Après résolution des inégalités matricielles linéaires, le contrôleur K est recalculé à l’aide de l’équation suivante : [0275] After solving the linear matrix inequalities, the controller K is recalculated using the following equation:
[0276] [Math 44] [0276][Math 44]
[0277] K = R.JT [0278] Avec [0279] [Math 45] [0277] K = RJ T [0278] With [0279] [Math 45]
[0280] ; = Q-1 [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 : [0281] Once the controller K has been obtained, the computer can be used to calculate the unsaturated steering angle setpoint dk using the following formula:
[0282] [Math 46] [0282][Math 46]
[0283] dk = K. x [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. The controller K found during the design of the vehicle can then be implemented in the computers 13 of the motor vehicles 10 of the range. At this stage, it is possible to describe with reference to FIG. 7 the method which will be executed by the computer 13 of one of these motor vehicles to implement the invention. The computer 13 is here programmed to implement this method recursively, that is to say step by step, and in a loop.
[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. For this, during a first step, the computer 13 checks that the autonomous obstacle avoidance function (AES) is activated and that an obstacle avoidance trajectory has been planned.
[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. The computer 13 will then seek to define a steering setpoint for the conventional steering system, namely a saturated steering angle setpoint δ ref , making it possible to follow this avoidance trajectory T0 as well as possible.
[0289] Il commence pour cela par calculer ou mesurer les paramètres que sont :[0289] To do this, he begins by calculating or measuring the parameters which are:
- l’angle de braquage d mesuré, - the measured steering angle d,
- la dérivée par rapport au temps de l’angle de braquage mesuré d, - the time derivative of the measured steering angle d,
- la consigne saturée d’angle de braquage ôref obtenue au pas de temps précédent,- the saturated steering angle setpoint δ ref obtained at the previous time step,
- la vitesse de lacet r, - the yaw rate r,
- l’angle relatif de cap Yi_, - the relative heading angle Yi_ ,
- l’erreur de suivi de trajectoire eyi_, - the trajectory tracking error e yi _,
- la courbure pref de la trajectoire d’évitement, - the curvature p ref of the avoidance trajectory,
- l’angle de dérive b. - the drift angle 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. The computer 13 then uses the controller K stored in its memory. This controller K will therefore make it possible to determine, during a first step, the values of the unsaturated steering angle dk and saturated δ ref values.
[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. It will be noted that the controller K is synthesized taking into account the saturation functions, so that the setpoints are perfectly adapted to the chosen saturation model.
[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. The saturated steering angle setpoint δ ref will then be transmitted to the power steering actuator to steer the wheels of the motor vehicle 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. [0293] It may happen, once the AES function has been activated, that there are anomalies (failure of the sensors, of the power-assisted steering system, behavior of the vehicle and/or of the driver that cannot be managed by the controller K. ..). In this case, provision is made to deactivate the AES function.
[0294] La stratégie globale de pilotage employée peut alors être décrite, en référence à la figure 7. The overall control strategy employed can then be described, with reference to figure 7.
[0295] La première étape E1 intervient au moment où la fonction AES est activée. The first step E1 occurs when the AES function is activated.
[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. At this instant, the computer 13 acquires the initial state of the vehicle, defined by the state vector x (denoted, at this initial instant, xo). During the second step E2, the computer can, with the aid of the controller K and taking into account the avoidance trajectory to be followed, determine a saturated steering angle setpoint δ ref . This instruction is sent to the power steering actuator of the motor vehicle 10, which reacts so that the vehicle can be defined by a new state vector 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. The method for calculating the saturated steering angle setpoint δ ref is then repeated in a loop, at regular time intervals, so that the vehicle follows the avoidance trajectory as well as possible.
[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. In parallel, and here at each new loop, the computer 13 checks whether it is in the presence of an anomaly requiring the deactivation of the AES function.
[0300] Pour cela, au cours d’une étape E3, le calculateur vérifie si deux conditions cumulatives sont remplies. For this, during a step E3, the computer checks whether two cumulative conditions are fulfilled.
[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 : The first condition is that the initial state vector xo does not belong to the space Eo of the initial conditions of the system. The second condition is that the state vector x (of the considered time step) does not belong to the estimate Ei of the basin of attraction e. These two conditions can be written as follows:
[0302] [Math 47] [0302] [Math 47]
[0303] { » « E' = £(Pf - " 5 [0303] { » « E ' = £(P f - " 5
( X e E1 = e(R,m_1) ( 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. [0304] If these two cumulative conditions are fulfilled, then there is a risk of instability of the system, so that during a step E4, the computer 13 automatically deactivates the AES function.
[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. [0305] Otherwise, during a step E5, the computer decides to maintain the autonomous obstacle avoidance AES function in the activated state, in order to avoid the obstacle.
[0306] Dès lors, le calculateur reboucle le procédé à l’étape E2. [0306] Consequently, the computer loops the process back to step 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é. [0307] It should be noted that as a variant, the computer could deactivate the AES function on the basis of the first condition only. It is in fact probable, when this first condition is met, that it is not possible to steer the vehicle so that it follows the avoidance trajectory in complete safety.
[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. [0308] However, here the second condition makes it possible to wait to detect a real instability of the control of the vehicle before deactivating the AES function. It can indeed happen, when the initial state vector is outside the space Eo, that the control of the vehicle remains stable, for example under the action of the wind or because the driver has not let go of the steering wheel. and participates in avoidance.
[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. [0309] It will be noted here that if new road circumstances occur, the change of scene will require a reactivation of the AES function. In case the AES function is not reactivated but if, for various reasons, the process continues, this new scene will impact the controller K during step E3, which may result in the automatic deactivation of the AES function.
[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. The present invention is in no way limited to the embodiment described and shown, but those skilled in the art will know how to make any variant in accordance with the 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).
[0311] Thus, the method can be applied to other types of fields in which a particular trajectory must be followed, for example in aeronautics or robotics (in particular when the robot is small and it is necessary to saturate one of his orders).