FR 3058988 A1 20180525 FR 1661229 A 20161118 1 Procédé de pilotage de N propulseurs monodirectionnels d'un engin spatial, répartiteur de commandes et produit programme d'ordinateur associés La présente invention concerne un procédé de pilotage de N propulseurs monodirectionnels d'un engin spatial, un répartiteur de commandes et un produit programme d'ordinateur associés. De manière connue en soi, pour corriger sa trajectoire, un engin spatial tel qu'un satellite comporte des actionneurs. Ces actionneurs permettent en particulier de modifier l'attitude et/ou la position de l'engin spatial en générant des forces selon des directions différentes. La résultante de ces forces forme une force permettant d'animer l'engin spatial d'un mouvement de translation et/ou un couple permettant de l'animer d'un mouvement de rotation. Parmi les actionneurs, il est connu d'utiliser des propulseurs électriques ou des propulseurs à gaz froid monodirectionnels permettant de générer une poussée selon un axe prédéterminé de l'engin spatial. Ces propulseurs sont par exemple d'un nombre strictement supérieur à six et sont répartis selon différents axes de l'engin spatial de sorte à pouvoir contrôler les trois degrés de liberté en translation et les trois degrés de liberté en rotation de l'engin spatial. Le fonctionnement des actionneurs est piloté par un répartiteur permettant de générer une commande de pilotage pour chacun d'entre eux. Ces commandes de pilotage sont déterminées à partir d'un torseur de commande qui est généralement composé de six composantes. Les trois premières composantes d'un tel torseur définissent une force résultante qui doit être appliquée à l'engin spatial pour atteindre une position donnée. Cette force anime donc l'engin spatial d'un mouvement de translation. Les trois autres composantes définissent un couple résultant qui doit être appliqué à l'engin spatial pour atteindre une attitude donnée. Ce couple anime donc l'engin spatial d'un mouvement de rotation. Le torseur de commande est généré par exemple par un dispositif de pilotage distinct en fonction de la mission de l'engin spatial. On conçoit alors que le rôle du répartiteur consiste à générer des commandes adaptées pour chacun des actionneurs afin d'animer l'engin spatial d'un mouvement de translation et/ou de rotation permettant d'atteindre une position et/ou une attitude donnée(s) de l'engin spatial. Un tel répartiteur met donc en oeuvre un procédé de pilotage des actionneurs de l'engin spatial à partir d'un torseur de commande donné. 3058988 2 Différents types de répartiteurs existent déjà dans l'état de la technique. Toutefois, ces répartiteurs ne sont pas complètement satisfaisants car ils se trouvent souvent inadaptés ou pas suffisamment efficaces pour piloter des actionneurs composés uniquement de propulseurs électriques ou à gaz froid monodirectionnels. 5 La présente invention a pour but de proposer un répartiteur de commandes et un procédé de pilotage mis en oeuvre par ce répartiteur, permettant de commander efficacement des propulseurs électriques ou à gaz froid monodirectionnels d'un engin spatial. À cet effet, l'invention a pour objet un procédé de pilotage de N propulseurs 10 monodirectionnels d'un engin spatial, quelle que soit la technologie de ces propulseurs, chaque propulseur générant une poussée à partir d'une commande de pilotage fourni par un répartiteur de commandes, l'ensemble des propulseurs modifiant la position et/ou l'attitude de l'engin spatial en appliquant à celui-ci un torseur effectif de dimension M dont chaque composante correspond à une force ou à un couple appliqué(e) à l'engin spatial 15 selon une direction prédéterminée. Le procédé comporte les étapes suivantes : - acquisition d'un torseur de commande correspondant à un torseur effectif nécessaire pour atteindre une position et/ou une attitude donnée(s) de l'engin spatial ; - détermination d'un vecteur de commande composé des N commandes de 20 pilotage des propulseurs différents, le vecteur de commande respectant un premier critère de répartition selon lequel chacune de ses composantes est supérieure ou égale à un seuil de commande minimale prédéterminé, et une relation de répartition selon laquelle le produit d'une matrice d'influence prédéterminée de dimension M fois N et de ce vecteur de commande est égal au torseur de commande. 25 L'étape de détermination du vecteur de commande comporte les sous-étapes suivantes : - détermination d'un deuxième critère de répartition permettant de garantir l'unicité du vecteur de commande recherché ; - détermination d'un vecteur optimal correspondant à la solution optimale d'un 30 problème de minimisation consistant à déterminer un vecteur respectant la relation de répartition et le deuxième critère de répartition, un vecteur d'approche précédente étant initialement égal au vecteur optimal ; - détermination d'un vecteur correcteur tel que le vecteur correspondant à la somme de ce vecteur correcteur et du vecteur d'approche précédente respecte le premier 35 critère de répartition et tel que la norme euclidienne du vecteur correcteur soit minimale ; 3058988 3 - détermination d'un vecteur d'approche suivante égal à la somme du vecteur d'approche précédente et d'un vecteur de rattrapage colinéaire au vecteur correcteur projeté orthogonalement sur le sous-espace défini par le noyau de la matrice d'influence ; - association du vecteur d'approche précédente au vecteur d'approche suivante ; 5 - association du vecteur de commande au vecteur d'approche précédente. Suivant d'autres aspects avantageux de l'invention, le procédé comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : - les sous-étapes de détermination d'un vecteur correcteur, de détermination d'un 10 vecteur d'approche suivante et d'association du vecteur d'approche précédente au vecteur d'approche suivante, sont itérées jusqu'à ce qu'une norme du vecteur correcteur devienne inférieure ou égale à un seuil d'arrêt prédéterminé ou jusqu'à ce que le nombre d'itérations dépasse un nombre d'itérations maximal prédéterminé ; - la sous-étape d'association du vecteur de commande au vecteur d'approche 15 précédente comprend en outre l'annulation de chaque composante du vecteur de commande inférieure au seuil de commande minimale ; - le seuil de commande minimale est supérieur ou égal à zéro et inférieur à un ; - le deuxième critère de répartition consiste en la minimisation d'une norme du vecteur correspondant ; 20 - le vecteur optimal est égal au produit d'une matrice pseudo-inverse de la matrice d'influence et du torseur de commande, la matrice pseudo-inverse de la matrice d'influence étant égale au produit de la matrice d'influence transposée et de la matrice inverse d'une matrice égale au produit de la matrice d'influence et de la matrice d'influence transposée ; 25 - le vecteur de rattrapage est égal au vecteur correcteur projeté orthogonalement par une matrice de projection, sur le sous-espace défini par le noyau de la matrice d'influence, multiplié par un gain supérieur ou égal à un ; - la matrice de projection est obtenue en utilisant la décomposition de Householder de la matrice d'influence transposée ; et 30 - chaque commande de pilotage est un nombre compris entre zéro et un, et dans lequel chaque propulseur fournit une poussée égale à sa poussée maximale multipliée par la commande de pilotage correspondante. L'invention a également pour objet un produit programme d'ordinateur comportant des instructions logicielles qui, lorsque mises en oeuvre par un équipement informatique, 35 mettent en oeuvre le procédé tel que défini ci-dessus. 3058988 4 L'invention a également pour objet un répartiteur de commandes mettant en oeuvre le procédé tel que défini ci-dessus. Ces caractéristiques et avantages de l'invention apparaitront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif, et faite en 5 référence aux dessins annexés, sur lesquels : - la figure 1 est une vue schématique d'un engin spatial comportant un répartiteur de commandes selon l'invention ; - la figure 2 est une vue schématique du répartiteur de commandes de la figure 1 ; - la figure 3 est un organigramme d'un procédé de pilotage selon l'invention, le 10 procédé étant mis en oeuvre par le répartiteur de commandes de la figure 1 ; et - la figure 4 est un schéma illustrant la mise en oeuvre d'une étape du procédé de pilotage de la figure 3. L'engin spatial 10 de la figure 1 est un satellite effectuant des mouvements périodiques suivant une trajectoire O. La trajectoire 0 présente par exemple une orbite 15 géostationnaire ou toute autre orbite définie en fonction de la mission de l'engin spatial 10. Bien entendu, l'invention reste applicable à tout autre type d'engin spatial tel que par exemple une navette spatiale, un lanceur, etc. En référence à la figure 1, l'engin spatial 10 comporte un dispositif de pilotage 12, 20 un répartiteur de commandes 14 et un ensemble d'actionneurs 16. Le dispositif de pilotage 12 se présente par exemple sous la forme d'un calculateur associé à une pluralité de capteurs aptes à générer des données relatives à l'attitude et/ou la position courante(s) de l'engin spatial 10. Le dispositif de pilotage 12 est apte à acquérir les données générées par les 25 capteurs et à commander une modification de l'attitude et/ou de la position de l'engin spatial 10 en fonction de ces données et éventuellement en fonction de la mission de l'engin spatial 10. En particulier, le dispositif de pilotage 12 est apte à déterminer une force résultante et/ou un couple résultant nécessaire(s) pour atteindre une position et/ou une 30 attitude donnée(s) à partir de la position et/ou de l'attitude courante(s) de l'engin spatial 10. Autrement dit, le dispositif de pilotage 12 est apte à déterminer un torseur de commande Fcom composé de trois composantes d'une telle force résultante et de trois composantes d'un tel couple résultant. Ces composantes sont par exemple déterminées 35 par à rapport à un repère fixe associé à l'engin spatial 10. 3058988 5 Ainsi, dans l'exemple décrit, la dimension du torseur de commande Fcom, dénotée par la suite par M, est égale à 6. Toutefois, dans le cas général, le nombre M est un nombre entier supérieur ou égal à 1. Finalement, le dispositif de pilotage 12 est apte à transmettre le torseur de 5 commande Fcom déterminé vers le répartiteur 14. L'ensemble d'actionneurs 16 est composé de N propulseurs électriques ou à gaz froid monodirectionnels, le nombre N étant un nombre entier strictement supérieur au nombre M. Chaque propulseur est associé à un axe prédéterminé de l'engin spatial 10 et est 10 apte à générer à partir d'une commande de pilotage transmise par le répartiteur 14, une poussée suivant un seul sens de cet axe. Chaque commande de pilotage comprend un nombre compris entre zéro et un et correspondant à un pourcentage de la poussée maximale que le propulseur correspondant est apte à générer. 15 Dans l'exemple décrit, le nombre N est égal à douze. Ainsi, selon cet exemple, l'ensemble d'actionneurs 16 est composé de douze actionneurs répartis suivant quatre groupes de trois propulseurs. Les propulseurs d'un même groupe sont par exemple associés à trois axes différents et linéairement indépendants de l'engin spatial 10. Le répartiteur 14 est illustré plus en détail sur la figure 2. 20 Ainsi, en référence à cette figure 2, le répartiteur 14 comporte un module d'entrée 21 apte à recevoir un torseur de commande Fcom issu du dispositif de pilotage 12, un module de traitement 23 apte à traiter ce torseur de commande Fcom pour générer un vecteur de commande T dont chaque composante T[i] correspond à une commande de pilotage destinée à l'un des propulseurs de l'ensemble 16, une base de donnée 25 25 comportant des données de paramétrage du module de traitement 23, et un module de sortie 27 apte à envoyer chaque composante T[i] du vecteur de commande T en tant qu'une commande de pilotage vers le propulseur correspondant. Le répartiteur 14 se présente par exemple sous la forme d'un calculateur comportant notamment une mémoire et un processeur (non-illustré). Dans ce cas, les 30 modules d'entrée 21, de traitement 23 et de sortie 27 se présentent sous la forme des logiciels stockés dans cette mémoire et exécutables par ce processeur. La base de données 25 est également stockée dans cette mémoire. Les données de paramétrage comprennent notamment une première matrice M*, une deuxième matrice KQ7A2, un seuil de commande minimale Tmin et un seuil d'arrêt E. 35 La première matrice M* est la matrice pseudo-inverse d'une matrice d'influence M et est déterminée selon la relation suivante : 3058988 6 M* = mT(mmT)-1, où l'opérateur T signifie la transposition de la matrice correspondante. La matrice d'influence M comporte M lignes et N colonnes et définit une relation de répartition. La relation de répartition relie un vecteur de commande T et un torseur effectif Feff composé de trois composantes de la force résultante et de trois composantes du 5 couple résultant appliqués à l'engin spatial 10 lorsque les commandes de pilotage correspondant aux composantes T[i] du vecteur de commande T sont appliquées aux propulseurs correspondants de l'ensemble 16. La relation de répartition s'écrit sous la forme suivante : Feff = MT. La matrice d'influence M est alors composée de M*N coefficients déterminés en 10 fonction des caractéristiques des propulseurs de l'ensemble 16, c'est-à-dire en fonction notamment de leur disposition, poussée maximale, etc. La deuxième matrice KQ7A2 est égale au produit d'un gain K et d'une matrice de projection Q72'Q2. La matrice de projection Q7A2 est telle que le vecteur correspondant au produit de cette matrice avec un vecteur x quelconque, corresponde à la projection de ce 15 vecteur x sur le sous-espace défini par le noyau de la matrice d'influence M. La matrice de projection Q7A2 est obtenue à partir de la matrice Q2 de dimension M*(N-M) qui satisfait la relation suivante : n*Q72' = 0 mxm, où Omxm est la matrice nulle de dimension M*M. De plus, la matrice Q2 est telle qu'il existe une matrice U de dimension M*N telle 20 que : + Q72'Qz = idNxN, où IdNxN est la matrice identité de dimension N*N, La matrice Q2 est déterminée en utilisant la décomposition de Householder de la matrice d'influence transposée MT. En particulier, la décomposition de Householder pour la matrice MT s'écrit sous la 25 forme suivante : MT = QTR, où Q est une matrice orthonormale de dimension N*N et R est une matrice N*M triangulaire supérieure définie comme suit : [Ri R] [R2t où R1 est une matrice triangulaire supérieure de dimension M*M et R2 est une matrice nulle. 3058988 7 La matrice QT s'écrit sous la forme suivante : QT = [QIQ2], où QI est une matrice de dimension N*M et Q72' est la matrice Q2transposée recherchée. Le gain K est un nombre supérieur ou égal à un. De préférence, le gain K est 5 sensiblement égal à 1,75. Le seuil de commande minimale Tmin est un nombre inférieur à un et supérieur ou égal à zéro. Le seuil de commande minimale Tmin détermine une commande minimale applicable par chacun des propulseurs comme cela sera expliqué par la suite. Finalement, le seuil d'arrêt E détermine un critère d'arrêt lors de la détermination 10 d'un vecteur de commande T comme cela sera expliqué par la suite. Pour générer un vecteur de commande T à partir d'un torseur de commande Fcom fourni par le dispositif de pilotage 12, le répartiteur 14 met en oeuvre un procédé de pilotage de N propulseurs monodirectionnels selon l'invention. Ce procédé sera désormais expliqué en référence à la figure 3 présentant un 15 organigramme de ses étapes. Initialement, un torseur de commande Fcom est généré par le dispositif de pilotage 12. Ce torseur de commande Fcom correspond à un torseur effectif dont l'application à l'engin spatial 10 est nécessaire pour atteindre une attitude et/ou une position donnée(s). Lors de l'étape 110, le module d'entrée 21 du répartiteur 14 acquiert le torseur de 20 commande Fcom généré par le dispositif de pilotage 12 et transmet ce torseur au module de traitement 23 du répartiteur 14. Lors de l'étape 120 suivante, le module de traitement 23 détermine un vecteur de commande T dont chaque composante T[i] correspond à une commande de pilotage destinée à l'un des propulseurs de l'ensemble 16. 25 Le vecteur de commande T est déterminé de sorte à satisfaire à un premier critère de répartition et à la relation de répartition au regard du torseur de commande Fcom. Selon le premier critère de répartition, chaque commande de pilotage et donc chaque composante T[i] du vecteur de commande T est supérieure ou égale au seuil de commande minimale Tmin- 30 Le vecteur de commande T satisfait à la relation de répartition au regard du torseur de commande Fcom lorsque la relation suivante est satisfaite : Fcom = MT. Pour déterminer un tel vecteur de commande T, le module de traitement 23 met en oeuvre les sous-étapes 121 à 126. 3058988 8 Lors de la sous-étape 121, le module de traitement 23 détermine un deuxième critère de répartition permettant de garantir l'unicité du vecteur de commande déterminé T à l'issue de l'étape 120. Dans l'exemple décrit, le deuxième critère de répartition consiste en la 5 minimisation d'une norme, par exemple de la norme euclidienne, du vecteur de commande T. Autrement dit, selon le deuxième critère de répartition, le vecteur de commande T doit minimiser l'expression suivante : TL i=1 Ce même critère permet en outre de garantir que chacune des composantes T[i] 10 soit inférieure ou égale à un. Lors de la sous-étape 122 suivante, le module de traitement 23 détermine la solution optimale d'un problème de minimisation consistant à déterminer un vecteur respectant la relation de répartition et le deuxième critère de répartition. Le vecteur correspondant à cette solution, dit par la suite vecteur optimal Topt, est 15 déterminé en utilisant la matrice pseudo-inverse M* via la relation suivante : Topt = M*F 'm. Le vecteur optimal T 0pt constitue un vecteur d'approche initiale To du vecteur de commande T recherché. Lors de la sous-étape 123 suivante, le module de traitement 23 détermine un vecteur correcteur Cork défini selon les relations suivantes : 20 Cork [i] = Tmin - Tk[i] Si TminTk[i]; et Cork [i] = O si Tmin Tmin, 30 Lors de la sous-étape 124 suivante, le module de traitement 23 détermine une norme, par exemple la norme euclidienne, du vecteur correcteur Cork. 3058988 9 Puis, lorsque cette norme est supérieure au seuil d'arrêt E, le module de traitement 23 met en oeuvre l'étape 125. Dans le cas contraire, le module de traitement 23 met oeuvre l'étape 126. Ainsi, la sous-étape 124 met en oeuvre un critère d'arrêt d'itération des étapes 123 5 et 125. Lors de l'étape 125, le module de traitement 23 détermine un vecteur d'approche suivante T k+i du vecteur de commande T. Ce vecteur d'approche suivante T k+i est déterminé selon la relation suivante : T k+1 = Tk KQ2Q2Cork. Le vecteur d'approche suivante T k+i représente donc la correction du vecteur 10 d'approche précédente Tk par l'ajout d'un vecteur de rattrapage KQ7A2Cork égal au vecteur correcteur Cork projeté orthogonalement sur le sous-espace défini par le noyau de la matrice d'influence M et multiplié par le gain K. Autrement dit, le vecteur KQ7A2Cork représente une correction du vecteur d'approche précédente Tk qui appartient au noyau de la matrice M et qui est la correction 15 la plus proche au sens de la norme euclidienne du vecteur Cork au vecteur d'approche précédente Tk. Puis, à la fin de la sous-étape 125, le module de traitement 23 associe le vecteur d'approche précédente Tk au vecteur d'approche suivante T k+i, incrémente l'indice k et passe à nouveau à l'exécution de l'étape 123. 20 Lors de l'étape 126, le module de traitement 23 associe le vecteur de commande T au vecteur d'approche précédente Tk de ce vecteur. Optionnellement, lors de cette sous-étape 126, le module de traitement 23 annule chaque composante T[i] du vecteur de commande T inférieure au seuil de commande minimale Tmin- 25 Puis, le module de traitement 23 transmet le vecteur de commande T obtenu au module de sortie 27. Finalement, lors de l'étape 130, le module de sortie 27 transmet les composantes T[i] du vecteur de commande T aux propulseurs correspondants sous la forme des commandes de pilotage. 30 Un exemple de la mise en oeuvre de l'étape 120 de détermination d'un vecteur de commande T est illustré sur la figure 4. Selon cet exemple, le nombre N est égal à deux et le nombre M est égal à un. La matrice d'influence M est déterminée selon la relation suivante : M = [-1 1]. 3058988 10 Le gain K est égal à un, le seuil de commande minimale Tmin est égale à zéro, et le seuil d'arrêt E est égal à zéro. Finalement, le torseur de commande Fcom ne comporte qu'une seule composante qui est égale à un nombre F, et le vecteur de commande T est composé de deux 5 composantes T1 et T2. Sur la figure 4, la droite T2 = F correspond au lieu géométrique des points (T1; T2) dans lesquels la relation de répartition Fcom = MT est remplie. Ainsi, cette droite T2 = F définit un sous-espace correspondant au noyau de la matrice d'influence M. Autrement dit, tout vecteur parallèle à cette droite, est situé dans 10 le sous-espace défini par le noyau de la matrice d'influence M. En référence à cette figure, lors de la sous-étape 121, le module de traitement 23 détermine le deuxième critère de répartition qui consiste selon cet exemple à déterminer un vecteur de commande T minimisant la relation suivante : n +T22. Lors de la sous-étape 122, le module de traitement 23 détermine le vecteur T 15 Tops = To =[ -2 - 2 Li qui correspond à la solution optimale du problème de minimisation consistant à déterminer un vecteur respectant la relation de répartition et le deuxième critère de répartition. Dans cet exemple, le vecteur To est perpendiculaire à la droite T2 = T1 + F. Lors de la sous-étape 122, le module de traitement 23 détermine le vecteur 20 Coro=; OlT r qui représente alors le plus petit vecteur au sens de la norme euclidienne qui, ajouté au vecteur To assure l'inégalité Coro[1] + To [1] Tmin, c'est-à-dire l'inégalité F F - - - > O. 2 2 - Lors de le sous-étape 124, le module de traitement 23 détermine la norme du vecteur Coro qui est alors égale à Z. Cette norme est supérieure à E et le module de 25 traitement 23 passe donc à l'étape 125. Lors de l'étape 125, le module de traitement 23 détermine le vecteur T1 qui est égal à la somme du vecteur To et du vecteur Pr(Coro) correspondant à la projection du vecteur Coro projeté sur la droite T2 = T1 + F. Puis, le module de traitement 23 réitère les étapes 123 à 125 jusqu'à ce qu'il 30 obtienne le vecteur T k+i = [0; Fr . Dans ce cas, la norme du vecteur de correction Cork correspondant est égale à zéro et le module de traitement 23 passe alors à l'étape 126 lors de laquelle il détermine le vecteur de commande T recherché égal au vecteur T k+1 = [(); Fr - 3058988 11 Bien entendu, d'autres variantes de réalisation de l'invention sont également possibles. Il est notamment possible d'utiliser des critères d'arrêt différents de celui décrit en relation avec l'étape 124. 5 Ainsi, selon un exemple de réalisation, le critère d'arrêt consiste à comparer le nombre d'itérations effectuées avec un nombre d'itérations maximal et lorsque le nombre d'itérations effectuées atteint ce nombre d'itérations maximal, à passer à l'étape 126, c'est-à-dire à casser la boucle des étapes 123 et 125. On conçoit alors que la présente invention présente un certain nombre 10 d'avantages. En particulier, le procédé de pilotage selon l'invention permet de déterminer une commande de pilotage pour chacun des propulseurs de sorte qu'elle soit comprise entre un seuil de commande minimale Tmin et un, le seul de commande minimale Tmin étant supérieur ou égal à zéro. 15 Ainsi, les commandes de pilotage obtenues par le précédé selon l'invention sont adaptées pour être utilisées avec les propulseurs monodirectionnels. En effet, ces propulseurs ne permettent pas d'inverser la poussée de sorte qu'une commande de pilotage négative serait inadaptée pour ce type de propulseurs. Les répartiteurs et les procédés de pilotage selon l'état de la technique ne sont 20 généralement pas configurés pour prendre en compte une telle contrainte. Ainsi, ils proposent souvent d'annuler toute commande de pilotage négative ce qui diminue considérablement l'efficacité et la précision du pilotage de l'engin spatial. De plus, le procédé de pilotage selon l'invention présente une grande flexibilité grâce à de nombreuses possibilités de paramétrage. 25 En effet, le seuil de commande minimale Tmir, peut être choisi suffisamment grand pour éviter des commandes de pilotage proche à zéro. En effet, il a été démontré que le temps de réponse des propulseurs devient excessivement lent s'ils sont sollicités avec une faible commande. Il est également possible de choisir les nombres N et M de manière adaptée à 30 chaque situation. En particulier, le nombre M est choisi en fonction du nombre de degrés de liberté pilotés. Ainsi, par exemple, lorsque le pilotage consiste uniquement en la modification de l'attitude de l'engin spatial, le nombre M est choisi égal à trois. Dans ce cas, le torseur de commande comprend uniquement un couple résultant qui doit être appliqué à l'engin spatial. 3058988 12 Le nombre N est choisi en fonction du nombre de propulseurs disponibles. Ainsi, par exemple, lorsqu'un ou plusieurs propulseurs sont défaillants, le nombre N initialement égal par exemple à douze, est diminué par le nombre des propulseurs défaillants. Bien entendu, lorsque les nombres N et M sont modifiés, la matrice d'influence M 5 et toutes les autres matrices dépendantes de celle-ci sont modifiées de façon appropriée. On conçoit ainsi que le choix des nombres N et M de manière adaptée permet de réduire le temps de calcul nécessaire pour déterminer le vecteur de commande correspondant. Ceci augmente alors l'efficacité du procédé de pilotage selon l'invention. 10 REVENDICATIONS1.- Procédé de pilotage de N propulseurs monodirectionnels d'un engin spatial (10), chaque propulseur générant une poussée à partir d'une commande de pilotage fourni par un répartiteur de commandes (14), l'ensemble des propulseurs (16) modifiant la position et/ou l'attitude de l'engin spatial (10) en appliquant à celui-ci un torseur effectif (Feff) de dimension M dont chaque composante correspond à une force ou à un couple appliqué(e) à l'engin spatial selon une direction prédéterminée ; le procédé comportant les étapes suivantes : - acquisition (110) d'un torseur de commande (Fcom) correspondant à un torseur effectif (Feff) nécessaire pour atteindre une position et/ou une attitude donnée(s) de l'engin spatial (10) ; - détermination (120) d'un vecteur de commande (T) composé des N commandes de pilotage des propulseurs différents, le vecteur de commande (T) respectant un premier critère de répartition selon lequel chacune de ses composantes (TH) est supérieure ou égale à un seuil de commande minimale (Tmin ) prédéterminé, et une relation de répartition selon laquelle le produit d'une matrice d'influence (M) prédéterminée de dimension M fois N et de ce vecteur de commande (T) est égal au torseur de commande (Fcom) l'étape de détermination (120) du vecteur de commande (T) comportant les sous- étapes suivantes : - détermination (121) d'un deuxième critère de répartition permettant de garantir l'unicité du vecteur de commande (T) recherché ; - détermination (122) d'un vecteur optimal (Tops) correspondant à la solution optimale d'un problème de minimisation consistant à déterminer un vecteur respectant la relation de répartition et le deuxième critère de répartition, un vecteur d'approche précédente (Tk) étant initialement égal au vecteur optimal (Tops) ; - détermination (123) d'un vecteur correcteur (Cork) tel que le vecteur correspondant à la somme de ce vecteur correcteur (Cork) et du vecteur d'approche précédente (Tk) respecte le premier critère de répartition et tel que la norme euclidienne du vecteur correcteur (Cork) soit minimale ; - détermination (125) d'un vecteur d'approche suivante (Tk+1) égal à la somme du vecteur d'approche précédente (Tk) et d'un vecteur de rattrapage (KQ7A2Cork) colinéaire au vecteur correcteur (Cork) projeté orthogonalement sur le sous-espace défini par le noyau de la matrice d'influence (M) ; 3058988 14 - association (125) du vecteur d'approche précédente (Tk) au vecteur d'approche suivante (Tk+1) ; - association (126) du vecteur de commande (T) au vecteur d'approche précédente (Tk). 5 2.- Procédé selon la revendication 1, dans lequel les sous-étapes de détermination (123) d'un vecteur correcteur, de détermination (125) d'un vecteur d'approche suivante (Tk+i) et d'association (125) du vecteur d'approche précédente (Tk) au vecteur d'approche suivante (Tk+i), sont itérées jusqu'à ce qu'une norme du vecteur correcteur 10 (Cork) devienne inférieure ou égale à un seuil d'arrêt (E) prédéterminé ou jusqu'à ce que le nombre d'itérations dépasse un nombre d'itérations maximal prédéterminé. 3.- Procédé selon l'une quelconque des revendications précédentes, dans lequel la sous-étape d'association (126) du vecteur de commande (T) au vecteur d'approche 15 précédente (Tk) comprend en outre l'annulation de chaque composante (TH) du vecteur de commande (T) inférieure au seuil de commande minimale (Train). 4.- Procédé selon l'une quelconque des revendications précédentes, dans lequel le seuil de commande minimale (Train) est supérieur ou égal à zéro et inférieur à un. 20 5.- Procédé selon l'une quelconque des revendications précédentes, dans lequel le deuxième critère de répartition consiste en la minimisation d'une norme du vecteur correspondant. 25 6.- Procédé selon l'une quelconque des revendications précédentes, dans lequel le vecteur optimal (Tops) est égal au produit d'une matrice pseudo-inverse (M*) de la matrice d'influence (M) et du torseur de commande (F 'm), la matrice pseudo-inverse (M*) de la matrice d'influence (M) étant égale au produit de la matrice d'influence transposée (MT) et de la matrice inverse d'une matrice (MMT) égale au produit de la 30 matrice d'influence (M) et de la matrice d'influence transposée (MT). 7.- Procédé selon l'une quelconque des revendications précédentes, dans lequel le vecteur de rattrapage (KQ72'Q2Cork) est égal au vecteur correcteur (Cork) projeté orthogonalement par une matrice de projection (Q7A2), sur le sous-espace défini par le 35 noyau de la matrice d'influence (M), multiplié par un gain (K) supérieur ou égal à un. 3058988 15 8.- Procédé selon la revendication 7, dans lequel la matrice de projection (Q7 A2) est obtenue en utilisant la décomposition de Householder de la matrice d'influence transposée (MT). 9.- Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque commande de pilotage est un nombre compris entre zéro et un, et dans lequel chaque propulseur fournit une poussée égale à sa poussée maximale multipliée par la commande de pilotage correspondante. 10.- Produit programme d'ordinateur comportant des instructions logicielles qui, lorsque mises en oeuvre par un équipement informatique, mettent en oeuvre le procédé selon l'une quelconque des revendications précédentes. 15 11.- Répartiteur de commandes (14) de N propulseurs monodirectionnels mettant en oeuvre le procédé selon l'une quelconque des revendications 1 à 9. 5 10