Brevet FR3148473A1 — publié le 20241108

L’invention concerne un procédé utilisant une commande prédictive à modèle à base de tube en présence de perturbations, ce tube étant défini par un ensemble centré sur les états nominaux successifs. Le procédé comporte : - une obtention d’une projection orthogonale de l’ensemble de définition du tube, sur un espace dans lequel s’étend l’environnement ; - une obtention d’une partition de l’environnement ; - une détermination d’un chemin (CH) comportant des segments (S2-4, S5-8) chacun déterminé à partir d’un ou plusieurs segments de la partition ; - une définition de corridors (Q2-4, Q5-8) respectivement autour des segments (S2-4, S5-8) du chemin (CH) ; - une vérification que la projection reste entièrement dans chaque corridor (Q2-4, Q5-8) ; - une modification de la partition pour retirer le ou les segments où la projection sort du corridor, pour recommencer la détermination du chemin (CH) ; et - si la projection reste entièrement dans tous les corridors (Q2-4, Q5-8), une commande du système mobile pour successivement passer par les corridors (Q2-4, Q5-8). Figure pour l’abrégé : Fig. 17 COMMANDE D’UN SYSTÈME MOBILE DANS UN ENVIRONNEMENT COMPORTANT DES OBSTACLES Domaine technique de l’invention La présente invention se situe dans le domaine de la navigation de systèmes mobiles dans des environnements encombrés. L’invention concerne plus précisément un procédé de commande d’un système mobile dans un environnement comportant des obstacles, un programme d’ordinateur associé et un système de commande associé. Elle trouve une application privilégiée pour la planification de la navigation de véhicules autonomes dans des environnements déstructurés. Arrière-plan technologique La thèse de doctorat de D. Ioan intitulée « Safe Navigation Strategies within Cluttered Environment » de l’Université Paris-Saclay, publiée le 30 juin 2021 et référencée ci-après [Ioan 2021], décrit un procédé de commande d’un système mobile dans un environnement, au moyen d’une commande prédictive (de l’anglais « Model based Predictive Control » ou bien « Model Predictive Control »), ce procédé comportant : l’environnement comportant des obstacles, une obtention d’une partition de l’environnement, comportant des points dits de passage, et des segments évitant les obstacles et ayant des extrémités interconnectées aux points de passage ; une détermination d’un chemin comportant des segments successifs évitant les obstacles, chaque segment du chemin étant déterminé à partir d’un ou plusieurs segments de la partition ; et une définition de corridors respectivement autour des segments du chemin, chaque corridor étant convexe et évitant les obstacles. Plus précisément, dans le procédé de [Ioan 2021], la partition est obtenue par levage convexe (de l’anglais « Convex lifting »). La partition comporte des segments linéaires interconnectés à leurs extrémités. Un chemin entre un point de départ et un point d’arrivée du système mobile est déterminé, ce chemin comportant une succession de segments de la partition. Plus précisément, l’algorithme de Dijkstra est utilisé pour que le chemin sélectionné soit le plus optimal, par exemple le plus court. Les corridors sont définies, pour chaque segment du chemin, en translatant un centre d’une boule (au sens mathématique) sur ledit segment. Lors du déplacement de la boule, cette dernière couvre une surface (ou un volume) formant le corridor le long du segment. Cette boule a un rayon variable qui est ajusté (soit fixe pour chaque segment, soit ajustée le long du segment) de sorte à ce que ce rayon soit le plus grand possible sans que la boule n’intersecte un des obstacles. La commande prédictive est alors mise en œuvre pour que le système mobile suive la trajectoire souhaitée, c’est-à-dire le chemin déterminé. La commande prédictive utilise une zone de recherche limitée aux corridors, afin d’éviter toute collision avec les obstacles. [Ioan 2021] n’aborde pas la problématique des perturbations que le système mobile peut subir. Dans la littérature, les perturbations peuvent être prises en compte en agrandissant par homothétie les obstacles modélisés. Par sécurité, un agrandissement généralement plus grand que nécessaire est opéré, ce qui peut amener par exemple deux obstacles à se toucher et ainsi renoncer aux chemins qui passeraient entre ces deux obstacles. Dans un cadre plus général, l’article de D.Q. Mayne, S.V. Rakovic, R. Findeisen et F. Allgöwer intitulé « Robust output feedback model predictive control of constrained linear systems », publié dans automatica 42 (2006) 1217-1222, décrit un procédé de commande d’un système mobile dans un environnement, au moyen d’une commande prédictive à base de tube en présence de perturbations, cette commande utilisant une représentation d’état du système mobile incluant les perturbations et une représentation d’état nominale du système mobile correspondant à la représentation d’état sans les perturbations, cette commande définissant un tube bornant l’état du système mobile, ce tube étant défini par un ensemble centré sur les états nominaux successifs. La commande est mise en œuvre pour déplacer le système mobile dans un espace noté pour atteindre une partie de cet espace. Cependant, ce document ne s’intéresse pas au cas particulier du déplacement dans un environnement comportant des obstacles. Par ailleurs, l’article de Mirabilio, M., Olaru, S., Dórea, C. E., Iovine, A., & Di Benedetto, M. D. intitulé « Path generation based on convex lifting: optimization of the corridors », publié dans IFAC-PapersOnLine, 55(16), 260-265 en 2022, référencé ci-après [Mirabilio 2022], décrit une méthode itérative, basée sur la technique de levage convexe, pour optimiser la taille moyenne des corridors. Cette méthode repose sur l’agrandissement itératif des obstacles modélisés, tout en effectuant, à chaque itération, un partitionnement par levage convexe, tant que possible. Il peut ainsi être souhaité de prévoir un procédé pour déterminer une trajectoire souhaitée qui permette de s’affranchir d’au moins une partie des problèmes et contraintes précités. Il est donc proposé un procédé de commande d’un système mobile dans un environnement, au moyen d’une commande prédictive à base de tube en présence de perturbations, cette commande utilisant une représentation d’état du système mobile incluant les perturbations et une représentation d’état nominale du système mobile correspondant à la représentation d’état sans les perturbations, cette commande définissant un tube bornant l’état du système mobile, ce tube étant défini par un ensemble centré sur les états nominaux successifs, caractérisé par : une obtention d’une projection orthogonale de l’ensemble de définition du tube, sur un espace dans lequel s’étend l’environnement ; l’environnement comportant des obstacles, une obtention d’une partition de l’environnement, comportant des points dits de passage, et des segments évitant les obstacles et ayant des extrémités interconnectées aux points de passage ; une détermination d’un chemin comportant des segments successifs évitant les obstacles, chaque segment du chemin étant déterminé à partir d’un ou plusieurs segments de la partition ; une définition de corridors respectivement autour des segments du chemin, chaque corridor étant convexe et évitant les obstacles ; pour chaque segment du chemin, une vérification que la projection déplacée en faisant glisser un centre de cette projection sur le segment reste entièrement dans le corridor de ce segment ; pour chaque segment du chemin où la projection sort du corridor de ce segment, une modification de la partition pour retirer le ou les segments de la partition à partir desquels le segment considéré du chemin a été déterminé, puis un retour à l’étape de détermination du chemin, cette fois à partir de la partition modifiée ; et si la projection reste entièrement dans tous les corridors, une commande du système mobile pour successivement passer par les corridors. Ainsi, grâce à l’invention, et en particulier grâce à la vérification que la projection reste entièrement dans chacun des corridors et à la modification de la partition lorsque cette vérification est négative, il est possible de trouver, s’ils existent, des corridors permettant au système mobile de se déplacer dans l’environnement sans collision avec les obstacles, malgré les perturbations. L’invention peut en outre comporter l’une ou plusieurs des caractéristiques optionnelles suivantes, selon toute combinaison techniquement possible. De façon optionnelle, pour chaque segment du chemin, le corridor de ce segment est défini comme la zone balayée par la projection lorsque son centre est glissé sur le segment considéré, avec une mise à l’échelle de la projection pendant son glissement par un facteur d’homothétie tel que le corridor obtenu affleure au moins un des obstacles mais sans en intersecter un seul, le facteur d’homothétie définissant une taille du corridor. De façon optionnelle également, les segments du chemin sont des segments de la partition. De façon optionnelle également, la détermination du chemin comporte : - une détermination du chemin de sorte qu’il comporte une succession de segments de la partition ; et - une fusion de segments successifs du chemin. De façon optionnelle également, le procédé comporte une recherche de segments successifs du chemin tels que le corridor du segment résultant de la fusion de ces segments successifs soit au moins aussi grand que le plus petit corridor des segments successifs fusionnés, et les segments successifs trouvés sont fusionnés. De façon optionnelle également, le procédé comporte une recherche d’un segment du chemin reliant deux points de passage séparés l’un de l’autre d’une distance inférieure à un seuil prédéfini, et le segment trouvé est fusionné avec le segment précédent ou bien le segment suivant du chemin. De façon optionnelle également, le procédé comporte un déplacement de points de passages du chemin pour augmenter la taille d’au moins le corridor de plus petite taille. De façon optionnelle également, le déplacement des points de passage du chemin comporte une minimisation d’une fonction de coût prenant en compte les positions des points de passage du chemin. Il est également proposé un programme d’ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour l’exécution des étapes du procédé selon l’invention, lorsque ledit programme est exécuté sur un ordinateur. Il est également proposé un système de commande d’un système mobile dans un environnement, caractérisé par : un module de commande au moyen d’une commande prédictive à modèle à base de tube en présence de perturbations, cette commande utilisant une représentation d’état du système mobile incluant les perturbations et une représentation d’état nominale du système mobile correspondant à la représentation d’état sans les perturbations, cette commande définissant un tube bornant l’état du système mobile, ce tube étant défini par un ensemble centré sur les états nominaux successifs ; un module d’obtention d’une projection orthogonale de l’ensemble de définition du tube, sur un espace dans lequel s’étend l’environnement ; l’environnement comportant des obstacles, un module d’obtention d’une partition de l’environnement, comportant des points dits de passage, et des segments évitant les obstacles et ayant des extrémités interconnectées aux points de passage ; un module de détermination d’un chemin comportant des segments successifs évitant les obstacles, chaque segment du chemin étant déterminé à partir d’un ou plusieurs segments de la partition ; un module de définition de corridors autour de respectivement les segments du chemin, chaque corridor étant convexe et évitant les obstacles ; un module de vérification, pour chaque segment du chemin, que la projection déplacée en faisant glisser un centre de cette projection sur le segment reste entièrement dans le corridor de ce segment ; et un module de modification de la partition, pour chaque segment du chemin où la projection sort du corridor de ce segment, pour retirer le ou les segments de la partition à partir desquels le segment considéré du chemin a été déterminé, puis un retour à l’étape de détermination du chemin, cette fois à partir de la partition modifiée. Brève description des figures L’invention sera mieux comprise à l’aide de la description qui va suivre, donnée uniquement à titre d’exemple et faite en se référant aux dessins annexés dans lesquels : la est un schéma fonctionnel d’un système mobile comprenant un système de commande selon l’invention, la est une vue de dessus d’un environnement en deux dimensions dans lequel le système mobile est destiné à se déplacer, la est un schéma fonctionnel du système de commande ; la est un schéma-bloc d’un procédé de détermination d’une trajectoire souhaité dans l’environnement, la est un graphe en trois dimensions représentant un ensemble RPI et sa projection formant une zone spatiale d’incertitude, la est un graphe en deux dimensions représentant plus spécifiquement la zone spatiale d’incertitude, la illustre l’utilisation de la zone spatiale d’incertitude pour définir un tube dans lequel reste le système mobile lors de son déplacement, la est une vue de dessus d’une modélisation de l’environnement, la est une vue de dessus de l’environnement modélisé et d’une partition de ce dernier, la est une vue de dessus de l’environnement modélisé et de sa partition complétée avec des segments reliant respectivement un point de départ et un point d’arrivée à la partition initiale, la est une vue similaire à celle de la , avec un chemin suivant la partition complétée, la est un agrandissement d’une partie de la , illustrant la détermination d’un corridor le long d’un segment du chemin, la est une vue similaire à celle de la , avec des corridors autour des segments du chemin, la est une vue similaire à celle de la , où seule une partie du chemin est représenté, avec en superposition le résultat de fusion de segments du chemin, la est une vue similaire à celle de la , illustrant le cas où le segment résultant de la fusion est trop étroit, la est une vue similaire à celle de la , après la phase de fusion de segments du chemin, la est une vue similaire à celle de la , après une phase d’optimisation des positions des extrémités des segments du chemin, et la est un schéma-bloc d’une étape de commande du système mobile. Description détaillée de l’invention En référence à la , un système mobile 100 selon l’invention va à présent être décrit. Le système mobile 100 est capable de se déplacer dans un environnement terrestre (e.g. terre, sable, glace, neige), aérien, spatial, marin et/ou sous-marin. Par exemple, le système mobile 100 peut être une voiture, un robot, un avion, un drone terrestre/aérien/spatial/sous-marin, un bateau ou bien un sous-marin. Le système mobile peut être destiné à transporter des objets, tels que des marchandises, des animaux et/ou des personnes. Le système mobile 100 comprend tout d’abord un dispositif de manœuvre 102 conçu pour recevoir une commande et pour déplacer le système mobile 100 suivant cette commande . Le dispositif de manœuvre 102 comporte par exemple, lorsque le système mobile 100 est roulant : au moins une roue motrice, un moteur pour mettre en rotation chaque roue motrice et une direction pour modifier l’orientation du système mobile 100, par exemple en modifiant une orientation d’une ou plusieurs roues directrices, par exemple la ou les roues motrices. Lorsque le système mobile 100 est volant, le dispositif de manœuvre 102 peut par exemple comporter au moins un rotor. Le système mobile 100 comprend en outre un système de commande 104 configuré pour commander le dispositif de manœuvre 102 en envoyant des commandes successives. Le système de commande 104 comporte pour cela les modules qui seront décrits plus loin. De préférence, le système de commande 104 est un système informatique comportant une unité 104.2 de traitement de données (telle qu’un microprocesseur) et une mémoire principale 104.4 (telle qu’une mémoire RAM, de l’anglais « Random Access Memory ») accessible par l’unité de traitement 104.2. Le système informatique 104 comporte en outre, par exemple une interface partition et/ou un support lisible par ordinateur, comme par exemple un support local 104.6 (tel qu’un disque dur local) ou bien un support distant (tel qu’un disque dur distant et accessible par l’interface réseau au travers d’une partition de communication) ou bien encore un support amovible (tel qu’une clé USB, de l’anglais « Universal Serial Bus », ou bien un CD, de l’anglais « Compact Disc » ou bien un DVD, de l’anglais « Digital Versatile Disc ») lisible au moyen d’un lecteur approprié du système informatique (tel qu’un port USB ou bien un lecteur de disque CD et/ou DVD). Un programme d'ordinateur P contenant des instructions pour l’unité de traitement 104.2 est enregistré sur le support 104.6 et/ou téléchargeable via l’interface réseau. Ce programme d’ordinateur P est, par exemple destiné à être chargé dans la mémoire principale 104.4, afin que l’unité de traitement 104.2 exécute ses instructions. Tout ou partie des modules du système de commande 104 peut être ainsi réalisée dans le programme d’ordinateur P, sous la forme de modules logiciels. Par exemple, tous les modules peuvent être des modules logiciels. Alternativement, tout ou partie de ces modules peut être implémentée sous forme de modules matériels, c'est-à-dire sous forme d'un circuit électronique, par exemple micro-câblé, ne faisant pas intervenir de programme d'ordinateur. Le système mobile 100 comprend en outre un ou plusieurs capteurs 106, 108 pour fournir, au système de commande 104 des mesures y de grandeurs physiques liées au système mobile 100. Par exemple, le système mobile 100 comprend un capteur de positionnement 106, tel qu’un récepteur de positionnement par satellite, par exemple un récepteur GPS (de l’anglais « Global Positioning System »), pour mesurer la position du système mobile 100, par exemple des coordonnées cartésiennes X, Y du système mobile 100. Le système mobile 100 peut en outre comporter un capteur d’orientation 108 pour mesurer l’orientation θ de la ou des roues directrices du système mobile 100. Le système mobile 100 comprend en outre un dispositif de communication 110, de préférence sans fil, par exemple de type radiofréquence, pour communiquer (i.e. émettre et/ou recevoir) des données avec l’extérieur. En référence à la , le système mobile 100 est destiné à se déplacer de manière autonome dans un environnement 200, depuis un point de départ PD correspondant à sa position en cours jusqu’à un point d’arrivée PA. Cet environnement 200 est encombré, c’est-à-dire qu’il comprend des obstacles 202 (seuls quatre sont référencés sur la par soucis de clarté), par exemple fixes. Le système mobile 100 doit éviter ces obstacles lors de son déplacement, pour ne pas entrer en collision avec eux, car cela pourrait par exemple bloquer le système mobile 100, voire l’endommager. L’environnement 200 est par exemple en outre déstructuré, c’est-à-dire que les obstacles sont distribués de manière aléatoire dans l’espace, contrairement à des réseaux routiers où les obstacles (ce qui est en dehors des routes) sont organisés selon une structure ou un agencement prédéterminé. L’environnement 200 peut ainsi être une forêt comprenant des arbres, un fond sous-marin comprenant des rochers, ou bien l’espace avec des débris ou des satellites. Le déplacement du système mobile 100 est susceptible de subir des perturbations qui peuvent comporter des erreurs d’état et/ou des erreurs de mesure des capteurs 106, 108 du système mobile 100. Les erreurs d’états incluent par exemple les erreurs de modélisation, ainsi que toute perturbation externe, comme par exemple du vent poussant le système mobile 100 ou bien un sol en pente faisant glisser le système mobile 100. En référence à la , un exemple de mise en œuvre du dispositif de commande 104 va à présent être décrit plus en détails. Le système de commande 104 comprend tout d’abord un module d’entrée 302 conçu pour obtenir le point de départ PD et le point d’arrivée PA du système mobile 100, une partition R0 d’une modélisation ENV de l’environnement 200 (appelée par la suite environnement modélisé ENV) et une zone spatiale d’incertitude Z. Le système de commande 104 comporte en outre un module de routage 304 conçu pour déterminer un chemin s’étendant depuis le point de départ jusqu’au point d’arrivé, ce chemin passant par une succession de segments de la partition R0. Le système de commande 104 comporte en outre un module de fusion 306 conçu pour chercher à supprimer des points de passages du chemin en fusionnant au moins un groupe de segments successifs du chemin. Le système de commande 104 comporte en outre un module d’agrandissement 308 conçu pour chercher à agrandir des corridors autour des segments du chemin. Le système de commande 104 comporte en outre un module de vérification 310 conçu pour vérifier que le chemin permet un passage sûr du système mobile 100. Le système de commande 104 comporte en outre un module 312 de mise à jour de la partition R0 pour en retirer les segments dont les corridors sont trop petits. Le système de commande 104 comporte en outre un module de commande 314 conçu pour commander le dispositif de manœuvre 102 afin de suivre le chemin. En référence à la , un procédé 400 selon l’invention de commande du système mobile 100, va à présent être décrit. Le procédé 400 comporte tout d’abord une étape 402 de modélisation. Lors de cette modélisation, des variables d’état du système mobile 100 sont sélectionnées. Ces variables d’état comportent au moins des coordonnées spatiales du système mobile 100 dans un repère prédéfini. En deux dimensions, ces coordonnées spatiales sont par exemple les coordonnées cartésiennes X, Y. Les variables d’état peuvent en outre comporter par exemple un ou plusieurs parmi : une vitesse du système mobile 100, une accélération du système mobile 100, une orientation du système mobile 100, une vitesse d’un organe de direction du dispositif de manœuvre 102 (par exemple, une vitesse de rotation des roues), des courants ou tensions de moteurs du dispositif de manœuvre 102 lorsque le système mobile 100 est électrique. Les variables d’état définissent ainsi un espace d’états en formant une base de ce dernier. L’espace d’états présente une dimension égale au nombre de variables d’état sélectionnées. Chaque état du système mobile 100 est représenté par un vecteur d’état de l’espace d’états , ce vecteur d’état regroupant les valeurs des variables d’état pour l’état considéré. Chaque variable d’état peut prendre des valeurs dans un intervalle limité. Par exemple, les coordonnées X, Y peuvent être limitées à une zone de déplacement prédéfinie, par exemple pour éviter que le système mobile 100 n’en sorte. Lorsque le système mobile 100 est un drone, son orientation suivant certains axes peut être limitée pour qu’il ne se retourne pas par exemple. En outre, le système mobile 100 présente généralement des contraintes physiques limitant les valeurs possibles des variables d’état : vitesse min-max, accélération min-max, angle de braque min-max sur une voiture, etc. Ainsi, l’espace d’états est généralement inclus dans . Par ailleurs, puisque les variables d’état comportent au moins les coordonnées spatiales du système mobile 100, l’espace d’états inclut un sous-espace vectoriel spatial définit par ces coordonnées spatiales. En outre, un ou plusieurs ensembles de perturbations possibles que le système mobile 100 peut subir, sont définis. Les perturbations comportent par exemple des erreurs d’état possibles (par exemple, des erreurs de modélisation) que l’on suppose comprises dans un ensemble et/ou des erreurs de mesure possibles que l’on suppose comprises dans un ensemble . En outre, une représentation d’état du système mobile 100, tenant compte des perturbations , , est définie. Dans le cas d’une modélisation linéaire et discrétisée dans le temps, la représentation d’état est par exemple donnée par l’équation suivante, dénommée représentation d’état discrète : [Math. 1] où : désigne le vecteur d’état à l’instant en cours ; désigne le vecteur d’état à l’instant suivant ; désigne la commande à l’instant en cours ; désigne les mesures en cours obtenues par les capteurs 106, 108 ; désigne les erreurs d’état en cours ; désigne les erreurs de mesure en cours ; , , sont respectivement les matrices d’état, de commande et de mesure ; avec , , , , et ; et avec , , et des ensembles compacts incluant par exemple l’origine. Par ailleurs, toujours au cours de l’étape 402, un observateur d’état OBS est défini. Ce dernier est conçu pour fournir un état observé , proche de l’état du système mobile 100, à partir de la mesure . Par exemple, il peut s’agir de l’observateur de Luenberger défini par l’équation suivante : [Math. 2] où : est l’état observé à l’instant en cours ; est l’état observé à l’instant suivant ; est la mesure observée à l’instant en cours ; et est une matrice dite de gain choisie de sorte que , avec un opérateur donnant les valeurs propres de la matrice . Alternativement, un observateur de Kalman pourrait par exemple être utilisé. En outre, une représentation d’état nominale du système mobile 100 est définie. Cette dernière est identique à la représentation d’état du système mobile 100, mais sans les perturbations , . Ainsi, dans le cas de l’exemple ci-dessus, la représentation nominale peut être donnée par l’équation suivante : [Math. 3] où : est l’état nominal à l’instant en cours ; est l’état nominal à l’instant suivant ; est une commande nominale à l’instant en cours ; et est la mesure nominale à l’instant en cours. En outre, un contrôle prédictif est défini. Ce dernier est conçu pour donner la commande nominale à partir de l’état observé déduit de la mesure par l’observateur, en utilisant la représentation nominale . En outre, une loi de commande corrective peut être définie. Cette dernière est conçue pour donner une commande corrective à partir de l’état observé et de l’état nominal du système mobile 100. La commande corrective est destinée à être combinée à la commande nominale afin de compenser les perturbations, c’est-à-dire une erreur entre l’état observé et l’état nominal. La combinaison de ces deux commandes , donne ainsi la commande fournie au dispositif de manœuvre 102. Par exemple, les commandes nominale et corrective sont additionnées : . La loi de commande corrective est par exemple définie par l’équation suivante : [Math. 4] où : est la commande corrective à l’instant en cours ; est l’état observé à l’instant en cours ; est l’état nominal à l’instant en cours ; et est une matrice de commande corrective (généralement appelée « gain ») choisie telle que , avec un opérateur donnant les valeurs propres de la matrice . Ainsi, d’après les équations précédentes, l’erreur entre l’état observé et l’état nominal suit l’équation : [Math. 5] avec . De manière similaire, il existe une erreur entre l’état réel et l’état observé , définie par et suivant l’équation : [Math. 6] avec . Au cours d’une étape 404, un ensemble est déterminé à partir des ensembles de perturbations , et de la loi de commande corrective de sorte que l’état du système mobile 100 reste à chaque instant dans cet ensemble centré sur l’état nominal à cet instant. Alternativement, la loi de commande corrective peut être déterminée en même temps que l’ensemble . Pour cela, par exemple, un ensemble robuste positif invariant pour l’équation [Math. 5] de l’erreur et un ensemble robuste positif invariant pour l’équation [Math. 6] de l’erreur sont déterminés. Un ensemble est robuste positif invariant (de l’anglais « Robust Positive Invariant Set », appelé par la suite « ensemble RPI ») pour un système autonome discrétisé : avec , si, pour tout appartenant à cet ensemble, appartient également à cet ensemble. De préférence, chacun des ensembles et est sélectionné comme étant le plus petit ensemble RPI inclus intégralement dans tous les ensembles RPI possibles. Ce plus petit ensemble RPI est habituellement qualifié de minimum et désigné par mRPI (de l’anglais « minimum Robust Positive Invariant »). En pratique, l’ensemble mRPI est très difficile à déterminer, de sorte qu’une approximation de ce dernier est de préférence utilisée à la place. Par exemple, chacun des ensembles et pourra être déterminé selon la méthode présentée dans l’article de Rakovic, S. V., Kerrigan, E. C., Kouramas, K. I., & Mayne, D. Q. (2005) « Invariant approximations of the minimal robust positively invariant set”, IEEE Transactions on automatic control , 50 (3), 406-410, qui permet de déterminer l’ensemble mRPI ou bien une approximation de ce dernier. Ensuite, l’ensemble est pris comme la somme de Minkowski des ensembles RPI et : . Comme montré dans Mayne et al. (2006), moyennant que les erreurs et soient respectivement dans et à un instant initial, l’état reste alors dans l’ensemble centré sur l’état nominal , ce qui s’exprime par l’équation : . En pratique, si les erreurs et à l’instant initial sont respectivement à l’extérieur mais proches de et , alors l’état peut également rester dans l’ensemble centré sur l’état nominal . Au cours d’une étape 406, l’ensemble est projeté orthogonalement sur le sous-espace vectoriel spatial, cette projection orthogonale formant une zone spatiale d’incertitude Z. La illustre un exemple de mise en œuvre de cette étape 406 dans un cas où les variables d’état sont les coordonnées X, Y et l’orientation θ du système mobile 100. La illustre plus spécifiquement la zone d’incertitude spatiale Z obtenue par la projection illustrée sur la . Par la suite, la projection de l’état , de l’état observé et de l’état nominal sur le sous espace vectoriel spatial seront des positions notées respectivement , et . De retour à la , au cours d’une étape 408, le module d’entrée 302 obtient la zone spatiale d’incertitude Z. Par exemple, les étapes 402 à 406 sont mises en œuvre à l’extérieur du système mobile 100 et le module d’entrée 302 reçoit la zone spatiale d’incertitude Z depuis l’extérieur du système mobile 100, par exemple par le dispositif de communication 110. Alternativement, les étapes 404 et 406 peuvent être mises en œuvre par le module d’entrée 302, qui obtient la zone spatiale d’incertitude Z comme résultat de cette mise en œuvre. Comme illustré sur la figure 7, de manière générale, la zone spatiale d’incertitude Z est définie de sorte que, si la position du système mobile 100 se trouve dans la zone spatiale d’incertitude Z centrée sur la position nominale , alors la position du système mobile 100 à l’instant suivant reste dans cette zone spatiale d’incertitude Z centrée sur la position nominale à l’instant suivant. Cette propriété dérive directement de celle de l’ensemble à partir duquel la zone spatiale d’incertitude Z est obtenue. Avec cette propriété de la zone spatiale d’incertitude Z, la position du système mobile 100 reste dans un tube T défini par un glissement de la zone spatiale d’incertitude Z sur la trajectoire nominale regroupant les positions nominales successives, obtenues en appliquant les commandes nominales dans la représentation nominale (équation [Math. 3]). De retour à la , au cours d’une étape 410, l’environnement 200 est modélisé pour obtenir l’environnement modélisé ENV. Un exemple de modélisation est illustré sur la . Chaque obstacle 202 est par exemple modélisé par une ou plusieurs formes F. Les formes F sont choisies pour contenir l’obstacle 202 modélisé, en étant proche de ce dernier, par exemple de sorte que l’obstacle 202 affleure la ou les formes F le modélisant. Ces formes F sont de préférence convexes, étant donné que tout objet géométrique peut être approximé par une forme convexe. Comme cela est connu en soi, une forme est convexe lorsque, pour chaque paire de points comprise à l’intérieur de cette forme, le segment qui joint la paire de points est entièrement contenu à l’intérieur de la forme. Les formes F convexes sont par exemple des polyèdres ou bien des polytopes, c’est-à-dire des polyèdres bornés (« bounded polyhedron » en anglais). Les formes F seront appelées par la suite obstacles modélisés. Les obstacles modélisés F peuvent être agrandis afin de tenir compte de la taille du système mobile 100. Avec cet agrandissement, il est possible de considérer par la suite le système mobile 100 comme ponctuel, ce qui simplifie les calculs. En revanche, il n’est pas nécessaire d’agrandir les obstacles modélisés F pour tenir compte des perturbations, comme cela se fait couramment dans l’état de la technique. De retour à la , au cours d’une étape 412, l’environnement modélisé ENV est partitionné pour fournir la partition R0. Un exemple de partition R0 est illustré sur la . La partition R0 comporte des segments SEG évitant les obstacles modélisés F, c’est-à-dire ne les intersectant pas. Les segments SEG présentent chacun deux extrémités, par lesquelles les segments SEG sont interconnectés de manière à définir des cellules CEL entourant chacune au moins un des obstacles modélisés F, par exemple un seul obstacle modélisé F comme dans l’exemple illustré. Les points de jonction des extrémités sont appelés par la suite points de passage PP. Par exemple, la partition R0 est obtenue en appliquant la technique de levage convexe (de l’anglais « convex lifting ») décrite dans la thèse de Ioan 2021 référencée ci-avant. Cette technique utilise des paramètres de configuration ε et M, qui sont choisis dans la thèse de Ioan tels que ε soit très inférieur à M. Toutefois, dans le cadre de la présente invention, le choix de ces paramètres n’est pas critique dans le sens où ce choix n’est pas décisif sur le résultat final. Ainsi, les paramètres ε et M peuvent être choisis librement. De manière générale, n’importe quelle partition de l’environnement 200 peut être utilisée dans le cadre de la présente invention, sans restriction particulière sur la méthode utilisée pour déterminer cette partition. Ainsi, d’autres techniques de partitionnement connues peuvent alternativement être utilisées pour obtenir la partition R0. De retour à la , au cours d’une étape 414, le module d’entrée 302 obtient la partition R0. Par exemple, les étapes 410 et 412 sont mises en œuvre à l’extérieur du système mobile 100 et le module d’entrée 302 reçoit la partition R0 depuis l’extérieur du système mobile 100, par exemple par le dispositif de communication 110. Alternativement, les étapes 410 et 412 peuvent être mises en œuvre par le module d’entrée 302, qui obtient la partition R0 comme résultat de cette mise en œuvre. Au cours d’une étape 416, le module d’entrée 302 obtient le point de départ PD et le point d’arrivée PA. Au cours d’une étape 418, le module de routage 304 détermine un chemin CH s’étendant depuis le point de départ PD jusqu’au point d’arrivé PA, ce chemin CH passant par une succession de points de passage PP de la partition R0. Pour cela, si le point de départ PD n’est pas un des points de passage PP de la partition R0, le module de routage 304 détermine un segment de départ SD reliant le point de départ PD à l’un des points de passage PP de la partition R0. Ce point de passage forme ainsi un deuxième point du chemin CH, après le point de départ PD. Le segment de départ SD est déterminé de sorte qu’il n’intersecte aucun des obstacles modélisés F. Le module 304 ajoute alors à la partition R0 le point de départ PD et le segment de départ SD. De manière similaire, si le point d’arrivée P10 n’est pas un des points de passage de la partition R0, le module de routage 304 détermine un segment d’arrivé S9 reliant l’un des points de passage P9 au point d’arrivée P10. Ce point de passage P9 forme ainsi un avant-dernier point du chemin initial C1 avant le point d’arrivée P10. Le segment d’arrivée S9 est déterminé de sorte qu’il n’intersecte aucun des obstacles F. Le module 304 ajoute alors à la partition R0 le point d’arrivée P10 et le segment d’arrivée S9. La illustre un exemple d’ajout, d’une part, du segment de départ SD reliant le point de départ PD à un point de passage P2 et, d’autre part, du segment d’arrivée SA reliant le point d’arrivée PA à un point de passage P9. Pour ajouter le segment de départ SD et/ou le segment d’arrivée SA, les étapes suivantes peuvent par exemple être réalisées. La cellule CEL à laquelle le point à ajouter appartient est tout d’abord identifiée. Puis, un ou plusieurs points de passage PP de cette cellule CEL sont alors identifiés, ce ou ces points de passage PP étant tels qu’il est possible de définir au moins un segment reliant le point à ajouter au point de passage PP considéré sans intersecter aucun obstacle modélisé F. L’un de ces points de passage PP est alors sélectionné, par exemple le plus proche du point à ajouter. En référence à la , le module de routage 304 détermine alors une succession P3…P8 de points de passage PP de la partition R0 reliant le deuxième point P2 du chemin CH à l’avant-dernier point P9 du chemin CH. Comme la partition R0 forme un graphe non-orienté ayant les points de passage PP comme nœuds et les segments SEG comme liens entre les nœuds, le module de routage 304 peut ainsi déterminer la succession P3…P8 de points de passage PP en construisant une matrice d’adjacence du graphe non-orienté, tout en tenant compte des longueurs des segments SEG. Des facteurs de pénalisation peuvent être pris en compte dans la matrice d’adjacence, de manière à tenir compte d’un état du lien physique entre les points de passage (e.g. application d’un facteur correctif pour modéliser la présence de boue le long d’un ou plusieurs segments SEG). Avec cette matrice d’adjacence, un algorithme comme l’algorithme de Djikstra peut alors être utilisé pour déterminer la succession P3…P8 de points de passage PP pour que le chemin CH soit le plus court possible. De retour à la , au cours d’une étape 420, le module de routage 304 détermine des corridors QD, Q2… Q8, QA autour des segments SD, S2…S8, SA reliant les points de passage PD, P2…P9, PA du chemin CH. Par exemple, le corridor d’un segment est défini comme la partie de l’environnement modélisé ENV parcourue par un glissement de la zone d’incertitude spatiale Z modifiée selon un facteur d’homothétie, ce glissement étant obtenu en faisant glisser le centre O de la zone d’incertitude spatiale Z sur le segment considéré, le facteur d’homothétie étant choisi de sorte que le corridor affleure les obstacles modélisés F, c’est-à-dire que le corridor affleure au moins un des obstacles, mais sans en intersecter un seul. Le facteur d’homothétie définit donc une taille du corridor. Un corridor est donc d’autant plus grand que son facteur d’homothétie est élevé. La illustre un exemple de détermination du corridor Q2 pour le segment S2. La illustre un exemple de corridors QD, Q2…Q8, QA respectivement obtenus pour les segments SD, S2…S8, SA. De retour à la , au cours d’une étape 422, le module de fusion 306 cherche à réduire le nombre de points de passage du chemin CH en fusionnant des segments successifs du chemin CH. Cette réduction permet en particulier d’accélérer l’étape d’optimisation qui sera décrite plus loin. Une fusion de plusieurs segments successifs consiste à créer un nouveau segment reliant l’extrémité libre du premier des segments successifs à l’extrémité libre du dernier des segments successifs. L’extrémité libre d’un segment est celle des deux extrémités qui n’est pas connectées au segment adjacent de la succession. Des première et deuxième méthodes de fusion, qui vont être décrites ci-dessous, peuvent être utilisées par le module de fusion 306, par exemple la deuxième après la première, ou bien seulement l’une des deux. En référence à la , la première méthode est une méthode de fusion par atteignabilité. Pour cela, le module de fusion 306 cherche des segments successifs S4…S8 du chemin CH tels que le corridor Q4-8 du segment S4-8 résultant de la fusion de ces segments successifs S4…S8 soit au moins aussi grand que le plus petit corridor Q5 des segments successifs S4…S8 fusionnés. Si le module de fusion 306 trouve de tels segments successifs, il les fusionne. Ainsi, dans l’exemple de la , le segment S4-8 vient remplacer les segments S4…S8. La illustre également un segment S4-A qui résulterait de la fusion des segments S4, S5, S6, S7, S8, SA. Comme cela est visible, ce segment S4-A intersecte un obstacle modélisé, de sorte que son corridor est un espace vide. Le module de fusion 306 ne fusionne donc pas ces segments S4…SA. La illustre un cas où le corridor QD-3 du segment SD-3 résultant de la fusion des segments SD, S2, S3 est plus petit que le plus petit corridor Q2 de ces segments SD, S2, S3. Le module de fusion 306 ne fusionne donc pas ces segments SD, S2, S3. La deuxième méthode est une méthode de fusion par rapprochement. Pour cela, le module de fusion 306 cherche un segment du chemin CH dont les extrémités sont séparées d’une distance inférieure à un seuil prédéfini. Puis, le module de fusion 306 fusionne le segment trouvé avec le précédent ou bien le suivant dans le chemin CH. Le seuil prédéfini est choisi en fonction de la taille du système mobile 100 et suffisamment faible pour que le segment résultant de la fusion présente une taille sensiblement similaire ou plus grande que le plus petit des segments fusionnés. Par exemple, le seuil prédéfini est inférieur ou égale à 10% de la plus grande dimension du système mobile 100 ou bien du volume de ce dernier. Alternativement, le seuil prédéfini pourrait être inférieur à la moitié de la plus petite dimension du système mobile 100. La illustre le chemin CH après l’étape 422 de fusion. Comme cela est visible, les segments S2 à S4 ont été fusionnés pour former le segment S2-4 (entouré du corridor Q2-4) et les segments S5 à S8 ont été fusionnés pour fournir le segment S5-8 (entouré du corridor Q5-8). De retour à la , au cours d’une étape 424, de préférence réalisée après l’étape 422, le module d’agrandissement 308 cherche à augmenter la taille d’au moins un des corridors du chemin CH, de préférence de ceux ayant les plus petites tailles, en déplaçant les points de passage du chemin CH, sauf le point de départ PD et le point d’arrivée PA. De préférence, le module d’agrandissement 308 s’assure que le déplacement des points de passage du chemin CH augmente ou du moins laisse inchangée la taille de chaque corridor. De préférence également, chaque point de passage du chemin CH n’est déplacé que dans l’intersection des deux corridors des deux segments du chemin CH connectés à ce point de passage. Cela permet de s’assurer que les corridors après déplacement existent bien (c’est-à-dire qu’ils ne sont pas l’ensemble vide). Par exemple, pour la mise en œuvre de cette étape 424, le module d’agrandissement 308 minimise une fonction de coût J dépendant des positions des points de passage du chemin CH. Par exemple, la fonction de coût J dépend des tailles des corridors des segments du chemin CH. La fonction de coût J est par exemple choisie de sorte que sa minimisation constitue un problème d’optimisation non convexe. En effet, un problème d’optimisation convexe, même s’il serait plus simple à résoudre, nécessiterait des simplifications trop importantes pour donner de bons résultats. Avec un problème d’optimisation non convexe, la minimisation de la fonction de coût peut être avantageusement résolue par un algorithme d’évolution différentielle. Par exemple, la fonction de coût J est la suivante : [Math. 7] où avec la taille (c’est-à-dire le facteur d’homothétie, comme expliqué précédemment) du corridor du segment reliant le point de passage n-1 au point de passage n du chemin avant déplacement et le nombre de points de passage du chemin, et , avec la taille du corridor du segment reliant le point de passage n-1 au point de passage n du chemin après déplacement, étant la matrice identité, étant un vecteur booléen, étant une matrice de poids définie positive, prise de préférence égale à afin de donner la priorité aux plus petits corridors. La illustre le chemin CH après l’étape 424 d’optimisation de la taille des corridors, où il est possible de voir que les points de passage P2, P5 et P9 ont changé de position par rapport à la , permettant d’augmenter la taille des corridors. Au cours d’une étape 426, le module de vérification 310 vérifie que la projection Z déplacée en faisant glisser son centre O sur le segment SD, S2-4, S5-8, SA reste entièrement dans le corridor QD, Q2-4, Q5-8, QA de ce segment SD, S2-4, S5-8, SA. Avec la définition des corridors QD, Q2-4, Q5-8, QA décrite précédemment, cette vérification revient à s’assurer que le corridor QD, Q2-4, Q5-8, QA de chaque segment SD, S2-4, S5-8, SA du chemin CH a une taille supérieure ou égale à un. Le module de vérification 310 fournit alors le chemin CH et les corridors, notés par la suite de manière générale , et le procédé 400 passe à l’étape 432. Si au moins un corridor a une taille inférieure ou égale à un, au cours d’une étape 428, le module de vérification 310 vérifie alors qu’au moins une fusion a été réalisée à l’étape 422 ou bien que la taille d’au moins un corridor a augmenté à l’étape 424. Dans ce cas, le procédé 400 retourne à l’étape 422. Dans le cas contraire, au cours d’une étape 430, pour chaque segment du chemin CH dont le corridor a une taille inférieure à un, le module de mise à jour 312 modifie la partition R0 en retirant de cette partition R0 le ou les segments SEG à partir desquels le segment considéré du chemin CH a été obtenu. Ainsi, cette modification permet d’exclure le ou les segments de la partition R0 le long desquels le système mobile 100 présenterait un risque de collision avec un obstacle. Après l’étape 430, le procédé 400 retourne à l’étape 418, en utilisant cette fois la partition R0 modifiée. Au cours d’une étape 432, le module de commande 314 commande le système mobile 100 pour que le système mobile 100 suive le chemin CH en passant successivement par les corridors QD, Q2-4, Q5-8 et QA, pour atteindre le point d’arrivée PA. En référence à la , un exemple de mise en œuvre de l’étape 432 va à présent être décrite plus en détail. Au cours d’une étape 1802, le module de commande 314 détermine l’état estimé à partir des mesures en utilisant l’observateur. Au cours d’une étape 1804, le module de commande 314 détermine des corridors réduits à partir des corridors et de la zone spatiale d’incertitude Z. Plus précisément, chaque corridor réduit est inclus dans , par exemple pris égal à , où représente la différence de Pontryagin. Au cours d’une étape 1806, le module de commande 314 détermine la commande nominale à partir de l’état observé et des corridors réduits . Pour cela, le module de commande 314 met en œuvre le contrôle prédictif . Ce dernier cherche plusieurs commandes nominales potentielles successives permettant de suivre au mieux le chemin CH, tout en s’assurant que la position nominale résultant de ces commandes nominales potentielles reste dans les corridors réduits . Par exemple, ces commandes nominales potentielles sont recherchées de manière à s’approcher le plus possible du prochain point de passage. La première de ces commandes nominales potentielles est alors prise comme commande nominale . Au cours d’une étape 1808, le module de commande 314 détermine l’état nominal à partir de l’état nominal à l’instant précédent et la commande nominale à l’instant précédent, selon la représentation nominale : . L’état estimé est par exemple pris comme état nominal à l’instant initial. Au cours d’une étape 1810, le module de commande 314 détermine la commande corrective à partir de l’état observé et de l’état nominal , selon la loi de commande corrective : . Au cours d’une étape 1812, le module de commande 314 détermine la commande en additionnant la commande nominale et la commande corrective : , et fournit la commande au dispositif de manœuvre 102 pour que ce dernier la mette en œuvre. En conclusion, on notera que l’invention n’est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Par exemple, sur les figures, les segments sont toujours droits. Cependant, ils pourraient alternativement être courbes. En outre, dans l’exemple décrit, la deuxième ligne de la représentation nominale n’est pas utilisée, mais, de manière générale, elle pourrait être utilisée dans l’observateur ou bien pour définir des contraintes du contrôle prédictif . En outre, dans l’exemple décrit, le facteur d’homothétie est constant sur chaque segment. Dans d’autres modes de réalisation, il pourrait varier le long d’au moins un des segments, de manière à obtenir un corridor convexe. Dans la présentation détaillée de l’invention qui est faite précédemment, les termes utilisés ne doivent pas être interprétés comme limitant l’invention aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué. Procédé (400) de commande d’un système mobile (100) dans un environnement (200), au moyen d’une commande prédictive à base de tube en présence de perturbations ( , ), cette commande utilisant une représentation d’état ( ) du système mobile (100) incluant les perturbations ( , ) et une représentation d’état nominale ( ) du système mobile (100) correspondant à la représentation d’état ( ) sans les perturbations ( , ), cette commande définissant un tube bornant l’état du système mobile (100), ce tube étant défini par un ensemble ( ) centré sur les états nominaux ( ) successifs, caractérisé par : une obtention (408) d’une projection orthogonale (Z) de l’ensemble ( ) de définition du tube, sur un espace dans lequel s’étend l’environnement (200) ; l’environnement (200) comportant des obstacles (202), une obtention (414) d’une partition (R0) de l’environnement (200), comportant des points dits de passage (PP), et des segments (SEG) évitant les obstacles (202) et ayant des extrémités interconnectées aux points de passage (PP) ; une détermination (418 - 430) d’un chemin (CH) comportant des segments (S2-4, S5-8) successifs évitant les obstacles (202), chaque segment (S2-4, S5-8) du chemin (CH) étant déterminé à partir d’un ou plusieurs segments (SEG) de la partition (R0) ; une définition de corridors (Q2-4, Q5-8) respectivement autour des segments (S2-4, S5-8) du chemin (CH), chaque corridor (Q2-4, Q5-8) étant convexe et évitant les obstacles (202) ; pour chaque segment (S2-4, S5-8) du chemin (CH), une vérification (426) que la projection (Z) déplacée en faisant glisser un centre (O) de cette projection (Z) sur le segment (S2-4, S5-8) reste entièrement dans le corridor (Q2-4, Q5-8) de ce segment (S2-4, S5-8) ; pour chaque segment (S2-4, S5-8) du chemin (CH) où la projection (Z) sort du corridor (Q2-4, Q5-8) de ce segment (S2-4, S5-8), une modification (430) de la partition (R0) pour retirer le ou les segments (SEG) de la partition (R0) à partir desquels le segment (S2-4, S5-8) considéré du chemin (CH) a été déterminé, puis un retour à l’étape (418 - 430) de détermination du chemin (CH), cette fois à partir de la partition (R0) modifiée ; et si la projection (Z) reste entièrement dans tous les corridors (Q2-4, Q5-8), une commande (432) du système mobile (100) pour successivement passer par les corridors (Q2-4, Q5-8). Procédé (400) selon la revendication 1, dans lequel, pour chaque segment (S2-4, S5-8) du chemin (CH), le corridor (Q2-4, Q5-8) de ce segment (S2-4, S5-8) est défini comme la zone balayée par la projection (Z) lorsque son centre (O) est glissé sur le segment (S2-4, S5-8) considéré, avec une mise à l’échelle de la projection (Z) pendant son glissement par un facteur d’homothétie tel que le corridor (Q2-4, Q5-8) obtenu affleure au moins un des obstacles (F) mais sans en intersecter un seul, le facteur d’homothétie définissant une taille du corridor (Q2-4, Q5-8). Procédé (400) selon la revendication 1 ou 2, dans lequel les segments du chemin (CH) sont des segments (SEG) de la partition (R0). Procédé (400) selon la revendication 2, dans lequel la détermination (418 - 430) du chemin (CH) comporte : une détermination (418) du chemin (CH) de sorte qu’il comporte une succession de segments (SEG) de la partition (R0) ; et une fusion (422) de segments successifs (S2, S3, S4, S5, S6, S7, S8) du chemin (CH). Procédé (400) selon la revendication 4, comportant une recherche de segments successifs (S4, S5, S6, S7, S8) du chemin (CH) tels que le corridor (Q4-8) du segment (S4-8) résultant de la fusion de ces segments successifs (S4, S5, S6, S7, S8) soit au moins aussi grand que le plus petit corridor (Q5) des segments successifs (S4, S5, S6, S7, S8) fusionnés, et dans lequel les segments successifs (S4, S5, S6, S7, S8) trouvés sont fusionnés. Procédé (400) selon la revendication 5, comportant une recherche d’un segment du chemin (CH) reliant deux points de passage séparés l’un de l’autre d’une distance inférieure à un seuil prédéfini, et dans lequel le segment trouvé est fusionné avec le segment précédent ou bien le segment suivant du chemin (CH). Procédé (400) selon l’une quelconque des revendications 4 à 6, comportant un déplacement (424) de points de passages (P2, P5, P9) du chemin (CH) pour augmenter la taille d’au moins le corridor de plus petite taille. Procédé (400) selon la revendication 7, dans lequel le déplacement (424) des points de passage (P2, P5, P9) du chemin (CH) comporte une minimisation d’une fonction de coût (J) prenant en compte les positions des points de passage (P2, P5, P9) du chemin (CH). Programme d’ordinateur (P) téléchargeable depuis un réseau de communication et/ou enregistré sur un support (104.6) lisible par ordinateur, caractérisé en ce qu’il comprend des instructions pour l’exécution des étapes du procédé selon l’une quelconque des revendications 1 à 8, lorsque ledit programme (P) est exécuté sur un ordinateur (104). Système (104) de commande d’un système mobile (100) dans un environnement (200), caractérisé par : un module de commande (314) au moyen d’une commande prédictive à modèle à base de tube en présence de perturbations ( , ), cette commande utilisant une représentation d’état ( ) du système mobile (100) incluant les perturbations ( , ) et une représentation d’état nominale ( ) du système mobile (100) correspondant à la représentation d’état ( ) sans les perturbations ( , ), cette commande définissant un tube bornant l’état du système mobile (100), ce tube étant défini par un ensemble ( ) centré sur les états nominaux ( ) successifs ; un module (302) d’obtention d’une projection orthogonale (Z) de l’ensemble ( ) de définition du tube, sur un espace dans lequel s’étend l’environnement (200) ; l’environnement (200) comportant des obstacles (202), un module (302) d’obtention d’une partition (R0) de l’environnement (200), comportant des points dits de passage (PP), et des segments (SEG) évitant les obstacles (202) et ayant des extrémités interconnectées aux points de passage (PP) ; un module (304, 306, 308) de détermination d’un chemin (CH) comportant des segments (S2-4, S5-8) successifs évitant les obstacles (202), chaque segment (S2-4, S5-8) du chemin (CH) étant déterminé à partir d’un ou plusieurs segments (SEG) de la partition (R0) ; un module (304) de définition de corridors (Q2-4, Q5-8) autour de respectivement les segments (S2-4, S5-8) du chemin (CH), chaque corridor (Q2-4, Q5-8) étant convexe et évitant les obstacles (202) ; un module (310) de vérification, pour chaque segment (S2-4, S5-8) du chemin (CH), que la projection (Z) déplacée en faisant glisser un centre (O) de cette projection (Z) sur le segment (S2-4, S5-8) reste entièrement dans le corridor (Q2-4, Q5-8) de ce segment (S2-4, S5-8) ; et un module (312) de modification de la partition (R0), pour chaque segment (S2-4, S5-8) du chemin (CH) où la projection (Z) sort du corridor (Q2-4, Q5-8) de ce segment (S2-4, S5-8), pour retirer le ou les segments (SEG) de la partition (R0) à partir desquels le segment (S2-4, S5-8) considéré du chemin (CH) a été déterminé, puis un retour à l’étape (418 - 430) de détermination du chemin (CH), cette fois à partir de la partition (R0) modifiée.