FR 3137859 A1 20240119 FR 2207293 A 20220716 L'invention concerne un procédé d’assemblage automatisé d’une pièce fixe (1) avec une pièce mobile (2) apte à être déplacée par rapport à la pièce fixe par un robot. Le procédé comprend les étapes suivantes : détermination de points de repère à la première extrémité (3) de la pièce fixe (1) et à la deuxième extrémité (4) de la pièce mobile ; positionnement d’au moins une caméra (5, 6, 7) de façon que les points de repère des deux pièces soient dans le champ visuel de la caméra ; application d’une boucle d’asservissement visuelle primaire à partir d’images des extrémités des deux pièces pour déterminer une première consigne de déplacement du robot ; et application d’une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe des champ de vecteurs à partir des images des extrémités des deux pièces pour générer une deuxième consigne de déplacement réalisant l’encastrement des pièces. (Fig. 1) Procédé d’aSSEMBLAGE automatisé de deux pièces comprenant un asservissement avec des caméras Domaine technique de l’invention L'invention concerne, de façon générale, le domaine technique des procédés d’assemblage automatisés de deux pièces par des systèmes robotisés et plus particulièrement l’assemblage de précision de pièces telles des poutres comprenant une liaison mécanique du type tenon/chape à leur extrémité. Elle vise également un système d’assemblage mettant en œuvre ces procédés. L’invention se rapporte plus spécifiquement à un procédé d’assemblage automatisé pour aligner et encastrer deux poutres d’un aéronef. Ce type de système robotisé est également appelé machine-outil. On entend sous le terme de machine-outil, une mécanique composée d'axes numériques asservis. Il peut s'agir notamment de portiques robotisés ou de robots industriels identifiés dans la suite sous le terme de robot. État de la technique antÉrieure De manière générale, la structure d'un aéronef est très complexe, et elle est souvent divisée en plusieurs éléments de structure présentant des sections importantes. Par exemple, le fuselage d’un aéronef est constitué de plusieurs tôles soutenues par une structure interne comportant plusieurs poutres assemblées les unes aux autres. Pour pouvoir être assemblées, ces poutres sont d’abord positionnées l’une par rapport à l’autres avec précision, puis encastrées l’une dans l’autre. Les avionneurs utilisent actuellement un positionnement global des modules intégrant les poutres à assembler par un système métrologique de type laser de poursuite. Les poutres ne sont pas conçues pour être encastrées directement. Pour réaliser la liaison mécanique une poutre mâle comprend des tenons à l’une de ses extrémités destinées à s’insérer dans des chapes prévues à une extrémité d’une poutre femelle. L’une des poutres est mobile par rapport à l’autre. La liaison mécanique est réalisée en alternant des mouvements d’approche et, dans le cas d’un réglage « au pratique », d’ajustage des deux poutres. Les tenons sont réusinés sur place pour s’adapter à la géométrie des chapes. L’assemblage se réalise de façon itérative par les opérateurs, qui alternent une lecture des positions relatives des poutres à assembler et un déplacement du support supportant l’une des poutres. Ce déplacement manuel nécessite l’expérience de l’opérateur pour palier notamment à la déformation des outillages, leurs erreurs d’alignement ou les jeux mécaniques. Ce procédé de déplacement manuel est également très long. De plus, il est fréquent pour certains types d’avion que l’alignement final des alésages des tenons et chapes ne respectent pas les tolérances. Il peut y avoir 1 mm d’espacement entre les poutres. Les tenons doivent alors être passés en force. On connaît le document CN110919654 qui vise à résoudre ces problèmes et qui divulgue un bras robotisé asservi par une caméra. La caméra réalise des images de l’interface entre deux pièces d’un fuselage d’aéronef à assembler qui sont transmises à un système de traitement d’image qui calcule en retour une consigne de déplacement qui est transmise au bras robotisé. Ce document divulgue également un système d’assemblage automatique robotisé de deux poutres d’avion dont la liaison mécanique est constituée de tenons et chapes. Le système comprend trois caméras déposées autour de la liaison et des moyens pour exécuter un algorithme d’asservissement visuel guidant le mouvement d’encastrement. Cependant, ces systèmes d’asservissement par caméra ne sont pas précis sur l’ensemble de la trajectoire et peuvent entraîner des collisions ou des frottements entre les tôles, notamment lors de l’étape d’encastrement qui est délicate. Il est en effet difficile d’obtenir un mouvement parfaitement linéaire. L’invention vise à remédier à tout ou partie des inconvénients de l’état de la technique en proposant notamment un procédé d’assemblage automatisé plus précis et plus rapide que ceux de l’art antérieur. Pour ce faire est proposé, selon un premier aspect de l'invention, un procédé d’assemblage automatisé d’une pièce fixe avec une pièce mobile apte à être déplacée par rapport à la pièce fixe par un robot. Le procédé comprend les étapes suivantes : détermination de points de repère à la première extrémité de la pièce fixe et à la deuxième extrémité de la pièce mobile, positionnement d’au moins une caméra de façon que les points de repère des deux pièces soient dans le champ visuel de la caméra, la caméra étant fixe par rapport à la pièce fixe, application d’une boucle d’asservissement visuelle primaire à partir d’images des extrémités des deux pièces prises par la caméra pour déterminer une première consigne de déplacement du robot pour lui permettre de rapprocher la pièce mobile vers la pièce fixe, application d’une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe des champ de vecteurs à partir des images des extrémités des deux pièces prises par la caméra pour générer une deuxième consigne de déplacement permettant au robot d’encastrer la pièce mobile dans la pièce fixe, et fixation des deux pièces ensemble. Selon un mode de réalisation, la boucle d’asservissement visuelle primaire comprend les étapes suivantes : prise d’une image des extrémités des deux pièces, détermination d’une image cible, et comparaison entre des pixels de l’image cible et des pixels de l’image prise pour générer la consigne de déplacement d’après un écart entre lesdits pixels. Selon un autre mode de réalisation, le procédé d’assemblage comprend une étape initiale dans laquelle la position et l’orientation de la caméra par rapport à la pièce fixe sont déterminées à partir de l’observation de l’extrémité de la pièce fixe par la caméra et via un calcul d’optimisation numérique. Selon un autre mode de réalisation, un vecteur cible (x, y) de la pièce mobile est déterminé à partir de la position relative entre la pièce fixe et la caméra et de la configuration d’encastrement entre la pièce fixe et la pièce mobile, x et y étant les coordonnées des points de repère cibles. Selon un autre mode de réalisation, un vecteur de mesure (x’, y’) est déterminé à partir des images prises par la caméra, x’ et y’ étant les coordonnées des points de repère sur les pièces. Le vecteur de mesure (x’, y’) est comparé au vecteur cible (x, y) pour déterminer l’écart entre les pixels. Un profil de vitesse est déterminé à partir de l’écart. Une opération de pseudo-inverse de la matrice d’interaction est appliquée sur le profil de vitesse pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot est appliquée sur les vitesses cartésiennes pour obtenir une consigne de déplacement. Selon un autre mode de réalisation, le procédé d’assemblage comprend, après l’étape initiale, une étape de présentation des pièces en boucle ouverte. Une simple boucle ouverte est réalisée lors de l’étape de présentation à l’issue de laquelle les pièces sont distantes de quelques centimètres. L’étape de présentation des pièces est suivie d’une boucle d'asservissement visuelle primaire de pré-encastrement lors d’une étape de pré-encastrement à l’issue de laquelle les pièces sont correctement alignées, c’est à dire dans une configuration où une simple translation reste à faire pour obtenir un encastrement sans contact. Un vecteur cible (x, y) est déterminé lors de chacune de ces étapes. Une boucle d'asservissement visuelle secondaire est ensuite réalisée lors d’une étape d’encastrement dans laquelle les pièces s’encastrent sans contact jusqu’à l’alignement des alésages. Selon un autre mode de réalisation, pour réaliser la boucle d’asservissement visuelle secondaire, un premier vecteur cible s 1 correspondant à une première position et un deuxième vecteur cible s 2 correspondant à une seconde position sont calculés lors de l’étape de pré-encastrement. Une droite [s 1 , s 2 ] dans chaque image des caméras est tracée dans l’espace des pixels. Des images des extrémités des pièces sont prises par la caméra pour obtenir un champ vectoriel f(s) dans chaque image des caméras à partir de vecteurs s mesurés par les caméras. De préférence, un profil de vitesse en pixel est déterminé à partir du champ vectoriel f(s). Une opération de pseudo-inverse de la matrice d’interaction est appliquée sur le profil de vitesse en pixel pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot est appliquée sur les vitesses cartésiennes pour obtenir la consigne de rapprochement permettant de piloter le robot. Selon un autre mode de réalisation, les points de repère comprennent des marqueurs en forme de disque répartis autour d’alésages prévus sur la pièce mobile et sur la pièce fixe pour la fixation des deux pièces. L’invention concerne également un système d’assemblage automatisé d’une pièce fixe avec une pièce mobile apte à être déplacée par rapport à la pièce fixe par un robot. Le système met en œuvre le procédé d’assemblage tel que défini précédemment. L’invention permet ainsi de fournir un procédé d’assemblage automatisé plus précis que ceux de l’art antérieur et permet plus particulièrement de déplacer la pièce mobile selon une trajectoire plus rectiligne en réduisant la durée de l’opération d’assemblage à moins de trois minutes. Il est également possible d’étendre ce procédé à un chemin courbe. La solution proposée ne crée pas de collision, ni frottement entre les pièces. Elle présente également une répétabilité de positionnement de l’ordre de 0,2 mm. De plus, les caméras peuvent être placées approximativement autour de leurs positions nominales respectives au moment-même de l’opération d’ assemblage. Le recalage des caméras est réalisé automatiquement. Si la pièce mobile s’écarte de l’axe d’assemblage, le procédé permet simultanément de diminuer l’écart et de faire avancer la pièce mobile. L’équilibre entre ces deux actions est ajustable empiriquement par le réglage d’un gain afin d’éviter les contacts avec les deux pièces. La solution est générique et peut s’étendre à d’autres types de pièces et pour des applications autres que les aéronefs. brÈve description des figures D’autres caractéristiques et avantages de l’invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : : une vue d’une pièce mobile se déplaçant par rapport à une pièce fixe lors d’un procédé d’assemblage, selon un mode de réalisation de l’invention ; : une vue de la pièce fixe encastrée dans la pièce mobile après le procédé d’assemblage ; : un diagramme représentant les différentes opérations appliquées lors d’une boucle d’asservissement visuelle primaire ; : un diagramme représentant les différentes opérations appliquées lors d’une boucle d’asservissement visuelle secondaire ; : une vue d’un champ de vecteurs comprenant un segment de vecteurs [s1, s2] ; : une représentation schématique de l’espace des mesures divisés en trois zones ; : une représentation schématique de la décomposition du vecteur s. Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l’ensemble des figures. description DÉTAILLÉE d’un mode de rÉalisation L’invention concerne un procédé d’assemblage automatisé d’une pièce fixe 1 avec une pièce mobile 2, telles que représentées sur la , apte à être déplacée par rapport à la pièce fixe 1 par un robot ou un contrôleur de vitesse. On entend par robot, un système robotisé également appelé machine-outil. Une machine-outil peut être une mécanique composée d'axes numériques asservis. Il peut s'agir notamment de portiques robotisés ou de robots industriels ou d’actionneurs. Dans l’exemple qui suit, la pièce mobile 2 est une pièce femelle comprenant au moins une chape 11a, 11b, 11c s’étendant suivant une direction axiale X qui est parallèle à la direction d’avancement de la pièce mobile 2. La chape 11a, 11b, 11c comprend un alésage 9 présentant un axe perpendiculaire à la direction axiale X. Dans cet exemple, la direction axiale X est sensiblement horizontale. Chaque chape 11a, 11b, 11c comprend également un logement 12. La pièce fixe 1 est une pièce mâle comprenant au moins un tenon 10a, 10b, 10c s’étendant suivant la direction axiale X et destiné à s’encastrer dans une chape 11a, 11b, 11c de la pièce femelle. Le tenon 10a, 10b, 10c comprend également un alésage 8 présentant un axe perpendiculaire à la direction axiale X. Alternativement, la pièce mobile 2 peut être une pièce femelle et la pièce fixe 1 peut être une pièce mâle. Dans l’exemple de la et de la , les alésages 8, 9 présentent une section circulaire mais peuvent présenter d’autres formes comme des formes carrées ou ovoïdes. De préférence, la pièce mobile 2 comprend au moins trois chapes 11a, 11b, 11c et la pièce fixe 1 comprend au moins trois tenons 10a, 10b, 10c. Dans l’exemple de la et de la , la pièce mobile 2 est une pièce femelle comprenant cinq chapes 11a, 11b, 11c dont deux premières chapes latérales 11a juxtaposées l’une au-dessus de l’autre, deux deuxièmes chapes latérales 11b juxtaposées l’une au-dessus de l’autre et une chape centrale 11c positionnée entre les chapes latérales 11a, 11b. Les deux premières chapes latérales 11a et les deux deuxièmes chapes latérales 11b comprennent chacune un alésage 9 qui présente un axe central perpendiculaire à la direction X et qui s’étend suivant une direction Y. La chape centrale 11c comprend un axe central perpendiculaire à la direction X et qui s’étend suivant une direction Z perpendiculaire aux directions X et Y. Par symétrie, la pièce fixe 1 est une pièce mâle comprenant cinq tenons 10a, 10b, 10c s’étendant suivant la direction axiale X, dont deux premiers tenons latéraux 10a juxtaposés l’un au-dessus de l’autre, deux deuxièmes tenons latéraux 10b juxtaposés l’un au-dessus de l’autre et un tenon central 10c positionné entre les tenons latéraux 10a, 10b. Comme illustré sur la , chaque tenons 10a, 10b, 10c de la pièce fixe 1 est destiné à s’encastrer dans une des chapes 11a, 11b, 11c de la pièce mobile 2 et plus précisément dans le logement 12 des chapes 11a, 11b, 11c. Les alésages 9 des chapes 11a, 11b, 11c et les alésages 8 des tenons 10a, 10b, 10c sont alors alignés. Une pièce de fixation peut être alors introduite dans les alésages 8, 9 pour bloquer les pièces l’une par rapport à l’autre. Dans cet exemple, la première extrémité 3 de la pièce fixe 1 est progressivement occultée par la deuxième extrémité 4 de la pièce mobile 2. La pièce mobile 2 se déplace seulement en translation. Dans cet exemple, les pièces fixe 1 et mobiles 2 sont des poutres d’aéronef mais le procédé d’assemblage s’applique également à d’autres types de pièces. Selon un mode de réalisation possible de l’invention, le procédé d’assemblage comprend une étape de détermination de points de repère à la première extrémité 3 de la pièce fixe 1 et à la deuxième extrémité 4 de la pièce mobile 2. Le principe consiste à trouver des points remarquables ou identifiables sur les pièces 1, 2 pour qu’un asservissement basé sur une prise et traitement d’images puisse fonctionner. De préférence, les points de repère comprennent des marqueurs en forme de disque répartis autour de chaque alésage 9 prévu sur la pièce mobile 2 et autour de chaque alésage 8 prévu sur la pièce fixe 1. Dans cet exemple, les pièces fixe 1 et mobile 2 comprennent chacune cinq alésages 8, 9 et donc cinq motifs comprenant chacun huit marqueurs en forme de disque répartis de façon concentrique autour de l’axe de chaque alésage 8, 9. Les motifs sont identiques et présentent une couleur uniforme. Les disques doivent avoir un contour précis et net. Ils ne doivent pas créer de surépaisseur. Ils peuvent être obtenus en remplissant une substance colorée peinture, résine, etc. dans une défonce, puis en polissant la pièce. Dans cet exemple, il y a donc en tout 40 marqueurs par pièce. La présence de marqueurs n’est pas une condition de réussite et ne doit pas apparaitre comme tel. Mais il est préférable d’ajouter des marqueurs afin d’avoir une très grande confiance dans les mesures obtenues par un procédé visuel. Le procédé fonctionne sans marqueurs artificiels mais cela entraîne une plus forte complexité du traitement d’image, une moins bonne robustesse aux conditions d’éclairage, sans pour autant impacter le procédé d’asservissement en lui-même. En variante, les points de repère peuvent être les centres des alésages 8, 9. Les points de repère de la pièce mobile 2 doivent coïncider avec les points de repère de la pièce fixe 1 lors de l’encastrement. En variante, il n’est pas nécessaire que les points de repère de la pièce mobile 2 coïncident avec les points de repère de la pièce fixe 1. Le procédé d’assemblage comprend une étape de positionnement d’au moins une caméra 5, 6, 7 de façon que les points de repère des deux pièces 1, 2 soient dans le champ visuel de la caméra 5, 6, 7. La caméra 5, 6, 7 est fixe par rapport à la pièce fixe 1. Il est possible d’utiliser une seule caméra 5, 6, 7 mais il est préférable d’en utiliser trois comme dans le mode de réalisation présenté ci-dessous car la profondeur est plus sensible aux erreurs. Selon un mode de réalisation préféré, une première caméra 5 est positionnée et orientée face aux alésages 9 des deux premières chapes latérales 11a de la pièce mobile 2 et face aux alésages 8 des deux premiers tenons latéraux 10a de la pièce fixe 1. Une deuxième caméra 6 est positionnée et orientée face aux alésages 9 des deux deuxièmes chapes latérales 11b de la pièce mobile 2 et face aux alésages 8 des deux deuxièmes tenons latéraux 10b de la pièce fixe 1. Une troisième caméra 7 est positionnée et orientée face à l’alésage 9 de la chape centrale 11c de la pièce mobile 2 et face à l’alésages 8 du tenon central 10c de la pièce fixe 1. L’axe des caméras 5, 6, 7 est sensiblement perpendiculaire à la direction axiale X. L’axe z de visée de la troisième caméra 7 est sensiblement perpendiculaire aux axes de visée des première et deuxième caméras 5, 6 et est de préférence parallèle à la direction Z. Pour des poutres standards d’aéronefs avec des diamètres d’alésage de quelques centimètres, les caméras 5, 6, 7 peuvent être des caméras 5, 6, 7 à 12 Mégapixels de modèle GV-5200SE-C-HQ de la société IDS comprenant des objectifs M111FM16 de la société Tamron. La calibration intrinsèque de chaque caméra 5, 6, 7 doit être faite rigoureusement (mire de calibration industrielle) une fois le focus réglé pour obtenir une image nette à environ 30 cm de distance. Chaque caméra 5, 6, 7 est positionnée à environ 30 cm des pièces 1, 2. Selon un mode de réalisation, le procédé d’assemblage comprend trois étapes de déplacement de la pièce mobile 2 dont une étape de présentation des pièces 1, 2. La pièce mobile 2 est « présentée » face à la pièce fixe 1. La pièce mobile 2 est dans le champ de vision des caméras 5, 6, 7. La distance entre les deux pièces 1, 2 selon la direction axiale X est de quelques centimètres. Le procédé d’assemblage comprend également une étape de pré-encastrement dans laquelle la pièce mobile 2 est déplacée potentiellement suivant tous les axes jusqu’à être bien alignée avec la pièce fixe 1 et une étape d’encastrement dans laquelle la pièce mobile 2 est encastrée avec la pièce fixe 1. Le procédé d’assemblage comprend une étape initiale dans laquelle la position et l’orientation des caméras 5, 6, 7 par rapport à la pièce fixe 1 sont déterminées à partir de l’observation de l’extrémité de la pièce fixe 1 par les caméras 5, 6, 7 et au moyen d’un calcul d’optimisation numérique du type méthode des moindres carrés, par exemple. Plus précisément, lors de l’étape initiale, chaque caméra 5, 6, 7 observe les tenons 10a, 10b, 10c qui lui font face (un seul dans le cas de la troisième caméra 7) et il est appliqué un traitement d’image pour obtenir les centres des marqueurs. Connaissant la géométrie de ce que la caméra 5, 6, 7 observe, un algorithme de calcul de position est appliqué pour en déduire la position relative de la caméra 5, 6, 7 par rapport à la pièce fixe 1. De préférence, l’algorithme de calcul de position utilise une optimisation aux moindres carrés. Cette étape est automatique mais nécessite une validation visuelle de l’opérateur, par sécurité. La validation visuelle se fait en constatant la superposition dans l’image des marqueurs projetés c’est-à-dire là où les marqueurs sont supposés apparaître si la caméra 5, 6, 7 est à la position calculée avec les marqueurs réels. La position relative de la pièce fixe 1 par rapport à la base du robot est supposée connue approximativement. C’est le cas en pratique car la pièce fixe 1 est située sur un module ou support fixe, qui est référencé dans le repère d’un atelier. Pour l’étape de présentation, la pièce mobile 2 est approchée par l’opérateur ou par un programme en boucle ouverte vers une position suffisamment éloignée de la pièce fixe 1 pour éviter tout risque de collision entre les pièces 1, 2 mais suffisamment proche pour que les chapes 11a, 11b, 11c de la pièce mobile 2 entrent dans le champ de vision des caméras 5, 6, 7. Pour l’étape de pré-encastrement, une première boucle d’asservissement visuelle primaire est appliquée à partir d’images des extrémités des deux pièces 1, 2 prises par les caméras 5, 6, 7 pour déterminer une première consigne de déplacement d’un robot pour lui permettre d’aligner correctement la pièce mobile 2 face à la pièce fixe 1. L’étape initiale permet de réaliser la première boucle d’asservissement visuelle primaire. L’étape initiale permet de calculer une première image cible s 1 (ou première consigne dans l’image), comme illustré sur la . L’image est déterminée en plaçant virtuellement la pièce fixe 1 dans le cadre des caméras 5, 6, 7 en utilisant la position des caméras 5, 6, 7 et en simulant les images. Les erreurs d'estimation de certains degrés de liberté d’une caméra sont compensées par la combinaison des n images. À partir de la position relative des caméras 5, 6, 7 par rapport à la pièce fixe 1, et de la configuration d’encastrement de la pièce fixe 1 par rapport à pièce mobile 2, il est possible de déduire la position des caméras 5, 6, 7 par rapport à la pièce mobile 2. À partir du modèle sténopé de la caméra 5, 6, 7, il est possible de déduire la première image cible s 1 ou vecteur cible (x 1 , y 1 ), x 1 et y 1 étant les coordonnées des points de repère cibles lors d’une étape de calcul des cibles 13. Ensuite, une prise d’image de l’extrémité de la pièce 2 est réalisée pour déterminer un vecteur de mesure (x’ 1 , y’ 1 ), x’ 1 et y’ 1 étant les coordonnées des points de repère sur la pièce 2 lors d’une étape de mesure 14. Une première image mesurée s’ 1 est obtenue. Le vecteur de mesure (x’ 1 , y’ 1 ) est ensuite comparé au vecteur cible (x 1 , y 1 ) pour déterminer l’écart entre les pixels lors d’une étape de comparaison 15. Un profil de vitesse est déterminé à partir de l’écart lors d’une opération de calcul de profil de vitesse 16. La loi de rétroaction proportionnelle suivante est utilisée pour calculer une vitesse souhaitée dans l’espace de la caméra : = λ (s 1 – s’ 1 ), où λ est un facteur de gain positif. Seule la direction du vecteur vitesse dans l’espace image est cependant considérée. La norme est calculée pour qu’elle suive un profil de vitesses assurant une accélération douce et uniforme jusqu’à atteindre une vitesse maximale, ainsi qu’une décélération uniforme. Cependant, à proximité de la cible, la contrainte sur la décélération est levée pour éviter de rendre la commande instable : le vecteur est appliqué tel quel. Une matrice d’interaction L s est calculée. La matrice d’interaction est le nom donné usuellement pour désigner la matrice jacobienne liant le torseur cinématique cartésien aux vitesses des pixels. Une opération de pseudo-inverse de la matrice d’interaction 17 est ensuite appliquée sur le profil de vitesse pour obtenir des vitesses cartésiennes v avec la loi : = L s .v. Une opération de multiplication par la matrice jacobienne inverse du robot (ou des actionneurs) 18 est appliquée sur les vitesses cartésiennes pour obtenir une première consigne de déplacement comprenant une vitesse de déplacement du robot et en particulier une vitesse articulaire. Le robot déplace la pièce mobile 2 vers la pièce fixe 1 en fonction de la première consigne de déplacement lors d’une étape de pilotage 19. L’étape d’encastrement génère une deuxième image cible s 2 (ou deuxième consigne dans l’image), correspond à la position finale d’encastrement, comme illustré sur la . Le calcul de cette image cible suit le même procédé que pour s 1 . Les premier et deuxième vecteurs sont obtenus en concaténant les consignes-images des trois caméras 5, 6, 7. Selon une variante, il est possible de positionner une caméra devant chaque alésage. Il y a donc dans ce cas cinq caméras associées à cinq alésages de la pièce mobile (non représenté). Dans notre exemple, les premier et deuxième vecteurs cibles comportent donc au total 80 composantes comprenant les coordonnées x et y de chacun des 40 points de repère. Les vecteurs cibles sont manipulés dans le plan-image normalisé (avec z = 1 m). Le critère d’arrêt appliqué est alors un écart maximal entre les deux pièces 1, 2 de 1,5 mm. A une distance par rapport aux caméras 5, 6, 7 n’excédant pas 40 cm, cette erreur donne une erreur de positionnement de pixel dans l’espace inférieure à 0,6 mm. D’autre part, par effet de moyenne sur les 40 pixels, la précision cartésienne obtenue en pratique est bien meilleure, de l’ordre de 0,2 mm. Une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe de champ de vecteurs est alors appliquée lors de l’étape d’encastrement, comme illustré sur la , pour améliorer la linéarité pendant cette étape qui est délicate. En variante, la boucle d’asservissement visuelle secondaire peut être utilisée lors d’une autre étape de déplacement. Cette solution repose sur 2 idées. La première idée est de générer une loi de commande pour le robot explicitement sous la forme d'un champ vectoriel f(s) dans l'espace des images (ou capteurs). Ce champ vectoriel f(s) est une formule ad-hoc. En créant un champ vectoriel dans l'espace des images, l'avantage clé de l’asservissement basé sur l'image est maintenu. La deuxième idée concerne la stabilité du mouvement. En pratique, l'utilisation d'une formule basée sur des erreurs comme pour l’étape de pré-encastrement , outre la vitesse non uniforme, entraîne un déplacement en zigzag du robot autour de l'axe d'assemblage, avec un risque élevé de collision. L’objectif est de créer un champ vectoriel f(s) de vitesse à partir des mesures des caméras 5, 6, 7 qui respecte la cinématique de l’encastrement. Les vecteurs cibles (ou attendus) s 1 et s 2 associés à ces deux positions attendues sont calculés en 2 étapes. Tout d’abord, une trajectoire cartésienne idéale (segment [s 1 , s 2 ]) est construite dans l'espace des images. Ensuite, le champ vectoriel f(s) est construit autour de cette trajectoire cartésienne, comme illustré sur la . Il est commode pour cela de considérer la pièce fixe 1 comme référence. La trajectoire cartésienne de la pièce mobile 2 est une translation pure d'une position 1 initiale vers une position 2 finale. Ces positions sont directement obtenues à partir de la géométrie des deux pièces 1, 2. Une fois qu'une ligne est déterminée par la projection en perspective, lorsque la pièce mobile 2 se déplace à vitesse constante de la première position à la deuxième position, chaque pixel décrit un segment dans sa propre image. Cependant, la vitesse du pixel n'est pas constante si sa coordonnée z dans le cadre des caméras 5, 6, 7 n'est pas constante. C'est pourquoi il faut nécessairement que l'axe z de la caméra soit sensiblement parallèle à la direction Z, c’est-à-dire orthogonal à la direction axiale X. Dans cette hypothèse, les vitesses des pixels sont presque constantes, ce qui signifie que la trajectoire du vecteur cible s de toutes les caméras 5, 6, 7 est très proche du segment. L'idée est donc d'utiliser ce segment [s 1 , s 2 ] comme la contrepartie de l'axe d'assemblage dans l'espace image des caméras 5, 6, 7. Des images des extrémités des pièces 1, 2 sont prises par chaque caméra 5, 6, 7 pour obtenir des vecteurs s mesurés lors d’une étape de mesure 20. Le champ vectoriel f(s) dans chaque image des caméras 5, 6, 7 est ensuite obtenu à partir des vecteurs s mesurés par les caméras 5, 6, 7, lors d’une opération de calcul de champ vectoriel f(s) 21 et comme illustré sur la . La illustre un champ de vecteurs f(s) avec le segment [s 1 , s 2 ] pour un unique pixel. En réalité, il s’agit d’un segment dans l’espace de l’ensemble des pixels (40 dans notre exemple). Les flèches représentent le champ de vecteurs f(s) pour différentes valeurs de vecteurs s mesurées par les caméras. Le champ de vecteurs f(s) ramène les points sur la droite cible [s 1 , s 2 ] et assure leur progression vers la cible. En dehors des extrémités s 1 et s 2 , le champ est donc paramétré par deux vitesses distinctes : celle qui commande l'encastrement et celle qui commande la correction des écarts. Chaque vitesse peut être réglée indépendamment. Ce qui suit décrit un exemple de construction d’un champ de vecteurs de manière plus détaillée. Soit D la distance d'assemblage et V 0 la vitesse cartésienne désirée. La vitesse (moyenne) correspondante dans l'espace des mesures est : De par la façon dont les caméras sont positionnées, la vitesse réelle de s dans la trajectoire idéale ne s'écarte que légèrement de sa valeur moyenne, et l'écart est ainsi bien absorbé par la pseudo-inverse de la matrice Jacobienne L s , comme décrit ultérieurement. La droite passant par s 1 et s 2 est appelée « ligne de base 26 », comme illustré sur la figure 6 [Fig.6], et d 0 est le vecteur directeur, qui est orienté volontairement de s 2 vers s 1 selon la relation suivante : Pour construire le champ vectoriel, l'espace du capteur est divisé en trois zones, dont : une zone extérieure 27 où f ramène s à la ligne de base 26, suivant une loi proportionnelle basée sur l'écart (la distance par rapport à la ligne de base 26) avec un gain λ, un couloir 28 où f ramène s à la ligne de base 26 tout en le faisant progresser vers s 2 . La vitesse à l'intérieur du couloir 28 présente une norme constante : || f(s) || = v 0 , et une zone de freinage 29 où f fait converger s vers s 2 avec une décélération moyenne α le long de la ligne de base 26. La convergence est bornée par une exponentielle décroissante, soit de taux α (qui domine la projection sur la ligne de base 26), ou λ (qui domine la projection orthogonalement à la ligne de base 26). Ainsi, le champ vectoriel dépend de 3 paramètres : la vitesse souhaitée v 0 dans le couloir 28, la décélération moyenne α dans la zone de rupture 29, et le facteur de gain λ modélisant la force d'attraction de la ligne de base 26. La zone de freinage 29 est représentée par le papillon grisé sur la . Si la cible s 2 est dépassée (ce qui peut arriver en pratique), la zone de freinage 29 permet au système de reculer. Le recul est représenté par la flèche épaisse 30. Le champ est construit comme illustré sur la . Pour commencer, le vecteur s est décomposé en un scalaire d et un vecteur e selon la relation suivante : s = s 2 + d . d 0 + e d , comme « distance », représente la projection de s sur la ligne de base 26 avec s 2 comme origine, et e, comme « erreur », représente le reste. Il est nécessairement orthogonal à la ligne de base 26. Ces paramètres peuvent être obtenus rapidement si la matrice de projection sur la ligne de base 26 est calculée une fois pour toute selon la relation suivante : P = d 0 .d 0 T Dans ce cas, d = d 0 T P (s – s 2 ) et e = (I – P) (s – s 2 ). Une application linéaire avec saturation v( d ), est ensuite définie. Elle représente la vitesse souhaitée le long de la ligne de base 26. Le champ de vecteurs f(s) = f( d , e) est ensuite défini, comme illustré sur la . Ensuite, un profil de vitesse en pixel est déterminé à partir du champ de vecteurs f(s), lors d’une opération de calcul de profil de vitesse 22. Une opération de pseudo-inverse de la matrice d’interaction 23 est appliquée sur le profil de vitesse en pixel pour obtenir des vitesses cartésiennes. Une opération de multiplication par la matrice jacobienne inverse du robot 24 est ensuite appliquée sur les vitesses cartésiennes pour obtenir une consigne de rapprochement permettant de piloter le robot. La consigne de rapprochement se traduit entre autres sous la forme de vitesses (celle qui commande l'encastrement et celle qui commande la correction des écarts). Le robot déplace la pièce mobile 2 vers la pièce fixe 1 en fonction de la consigne de rapprochement lors d’une étape de pilotage 25. Ces différentes opérations permettent ainsi d’effectuer l’encastrement de façon plus linéaire par rapport à la boucle d’asservissement visuelle primaire. Elles permettent aussi d’éviter les nombreux inconvénients d’une trajectoire discrétisée, notamment le mouvement saccadé imposé par la convergence vers chaque point intermédiaire. Contrairement à la méthode d’asservissement primaire, la mesure des vecteurs est directement traduite par une vitesse grâce au champ de vecteur f(s) ad-hoc assurant à la fois la diminution de l’écart (à l’axe d’encastrement) et une vitesse de progression le long de l’axe. Une vitesse de déplacement n’est plus simplement déduite à partir d'un écart qui est compensé mais tous les déplacements souhaités sont décrits explicitement à partir d'un écart donné, de telle sorte que la cinématique de l'encastrement est bien respectée. Cela donne donc un champ de vecteurs dans l'espace des images. En variante, il est possible d’appliquer une méthode avec un encastrement très lent mais une correction rapide des écarts. Le champ a été construit pour être continu en tout point et donc, en théorie, ne provoquer aucune accélération brusque. Cependant, en pratique, il est fréquent que le système soit amené à freiner par sécurité, du fait d’un retard dans le flux d’images ou d’erreurs liées à leur traitement. Pour cette raison, les accélérations/décélérations sont de nouveau proprement gérées en appliquant de nouveau un profil de vitesses au champ de vecteurs f(s) en sortie du champ. Le champ de vecteurs f(s) est construit en utilisant le fait que la projection de la translation cartésienne donne bien une ligne droite dans l’image de chaque pixel en 2 dimensions (2D). Cependant, une translation de vitesse constante cartésienne ne donnera pas une trajectoire de vitesse constante en 2D. Imposer une vitesse uniforme sur chaque pixel en 2D entraîne donc une vitesse cartésienne non-uniforme. Particulièrement, les vitesses des différents pixels obtenues ne se traduisent pas par les mêmes vitesses cartésiennes. Elles sont en effet incompatibles, sauf cas très particuliers. Cependant, ces deux problèmes sont négligeables en pratique à cause de la variation de la vitesse cartésienne et le découplage des pixels. Le deuxième problème est rattrapé par la pseudo-inverse de la commande. En variante, l’algorithme peut construire un champ de vecteurs courbe, en projetant de façon exacte le vecteur vitesse cartésien sur chaque pixel. Ce calcul peut être réalisé dynamiquement au point s 1 ou s 2 , en appliquant le modèle de caméra 5, 6, 7 à partir de la position cartésienne estimée. Naturellement, l’invention est décrite dans ce qui précède à titre d’exemple. Il est entendu que l’homme du métier est à même de réaliser différentes variantes de réalisation de l’invention sans pour autant sortir du cadre de l’invention. Il est souligné que toutes les caractéristiques, telles qu’elles se dégagent pour un homme du métier à partir de la présente description, des dessins et des revendications attachées, même si concrètement elles n’ont été décrites qu’en relation avec d’autres caractéristiques déterminées, tant individuellement que dans des combinaisons quelconques, peuvent être combinées à d’autres caractéristiques ou groupes de caractéristiques divulguées ici, pour autant que cela n’a pas été expressément exclu ou que des circonstances techniques rendent de telles combinaisons impossibles ou dénuées de sens. Procédé d’assemblage automatisé d’une pièce fixe (1) avec une pièce mobile (2) apte à être déplacée par rapport à la pièce fixe par un robot, caractérisé en ce qu’il comprend les étapes suivantes : détermination de points de repère à la première extrémité (3) de la pièce fixe (1) et à la deuxième extrémité (4) de la pièce mobile (2), positionnement d’au moins une caméra (5, 6, 7) de façon que les points de repère des deux pièces (1, 2) soient dans le champ visuel de la caméra (5, 6, 7), la caméra (5, 6, 7) étant fixe par rapport à la pièce fixe (1), application d’une boucle d’asservissement visuelle primaire à partir d’images des extrémités (3, 4) des deux pièces (1, 2) prises par la caméra (5, 6, 7) pour déterminer une première consigne de déplacement du robot pour lui permettre de rapprocher la pièce mobile (2) vers la pièce fixe (1), application d’une boucle d’asservissement visuelle secondaire comprenant un calcul utilisant le principe des champ de vecteurs à partir des images des extrémités des deux pièces (1, 2) prises par la caméra (5, 6, 7) pour générer une deuxième consigne de déplacement permettant au robot d’encastrer la pièce mobile (2) dans la pièce fixe (1), et fixation des deux pièces (1, 2) ensemble. Procédé d’assemblage selon la revendication 1, caractérisé en ce que la boucle d’asservissement visuelle primaire comprend les étapes suivantes : prise d’une image des extrémités des deux pièces (1, 2), détermination d’une image cible, et comparaison entre des pixels de l’image cible et des pixels de l’image prise pour générer la consigne de déplacement d’après un écart entre lesdits pixels. Procédé d’assemblage selon la revendication 2, caractérisé en ce qu’il comprend une étape initiale dans laquelle la position et l’orientation de la caméra (5, 6, 7) par rapport à la pièce fixe (1) sont déterminées à partir de l’observation de l’extrémité de la pièce fixe (1) par la caméra (5, 6, 7) et au moyen d’un calcul d’optimisation numérique. Procédé d’assemblage selon la revendication 3, caractérisé en ce qu’un vecteur cible (x, y) de la pièce mobile (2) est déterminé à partir de la position relative entre la pièce fixe (1) et la caméra (5, 6, 7) et de la configuration d’encastrement entre la pièce fixe (1) et la pièce mobile (2), x et y étant les coordonnées des points de repère cibles. Procédé d’assemblage selon la revendication 4, caractérisé en ce qu’un vecteur de mesure (x’, y’) est déterminé à partir des images prises par la caméra (5, 6, 7), x’ et y’ étant les coordonnées des points de repère sur les pièces (1, 2), le vecteur de mesure (x’, y’) étant comparé au vecteur cible (x, y) pour déterminer l’écart entre les pixels, un profil de vitesse étant déterminé à partir de l’écart, une opération de pseudo-inverse de la matrice d’interaction étant appliquée sur le profil de vitesse pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot étant appliquée sur les vitesses cartésiennes pour obtenir une consigne de déplacement. Procédé d’assemblage selon l’une quelconque des revendications 3 à 5, caractérisé en ce qu’il comprend, après l’étape initiale, une étape de présentation des pièces (1, 2) en boucle ouverte, à l’issue de laquelle les pièces (1, 2) sont distantes de quelques centimètres, l’étape de présentation étant suivie d’une boucle d'asservissement visuelle primaire de pré-encastrement à l’issue de laquelle les pièces (1, 2) sont se font face en étant correctement alignées, une boucle d'asservissement visuelle secondaire étant ensuite réalisée à l’issue de laquelle les pièces (1, 2) sont correctement encastrées, un vecteur cible (x, y) étant déterminé lors de chacune de ces étapes. Procédé d’assemblage selon la revendication 6, caractérisé en ce que pour réaliser la boucle d’asservissement visuelle secondaire, un premier vecteur cible s 1 correspondant à une première position et un deuxième vecteur cible s 2 correspondant à une seconde position sont calculés lors de l’étape de pré-encastrement, une droite [s 1 , s 2 ] dans chaque image des caméras (5, 6, 7) étant tracée dans l’espace des pixels, des images des extrémités des pièces (1, 2) étant prises par la caméra (5, 6, 7) pour obtenir un champ vectoriel f(s) dans chaque image des caméras (5, 6, 7) à partir de vecteurs (s) mesurés par les caméras (5, 6, 7). Procédé d’assemblage selon la revendication 7, caractérisé en ce qu’un profil de vitesse en pixel est déterminé à partir du champ vectoriel f(s), une opération de pseudo-inverse de la matrice d’interaction étant appliquée sur le profil de vitesse en pixel pour obtenir des vitesses cartésiennes et une multiplication par la matrice jacobienne inverse du robot étant appliquée sur les vitesses cartésiennes pour obtenir la consigne de rapprochement permettant de piloter le robot. Procédé d’assemblage selon l’une quelconque des revendications 1 à 8, caractérisé en ce que les points de repère comprennent des marqueurs en forme de disque répartis autour d’alésages (8, 9) prévus sur la pièce mobile (2) et sur la pièce fixe (1) pour la fixation des deux pièces. Système d’assemblage automatisé d’une pièce fixe (1) avec une pièce mobile (2) apte à être déplacée par rapport à la pièce fixe par un robot, caractérisé en ce qu’il met en œuvre le procédé d’assemblage tel que défini selon l’une quelconque des revendications 1 à 9.