FR3139219A1 - Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte - Google Patents
Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte Download PDFInfo
- Publication number
- FR3139219A1 FR3139219A1 FR2208665A FR2208665A FR3139219A1 FR 3139219 A1 FR3139219 A1 FR 3139219A1 FR 2208665 A FR2208665 A FR 2208665A FR 2208665 A FR2208665 A FR 2208665A FR 3139219 A1 FR3139219 A1 FR 3139219A1
- Authority
- FR
- France
- Prior art keywords
- nodes
- node
- route
- graph
- solver
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 239000011159 matrix material Substances 0.000 claims abstract description 37
- 230000000717 retained effect Effects 0.000 claims abstract description 17
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000010276 construction Methods 0.000 claims abstract description 9
- 238000011156 evaluation Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000446 fuel Substances 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 2
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 description 18
- 230000006870 function Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001427 coherent effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000605059 Bacteroidetes Species 0.000 description 1
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 235000021183 entrée Nutrition 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06316—Sequencing of tasks or work
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Educational Administration (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
TITRE : Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte Un aspect de l’invention concerne un procédé (1) de planification de déplacement d’un véhicule dans un graphe (G) comprenant une pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4), chaque nœud ayant une position géographique, un des nœuds étant associé à une tâche (A, B, C), comprenant: Construction (11) d’une matrice à partir du graphe (G), la matrice comprenant, pour chaque nœud, une valeur d’une métrique prédéterminée pour chaque autre nœud de la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4),Calcul (12) d’un itinéraire par un solveur retenant dans l’itinéraire des nœuds retenus parmi la pluralité de nœuds du graphe (A1,…,A3, B1,…,B5, C1,…,C4), le calcul étant réalisé à partir de la matrice et d’une pluralité de contraintes comprenant : une première contrainte contraignant le solveur à calculer comme itinéraire un circuit hamiltonien pour les nœuds retenus prenant la forme d’une liste de nœuds successifs et, pour chaque nœud non-retenu, à créer une entrée dans la liste pour laquelle le nœud successif du nœud non-retenu est lui-même,une deuxième contrainte contraignant le solveur à retenir dans l’itinéraire uniquement des nœuds différents, une troisième contrainte contraignant le solveur à trouver un itinéraire passant une fois par un nœud associé à chaque tâche (A, B, C), par le nœud de départ (D) et par le nœud d’arrivée (F),une fonction de minimisation contraignant le solveur à minimiser la somme des valeurs de métrique entre les nœuds retenus.Planification (13) du déplacement du véhicule selon l’itinéraire calculé.
Description
Le domaine technique de l’invention est celui de la planification automatique d’itinéraires.
La présente invention concerne un procédé de planification automatique de déplacement d’un véhicule autonome par programmation par contrainte et en particulier de planification automatique d’itinéraire pour un véhicule passant par une pluralité de points géographiques pour réaliser des tâches prédéterminées, la planification étant réalisée par un solveur destiné à prendre en compte des contraintes particulières.
Dans le cadre de la planification de déplacements de véhicules autonomes, il est courant de vouloir trouver le plus court chemin entre deux points d’un graphe, le graphe comportant plusieurs points. En théorie des graphes, l’algorithme de Dijkstra permet de résoudre ce problème, en calculant le chemin le plus court entre un point de départ et tous les points du graphe.
Un inconvénient de Dijkstra est qu’il ne permet pas de trouver rapidement et efficacement une séquence de déplacements entre un point de départ et un point d’arrivée, la séquence de déplacements comprenant des passages imposés à plusieurs points de passage, par exemple pour réaliser un ensemble de tâches constitutif d’une mission, les tâches étant réalisées à différentes positions. Il existe donc un besoin d’avoir une solution qui permet de trouver rapidement et efficacement une séquence de déplacements entre un point de départ et un point d’arrivée comprenant des passages imposés à plusieurs points de passage.
Il existe un besoin d’avoir une solution qui permet aussi de sélectionner automatiquement un ordre de tâches à effectuer entre le point de départ et le point d’arrivée.
La montre une représentation schématique d’un graphe G comprenant des groupes de tâches.
Le graphe G représenté à la comprend un point de départ D et un point d’arrivée F. Ces points de départ D et d’arrivée F sont des nœuds (également connus sous la dénomination « points » ou « sommets »). Le graphe G comprend d’autres nœuds, reliés par des arêtes.
Parmi les autres nœuds, certains sont rassemblés sous forme de groupes A, B et C. Les groupes A, B et C sont donc des groupes de nœuds, chaque groupe de nœuds étant associé à une tâche à réaliser entre le point de départ D et le point d’arrivée F. Chaque groupe de nœuds comprend une pluralité de nœuds. Une tâche peut être réalisée en passant par un ou plusieurs des nœuds du groupe de tâches, quel que soit le nœud choisi dans ce groupe. Ainsi, au sein d’un même groupe de nœuds, les nœuds sont « équivalents », c’est-à-dire qu’ils permettent tous d’atteindre le but de réaliser la tâche associée au groupe de nœuds. Par exemple, pour le groupe de nœuds A, associé à la tâche A à effectuer, les nœuds A1, A2 ou A3 permettent chacun de réaliser la tâche A. Par exemple, le nœud A peut représenter la localisation d’un point à observer, et les nœuds A1 à A3 peuvent représenter des points d’observation permettant de réaliser la tâche d’observer le point localisé au nœud A.
De même, pour le groupe de nœuds B, associé à la tâche B à effectuer, les nœuds B1, B2, B3, B4 ou B5 permettent chacun de réaliser la tâche B.
Concernant le groupe de nœuds C, associé à la tâche C à effectuer, les nœuds C1, C2, C3 ou C4 permettent chacun de réaliser la tâche C.
L’objectif est celui d’aller du point de départ D au point d’arrivée F en passant par au moins un nœud de chacune des tâches A, B et C en empruntant le plus court chemin, par exemple en passant par les nœuds A2, B1 et C3, afin d’observer les positions géographiques associées aux observations A, B et C lorsque les tâches sont des observations. L'ordre de passage entre les tâches n’est pas déterminé à l’avance. Ainsi, le chemin le plus court pourrait commencer par la tâche B, puis A, puis C. C’est le solveur qui détermine l’ordre de passage des points.
Le plus court chemin est soit le plus court chemin en termes de distance, ou le plus court chemin en termes de temps, c’est-à-dire le chemin le plus rapide. C’est l’utilisateur qui choisit le critère de minimisation (distance ou temps). Ce critère est une donnée d’entrée de la tâche de planification.
Il existe un besoin de résoudre ce problème de manière rapide et fiable dont la solution est optimale et précise, c’est-à-dire non approximée.
L’invention offre une solution aux problèmes évoqués précédemment, en permettant de trouver l’itinéraire permettant d’effectuer un ensemble de tâches en respectant une contrainte liée à une métrique prédéfinie.
Un aspect de l’invention concerne un procédé de planification de déplacement d’un véhicule dans un graphe, le graphe comprenant une pluralité de nœuds, chaque nœud de la pluralité de nœuds ayant une position géographique, au moins un des nœuds de la pluralité de nœuds étant associé à une tâche à réaliser par le véhicule, la pluralité de nœuds comprenant un nœud de départ et un nœud d’arrivée, le procédé de planification comprenant au moins les étapes de :
- Construction d’au moins une matrice à partir du graphe, la matrice comprenant, pour chaque nœud de la pluralité de nœuds du graphe, une valeur d’une métrique prédéterminée pour chaque autre nœud de la pluralité de nœuds,
- Calcul d’un itinéraire par un solveur, le solveur retenant dans l’itinéraire des nœuds retenus parmi la pluralité de nœuds du graphe, le calcul étant réalisé à partir de la matrice et d’une pluralité de contraintes comprenant au moins :
- une première contrainte contraignant le solveur à calculer comme itinéraire un chemin hamiltonien pour les nœuds retenus prenant la forme d’une liste de nœuds successifs et, pour chaque nœud non retenu dans l’itinéraire, à créer une entrée dans la liste pour laquelle le nœud successif du nœud non-retenu est lui-même,
- une deuxième contrainte contraignant le solveur à retenir dans l’itinéraire uniquement des nœuds différents,
- une troisième contrainte contraignant le solveur à trouver un itinéraire passant au moins une fois par un nœud associé à chaque tâche, et passant par le nœud de départ et par le nœud d’arrivée,
- une fonction de minimisation contraignant le solveur à minimiser la somme des valeurs de métrique entre les nœuds retenus pour l’itinéraire.
- Planification du déplacement du véhicule selon l’itinéraire calculé.
Grâce à l’invention, il est possible de résoudre le problème posé, qui est celui, pour un véhicule, de réaliser une pluralité de tâches entre un point de départ et un point d’arrivée, tout en réalisant l’itinéraire respectant une valeur minimale de métrique, et ce de manière rapide, fiable et facile à utiliser pour un utilisateur non initié. En effet, l’utilisation de la programmation par contraintes avec les contraintes de l’invention pour résoudre le problème posé permettent une résolution rapide par le solveur tout en ayant un résultant garantissant le respect de ces contraintes. Par ailleurs, il est aisé pour un utilisateur non initié de sélectionner une pluralité de points par lesquels doit passer le véhicule autonome, par exemple sur une interface homme-machine, et de relancer le solveur avec les mêmes contraintes et avec les nouveaux points. De plus, l’itinéraire trouvé est optimal, c’est-à-dire qu’il n’existe pas d’itinéraire ayant une valeur de métrique plus basse et permettant de réaliser toutes les tâches.
Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon un aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles :
- la métrique entre deux nœuds de la pluralité de nœuds est choisie parmi :
- une distance entre les positions géographiques des deux nœuds,
- une durée de parcours entre les positions géographiques des deux nœuds,
- une consommation du véhicule entre les positions géographiques des deux nœuds,
- un dénivelé entre les positions géographiques des deux nœuds.
- la planification du déplacement du véhicule comprend la configuration du véhicule avec l’itinéraire calculé.
- la construction de la matrice à partir du graphe comprend, en partant de chaque nœud du graphe, un parcours de l’ensemble du graphe de proche en proche, en triant les positions à considérer selon la valeur de métrique totale, sans critère d’arrêt.
- chaque tache à réaliser est associée à un ou plusieurs nœuds de la pluralité de nœuds, et selon lequel le calcul de l’itinéraire prend en compte une contrainte contraignant le solveur à obtenir un itinéraire comprenant au moins un nœud associé à chacune des chaque tâches à réaliser.
- la pluralité de contraintes pour le calcul de l’itinéraire comprend en outre une contrainte d’évaluation inverse contraignant le solveur à évaluer les nœuds successifs en ordre inverse.
- les valeurs de la matrice sont des entiers.
- les tâches sont choisies parmi des observations, une livraison ou une récupération d’un objet, ou des ravitaillements en énergie ou en carburant.
- le graph représente des routes d’une zone géographique et les nœuds sont les carrefours dans cette zone.
Un autre aspect de l’invention concerne un véhicule, notamment autonome, configuré pour réaliser l’itinéraire obtenu par le procédé selon l’invention.
Encore un autre aspect de l’invention concerne un produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention.
Encore un autre aspect de l’invention concerne un support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’invention.
L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent.
Les figures sont présentées à titre indicatif et nullement limitatif de l’invention.
- La
- La
- La
Sauf précision contraire, un même élément apparaissant sur des figures différentes présente une référence unique.
Dans la suite, on entend par : « nœud correspondant à la tâche » ou « nœud correspondant à une position géographique », un nœud comprenant une donnée tâche ou respectivement une donnée de localisation.
La montre une représentation schématique d’un procédé de planification d’itinéraire selon l’invention.
Le procédé 1 représenté à la comprend trois étapes, et permet de planifier l’itinéraire d’un véhicule autonome. Un véhicule autonome est un véhicule capable de se déplacer en autonomie, c’est-à-dire sans la présence ni l’implication d’un être humain. Ainsi, un véhicule autonome ne nécessite pas forcément de pilote ni de téléopérateur en ligne. Ce concept d’autonomie est applicable par exemple à un drone, aussi appelé « UAV » pour « Unmanned Aerial Vehicle », ou à un véhicule terrestre aussi appelé « UGV » (Unmanned Ground Vehicle), par exemple une voiture, un camion ou tout autre véhicule capable de se déplacer.
Un véhicule autonome est programmable, c’est-à-dire qu’il est possible de lui donner des consignes par programmation. Parmi ces consignes, un véhicule autonome est capable de suivre un itinéraire. Un itinéraire est un ensemble de points géographiques, par exemple encodés sous la forme de coordonnées géographiques, par exemple comprenant une latitude et une longitude (aussi dénommées point de navigation). Lorsqu’il suit un itinéraire, le véhicule autonome se déplace jusqu’aux points de navigation formant l’itinéraire, selon un ordre défini par l’itinéraire. Pour configurer un véhicule autonome pour qu’il suive un itinéraire, le véhicule autonome comprend au moins un processeur et une mémoire, la mémoire comprenant des instructions qui, lorsqu’elles sont exécutées par le processeur, conduisent le processeur à émettre des commandes de déplacement du véhicule autonome pour suivre l’itinéraire. L’action de fournir les points de navigation, constituant un itinéraire cohérent en mémoire du véhicule autonome est une programmation, ou configuration, du véhicule autonome. L’action de fournir un itinéraire cohérent en mémoire du véhicule autonome est aussi une action de planification du déplacement du véhicule autonome.
Le procédé 1 selon l’invention permet de planifier les déplacements d’un véhicule autonome dans un graphe. Un graphe est une représentation comprenant un ensemble de nœuds et d’arrêtes reliant au moins certains nœuds entre eux. Un graphe permet de représenter une situation géographique réelle, par exemple une ville, une région géographique, un quartier ou toute zone géographique délimitée. Ainsi, on entend par « planifier les déplacements d’un véhicule autonome dans un graphe » le fait de planifier les déplacements d’un véhicule dans une zone géographique donnée représentée par un graphe.
Dans la présente invention, chaque nœud du graphe représente une position géographique. Les arrêtes entre les nœuds représentent un chemin que le véhicule peut emprunter, c’est-à-dire un chemin compris dans la zone géographique qui permet au véhicule autonome de se déplacer d’une première position géographique représentée par le premier nœud à une deuxième position géographique représentée par le deuxième nœud. Toutes les positions géographiques représentées par les nœuds sont comprises dans la zone géographique représentée par le graphe.
Le graphe au sein duquel le procédé 1 permet de planifier les déplacements est par exemple le graphe représenté à la . Dans ce graphe, des nœuds sont groupés par tâches, comme expliqué dans l’art antérieur. L’invention couvre les cas dans lesquels le nœud central du groupe de nœuds est une position géographique à observer à partir des nœuds extérieurs du groupe de nœuds. Par exemple, pour le groupe comprenant la tâche A, le nœud central est le nœud A et les nœuds extérieurs sont les nœuds A1 à A3. Dans ce groupe de nœuds correspondant à la tâche A, le nœud A représente une position géographique à observer et les nœuds A1 à A3 représentent des positions géographiques permettant d’observer la position géographique représentée par le nœud A.
Le graphe est obtenu à partir d’une carte, par exemple une carte stockée dans un fichier tel qu’un fichier de type OpenStreetMap®. Dans une première variante de l’invention, le procédé selon l’invention comprend une étape 10 préliminaire d’extraction du graphe à partir d’un fichier de carte géographique. Cette étape, comme le reste du procédé selon l’invention, est mise en œuvre par ordinateur. L’extraction du graphe peut être réalisée par tout moyen externe au solveur. Pour cela, un ordinateur comprend un processeur et une mémoire, la mémoire comprenant des instructions qui, lorsqu’elles sont exécutées par le processeur, conduisent l’ordinateur à mettre en œuvre le procédé selon l’invention.
Le procédé 1 selon l’invention permet de trouver et de planifier un itinéraire débutant au nœud de départ D et arrivant au point d’arrivée F et passant par au moins un nœud de chaque tâche. L’itinéraire trouvé par l’invention a une valeur minimale d’une métrique. La métrique est par exemple la distance, l’itinéraire trouvé étant alors le plus court en termes de distance parmi tous les itinéraires possibles. Alternativement, la métrique est par exemple le temps, l’itinéraire trouvé étant alors le plus court en termes de temps parmi tous les itinéraires possibles. Alternativement encore, la métrique est une consommation du véhicule autonome, par exemple une consommation de carburant ou d’électricité, l’itinéraire trouvé étant alors l’itinéraire permettant au véhicule autonome de consommer le moins parmi tous les itinéraires possibles. La métrique est prédéterminée, c’est-à-dire qu’elle est déterminée avant l’étape 10 ou pendant l’étape 10, par exemple par un opérateur ou par configuration d’un système ou d’un ordinateur mettant en œuvre le procédé 1 selon l’invention. Plusieurs métriques peuvent être évaluées. En particulier, une première métrique peut être minimisée tandis qu’au moins une deuxième métrique peut être contrainte par au moins un seuil, l’itinéraire respectant alors la minimisation de la première métrique et le ou les seuil(s) de la ou des deuxième(s) métrique(s). La première et la deuxième métrique et chacune des autres métriques le cas échéant peuvent être linéairement indépendantes.
En fonction de la métrique prédéterminée, les arrêtes du graphe se voient attribuer une valeur. Cette valeur est la valeur de la métrique entre les deux nœuds reliés par l’arrête. Par exemple, lorsque la métrique est la distance, la valeur de l’arrête, et donc la valeur de la métrique, est la distance à parcourir par le véhicule en suivant le chemin séparant les deux nœuds. Lorsque la métrique est le temps, la valeur de l’arrête, et donc la valeur de la métrique, est le temps mis par le véhicule en suivant le chemin séparant les deux nœuds, par exemple calculé par rapport à une vitesse moyenne sur ce chemin. Lorsque la métrique est la consommation du véhicule autonome, la valeur de l’arrête, et donc la valeur de la métrique, est la consommation du véhicule en suivant le chemin séparant les deux nœuds, par exemple calculée par rapport à une vitesse moyenne sur ce chemin et au type de véhicule. Lorsque la métrique est le dénivelé, la valeur de l’arrête, et donc la valeur de la métrique, est le dénivelé cumulé entre les deux nœuds. Ces valeurs attribuées aux arrêtes sont connues, par exemple récupérées d’au moins une base de données, calculées à partir du fichier de carte lors de l’étape 10 et/ou réalisées par un opérateur.
Le procédé 1 selon l’invention permet de trouver un itinéraire dans un graphe tel que présenté précédemment, c’est-à-dire dans un graphe comprenant un nœud de départ, un nœud d’arrivée, une pluralité de nœuds dont certains sont groupés, et des arrêtes reliant les nœuds, les arrêtes comprenant une valeur de métrique entre les deux nœuds qu’elles relient.
Le procédé 1 selon l’invention comprend une étape 11 de construction d’au moins une matrice à partir du graphe. Une telle matrice comprend, pour chaque nœud, une valeur de la métrique prédéterminée par rapport à chaque autre nœud, c’est-à-dire une valeur de la métrique prédéterminée entre chaque nœud du graphe et chaque autre nœud du graphe. Par exemple, dans le graphe de la , la matrice comprend, sur la première ligne, une valeur de métrique entre un premier nœud d’observation d’une tâche, par exemple le nœud A1, et chaque autre nœud d’observation d’une tâche du graphe, c’est-à-dire les nœuds de départ D et d’arrivée F, et les nœuds A2, A3, B1 à B5, et C1 à C4. Lorsque la métrique est la distance, la matrice comprend par exemple, à la première ligne, dans une première colonne la distance du nœud A1 avec le nœud A2, dans une deuxième colonne la distance du nœud A1 avec le nœud A3, dans une troisième colonne la distance du nœud A1 avec le nœud A, dans une quatrième colonne la distance du nœud A1 avec le nœud de départ D, etc. La matrice comprend ensuite par exemple, à la deuxième ligne, dans une première colonne la distance d’un deuxième nœud A2 avec le nœud A1, dans une deuxième colonne la distance du nœud A2 avec le nœud A3, dans une troisième colonne la distance du nœud A2 avec le nœud A, dans une quatrième colonne la distance du nœud A2 avec le nœud de départ D, etc. Alternativement, les colonnes et les lignes de la matrice peuvent être inversées. Les nœuds et leurs métriques respectives avec les autres nœuds du graphe peuvent être selon n’importe quel ordonnancement et forme dans la matrice. La matrice peut alternativement prendre la forme de plusieurs vecteurs indépendants, avec un vecteur pour chaque nœud comprenant une valeur de métrique par rapport à chacun des autres nœuds.
Pour obtenir chaque valeur de métrique entre chaque nœud et les autres nœuds du graphe, cette étape 11 de construction de matrice comprend, en partant de chaque nœud du graphe, l’utilisation de l’algorithme de Dijkstra, en réalisant un parcours de l’ensemble du graphe de proche en proche, en triant les positions à considérer selon la valeur de métrique totale depuis le nœud initial, sans critère d’arrêt sur une position cible. Pour un premier nœud, le calcul de la valeur de métrique avec tous ses plus proches voisins, dits deuxièmes nœuds, comprend une première itération de déplacement du premier nœud vers chacun de ses voisins, de lecture de la valeur de métrique du premier nœud vers chacun de ses voisins, et de stockage dans la matrice, par exemple en base de données, de la valeur de la métrique entre le premier nœud et chacun de ses voisins. Puis une itération suivante comprend le déplacement depuis chaque deuxième nœud, dits « nœuds précédents », vers chaque plus proche voisin des deuxièmes nœuds, dits « nouveaux nœuds ». A chaque itération, la valeur de la métrique entre le premier nœud et le nœud précédent est ajoutée à la valeur de la métrique entre le nœud précédent et le nouveau nœud. Ainsi, on obtient pour chaque nœud l’ensemble des valeurs de métrique par rapport à chaque autre point du graphe, dans un ordre croissant ou décroissant des valeurs de métriques. Lorsque la métrique est la distance, on obtient l’ensemble des distances entre chaque nœud du graphe et chaque autre nœud du graphe, dans l’ordre croissant ou décroissant des distances. Cette technique permet de calculer en un seul parcours du graphe l’ensemble des valeurs de métrique entre un nœud du graphe et l’ensemble des autres nœuds du graphe. Cela permet aussi de détecter les nœuds qui ne sont pas reliés entre eux par le graphe.
Selon un mode de réalisation préférentiel, les valeurs de métrique comprises dans la matrice sont tous des entiers, par exemple arrondis à la valeur supérieure ou à la valeur inférieure. Cela permet un gain de temps considérable, réduisant la durée d’exécution de l’étape suivante 12 de calcul d’itinéraire, lors de tests réalisés par les inventeurs, passant le temps mis par un solveur Gecode®pour réaliser l’étape 12 de 10 secondes à 2 secondes. Cela est permis par l’utilisation d’entiers à la place de flottants comme types de variables dans le solveur pour réduire le domaine de recherche du solveur.
Le procédé 1 selon l’invention comprend, après l’étape de construction de matrice, une étape 12 de calcul d’un itinéraire. Cette étape de calcul d’un itinéraire est réalisée par un solveur. Un solveur est un programme d’ordinateur configuré pour résoudre un problème mathématique posé. Un tel solveur est par exemple le solveur Gecode®. L’utilisation d’un solveur fait partie de la présente invention. Le fonctionnement du solveur ne fait pas partie de la présente invention. Ainsi, la présente invention peut être mise en œuvre par tout solveur permettant de résoudre un problème programmé par contraintes. Pour le calcul de l’itinéraire, le solveur se base sur la ou les matrices construite(s) à l’étape 11, et sur des contraintes. Les contraintes sont prédéfinies et sont au cœur de l’invention. L’invention utilise en effet la programmation par contrainte pour résoudre la lourde tâche de trouver un itinéraire minimisant la métrique prédéterminée tout en réalisant au moins une fois chaque tâche du graphe et en partant du nœud de départ D et en arrivant au nœud d’arrivée F. En effet ce problème peut être transformé en problème connu comme « Non Polynomial Déterministe », NP et pour lequel le temps de calcul n’est pas polynomial dans le pire cas si l’on utilise un algorithme déterministe, de type génération-évaluation. Le calcul de l’itinéraire à l’étape 12 est efficace grâce aux contraintes choisies. Une contrainte est une ou plusieurs ligne(s) de code définissant un critère de résolution du problème. Le solveur est alors contraint dans sa résolution du problème par ces contraintes qu’il prend en entrée, avec la ou les matrice(s) construite(s). Lorsque le solveur cherche une solution au problème qui lui est posé, le solveur retient certains nœuds du graphe et ne retient pas certains autres nœuds. En effet, l’itinéraire calculé par le solveur ne passe pas par tous les nœuds du graphe. Les contraintes peuvent par exemple être exprimées dans le langage et outil de programmation MiniZinc®, ou dans tout autre langage de programmation de contrainte. Les contraintes choisies seront décrites ci-après.
Une première contrainte est une contrainte appelée « sous-circuit » ou « subcircuit » en anglais. Cette contrainte contraint le solveur à calculer comme itinéraire un circuit hamiltonien (ou « chemin » hamiltonien), dans un sous graphe, pour les nœuds retenus prenant la forme d’une liste de nœuds successifs et, pour chaque nœud non retenu dans l’itinéraire, à créer une entrée dans la liste pour laquelle le nœud successif du nœud non-retenu est lui-même. En effet, le solveur va chercher une solution d’une forme imposée. Cette forme est imposée par cette contrainte comme une liste de nœuds successifs, aussi appelées « successeurs ». La résolution efficace de cette contrainte est documentée dans l’état de l’art et dans les librairies des solveurs modernes. La liste de nœuds successifs peut par exemple être de la forme d’un tableau, pour lequel la valeur d’une case du tableau indique l’index, dans le tableau, du successeur. Ainsi, pour un tableau x, x [i] = j indique que le nœud j est le successeur du nœud i. Cette contrainte de « sous-circuit » impose aussi de trouver un circuit hamiltonien pour les nœuds retenus, c’est-à-dire un circuit passant par chaque nœud retenu une seule et unique fois. En cherchant à résoudre le problème, le solveur va tester plusieurs combinaisons pour obtenir l’itinéraire final. Il ne va pas retenir certaines combinaisons car leurs valeurs de métriques sont par exemple trop élevées. Lorsque, en obtenant une combinaison finale, certains nœuds ne sont pas utilisés, par exemple parce que pour la même tâche A un nœud A1 a déjà été sélectionné, les nœuds A2 et A3 ne sont pas retenus par le solveur. La contrainte « sous-circuit » impose alors que, dans la liste des successeurs créée par le solveur, le nœud A2 ait pour successeur lui-même. De la même façon, la contrainte « sous-circuit » impose que, dans la liste des successeurs créée par le solveur, le nœud A3 ait pour successeur lui-même. Ainsi, pour un tableau x, x [i] = i indique que le nœud i n’est pas dans le circuit. Une telle contrainte peut être écrite, dans le langage MiniZinc®, de la façon suivante :
- constraint subcircuit(succ);
Une deuxième contrainte est une contrainte appelée « tous différents » ou « alldifferent » en anglais, contraignant le solveur à inclure dans l’itinéraire et donc dans la liste des nœuds successifs uniquement des nœuds différents. Cela permet de s’assurer que l’itinéraire trouvé ne réalise pas une boucle sans fin et que chaque point de la mission (A1, A2, A3, B1, B2, B3, …) n’est utilisé au plus qu’une fois. Les points de la mission sont les points par lesquels doit passer la mission, tandis que le graphe peut comprendre plusieurs nœuds pour lesquels il est possible de réaliser un même point de la mission. Une telle contrainte peut être écrite, dans le langage MiniZinc®, de la façon suivante :
- constraint alldifferent(succ);
Une troisième contrainte est une contrainte contraignant le solveur à trouver un itinéraire passant au moins une fois par chaque tâche. Une telle contrainte peut être écrite, dans le langage MiniZinc®, de la façon suivante :
constraint forall(obs in obs_unique_list)(
exists(i in 3..nb_waypoints) (is_used[i] /\ obs_list[i] == obs)
);
avec obs_unique_list la liste des tâches uniques, par exemple A, B et C dans le graphe de la , avec /\ l’opérateur « ET », avec nb_waypoints le nombre de nœuds total, utilisables par le solveur, avec is_used une liste indiquant si le nœud associé est utilisé dans l’itinéraire final trouvé par le solveur, avec obs_list la liste de toutes les taches, qui doivent donc être réalisées dans l’itinéraire final par le solveur. Pour accélérer la recherche de solution, une technique dite de « réification » est utilisée ici. Pour cela, la variable booléenne supplémentaire « is_used » pour « est utilisé », associée à chaque nœud que le solveur doit trouver, est ajoutée. Cette contrainte indique que, si « is_used » est faux, alors le successeur du nœud est lui-même. La contrainte recherche ici à partir du troisième indice de la liste « obs_unique_list » car les indices 1 et 2 sont ceux des points de départ et d’arrivée qui ne font pas partie d’un groupe de nœuds associés à une observation.
Une quatrième contrainte est une contrainte contraignant le solveur à trouver un itinéraire passant au moins par le nœud de départ et par le nœud d’arrivée. Une telle contrainte peut être écrite, dans le langage MiniZinc®, de la façon suivante :
constraint succ[end_id] == start_id;
Une fonction de minimisation aussi appelée « cout objectif » contraint le solveur à minimiser itérativement la somme des valeurs de métrique entre les nœuds retenus pour l’itinéraire. Ceci constitue la boucle principale d’un algorithme de séparation-évaluation implanté dans la plupart des solveurs modernes, comme MiniZinc®ou GeCode®. Le calcul de cette somme peut être écrite, dans le langage MiniZinc®, de la façon suivante :
Lorsque la métrique est la distance :
- constraint distance_sum = sum(i in 1..nb_waypoints) (dist_matrix[i, succ[i]]);
Lorsque la métrique est le temps :
- constraint time_sum = sum(i in 1..nb_waypoints) (time_matrix[i, succ[i]]);.
Dans un mode de réalisation préférentiel, chaque nœud d’un groupe de nœuds de la pluralité de nœuds du graphe correspond à une même tâche, et l’étape 12 de calcul de l’itinéraire prend en compte une contrainte contraignant le solveur à obtenir un itinéraire comprenant au moins un nœud de chaque groupe de nœuds correspondant à une même tâche. La variable « is_used » de la troisième contrainte peut alors être utilisée pour vérifier qu’une moins un nœud de chaque groupe est utilisé.
Dans un mode de réalisation préférentiel compatible avec les modes de réalisation précédemment décrits, une contrainte supplémentaire est utilisée. Cette contrainte est une contrainte d’évaluation inverse contraignant le solveur à évaluer la liste des nœuds successifs en ordre inverse. On entend par « évaluer la liste des nœuds successifs » le fait pour le solveur de remplir la liste des nœuds successifs. Un ordre inverse est un ordre dans lequel le solveur remplit la liste en commençant par la fin de la liste pour arriver au début de la liste en dernier. Une telle contrainte peut être écrite, dans le langage MiniZinc®, de la façon suivante :
- constraint succ_inv = reverse(succ);
Pour mettre en œuvre l’invention, il est demandé au solveur de calculer un itinéraire minimisant au moins une métrique. En langage MiniZinc®, pour une minimisation de distance, et avec une liste des successeurs inversée succ_inv et une recherche sur des entiers, cette demande est formalisée comme suit :
solve :: int_search(succ_inv, input_order, indomain_max, complete)
minimize distance_sum;
avec input_order une indication de suivre l’ordre de la liste des successeurs, indomain_max l’indication d’assigner à une variable sa valeur maximale dans le domaine de recherche, complete une indication de réaliser une recherche exhaustive, et distance_sum la somme des distances entre les noeuds de l’itinéraire.
L’invention permet de trouver un itinéraire, c’est-à-dire une séquence de points de navigation, passant au moins une fois par chaque tâche souhaitée, c’est-à-dire permettant au véhicule autonome de réaliser au moins une fois chaque tâche lors de son itinéraire, tout en se déplaçant d’un point de départ D vers un points d’arrivée F en ayant un itinéraire avec une valeur de métrique minimisée. Cet itinéraire trouvé, sous la forme d’une liste de points de navigation successeurs, est ensuite planifié dans le véhicule autonome à une étape 13. Cette planification comprend la configuration du véhicule autonome directement par l’ordinateur qui met en œuvre le procédé selon l’invention et qui est capable de communiquer, par exemple à travers un réseau, avec le véhicule autonome. La configuration du véhicule autonome a été décrite précédemment. Alternativement, l’ordinateur qui met en œuvre le procédé est embarqué dans le véhicule autonome. Ceci permet au véhicule, incluant alors l’invention, de trouver lui-même l’itinéraire à suivre, sans être connecté au réseau, à partir du moment où il a récupéré le graphe des routes et les positions des objectifs de sa mission.
Pour utiliser l’invention, un opérateur peut utiliser une interface homme-machine telle que celle représentée à la . L’interface homme-machine représentée à la est par exemple un écran, affichant une carte géographique sur laquelle sont superposés des points. Ces points géographiques sont représentés dans un graphe par des nœuds, et les chemins entre ces points sont des arrêtes du graphe. Un opérateur peut alors sélectionner, dans l’interface homme-machine, une métrique à minimiser, un ensemble de tâches à réaliser en sélectionnant par exemple les tâches A, B et C, et les points de départ et d’arrivée, par exemple les points D et F respectivement. Un ordinateur va alors mettre en œuvre le procédé selon l’invention pour calculer un itinéraire optimal et pour planifier l’itinéraire dans un véhicule autonome.
Claims (12)
- Procédé (1) de planification de déplacement d’un véhicule dans un graphe (G), le graphe (G) comprenant une pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4), chaque nœud de la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4) ayant une position géographique, au moins un des nœuds de la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4) étant associé à une tâche (A, B, C) à réaliser par le véhicule, la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4) comprenant un nœud de départ (D) et un nœud d’arrivée (F), le procédé (1) de planification comprenant au moins les étapes de :
- Construction (11) d’au moins une matrice à partir du graphe (G), la matrice comprenant, pour chaque nœud de la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4) du graphe (G), une valeur d’une métrique prédéterminée pour chaque autre nœud de la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4),
- Calcul (12) d’un itinéraire par un solveur, le solveur retenant dans l’itinéraire des nœuds retenus parmi la pluralité de nœuds du graphe (A1,…,A3, B1,…,B5, C1,…,C4), le calcul étant réalisé à partir de la matrice et d’une pluralité de contraintes comprenant au moins :
- une première contrainte contraignant le solveur à calculer comme itinéraire un chemin hamiltonien pour les nœuds retenus prenant la forme d’une liste de nœuds successifs et, pour chaque nœud non-retenu dans l’itinéraire, à créer une entrée dans la liste pour laquelle le nœud successif du nœud non-retenu est lui-même,
- une deuxième contrainte contraignant le solveur à retenir dans l’itinéraire uniquement des nœuds différents,
- une troisième contrainte contraignant le solveur à trouver un itinéraire passant au moins une fois par un nœud associé à chaque tâche (A, B, C), et passant par le nœud de départ (D) et par le nœud d’arrivée (F),
- une fonction de minimisation contraignant le solveur à minimiser la somme des valeurs de métrique entre les nœuds retenus pour l’itinéraire.
- Planification (13) du déplacement du véhicule selon l’itinéraire calculé.
- Procédé (1) selon la revendication précédente selon lequel la métrique entre deux nœuds de la pluralité de nœuds est choisie parmi :
- une distance entre les positions géographiques des deux nœuds,
- une durée de parcours entre les positions géographiques des deux nœuds,
- une consommation du véhicule entre les positions géographiques des deux nœuds,
- un dénivelé entre les positions géographiques des deux nœuds.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel la planification du déplacement du véhicule comprend la configuration (13) du véhicule avec l’itinéraire calculé.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel la construction de la matrice à partir du graphe (G) comprend, en partant de chaque nœud du graphe (G), un parcours de l’ensemble du graphe (G) de proche en proche, en triant les positions à considérer selon la valeur de métrique totale, sans critère d’arrêt.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel chaque tache (A, B, C) à réaliser est associée à un ou plusieurs nœuds de la pluralité de nœuds (A1,…,A3, B1,…,B5, C1,…,C4), et selon lequel le calcul de l’itinéraire prend en compte une contrainte contraignant le solveur à obtenir un itinéraire comprenant au moins un nœud associé à chaque tâche (A, B, C) à réaliser.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel la pluralité de contraintes pour le calcul de l’itinéraire comprend en outre une contrainte d’évaluation inverse contraignant le solveur à évaluer les nœuds successifs en ordre inverse.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel les valeurs de la matrice sont des entiers.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel les tâches sont choisies parmi des observations, une livraison ou une récupération d’un objet, ou des ravitaillements en énergie ou en carburant.
- Procédé (1) selon l’une quelconque des revendications précédentes selon lequel le graphe (G) représente des routes d’une zone géographique et les nœuds sont les carrefours dans cette zone.
- Véhicule autonome configuré pour se déplacer selon l’itinéraire planifié par le procédé (1) selon l’une quelconque des revendications précédentes.
- Produit programme d'ordinateur comprenant des instructions qui, lorsque le programme est exécuté par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 9.
- Support d'enregistrement lisible par ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, conduisent celui-ci à mettre en œuvre le procédé selon l’une quelconque des revendications 1 à 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2208665A FR3139219A1 (fr) | 2022-08-30 | 2022-08-30 | Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2208665A FR3139219A1 (fr) | 2022-08-30 | 2022-08-30 | Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte |
FR2208665 | 2022-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
FR3139219A1 true FR3139219A1 (fr) | 2024-03-01 |
Family
ID=84819913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2208665A Pending FR3139219A1 (fr) | 2022-08-30 | 2022-08-30 | Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3139219A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3095042A1 (fr) * | 2019-04-12 | 2020-10-16 | Safran Electronics & Defense | Procede de definition d’un chemin |
-
2022
- 2022-08-30 FR FR2208665A patent/FR3139219A1/fr active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3095042A1 (fr) * | 2019-04-12 | 2020-10-16 | Safran Electronics & Defense | Procede de definition d’un chemin |
Non-Patent Citations (4)
Title |
---|
KIRICHEK RUSLAN ET AL: "Optimization of the UAV-P's Motion Trajectory in Public Flying Ubiquitous Sensor Networks (FUSN-P)", 13 August 2015, ADVANCES IN VISUAL COMPUTING : 16TH INTERNATIONAL SYMPOSIUM, ISVC 2021, VIRTUAL EVENT, OCTOBER 4-6, 2021, PROCEEDINGS, PART II; [LECTURE NOTES IN COMPUTER SCIENCE], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 352 - 366, ISBN: 978-3-030-90436-4, ISSN: 0302-9743, XP047656317 * |
MATSYI OLHA: "Approaches to Solving Basic Problems of Closed Routes", 2020 IEEE 15TH INTERNATIONAL CONFERENCE ON ADVANCED TRENDS IN RADIOELECTRONICS, TELECOMMUNICATIONS AND COMPUTER ENGINEERING (TCSET), IEEE, 25 February 2020 (2020-02-25), pages 69 - 72, XP033769027, DOI: 10.1109/TCSET49122.2020.235393 * |
NICOLAS BELDICEANU ET AL: "Undirected forest constraints", ANNALS OF OPERATIONS RESEARCH, KLUWER ACADEMIC PUBLISHERS, BO, vol. 171, no. 1, 26 June 2008 (2008-06-26), pages 127 - 147, XP019745798, ISSN: 1572-9338 * |
YOON SUKMIN ET AL: "Collaborative Mission and Route Planning of Multi-vehicle Systems for Autonomous Search in Marine Environment", INTERNATIONAL JOURNAL OF CONTROL, AUTOMATION AND SYSTEMS, KOREAN INSTITUTE OF ELECTRICAL ENGINEERS, SEOUL, KR, vol. 18, no. 3, 28 February 2020 (2020-02-28), pages 546 - 555, XP037043005, ISSN: 1598-6446, [retrieved on 20200228], DOI: 10.1007/S12555-019-0666-4 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2993926C (fr) | Procede de planification d'acquisition d'images de zones terrestres par un engin spatial | |
EP3292377A1 (fr) | Procédé, programme d'ordinateur et système pour la commande d'un déplacement d'un agent navigant dans un environnement organisé en réseau | |
EP1848965B1 (fr) | Procede et dispositif de determination d`itineraire avec points d`interet | |
EP3953662B1 (fr) | Procede de definition d'un chemin | |
FR2898699A1 (fr) | Planificateur automatique de trajectoire | |
EP3665490B1 (fr) | Procédé, mis en oeuvre par ordinateur, de reconstruction de la topologie d'un réseau de cables, utilisant un algorithme génétique | |
WO2005031262A1 (fr) | Procede d'estimation de distance pour un mobile soumis a des contraintes dynamiques de parcours | |
JP2020119545A (ja) | ターゲット物体予測ネットワーク及びターゲット物体統合ネットワークを利用して、重要業績評価指標のようなユーザー要求事項に係る最適化のための再構成可能なネットワーク基盤の物体検出器を学習する方法及び学習装置、並びにこれを利用したテスティング方法及びテスティング装置 | |
EP4066224A1 (fr) | Dispositif et procede d'aide a la decision pour la gestion de conflits aeriens | |
FR2969753A1 (fr) | Procede pour planifier des trajectoires aeroportees sous contrainte de performances plateforme et capteur | |
FR3023610A1 (fr) | ||
FR3089624A1 (fr) | Procédé et système avionique pour générer une trajectoire verticale optimale | |
FR3139219A1 (fr) | Procédé de planification de déplacement d’un véhicule autonome par programmation par contrainte | |
EP1805484A1 (fr) | Procede et dispositif de calcul d'itineraire avec elimination progressive des donnees correspondant au reseau routier | |
FR3117208A1 (fr) | Procédé et dispositif de génération de trajectoire d'un appareil mobile respectant une contrainte temporelle prédéterminée | |
EP1525520A2 (fr) | Procede de determination de la valeur a donner a differents parametres d un systeme | |
EP2810223B1 (fr) | Procédé de traitement d'informations incertaines issues d'une pluralité de sources hétérogènes et procédé d'aide automatique à la décision associé | |
EP2491424B1 (fr) | Procede de localisation et de cartographie simultanees par filtrage non lineaire elastique | |
FR3110020A1 (fr) | Procédé et système électronique d'aide à la gestion du vol d'un aéronef avec gestion de boucle(s), programme d'ordinateur associé | |
EP2107005A1 (fr) | Planification de chemins en présence de courants forts | |
WO2022129325A1 (fr) | Procédé de calcul de chemin, produit programme d'ordinateur, support d'informations et dispositif associés | |
EP0617349B1 (fr) | Procédé et dispositif de reconfiguration en temps réel de la trajectoire d'un véhicule | |
FR3066289A1 (fr) | Procede, mise en oeuvre par ordinateur, de recherche de regles d'association dans une base de donnees | |
FR3132156A1 (fr) | Procédé d’évaluation de la couverture d’une base de données ayant servi à l’entraînement d’un modèle | |
WO2023118275A1 (fr) | Procédé et dispositif de génération de trajectoires d'un appareil mobile |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20240301 |