Brevet FR3080408A1 — publié le 20191025

DOMAINE TECHNOLOGIQUE L'invention concerne les calculateurs de moteur utilisés dans des baies rnulti-moteurs, notamment les baies multi-moteurs pour lanceurs spatiaux. ARRIERE-PLAN TECHNOLOGIQUE Dans un mode de réalisation connu en soi, une baie multimoteurs comporte une pluralité de moteurs, et chacun desdits moteurs comporte un calculateur de moteur associé au moteur et configuré pour acquérir des signaux de mesure provenant de capteurs du moteur et pour exécuter un ou plusieurs calculs de moteur relatifs au moteur considéré. Dans ce contexte, un « calcul de moteur » désigne un calcul relatif au moteur ou à au moins un équipement de celui-ci. C'est donc un calcul visant à obtenir une information relative au moteur ou à l'un de ses 15 équipements. Le calcul de moteur peut être un calcul concernant le moteur dans son ensemble, ou un calcul concernant plus spécifiquement l'un des équipements du moteur. Par exemple, le calcul de moteur peut être un calcul concernant 20 l'une des vannes du moteur. Le calculateur de moteur peut alors par exemple être un contrôleur de vanne configuré pour contrôler la vanne considérée. Le pilotage d'un moteur nécessite de réaliser un certain nombre de calculs de natures différentes. Les calculs de moteur peuvent notamment 25 être des calculs : - de commandes à appliquer aux actionneurs de puissance du moteur (hydrauliques, électriques, électro-pneumatiques,...), et notamment les consignes de position de vannes de puissance ; ou - de variables d'état du moteur, servant notamment au suivi de santé 30 du moteur ou au contrôle de celui-ci. Ces calculs peuvent être réalisés soit à intervalles réguliers, de manière itérative, soit lorsqu'une condition d'exécution du calcul est satisfaite. Par ailleurs, un calculateur de moteur associé à un moteur est un 35 calculateur configuré pour être utilisé spécifiquement avec ce moteur. Il est dans ce but configuré pour acquérir des signaux de mesure provenant de capteurs du moteur auquel il est associé et pour exécuter un certain nombre de calculs de moteur concernant ce moteur. Grâce à cela, lors des essais au sol sur banc moteur, le ou les calculateurs de moteur associés au moteur peut (ou peuvent ensemble) 5 contrôler le fonctionnement du moteur pendant les essais du moteur, indépendamment du reste de la baie multi-moteurs. De manière connue en soi, pour assurer un haut niveau de fiabilité, les calculateurs de moteur sont dupliqués, c'est-à-dire qu'ils présentent une architecture interne matérielle et logicielle qui permet que le 10 calculateur lui-même réalise le ou les calculs de moteur en parallèle via deux, ou trois voies redondantes. Cette redondance vise à assurer que les calculs de moteur sont effectivement conduits à leur terme lors d'une mission et que la fonction de calcul des calculateurs est ainsi assurée, avec un haut niveau de fiabilité. Cette architecture de calculateurs est efficace. En revanche, elle conduit à augmenter de manière très importante le coût des calculateurs, et cela d'autant plus que ces calculateurs sont « spatialisés », c'est-à-dire adaptés spécifiquement aux conditions de fonctionnement que l'on rencontre dans le domaine spatial : ces calculateurs sont prévus pour résister à des conditions de température et de pression extrêmes, ainsi qu'à des bombardements divers (bombardements par des ions, etc....). Par conséquent, lorsqu'un lanceur spatial comporte un, voire plusieurs moteurs, notamment dans une baie multi-moteurs, le coût des 25 calculateurs de moteurs devient très important. Il existe donc un besoin d'une solution permettant d'assurer qu'un certain nombre de calculs nécessaires au fonctionnement de baies multimoteurs soient réalisés avec un haut niveau de fiabilité, mais à un prix modéré. 30 RESUME DE L'INVENTION L'objectif indiqué ci-dessus est atteint grâce à une baie multimoteurs du type présenté en introduction, dans laquelle pour au moins un premier moteur, au moins un calculateur de moteur associé à un autre 35 moteur que le premier moteur est configuré pour exécuter ledit calcul de moteur pour le premier moteur. Ainsi, au moins pour le calcul de moteur considéré pour le premier moteur, ce calcul de moteur est réalisé non seulement par ledit calculateur de moteur associé au premier moteur, mais aussi par un ou plusieurs calculateurs de moteur associés à des moteurs autres que le premier 5 moteur. Le calcul de moteur est donc réalisé de manière redondante en parallèle par au moins deux calculateurs de moteur, ce qui assure un haut degré de fiabilité. De manière connue en soi, un dispositif est prévu pour, lorsque le 10 calcul de moteur a été réalisé en parallèle par les différents calculateurs de moteur prévus, déterminer une valeur unique à prendre en compte comme résultat de ce calcul et transmettre cette valeur à l'équipement ou aux équipements au(x)quel(s) cette valeur doit être transmise. Lors de la détermination de cette unique valeur à prendre en 15 compte, l'objectif est de sélectionner le ou les calculateurs valides, ou plus précisément, de retirer le calculateur en défaut et d'utiliser les informations et calculs corrects issus des autres calculateurs en fonctionnement. Une des approches utilisées est que chaque calculateur 20 communique aux autres calculateurs assurant les mêmes tâches de calcul un vecteur d'état (composé de variables binaires, entières ou réelles), dont les variables indiquent ou permettent de détecter si le moteur (ou l'équipement) fonctionne convenablement ou au contraire s'il subit des dysfonctionnements. Chacun des calculateurs impliqués dans l'architecture de redondance contribue à réaliser une fonction d'arbitrage et à sélectionner le ou les calculateurs valides. Selon une première stratégie, pour chaque moteur, le calculateur du moteur est par défaut le calculateur 'opérant' qui fournit les résultats 30 de calculs de moteur du moteur qui sont pris en considération. Cette stratégie suppose qu'une défaillance sur l'un ou l'autre des calculateurs de moteur puisse être détectée. Dans un tel cas, le calculateur détecté comme défaillant passe immédiatement en mode passif ; et l'un des calculateurs de moteur effectuant de manière 35 redondante les calculs de moteur du calculateur défaillant devient le calculateur opérant pour le moteur considéré. Selon une deuxième stratégie, un calculateur de niveau supérieur (au niveau de la baie multi-moteurs) centralise tous les vecteurs d'états, assure le rôle d'arbitre et sélectionne le calculateur opérant, pour chacun des moteurs, en utilisant une fonction de sélection prédéterminée. 5 De préférence, le ou les calculateurs de moteur associé(s) à d'autres moteurs que le premier moteur et qui sont configurés pour exécuter le calcul de moteur pour le premier moteur sont de plus configurés pour exécuter la totalité des calculs de moteurs réalisés par le calculateur de moteur considéré associé au premier moteur. 10 Dans la baie multi-moteurs, un certain nombre de calculateurs de moteur (au moins un, et le plus souvent, au moins un par moteur) sont dimensionnés de manière à pouvoir exécuter en parallèle des calculs de moteur non seulement pour le moteur auquel ils sont associés, mais également pour un ou plusieurs autres moteurs. 15 Cela nécessite naturellement pour chacun de ces calculateurs de prévoir des capacités (de mémoire vive, de mémoire morte, etc.) et des capacités de calcul bien supérieures à ce qui serait nécessaire si le calculateur de moteur n'effectuait des calculs que pour le moteur auquel il est associé. Néanmoins, grâce à la baisse de coût des mémoires et de la 20 puissance de calcul, cette extension de capacité des calculateurs de moteur en pratique n'entraîne pas un surcoût excessif. Pour assurer une redondance de calcul pour les calculs de moteur du premier moteur, il est suffisant qu'un autre calculateur que le calculateur de moteur du premier moteur réalise les calculs de moteur du 25 premier moteur. Pendant, si l'on veut assurer un niveau de redondance encore plus élevé, on peut prévoir que les calculs de moteur du premier moteur soient réalisés par plus qu'un calculateur de moteur d'un moteur autre que le premier moteur. On peut par exemple prévoir que les calculs de moteur du premier moteur soient réalisés par deux autres calculateurs de moteur, voire davantage. Par ailleurs, la duplication du calcul de moteur sur plusieurs calculateurs de moteur est naturellement prévue de préférence pour chacun des calculateurs de moteur (ainsi que pour l'ensemble des calculs de moteurs). Ainsi dans un mode de réalisation, pour chacun des moteurs, au moins N calculateurs de moteur tels que chacun desdits N calculateurs de moteur est associé à un autre moteur que le moteur considéré sont configurés pour exécuter ledit calcul de moteur pour le moteur considéré. Le degré N de duplication des calculs de moteurs peut être plus ou moins grand, en fonction notamment de l'importance des calculs de 5 moteur considérés et de la fiabilité attendue. Avantageusement, l'architecture de baie multi-moteurs proposée suivant la présente divulgation permet de manière générale d'assurer un niveau élevé de redondance. Grâce à cela, pour les applications spatiales, on peut envisager 10 d'utiliser non pas des calculateurs spatialisés, c'est-à-dire des calculateurs spécialement conçus pour une utilisation sur un engin spatial, mais des calculateurs industriels conçus pour une utilisation industrielle au sol, dont le coût est nettement moins élevé que celui des calculateurs spatialisés. Par ailleurs, certaines baies multi-moteurs comportent des moteurs 15 qui ne sont pas tous identiques les uns aux autres. Ces baies peuvent notamment comporter des moteurs agencés de manière à former des groupes de moteurs. Lorsque les moteurs sont ainsi disposés de manière à former un groupe spécifique, la redondance peut être réalisée au sein de ce groupe. 20 Ainsi, dans un mode de réalisation la pluralité de moteurs comprend un groupe de P moteurs Mi, i variant de 1 à P, P étant inférieur au nombre total de moteurs ; et pour chaque moteur Mi du groupe de moteur, N ou au moins N calculateur(s) de moteur associé(s) à N autre(s) moteur(s) du groupe que le moteur Mi est ou sont configuré(s) pour exécuter ledit 25 calcul de moteur pour le moteur Mi. Ainsi, la redondance de calcul pour le calcul de moteur considéré du premier moteur est assurée au sein du groupe de moteurs. On peut notamment prévoir que pour les calculs de moteur des moteurs du groupe, seuls d'autres moteurs du groupe soient sollicités pour exécuter 30 ces calculs de moteur. Le plus souvent, les calculs sont réalisés en parallèle par plusieurs calculateurs et ces calculateurs sont choisis par une règle simple. Par exemple dans un mode de réalisation, au sein du groupe, pour chaque moteur Mi, N calculateur(s) de moteur associé(s) à N moteur(s) 35 Mj, j variant de 1 à N, du groupe autre(s) que le moteur Mi, est ou sont configuré(s) pour exécuter ledit calcul de moteur pour le moteur Mi; et les indices j sont déterminés en fonction de i de telle sorte que l'écart entre i et j (en valeur absolue) est inférieur à une valeur prédéterminée, ou est égal à une valeur prédéterminée. (On comprend naturellement que dans la phrase ci-dessus, les 5 écarts entre indices sont exprimés modulo P). Dans ce mode de réalisation, lorsque l'écart d'indice (j-i) entre le(s) indice(s) j du ou des calculateurs de moteurs qui exécute(nt) le calcul de moteur et l'indice i est inférieur à une valeur-seuil prédéterminée, cela signifie que les calculs concernant le premier moteur sont réalisés non 10 seulement sur le calculateur de moteur de celui-ci, mais aussi sur les N moteurs les plus proches d'un côté et/ou de l'autre du premier moteur. Par contraste, lorsque l'écart d'indice (j-i) entre le(s) indice(s) j du ou des calculateurs de moteurs qui exécute(nt) le calcul de moteur et l'indice i est égal à une valeur-seuil prédéterminée, si cet écart est 15 strictement supérieur à 1, cela signifie que les calculs concernant le premier moteur sont réalisés non seulement sur le calculateur de moteur de celui-ci, mais aussi sur les moteurs décalés de (i-j) positions par rapport au premier moteur. Ce choix conduit à faire exécuter les calculs de moteur relatifs au premier moteur par des calculateurs de moteur 20 relativement éloignés du premier moteur, ce qui réduit le risque d'une défaillance simultanée des différents calculateurs de moteur impliqués dans le calcul de moteur du premier moteur. Dans la baie multi-moteurs, les groupes de moteurs peuvent être agencés de différentes manières. 25 Dans un mode de réalisation, le groupe de moteurs est un groupe de moteurs extérieurs Ml.... Mp disposés le long d'un pourtour extérieur de la baie. Dans un mode de réalisation, le groupe de moteurs est un groupe de moteurs centraux entourés par des moteurs extérieurs disposés le long 30 d'un pourtour extérieur de la baie. La présente divulgation concerne de préférence des baies multimoteurs dont les moteurs sont des moteurs-fusée. Par moteur-fusée, on désigne un moteur prévu pour équiper un lanceur spatial ou autre, et dont 35 la poussée résulte de l'éjection de gaz de combustion via un divergent. Cependant, elle est applicable à d'autres types de baies multimoteurs, notamment des baies susceptibles d'équiper des véhicules tels que par exemple des véhicules spatiaux, des aéronefs (avions, hélicoptères, dont notamment des drones à hélices multiples), ou des 5 navires (bâtiments de surface ou sous-marins). La présente divulgation concerne notamment un lanceur spatial comprenant au moins une baie multi-moteurs telle que définie précédemment. 10 BREVE DESCRIPTION DES DESSINS L'invention sera bien comprise et ses avantages apparaîtront mieux à la lecture de la description détaillée qui suit d'un mode de réalisation représenté à titre d'exemple non limitatifs. La description se réfère à la figure annexée, qui est une représentation schématique d'un lanceur 15 spatial comportant une baie multi-moteurs conforme à la présente divulgation. DESCRIPTION DETAILLEE DE L'INVENTION En faisant référence à cette figure, un lanceur spatial 100 20 comportant une baie multi-moteurs 10 conforme à la présente divulgation va maintenant être décrit dans plusieurs modes de réalisation. Le lanceur spatial 100 forme une fusée à plusieurs étages. A l'exception notable des réservoirs d'ergols, le premier étage est constitué principalement par la baie multi-moteurs 10. 25 La baie 10 comporte sept moteurs : six moteurs extérieurs M1 à M6 répartis de manière axisymétrique sur la circonférence de la baie, et un moteur central M7. Les moteurs M1 à M7 sont identiques les uns aux autres. Pour cette raison, les équipements de chacun des moteurs sont notés sous la forme 30 XX-i (ou Xxi), où i représente l'indice du moteur : dans le cas présent, i varie de 1 à 7. Les équipements de moteurs peuvent aussi être désignés collectivement par la référence `)0(' ou encore par la référence `)(X-i', i désignant un indice de moteur quelconque. Les moteurs Mi étant identiques les uns aux autres, la configuration 35 des moteurs va maintenant être présentée pour un seul moteur, à savoir pour le moteur Ml. Le moteur M1 comporte différents équipements, parmi lesquels sont identifiés notamment des actionneurs de vanne, référencés collectivement 30A1, et des équipements de sécurité, référencés collectivement 30B1. 5 Le moteur M1 comporte également différents capteurs ; sur la figure unique, seuls deux capteurs 32-1 et 34-1 sont représentés. Le moteur M1 comporte un boîtier à calculateurs 20-1, qui est un boîtier (ou une armoire) électronique configuré pour abriter et protéger les calculateurs de moteur du moteur Ml. 10 Dans le cas présent, ce boîtier 20-1 comporte notamment trois calculateurs de moteur : - un calculateur de moteur principal 22-1, configuré pour réaliser les principaux calculs de moteur relatif au moteur M1 ; - un calculateur de moteur secondaire 24A-1, configuré pour réaliser 15 les calculs de moteur relatifs aux actionneurs de vanne 30A1, pour assurer le contrôle de ces actionneurs ; et - un calculateur de moteur secondaire 24B-1, configuré pour réaliser les calculs de moteur relatifs aux équipements de sécurité 30B1, afin de réaliser des fonctions de sécurité ou d'autres fonctions 20 servant au monitoring de la baie 10. Le boîtier 20-1 peut comporter également d'autres calculateurs de moteur de moindre importance et non représentés. En général, et dans le cas présent en particulier, chacun des calculateurs de moteur présente l'architecture matérielle d'un ordinateur 25 ou plus largement d'un calculateur capable de réaliser des traitements de données. Ainsi chaque calculateur de moteur comprend notamment un processeur, une mémoire vive, une mémoire morte (non volatile), ainsi que des moyens de communication avec d'autres composants de la baie-moteur 10 ou même du lanceur 100. 30 Un calculateur de moteur est de préférence implanté à proximité des organes principaux du moteur (pompes d'ergols, actionneurs de vannes, chambre de combustion), mais peut néanmoins éventuellement être déporté. Chaque calculateur de moteur 22-1, 24A-1, 24B-1 est relié par un 35 bus de données 40 à d'autres composants de la baie-moteur, notamment à d'autres calculateurs de moteur comme cela sera expliqué par la suite. 9 Le calculateur de moteur principal 22-1 est relié aux capteurs 32-1 et 34-1, etc., et acquiert les signaux de mesures émis par ceux-ci afin de réaliser les principaux calculs de moteur concernant le premier moteur. Dans un premier mode de réalisation, la règle de redondance 5 choisie pour les moteurs Mi est de dupliquer un calcul de moteur pour un moteur Mi sur les moteurs Mj de telle sorte que l'écart entre les positions i et j soit inférieur à 2, c'est-à-dire égal à 1. Dans ce cas, pour un moteur donné, les calculs de moteur sont réalisés par les calculateurs de moteur des moteurs adjacents au moteur 10 considéré. Ainsi par exemple, les calculs de moteur réalisé pour le premier moteur M1 sont réalisés non seulement par les calculateurs de moteur du moteur Ml, mais aussi par les calculateurs de moteur correspondants du moteur M2 et du moteur M6. Les moteurs M2 et M6 en effet sur la 15 circonférence de la baie multi-moteurs 10 sont les deux moteurs voisins du moteur Ml, dont l'indice diffère de 1 par rapport à 1 (modulo 7). Les calculs de moteur concernant le moteur M1 sont donc réalisés également : - pour les calculs de moteur concernant l'ensemble du moteur M1 20 (réalisés par le calculateur 22-1) : sur les calculateurs de moteurs principaux 22-2 et 22-6 ; - pour les calculs de moteur concernant les actionneurs de vannes (réalisés par le calculateur 24A-1) : sur les calculateurs de moteur secondaire 24A-2 et 24A-6; et 25 - pour les calculs de moteur concernant les fonctions de sécurité et de monitoring (réalisés par le calculateur 24B-1) : sur les calculateurs de moteur secondaire 24B-2 et 24B-6. Grâce à ces dispositions, chaque calcul de moteur est réalisé en parallèle sur trois calculateurs de moteurs. 30 Dans cet exemple, non seulement les calculs relatif au moteur dans son ensemble sont réalisés de manière redondante, mais aussi les calculs relatifs aux équipements de chacun des moteurs. Dans un deuxième mode de réalisation, seuls les calculs effectués par le calculateur de moteur 22-1, qui concernent le moteur M1 dans son 35 ensemble sont réalisés de manière redondante en utilisant les calculateurs de moteur 22-2 et 22-6 des moteurs M2 et M6. 10 Dans ce mode de réalisation, en ce qui concerne les calculs de moteur concernant des équipements de moteur, la redondance de calcul est assurée au sein même des calculateurs de moteur. Ainsi dans ce cas, chacun des calculateurs de moteurs 24A-1 et 24B-1 présente une 5 architecture matérielle et logicielle interne redondante. D'autre part, dans un troisième mode de réalisation, pour chacun des moteurs, les calculs concernant le moteur sont de plus réalisés en parallèle sur un calculateur de moteur de chacun des moteurs. Dans ce cas, le niveau de redondance est extrêmement élevé (chaque calcul sera 10 réalisé 7 fois en parallèle). Enfin, dans un quatrième mode de réalisation, la redondance est organisée seulement au sein des moteurs extérieurs Mi pour i=1 à 6, c'est-à-dire au sein des moteurs disposés sur le pourtour extérieur de la baie 10. (Inversement pour le moteur central M7, on choisit d'utiliser des 15 calculateurs de moteur intrinsèquement redondants). La règle de redondance choisie pour les moteurs Mi (i=1..6) est de dupliquer un calcul de moteur pour un moteur Mi sur les moteurs Mj tels que l'écart entre i et j soit exactement égal à 2 (modulo 6). Dans ce cas, les calculs de moteur réalisé pour le premier moteur M1 sont réalisés non 20 seulement par les calculateurs de moteur du moteur Ml, mais aussi par les calculateurs de moteur du moteur M3 et du moteur M5. Les moteurs M3 et M5 en effet sur la circonférence de la baie multimoteurs 10 sont les deux moteurs voisins du moteur Ml, dont l'indice diffère de 2 par rapport à 1, modulo 6. 25 Quoique la présente invention ait été décrite en se référant à des exemples de réalisation spécifiques, il est évident que des différentes modifications et changements peuvent être effectués à partir de l'exemple donné sans sortir de la portée générale de l'invention telle que définie par les revendications. Par conséquent, REVENDICATIONS1. Baie multimoteurs (10) comportant une pluralité de moteurs (M1..M7), chacun desdits moteurs comportant un calculateur de moteur 5 (22,24) associé au moteur et configuré pour acquérir des signaux de mesure provenant de capteurs (32,34) du moteur et pour exécuter un calcul de moteur qui est un calcul relatif au moteur ou à au moins un équipement de celui-ci, la baie étant caractérisée en ce que pour au moins un premier 10 moteur, au moins un calculateur de moteur associé à un autre moteur que le premier moteur est configuré pour exécuter ledit calcul de moteur pour le premier moteur. 2. Baie multimoteurs (10) selon la revendication 1, dans laquelle 15 pour chacun des moteurs (M1..M7), au moins N calculateurs de moteur tels que chacun desdits N calculateurs de moteur est associé à un autre moteur que le moteur considéré sont configurés pour exécuter ledit calcul de moteur pour le moteur considéré. 20 3. Baie multimoteurs (10) selon la revendication 1 ou 2, dans laquelle la pluralité de moteurs (M1..M7) comprend un groupe de P moteurs Mi (M1..M6), i variant de 1 à P, P étant inférieur au nombre total de moteurs ; et pour chaque moteur Mi du groupe de moteur, N ou au moins N calculateur(s) de moteur associé(s) à N autre(s) moteur(s) du 25 groupe que le moteur Mi est ou sont configuré(s) pour exécuter ledit calcul de moteur pour le moteur Mi. 4. Baie multimoteurs (10) selon la revendication 3, dans laquelle au sein du groupe (M1..M6), pour chaque moteur Mi, N calculateur(s) de 30 moteur associé(s) à N moteur(s) Mj, j variant de 1 à N, du groupe autre(s) que le moteur Mi, est ou sont configuré(s) pour exécuter ledit calcul de moteur pour le moteur Mi; et les indices j sont déterminés en fonction de i de telle sorte que l'écart entre i et j est inférieur à une valeur prédéterminée, ou égal à une valeur prédéterminée. 35 12 5. Baie multimoteurs (10) selon la revendication 3 ou 4, dans laquelle le groupe de moteurs (M1..M6) est un groupe de moteurs extérieurs (M1... M6) disposés le long d'un pourtour extérieur de la baie, ou un groupe de moteurs centraux entourés par des moteurs extérieurs disposés le long d'un pourtour extérieur de la baie. 6. Baie multimoteurs (10) selon l'une quelconque des revendications 1 à 5, dans laquelle chacun desdits moteurs est un moteur-fusée. 7. Lanceur spatial (100) comprenant au moins une baie multimoteurs (10) selon l'une quelconque des revendications 1 à 6.15