FR 2511917 A1 19830304 FR 8213537 A 19820803 L'invention concerne un appareil et un procédé perfectionnés pour positionner un outil, par exemple une tête de soudage, par rapport à une pièce à l'aide d'une détection visuelle L'invention concerne plus particuliè- rement un appareil et un procédé convenant à la commande automatique en temps réel d'opérations de soudage à l'arc au cours desquelles diverses pièces de formes différentes doivent être soudées. Il est reconnu souhaitable, depuis un certain temps, de disposer d'un appareil et d'un procédé de sou- dage à l'arc automatisés Il existe un manque important et croissant de soudeurs qualifiés Cette pénurie est aggravée par les mauvaises conditions de travail présentes dans la plupart des installations de soudage à l'arc et les changements fréquents de personnel qui en résultent. Il existe également une pression croissante des autorités et des syndicats pour soustraire le personnel aux milieux dangereux ou constituant un risque pour la santé. Outre les facteurs précédents, il existe un besoin continuel et croissant de diminuer les coûts directs de main-d'oeuvre entrant dans la fabrication d'objets sou- dés à l'arc L'importance de ce besoin est souligné par le fait que la main-d'oeuvre et les charges générales asso- ciées entrent pour plus de 80 % dans les coûts directs par unité de longueur de soudure. En outre, on utilise de plus en plus, dans l'au- tomobile et dans d'autres industries, des matières très sensibles aux défauts de soudage Ces matières exigent une qualité de soudure plus constante que celle pouvant être obtenue par un opérateur humain. Bien que divers procédés aient été proposés pour positionner automatiquement des têtes de soudage, on doit reconnaître que, dans un grand nombre d'opérations manuel- les de soudage, l'opérateur humain se comporte non seule- ment comme un manipulateur, mais également comme un inter- médiaire de détection et de réaction travaillant en temps réel, effectuant de petits réglages sur les paramètres de soudage et sur les opérations pour tenir compte de varia- tions perçues de l'orientation du joint, des dimensions et du montage Dans une certaine mesure, cette adaptation peut être assurée par un outillage rigoureux conçu spécia- lement ou par un positionneur préprogrammé Cependant, dans de nombreuses conditions de fabrication, ce-procédé est impossible à mettre en oeuvre en raison du manque inhérent de précision des opérations de mise en forme et de coupe effectuées dans la production de pièces et en raison d'autres effets thermiques et mécaniques imprévisi- bles Il est donc nécessaire de conférer à un systèmé de soudage automatisé la possibilité d'acquérir et d'analyser des données détectées en temps réel Ceci permet à l'appa- reil de soudage de suivre l'assemblage dans l'espace et, simultanément, de régler des paramètres de soudage tels que les vitesses d'avance du fil et de course, l'orienta- tion de la torche et la tension d'arc L'acquisition et l'analyse de données en temps réel permettent en outre à un système de soudage automatique de choisir parmi divers procédés différents de soudage, par exemple la formation de "lignes d'inclusion", c'est-à-dire un mouvement de balancement pour combler des jeux de montage, afin de tenir compte de variations du type d'assemblage, de la géométrie, de la position et du montage. Les capteurs-que l'on peut actuellement utiliser dans le soudage à l'arc tombent dans trois catégories géné- rales La première catégorie utilise une certaine forme de dispositifs de contact mécanique ou tactile, par exemple des sondes électromécaniques et diverses formes de galets et de pointeaux de guidage La deuxième catégorie utilise des dispositifs de détection à courants de Foucault La troisième catégorie utilise la réaction à partir de para- mètres de soudage tels que la tension d'arc ou les signaux de courant pour commander le soudage. De tels systèmes sont affectés d'un certain nom- bre d'inconvénients La configuration mécanique des dispo- sitifs mécaniques et des dispositifs à courants de Foucault doit être modifiée pour les différents types d'assemblages tels que les assemblages bout à bout et les assemblages d'angle En outre, les capteurs mécaniques et les capteurs à courants de Foucault doivent porter contre la pièce ou bien être placés à proximité immédiate de celle-ci en cours de fonctionnement Un contact entre une pièce et un élément de détection produit une usure mécanique Le maintien d'un capteur sans contact à proximité immédiate de la pièce élève le risque de détérioration mécanique de l'élément de détection. Etant donné les problèmes associés aux trois types de systèmes de commande de soudage indiqués ci-dessus, on a procédé jusqu'à présent à divers essais pour déterminer visuellement la géométrie de la pièce à souder Par exemple, le brevet des Etats-Unis d'Amérique N O 3 976 382 décrit un système dans lequel une source de lumière est utilisée avec un écran opaque à la lumière placé à proximité de la pièce pour projeter une ombre de forme prédéterminée et connue sur la pièce Une variation de l'ombre par rapport à la forme connue donne alors une base permettant de caractéri- ser la forme de la pièce Cependant, cette technique exige de placer l'écran à proximité de la pièce La technique à ombre est donc affectée d'un grand nombre d'inconvénients analogues à ceux de la technique à courants de Foucault décrite ci-dessus. Un autre système de positionnement d'une tête de soudage, qui utilise un détecteur optique, est décrit par T Nozaki et collaborateurs, dans l'article "Robot 'Sees', Decides and Acts", Welding and Metals Fabrication, Vol 47, N O 9, pages 647-658 (novembre 1979) Cependant, ce système exige de la part de l'utilisateur qu'il introduise une certaine information concernant la géométrie de soudage lors de l'utilisation du système, et il est limité aux types de soudures pouvant être réalisées en raison de l'in- formation limitée, concernant la géométrie de la soudure, qu'il est possible d'obtenir à l'aide du détecteur optique décrit Ainsi, bien qu'un travail relativement important ait déjà été effectué sur un appareil de positionnement automatique de têtes de soudage et d'outils similaires, il reste nécessaire de développer davantage un appareil automatique destiné à positionner un outil par rapport à une pièce, satisfaisant les critères contraignants exigés par les procédés de soudage pour de tels appareils. L'invention a donc pour objet un appareil et un procédé de positionnement d'un outil par rapport à une pièce, fournissant une information suffisante et assez rapide, à partir de la lumière réfléchie par la pièce, pour définir la géométrie de la pièce et en effectuer le positionnement en temps réel. L'invention a également pour objet un appareil et un procédé de positionnement d'une tête de soudage, capables de mesurer simultanément l'emplacement, la géo- métrie et le montage d'un assemblage tridimensionnel à souder i L'invention a pour autre objet un appareil et un procédé de positionnement d'un outil fournissant une information suffisante sur des pièces tridimensionnelles, de formes différentes, pour permettre l'exécution du posi- tionnement en temps réel, sans qu'il soit nécessaire de modifier la configuration mécanique de l'appareil pour des pièces de différentes formes. L'invention a également pour objet un tel appa- reil et un tel procédé de positionnement d'un outil, dans lesquels les éléments de détection sont placés à distance de la pièce. L'invention a pour autre objet un appareil et un procédé de positionnement automatique d'une tête de soudage, permettant d'obtenir une qualité de soudure plus constante que celle qu'un opérateur humain peut atteindre. Ces objectifs peuvent être atteints par l'utilisa- tion de l'appareil perfectionné selon l'invention destiné à commander le positionnement d'un outil par rapport à une pièce, et du procédé de l'invention destiné à commander ce positionnement L'appareil selon l'invention comporte un dispositif destiné à projeter une mire lumineuse compre- nant un ensemble d'éléments lumineux ayant chacun une forme connue et placés à intervalles connus les uns des autres sur la pièce Un dispositif, espacé du dispositif de projection, est destiné à détecter l'ensemble du réseau d'éléments lumineux tel que réfléchi par la pièce et à produire des premiers signaux de sortie en réponse aux éléments lumineux détectés L'appareil comporte en outre un dispositif destiné à classer les premiers signaux de sortie en groupes basés sur au moins une caractéristi- que commune résultant de la géométrie de la pièce pour les premiers signaux de sortie de chaque groupe Un dispo- sitif situé à l'intérieur de l'appareil est destiné à définir la géométrie de la pièce à partir d'au moins une relation entre certains, différents, des groupes des pre- miers signaux de sortie et à produire des seconds signaux de sortie représentatifs de la géométrie de la pièce ainsi déterminée Un dispositif de positionnement situé dans l'appareil réagit aux seconds signaux de sortie en posi- tionnant l'outil par rapport à la pièce. Le procédé de positionnement selon l'invention consiste à projeter une mire lumineuse comprenant un ensem- ble ou réseau d'éléments lumineux ayant chacun une forme connue et situés à intervalles connus les uns des autres, sur une pièce par rapport à laquelle un outil doit être positionné Le réseau d'éléments lumineux tels que réflé- chis par la pièce est détecté Les éléments lumineux détectés sont rassemblés en groupes sur la base d'au moins une caractéristique commune résultant de la géométrie de la pièce donnée par les éléments lumineux tels que réflé- chis La géométrie de la pièce est définie à partir d'au moins une relation entre certains, différents, des groupes rassemblés d'éléments lumineux détectés Le positionnement de l'outil et de la pièce l'un par rapport à l'autre est ensuite commandé sur la base de la géométrie de la pièce ainsi définie. L'appareil et le procédé de l'invention fournissent une information détectée suffisante, à partir de la lumière projetée sur la pièce, et traitent l'information assez rapi- dement pour qu'un outil puisse être positionné en temps réel par rapport à des pièces de formes largement différen- tes Bien que l'appareil et le procédé de l'invention puis- sent être utilisés pour le positionnement d'une grande diversité d'outils différents par rapport à des pièces de géométrie variable, l'appareil et le procédé sont particu- lièrement adaptés à une application au positionnement d'une tête de soudage à l'arc par rapport à des éléments devant être soudés les uns aux autres dans des configurations différentes. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemple nullement limitatif et sur lesquels: la figure l représente l'appareil selon l'inven- tion partiellement en perspective et partiellement sous forme schématique; la figure 2 est un schéma plus détaillé d'une partie de l'appareil représenté sur la figure 1; la figure 3 est une vue en perspective montrant certaines relations permettant de comprendre le fonctionne- ment de l'invention; la figure 4 est une vue schématique de face d'une partie de l'appareil représenté sur la figure 1, cette vue montrant également certaines relations utiles à la compréhension de l'invention; la figure 5 est une vue en plan d'une pièce, montrant certaines relations utiles à la compréhension de l'invention; la figure 6 est une vue en plan d'une mire lumineuse utilisée dans l'invention; la figure 7 est un organigramme illustrant le procédé de l'invention; la figure 7 A est une vue en perspective sché- matique d'une partie de l'appareil représenté sur la figure 1; la figure 8 est une vue en perspective d'une pièce pendant la mise en oeuvre de l'invention; la figure 9 est une vue en plan de motifs obtenus lors de la mise en oeuvre de l'invention; la figure 10 est une image résultante obtenue à l'aide des motifs montrés sur la figure 9; la figure 11 est un organigramme plus détaillé d'une partie du procédé indiqué dans l'organigramme de la figure 7; la figure 12 est un graphique des résultats obtenus à partir de l'image de la figure 10; la figure 13 représente l'affichage de résul- tats obtenus par analyse, conformément à l'invention, de l'image de la figure 10; la figure 14 est une vue en perspective de mires lumineuses projetées sur un autre type d'assembla- ges à souder lors de la mise en oeuvre de l'invention; la figure 15 est une vue en plan d'une image obtenue à partir des mires représentées sur la figure 14; et la figure 16 représente l'affichage des résul- tats obtenus par analyse, conforme à l'invention de l'image montrée sur la figure 15. Comme représenté sur les dessins, et plus particu- lièrement sur la figure 1, l'appareil selon l'invention com- prend une table x-y 10 ccmandée par des moteurs pas à pas 12 et 14 Une pièce 16 à souder est positionnée sur la table 10 Un pistolet 18 de soudage de type connu, compor- tant un dispositif d'alimentation en fil de soudage, est monté au-dessus de la table x-y 10 Dans cette forme de réalisation, la pièce 16 est donc déplacée pour être positionnée au-dessous du pistolet fixe 18 de soudage. Il est évidemment possible, également, que la pièce 16 reste en position fixe et que le pistolet 18 de soudage soit déplacé le long de cette pièce 16 pour la réalisa- tion d'une soudure Un troisième moteur pas à pas 20 est relié au pistolet 18 de soudage afin de le faire pivoter autour d'un axe z 22 En pratique, un étage rotatif, pouvant être commandé manuellement (non représenté), est également prévu pour le réglage de l'angle que le pisto- let 18 de soudage fait avec le plan de la table x-y 10. Une source 24 de lumière est placée au-dessus de la table x-y 10 afin d'éclairer d'une mire lumineuse 26 la pièce 16 à souder D'autres détails concernant la nature de la mire lumineuse 26 seront indiqués ci-après en regard de la figure 6 Bien que la source 24 de lumière puisse être constituée de toutes sources projetant sur la pièce 16 une mire 26 ayant les caractéristiques décrites ci-après, il est préférable d'utiliser, comme source lumineuse 24, une tête de projecteur petite, robuste du point de vue mécani- que, qui reçoit une diapositive contenant une image conve- nant à la génération de la mire 26 Une telle tête de pro- jection est avantageusement connectée par un faisceau de fibres optiques à une source à lampe à incandescence (non représentée), placé à distance du pistolet 18 de soudage et de la table x-y 10 pour plus de sécurité. Une caméra 28 de télévision est placée à distance de la source de lumière 24 afin de recevoir la mire lumi- neuse 26 telle que réfléchie dans la pièce 16 Il est important que la caméra 28 soit éloignée de la source 24 de lumière pour qu'elle forme un angle différent par rap- port à la pièce 16, car la présente invention utilise une triangulation, comme décrit plus en détail ci-après, pour déterminer des caractéristiques tridimensionnelles de la pièce 16 à partir d'une image bidimensionnelle Bien que pratiquement toutes caméras de télévision conviennent, une forme préférée de réalisation de l'invention utilise une caméra de télévision à semi-conducteur du type "TN 2500 CID" de la firme General Electric La sortie 30 de la caméra 28 est reliée à des circuits 32 d'interface de caméra qui fournissent soit une échelle du gris brute, soit une image binaire limitée par un seuil, par une sortie 34 à un écran classique 35 de contrôle de télévision, suivant une instruc- tion de commande appliquée par un ordinateur 38 aux cir- cuits 32 d'interface par l'intermédiaire d'une ligne 37. Les circuits 32 d'interface de la caméra comportent égale- ment une sortie 36 constituant une entrée d'accès direct de la mémoire de l'ordinateur 38 La figure 2, qui sera décrite ci-après, représente plus en détail les circuits 32 d'interface de la caméra. L'ordinateur 38 peut être constitué essentielle- ment de tous mini-ordinateurs disponibles dans le commerce. Dans la forme préférée de réalisation de l'invention, on utilise un miniordinateur PDP-11/34, disponible auprès de la firme Digital Equipment Corporation, Maynard, Massachu- setts, E U A L'utilisateur peut accéder à l'ordinateur 38 au moyen d'un terminal 40 à écran de visualisation, par exemple un visuel du type "Tektronix 4006 ", pouvant être obtenu auprès de la firme Tektronix, Inc, Beaverton, Oregon, E U A Le visuel 40 est connecté à l'ordinateur 38 par une ligne 42 L'ordinateur 38 effectue une analyse des données fournies par les circuits 32 d'interface de la caméra, par l'intermédiaire de la ligne 36, en utilisant un programme mémorisé d'analyse de données, comme décrit ci- après Le terminal ou visuel 40 est utilisé pour l'affichage des résultats des opérations effectuées sur les données d'images fournies à l'ordinateur 38 par la ligne 36 et il permet à l'utilisateur d'accéder à l'ordinateur 38. Les signaux de sortie de l'ordinateur 38, basés sur l'analyse des données, sont transmis à un contrôleur 46 par une ligne 44 La ligne 44 se présente avantageuse- ment sous la forme d'une ligne série à 1200-bauds, du type "RS 232 " Le contrôleur 46 est connecté aux moteurs pas à pas 12, 14 et 20 par des lignes 48, 50 et 52, respec- tivement, afin de commander le positionnement de la table x-y 10 et du pistolet 18 de soudage Une forme préférée de réalisation du contrôleur 46 est un contrôleur du type " 8138 " de la firme Summit Engineering Une ligne 54 connecte en outre le contrôleur 46 à une source 56 d'ali- mentation en énergie de soudage, par exemple une source d'énergie de soudage à courant constant, du type " 330 ABT" de la firme Miller Electric, qui est connectée au pistolet O 18 de soudage par une ligne 58. La figure 2 montre plus en détail le circuit 32 d'interface de la caméra Un bus 30 connecte la caméra 28 de télévision à un circuit 60 de conditionnement de signaux Ce circuit 60 exécute les fonctions d'élévation de niveau, de mise en forme d'ondes et d'isolation de la caméra 28 de la partie restante des circuits de l'inter- face 32 Un bus 62 transmet des données du circuit 60 de conditionnement de signaux à un circuit démultiplexeur 1:2 64 Le circuit 60 de conditionnement de signaux fournit également un signal de synchronisation à un démultiplexeur 64 par l'intermédiaire de bus 66, 68 et 70 Des bus 71 et 72 transmettent des données du démultiplexeur 64 à une mémoire 73 Des circuits logiques 74 de commande de mémoire reçoivent des signaux de synchronisation du cir- cuit 60 de conditionnement de signaux par l'intermédiaire de bus 66 et 75 Une sortie 76 du circuit logique 74 de commande est connectée à la mémoire 73 Un bus 77 de sor- tie de la mémoire 73 est connecté à un multiplexeur 2:1 78 et, par l'intermédiaire d'un bus 79, à un circuit 80 de commande d'entrée d'accès direct à la mémoire Le circuit de commande d'entrée d'accès direct à la mémoire reçoit également un signal de synchronisation par l'inter- médiaire des bus 66, 68 et 81, ce signal provenant du cir- cuit 60 de conditionnement de signaux Le bus 36 transmet des données du circuit 80 de commande d'entrée d'accès direct à la mémoire à l'ordinateur 38 (figure 1). Le bus 36 transmet également des données de l'ordinateur 38 à un circuit 82 de commande de sortie d'accès direct à la mémoire Les bus 71 et 72 transmettent des données du circuit 82 à la mémoire 73 Le circuit 82 de commande de sortie reçoit des signaux de synchronisa- tion du circuit 60 de conditionnement de signaux par l'intermédiaire des bus 66, 68 et 83. Un circuit binaire condensé 84 de commande d'entrée d'accès direct à la mémoire est connecté au circuit 80 de commande d'entrée et au circuit 82 de commande de sortie d'accès direct à la mémoire par des bus 85 et 86 Les bus 85, 86 et 37 relient également les circuits 80, 82 et 84 de commande à l'ordinateur 38 pour la transmission de signaux d'état et de commande Le cir- cuit binaire condensé 84 d'accès direct à la mémoire est également connecté par un bus 87 au bus 36 Les bus 66 et 88 transmettent un signal de synchronisation du circuit de conditionnement de signaux au circuit 84 de commande. Un bus 89 transmet également ces signaux de synchronisa- tion au multiplexeur 78 Ce dernier transmet des données, par des bus 90 et 91, à un circuit 92 de commande d'affi- chage vidéo et un circuit comparateur 93, respectivement. Le circuit 92 de commande d'affichage vidéo est un conver- tisseur numérique/analogique La sortie 34 du circuit 92 de commande d'affichage vidéo applique des signaux d'en- trée à un récepteur de contrôle 35 (figure 1) par l'in- termédiaire de la ligne 34. Le comparateur 93 reçoit un signal d'entrée de seuil par un bus 94, ce signal provenant d'un circuit 95 de seuil pouvant être réglé manuellement ou par ordinateur. Si la donnée présente sur le bus 91 est supérieure au seuil présent sur le bus 94, le comparateur 93 transmet par des lignes 96 et 97 un signal de validation au circuit condensé 84 de commande d'entrée d'accès direct en mémoire et au circuit 92 de commande d'affichage vidéo. La figure 3 permet de comprendre le processus d'extraction de données géométriques tridimensionnelles à partir d'une image bidimensionnelle Comme représenté, un plan objet 100 possède un point 102 de coordonnées xl y 1 zl, qui est projeté par un trou d'épingle 104 pour former une image 106 dans un plan image 108, cette image ayant pour coordonnées u, v, w En utilisant des triangles semblables, il apparaît que les coordonnées u, v, W de l'image 106 du point 102 ont la relation suivante avec les coordonnées xl, Yi, z 1: u x 1 f f+z w = O ( 1) v Y, f f+z 1 Il convient de noter que cette transformation est ambiguie car le point 110 de coordonnées x 2, Y 2, z 2,' donne également, par transformation, le même point image Cepen- dant, si dans l'équation ( 1), l'une des coordonnées est connue, par exemple x, il est alors possible de trouver une solution unique pour y et z Il est donc nécessaire de disposer d'un procédé donnant automatiquement la valeur de l'une des coordonnées, ou d'un certain autre paramètre linéaire. Un moyen pour obtenir ces données consiste à pro- jeter un point lumineux sur la pièce à partir d'un point avantageux connu légèrement éloigné de la caméra La figure 4 montre en élévation un tel agencement dans lequel la source de lumière 24 est espacée de la caméra 28 au- dessus de la pièce 16 En considérant la caméra comme origine, le rayon principal de la caméra comme étant l'axe- Z et le déplacement du projecteur le long de l'axe X, il apparaît que l'équation du rayon principal du projecteur est:. x = z tg O + B ( 2) o O est l'angle formé entre les rayons principaux de la caméra et le projecteur, et B (l'intervalle X) est connu comme étant la longueur de la base. En introduisant l'équation ( 2) dans l'équation ( 1) et en exprimant x, y et z à l'aide des quantités connues u, v, O et B, on a: f tg O (B-u) x _____- (u f tg 0) v (B f tg O) y = __ ( 3) f (u f tg O) f (B u) z ____à __ u f tg O Ce système simple peut être utilisé pour mesurer la hauteur d'un point unique sur un plan Pour déterminer l'orientation du plan par rapport à l'axe z, on peut rem- placer ce point lumineux unique par une bande projetée de manière à être parallèle à l'axe y L'élévation de chaque point sur la bande et donc la rotation du plan autour de l'axe x peuvent être déterminées par l'application de l'équation ( 3) à chaque point de l'image de la bande. Une autre extension peut être donnée à ce prin- cipe en projetant plusieurs bandes à la fois En étalonnant le système de manière que l'angle O, ou un angle équivalent, de l'équation tridimensionnelle de chaque plan de lumière soit connu pour chaque bande, l'orientation tridimension- nelle de la surface sur toute l'aire de la mire projetée peut être calculée de la même manière Si la scène est constituée de plusieurs surfaces, le contour de chacune d'elles peut être déduit d'après les distorsions disconti- nues introduites par les bords, les angles, etc Une image d'un joint bout à bout simple 112 éclairé de cette manière est montrée sur-la figure 5 Des discontinuités de la mire réfléchie de bandes 114 apparaissent autour des bords des plaques 116 et 118 utilisées pour la réalisation du joint bout à bout 112. Le procédé décrit ci-dessus donne tout à fait satisfaction pour des scènes ayant des surfaces peu nom- breuses et relativement simples et pour lesquelles la géométrie caméraprojecteur-cible est bien comprise et déterminée Des scènes plus complexes, par exemple des anales de boîtes et autres scènes dans lesquelles plusieurs plans sont visibles, peuvent donner naissance au "problème de correspondance", c'est-à-dire à une confusion ne-permet- tant pas de déterminer de façon précise à quel plan lumi- neux projeté appartient tel segment de bande de l'image de la caméra. On a découvert que le problème de correspondance peut être résolu si l'ensemble ou réseau projeté d'éléments lumineux possède au moins un élément de référence ayant un intervalle particulier par rapport à l'intervalle des autres éléments lumineux du réseau La figure 6 représente un tel réseau 120 Ce dernier comporte des bandes 122 espacées régulièrement les unes des autres Des bandes 124 de référence sont séparées l'une de l'autre par un inter- valle qui diffère de celui séparant les bandes 122 Dans ce cas, l'intervalle entre les bandes 124 de référence est double de l'intervalle entre les autres bandes 122 L'iden- tité de toute image réfléchie d'une bande 22 peut alors être déterminée sans ambiguïté par rapport aux bandes de référence 124 Cette information supplémentaire permet de résoudre le problème de correspondance. Le réseau 120 d'éléments lumineux montré sur la figure 6 peut être utilisé avec l'appareil représenté sur la figure 1 pour la mise en oeuvre d'un procédé perfectionné de commande de la tête 18 de soudage de la figure 1 La figure 7 est un organigramme illustrant ce procédé Dans la description qui suit du procédé, la géométrie de la soudure est limitée à des soudures à recouvrement et à des soudures d'angle droites réalisées sur des plaques planes En limi- tant la géométrie à des plans et à des soudures en ligne droite, les principes de base de l'appareil et du procédé de l'invention peuvent être démontrés d'une manière plus simple Ainsi qu'il apparaîtra ci-après, des bords courbes de plans à souder peuvent être ramenés à une série de segments droits de soudure En outre, ce système peut être étendu, par modification du programme du logiciel décrit à d'autres pièces telles que celles présentant des surfaces courbes et des soudures circulaires. Les deux premières étapes d'étalonnage de la caméra et d'étalonnage du projecteur, indiquées respecti- vement en 150 et 152 sur la figure 7, sont effectuées hors ligne, lors du réglage initial du système, pour que l'on obtienne une matrice de caméra, comme indiqué en 154, et des matrices de plans lumineux, comme indiqué en 156. L'étalonnage de la caméra consiste à déterminer une trans- formée de perspective de la caméra, ainsi que des facteurs d'échelle, des rotations d'axe et des translations néces- saires à convertir des coordonnées d'images situées dans le plan image 108 (figure 13) en un système de coordonnées de la table x-y, dans le plan objet 100 Cette information constitue des signaux de sortie utilisés dans l'étalonnage du projecteur sous la forme d'une matrice unique de coor- données homogènes 4 x 4. L'étalonnage du projecteur établit les équations tridimensionnelles de chaque plan lumineux dans la mire lumineuse structurée Ces équations sont combinées à la transformée de caméra homogène obtenue lors de l'étape d'étalonnage de la caméra pour donner un jeu de 4 x 3 matrices, une pour chaque plan lumineux, utilisées pour transformer les coordonnées d'images d'un point d'une ligne particulière directement en sa position correspondante x-y-z dans l'espace D'autres détails mathématiques concer- nant les coordonnées homogènes et le calcul des matrices dans les opérations d'étalonnage de la caméra et du projec- teur seront donnés plus complètement ci-après. Pour faciliter la réalisation de modèles paramé- triques de caméra et pour obtenir un format de communica- tion plus compact à utiliser avec d'autres composants du système (par exemple des manipulateurs), il est commode de représenter la transformation de perspectives (équation 1) et la rotation d'axe, la translation et la mise à l'échelle demandées en coordonnées homogènes Cette représentation sim- plifie les calculs mathématiques entrant dans la transforma- tion de coordonnées d'images "universelles"et elle élimine également le problème du manque de linéarité que l'on ren- * contre en appliquant directement l'équation 1. Des descriptions complètes de la dérivation et de l'utilisation d'une représentation homogène sont connues de l'homme de l'art La brève description qui suit donne un certain aperçu de l'utilisation de cette représentation dans l'appareil et le procédé de l'invention. Un point situé dans un espace tridimensionnel est représenté en coordonnées homogènes sous la forme d'un vecteur à quatre éléments Si (x, y,z) sont les coordonnées d'un point dans l'espace, la représentation homogène corres- pondante est: Sx Sy 15 z o S est un facteur de cadrage non nul La représentation d'un point à partir de ces coordonnées homogènes sous la forme tridimensionnelle classique consiste simplement en une division par S. Toute transformation géométrique telle qu'une translation, un changement d'échelle et une rotation, est représentée en coordonnées homogènes par une matrice 4 x 4. Par exemple, la transformation de perspective donnée par l'équation 1 est représentée en coordonnées homogènes sous la forme 1 0 0 -0 0 1 0 0 0 0 l O 0 O 1/f 1 De même, une rotation d'un point (x,y,z) sur un angle O autour de l'axe z est représentée par os O -sin O O O sin O cos 0 0 0 O 0 1 0 O O O 1- Des transformations successives d'un point unique peuvent être liées par formation du produit des matrices de transformation appropriées Par exemple, si P est la matrice de perspective ci-dessus, et R la matrice de rota- tion, les coordonnées (uv) de l'image du point (x,y,z) obtenu lorsque la caméra est tournée sur un angle O autour de l'axe z sont données par Uv P * R* M l Ce produit de matrices peut être représenté par une matrice unique qui est le produit de toutes les trans- formations respectives. Le terme "étalonnage" est utilisé, en ce qui concerne la caméra 28 (figure 1), pour décrire une techni- que destinée à établir un modèle paramétrique du système de la caméra Ce modèle permet ensuite de mettre en rela- tion des mesures, effectuées dans le système de coordon- nées de l'image, avec un système de coordonnées de mot absolu et fixe Cette possibilité est nécessaire pour plu- sieurs raisons: les communications entre les systèmes de la caméra et du manipulateur sont simplifiées s'ils fonction- nent tous les deux dans un système de coordonnées commun; en fait, il est courant de choisir le système universel comme étant celui utilisé par le manipulateur, mais d'utiliser le processus d'étalonnage pour établir la relation entre la caméra et ce système; le choix des paramètres et des opérations de soudage est imposé en partie par l'orientation spatiale de l'assemblage (par exemple en hauteur, verticale ou à plat); cette information ne peut être obtenue à partir de simples mesures relatives; les informations concernant les dimensions et des détails de la pièce peuvent être codées plus faci- lement lorsqu'elles sont mises en référence à un système de coordonnées absolu plutôt que sur une base relative point par point. Le modèle paramétrique de' la caméra consiste en une matrice unique de coordonnées homogènes 4 x 4 qui combine la transformation de perspectives, les translations d'axes et les rotations de la caméra, nécessaires pour transformer des mesures réalisées sur une image de caméra afin de les introduire dans le système de coordonnées de la table x-y Le paramètre ou la contrainte linéaire néces- saire pour déduire une structure tridimensionnelle d'une image bidimensionnelle est déterminé pendant l'étalonnage du projecteur par combinaison du modèle de la caméra avec les équations tridimensionnelles des plans lumineux Le résultat est un jeu de 4 x 3 matrices, une pour chaque plan, qui permettent un calcul direct des coordonnées tri- dimensionnelles de tout point situé dans le champ de visée de la caméra à partir des coordonnées d'images correspon- dantes La création et l'utilisation du modèle de caméra et des matrices de conversion de bidimensionnelle en tridimensionnelle seront à présent décrites à l'aide de la figure 7 A. 1 Etalonnage de la caméra La caméra 28 est représentée au-dessus de la table x-y 10 sur la figure 7 A L'origine du système de coordonnées universelles est prise comme étant le point 0,0 de la table x-y, comme indiqué en 160 La caméra 28 est trans- latée à partir de cette origine sur une distance xcryczci panoramiquée autour de l'axe y sur un angle 0, et inclinée autour de l'axe x sur une distance b Si la distance focale de l'objectif de la caméra est f on peut définir la matrice C de la caméra comme étant: 1 O o c cos O sin O O O C= O O O -cos L sin O cos D cose sin D O 0 0 il O sin P sine -sin(D cose cos o D O 0 o 1 1 O O 1 0 0 x 0 1 o yc O O 1 zc ( 1) c'est-à-dire le produit des matrices représentant la rota- tion, la translation et la transformée de perspective. Cette matrice a pour propriété: Sv= y Y ( 2) Sl l o x,y,z, sont les coordonnées universelles pour un point dans l'espace, et u,v sont les coordonnées de l'image correspon- dante définie dans le système (Cx,Cy)-de la caméra. La matrice C peut être obtenue par mesure directe des angles O et b, de la translation xci Yczc, et de la distance focale connue de l'objectif Cependant, ce procédé est relativement fastidieux et sujet aux erreurs Ceci est- particulièrement vrai si la caméra est souvent déplacée (volontairement ou autrement), si la géométrie interne de la caméra est instable, ou bien si l'objectif n'est pas parfait du point de vue optique. La technique utilisée selon l'invention prévient ces problèmes et confère presque au système la caractéristioue "d'auto-étalonnage" par simple réalisation d'un certain nom- bre de mesures sur des cibles de hauteur connue, placées sur la table x-y et déplacées vers un groupe de positions connues La matrice C de la caméra est'ensuite calculée par un simple procédé d'ajustement des moindres carrés décrit ci-dessous De cette manière, la plus grande partie des mesures explicites est supprimée (hormis, évidemment, la hauteur de la cible) et diverses sources d'erreurs du système (par exemple les distorsions optiques linéaires, des erreurs systématiques de vis-mère et d'inclinaison de la camérai sont traitées sous la forme d'une constante globale. Ce procédé suppose que toutes les erreurs sont linéaires, supposition qui s'avère valide en pratique. La relation entre tout point xi, Yi, zi du sys- tème de coordonnées universelles et le point image correspondant ui, vi est: iu il C 12 C 13 C 14 x Svi C 21 C 22 C 23 C 24 y Sw o O i o z ( 3) 05 wl C 41 42 C 43 1 o (Cij) est la matrice de caméra décrite ci- dessus Il convient de noter que dans la troisième rangée, tous les éléments sauf celui situé sur la diagonale sont des 0, car la troisième coordonnée d'image W n'est pas résolue Le dernier élément de la quatrième rangée peut être position- née à 1, car il n'est impliqué que dans le calcul du fac- teur de cadrage arbitraire S Si l'on effectue une mesure sur un groupe de points, i= 1,,n, on peut alors combiner les relations individuelles en une matrice unique: ul Xl Yi Zl 1 O O O O -XU 1 -Yl Ul Zl U 1Cl v 1 O O O O Xl Y Z 1 -Xlvl -Ylvl -Zl Vl C 12 2 x 2 Y 2 Z 2 1 OO O O -22 -y 2 U 2 -Z 2 V 2C 13 -' c 1 v 2 _ C 14 C 21 C 22 C 23 C 24 i C 41 C 42 C 43 Un n ( 4) v O0000 x y z 1-xv -yv n nn m N N-Yn Vn Soit U le vecteur des coordonnées d'image, W la matrice de constantes et de coordonnées universelles, et T le vecteur de Cij, cette équation peut alors être récrite sous la forme de: U = W * T ( 5) Cette équation peut être résolue directement, pour T, par la meilleure solution des moindres carrés, au moyen de la simple équation: T = (w T*W)1 *w*T*U ( 6) Ce procédé exige un minimum de 6 points, car il y a Il coefficients apparaissant chacun dans deux équations linéaires. 2 Etalonnage du projecteur Le but de l'étalonnage du projecteur est de déri- ver les coefficients pour les équations de chaque plan lumineux Ceci est effectué par l'obtention d'images de la mire réfléchie par les surfaces, à diverses hauteurs connues, parallèlement au plan de la table x-y Dans chaque image, un groupe de valeurs x-y pour un nombre arbitraire de points le long de chaque bande lumineuse 122 et 124 (figure 6) est calculé et mémorisé à l'aide de la hauteur connue z Lorsqu'un nombre suffisant d'images est obtenu (par exemple 3), ces coordonnées mesurées sont utilisées pour dériver, par la méthode des moindres carrés les coefficients pour l'équation tridimensionnelle de chaque plan lumineux Ainsi: A x + Biy + Ciz + D = O ( 7) o i=l,,n s'étend sur le nombre de plans lumineux appa- raissant dans toute image de la caméra Plusieurs statisti- ques sont également calculées, parmi lesquelles la moyenne et la variance de l'intervalle des bandes 122 peu espacées, ainsi que le rapport de l'intervalle des bandes 124 de référence aux bandes rapprochées 122 Ces données sont émises pour être utilisées pour la localisation des bandes lumineuses 124 de référence dans le groupage, comme décrit plus en détail ci-après. Une fois que les coefficients des plans lumineux sont connus, la position tridimensionnnelle de tout point image arbitraire peut être calculée à l'aide de l'équation matricielle: x A B C -D Y = (Cil u C 41) (C 12 v C 42) (C 13 u C 43 (u C 14)( 8) z (C= L 1 v C 41) (C 22 C 42) (C 23 vc 43) (v C 24) o x,y,z sont les coordonnées universelles correspondant au point image,u,v,Cij sont les éléments mentionnés de la matrice de la caméra, et A, B, C et D sont les coefficients provenant de l'équation 6 pour le plan lumineux sur lequel le point se trouve. L'établissement et l'inversion de cette matrice 3 x 3 pour chaque point à mesurer peuvent demander un temps important à l'ordinateur et une place importante en mémoire pendant le traitement en temps réel Pour éviter ce problème, cette matrice peut être inversée et la multiplication indi- quée peut être effectuée symboliquement Lorsque ceci est réalisé, il apparaît que l'équation peut être récrite sous la forme: S M M M u x il 12 13 Sy 21 22 23 v ( 9) S M M M 1 z 31 32 33 S 41 M 42 M 43 qui doit être résolue d'une manière similaire à celle utilisée pour la transformée de la caméra. Les matrices {Mij} sont obtenues par résolution de douze équations plutôt complexes utilisant A, B, C et D, et la valeur Cij apparaissant dans l'équation 3 Bien que cette opération soit relativement longue à effectuer pen- dant l'étalonnage, elle ne doit être réalisée qu'une fois par trait plutôt qu'une fois par point mesuré comme dans l'équation 4. Le résultat de l'opération d'étalonnage du projec- teur est ce jeu de matrices, à savoir une matrice par plan lumineux, ainsi que les paramètres statistiques mentionnés précédemment. A la fin des opérations d'étalonnage de la caméra et du projecteur telles que décrites ci-dessus, les opéra- tions de traitement en temps réel, en ligne, selon l'inven- tion peuvent être effectuées, en commençant par l'acquisi- tion de l'image et la réduction de l'image a la forme de la ligne centrale, comme indiqué en 162 sur la figure 7. Ces opérations seront décrites en regard des figures 8 à 10. La figure 8 représente un assemblage d'angle 164 formé par l'intersection de plaques 166 et 168 positionnées dans un gabarit 170 de soudage Un ensemble ou réseau de bandes lumineuses rapprochées 122 et de bandes lumineuses 124 de référence est projeté sur les plaques 166 et 168 à l'aide du projecteur 24 constituant la source de lumière (figure 1) pour donner l'image réfléchie montrée sur la figure 8 L'image de l'échelle des gris résultante, perçue par la caméra 28 (figure 1), est transmise à l'ordinateur 38 par l'intermédiaire des circuits 32 d'interface de la caméra et convertie, par une opération de détermination de seuil, en une forme codée binaire de longueur de passe. L'image binaire résultante de l'assemblage d'angle 164 est montrée sur la figure 9 Pour plus de commodité, on utilise sur la figure 9 les mêmes références numériques 122 pour les éléments lumineux rapprochés 122 et les mêmes références numériques 124 pour les éléments lumineux 124 de référence. La précision de la caractérisation de la géométrie de la soudure obtenue par la mise en oeuvre du procédé de l'invention dépend de l'intervalle des éléments lumineux rapprochés 122 Pour le soudage de plaques épaisses, dans lequel la géométrie de la soudure peut avoir une précision de l'ordre d'environ 0,076 cm, un entraxe en un seul mot d'environ 0,063 cm et un intervalle entre les éléments lumineux de référence de 1,27 cm se sont avérés convenir a la caractérisation de la géométrie de la soudure avec une précision de 0,051 cm Pour des soudures plus petites et plus précises, un intervalle plus faible entre les éléments lumineux 122 et 124 est nécessaire. Le traitement initial de l'image binaire montrée sur la figure 9 consiste en une forme connue d'analyse de convergence pour extraire l'axe central de chaque élément lumineux projeté 122 ou 124 sur la figure 9 Le résultat de ce traitement initial est montré sur la figure 10, sous la forme d'un groupe de segments de lignes 172 représentant les axes centraux des éléments lumineux 122 et 124, ainsi qu'un groupe de descripteurs de lignes contenant les coordonnées initiales et finales des images, la pente et l'intervalle x pour chaque segment de ligne 172 de l'image de la figure 10. L'information d'assemblage d'angle représentée en partie sur la figure 10 est à présent prête pour le grou- page, indiqué en 174 sur la figure 7. 3 Groupage Les surfaces planes constituant l'assemblage 164 (figure 8) à souder sont reconstituées dans la mémoire de l'ordinateur 38 (figure 1) par regroupement ou "groupage" des segments de ligne 172 (figure 12) obtenus comme indi- qué ci-dessus, conformément à divers critères Cette opéra- tion de groupage est destinée à diviser l'image en ses plans constitutifs et à classer les segments de ligne ou de droite 172, appartenant aux plans, en listes distinctes. Ce processus comprend trois opérations: ( 1) une décomposition de la scène en groupes de surfaces d'orientation spatiale similaire; ( 2) une division de chaque groupe d'orientation, obtenu dans l'étape ( 1), en sous-groupes de surfaces ayant des hauteurs apparentes similaires; ( 3) une subdivision des groupes de hauteur de surfaces, obtenus dans l'étape ( 2), en fonction de leur position latérale dans l'image. Un organigramme de ce traitement est montré sur la figure 11 Le travail effectué au cours de ces diffé- rents traitements de groupage est décrit ci-après. a Groupage d'orientation On voit sur l'équation ( 3) qu'une variation de hauteur (coordonnée z) de la pièce a pour résultat un déca- lage de la valeur u de l'image du point Si, au lieu d'un point unique, un trait de lumière, parallèle à l'axe y, est projeté, l'image sera une ligne La pente de cette ligne est comprise entre O (parallèle à l'axe y), lorsque la pièce est parallèle au plan x-y, et environ tangente O lorsque la pièce est inclinée vers une orientation plus verticale Si la scène vue est constituée d'un certain nombre de surfaces planes d'orientations différentes, l'image de la ligne est brisée en un certain nombre de segments de droite séparés par de brusques variations de pente Si plusieurs lignes parallèles sont projetées, toutes les lignes réfléchies par une surface donnée pos- sèdent la même pente et le contour de la surface peut être déduit des positions des discontinuités de pente. Ces propriétés sont exploitées dans le groupage de pente, indiqué en 176 sur la figure 11, pour diviser des surfaces ayant des orientations différentes Ce pro- cessus peut être décrit comme un processus de formation d'histogramme dans lequel les pentes des lignes sont comp- tées et chaque case 178 (figure 12) de l'histogramme repré- sente une gamme étroite de valeurs de pente La pente de chaque segment de ligne 172 (figure 10) de l'image, calcu- lée pendant le traitement initial de l'image, est examinée et un label de ligne (un indicateur dirigé vers le descrip- teur de ligne dans la mémoire de l'ordinateur et représenté par les nombres entourés d'un cercle sur la figure 10) est déposé dans la case appropriée La distribution résultante possède une pointe correspondant à chaque orientation diffé- rente Ainsi, deux pointes apparaissent sur la figure 12, une pour chaque case 178. Sur la figure 12, la pente minimale est de -0,324 (ligne 5) et la pente maximale est de 0,364 (ligne 19). Si une partie du gabarit 170 (figure 8) apparaît également dans l'image traitée de la figure 10, les lignes qu'elle réfléchit sont groupées avec la partie de la pièce ayant la même orientation Lors de l'opération suivante, indiquée en 179 sur la figure 11, les lignes réfléchies par la pièce sont séparées de celles réfléchies par un fond ayant la même orientation, mais une hauteur diffé- rente. b Séparation de plans parallèles De même que des surfaces adjacentes ayant des hauteurs différentes ont pour résultat des lignes d'image représentant des discontinuités de pente, des scènes ayant des discontinuités de hauteur (c'est-à-dire des pièces se chevauchant) produisent des images de lignes dont la valeur u présente des variations discontinues Ce cas apparaît, par exemple, lorsqu'un assemblage 180 à recouvrement (figure 14) est vu de dessus, ou bien si une partie du gabarit 170 (figure 8) se présente comme montré sur la figure 10. La séparation des surfaces parallèles se chevau- chant est effectuée au moyen de statistiques d'intervalle de ligne obtenues pendant l'étalonnage du projecteur Par exemple, dans l'image d'une soudure à recouvrement montrée sur la figure 15, une liste ordonnée par la valeur u moyenne croissante comprend tous les segments de ligne apparaissant dans l'image (u croît du bas vers le haut sur la figure 15) La séparation selon u entre les deux premiers éléments 182 et 184 de la liste est calculée et comparée à la séparation moyenne, à l'intérieur d'un nombre spécifié d'écarts-types (habituellement environ 2,5), mesuré lorsquele projecteur est étalonné Si la valeur essayée tombe à l'extérieur de cet intervalle et est infé- rieure à la moyenne étalonnée, le processus est répété entre le premier élément et l'élément suivant non examiné de la liste (par exemple le premier élément 182 et le troisième élément 186, le premier élément 182 et le quatrième élé- ment 188, etc) jusqu'à ce que la valeur essayée soit com- prise dans la plage spécifiée A ce moment, le premier élément 182 de la liste est retiré et utilisé comme premier élément d'une nouvelle liste qui contient toutes les lignes associées à la surface donnée Si la valeur essayée est extérieure à la plage de tolérance, elle est comparée à l'intervalle des éléments de référence 190 et 192 Si cette comparaison est comprise dans les limites spécifiées, on procède de la même manière; autrement, la boucle conti- nue L'itération de cette boucle est poursuivie avec le second élément 184 des deux lignes venant d'être comparées, utilisé comme élément initial (premier élément). Lorsque toutes les lignes de la liste ont été ainsi examinées, on a obtenu une nouvelle liste contenant toutes les lignes appartenant à une surface, et ces lignes sont retirées de la liste initiale Le processus est répété jusqu'à ce que chaque ligne de la liste d'origine ait été affectée à une liste de surface et que la liste d'origine soit épuisée, ou bien jusqu'à ce qu'aucune des lignes res- tantes ne réponde aux critères précédents Le processus de séparation de hauteur -est effectué indépendamment sur chaque case d'histogramme chargée par le processus d'orien- tation-groupage Pour l'assemblage 180 de soudure en recou- vrement (figure-14), une seule case chargée apparaît Cepen- dant dans le cas de l'assemblage d'angle montré sur la figure 8, ce processus sépare ou isole les pièces 166 et 168 des surfaces de fond, de plus faible hauteur, mais d'orientation similaire, du gabarit 170. Des segments de ligne ayant la même valeur moyenne u et, par conséquent, appartenant à des surfaces de même hau- teur, sont regroupés par ce processus Cette situation apparaît, par exemple dans le joint bout à bout carré 112- montré sur la figure 5 Une autre décomposition est alors nécessaire pour résoudre cette difficulté. c Séparation en zones Ce processus est utilisé pour séparer des pièces distinctes ayant la même orientation et la même hauteur, et il est indiqué en 194 sur la figure 11 Il est utilisé principalement pour localiser, par exemple, des pièces 116 et 118 formant un joint bout à bout carré 112 tel que montré sur la figure 5. La séparation ou le groupace de zones est également un processus de formation d'histogramme, l'histogramme étant, dans ce cas, la distribution des valeurs v* moyenne pour toutes les lignes appartenant à un groupe de surfaces ayant la même orientation et la même hauteur La valeur v* est calculée par rotation du système de coordonnées u-v afin de minimiser la variance totale du jeu de valeurs v moyennes pour le groupe de lignes examiné En particulier, si D est l'angle calculé de rotation, on a: v* = v cos D u sin o ( 4) Ce système de coordonnées tourné est utilisé pour éliminer des sources possibles d'erreurs introduites par des lignes de joint qui traversent diagonalement l'image. Il convient de noter que, dans le cas des assem- blages d'angle et à recouvrement, représentés en 164 (figure 8) et 180 (figure 14) et décrits ci-dessus, ce processus ne produit aucune autre séparation Il sert plu- tôt seulement à transférer des données de ligne vers la localisation de plan et des opérations d'ajustage décrites ci-dessous. 4 Localisation spatiale de pièces Lorsque l'image de chaque pièce d'une soudure est isolée par les processus de groupage, ses données élémentai- res, constituées par les listes ordonnées décrites ci-dessus, sont traitées pour déterminer la localisation tridimension- nelle (x-y-z) de la pièce Cette opération est indiquée en 196 sur la figure 11. Les éléments de référence 124 (figures 6 et 8) sont d'abord localisés par calcul du rapport de l'entraxe de chaque paire d'éléments 122 et 124 à l'intervalle moyen de tous les éléments dans la liste La paire d'éléments pour laquelle ce rapport est le plus grand est prise comme étant la paire de référence On vérifie également ce rapport d'intervalle de référence afin de s'assurer qu'il est compris dans la plage rencontrée pendant l'étalonnage Si tel n'est pas le cas, le segment d'image est rejeté. Le rapport des entraxes est utilisé dans ce cas, car cette valeur n'est relativement pas affectée par les variations affectant la largeur apparente ou l'intervalle apparent des éléments Dans une image binaire, la largeur apparente des éléments varie, car l'intensité de la lumière réfléchie vers la caméra par les bords des éléments éclai- rés de façon marginale varie avec le facteur de réflexion de la surface L'intervalle absolu des éléments diminue lorsque la pièce est rapprochée de la caméra. Une fois que les éléments de référence 124 sont localisés et que, par conséquent, l'indice de chacun des éléments 122 et 124 est déterminé, les coordonnées x,y et z des extrémités de chacun des éléments 122 et 124 sont calcu- lées par le processus décrit ci-dessus Cette opération est indiquée en 200 sur la figure 7. Le résultat de ce processus est un bloc descrip- teur de plan contenant les valeurs moyennes x,y et z (centre de gravité apparent) pour la surface de chaque pièce, par exemple 166 et 168 sur la figure 10, et des listes contenant les valeurs u v, x, y et z pour les extré- mités de tous les segments de ligne constituant l'image de la pièce Ces listes sont au nombre de deux, une pour les points du "haut" de l'image (v minimal) et l'autre pour ceux situés au bas de l'image (v maximal). Ajustement de surface Une description paramétrique de la géométrie de l'assemblage est obtenue par l'ajustement d'une surface mathématique sur les données obtenues à partir de l'étape précédente L'étape d'ajustement est indiquée en 202 sur la figure 7 La surface utilisée peut être de toute forme analytique convenant à l'application particulière Un pro- gramme complet destiné à l'appareil selon l'invention comprend des sous-programmes destinés à classer les surfa- ces afin de permettre la sélection de formules appropriées pour la poursuite de l'analyse de la pièce conformément à l'invention Lors du soudage de tubes, par exemple, il est approprié d'ajuster des sections coniques, par exemple une ellipse ou un cercle Pour d'autres formes très complexes, des courbes d'ordre plus élevé peuvent être utilisées. Aux fins de la présente invention et à titre d'exemple, des plans plats tridimensionnels, de la forme: Ax + By + Cz + D = O ( 5) sont ajustés. Cette équation est ajustée sur les données des extrémités des éléments par la méthode des moindres carrés. Les paramètres A, B, C et D sont normalisés de manière que A, B et C soient les cosinus orientés de la surface perpen- diculaire aux axes x, y et z, et D soit la distance mesurée perpendiculairement de l'origine à la surface du plan. Il convient de noter que le signe D indique de quel côté de l'origine se trouve le plan. Ces paramètres, ainsi que les données concernant les bords et le centre de gravité, sont enregistrés dans des blocs descripteurs de surface. 6 Localisation de l'assemblage Cette opération est indiquée en 204 sur la figure 7 Pour faciliter la localisation de l'assemblage par de simples descriptions géométriques, les blocs descripteurs de surface indiqués ci-dessus sont organisés en listes reliées les unes aux autres conformément à la position relative de chaque surface dans l'espace Ces listes sont au nombre de trois, disposées en ordre croissant conformé- ment aux valeurs moyennes x, y et z, respectivement Il convient de noter que chaque surface apparaît une fois dans chaque liste La position relative d'une surface don- née est représentée par sa position dans chaque liste. L'utilisation de ces structures de données pour la localisation des assemblages d'angle et à recouvrement, ainsi que des données paramétriques obtenues pendant l'ajustement de surface, est décrite ci-dessous. a Localisation de l'assemblage d'angle Un assemblage d'angle simple, tel que montré sur la figure 8, comprend deux plaques 166 et 168 qui se rejoignent sous un certain angle, par exemple de 90 . La ligne d'assemblage prévue étant définie comme suivant approximativement l'axe x, la localisation de l'assem- blage d'angle 164 s'effectue de la manière suivante. L'image est parcourue dans la direction y (perpendicu- laire à la ligne d'assemblage prévue) par parcours de la liste y dans le sens décroissant Cette liste fait l'ob- jet d'une recherche exhaustive jusqu'à ce qu'il soit trouvé deux plans adjacents dont les surfaces forment normalement un angle de 90 ' (plus ou moins 20) dans le plan y z Un contrôle est également réalisé pour véri- fier que ce point d'intersection se trouve sur le côté avant de la soudure La technique de recherche exhaustive utilisée ici peut sembler à première vue relativement longue Cependant, étant donné le petit nombre de plans impliqués (habituellement pas plus de 4), il s'agit en fait d'une opération extrêmement rapide Les résultats de cette opération 204 pour l'assemblage 164 de la figure 8 sont montrés sur la figure 13 tels qu'ils sont affichés sur le terminal 40 (figure 1) La ligne 206 identifie l'assemblage 164 Pour faciliter l'interprétation, l'information affi- chée sur la figure 13 comprend une identification, par une flèche 208 de la première ligne 172 dépassant la ligne 206 dans une direction proposée de soudage La soudure se termine à la ligne identifiée pour assurer une soudure complète de l'assemblage 164. b Localisation de l'assemblage à recouvrement La figure 14 représente un joint typique 180 à recouvrement Dans ce cas, le point de visée de la caméra est situé directement au-dessus de la plaque supérieure 210, de manière que la face verticale (bord de la plaque supérieure) ne soit pas visible directement et que l'assem- blage apparaisse sous la forme d'un ensemble de deux pla- ques superposées 210 et 212 L'image traitée de cet assem- blage est montrée sur la figure 15. On localise le joint à recouvrement 180 en trou- vant la discontinuité de hauteur ou gradin entre les deux plaques Le dernier élément (le plus haut) de la liste z est pris comme étant la plaque supérieure 210 L'élément immédiatement inférieur de la liste est ensuite vérifié afin que l'on obtienne confirmation que sa valeur z moyenne diffère de celle du premier élément par l'épais- seur connue de la plaque supérieure Si ce test donne satisfaction, la liste de bord pour la plaque supérieure, ainsi qu'un indicateur indiquant la position de la face de recouvrement par rapport à la ligne de recouvrement 180, sont soumis au processus d'ajustement de la ligne de recou- vrement Il convient de noter que, dans ce cas, la largeur de recouvrement est considérée comme nulle. 7 Estimation de la trajectoire de recouvrement Le trajet de recouvrement et le montage sont défi- nis par les données de bord de la pièce résultant des opéra- tions de localisation Une courbe mathématique est ajustée * sur ces données pour fournir une description paramétrique de la trajectoire tridimensionnelle Ceci est nécessaire pour plusieurs raisons: la description mathématique obtenue peut être utilisée comme base pour une interpellation spatiale dans une commande de manipulateur; ce modèle est nécessaire pour raccorder entre eux des segments de trajet de recouvrement obtenus à partir d'images successives se chevauchant; cette trajectoire estimée est utilisée comme ligne de base pour la mesure de la largeur de recouvrement; cette information de largeur peut être utilisée, par exem- ple, pour commander l'amplitude des oscillations d'une torche ou pour choisir d'autres procédés de soudage, par exemple le "soudage en travers" pour remplir un assemblage large. De même que dans le cas de l'ajustement du plan, le type de courbe mathématique à utiliser doit être choisi pour convenir au mieux à une application spécifique Pour les pièces simples utilisées dans ces études initiales, on a choisi un modèle de ligne droite Ceci est accepta- ble dans ce cas, car la forme de réalisation décrite uti- lise un manipulateur x-y simple ayant une capacité d'inter- polation limitée. Les données de points de bord sont traitées comme les extrémités de segments de longueur de passe, et les indices de ligne sont des nombres en série de lignes de balayage Ces données sont soumises à une analyse de con- vergence et les segments de droite sont ajustés sur les zones concernées Le résultat de ce processus est montré dans son application au recouvrement courbe 180 (figure 14) sur la figure 16 Il convient de noter que la ligne courbe de recouvrement a été brisée en segments de droite 210 plus petits Dans ce cas, une ligne continue de recouvre- ment est obtenue par extrapolation de chaque segment, comme indiqué en 212, et jonction de ces segments en leurs points d'intersection 214. Après que la trajectoire de la ligne de base a été déterminée, le processus descend le long de la ligne, calculant la largeur du recouvrement en chaque point de bord Ces données, ainsi que les extrémités des segments du trajet, la pente et l'intervalle y, sont enregistrées dans une liste destinée à être utilisée par le contrôleur 46 du manipulateur (figure 1) Le soudage peut à présent être effectué, comme indiqué en 216 sur la figure 7, pour la réalisation d'une soudure d'assemblage complète à l'aide des résultats produits par l'appareil et le pro- cédé de l'invention, ces résultats permettant de trans- mettre des signaux appropriés de commande au contrôleur 46 de la figure 1. Il apparait à présent à l'homme de l'art que l'appareil et le procédé perfectionnés selon l'invention permettent d'atteindre les objectifs indiqués précédem- ment L'appareil et le procédé sont capables de caracté- riser des assemblages à souder tridimensionnels et de commander le positionnement d'une tête de soudage pour effectuer le soudage automatique des assemblages, en temps réel Ils n'exigent pas l'utilisation de configurations spéciales pour différentes formes de soudure Etant donné qu'aucun élément de détection ne doit être placé à proxi- mité de la pièce en cours de soudage, l'appareil convient à une utilisation avec une grande variété de formes de soudure. Il va de soi que de nombreuses modifications peuvent être apportées à l'appareil et au procédé décrits et représentés sans sortir du cadre de l'invention Par exemple, la source de lumière 24, la caméra 28 et le pis- tolet 18 de soudage peuvent être montés sur un bras d'un robot industriel, par exemple du type "T 3 " de la firme Cincinatti-Milacron, afin d'être déplacés par rapport à la pièce 16 qui peut également être déplacée ou bien qui peut rester immobile. REVENDICATIONS 1 Procédé de commande du positionnement d'un outil ( 18) par rapport à une pièce ( 16), caractérisé en ce qu'il consiste à projeter sur la pièce une mire lumi- neuse ( 26) comprenant un réseau ( 120) d'éléments lumi- neux ( 122, 124) ayant chacun une forme connue-et espacés les uns des autres d'un intervalle connu, à détecter le réseau d'éléments lumineux tels que réfléchis par la pièce, à grouper les éléments lumineux détectés en groupes basés sur au moins une caractéristique commune résultant de la géométrie de la pièce par les éléments lumineux tels que réfléchis, à définir la géométrie de la pièce à partir d'au moins une relation entre certains, différents, des groupes d'éléments lumineux détectés, et à commander le positionnement de l'outil et de la pièce, l'un par rapport à l'autre, sur la base de la géométrie de la pièce ainsi définie. 2 Procédé selon la revendication 1, caractérisé en ce que l'outil est une tête de soudage ( 18). 3 Procédé selon la revendication 2, caractérisé en ce que la géométrie de la pièce définie comprend plu- sieurs surfaces dont au moins deux forment un assemblage ( 164 ou 180) à souder. 4 Procédé selon la revendication 1, caractérisé eh ce que les éléments lumineux détectés sont groupés en au moins deux groupes contenant chacun des éléments lumi- neux ayant une pente similaire. Procédé selon la revendication 4, caractérisé en ce que les éléments lumineux ayant une pente similaire de chaque groupe sont en outre groupés en sous-groupes ayant chacun une distance similaire par rapport à un point prédéterminé. 6 Procédé selon la revendication 1, caractérisé en ce que la géométrie de la pièce est définie par ajuste- ment d'une surface math&matiaue sur au moins certains des groupes d'éléments lumineux détectés. 7 Procédé selon la revendication 6, caractérisé en ce qu'un bord d'au moins l'une des surfaces mathémati- ques est localisé par détection d'une discontinuité brusque de hauteur dans les éléments lumineux détectés. 8 Procédé selon la revendication 7, caractérisé en ce que l'outil est une tête de soudage et en ce que le bord d'au moins l'une des surfaces mathématiques est utilisé pour définir un trajet d'assemblage à souder que la tête doit suivre par rapport à la pièce. 9 Procédé selon la revendication 8, caractérisé en ce que l'assemblage à souder est défini par ajustement d'une courbe sur le bord d'au moins l'une des surfaces mathématiques. Procédé selon la revendication 9, caractérisé en ce que la courbe est utilisée comme ligne de base pour mesurer la largeur de l'assemblage à souder, et cette lar- geur ainsi déterminée est utilisée pour modifier le tra- jet de l'assemblage à souder. 11 Appareil de commande du positionnement d'un outil( 18)par rapport à une pièce ( 16), caractérisé en ce qu'il comporte un dispositif ( 24) destiné à projeter sur la pièce une mire lumineuse ( 26) comprenant un réseau ( 120) d'éléments lumineux ( 122, 124) ayant chacun une forme connue et espacés les uns des autres d'un intervalle connu, un dispositif ( 28) espacé du dispositif de projection et destiné à détecter le réseau d'éléments lumineux tels que réfléchis par la pièce et à produire des premiers signaux de sortie en réponse aux éléments lumineux détectés, un dispositif ( 38) destiné à classer les premiers signaux de sortie en groupes sur la base d'au moins une caractéristi- que commune résultant de la géométrie de la pièce pour les premiers signaux de sortie de chaque groupe, un dispositif destiné à définir une géométrie de la pièce à partir d'au moins une relation entre certains, différents, des groupes des premiers signaux de sortie et à produire des seconds signaux de sortie représentatifs de la géométrie de la pièce ainsi déterminée, et un dispositif ( 46) destiné à positionner l'outil par rapport à la pièce sous l'action des seconds signaux de sortie. 12 Appareil selon la revendication 11, caracté- risé en ce que l'outil est une tête de soudage ( 18). 13 Appareil selon la revendication 11, caracté- risé en ce que chaque groupe des premiers signaux de sor- tie est utilisé par le dispositif de définition pour défi- nir une surface de la pièce. 14 Appareil selon la revendication 13, caracté- risé en ce que ladite relation entre les premiers signaux de sortie de certains, différents, des groupes de premiers signaux est utilisée pour définir une intersection entre au moins deux surfaces de la pièce. Appareil selon la revendication 11, caracté- risé en ce que la lumière lumineuse projetée par ledit dispositif de projection comporte plusieurs lignes compre- nant une ligne ( 124) espacée d'une ligne adjacente par un intervalle qui diffère de celui compris entre toutes autres lignes ( 122) du réseau. 16 Appareil selon la revendication 15, caracté- risé en ce que deux lignes adjacentes quelconques du réseau sont séparées par un intervalle unique.