FR 2947649 A1 20110107 FR 0954499 A 20090701 Procédé de contrôle optimal d'un système modélisable par des équations de Hamilton Jacobi Bellman La présente invention concerne un procédé de contrôle optimal d'un système déterministe pour obtenir une trajectoire physique déterministe optimale Y résolvant un problème P, le système pouvant être contrôlé par des commandes comprises dans un ensemble A , le comportement dynamique du système étant décrit par une fonction dynamique.' le problème P étant l'obtention d'une trajectoire physique déterministe optimale du système atteignant une cible C en un temps minimal tf et vérifiant des contraintes décrites par une fonction de contrainte mixte état/contrôle g , le procédé comprenant : - une première étape de transposition du problème P en équations d'Hamilton Jacobi Bellman reliant un nombre entier d de variables d'état et leurs adjoints respectifs, d étant la dimension d'un espace d'état du système ; - une deuxième étape de résolution numérique des équations d'Hamilton Jacobi Bellman en les discrétisant par un procédé anti-diffusif, dit � ultrabee � sur des grilles spatiales et temporelles représentant l'espace d'état et le temps. Les procédés de contrôle optimal d'un système sont couramment employés pour gérer de manière optimale des stocks d'énergie, pour gérer les processus de production d'un produit... Ils sont encore typiquement utilisés pour simuler les performances d'un système lors de sa conception ou de sa mise au point, mais aussi pour analyser a priori ou a posteriori ou en temps réel les mesures obtenues du système afin par exemple de diagnostiquer un problème et de mener des actions correctives en tenant compte de contraintes, et plus généralement encore de contrôler en temps réel ou en temps réfléchi le système. Le contrôle optimal d'un système implique la détermination de la trajectoire optimale du système. Une trajectoire se définit comme un ensemble de paramètres dites variables d'état, définissant l'état d'un système associé, évoluant en fonction du temps. Les procédés de contrôle optimal trouvent de nombreuses applications dans différents domaines industriels. Dans le cas particulier de l'optimisation de la trajectoire d'un lanceur spatial, un problème particulier de contrôle optimal est l'atteinte d'une position orbitale donnée par un lanceur spatial emportant une charge utile, en minimisant la quantité de carburant utilisé et en respectant un certain nombre de contraintes comme par exemple la limitation de l'angle d'incidence du lanceur par rapport à l'atmosphère. Pour optimiser la trajectoire d'un engin spatial ou d'un engin traversant l'atmosphère, il est généralement utilisé des méthodes que l'on peut classer en deux catégories. La première catégorie de méthodes est la catégorie des méthodes dites directes. A partir d'une commande initiale, on calcule la sensibilité du système par rapport à chacune de ses commandes. Pour cela, on évalue l'état du système après avoir appliqué une variation sur chacune des commandes. Le procédé est répété jusqu'à obtenir un résultat répondant à un certain nombre de critères. Les méthodes directes présentent comme défaut une certaine perte de propriétés physiques mais surtout ne permettent d'obtenir qu'une solution localement optimale et souffrent de problèmes de stabilité. La deuxième catégorie de méthodes est la catégorie des méthodes dites indirectes, basées sur la résolution du système d'optimalité (Principe de Pontryagin). Parmi ces méthodes, on peut notamment citer l'algorithme du Tir qui consiste à résoudre le système à deux bouts état/état adjoint par une méthode de type (quasi-)Newton. Les méthodes indirectes ne permettent toutefois d'obtenir qu'une solution localement optimale et nécessitent une connaissance a priori de la structure de la trajectoire. Afin d'obtenir une trajectoire physique déterministe, globalement optimale sur l'ensemble du domaine calculé, sans connaissance a priori de ladite trajectoire, il est connu d'après le document � Solution of Hamilton Jacobi Bellman Equations, C.L. Navasca and A.J. Krener, Proceedings of tte 39th IEEE, Conference on decision and control, Sydney Australlia December 200 � d'utiliser la transposition d'un problème de contrôle optimal d'un système régi par une fonction dynamique en équations d'Hamilton Jacobi Bellman. En particulier, il est connu que le problème du contrôle optimal d'un lanceur entre dans le champ d'un problème modélisable par des équations d'Hamilton Jacobi Bellman. Pour résoudre numériquement les équations d'Hamilton Jacobi Bellman, il est également connu de discrétiser celles-ci en utilisant un procédé de discrétisation anti-diffusif. Un procédé de discrétisation est qualifié d'anti-diffusif si ce dernier n'engendre pas d'erreurs s'additionnant au cours du temps t ou lorsque les solutions s'éloignent de la cible C. Le procédé � Ultra Bee �, tel que décrit par exemple dans les documents connus � O. Bokanowski and H. Zidani. Antidiffusive schemes for linear advection and application to Hamilton-Jacobi-Bellman equations. Journal Scientific Computing, 30(1):1-33, 2007� et �O. Bokanowski, S. Martin, R. Munos, and H. Zidani. An anti-diffusive scheme for viability problems. Applied Numer Math, 56(9) :1147-1162, 2006�, est bien adapté à la discrétisation des équations d'Hamilton Jacobi Bellman. L'invention a pour but de proposer un procédé de contrôle optimal d'un système permettant notamment d'obtenir une trajectoire, physique en termes d'évolution temporelle de variables d'état correspondant à des grandeurs physique, déterministe, globalement optimale sur l'ensemble du domaine calculé sans connaissance a priori de la structure de ladite trajectoire, et nécessitant une puissance de calcul compatible avec une application en termes de capacité de mémoire et de temps de calcul permettant d'analyser et/ou contrôler ledit système en quasi temps réel. A cet effet, l'invention a pour objet un procédé de contrôle optimal d'un système du type précité, caractérisé en ce qu'il comprend une troisième étape d'implémentation des grilles par des structures de données creuses, une quatrième étape de calcul de la fonction de temps minimal, une cinquième étape où à partir des valeurs obtenues à la quatrième étape est reconstruite une trajectoire optimale. Suivant des modes particuliers de réalisation, le procédé selon l'invention comporte l'une ou plusieurs des caractéristiques suivantes : - les grilles sont incluses dans un domaine fini [0,T]xB avec T une borne supérieure du temps nécessaire pour atteindre la cible C et B un ensemble des points comprenant tout à la fois la cible C et la position initiale du système, - la quatrième étape est une étape de calcul simultané de la fonction de temps minimal et d'un bassin de capture, - les grilles spatiales et/ou temporelles sont à pas variables, - le pas temporel entre deux temps d'échantillonnage successifs diminue dans des zones de l'espace d'état où les variations de certaines variables d'état sont importantes, - les pas spatiaux correspondant au maillage d'une grille de l'espace d'état sont uniformes indépendamment du temps, des changements de variable ayant été effectués au préalable sur au moins une variable d'état de manière à prendre en compte des différences d'échelles locales importantes pour certaines variables d'état considérées à des instant différents, - les structures creuses sont des structures creuses à listes chainées, - les structures creuses à listes chainées sont des structures creuses à listes chaînées semi-dynamiques obtenues à partir d'une grille pleine (M) de dimension Nd , d étant la dimension d de l'espace d'état, et N le nombre d'échantillons sur un axe quelconque représentant une variable d'état, une structure creuse à listes chainées semi-dynamique comprenant une matrice de dimension Nd-' de pointeurs, chaque pointeur étant le début d'une liste de parcours de la dernière dimension restante de la matrice pleine M, et contenant tous les noeuds entourant un front solution calculé à la deuxième étape, - la dimension de l'espace des variables d'états est comprise entre 2 et 7, de préférence comprise entre 2 et 4, - la trajectoire optimale et la fonction de contrôle optimale a *0 sont construites grâce à un procédé Runge-Kutta du quatrième ordre, - le procédé décrit ci-dessus est appliqué au contrôle d'un lanceur spatial, - les variables d'état du procédé appliqué au contrôle d'un lanceur spatial sont la distance r entre le centre gravité du lanceur et le centre de la Terre, v la vitesse relative du lanceur par rapport à un repère lié à la Terre, l'angle d'inclinaison y de la vitesse relative par rapport à une horizontale locale terrestre et la masse m, - la fonction de contrainte mixte état/contrôle g est déterminée à partir de la contrainte physique régie par l'équation : Q(r, vla Le système est contrôlé grâce à un nombre entier strictement positif m de commandes formant un ensemble A . Les commandes reçues par le système sont traitées par ce dernier et modifient son comportement. La fonction de contrôle a(t) décrit les commandes envoyées au système en fonction du temps t . A ce titre, une commande est susceptible, directement ou indirectement, de modifier au cours du temps l'état du système. Par exemple, le système peut recevoir une commande modifiant la quantité de carburant alimentant un de ses moteurs, ce qui augmente sa vitesse et réduit sa masse. Le comportement dynamique du système, c'est-à-dire l'évolution au cours du temps t des variables d'état du 10 système en fonction des commandes reçues par ce dernier, est modélisé par une fonction dynamique.:. +x dxA Rd. Le système doit en outre répondre à un certain nombre de contraintes sur l'état du système ou sur les commandes reçues, comme par exemple une contrainte de vitesse à ne pas dépasser, ou encore une contrainte de quantité 15 maximale de carburant à utiliser sur une plage de temps donnée. Les contraintes sont modélisées par une fonction de contrainte mixte état/contrôle g :,dxA R. On souhaite contrôler le système de sorte que les variables d'état de ce dernier atteignent des valeurs comprises dans une cible C c Rd, en un temps minimal tf . Par exemple, on souhaite déterminer l'ensemble des commandes 20 permettant au système d'atteindre un point donné en consommant une quantité de carburant inférieure à une valeur prédéterminée en un temps donné. In fine, le procédé selon l'invention permet d'établir une fonction de contrôle optimalea*(t)qui pour chaque instant t décrit une trajectoire Y optimale et respectant les contraintes décrites par la fonction g, permettant d'atteindre une 25 cible C OE Rd, en un temps minimal tf . En posant une fonction temps minimum T qui associe pour la position initiale xE Rd le temps minimal nécessaire tf pour atteindre la cible C avec une trajectoire Y admissible obéissant à la contrainte état/contrôle g, le problème P de contrôle optimal, fonction du temps t, peut être décrit ainsi : T(x) := minimiser t f , Yx(t) = f (t f ù t, yx (t), a(t)),t E [O,T ], avec yx (0) = x, 0, a(t) E A pour tout t E [0,T ], yx (t f) E C, g (yx (t), a(t)) O pour tout t E [0,T ] avec S'x dérivée de la trajectoire Yx par rapport au temps t. Le problème P est transposé en équations d'Hamilton Jacobi Bellman sous la forme suivante : ~Lt(t,x)+ max { f(t,x,a).VxI9 (t,x)}= 0 aeA,g(x,a) a(s) E A pour tout s E [0,t], g(yx (s), a(s)) 0 pour tout s e [0, t] Dans les équations (2), Ot est la notation représentant la dérivée par rapport au temps de la fonction , \x0 est la notation représentant le gradient de la fonction par rapport à la variable x . La fonction 15 (t, x) est une fonction dite d'accessibilité qui prend une valeur nulle s'il existe une trajectoire Yx qui atteint la cible C avant un temps t en partant de la position initiale x, et qui prend une valeur de 1 dans tous les autres cas. L'ensemble g {XE R L9(t,x) = 0} est appelé bassin de capture g du problème P. Au bassin de capture g correspond un front rt. La fonction t satisfait le principe de la programmation dynamique. La fonction est en outre l'unique fonction semi-continue inférieurement des équations d' Hamilton Jacobi Bellman. 0(0,x) = c(x) Le procédé selon l'invention s'applique aux problèmes P du système pour lesquels la fonction de contrainte g est choisie de sorte que g est une fonction continue et pour tout xE JZd , l'ensemble {g(x,alti E A,etg(x,a) 0} est fermé et non vide. Dans une deuxième étape 110 du procédé selon l'invention, la fonction est déterminée en résolvant numériquement les équations (2) d'Hamilton Jacobi Bellman telles que définies au cours de la première étape 100. La fonction ne pouvant prendre que les valeurs 0 et 1, sa détermination permet d'aboutir au front rt qui encadre le bassin de capturent . La résolution numérique des équations (2) n'est donc effectuée que localement autour du front I. De plus, au cours de cette étape 110, afin de minimiser le temps de calcul, la résolution des équations (2) d'Hamilton Jacobi Bellman est restreinte à un domaine fini [O,T]xB avec T une borne supérieure du temps nécessaire pour atteindre la cible C et B un ensemble de points comprenant tout à la fois la cible C et la position initiale x du système. La borne supérieure T et l'ensemble B sont choisis de sorte à tenir compte des réalités physiques s'appliquant au système. Le domaine de calcul est réduit par exemple par la prise en compte de contraintes physiques rédhibitoires. Le domaine de calcul est réduit encore sans préjudice de la restriction du domaine de calcul pour des raisons physiques par une fonction de contrainte artificielle venant encadrer les variables d'état. La restriction du domaine de calcul permet d'économiser de la mémoire et de diminuer le temps de calcul. Dans l'étape 110, les équations (2) d'Hamilton Jacobi Bellman sont résolues numériquement. Celles-ci sont discrétisées en utilisant un procédé de discrétisation anti-diffusif. Un procédé de discrétisation est qualifié d'anti-diffusif si ce dernier n'engendre pas d'erreurs s'additionnant au cours du temps t ou lorsque les solutions s'éloignent de la cible C. Le procédé � Ultra Bee �, tel que décrit par exemple dans les documents � O. Bokanowski and H. Zidani. Anti-diffusive schemes for linear advection and application to Hamilton-Jacobi-Bellman equations. Journal Scientific Computing, 30(1):1-33, 2007� et �O. Bokanowski, S. Martin, R. Munos, and H. Zidani. An anti-diffusive scheme for viability problems. Applied Numer Math, 56(9) :1147-1162, 2006�, est bien adapté à la discrétisation des équations (2) d'Hamilton Jacobi Bellman. A mesure de l'obtention des valeurs que prend la fonction solution , des grilles spatiales et temporelles représentant l'espace d'état et le temps sont implémentées dans une étape 120 sous la forme d'une structure de données efficace en termes de mémoire de stockage, de performance d'écriture et d'accès aux données, et apte à stocker la fonction solution sous la forme d'un front de capture et de son voisinage immédiat. Il est à remarquer que les grilles spatiales et/ou temporelles peuvent être 10 de manière générale à pas variables. De manière préférée, le pas temporel entre deux temps d'échantillonnage successifs diminue dans des zones de l'espace d'état où les variations de certaines variables d'état sont importantes. De manière préférée, les pas spatiaux correspondant au maillage d'une 15 grille de l'espace d'état sont uniformes indépendamment du temps, des changements de variable ayant été effectués au préalable sur au moins une variables d'état de manière à prendre en compte des différences d'échelles locales importantes pour certaines variables d'état considérées à des instants différents. 20 La structure de données est une structure creuse adaptée pour le stockage d'un front discret. Dans une étape suivante 130, la fonction temps minimale et le bassin de capture est calculé. Dans une cinquième étape 140 du procédé selon l'invention, la fonction de 25 contrôle optimal a*(.) est reconstruite à partir de la connaissance de la fonction . Le document � M. Bardi and I. Capuzzo-Dolcetta. Optimal Control and viscosity solutions of Hamilton-Jacobi-Bellman equations. Birkhàuser Boston, 1997. � illustre un tel exemple de reconstruction de la fonction de contrôle optimal a*(t). Cette fonction de contrôle optimale a*(t) est appliquée sur le système en 30 quasi temps réel. Suivant les figures respectives 2 et 3, une structure creuse préférée de l'invention désignée par � structure creuse semi-dynamique � SSD (dénomination en anglais de Sparse Semi-Dynamic data structure), est représentée pour la dimension d égale à 2, respectivement égale à 3. Suivant la figure 2, un domaine carré est considéré dans lequel le calcul est effectué. Dans le carré est représenté en trait plein un front d'onde en forme d'ellipse. La matrice de calcul carrée supposée de dimension NxN et désignée par M comprend des éléments repérés par un premier indice i et un deuxième indice j. Un vecteur (statique) de pointeurs est désigné par p = (pi, ..., PN) de sorte que chaque pointeur p; est le début d'une liste chainée qui correspond à la ligne d'indice i de la matrice M. Chaque liste chainée est constituée d'éléments qui contiennent seulement les indices j et les valeurs des noeuds dont le stockage est souhaité dans la structure (c'est-à-dire les noeuds situées autour du front rt). Les éléments de la liste sont ordonnés par ordre croissant des indices i triés. Il est à remarquer le fait que, si une ligne paramétrée par l'indice i ne contient aucun noeud autour du front rt , le pointeur correspondant pointe sur une référence neutre désigné par NULL. De cette manière seuls les noeuds qui sont intéressants sont stockés et permettent un accès simultané à chaque ligne de la matrice, de sorte que les voisins d'un noeud donné peuvent être rapidement est facilement recherchés. Dans la version en dimension quelconque d de l'algorithme de stockage dans une structure de donnée creuse semi-dynamique, la matrice complète M qui n'est pas stockée comporte Nd éléments. Dans ce cas, une matrice de dimension Nd-' de pointeurs est considérée. Comme pour le cas précédent où d égal à 2, chaque pointeur est le début d'une liste qui s'étend parallèlement à la dernière dimension restante de la matrice M, contenant tous les noeuds entourant le front. Il est à remarquer que dans la méthode de structure creuse chainée semi- dynamique (SSD) chaque élément des listes comprend seulement un champ de dernier indice restant et de valeur de la fonction . Les premiers d-1 indices de départ peuvent être retrouvés par le pointeur en cours d'utilisation pour parcourir la structure. Il est à remarquer que dans le cas d égal à 2, cette structure de données (SSD) correspond à une version dynamique de la méthode dite CRS (dénomination en anglaise de Compressed Row Storage) qui fournit également une structure creuse. Avantageusement, en ayant remplacé des vecteurs statiques comme utilisés dans la méthode CRS par des listes chainées, il est possible de modifier le pas du maillage temporel de la grille lorsque cela est utile à la résolution des équations HJB (2). Suivant la figure 3 correspondant à la dimension d égal à 3, pour un couple d'indices quelconque (i, j), une liste est stockée correspondant aux indices k pertinents. A l'inverse, la méthode CRS (dénomination anglaise de Compressed Row Structure), pour un indice quelconque i, une liste est stockée correspondant aux indices (j, k). En variante de la méthode de stockage en des grilles creuses à listes chainées semi-dynamiques (SSD), une méthode de stockage légèrement différente permet d'économiser de la mémoire, fondée sur l'idée de base que dans la structure à deux dimensions il n'est pas nécessaire de stocker des pointeurs qui pointent à la référence neutre NULL. Dans ce cas, au vecteur contenant les pointeurs est substituée une liste chainée similaire à celles contenant les valeurs des noeuds. Cette modification conduit à un codage numérique plus complexe. Il a été vérifié expérimentalement que le temps CPU (Computer Program Unit) est diminué pour d égal à 2 mais pas toujours dans le cas d'une dimension supérieure. Une structure de données creuse à listes chainées semi-dynamique présente le meilleur compromis en termes de capacité de stockage et de temps de calcul pour des procédés de contrôle selon l'invention opérant dans un espace d'état de dimension d comprise entre 2 et 7. La valeur limite 7 correspond à la limite technologique actuelle des processeurs actuellement sur le marché ou en cours de développement. En variante, une structure creuse est par exemple une structure de type LS (dénomination anglaise de List Storage) ou une structure de type classique CRS. Cette structure présente de bonne performance en termes de capacité mémoire mais requiert des temps de calcul plus importants que ceux présentés pour une structure SSD lorsque d est supérieur ou égal à 3. Dans le cas d'une structure de données creuse de type LS (dénomination anglaise de List Storage), une liste à chainage dynamique d'éléments est stockée contenant les indices et les valeurs des noeuds entourant le front, les éléments étant ordonnés d'une manière appropriée par rapport à la matrice pleine qui n'est pas stockée. Chaque élément de la liste comprend un pointeur sur l'élément précédent et l'élément suivant, de sorte que la recherche des voisins est faite en aller et en retour dans la liste. En outre, en dimension 2, les indices (i, j) d'un noeud sont compressés ou codés en un seul indice k pour économiser de la mémoire, k étant défini selon la règle k = i.N+j où N est le nombre de colonnes de la matrice. Cette procédure de compression est facilement généralisable à une dimension quelconque, pour peu que N et d ne soient pas trop grands (sous peine que l'entier k vienne à manquer de ressources en bits de codage). Cette méthode est la meilleure en termes d'allocation de taille de mémoire. A titre d'exemple non limitatif, le procédé selon l'invention peut être utilisé pour optimiser la trajectoire d'un lanceur spatial. Le lanceur comporte deux boosters, un premier étage et un dernier étage. Ces éléments sont conçus de sorte à contenir un combustible. L'état du lanceur peut être décrit par trois variables d'état : l'altitude r du lanceur, sa vitesse v, et sa masse m. Comme représenté sur la figure 4, le centre de la Terre est noté O, eK est l'axe Nord-Sud de rotation de la terre, et SZ est le module constant de la vitesse angulaire de rotation de la Terre orienté selon eK. On définit ainsi un référentiel R := (el, ej, eK) quasi-inertiel centré sur O tournant autour de eK à la vitesse angulaire, avec ek choisi de sorte à entrer en intersection avec le méridien de Greenwich. Le lanceur a un centre de masse G dont les coordonnées sphériques sont (r, L, I) avec r la distance au centre de la terre O, L est la longitude et I la latitude. Un repère mobile R1 est centré sur G et défini de sorte à ce que er soit la direction verticale au point G et (eL, el) soit le plan local horizontal avec et s'étalant dans le plan (er, eK) et pointant vers le nord. La vitesse relative de G dans R est décrite par un vecteur v de module v et paramétré par deux angles : d'une part l'inclinaison de la trajectoire%'qui est l'angle entre er et v et d'autre part l'azimut )(qui est l'angle entre eLet la projection de v sur (eL, el). Le lanceur est soumis à la force de Coriolis et à la force de gravitation g = ûg(r)ec avec g(r) 2 , N étant la constante gravitationnelle. Le lanceur subit une force aérodynamique FD opposée à la vitesse 17. Le lanceur est contrôlé par sa force de poussée FT . La masse m évolue au cours du temps t. En particulier, dans le cas d'un lanceur à étages, la masse m(t) subit des variations non continues du fait de la séparation au cours du vol des différents étages. Les commandes du lanceur permettent d'ajuster, au cours du temps, la puissance fournie par chaque moteur du système. Les commandes permettent donc de modifier la force de poussée FT . La fonction de contrôle a(t) décrit pour chaque instant t la puissance des moteurs actifs. L'optimisation de la fonction de contrôle a(t) consiste à trouver la fonction de contrôle optimale a * (t) permettant de minimiser la consommation de carburant sous contrainte de la pression dynamique pour atteindre une orbite géostationnaire. Par souci de clarté et de simplification, il est par la suite pris l'hypothèse simplificatrice que le plan de mouvement du lanceur est le plan équatorial, et que les forces de poussée FT et aérodynamique FD sont comprises dans le même plan. Il est aussi pris pour hypothèse que l'évolution de (r, v, 7, m) ne dépend pas de la longitude L. Cette simplification est acceptable car physiquement réaliste dans le cas de lanceurs spatiaux tirés depuis un site proche de l'équateur vers une orbite géostationnaire. Toutefois, le procédé selon l'invention permettrait également de résoudre le problème sans cette hypothèse. Une étude du présent système aboutit aux systèmes d'équations suivantes, c'est-à-dire la fonction dynamique f du lanceur : dr =vcos7; dt dv FD (r, v) FT (r, v) 2 dt =ùg(r)cosyù m(t) + m(t) cosa+52 rcosy d7=siny g(r) ùv ù FT sinaùSZ2rsinyù2S dt v r vm(t) v Ici, a désigne l'angle d'incidence formé par le vecteur de vitesse relative v dans R du centre G lanceur et XL le vecteur d'axe longitudinal du lanceur. L'angle a et les vecteurs permettant de le définir représentés sur la figure 5. Le problème P à résoudre est de guider le lanceur depuis une position initiale (ro,vo,70) vers une cible C située sur l'orbite géostationnaire en minimisant la consommation de combustible. La contrainte mixte état/contrôle permettant de définir g est la suivante pour le lanceur : Q(r,vla Cs 1 avec Q(r, v) = 2-p(r)v2 P étant la fonction décrivant la densité atmosphérique et Cs une constante prédéterminée. La masse m(t) du lanceur à étages multiples est égale à la somme : • de la masse de la charge utile MPL, ladite masse étant constante au fil du temps ; • de la masse à vide du lanceur ML(t), c'est-à-dire de la masse du lanceur sans combustible, elle-même égale à la somme de la masse ME1 du premier étage du lanceur sans combustible, de la masse ME2 du deuxième étage du lanceur sans combustible et MEAP de la masse des boosters du lanceur sans combustible ; • de la masse de combustible MP, elle-même égale à la somme de la masse m, de combustible compris dans les boosters du lanceur, de la masse m2 de combustible compris dans le premier étage du lanceur et de la masse m3 de combustible compris dans le dernier étage du lanceur. En résumé, m(t) := MPL + ML (t) + mi (t) + m2 (t) + m3 (t) La variation de la masse m(t) dépend de la phase de vol du lanceur. Le vol du lanceur connaît quatre phases : • La phase 0, à partir de l'instant initial 0, de décollage durant laquelle les deux boosters et le premier étage sont allumés ; • La phase 1, lors de laquelle les deux boosters et le premier étage sont maintenus allumés, et s'achevant à un instant t2 où les boosters se séparent du lanceur; • La phase 2, à partir de l'instant t2 et s'achevant à un instant t3 où le premier étage est séparé du lanceur, pendant laquelle le lanceur est propulsé seulement par le premier étage; La phase 3 finale, à partir de l'instant t3 jusqu'à un temps final tf où seul le deuxième étage est allumé. En posant YEAP le taux d'évolution dans le temps de la masse des boosters, 16E1 le taux d'évolution dans le temps de la masse du premier étage et )6E2 le taux 5 d'évolution dans le temps de la masse du deuxième étage, et en posant la condition finale m(t f) =MPL +ME2 , la masse m(t) du lanceur peut être définie ainsi : MPL +ME2+fE2(tf -t)pourtE [tf -t3,t1 m(t) = MPL +ME2 +fE2t3 +ME1 +NEl(tf -t3 -t)pourtE [tf -t3 -t2,tf -t3] MPL +ME2 +flE2t3 +ME1 +flElt2 +M EAP +(/-EAP +/E1)(tf -t3 -t2 -t) pour tE [O,tf ùt3 -t2I Le lanceur comporte une quantité maximale de combustible supposée constante, 10 fonction de la forme du lanceur et de la capacité de ses éléments constitutifs. L'évolution de masse m dépend donc seulement du temps final tf de la trajectoire. • En définissant une fonction m de sorte que m(t) = in(t f -0, et l'ensemble des valeurs de contrôle admissibles du système A = [armn , aIäa.1, le problème P associé de la trajectoire optimale du lanceur tel que décrit 15 précédemment s'écrit ainsi : minimiser tf dr - =vcos7; dt dv F (r, v) F T v) - =ùg(r)cosyù D + T cos a+SZ2rcosy dt m(tf ù t) vm(tf ùt) dy ù sin yg(r) v FT (r, v) sin a ù 2r ù - - ù SZ ù sin yù 2SZ dt v r ù t ) v r(0) = ro,v(0) = vo, y(0) = yo a(t)E [ana ,a 'pour tE [0,tf1 (r(tf),v(tf),y(tf))E C, Q(r,vla CSpourtE [0,tfI Le problème P ainsi formulé ne fait pas apparaître la masse m(t) en tant que variable d'état, mais comme une fonction du temps final tf qui n'est pas connu. Le procédé selon l'invention permet de trouver la fonction de contrôle optimale a *0 du problème P ainsi formulé. Dans la première étape 110, on transpose le problème P en équations (2) de Hamilton Jacobi Bellman sous la forme suivante : z5t(t,x)+ H(t,x, Qx9 (t,x)))=O,t>O,x=(r,v,y)E 3, aeA,g (x,a) 0 ; ^ [Dr] est une approximation du gradient V L9 (t,x). Atn est un intervalle temporel qui peut être variable. Pour des raisons de stabilité, l'intervalle temporelAtn et la grille G doivent satisfaire la condition de Courant-Friedrichs-Levy. L'approximation [DVn] est obtenue en mettant en oeuvre le procédé � Ultra Bee �. Alternativement, l'approximation [DVn] peut être obtenue en utilisant des procédés par différences finies tel que les procédés ENO, WENO, Upwind, par 15 des procédés semi-Lagrangien. La fonction temps minimum T est tout d'abord initialisée ainsi : • pour tout xi E G, T(xi) = 0 ; • sinon, T(xi) _+0°. Si pour un temps t, donné, la valeur de Vin sur la cellule centrée autour xi de la 20 grille G est proche de zéro et que T (xt) _ +0'0., alors on poseT (xi) = tn , la valeur T(xj) ne pouvant plus être changée. On calcule alors la masse m*(xt) au temps tn , avec la formule ; MPL +ME2 +/3E2(tf ù t) pour tE [tf ùt3,tf] MPL +ME2 +N3E2t3 +ME1 +f3E1(tf ùt3 ùt)pourtE [tf ù/t3 ùt2,tf ùt3] MPL +ME2 + NE2t3 + M E1 + NE1t2 + M Ee1P + (NEAP + f E1)(t f ù t3 -t2 ù t) pour t E [0, t f ù t3 ùt2] Comme T(xi) correspond au temps minimum pour atteindre la cible C depuis le point xt en respectant les contraintes de contrôle, la masse correspondante est la plus faible possible permettant d'atteindre la cible C. Les fonction et T étant connues, dans la cinquième étape 140 du procédé selon l'invention, la fonction de contrôle optimal a*(t) est calculée ainsi que la trajectoire optimale. Dans cette étape, on reconstruit la trajectoire optimale en partant du point de départ, et on utilise par exemple un procédé Runge-Kutta du quatrième ordre pour calculer une suite de points approchant cette trajectoire. À chaque pas de la reconstruction, on choisit la valeur optimale de la commande qui permet de faire évoluer la trajectoire vers un nouveau point admissible à partir duquel il est possible d'atteindre la cible en temps minimal. Cette fonction de contrôle optimale a*(t) est appliquée sur le lanceur pour le piloter, soit en temps réel, soit en temps réfléchi. En variante le domaine de calcul fin est restreint par un bornage supplémentaire artificiel des points (r, v, y) appartenant à B, par exemple en utilisant deux fonctions fmin et fmax de sorte que : fmin(r)v REVENDICATIONS1.- Procédé de contrôle optimal d'un système physique pour obtenir une trajectoire physique déterministe optimale Y résolvant un problème P, le système pouvant être contrôlé par des commandes comprises dans un ensemble A, le comportement dynamique du système étant décrit par une fonction dynamique., le problème P étant l'obtention d'une trajectoire physique déterministe optimale du système atteignant une cible C en un temps minimal tf et vérifiant des contraintes décrites par une fonction de contrainte mixte état/contrôle g, le procédé comprenant : - une première étape (100) de transposition du problème P en équations d'Hamilton Jacobi Bellman reliant un nombre entier d de variables d'état et leurs adjoints respectifs, d étant la dimension d'un espace d'état du système ; - une deuxième étape (110) de résolution numérique des équations d'Hamilton Jacobi Bellman en les discrétisant par un procédé anti-diffusif, dit � ultrabee � sur des grilles spatiales et temporelles représentant l'espace d'état et le temps, caractérisé en ce qu'il comprend : - une troisième étape (120) d'implémentation des grilles par des structures de données creuses, - une quatrième étape (130) de calcul de la fonction de temps minimal, 20 - une cinquième étape (140) où à partir des valeurs obtenues à la quatrième étape (130) est reconstruite une trajectoire optimale. 2. Procédé selon la revendication 1, caractérisé en ce que les grilles sont incluses dans un domaine fini [O,T]xB avec T une borne supérieure du temps nécessaire pour atteindre la cible C et B un ensemble des points comprenant tout 25 à la fois la cible C et la position initiale du système. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que la quatrième étape (130) est une étape de calcul simultané de la fonction de temps minimal et d'un bassin de capture. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en 30 ce que les grilles spatiales et/ou temporelles sont à pas variables. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le pas temporel entre deux temps d'échantillonnage successifs diminuedans des zones de l'espace d'état où les variations de certaines variables d'état sont importantes. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les pas spatiaux correspondant au maillage d'une grille de l'espace d'état sont uniformes indépendamment du temps, des changements de variable ayant été effectués au préalable sur au moins une variable d'état de manière à prendre en compte des différences d'échelles locales importantes pour certaines variables d'état considérées à des instant différents. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisée en ce que les structures creuses sont des structures creuses à listes chainées. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que les structures creuses à listes chainées sont des structures creuses à listes chaînées semi-dynamiques obtenues à partir d'une grille pleine (M) de dimension Nd , d étant la dimension d de l'espace d'état, et N le nombre d'échantillons sur un axe quelconque représentant une variable d'état, une structure creuse à listes chainées semi-dynamique comprenant une matrice de dimension Nd-' de pointeurs, chaque pointeur étant le début d'une liste de parcours de la dernière dimension restante de la matrice pleine (M), et contenant tous les noeuds entourant un front solution calculé à la deuxième étape (110). 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que la dimension de l'espace des variables d'états est comprise entre 2 et 7, de préférence comprise entre 2 et 4. 10. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel la trajectoire optimale et la fonction de contrôle optimale a *0 sont construites 25 grâce à un procédé Runge-Kutta du quatrième ordre. 11. Procédé selon l'une quelconque des revendications précédentes, appliqué au contrôle d'un lanceur spatial. 12. Procédé selon la revendication 11, caractérisé en ce que les variables d'état sont la distance r entre le centre gravité du lanceur et le centre de la Terre, v 30 la vitesse relative du lanceur par rapport à un repère lié à la Terre, l'angle d'inclinaison y de la vitesse relative par rapport à une horizontale locale terrestre et la masse m. 13. Procédé selon les la revendication 12, caractérisé en ce que la fonction de contrainte mixte état/contrôle g est déterminée à partir de la contrainte physique régie par l'équation : Q(r,vla Cs 1 avec Q(r, v) = 2 -P(r)v2, où P est la fonction décrivant la densité atmosphérique en fonction de la distance r et a désigne un angle d'incidence formé par la direction du vecteur de vitesse relative v et le vecteur d'un axe longitudinal du lanceur. 14. Procédé selon la revendication 13, caractérisé en ce que le le domaine de calcul fini [O,T]xB est restreint par un bornage supplémentaire artificiel des points (r, v, y) appartenant à B, en utilisant un ensemble fini d'un nombre entier q d'inéquations de type: h_1(r,v,y) 15. Procédé selon l'une quelconque des revendications 11 à 14, caractérisé en qu'un front solution délimitant le bassin de capture est stocké dans une structure de donnée creuse à listes chainées semi-dynamique.