FR 2752185 A1 19980213 FR 9710079 A 19970806 SYSTEME ET PROCEDE DE COMMANDE ET DE PLANIFICATION DES MOUVEMENTS D'OBJETS MULTIPLES DANS UN ESPACE DE TRAVAIL La présente invention concerne d'une manière générale la commande d'objets mobiles multiples pour éviter les collisions entre eux et avec d'autres obstacles. Plus précisément, la présente invention concerne la planification des mouvements et la commande de manipulateurs robotisés multiples. Les manipulateurs robotisés sont utilisés dans différentes applications industrielles et commerciales pour accomplir des tâches tels que montage, démontage, usinage, réparation, entretien et inspection de composants. Les applications peuvent comprendre des combinaisons successives ou simultanées de ces fonctions et peuvent inclure le mouvement coordonné de manipulateurs multiples. En principe, un manipulateur robotisé comprend un outil qui est déplaçable jusqu a un point voulu dans l'espace à trois dimensions, au moyen de multiples organes de liaison mécanique, reliés par des articulations. L'outil, parfois appelé organe terminal, peut être une pince, un chalumeau, un dispositif de coupe, un électro-aimant, par exemple. Dans la forme la plus courante du manipulateur, l'outil est relié à une embase ou bâti par l'intermédiaire d'une série d'organes de liaison mécanique rigides qui sont reliés entre eux par des articulations ou joints de cardan qui sont de simples articulations à pivot, parfois appelées articulations rotoïdes. Les manipulateurs peuvent aussi comprendre d'autres types d'articulations, faisant intervenir des combinaisons de déplacements par glissement et par rotation. Les positions des organes de liaison sont définies par les angles d'articulation ou angles de joint de cardan multiples. Un ensemble donné d'angles de joint de cardan défini une position spécifique de l'outil. La déduction de la position de l'outil d'après un ensemble d'angles de joint de cardan pose un problème réel dont on dit habituellement qu'il implique une cinématique directe. La détermination d'angles de joints de cardan appropriés d'après une position d'outil donnée, qui peut être définie par de multiples ensembles d'angles de joint de cardan, pose un problème bien plus délicat qui implique une cinématique inverse. La présente invention concerne la planification de trajets robotisés, c'est à dire le mouvement d'outils de manipulateurs robotisés d'un point à un autre dans l'espace à trois dimensions. Du fait que chaque position de l'outil peut généralement être définie par un ensemble quelconque parmi de multiples ensembles d'angles de joint de cardan, le mouvement de l'outil d'une position à une autre peut être accompli sur un trajet quelconque parmi de multiples trajets. Une technique de planification des trajets de mécanismes robotisés fait intervenir l'espace de configuration parfois appelé espace d'articulation, à la place de l'espace cartésien, pour définir les positions d'outils. Le terme espace de configuration (ou espace c) sera utilisé dans la suite. La position d'un outil est définie dans l'espace c par les angles d'articulations ou de joints de cardan. S'il y a n articulations, l'espace c aura n dimensions. La planification des trajets dans l'espace c a été proposée comme solution à un certain nombre de problèmes qui se posent lors de l'utilisation de manipulateurs multiples (voir par exemple Lozano-Perez, Spatial Planning : A Configuration Space Approach, IEEE Transactions on Computers, vol. 32, no. 2, pages 108-120, février 1983). Des obstacles fixes peuvent être localisés par cartographie dans l'espace c de sorte que, en théorie, il est possible de planifier des trajets pour éviter ces obstacles et pour éviter des collisions entre les composants des manipulateurs. La planification des trajets robotisés pose un problème délicat pour différentes raisons, par exemple 1) la nécessité de réaliser une planification globale, c'est à dire de planifier un mouvement complet ou une séquence de mouvements complète du début à la fin. Une planification plus locale conduit souvent à des difficultés telles que la recherche du trajet correct, des trajets en impasse, et la contention, ce qui exige un retour en arrière pour planifier un trajet différent. 2) La nécessité d'éviter des collisions fortuites entre les manipulateurs, les pièces à travailler sur lesquelles les outils agissent et l'environnement de travail. Les collisions peuvent endommager les manipulateurs, les pièces à travailler ou l'environnement de travail, ce qui entraîne une perte économique ou des risques inacceptables pour la sécurité. 3) La nécessité d'opérer dans des domaines limités de déplacement pour chaque axe de chaque manipulateur, car chaque articulation peut comporter des butées qui ne permettent qu'un domaine limité de mouvement angulaire. L'impact d'une butée d'articulation peut non seulement interrompre une opération en cours mais aussi provoquer des détériorations physiques. Une intervention manuelle peut être nécessaire pour faire redémarrer l'opération. 4) La nécessité de lever l'ambiguïté inhérente à la spécification d'angles d'articulations de manipulateur pour obtenir une position et une orientation de l'outil voulues, c'est à dire le problème de cinématique inverse. 5) La nécessité d'opérer avec des limitations dynamiques du mouvement, telles que des limitations de la vitesse, de l'accélération et de la suraccélération. Les limitations dynamiques surviennent du fait de préoccupations concernant la sécurité et de limitations matérielles des composants. En principe, l'utilisation de la technique de l'espace c fournit une solution possible aux quatre premiers de ces problèmes. En pratique, cependant, l'application directe de l'approche de l'espace c entraîne une charge de calcul excessive, comme l'explique Canny, John C., dans The Complexity of Robot Motion Planning, Ph. D. dissertation, Department of Electrical Engineering and Computer Science, MIT, Cambridge, MA, mai 1987 (également publié sous forme de livre) . Par exemple, l'utilisation d'une pure approche de cellules de l'espace c pour un système de trois manipulateurs à trois axes, chaque axe ayant une plage de 360 , et en admettant une résolution modeste de 0,1", nécessiterait le calcul et la mémorisation de (360/0,1) 3+3+3 = 36009 ou environ 1032 cellules. il n' existe aucune technologie actuelle ou envisagée pour faire un calcul de cette ampleur. Une autre approche à l'évitement des collisions dans les manipulateurs robotisés utilise une analogie de champ de potentiel ou de champ de forces artificiel pour empêcher les composants des manipulateurs d'entrer en collision. En termes simples, cette approche génère des forces de répulsion des manipulateurs sur la base de la proximité relative des manipulateurs. Plus deux manipulateurs sont proches l'un de l'autre, plus la force de répulsion devient grande. En principe, chaque manipulateur est commandé pour se déplacer suivant un trajet primaire vers sa destination prévue, mais il peut être dévié du trajet par les forces de répulsion générées lorsque le trajet emprunté par le manipulateur est trop proche d'un autre manipulateur ou d'un obstacle fixe. Bien que l'utilisation de champs de potentiel artificiels permette d'éviter la complexité de calcul de l'approche de l'espace c conventionnelle, l'utilisation des champs de potentiel artificiels engendre d'autres difficultés. En particulier, le champ de potentiel pour un systèmes de manipulateurs général peut comporter des minima locaux qui conduisent à la recherche, y compris à des oscillations non périodiques et à un mouvement chaotique, des impasses, l'arrêt à une position d'équilibre qui n'est pas la position cible voulue, et la contention, une situation dans laquelle le système demeure dans un cycle limite sans atteindre la position cible. On comprendra d'après ce qui précède que l'on recherche toujours une technique de planification de trajets pour des manipulateurs multiples telle que les collisions sont évitées et que les problèmes associés à la planification des trajets de l'espace c et à l'évitement des collisions par champ de potentiel artificiel sont minimisés. La présente invention a pour but de fournir une telle technique. Pour y parvenir, la présente invention concerne un système et un procédé de planification de trajets et d'exécution de mouvements de multiples objets mobiles dans un espace de travail commun, dans lesquels la position de chaque objet dépend de la configuration d'une pluralité d'organes de liaison reliés entre eux, définie par une pluralité, n, de réglages de configuration correspondant à n degrés de liberté de l'objet. D'une manière générale, le système selon la présente invention comprend un planificateur de trajets et un module d'exécution de trajets. Le planificateur de trajets agit en planifiant à l'avance une série de mouvements de chacun des objets mobiles pour fournir un plan des mouvements à une échelle relativement grossière. Le planificateur de trajets détermine des trajets dans un espace de configuration défini par n axes orthogonaux correspondant aux n réglages de configuration qui définissent la position de chaque objet dans l'espace à trois dimensions. Le module d'exécution de trajets agit en déplaçant les objets selon le plan à échelle relativement grossière établi par le planificateur de trajets, et comprend un sous-système d'évitement des collisions à champ de forces artificiel et à échelle fine pour envoyer des signaux de commande aux objets mobiles si bien qu'ils se déplacent suivant des trajets déterminés en partie par le planificateur de trajets et en partie par le sous-système d'évitement des collisions. Ainsi, les objets se déplacent entre des points initiaux et des points terminaux voulus sans collisions entre eux ou avec tout obstacle fixe. Plus spécifiquement, le planificateur de trajets comprend une base de données de l'espace de configuration définissant l'espace de travail sous forme de multiples cellules à n dimensions, une logique de génération de base de données pour déterminer un état de collision pour chaque cellule de la base de données de l'espace de configuration, l'état de collision étant plein , ce qui indique qu'il y a une possibilité de collision pour toutes les combinaisons de réglages de configuration dans la cellule, vide , ce qui indique qu'il n'y a pas de possibilité de collision dans la cellule, ou mixte , ce qui indique qu'il y a une possibilité de collision pour certaines combinaisons de réglages de configuration dans la cellule, et un module d'exécution de la planification des trajets qui utilise les informations concernant chaque cellule de la base de données de l'espace de configuration pour planifier un trajet d'un point à un autre dans l'espace de configuration, de manière à éviter les collisions. Le planificateur de trajets comprend aussi des moyens pour choisir un premier trajet d'essai et déterminer si le trajet passe par une quelconque cellule pleine ou mixte, et des moyens pour choisir systématiquement un second trajet d'essai et d'autres trajets d'essai si les trajets d'essai choisis antérieurement sont sujets à des collisions, un trajet sans collision étant finalement choisi. Les moyens pour choisir systématiquement un second trajet d'essai et d'autres trajets d'essai comprennent de préférence des moyens pour détecter un point central dans une partie du trajet d'essai qui passe par une région de collision de cellules pleines ou mixtes, et des moyens pour choisir un point de passage d'essai situé sur une droite passant par le point central et orthogonale au trajet d'essai qui passe par le point central. S'il n'est pas situé dans la région de collision, le point de passage d'essai est choisi pour etre sur le trajet planifié. Si le point de passage d'essai est situé dans la région de collision, un autre point de passage est choisi, et ainsi de suite jusqu'à ce qu' un trajet sans collision soit planifié. Plus précisément, le module d'exécution de trajets comprend un interpolateur de points de passage pour générer des trajets à résolution plus fine d'après les données de trajet fournies par le planificateur de trajets, un module de loi de commande pour générer des signaux de commande sur la base des trajets à résolution plus fine dans l'espace de configuration et sur la base de réglage de configuration prédits pour les objets, un modèle de forces d'évitement de collisions pour générer des signaux de commande d'évitement des collisions sur la base de la proximité mutuelle des objets dans l'espace de travail, et des moyens pour combiner les signaux de commande d'évitement des collisions et les signaux de commande provenant du module de loi de commande, l'évitement des collisions étant obtenu à une échelle fine par modification des trajets planifiés dans l'espace de configuration. Le module d'exécution de trajets comprend en outre un modèle dynamique d'objets pour fournir des estimations des réglages de configuration des objets destinées à être utilisées par le module de loi de commande et le modèle de forces d'évitement des collisions. Le procédé selon l'invention comprend les étapes de planification d'un trajet, de commande de l'exécution du trajet et d'application de signaux de commande aux objets mobiles. L'étape de planification comprend la planification à l'avance d'un trajet ayant des séries de mouvements de chacun des objets mobiles, pour produire un plan à échelle relativement grossière pour les mouvements. L'étape de planification détermine des trajets dans un espace de configuration défini par n axes orthogonaux correspondant aux n réglages de configuration qui définissent la position de chaque objet dans l'espace à trois dimensions. Dans l'étape de commande, l'exécution du trajet planifié est commandée de manière à déplacer les objets principalement selon le plan à échelle relativement grossière fourni par l'étape de planification, et comprenant une étape supplémentaire de production de signaux de commande d'évitement des collisions sur un modèle à champ de forces artificiel. L'étape d'application de signaux de commande aux objets mobiles déplace les objets suivant des segments de trajets déterminés en partie par l'étape de planification de trajets et en partie par l'étape de commande de l'exécution des trajets. De ce fait, les objets sont déplacés depuis des points initiaux jusqu'à des points terminaux voulus sans collisions entre eux ou avec tout obstacle fixe. Plus précisément, l'étape de planification de trajets comprend l'établissement d'une base de données de l'espace de configuration définissant l'espace de travail sous forme de multiples cellules à n dimensions, la détermination d'un état de collision pour chaque cellule de la base de données de l'espace de configuration, l'état de collision étant plein , ce qui indique qu'il y a une possibilité de collision pour toutes les combinaisons de réglages de configuration dans la cellule, vide , ce qui indique qu'il n'y a pas de possibilité de collision dans la cellule, ou mixte , ce qui indique qu'il y a une possibilité de collisions pour certaines combinaisons de réglages de configuration dans la cellule, et d'établissement d'un plan de trajets grossier à l'aide des informations concernant chaque cellule de la base de données de l'espace de configuration, pour permettre le mouvement sur un trajet depuis un point de l'espace de configuration jusqu'à un autre point de manière à éviter les collisions. L'étape d'établissement du plan de trajets grossier comprend en outre le choix d'un premier trajet d'essai et le fait de déterminer si le trajet passe par une quelconque cellule pleine ou mixte, et le choix systématique d'un second trajet d'essai et d'autres trajets d'essai, si les trajets d' essai choisis auparavant sont susceptibles de collisions, un trajet sans collision étant finalement choisi. L'étape de choix systématique d'un second trajet d'essai et d'autres trajets d'essai comprend la détection d'un point central dans une partie du trajet d'essai qui passe dans une région de collisions de cellules pleines ou mixtes, et le choix d'un point de passage d'essai situé sur une droite passant par le point central et orthogonale au trajet d'essai qui passe par le point central, le point de passage d'essai étant choisi de manière à être sur le trajet planifié si le point de passage d'essai n'est pas dans la région de collisions. Dans un mode de réalisation de l'invention que l'on préfère, l'étape de commande du mouvement d'exécution des trajets comprend une interpolation entre des points de passage de planification de trajets grossière pour produire des trajets planifiés à plus fine résolution, la production de signaux de commande sur la base des trajets à plus fine résolution dans l'espace de configuration et sur la base de réglages de configuration prédits des objets, la production de signaux de commande d'évitement des collisions sur la base de la proximité mutuelle d'objets dans l'espace de travail, et la combinaison des signaux de commande d'évitement des collisions et des signaux de commande sur la base des trajets planifiés à plus fine résolution. L'évitement des collisions est obtenu par modification des trajets planifiés dans l'espace de configuration. L'étape de commande d'exécution des trajets peut comprendre en outre la modélisation dynamique du mouvement des objets pour fournir des estimations des réglages de configuration des objets destinées à être utilisées dans l'étape de production de signaux de commande sur la base des trajets à plus fine résolution et dans l'étape de production des signaux de commande d'évitement des collisions. Dans les modes de réalisation de l'invention que l'on préfère, les objets mobiles sont des manipulateurs robotisés qui fonctionnent dans un espace de travail commun. Les réglages de configuration sont les angles et positions des articulations d'un manipulateur qui définissent collectivement la position du manipulateur. On comprendra d'après ce qui précède que la présente invention représente un progrès sensible dans le domaine de la planification des trajets pour des dispositifs mobiles multiples qui fonctionnent dans un espace de travail commun, tels que des manipulateurs robotisés. Auparavant, la planification des trajets exigeait un grand nombre de calculs, sauf pour les configurations les plus simples, et la modélisation à champ de forces pour l'évitement des collisions ne donne pas toujours des solutions satisfaisantes. C'est pourquoi, la présente invention combine la planification de trajets dans l'espace de configuration à une échelle relativement grossière avec l'évitement des collisions à échelle fine pendant la phase d'exécution des mouvements, ce qui fournit une solution commode et utilisable du problème posé par les manipulateurs multiples. D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description détaillée qui suit et se réfère aux dessins annexés, donnés uniquement à titre d'exemple, et dans lesquels la figure 1 est un bloc-diagramme d'une configuration de système selon la présente invention, la figure 2 est un bloc-diagramme du planificateur de trajets utilisé pour la planification grossière des trajets selon la présente invention, la figure 3 est un bloc-diagramme montrant l'exécution des trajets à une échelle plus fine, la figure 4 est un bloc-diagramme montrant une réalisation matérielle de la présente invention dans le cas d'un système de manipulateurs robotisés constituant une illustration, la figure 5 est un schéma représentant une itération de détermination de trajet dans un espace de configuration à deux dimensions, la figure 6 est un schéma fonctionnel représentant un procédé de production de points de passage d'essai dans un espace de configuration de dimension arbitraire, selon un aspect de l'invention, la figure 7 est un schéma fonctionnel représentant un procédé pour réaliser l'un des blocs (104) du schéma fonctionnel de la figure 6, la figure 8 est un schéma fonctionnel représentant un procédé pour réaliser l'un des blocs (126) du schéma fonctionnel de la figure 7, et la figure 9 est un schéma fonctionnel représentant un procédé pour réaliser un autre (128) des blocs du schéma fonctionnel de la figure 7. Comme le montrent les dessins à titre d'illustration, la présente invention concerne des systèmes pour planifier et exécuter un mouvement sans collision de multiples objets mobiles tels que des manipulateurs robotisés, qui partagent un espace de travail commun. Bien que d'autres systèmes aient été proposés dans ce but, aucun d'eux ne s'est révélé totalement satisfaisant. Selon la présente invention, l'évitement des collisions est obtenu au moyen d'une combinaison de planification globale des trajets à une échelle grossière et d'exécution à échelle fine des mouvements de manipulateurs robotisés. La planification globale des trajets de mouvements de robots dans l'espace de configuration ou espace c fournit une trajectoire nominale de mouvement entre une position actuelle d'un robot et une position voulue. L'espace c est simplement l'espace défini par un ensemble d'axes cartésiens, un axe pour chaque degré de liberté du manipulateur robotisé. L'échelle de chaque axe indique l'angle ou la position d'une articulation du manipulateur robotisé. Par exemple, un manipulateur ayant un premier bras articulé à une embase et un second bras relié au premier par une autre articulation a deux degrés de liberté et l'espace c est à deux dimensions. Chaque point de l'espace c définit une position spécifique du manipulateur, et les coordonnées du point par rapport aux axes de l'espace c indiquent les angles d'articulation correspondant à cette position du manipulateur. Les obstacles peuvent être localisés par cartographie dans l'espace c, puis un mouvement voulu du manipulateur peut être planifié compte tenu des obstacles et en produisant une succession d'étapes pour déplacer le manipulateur d'une position à une position voulue. En général, le chemin le plus rapide pour le déplacement d'une position à une autre est représenté par une droite dans l'espace c, mais ce trajet n'est pas toujours possible du fait de la présence d'obstacles fixes ou dynamiques. Malheureusement, cependant, la planification de trajets basée uniquement sur des techniques faisant intervenir l'espace c exige un nombre de calculs tel qu' elle constitue une approche qui ne peut pas être mise en pratique pour la plupart des systèmes de manipulateurs multiples. C'est pourquoi, la présente invention combine une technique d'espace c pour la planification de trajets à une échelle relativement grossière avec un modèle d'évitement de collisions à champ de forces à échelle fine. Le système résultant permet d'éviter les inconvénients de chacune de ces techniques utilisée individuellement, et fournit des systèmes qui peuvent être utilisés pratiquement pour la planification des mouvements et la commande d'objets mobiles multiples tels que des manipulateurs robotisés. Comme le montre la figure 1, le système selon l'invention comporte quatre composants principaux : un superviseur 10, un module de planification de trajets à échelle grossière 12, un module d'exécution de trajets à échelle fine 14 et un système de manipulateurs robotisés 16. Le module de planification de trajets à échelle grossière 12 et le module d'exécution de trajets à échelle fine 14 sont appelés ensemble système de planification et d'exécution de trajets 18. Le superviseur 10 spécifie une succession de mouvements des manipulateurs qui réalisent ensemble une tâche utile. Le superviseur 10 transmet des demandes de mouvement, par la ligne 20, au planificateur de trajets 12 en spécifiant la combinaison de positions et d'orientations des manipulateurs qui sera nécessaire dans la suite. Le superviseur 10 reçoit aussi de la part du système de manipulateurs 16, par la ligne 22, l'état initial et actuel de tous les angles d'articulation des manipulateurs et d'autres paramètres. Comme indiqué précédemment, le système de manipulateurs 16 consiste en organes de liaison rigides reliés entre eux par des articulations, dont un grand nombre sont des articulations cylindriques, semblables à une simple charnière ayant un degré de liberté. D'autres types d'articulations comprennent les articulations prismatiques qui permettent un mouvement de glissement mais par de rotation, les articulations sphériques qui permettent un mouvement angulaire en trois dimensions, les articulations cylindriques qui permettent des mouvements de rotation et des mouvements de glissement, et les articulations à vis qui produisent une extension des organes de liaison par suite d'une rotation. Quelle que soit la combinaison des types d'articulations dans le système de manipulateurs 16, sa configuration à chaque instant est totalement définie par un ensemble d'angles et de positions d'articulations. Le planificateur de trajets 12 reçoit des demandes de mouvement de la part du superviseur 10 et produit une liste de points de passage de l'espace c programmés dans le temps et destinés à être transmis au module d'exécution de trajets 14 par la ligne 24. La liste de points de passage est un ensemble de combinaisons d'angles/positions d'articulations à des instants spécifiés. Le module d'exécution de trajets 14 reçoit la liste de points de passage en provenance du planificateur de trajets 12, traite la liste pour déterminer le mouvement des manipulateurs nécessaire pour éviter des collisions à une échelle fine (angle/position et temps) tout en suivant le mouvement à échelle grossière spécifié par la liste de points de passage, et transmet des commandes d'articulation échantillonnées dans le temps au système de manipulateurs 16. Le module d'exécution de trajets 14 peut aussi recevoir l'état initial et l'état mis à jour (actualisé) du système de manipulateurs 16 par la ligne 22, y compris tous les angles d'axes et positions des articulations. Le système de manipulateurs robotisés 16 reçoit les commandes d'articulations des manipulateurs par la ligne 26 en provenance du module d'exécution de trajets 14 et exécute ces commandes à l'aide de composants de manipulateurs robotisés conventionnels (non représentés) tels que des dispositifs de commande d'articulations de manipulateurs, et des capteurs pour déterminer les angles ou positions actuels des articulations. Le système de manipulateurs 16 peut aussi comporter la possibilité de réaliser une commande combinée des positions et des forces pour des opérations de précision telles que l'insertion, la coupe, le meulage de pièces, par exemple. Un système robotisé conventionnel comprend un superviseur 10 et un système de manipulateurs 16 de sorte que ces composants ne seront pas décrits de manière plus détaillée ici. Module de planification de trajets 12 Le module de planification de trajets 12 pour produire un plan de trajets à échelle grossière est représenté de manière plus détaillée sur la figure 2. il comprend cinq éléments de base : un exécuteur de planificateur de trajets 30, une base de données d'espace c 32, un module d'élaboration de base de données de l'espace c 34, un module de réglage temporel de segments de trajets 36 et un modèle de système de manipulateurs 38. L'exécuteur de planificateur de trajets 30 reçoit des demandes de mouvement par la ligne 20 et détermine une succession de segments de trajets dans l'espace c qui évite des collisions, à la résolution relativement grossière de la base de données de l'espace c 32. Chaque segment de trajet est une droite dans l'espace c. L'exécuteur 30 détermine aussi le réglage temporel de chaque segment de trajet en interrogeant le module de réglage des segments de trajets 36 et finalement combine les points terminaux des segments de trajets et le réglage temporel des segments de trajets pour produire par la ligne 24 une liste de points de passage programmés dans le temps. La base de données de l'espace c 32 permet à l'exécuteur 30 de déterminer le type de chaque cellule dans l'espace c ; D'une manière générale, une cellule est un parallélépipède dans l'espace c limité sur chaque axe d'articulation par des valeurs discrètes de la variable d'articulation. On rappellera que l'espace c a autant de dimensions qu'il y a de degrés de liberté dans le système de manipulateurs 16 (figure 1). Par exemple, s'il y a seulement deux degrés de liberté, l'espace c est à deux dimensions et chaque cellule est simplement un élément rectangulaire de cet espace à deux dimensions, limité par des angles d'articulation discrets. Si les deux degrés de liberté correspondent à des articulations rotondes, les cellules peuvent par exemple être d'une résolution d'un degré (mesure d'angle) sur un degré, ou de toute autre résolution choisie. Un aspect important de la base de données de l'espace c est qu'elle contient une indication pour chaque cellule du fait que la cellule est vide , pleine ou mixte . Une cellule vide n'a pas de collisions pour une combinaison quelconque de variables d'articulation en un point quelconque à l'intérieur de son volume. En d'autres termes, le systèmes de manipulateurs robotisés 16 peut être déplacé jusqu a un point quelconque dans la cellule sans entrer en collision avec un obstacle fixe ou dynamique occupant la même cellule de l'espace c. Une cellule pleine indique une collision possible pour toutes les combinaisons de variables d'articulation dans son volume. Une cellule mixte est une cellule qui n'est ni libre ni occupée. La base de données 32 comprend aussi des limites d'articulation pour chaque articulation des manipulateurs. Chaque articulation a habituellement une plage limitée de mouvement angulaire ou de translation. Les cellules contenant des variables d'articulation qui sont au delà des limites spécifiées sont qualifiées de pleines dans la base de données 32. Le module d'élaboration de la base de données de l'espace c 34 contient la logique nécessaire pour déterminer le type de chaque cellule de l'espace c, à un niveau spécifié de résolution des variables d'articulation. Ce module peut mettre en jeu un calcul hors ligne, un calcul en ligne, ou une combinaison des deux. En particulier, un calcul en ligne peut être utilisé pour déterminer le type de cellule de sous-régions de cellules dont il a été déterminé qu'elles étaient de type mixte au niveau grossier de résolution. Ce processus est appelé explosion de cellules . Le modèle de système de manipulateurs 38 contient une description mathématique de la construction physique du système de manipulateurs 16, des pièces à travailler sur lesquelles opère le système et de l'environnement de travail. Le modèle peut inclure certaines approximations des dimensions physiques de composants choisis du système de manipulateurs, pour réduire la taille de la base de données ou pour fournir une marge de sécurité pour protéger les composants contre une collision possible. Le modèle 38 est utilisé par le module d'élaboration de base de données de l'espace c 34 pour élaborer et mettre à jour la base de données 32 de l'espace c. Le module de réglage temporel de segments de trajet 36 réalise un réglage temporel des segments de trajet sur la base d'une famille d'équations paramétriques incorporant des contraintes dynamiques des variables d'articulation. Les contraintes peuvent être toute combinaison de vitesse, d'accélération, de suraccélération ou de dérivées supérieures des variables d'articulation par rapport au temps. Le module 36 peut inclure un ensemble d'équations mathématiques concernant le temps nécessaire pour modifier une variable quelconque d'articulation de manipulateur d'une quantité spécifiée compte tenu des contraintes dynamiques, ou une table de consultation contenant des données équivalentes. Ce module 36 est interrogé par l'exécuteur de planificateur de trajets 30 et renvoie à l'exécuteur des données temporelles concernant les segments de trajet. Module d'exécution de trajets 14 Le module d'exécution de trajets 14 est représenté de manière plus détaillée sur la figure 3. il comprend comme composants un interpolateur de points de passage 40, un module de loi de commande 42, un modèle dynamique de manipulateurs 44, un modèle de forces d'évitement des collisions 46, un modèle de système de manipulateurs 48 et un échantillonneur 50. L'interpolateur de points de passage 40 reçoit la liste de points de passage programmés dans le temps en provenance du planificateur de trajets 12 par la ligne 24 et détermine toute combinaison requise d'angle/position d'articulation, vitesse ou accélération (ou dérivée supérieure par rapport au temps) à une résolution temporelle plus fine que la liste de points de passage, à l'aide du même ensemble d'équations paramétriques que celui qui a été utilisé pour déterminer le réglage temporel des segments de trajet dans le module de réglage temporel de segments de trajet 36. La coordination de l'interpolateur 40 avec le module de réglage de segments de trajet 36 permet de réaliser les contraintes dynamiques sur le mouvement nominal des manipulateurs. L'interpolateur 40 fournit des points de passage interpolés au module de loi de commande 42 par la ligne 52. Le module de loi de commande 42 reçoit les points de passage interpolés en provenance de l'interpolateur 40 et reçoit aussi des données d'état de modèle dynamique des manipulateurs en provenance du modèle dynamique de manipulateurs 44, par la ligne 53. Le module de loi de commande 42 traite les deux ensembles de données d'entrée par des équations mathématiques pour transmettre des commandes de couple de commande au modèle dynamique 44 par la ligne 54. Le module de loi de commande peut comprendre des termes de commande à action négative et des termes de commande à action positive. Les termes de commande à action négative sont basés sur les états du modèle dynamique de manipulateurs ou sur la différence entre les points de passage interpolés et les états du modèle dynamique de manipulateurs. Les termes de commande à action positive sont basés seulement sur les points de passage interpolés. La fonction des termes de commande à action négative dans la loi de commande consiste à stabiliser et modifier le comportement dynamique de la combinaison du modèle dynamique de manipulateurs 44 et du modèle de forces d'évitement de collision 46. Les termes à action négative dans la loi de commande peuvent comprendre une compensation de commande proportionnelle, de vitesse, intégrale, différentielle, à retard ou toute autre forme de compensation de commande. L'objet des termes d'action positive dans la loi de commande consiste à produire un couple de commande nominal qui, en l'absence du modèle d'évitement de collisions 46, déplacerait le système de manipulateurs suivant la trajectoire déduite des points de passage interpolés. La loi de commande comprend des termes non linéaires de commutation de mode, par exemple d'addition d'un terme intégral lorsque les erreurs de commande sont petites. Le modèle dynamique de manipulateurs 44 comprend un ensemble d'équations mathématiques réalisant une solution en temps réel du mouvement du système de manipulateurs sous l'influence combinée des couples de commande provenant du module de loi de commande 42 par la ligne 54 et des couples de modèle de forces provenant du modèle d'évitement de collisions 46 par la ligne 56. Les angles/positions d'articulations des manipulateurs mesurés provenant du système de manipulateurs réel 16 (figure 1) par la ligne 22 peuvent être utilisés pour initialiser ou mettre à jour les états du modèle dynamique de manipulateurs 44. Des limites des variables (angle et position) des articulations sont incluses dans les équations mathématiques. Le modèle dynamique 44 produit par la ligne 53 les états du modèle dynamique de manipulateurs tels que les angles/positions des articulations, les vitesses et les accélérations. Le niveau de fidélité des équations dynamiques utilisées dans le modèle 44 peut s'étendre depuis des équations couplées totalement non linéaires jusqu'à des équations simplifiées et idéalisées, selon la précision requise. Le modèle de forces d'évitement de collisions 46 comprend des équations de cinématique directe qui mettent en relation les états des variables des articulations du modèle dynamique de manipulateurs, provenant du modèle dynamique 44, avec la position relative des composants des manipulateurs dans l'espace de travail. Le modèle 46 comprend aussi des équations mathématiques qui mettent en relation la position relative des composants des manipulateurs dans l'espace de travail avec des forces hypothétiques de répulsion entre ces composants, et des équations mathématiques qui mettent en relation des forces hypothétiques de répulsion entre les composants avec les forces et moments résultants sur le système de manipulateurs, à retransmettre au modèle dynamique 44 par la ligne 56. Les équations mathématiques incluent le modèle de système de manipulateurs 48. Les équations de forces de répulsion hypothétiques peuvent inclure des approximations par éléments finis. Les formes des équations de forces de répulsion hypothétiques peuvent inclure le terme 1/r2 (où r est la distance entre des composants qui entrent potentiellement en collision), la décroissance exponentielle avec la distance, la décroissance gaussienne avec la distance ou toute autre fonction de la distance relative décroissant de manière monotone. Les équations de forces de répulsion hypothétiques peuvent inclure une option pour rendre unilatérale la force de répulsion de composants de manipulateurs choisis, de manière à établir une priorité pour écarter du trajet des manipulateurs choisis afin d'éviter une collision. Ainsi, un manipulateur à faible priorité céderait le passage à un manipulateur à plus forte priorité pour éviter une collision. Le modèle de système de manipulateurs 48 a un contenu et un objet semblables au modèle de système 38 (figure 2). Toutefois, comme ce modèle 48 participe à une planification des mouvements à une échelle plus fine, il doit être au moins aussi précis et détaillé que le modèle 38. Réalisation matérielle la figure 4 représente un exemple de réalisation matérielle selon l'invention. Le dispositif de calcul 60 comprend le superviseur 10, le planificateur de trajets 12 et le module d'exécution de trajets 14. Le dispositif de calcul comprend aussi un dispositif d'entrée de données 62 associé et d'autres composants de calcul conventionnels (non représentés). Le système de manipulateurs robotisés 16 pris à titre d'exemple comprend un premier manipulateur 64 et un second manipulateur 66 qui comportent chacun trois articulations, représentées sous forme de cercles pleins, et trois organes de liaison, représentés sous forme de traits épais. Les manipulateurs 64 et 66 sont montés sur des embases 68 et 70, respectivement, et sont représentés maintenant des pièces à travailler 72 et 74, respectivement, qui doivent être intégrées à une unité 76 en cours de montage par le système de manipulateurs robotisés. Le dispositif de calcul 60 transmet des commandes de manipulateurs par la ligne 26 à un ensemble de dispositifs de commande d'articulations 78 qui, pour leur part, transmettent des signaux de commande par les lignes 80 aux manipulateurs 64 et 66. Exécuteur de planificateur 30 La planification de mouvements par le procédé à l'espace c utilise une approche itérative. Comme le montre la figure 5, dans chaque itération le trajet est balayé depuis le point de passage actuel (initial) 90 jusqu'au point de passage suivant (terminal) 92 et le type de cellule (c'est à dire cellule vide, pleine ou mixte) est déterminé pour chaque cellule qui serait traversée si ce trajet direct était suivi dans l'espace c. La zone 94 représente une région de cellules pleines ou mixtes dont certaines seraient traversées par le trajet direct, ce qui aurait pour résultat une collision possible. Lorsque cette situation est détectée, il est nécessaire de trouver un ou plusieurs points de passage supplémentaires pour éviter une collision. La détermination de points de passage candidats ou d'essai pour l'itération suivante du processus de planification de trajets constitue une étape critique de ce processus. Le point de passage d'essai n 1, désigné par 96, évite la collision car il est situé à l'extérieur de la région 94, contrairement au point de passage d'essai nO 2 désigné par 98. La probabilité d'une détermination efficace d'un trajet sans collisions dépend d'un procédé qui génère des points de passage d'essai qui sont orthogonaux au trajet initial et qui couvrent une variété de directions. Jusqu'à présent, on disposait d'algorithmes pour la production de points de passage d'essai uniquement pour des espaces c à deux ou trois dimensions pour lesquels un raisonnement géométrique est adéquat. Comme la plupart des applications potentielles exigent une planification de trajets dans des espaces c à plus de trois dimensions, typiquement à cinq à quatorze dimensions, un procédé plus général est nécessaire. Un tel procédé est représenté sur la figure 6. Ce procédé génère des points de passage d'essai qui sont orthogonaux au segment de trajet initial et qui couvrent toutes les directions disponibles. En général, le point de passage initial, indiqué par S,, et le point de passage terminal, indiqué par E,, sont des vecteurs à j éléments, j étant le nombre de dimensions de l'espace c. Le point central du segment de trajet direct par rapport aux bords de la région 94 est désigné par un autre vecteur M qui a lui aussi j éléments. Le pavé 100 de la figure 6 indique les définitions de ces trois entités vectorielles qui sont des grandeurs d'entrée dans le procédé. Comme le montre le pavé 102, l'étape suivante consiste à calculer un vecteur p qui définit le segment de trajet, c'est à dire p = En - Sn- Deux cas sont possibles 1) tous les éléments j de En - Sn sont nuls, ou 2) au moins un élément de En - Sn n'est pas nul. L'étape suivante, représentée dans le pavé 104, consiste à calculer une base orthonormale bi du complément orthogonal de p. Dans le premier cas, p a la dimension zéro et la base bi (i = 1, 2, ..., j) du complément orthogonal peut être choisie sous forme d'une quelconque base orthonormale complète à j dimensions. En pratique, le choix le plus simple est la base naturelle, c'est à dire telle que b1 = n1 = (1,0,0,...), b2 = n2 = (0,1,0, . . .) et bj = nj = (0,0,...,1). Dans le second cas, l'un des vecteurs de la base naturelle est redondant et doit être supprimé avant le traitement. Le processus pour générer les vecteurs de la base du complément orthogonal est représenté sur la figure 7, et les figures 8 et 9 donnent des détails supplémentaires. L'étape suivante dans le processus de détermination des points de passage d'essai consiste à initialiser et incrémenter un compteur k comme le montrent les pavés 106 et 108, respectivement. Puis une base de données est interrogée pour obtenir des poids Wik pour chaque point de passage d'essai n" k comme le montre le pavé 110. Les poids peuvent être choisis de différentes façons. Par exemple, si wi = -1 ou +1 dans les 2j-1 combinaisons possibles, il en résulte des points de passage d'essai sur les sommets d'un hypercube. Ou bien encore, si l'on choisit wi de manière que les points de passage d'essai sont situés sur la surface d'une hypersphère dans le sous-espace orthogonal au segment de trajet actuel. Dans ce cas, les poids peuvent être choisis de manière déterministe ou aléatoire pour assurer une diversité concernant la direction des points de passage d' essai. Puis, comme le montre le pavé 112, chaque point de passage d'essai est calculé d'après l'expression dans laquelle d est un paramètre déterminant la distance entre les points de passage d'essai et Mn. Enfin, dans le pavé 114, le compteur k est vérifié pour déterminer si tous les points de passage d'essai ont été calculés, avant la sortie de ce module de traitement. Le procédé détaillé pour calculer la base orthonormale bi du complément orthogonal de p est représenté sur la figure 7. Le pavé 120 indique deux cas possibles pour p. Si p.p = 0, les j vecteurs de la base naturelle sont utilisés comme base pour le complément orthogonal, c'est à dire bi = ni pour i = 1, 2, ..., j, comme le montre le pavé 122. Si p. p gt 0, les étapes parcourues consistent tout d'abord à calculer le vecteur unité dans la direction du segment de trajet, comme le montre le pavé 124, d'après l'expression puis à supprimer le vecteur de la base naturelle redondant, comme le montre le pavé 126 et aussi la figure 8, et à calculer j-1 vecteurs de la base pour le complément orthogonal, comme le montre le pavé 128 et aussi la figure 9. Enfin, le nombre de dimensions ndim est fixé à j-l pour tenir compte de la suppression d'un vecteur dans le pavé 126, comme le montre le pavé 130. Si les j vecteurs de la base naturelle sont tous utilisés, ndim est fixé à j, comme le montre le pavé 132. La figure 8 est une représentation détaillée du pavé 126 de la figure 7. La première étape pour supprimer un vecteur de la base naturelle redondant consiste à calculer la valeur d'un ensemble de produits scalaires : di = Ip.nil pour i = 1, 2,..., j, comme le montre le pavé 134. Puis, dans le pavé 136, l'étape suivante consiste à déterminer l'indice du plus grand des produits scalaires calculés dans le pavé précédent. Comme le montre le schéma fonctionnel inclus dans le pavé 136, il s'agit simplement de comparer les valeurs successives des produits scalaires avec une valeur actuelle maximale qui est initialisée à d1. Si un quelconque produit scalaire se révèle supérieur au maximum actuel, un nouveau maximum est fixé. Lorsque les j produits scalaires ont été comparés de cette manière, le maximum actuel est le maximum de tous les produits scalaires, et l'indice imaX associé au maximum est connu. Enfin, j-l vecteurs parmi les vecteurs de la base naturelle sont choisis, le vecteur de la base naturelle ayant l'indice imax étant omis. Pour des raisons de commodité, les ensembles de j-1 vecteurs peuvent être choisis dans une table, comme le montre le pavé 138. La figure 9 est une représentation détaillée du pavé 128 de la figure 7 où j-l vecteurs de la base sont calculés pour le complément orthogonal. Les j-1 vecteurs de la base naturelle, y > , pour i = 1,2,.. .,j-1, sont introduits dans le processus. Pour simplifier la notation, le vecteur zéro de la base est rendu égal au vecteur de segment de trajet, b = p, comme le montre le pavé 140. L'indice i est initialement fixé à zéro, dans le pavé 142, et il est incrémenté de 1, dans le pavé 144. Pour chaque valeur de i, un vecteur intermédiaire z est calculé, dans le pavé 146, d'après Chaque vecteur de la base est obtenu en normalisant à l'unité la longueur du vecteur z, comme le montre le pavé 148, à l'aide de l'expression Dans le pavé 150, la valeur de i est vérifiée pour déterminer si les j-1 vecteurs de la base ont tous été obtenus. Si tel est le cas, la tâche est accomplie, avec la solution bi pour i = 1,2,...,j-1. Extension au cas d'un mouvement partiellement prédéterminé Dans les cas où l'on souhaite insérer le point de passage sans modifier le mouvement planifié préalablement dans certaines dimensions, il est possible de modifier le procédé de la manière qui va être décrite dans la suite. D'après la définition d'un point de passage d'essai n" k sur la figure 6, l'équation de contrainte nécessaire pour chaque élément m qui est contraint de suivre un mouvement prédéterminé est Pour le cas où ndim = j, bi a la valeur 1 dans la ieme position et zéro ailleurs. La condition ci-dessus peut alors être remplie simplement en posant wmk = 0 pour chaque valeur m correspondant à un axe contraint de suivre un mouvement prédéterminé. Les autres poids peuvent être choisis comme précédemment. Pour le cas où ndim = j-1, bi peut avoir un élément quelconque non nul, et une approche plus générale, basée sur l'algèbre linéaire, est nécessaire. A titre d'exemple, considérons le cas d'un espace c à six dimensions avec au moins un élément de En - 5n non nul et pour lequel le mouvement suivant les trois premières dimensions n'a pas à être modifié par des points de passage. Dans ce cas j = 6, ndim = 5 et m1 = 1, m2 = 2, m3 = 3. Sous forme matricielle, les trois équations de contrainte résultantes se réduisent à où bij est l'élément j du vecteur i de la base. il s'agit d'un système sous-déterminé d'équations avec trois équations (chaque ligne) de cinq inconnues (les wik pour i = 1,2,3,4,5) qui peut être résolu pour trois des wik en fonction des deux autres, par division, transposition et inversion. La solution résultante donne les trois poids dépendants en fonction des deux poids indépendants. En particulier, une solution possible est Ici les éléments de W45k (W4k et W5k) sont des poids indépendants (paramètres libres) et les éléments de W123k (Wlk, W2k et W3k) sont définis en fonction de Wqk et W5k. Les g sont les facteurs reliant un poids dépendant w-k à un poids indépendant wjk et sont définis par les opérations matricielles indiquées dans l'équation ci-dessus. Bien entendu, la matrice 3x3 B123 doit être inversible. Si elle ne l'est pas, un autre choix de variables indépendantes doit être essayé. Du fait que les vecteurs de la base sont linéairement indépendants, au moins l'un des dix choix possibles (représentés dans le tableau ci-dessous) de poids indépendants conduira à une matrice inversible. Le choix qui donne le plus grand déterminant de la matrice 3x3 aura le meilleur comportement numérique. Poids indépendants Poids dépendants 1 2 3 4 5 1 3 2 4 5 1 4 2 3 5 1 5 2 3 ~ 4 2 3 1 4 5 2 4 1 3 5 2 5 1 3 4 3 4 1 2 5 3 5 1 2 4 4 5 1 2 3 Il en résulte une famille à deux paramètres de points de passage d'essai qui sont orthogonaux au segment de trajet et qui n'entraînent aucun écart au trajet prédéterminé suivant l'axe 1, 2 ou 3 de l'espace c. Sous forme développée, le point de passage n k est défini par TWPk = g +d -{(gl4 W4* +g,5-W5*)-b, +(g24 W4* +g25-Wi) 2 +(g34.w4k + g35.W5k).b3 + W4k En faisant varier W4 et W5, I il est possible de générer des points de passage d'essai en un point quelconque du plan perpendiculaire au vecteur de trajet et n'entraînant aucun écart au trajet prédéterminé suivant l'axe 1, 2 ou 3 de l'espace c. On comprendra d'après ce qui précède que les principes de la présente invention s'appliquent aussi à d'autres domaines que la commande de mécanismes robotisés multiples dans lesquels les trajets d'objets mobiles doivent être commandés de manière à éviter des collisions. En particulier, l'invention fournit une combinaison de planification de trajets dans un espace c, pour la planification grossière du trajet de chaque objet, et d'exécution d'un champ de forces artificiel à un niveau de résolution plus fine. Cette combinaison permet d'éviter les problèmes posés précédemment par chacune de ces approches. L'invention concerne aussi des améliorations de la planification des trajets dans l'espace c, et en particulier une technique itérative dans l'espace c pour planifier un trajet dans un espace de travail qui ne nécessite que des exigences de calcul modérées. REVENDICATIONS 1. Système pour commander les mouvements d'objets mobiles multiples dans un espace de travail où la position de chaque objet dépend de la configuration d'une pluralité d'organes de liaison reliés entre eux, définie par une pluralité, n, de réglages de configuration correspondant à n degrés de liberté de l'objet, caractérisé en ce qu'il comprend un planificateur de trajets (12) qui a pour fonction de planifier à l'avance une série de mouvements de chacun des objets mobiles pour produire un plan à échelle relativement grossière pour les mouvements, le planificateur de trajets déterminant des trajets dans un espace de configuration défini par n axes orthogonaux correspondant à n réglages de configuration qui définissent la position de chaque objet dans l'espace à trois dimensions, et un module d'exécution de trajets (14) qui a pour fonction de déplacer les objets selon le plan à échelle relativement grossière fourni par le planificateur de trajets et qui comprend un sous-système d'évitement de collisions à champ de forces artificiel à échelle fine pour transmettre des signaux de commande aux objets mobiles de manière qu'ils se déplacent sur des trajets déterminés en partie par le planificateur de trajets et en partie par le sous-système d'évitement de collisions, de sorte que les objets sont déplacés de points initiaux à des points terminaux voulus sans collisions entre eux ou avec tout obstacle fixe. 2. Système selon la revendication 1 caractérisé en ce que le planificateur de trajets comprend une base de données (32) de l'espace de configuration définissant l'espace de travail sous forme de multiples cellules à n dimensions, une logique de production de base de donnée (34) pour déterminer l'état de collision de chaque cellule de la base de données de l'espace de configuration, l'état de collision étant plein , ce qui indique qu'il y a une possibilité de collisions pour toutes les combinaisons de réglages de configuration dans la cellule, vide , ce qui indique qu'il n'y a pas de possibilité de collisions dans la cellule, ou mixte , ce qui indique qu'il y a une possibilité de collisions pour certaines combinaisons de réglages de configuration dans la cellule, et un module exécuteur de planification de trajets (30) qui utilise les informations concernant chaque cellule de la base de données de l'espace de configuration pour planifier un trajet d'un point à un autre dans l'espace de configuration de manière à éviter les collisions. 3. Système selon l'une quelconque des revendications 1 et 2 caractérisé en ce que le planificateur de trajets comprend en outre un module de réglage temporel de segments de trajets (36) destiné à produire des données temporelles pour le module exécuteur de planification de trajets sur la base de contraintes dynamiques données qui doivent être appliquées à des variables d'articulation. 4. Système selon l'une quelconque des revendications précédentes caractérisé en ce que le module d'exécution de trajets comprend un interpolateur de points de passage (40) destiné à générer des trajets à résolution plus fine d'après les données de trajets fournies par le planificateur de trajets, un module de loi de commande (42) destiné à produire des signaux de commande sur la base des trajets à résolution plus fine dans l'espace de configuration et de réglages de configuration prédits des objets, un modèle de forces d'évitement de collisions (46) destiné à produire des signaux de commande d'évitement de collisions sur la base de la proximité mutuelle d'objets dans l'espace de travail, et des moyens pour combiner les signaux de commande d'évitement de collisions et les signaux de commande provenant du module de loi de commande, l'évitement des collisions étant réalisé à une échelle fine par modification des trajets planifiés dans l'espace de configuration, et l'interpolateur de points de passage incluant un module de réglage temporel de segments de trajets pour générer des données temporelles destinées à être utilisées dans la planification des trajets interpolés sur la base de contraintes dynamiques données qui doivent être appliquées à des variables d'articulation. 5. Système selon l'une quelconque des revendications 2 à 4 caractérisé en ce que le module exécuteur de planification de trajets comprend en outre des moyens pour choisir un premier trajet d'essai et pour déterminer si le trajet passe par une quelconque cellule pleine ou mixte, et des moyens pour choisir systématiquement un second trajet d'essai et d'autres trajets d'essai si les trajets d'essai choisis précédemment sont susceptibles de collisions, un trajet sans collisions étant finalement choisi. 6. Système selon la revendication 5 caractérisé en ce que les moyens pour choisir systématiquement un second trajet d'essai et d'autres trajets d' essai comprennent des moyens pour détecter un point central dans une partie du trajet d'essai qui passe dans une région de collisions de cellules pleines ou mixtes et des moyens pour choisir un point de passage d'essai situé sur une droite passant par le point central et orthogonale au trajet d'essai qui passe par le point central, le point de passage d'essai étant choisi pour être sur le trajet planifié si le point de passage d'essai n'est pas dans la région de collisions. 7. Système selon la revendication 1 caractérisé en ce que le module d'exécution de trajets comprend un interpolateur de points de passage (40) destiné à générer des trajets à résolution plus fine d'après les données de trajets fournies par le planificateur de trajets, un module de loi de commande (42) destiné à produire des signaux de commande sur la base des trajets à résolution plus fine dans l'espace de configuration et de réglages de configuration prédits des objets, un modèle de forces d'évitement de collisions (46) destiné à produire des signaux de commande d'évitement de collisions sur la base de la proximité mutuelle d'objets dans l'espace de travail, et des moyens pour combiner les signaux de commande d'évitement de collisions et les signaux de commande provenant du module de loi de commande, l'évitement des collisions étant réalisé à une échelle fine par modification des trajets planifiés dans l'espace de configuration. 8. Système selon la revendication 7 caractérisé en ce que le module d'exécution de trajets comprend en outre un modèle dynamique (44) pour fournir des estimations de réglages de configurations d'objets destinées à être utilisées par le module de loi de commande et le modèle de forces d'évitement de collisions. 9. Système pour commander les mouvements de manipulateurs robotisés multiples dans un espace de travail où la position de chaque manipulateur dépend de la configuration d'une pluralité d'organes de liaison reliés entre eux, définie par une pluralité, n, de réglages de configuration d'articulations correspondant à n degrés de liberté du manipulateur, caractérisé en ce qu'il comprend un planificateur de trajets (12) qui a pour fonction de planifier à l'avance une série de mouvements de chacun des manipulateurs robotisés pour produire un plan à échelle relativement grossière pour les mouvements, le planificateur de trajets déterminant des trajets dans un espace de configuration défini par n axes orthogonaux correspondant à n réglages de configuration d'articulations qui définissent la position de chaque manipulateur dans l'espace à trois dimensions, et un module d'exécution de trajets (14) qui a pour fonction de déplacer les manipulateurs selon le plan à échelle relativement grossière fourni par le planificateur de trajets et qui comprend un sous-système d'évitement de collisions à champ de forces artificiel à échelle fine pour transmettre des signaux de commande aux manipulateurs de manière qu'ils se déplacent sur des trajets déterminés en partie par le planificateur de trajets et en partie par le sous-système d'évitement de collisions, de sorte que les manipulateurs sont déplacés de points initiaux à des points terminaux voulus sans collisions entre eux ou avec tout obstacle fixe. 10. Système selon la revendication 9 caractérisé en ce que le planificateur de trajets comprend une base de données (32) de l'espace de configuration définissant l'espace de travail sous forme de multiples cellules à n dimensions, une logique de production de base de donnée (34) pour déterminer l'état de collision de chaque cellule de la base de données de l'espace de configuration, l'état de collision étant plein , ce qui indique qu'il y a une possibilité de collisions pour toutes les combinaisons de réglages de configuration d'articulations dans la cellule, vide , ce qui indique qu'il n'y a pas de possibilité de collisions dans la cellule, ou mixte , ce qui indique qu' il y a une possibilité de collisions pour certaines combinaisons de réglages de configuration d'articulations dans la cellule, et un module exécuteur de planification de trajets (30) qui utilise les informations concernant chaque cellule de la base de données de l'espace de configuration pour planifier un trajet d'un point à un autre dans l'espace de configuration de manière à éviter les collisions. 11. Système selon l'une quelconque des revendications 9 et 10 caractérisé en ce que le planificateur de trajets comprend en outre un module de réglage temporel de segments de trajets (36) destiné à produire des données temporelles pour le module exécuteur de planification de trajets sur la base de contraintes dynamiques données qui doivent être appliquées à des variables d'articulation. 12. Système selon l'une quelconque des revendications 9 à 11 caractérisé en ce que le module d'exécution de trajets comprend un interpolateur de points de passage (40) destiné à générer des trajets à résolution plus fine d'après les données de trajets fournies par le planificateur de trajets, un module de loi de commande (42) destiné à produire des signaux de commande sur la base des trajets à résolution plus fine dans l'espace de configuration et des états prédits des manipulateurs, un modèle de forces d'évitement de collisions (46) destiné à produire des signaux de commande d'évitement de collisions sur la base de la proximité mutuelle de manipulateurs et de tous autres objets dans l'espace de travail, et des moyens pour combiner les signaux de commande d'évitement de collisions et les signaux de commande provenant du module de loi de commande, l'évitement des collisions étant réalisé à une échelle fine par modification des trajets planifiés dans l'espace de configuration, et l'interpolateur de points de passage incluant un module de réglage temporel de segments de trajets pour générer des données temporelles destinées à être utilisées dans la planification des trajets interpolés sur la base de contraintes dynamiques données qui doivent être appliquées à des variables d'articulation. 13. Système selon l'une quelconque des revendications 10 à 12 caractérisé en ce que le module exécuteur de planification de trajets comprend en outre des moyens pour choisir un premier trajet d'essai et pour déterminer si le trajet passe par une quelconque cellule pleine ou mixte, et des moyens pour choisir systématiquement un second trajet d'essai et d'autres trajets d'essai si les trajets d'essai choisis précédemment sont susceptibles de collisions, un trajet sans collisions étant finalement choisi. 14. Système selon la revendication 13 caractérisé en ce que les moyens pour choisir systématiquement un second trajet d'essai et d'autres trajets d' essai comprennent des moyens pour détecter un point central dans une partie du trajet d'essai qui passe dans une région de collisions de cellules pleines ou mixtes et des moyens pour choisir un point de passage d'essai situé sur une droite passant par le point central et orthogonale au trajet d'essai qui passe par le point central, le point de passage d'essai étant choisi pour être sur le trajet planifié si le point de passage d'essai n'est pas dans la région de collisions. 15. Système selon la revendication 9 caractérisé en ce que le module d'exécution de trajets comprend un interpolateur de points de passage (40) destiné à générer des trajets à résolution plus fine d'après les données de trajets fournies par le planificateur de trajets, un module de loi de commande (42) destiné à produire des signaux de commande sur la base des trajets à résolution plus fine dans l'espace de configuration et des états prédits des manipulateurs, un modèle de forces d'évitement de collisions (46) destiné à produire des signaux de commande d'évitement de collisions sur la base de la proximité mutuelle de manipulateurs et de tous autres objets dans l'espace de travail, et des moyens pour combiner les signaux de commande d'évitement de collisions et les signaux de commande provenant du module de loi de commande, l'évitement des collisions étant réalisé par modification des trajets planifiés dans l'espace de configuration. 16. Système selon la revendication 15 caractérisé en ce que le module d'exécution de trajets comprend en outre un modèle dynamique de manipulateurs (44) pour fournir des estimations de réglages de configuration d'articulations de manipulateurs destinées à être utilisées par le module de loi de commande et le modèle de forces d'évitement de collisions. 17. Procédé pour planifier et exécuter les mouvements d'objets mobiles multiples dans un espace de travail où la position de chaque objet dépend de la configuration d'une pluralité d'organes de liaison reliés entre eux, définie par une pluralité, n, de réglages de configuration correspondant à n degrés de liberté de l'objet, caractérisé en ce qu'il comprend les étapes de planification à l'avance d'une série de mouvements de chacun des objets mobiles pour produire un plan à échelle relativement grossière pour les mouvements, l'étape de planification déterminant des trajets dans un espace de configuration défini par n axes orthogonaux correspondant à n réglages de configuration qui définissent la position de chaque objet dans l'espace à trois dimensions, de commande de l'exécution des trajets de manière à déplacer les objets principalement selon le plan à échelle relativement grossière fourni par l'étape de planification et qui comprend une étape supplémentaire de production de signaux de commande d'évitement des collisions sur la base d'un modèle à champ de forces artificiel, et de transmission de signaux de commande aux objets mobiles de manière qu'ils se déplacent sur des trajets déterminés en partie par l'étape de planification de trajets et en partie par l'étape de commande de l'exécution des trajets, de sorte que les objets sont déplacés de points initiaux à des points terminaux voulus sans collisions entre eux ou avec tout obstacle fixe. 18. Procédé selon la revendication 17 caractérisé en ce que l'étape de planification de trajets comprend l'établissement d'une base de données (32) de l'espace de configuration définissant l'espace de travail sous forme de multiples cellules à n dimensions, la détermination de l'état de collision de chaque cellule de la base de données de l'espace de configuration, l'état de collision étant plein , ce qui indique qu'il y a une possibilité de collisions pour toutes les combinaisons de réglages de configuration dans la cellule, vide , ce qui indique qu' il n'y a pas de possibilité de collisions dans la cellule, ou mixte , ce qui indique qu'il y a une possibilité de collisions pour certaines combinaisons de réglages de configuration dans la cellule, et la production d'un plan de trajets grossier à 1' aide des informations concernant chaque cellule de la base de données de l'espace de configuration pour permettre un mouvement sur un trajet d'un point à un autre dans l'espace de configuration de manière à éviter les collisions. 19. Procédé selon l'une quelconque des revendications 17 et 18 caractérisé en ce que l'étape de production d'un trajet grossier comprend la production de données temporelles pour des segments multiples du trajet grossier sur la base de contraintes dynamiques données qui doivent être appliquées à des variables d'articulation. 20. Procédé selon l'une quelconque des revendications 17 à 19 caractérisé en ce que l'étape de commande d'exécution de trajets comprend une interpolation entre des points de passage de planification de trajets grossiers pour générer des trajets planifiés à résolution plus fine, la production de signaux de commande sur la base des trajets à résolution plus fine dans l'espace de configuration et de réglages prédits de configuration des objets, la production de signaux de commande d'évitement de collisions sur la base de la proximité mutuelle d'objets dans l'espace de travail, et la combinaison des signaux de commande d'évitement de collisions et des signaux de commande basés sur les trajets planifiés à résolution plus fine, l'évitement des collisions étant réalisé par modification des trajets planifiés dans l'espace de configuration, et l'étape d'interpolation incluant la production de données temporelles destinées à être utilisées dans la planification des trajets interpolés sur la base de contraintes dynamiques qui doivent être appliquées à des variables d'articulation. 21. Procédé selon l'une quelconque des revendications 18 à 20 caractérisé en ce que l'étape de production d'un plan de trajets grossier comprend le choix d'un premier trajet d'essai et la détermination du fait que le trajet passe ou non par une quelconque cellule pleine ou mixte, et le choix systématique d'un second trajet d'essai et d'autres trajets d'essai si les trajets d'essai choisis précédemment sont susceptibles de collisions, un trajet sans collisions étant finalement choisi. 22. Procédé selon la revendication 21 caractérisé en ce que l'étape de choix systématique d'un second trajet d'essai et d'autres trajets d' essai comprend la détection d'un point central dans une partie du trajet d'essai qui passe par une région de collisions de cellules pleines ou mixtes et le choix d'un point de passage d'essai situé sur une droite passant par le point central et orthogonale au trajet d'essai qui passe par le point central, le point de passage d'essai étant choisi pour être sur le trajet planifié si le point de passage d'essai n' est pas dans la région de collisions.