FR 2912234 A1 20080808 FR 0700843 A 20070206 1 L'invention concerne les systèmes de navigation, de pilotage ou de guidage vers une cible ou un objectif d'engins mobiles tels que aéronefs, drones, navires, véhicules, 5 robots terrestres ou marins. La navigation d'un mobile est l'art de le conduire d'un point à un autre, selon un itinéraire prédéterminé, soit manuellement grâce à un pilote, soit automatiquement par autoguidage ou téléguidage. Le pilotage consiste à maintenir le mobile sur une trajectoire coïncidant avec to l'itinéraire prédéterminé, et le guidage consiste plus précisément à le maintenir sur une trajectoire souhaitée, souvent de nature balistique. On connaît par exemple les systèmes de navigation pour déterminer la route des aéronefs, les pilotes automatiques des avions pour l'aide au pilotage sans visibilité ou pour le télé pilotage des drones, et enfin les systèmes de guidage de missiles 15 selon une trajectoire prédéterminée vers une cible de coordonnées géographiques connues. Ces systèmes comportent des moyens de navigation autonomes, généralement hybrides, avec des moyens de navigation inertielle couplés à des moyens de recalage de position etiou de vitesse, grâce à des données fournies par d'autres 20 capteurs sur le véhicule (odomètres, radar Doppler) ou transmises par radio, par exemple par des satellites GPS (global positioning system) ou des systèmes de balises terrestres de guidage radio (LORAN, TACAN, ILS, ...). Tous ces moyens sont bien entendu mis en oeuvre sur des calculateurs numériques embarqués constituant des systèmes de navigation / pilotage et si les informations 25 de navigation et de recalage sont des informations analogiques continues, elles sont, à un moment ou un autre, converties en données numériques avant exploitation par les logiciels du système de navigation. Les logiciels de navigation employés relèvent généralement à la fois du domaine des automatismes, répondant à des lois physiques modélisées sous forme 30 d'équations aux différences et régulés continûment au moyen de filtrages 2 numériques, et même du domaine des automatismes auto-adaptatifs, c'est-à-dire capables de s'adapter au cours du pilotage ou de la mission, puisque capables de calibrer automatiquement en temps réel les paramètres de modélisation des lois physiques utilisées. Les recalages et calibrations automatiques ci-dessus sont généralement obtenus grâce à la mise en oeuvre de filtres stochastiques (c'est-à-dire répondant à des lois statistiques régulières) prédictifs, ces filtres étant intégrés dans les modèles mathématiques des lois physiques ci-dessus évoquées. Ces systèmes, qu'on pourrait qualifier de systèmes déterministes à régulation to stochastique, ne sont pas par eux-mêmes en mesure d'éviter un obstacle, non prédéterminé, dont l'occurrence n'obéit à aucune régularité statistique, autrement dit à caractère dit tychastique , et donc de garantir d'atteindre un objectif non forcément prédéterminé. Par non prédéterminé, en parlant d'un obstacle ou d'un objectif, on entend le fait 15 que leur position ou leurs paramètres dynamiques sont entachés d'une incertitude sans nécessairement de régularité statistique, parce que soumis à des perturbations imprévisibles appelées tyches, comme cela sera encore rappelé plus loin. Si ces systèmes détectent un tel obstacle, ils peuvent éventuellement modifier leur trajectoire mais ne peuvent pas changer d'itinéraire pour contourner l'obstacle et 20 continuer à assurer leur mission. Par ailleurs, on a mené récemment des études mathématiques dites de viabilité, notamment au Laboratoire d'Applications des Systèmes Tychastiques Régulés, www.lastre.asso.fr sur des techniques de régulation des flux de véhicules dans un réseau routier, ou d'aéronefs dans un réseau aérien, présentant des risques de 25 congestion de circulation, ou encore la régulation du pilotage de robots devant rallier des cibles tout en évitant des obstacles impromptus , à présence aléatoire. Le problème est alors de piloter un robot qui doit évoluer dans un environnement accidenté et parsemé d'obstacles pour atteindre une cible ou un objectif. La cible 30 étant contenue dans un environnement et un système évolutif, on recherche : 1. le noyau de viabilité de l'environnement par rapport au système évolutif, c'est-à-dire le sous-ensemble des états de l'environnement à partir desquels se développe au moins une évolution viable, s 2. le bassin de capture de la cible par le système évolutif, c'est-à-dire le sous-ensemble des états de l'environnement à partir desquels part au moins une évolution viable dans l'environnement et atteignant la cible en temps fini sans empêchement par des obstacles incontournables. 10 Les algorithmes de viabilité calculent les noyaux de viabilité et les bassins de capture ainsi que les évolutions viables capturant la cible si besoin est. Il s'agit alors en tout état de cause de réguler ou de piloter, par ce qu'il est convenu d'appeler des régulons , les évolutions de trajectoires d'engins mobiles, alors que ces trajectoires se heurtent à des tyches . 15 Sommairement, la théorie mathématique de la viabilité relève des inclusions différentielles, du calcul différentiel des correspondances et, dans les espaces métriques, de la théorie du contrôle et des jeux différentiels, de l'analyse numérique et algorithmique multivoque, des équations morphologiques gouvernant l'évolution 20 de formes et permettant d'analyser la co-évolution des variables et des contraintes, des inclusions différentielles impulsionnelles, de l'optimisation inertielle, de l'algèbre et de la dynamique tensorielles. Les systèmes mettant en oeuvre la théorie de la viabilité peuvent être désignés sous 25 l'appellation de systèmes tychastiques. La demanderesse a eu alors l'idée d'appliquer la théorie de la viabilité à la navigation de mobiles munis de systèmes de navigation automatique et donc de combiner les systèmes déterministes à régulation stochastique et les systèmes tychastiques. 30 A cet effet, l'invention concerne tout d'abord un procédé de détermination de la navigation d'un mobile piloté allant d'un point de départ jusqu'à un objectif non forcément prédéterminé et devant naviguer dans un espace comportant au moins un obstacle non prédéterminé, le procédé étant caractérisé par le fait que, pour éviter 35 l'obstacle, on le numérise ainsi que l'objectif, on recherche des trajectoires viables 4 l'évitant mais atteignant toujours l'objectif, on choisit et on suit la meilleure trajectoire. Le mobile piloté peut l'être manuellement par un pilote qui dispose alors des indications d'itinéraires en temps réel, ou un mobile téléguidé par l'opérateur d'une station de téléguidage qui dispose des mêmes informations calculées sur place ou sur le mobile à partir des données de détection transmises par le mobile. Le mobile peut encore être autoguidé et calculer puis exploiter lui-même 10 automatiquement ces mêmes informations d'itinéraires. De préférence, on numérise l'objectif et l'obstacle sous forme de cartes représentées sous forme d'une grille de vecteurs de l'espace des états du mobile, et en chaque état de la grille, on calcule une rétroaction applicable au pilotage ou au guidage du 15 mobile qui guide le mobile vers un état suivant. La rétroaction associe à chaque état du mobile son accélération, son cap et son incidence et est calculée pour optimiser des critères prédéterminés et le mobile étant susceptible de partir d'un ensemble d'états de départ, on calcule un unique bassin de 20 capture de l'objectif. Avantageusement, on affine progressivement la grille des états par dichotomie, et on calcule la rétroaction sur la grille affinée. 25 L'invention concerne également un système de navigation d'un mobile à pilotage automatique agencé pour atteindre un objectif, comportant : - un module de détection et de saisie de données d'environnement caractéristiques d'un objectif ou d'un obstacle couplé à un module de mise en alerte dudit système ; - un module mémoire comportant des données de mission ; 30 - un module de numérisation en grilles de l'objectif et des obstacles ; - un module de gestion desdites grilles, et - un module mémoire contenant le modèle dynamique du mobile, pour - un module de génération d'un noyau de calcul tychastique ; - un module de calcul tychastique ; 35 - un module de sélection et de tabulation d'une rétroaction à appliquer à la navigation du mobile, et un bloc de calcul de navigation stochastique comportant un module d'élaboration d'une commande de navigation dérivée de cette rétroaction. L'invention sera mieux comprise à la lumière de la description suivante du système 5 de navigation et du procédé de détermination des commandes de navigation selon l'invention et du dessin l'accompagnant, sur lequel : * la figure 1 est un schéma par blocs fonctionnels du système de navigation selon l'invention ; * la figure 2 est un organigramme de fonctionnement du procédé de navigation 10 selon l'invention ; * la figure 3 est un schéma simplifié d'un exemple de grille d'état du mobile servant à calculer une trajectoire viable selon le procédé de l'invention, et * la figure 4 est un schéma simplifié de l'automatisme de calcul de viabilité de déplacement d'un état du mobile à un état suivant selon le procédé de l'invention. 15 En référence à la figure 1, le système 200 de navigation d'un mobile, ici un véhicule (non représenté) à pilotage automatique, téléguidé ou autoguidé, comporte essentiellement : 20 A) un bloc entrées 1 formé des modules suivants : 1) un module 11 de détection et de saisie de données d'environnement caractéristiques de la présence d'une cible ou d'un obstacle, comportant un ensemble de capteurs, par exemple de type photographique ou radar, et couplé à un module 9 de mise en alerte du système 200 sur réception de données nouvelles du même 25 type , 2) un module 50 de saisie manuelle et de traitement de données de pilotage et de données du même type que ci-dessus, ou simplement une mémoire morte comportant des données de guidage et/ou de mission prévues à l'avance ; 3) éventuellement un module radio 95 de téléchargement de données du même type 30 que ci-dessus, si le mobile est téléguidé, ou sinon s'il est piloté, un clavier alphanumérique 95, ou encore une interface numérique 95 d'entrée de données pouvant assurer la connexion du système à une mémoire de masse (non représentée) transmettant ou contenant des données de mission à assurer ; 35 B) un module 2 de numérisation et de codage des données transmises par le bloc 1, dont celles concernant une cible et éventuellement des obstacles, et mises sous 6 forme de données introduites dans des cartes ou des grilles de l'espace des états dynamiques du mobile qui seront expliquées plus loin ; C) un module 3 de gestion des grilles ci-dessus, comportant des mémoires de grilles 31 et 32 mémorisant les données codifiées de ces grilles, concernant respectivement la mission et l'environnement, notamment concernant la cible (dans la grille 31) et les obstacles (dans la grille 32) ; D) un module 4 de mémorisation et de restitution du modèle dynamique du mobile io exprimé sous forme d'équations du mouvement et d'équations d'erreur connues de l'homme du métier ; E) un module générateur 5 interface d'entrées d'une part des grille 31 et 32 de la cible ou de l'objectif et des obstacles et d'autre part du modèle dynamique, et prévu 15 pour assurer la génération d'un noyau de calcul tychastique classique à destination de : F) un module de calcul tychastique 6, notamment de calcul d'un bassin de capture et, par un sous-module spécifique 60 inclus dans ce module 6, de calcul d'une 20 rétroaction tychastique. Le module tychastique 6 comporte également un module mémoire 20 stockant les résultats provisoires de ses calculs, essentiellement les trajectoires possibles du mobile dans l'espace de phase (espace positions, vitesses ) du mobile. Les espaces de phase sont couramment utilisés en analyse des systèmes non-linéaires et en théorie des perturbations (méthode de Poincaré). 25 L'espace de phase est ici limité aux trajectoires déterminées par l'ensemble retenu des états initiaux du mobile ; G) un module 7 de sélection et d'extraction dans la mémoire 20 des résultats ci-dessus puis de l'enregistrement mémoire, dans la mémoire du module 7, du bassin de 30 capture et d'une rétroaction à appliquer, mémorisée sous forme d'une tabulation ; H) Un bloc 8 de calcul de navigation stochastique comportant : 1) un module 81 de senseurs de navigation représentatifs de l'état du mobile à tout instant, par exemple d'odomètres, de GPS, de 35 senseurs inertiels, etc., relativement à son environnement et de transfert de ces données au module 6 ci-dessus, 7 2) un module 82 d'extraction de la rétroaction à partir du module 7 et d'élaboration d'une commande de navigation en position, vitesse et accélération déduite de cette rétroaction, 3) un module de navigation stochastique 83, tenant compte de la commande ci-dessus, comportant, par exemple, un navigateur inertiel hybride 10, ou tout autre type de navigateur de mobile, et une commande 40 de commandes ou gouvernes de pilotage mécaniques, électriques ou hydrauliques agissant sur le pilotage du mobile, l0 4) une mémoire 84 contenant l'état stockastique instantané théorique du mobile utile au navigateur 10 pour extraire des données d'erreur à partir des données des senseurs 81 reflétant l'état réel instantané du mobile. Ces données d'erreur permettent une navigation hybride stockastique prédictive. Accessoirement, elles permettent, 15 si les données de mission le prévoient, d'atteindre la cible avec une vitesse nulle. Par commande ou gouvernes de pilotage, on doit comprendre ici tous les dispositifs de commande moteur, directionnelles ou de profondeur, 20 hydrauliques, électriques et mécaniques, pour assurer la conduite ou le pilotage du mobile à partir de ses moyens de guidage, de pilotage et de navigation, par exemple les CDV (Commandes De Vol) et/ou FMS (Flight Management System) des aéronefs. 25 Les mémoires 31 et 32 contiennent les données descriptives de l'environnement du mobile sous forme d'une carte géographique numérisée complétée des états numérisés du mobile en réalité sous forme de grilles de points xa, xb représentatifs de la mission du mobile, notamment en position et en vitesse, et permettant de travailler dans l'espace de phase. Le module 20 mémorise dans sa mémoire les 30 trajectoires calculées telles que xa-xb. Le module 3 comporte aussi, en grille 31, les instructions de navigation saisies manuellement ou automatiquement captées en cours de mission (considérées comme des tyches par le système 200) et des règles de pilotage (dépendant du 35 mobile) ou de calcul de rétroaction (dépendant des tyches), à observer en fonction chaque état du mobile. 8 Des instructions de navigation et de désignation d'itinéraires peuvent y être préprogrammées, télécommandées, calculées, ou encore manuellement introduites par le canal du module 50 ou du module 95. Notamment le bloc 1 peut recevoir des données complémentaires concernant la mission du mobile, par exemple des descriptions géographiques complémentaires, par l'action d'un pilote naviguant sur le clavier alphanumérique 95, ou par l'intermédiaire du récepteur radio 95 les recevant d'une balise, ou d'un lecteur de mémoire de masse amovible telle que CD-ROM ou mémoires ROM (read only memory) ou d'un récepteur GPS, etc. En définitive, le bloc 1 et le module 2 élaborent des instructions de navigation dans les mémoires ou grilles 31 et 32 du module 3, par exemple à partir d'une mémoire RAM (random access memory). Les instructions peuvent être en langage descriptif directement interprétable en temps réel par le module générateur 5. Les rétroactions contiennent des corrections de paramètres tels que accélérations, cap, incidence, etc... en fonction des vitesses, de l'altitude ou de la profondeur du véhicule, et des points ou états de passage. Les rétroactions associent à chaque position et à chaque vitesse du mobile son accélération, son cap et son incidence. Les données de mission définissent par exemple des actions opérationnelles (actions civiles ou militaires, ...) à effectuer en ces points de passage et sur l'objectif final. Le navigateur 10 peut par exemple être un navigateur inertiel aidé (ou hybride) avec recalage de position (GPS ou autre balise radio) ou de vitesse (radar Doppler, Sonar ou odomètre) avec calibration continue de certains paramètres de modélisation par filtrage statistique. Le module de détection 50 est agencé pour détecter et localiser des obstacles sur la carte, et plus particulièrement des nouveaux obstacles. Il est relié au module de rétroaction 60 agencé, lui, pour provoquer, par le calcul des rétroactions, un changement de trajectoire du mobile en fonction des nouveaux obstacles. Pour cela, le module de détection 50 doit comporter des capteurs de détection des nouveaux obstacles ou tyches. La localisation des obstacles est reportée par le 25 9 calculateur de numérisation 2 sur les grilles numérisées 31 et 32 contenant l'environnement : la carte géographique, les obstacles et les contraintes dans l'espace de phase et notamment les contraintes initiales ou de mission et l'objectif O, etc. Comme capteurs, suivant le type de mobile, on peut notamment utiliser des radars ou des sonars de bord, des senseurs mécaniques (palpeurs), des senseurs laser ou autres appareils de télémesure, et l'ensemble ci-dessus peut être complété par l'interface 95 ou être court-circuité par lui par le module 5 transmettant directement to au calculateur 60 des coordonnées d'obstacles nouveaux ou de nouvelles contraintes, introduits dans les cartes ou grilles numérisées 31, 32 au cours de la mission. Le module d'alarme ou d'alerte 9 signale au système 200 et/ou au mobile que des 15 nouveaux obstacles ont été détectés ou que la cible a été modifiée, bloque dans le module 8 l'utilisation de la rétroaction 7 et met éventuellement en oeuvre des stratégies de recours puis réinitialise le bloc d'entrée 1 et les modules 1 à 7 pour calculer une nouvelle rétroaction et déclencher sa prise en compte dans le module 8, comme il sera expliqué plus loin. 20 Le module d'alerte 9 est activé par les autres modules 50 et 95 du bloc 1, et est plus précisément agencé pour provoquer le calcul, par l'unité de calcul 6 et via le module 5, d'une nouvelle rétroaction à substituer à celle antérieurement présente dans la mémoire du module 7. Par ailleurs, le calculateur 6 est relié au bloc navigateur 8 par la liaison logique bidirectionnelle 65 pour servir à coordonner leurs actions. Les grilles 31 et 32 forrnent une matrice ou grille unique 61 de vecteurs d'état xa, 30 xb, xc, ... du mobile dans l'espace de phase, de la mission et de l'environnement, plus simplement une carte matricielle 61 ou matrice 61 de points xa, xb, xc, ... Les points xa, xb, xc,... comportent notamment des coordonnées géographiques d'une carte géographique qui sont distants les uns des autres d'un pas d pouvant 35 dépendre des données de navigation, comme la précision de position du mobile, sa vitesse relativement au pas temporel de calcul des équations aux différences (ou des 10 équations différentielles numériques) modélisant les lois de guidage du mobile, et des exigences de précision géographique de la mission, etc. Par exemple dans la matrice 61, les obstacles sont matérialisés par des ensembles {xo} de points, géographiquement situés dans (au sens large) les obstacles. L'ensemble {xl } des points de départ possibles du mobile constituent des états initiaux. L'objectif O doit faire partie de l'ensemble des points xa, xb, xc ... Le module de rétroaction 60 comporte essentiellement des logiciels de calcul de to viabilité, et utilise, comme données d'entrée, le noyau de calcul élaboré par le module 5, dont la grille 61 et le modèle dynamique du mobile mémorisé en mémoire 4 font partie. En effet, les calculs de viabilité proposés ici diffèrent sensiblement des calculs de 15 viabilité ordinairement connus dans l'état de l'art en ce sens que l'on calcule une rétroaction non prédéterminée et spécifique des contraintes nouvelles inattendues intervenant au cours d'une mission, notamment de frontière et d'obstacles, de type tychastique, et de l'objectif O non forcément prédéterminé, comme il va être décrit ci-après. 20 Ils mettent en pratique la théorie de la viabilité, exposée notamment dans les documents suivants : AUBIN J.-P. (1991) Viability theory, Birkhuser 25 http://lastre.asso.fr/aubin/WViabTheoryComplet.pdf SAINT-PIERRE Patrick Approximation of the Viability Kernel - Applied Mathematics & Optimisation 29:187-209 (1994) 30 AUBIN J.-P. & CATTE F. (2002) Bilateral Fixed-Point and Algebraic Properties of Viability Kernels and Capture Basins of Sets, Set-Valued Analysis http://lastre.asso.fr/aubin/AUB-CATTE-SVA.pdf La théorie de la viabilité a pour but de décrire les processus mathématiques de 35 contrôle-commande de servomécanismes non linéaires, c'est-à-dire soumis à des tyches, ici des évitements d'obstacles. Elle permet d'éliminer les commandes qui ne 11 permettent pas d'atteindre l'objectif avant de choisir parmi celles qui restent celles à appliquer au servomécanisme. Ici, les calculs de viabilité effectués consistent en des calculs appliqués de proche en proche à partir de tout point de la matrice 61 susceptible d'être un point initial de calcul, et au début du déplacement du mobile, des points xl des contraintes initiales, pour y déterminer des trajectoires corrigées par des régulons ou rétroactions permettant de passer d'états xa, xb ... de la matrice 61 à des états suivants xc, xd ... avec la garantie d'aboutir à l'objectif O tout en évitant l'ensemble {xo} des états to faisant obstacle et en particulier les états obstacles nouveaux. Dans l'application considérée d'exécution d'une mission, l'ensemble {xl} des états initiaux obtenus contient, s'il existe (sinon la mission est impossible), le bassin de capture initial, bassin qu'on peut chercher à élargir comme on verra ci-après. 15 Plus précisément, en référence à la figure 4, le système 200 comporte deux parties S et T, une S stochastique, classique, essentiellement exécutée par le bloc 8, et une T tychastique, essentiellement exécutée par l'ensemble des éléments 3, 5, 6, modifiant par les rétroactions ou régulons l'exécution de la partie stochastique de la mission à 20 l'apparition de chaque tyche. Ces deux parties S et T travaillent selon le schéma maître-esclave, le bloc de navigation 8 étant l'esclave du calculateur 6 par l'intermédiaire de la liaison 65. Ainsi les calculs de navigation du bloc 8 et les calculs tychastiques du calculateur 6 25 peuvent être coordonnés comme précisé plus loin. Le système 200 peut sommairement être représenté par un servomécanisme qui comporte une chaîne d'action 14 modélisant le comportement du mobile par des équations différentielles linéaires des variables Xi représentatives de ce 30 comportement et des paramètres de pilotage, fonctions du temps ti discrétisé et indicé par l'indice i, et : 1) une première chaîne de retour 12 ou contre-réaction 12 notée Ui, stochastique, guidant le mobile selon les points xa, xb, xc, ... vers l'objectif O, en fonction des paramètres de pilotage, mais sans tenir compte de la présence d'obstacle, 35 selon les lois dynamiques et statistiques modélisées par des équations du type : X'i = f( Xi, Ui) 12 Xi+1 = Xi + (ti+1 ù ti).X'i (ti+1 ùfi) = 1 / Fo Fo étant une fréquence de base prédéterminée. 2) une seconde chaîne de retour 13 ou rétroaction 13 qui modifie Ui par les s régulons Vi, par l'intermédiaire des paramètres de pilotage ci-dessus. Les régulons Vi sont calculés en fonction de l'existence ou de l'apparition d'obstacles nouveaux ou la désignation d'un objectif nouveau dans la grille 61. A l'apparition d'un tyche, les régulons sont calculés comme indiqués ci-dessus, Io tabulés et rangés pour chaque état xa, xb, xc de la matrice 61, de façon à pouvoir être récupérés au passage du mobile en chaque point xa, xb, xc ... et pour permettre au système 200 de modifier en ces points, quand le mobile s'y trouve, le fonctionnement de sa partie stochastique. 15 En simplifiant, les modifications peuvent consister à incrémenter Ui successivement de vecteurs régulons Vi, à remplacer Ui par Ui + Vi dans les équations différentielles ci-dessus qu'il appliquer en chaque point xa de l'état du mobile ; les vérifications de l'accessibilité par Vi d'un point xb, xc, ... immédiatement voisin à distance d de la position du mobile (ce qui exclue, notamment, les points en 20 diagonale dans la matrice 61) et de la viabilité du choix de ce point suivant pour atteindre l'objectif O ayant déjà été réalisées et étant garanties par les calculs de viabilité effectués. On effectue ces opérations à chaque incrémentation de i, et on conserve en 25 mémoire, comme point suivant, un point voisin. On procède ainsi de proche en proche jusqu'à tomber sur l'objectif O (qui fait partie de la grille) ou sur un point déjà inclus dans une trajectoire viable déjà obtenu précédemment. Lors d'un premier calcul de viabilité, on a pu déterminer un bassin de capture dans la matrice 61, conformément à la théorie de la viabilité. Selon cette théorie, si au cours du calcul de viabilité portant sur une portion 35 d'itinéraire commençant par un état initial xl, on tombe sur un état ou point xo constituant un obstacle, ou sur un autre état initial possible déjà analysé, ou sur un 30 13 point appartenant à une trajectoire déjà reconnue comme non viable, la trajectoire en cours de calcul n'est pas viable et l'état initial xl ne fait pas partie du bassin de capture. Avant toute mission, on élimine ainsi d'office les trajectoires non viables et le mobile part d'emblée d'un point xl appartenant au bassin de capture. Mais l'apparition d'un nouvel obstacle peut réduire ce bassin de capture. Après tout calcul de viabilité, le module de rétroaction 60 calcule un nouveau bassin de capture et vérifie ainsi si le mobile s'y trouve toujours inclus. Io Pour élargir le bassin de capture, on affine la matrice 61 par dichotomie, et on recommence le processus ci-dessus. La dichotomie est une méthode consistant diviser tous les segments de la grille en 15 deux segments. Le nombre de points de la matrice 61 est multiplié par deux dans ses dimensions. On peut aussi procéder en superposant à la matrice 61 une matrice 62 égale mais décalée par rapport à elle de la distance d/2 selon ses deux directions horizontale et verticale, comme sur la figure 3. Dans la figure 3, on n'a considéré qu'une espace de phase à deux dimensions par souci de simplification En réalité, 20 l'espace de phase étant au moins à six dimensions, il faut multiplier ce traitement au moins par trois. La matrice globale obtenue étant plus fine, il existe des points supplémentaires xa, xb, xc, ... offrant des possibilités supplémentaires de trouver des trajectoires de plus 25 en plus lissées jusque l'objectif O, et donc d'augmenter le nombre de points appartenant au bassin de capture résultant, notamment en dehors du bassin de capture initial. Si pour une rétroaction Vi+1 on détermine des points xa, xb, xc, . de la trajectoire 30 déjà inclus dans un itinéraire obtenu pour Vi ouune rétroaction antérieure, on peut retenir Vi+1 immédiatement, et on peut arrêter le calcul du bassin de capture en cours pour l'état initial considéré, puisqu'on sait déjà la suite de l'itinéraire viable. Le calcul de trajectoire est ainsi optimisé en temps de calcul...DTD: 35 Le procédé de navigation par le système 200 consiste donc, au départ de la mission, à essayer tous les états initiaux {xl} (le bassin de capture le plus large possible, ou 25 bien seulement, lorsqu'on est en cours de mission, le point initial xl où se trouve le mobile au moment de l'apparition d'un nouvel obstacle {xo}, et à essayer toutes les rétroactions Vi possibles en chacun des point xa, xb, xc, pour ne retenir que celles conduisant le mobile sur un objectif O. On recherche ensuite le meilleur jeu des couples rétroaction- état (Vi , xa) résultant de la rétroaction Vi retenue pour tous les points xa, xb, xc selon des critères prédéterminés ou déterminés en cours de mission, par exemple le plus court en distance ou en temps de parcours, ou des critères pouvant être transmis en temps to réel par un pilote via le module 50 ou 95. On détermine ainsi la meilleure rétroaction en temps réel et on l'applique instantanément au système 200, avec la certitude d'atteindre l'objectif O. 15 Mais on peut aussi choisir la rétroaction : 1) comme étant celle qui minimise à chaque instant la vitesse des commandes pour éviter leur battement ( chattering ), 2) comme étant celle la plus robuste relativement aux perturbations pouvant agir sur des paramètres non déterminés du modèle dynamique, de la cibles ou des 20 obstacles. Par ailleurs, lorsqu'un mécanisme de commande est choisi indépendamment de la cible et des obstacles, le calculateur 6 calcule le bassin de capture de la cible par une seule rétroaction, la plus robuste, pour fournir une zone de sécurité. Enfin si plusieurs rétroactions sont choisies indépendamment de la cible et des obstacles, le calculateur 6 calcule leur enchaînement et le bassin de capture correspondant à l'enchaînement pour fournir la zone de sécurité. 30 En résumé, on détermine la navigation du mobile piloté ou guidé en recherchant une trajectoire depuis un état initial xl jusqu'à l'objectif O non forcément prédéterminé et devant naviguer dans un espace parsemé d'obstacles {xo} non prédéterminés, et pour éviter les obstacles, on surveille leur apparition, et, à chaque apparition de l'un d'entre eux, on le localise, on recherche les trajectoires viables avec la garantie d' 35 atteindre l'objectif O, puis on choisit et on suit la meilleure trajectoire xa-xb, xa-xc, 15 Enfin le module 7 choisit dans la mémoire 20 la meilleure rétroaction, reçoit du calculateur 6 ses résultats de calcul stockés dans la mémoire 20, dont la table de rétroaction et d'états viables (Vi, xa), et transmet la rétroaction choisie au module 82 d'élaboration des cornmandes du navigateur 83. Si la liaison 65 est prévue à cet effet, le module radio 95 peut avertir la base du mobile ( non représentée) que le nouvel obstacle est pris en compte. Le fonctionnement du système 200 va maintenant être expliqué. Au cours de la navigation, en référence à la figure 2, à une étape 100, le navigateur 83 lit, à l'instant ti, les positions, vitesses et accélérations instantanées à partir des senseurs 81, les compare à l'état théorique 84 et en déduit des erreurs estimées de navigation. Au cours de cette étape, il lit aussi les paramètres de navigation / pilotage de la trajectoire xa-xb à suivre dans le module 7, définissant notamment le cap, la vitesse de croisière et les autres paramètres de navigation et de mission déjà évoqués, qu'ils soient désignés soit manuellement ou télécommandés, soit sous forme de régulons calculés par le calculateur 6 comme on a vu précédemment et ce au cours d'une étape décrite ultérieurement. Aux étapes suivantes 110, 111, le navigateur 83 effectue une navigation stochastique, notamment à partir des erreurs estimées, il effectue ses opérations classiques de navigation hybride, dont les recalages dans l'espace de phase et les calibrages des modèles dynamiques bien connus de l'homme du métier. Les modèles dynamiques en mémoire 4 sont alors réactualisés. Pour cela, sur la trajectoire xa-xb ci-dessus, le navigateur 10 effectue un cycle de calcul ou de base de navigation selon la fréquence de base prédéterminée Fo au cours de laquelle simultanément il calibre continûment (étape 111) ses paramètres de modélisation et il calcule (étape 110) la position sur la carte géographique et les vitesses estimées du mobile, par navigation hybride et filtrage de Kalman, en utilisant par exemple les méthodes mathématiques expliquées dans l'ouvrage navigation inertielle optimale et filtrage statistique sous la direction de Pierre 16 Faune, édité chez Dunod (Paris 1971), puis en déduit la contre réaction Ui. Il incrémente ensuite un indice i de cycles exécutés à la fréquence de base Fo, i étant nul au début de la navigation. A l'étape 120, le navigateur 10 boucle sur le cycle de base des étapes 111, 110 sinon, il effectue une étape 130. A l'étape 130, il contrôle le résultat de la navigation effectuée jusqu'alors en recherchant la correspondance des coordonnées du mobile et de ses paramètres de to navigation avec ceux de la trajectoire xa-xb à suivre et en déduit : la proximité L du point ou état xb à atteindre, des écarts E de position par rapport à la trajectoire xa-xb à suivre. Au dessus d'un certain seuil S1, E entraîne une correction de pilotage / navigation 15 tendant à annuler E, par modification du cap, de la vitesse, ... , modification pouvant être effectuée en étape 130 ou lors de l'étape 110. Notons que S1 correspond sensiblement à la précision avec laquelle on veut atteindre l'objectif O. 20 En dessous d'un autre seuil S2, qui peut être sensiblement égal à Si, le navigateur 10 considère que le point de passage xb est atteint et modifie la navigation en cours en lui imposant les paramètres de navigation Ui et régulons Vi du point de passage atteint xb, c'est-à-dire le couple régulons- état (Vi, xb) mémorisé en mémoire du 25 module 7, couple qui doit permettre d'atteindre le point suivant xc. A la fin de cette étape, il exécute l'étape 140 dans laquelle il teste l'arrivée d'un éventuel message M1, émis par le calculateur tychastique 6, et d'un message M2 à suivre émis par le module 7, comme il va être expliqué plus loin. Tant qu'il n'y a 30 pas de message M2, il boucle sur la navigation hybride 111 , 110. Sinon le navigateur 10 passe à l'étape 150 dans laquelle il répond par un message P au message M1 et continue encore la navigation inertielle en attente du message M2 après que des calculs de viabilité soient effectués, comme décrits ci-dessous. 35 17 Au cours de la phase de navigation stochastique ci-dessus (étapes 100 à 150) du véhicule, lors de l'étape 201 sur le dessin de la figure 2, l'ensemble 1 surveille en permanence l'environnement décrit dans la matrice 61. Quand à un moment quelconque fil, un événement tychastique intervient, l'ensemble 1 détectant par exemple un nouvel obstacle, ou simplement si un nouvel obstacle ou de nouvelles contraintes surviennent via les modules 50 ou 95, une phase tychastique est déclenchée, chronométrée par le comptage d'un indice j incrémenté à la fréquence Fo à partir de zéro, qui comprend les étapes 210 à 240 io expliquées maintenant. Lors de l'étape 210, l'événement tychastique est formalisé par le calculateur 2 en données numérisées qui sont introduites dans les mémoires du module 3. Le module 3 met la matrice 61 à jour et par l'interface 5 la transmet au calculateur tychastique 15 6, simultanément avec le modèle dynamique mémorisé en mémoire 4. Lors de l'étape 220, le calculateur tychastique 6 avertit le navigateur 10 en lui adressant le message M1 via la liaison 65, l'avertissant qu'une nouvelle trajectoire et de nouveaux régulons doivent être recherchés. 20 Le navigateur 10, suite au message M1, tout en continuant la phase de navigation stochastique, à une étape 150, transmet par liaison 65, au module de rétroaction 60, les paramètres P utiles : position et vitesses actuelles du véhicule, données qui deviennent, jointes aux données de la matrice 61, les nouvelles conditions initiales 25 de la recherche de viabilité. Lors de l'étape 230, le calculateur tychastique 6 dispose alors de toutes les données nécessaires pour effectuer les calculs de viabilité ci-dessus. Notamment, le calculateur tychastique 6 peut calculer un nouveau bassin de capture et, si le 30 véhicule ne s'y trouve pas présent, déclencher une action spécifique concernant sa mission. Par exemple, ne pouvant pas garantir d'atteindre l'objectif O, il peut provoquer l'arrêt de la mission ou la génération d'une liaison radio de demande d'instructions 35 alternatives. 20 18 Mais il peut aussi chercher à élargir le bassin de capture comme vu plus haut. Une fois que le module de rétroaction 60 a déterminé de nouvelles trajectoires contournant les nouveaux obstacles ou tenant compte des nouvelles contraintes, mais aboutissant toujours à l'objectif O imposé en début de mission, ou nouvel objectif O, il recherche d'autres solutions de continuité de trajectoire répondant aux mêmes conditions, autant qu'il puisse en trouver dans un certain temps de calcul prédéterminé T correspondant à l'autonomie admissible de la phase de navigation stochastique ci-dessus. Pratiquement il compare l'indice j à une valeur maximum J telle que : J = Fo.T Il peut ensuite rechercher des solutions plus fines par dichotomie de la matrice 61 15 comme vu plus haut. Il les mémorise en mémoire 20. Lors de l'étape 240, le calculateur tychastique 6 recherche alors la meilleure solution en fonction d'un critère prédéterminé, durée nécessaire ou distance à parcourir pour atteindre l'objectif O. C'est au cours de cette dernière étape 240 qu'il transmet cette solution au module 7 qui substitue les données correspondantes à celles alors présentes dans la mémoire 20 et la transcode avant de la transmettre au module 82. 25 Au moment de la substitution, le module 7 avertit le navigateur 10 par le message M2 (via la liaison 65) qu'elle va incessamment être opérationnelle, et le module 95 que le nouvel obstacle a été pris en compte, ce dernier étant alors en mesure d'avertir la base du mobile. 30 Le navigateur 10, à l'étape 150, lit M2, peut calculer une trajectoire de raccordement entre la position et les vitesses actuelles du véhicule au moment de la substitution et la position et la vitesse formalisées dans P correspondant aux conditions initiales de la recherche de viabilité. Cela peut être réalisé en utilisant une technique d'interpolation entre les paramètres correspondants. 35 19 A l'étape 160 suivante, le navigateur 10 décrète la fin des calculs de viabilité à la terminaison des calculs de raccordement ci-dessus, et boucle sur le processus initial de lecture de l'étape 100 en tenant compte des nouvelles données dans la mémoire 20 du module 6 (ou la mémoire du module 7). Puisqu'au moment de réception du message M1, l'ancien itinéraire est destiné à être abandonné, il n'est pas nécessaire que le navigateur 10 maintienne la précision de son suivi ou effectue de régulation statistique (estimation de l'erreur, calibration, recalage) sur la navigation pendant l'exécution des calculs tychastiques de viabilité. to Il peut donc continuer en navigation inertielle pure, et, si les calculateurs 6 et 10 ne font qu'un, permettre de réaliser des économies substantielles de temps de calcul. REVENDICATIONS 1- Procédé de détermination de la navigation d'un mobile piloté allant d'un point (xl) de départ jusqu'à un objectif (0) non forcément prédéterminé et devant naviguer dans un espace comportant au moins un obstacle (xo) non prédéterminé, le procédé étant caractérisé par le fait que, pour éviter l'obstacle, on le numérise ainsi que l'objectif, on recherche des trajectoires viables (xa, xb, xc, ...) l'évitant mais atteignant toujours l'objectif (0), on choisit et on suit la meilleure trajectoire (xa, xb, xc, 2- Procédé selon la revendication 1, dans lequel le mobile est téléguidé. 3- Procédé selon la revendication 1, dans lequel le mobile est autoguidé. 4- Procédé selon l'une des revendications 1 à 3, dans lequel on numérise l'objectif et l'obstacle sous forme de cartes représentées sous forme d'une grille (61) de vecteurs (xa, xb, xc, ...) de l'espace des états du mobile. 5- Procédé selon la revendication 4, dans lequel, en chaque état (xa, xb, xc, ...) de la grille (61), on calcule une rétroaction (Vi) applicable au pilotage ou au guidage du mobile qui guide le mobile vers un état suivant. 6- Procédé selon la revendication 5, dans lequel la rétroaction (Vi) associe à chaque état du mobile son accélération, son cap et son incidence. 7- Procédé selon l'une des revendications 5 et 6, dans lequel la rétroaction est calculée pour optimiser des critères prédéterminés. 8- Procédé selon l'une des revendications 1 à 7, dans lequel, le mobile étant susceptible de partir d'un ensemble d'états de départ (xl), on calcule un unique bassin de capture (xl) de l'objectif (0). 9- Procédé selon la revendication 8, dans lequel on affine progressivement la grille (61) des états par dichotomie, et on calcule la rétroaction sur la grille affinée. 10- Procédé selon l'une des revendications 1 à 9, dans lequel on choisit la meilleure trajectoire comme étant celle qui minimise à chaque instant la vitesse des commandes pour éviter leur battement. 11- Système (200) de navigation d'un mobile à pilotage automatique agencé pour atteindre un objectif (0), comportant : - un module (11) de détection et de saisie de données d'environnement caractéristiques d'un objectif ou d'un obstacle couplé à un module (9) de mise en 35 alerte dudit système ; - un module mémoire (50) comportant des données de mission ; 21 - un module (2) de numérisation en grilles (31, 32) de l'objectif et des obstacles ; - un module (3) de gestion desdites grilles (31, 32), et - un module mémoire (4) contenant le modèle dynamique du mobile, pour - un module (5) de génération d'un noyau de calcul tychastique ; - un module (6) de calcul tychastique ; - un module (7) de sélection et de tabulation d'une rétroaction à appliquer à la navigation du mobile, et - un bloc (8) de calcul de navigation stochastique comportant un module (82) d'élaboration d'une commande de navigation dérivée de cette rétroaction. to 12- Système selon la revendication 11, comportant une interface radio (95). 13- Système selon l'une des revendications 11 et 12, comportant un clavier alphanumérique (95). 14-Système selon l'une des revendications 11 à 13, comportant une mémoire de masse (95). 15 15-Système selon la revendication 12, comportant un module de sécurité (90) agencé pour transmettre au module (95) les rétroactions calculées par le module tychastique (6) et avertir que les obstacles ont été pris en compte. 16-Système selon l'une des revendications 11 à 15, comportant une liaison logique (65) reliant le module tychastique (6) et le bloc de calcul (8) de navigation 20 stochastique, et agencée pour coordonner leurs calculs.