FR 2544889 A1 19841026 FR 8406242 A 19840419 Procédé et appareil de commande d'un manipulateur de soudure, à définition perfectionnée de la trajectoire de soudure ". L'invention concerne un procédé et un appareil de commande d'un manipulateur de soudure, à défini- tion perfectionnée de la trajectoire de soudure Plus pré- cisément, l'invention concerne un appareil de commande utilisant un système de commande utilisant un système de correction de vision pour la détection de la pièce à usi- ner, de manière à détecter l'écart entre une trajectoire de soudure prédéterminée et le cordon de soudure réel à effectuer, le chemin de soudure étant déterminé par rap- port à un cadre de référence défini par la pièce à usiner. Différents appareils de soudure et diffé- rents systèmes de détection de vision ont déjà été proposés dans l'art antérieur Par exemple, le Brevet U S A n O 4 380 696 déposé par I Masaki le 19 Avril 1983 et in- diqué ici, à toutes fins utiles, à titre de référence, décrit un procédé et un appareil permettant de définir un chemin de soudure par rapport à une pièce à usiner placée dans une position de référence, de déplacer le bras de manipulateur suivant les données enregistrées, pendant une première passe de lecture pour les pièces à usiner succes- sives, et d'utiliser un système de correction de vision destiné à déterminer l'écart entre une première passe de lecture et la trajectoire de soudure réelle, puis de déplacer le bras de manipulateur pour effectuer le cordon de soudure réel dans une seconde passe de lecture, suivant les données de chemin de soudure corrigées obtenues en modifiant les données de la première passe de lecture sui- vant l'écart obtenu. De plus, la Demande de Brevet nc 239 621 déposée par I Masaki le 2 mars 1981, décrit un procédé et un appareil permettant de détecter tout écart de position et d'orientation d'une pièce à usiner à partir d'une posi- tion de référence, ce résultat étant obtenu au moyen d'un système de détection visuel et d'un appareil de traitement d'image En outre, le Brevet U S A N O 4 348 578 et le Brevet U.S A N O 4 306 144 décrivent des dispositifs permettant d'effectuer la détection d'images de la pièce à usiner soit en augmentant l'intensité du projecteur de visualisation au cours de la détection, soit en interromptant l'opération de soudure pendant la détection De plus, des appareils de soudure à dispositifs de commande, sont décrits dans les Brevets U S A N O 4 115 684, 4 086 522, 4 030 617, 4 105 937, 3 532 807, 4 148 061, 4 338 672, 3 840 739, 3 766 355, et 4 255 643. Bien que les dispositifs décrits ci-dessus conviennent généralement bien à l'usage auquel ils sont destinés, il existe un besoin constant d'appareils perfec- tionnés de contrôle de soudure permettant d'obtenir une meilleure définition de la trajectoire de soudure, par exemple lorsque les points de départ et d'arrivée d'un chemin de soudure sont, de préférence, déterminés par rap- port à une pièce à usiner Par exemple, dans l'art anté- rieur, les points de départ et d'arrivée d'un cordon de soudure doivent se situer à une certaine distance du coin ou des bords d'une pièce à usiner, pour tenir compte des variations non corrigées de la position de la pièce à usi- ner tangentiellement par rapport à la trajectoire du cor- don de soudure. Par suite, l'invention a pour principal but de créer un procédé et un appareil de commande d'un manipulateur de soudure, muni d'un système de correction visuelle de détection de la pièce à usiner permettant de pallier l'un ou plusieurs des inconvénients de l'art an- -térieur décrit ci-dessus, en définissant les données de la trajectoire de soudure voulue par rapport à cadre de réfé- rence défini par la pièce à usiner. L'invention a également pour but de créer un procédé et un appareil de commande de manipulateur de soudure comportant un système de correction visuelle de détection de la pièce à usiner, dans lequel une trajectoire de soudure voulue est enregistrée sur la pièce à usiner au cours d'un mode d'enregistrement, et définie par rapport à un cadre de référence de la pièce à usiner Pour chaque pièce à usiner successivement présentée au manipulateur, un système de correction de vision détecte, dans un premier mode de lecture, la variation entre le cadre de référence enregistré de la pièce à usiner et le nouveau cadre de référence ou cadre réel de la pièce à usiner, les données de trajectoire corrigées étant calculées à partir d'une passe de lecture au cours du premier mode de lecture, et ces données de trajectoire corrigées étant utilisées au cours d'une seconde passe de lecture, pour effectuer la soudure suivant la trajectoire voulue. L'invention a encore pour but de créer un procédé et un appareil de commande de manipulateur de sou- dure dans lesquels les données de correction sont obtenues pour une pièce à usiner particulière représentant l'écart entre une trajectoire enregistrée et une trajectoire de pièce à usiner réelle, en tenant compte des variations de position et d'orientation de la pièce à usiner avant que le manipulateur effectue la soudure selon la trajectoire de soudure voulue, ce résultat étant obtenu en définissant la trajectoire par rapport à un cadre de référence défini par la pièce à usiner ou par rapport à un cadre de coor- données de référence, en détectant et en définissant les nouvelles coordonnées de référence pour une pièce à usiner placée dans une position différente de la position enregis- trée, et en effectuant la soudure le long de la trajectoire voulue suivant des données de trajectoire de soudure modi- fiées définies par rapport au nouveau cadre de cordonnées de référence. L'invention a encore pour but de créer un appareil de commande de manipulateur utilisant un système de détection de vision pour déterminer avec précision les points de départ et d'arrivée d'une trajectoire par rap- port à un cadre de coordonnées de référence de la pièce à usiner, et utilisant ces données de détermination de tra- jectoire pour modifier le mouvement du bras de manipulateur au cours d'une première passe de lecture de détection et d'une seconde passe de lecture de soudure de la trajectoire de soudure, de manière à tenir compte des variations de position et d'orientation de la pièce à usiner. A cet effet, l'invention concerne un appa- reil de commande pour manipulateur de soudure utilisant un bras de manipulateur commandable suivant un ou plusieurs axes et monté de manière à effectuer un programme de sou- dure prédéterminé sur une pièce à usiner dans un poste de soudure, le programme de soudure étant du type comprenant des points de soudure prédéterminés ou des trajectoires de soudure définies par un certain nombre de points, appa- reil de commande caractérisé en ce qu'il comprend des moyens pour projeter une figure de rayonnement prédétermi- née sur la pièce à usiner dans le poste de soudure; des moyens pour stocker les données de référence représentant le programme de soudure et un cadre de coordonnées de réfé- rence défini par la pièce à usiner conformément à la figure de rayonnement projetée à partir de laquelle le programme de soudure peut être défini par rapport à une pièce à usiner se trouvant dans une position de référence prédéterminée dans le poste de soudure; des moyens pour détecter ce cadre de coordonnées par rapport à une pièce à usiner suivante conformément à la figure de rayonnement projetée, et pour déterminer les données modifiées du cadre de coordonnées de référence; et des moyens répon- dant aux données modifiées du cadre de coordonnées de réfé- rence pour déplacer le bras de manipulateur de façon qu'il effectue le mouvement du programme de soudure. En bref, les buts ci-dessus de l'invention sont atteints en créant un appareil de commande de manipu- lateur d'appareil de soudure permettant d'effectuer un cor- don de soudure prédéterminé sur des pièces à usiner succes- sives en tenant compte des écarts de position et d'orienta- tion de la pièce à usiner par rapport à la pièce sur la- quelle a été initialement enregistrée la trajectoire de soudure L'appareil de commande comporte un système de cor- rection visuelle de détection de la pièce à usiner Au cours d'un mode d'enregistrement initial pendant lequel un opérateur commande le mouvement du manipulateur, on enr-egis- tre la trajectoire de soudure voulue du manipulateur sur la pièce à usiner en enregistrant et en définissant convenable- ment les données représentant la trajectoire de soudure par rapport à un cadre de référence défini par la pièce à usiner Le cadre de référence peut, par exemple, être un cadre de coordonnées de référence défini par rapport à la géométrie de la pièce à usiner telle qu'un coin ou une discontinuité à forte pente, le long du bras de la pièce à usiner. Dans une forme préférée de réalisation, le cadre de coordonnées de référence est défini par trois points d'un cadre d'angle avec l'angle inclus, ou par deux points le long de chacune de deux lignes définissant le cadre d'angle Les points de départ et d'arrivée d'une trajectoire de soudure voulue, ainsi que les points inter- médiaires, sont alors définis par rapport au cadre de coordonnées de référence En plus des données représentant le cadre-de coordonnées de référence et la trajectoire de soudure enregistrée, on enregistre également, dans le mode d'enregistrement, les données représentant une image ou un modèle de la trajectoire de soudure et des points de cadre d'angle Les données de l'image ou du modèle de réfé- rence sont fournies par un système de visualisation compre- nant une camera portée par le bras de manipulateur Lorsque des pièces à usiner successives sont présentées au manipula- teur pour effectuer la trajectoire de soudure voulue, l'appareil de commande est tout d'abord utilisé en mode de cycle de lecture de travail, pour mesurer et définir la nouvelle position et la nouvelle orientation du cadre de référence suivant la position et l'orientation de la pièce à usiner Les données du nouveau cadre de référence sont utilisées pour modifier les données de la trajectoire. Dans une forme préférée de réalisation, une première passe de lecture est effectuée en commandant le manipulateur pour qu'il se déplace au-dessus de la trajectoire de soudure suivant les données de trajectoire de soudure modifiées déterminées à partir des données du nouveau cadre de référence Le système de visualisation utilisant un système de traitement d'image, détecte l'écart entre la première trajectoire de lecture de sou- dure et la trajectoire de soudure réelle de la pièce à usi- ner L'appareil de traitement d'image, grâce à la détection visuelle de la première passe de lecture, fournit les don- nées d'écart représentant l'écart entre la première trajec- toire de passe de lecture et la trajectoire de soudure réelle de la pièce à usiner En réponse aux données d'écart fournies par l'appareil de traitement d'image au cours de la première passe de lecture, l'appareil de com- mande modifie les données de trajectoire de soudure de la première passe de lecture pour fournir des données de tra- jectoire de soudure corrigées correspondant à l'orienta- tion et à la position de la pièce à usiner particulière rencontrée par le manipulateur. Au cours d'une seconde passe de lecture en mode de cycle de lecture de travail, la soudure du cor- don de soudure de la pièce à usiner est effectuée suivant les données corrigées de trajectoire de soudure obtenues dans la première passe de lecture, la soudure étant déclen- chée en un point prédéterminé par rapport au cadre de réfé- rence Quand des pièces à usiner successives sont présen- tées au manipulateur, il est effectué, pour chaque pièce à usiner, la définition du nouveau cadre de référence et les première et seconde passe de lecture du mode de lecture Par suite, l'appareil de commande permet d'obtenir la sou- dure précise des points de départ et d'arrivée et des points intermédiaires de la trajectoire de soudure, par rapport à la pièce à usiner, pour des changements d'orien- tation et de position de celle-ci. L'invention sera décrite en détail en se référant aux dessins joints dans lesquels: la figure 1 est une vue en perspective d'un manipulateur programmable placé au voisinage d'un poste de soudure d'une pièce à usiner, ainsi qu'une repré- sentation sous forme de schéma par blocs de l'appareil de commande selon l'invention; les figures 2 et 3 sont des vues en pers- pective représentant les différentes pièces à souder au moyen de l'appareil de commande de la figure 1, ces figures illustrant également les formes de lumière projetée du sys- tème de visualisation et les systèmes de coordonnées d'angle; la figure 4 est une représentation gra- phique d'une trajectoire de soudure voulue à effectuer par rapport à un cadre de référence tel qu'un cadre de coor- données d'angle défini par la pièce à usiner; la figure 5 est une représentation gra- phique analogue à celle de la figure 4, illustrant la relation entre le système de coordonnées d'angle enregistré et la trajectoire de soudure, et entre le nouveau système de coordonnées d'angle et la trajectoire de soudure pré- sentée par une pièce à usiner pour une position et une orientation différentes; la figure 6 est une représentation gra- phique agrandie du système de coordonnées d'angle de réfé- rence des figures 4 et 5; la figure 7 est une représentation graphi- que de la relation entre le système de coordonnées d'angle enregistré et le nouveau système de coordonnées d'angle et la figure 8 est un diagramme fonctionnel illustrant le procédé selon l'invention et le fonctionne- ment général de l'appareil de commande selon l'invention, représenté aux figures 1 à 7, permettant de réaliser la soudure d'une pièce à usiner. En se référant maintenant à la figure 1, le manipulateur ou robot 10 est représenté au voisinage d'un poste de travail 12 pour effectuer, par le procédé selon l'invention, la soudure d'une pièce à usiner repérée dans son ensemble par la référence 14 La pièce 14 compor- te, par exemple, deux plaques métalliques disposées de manière particulière et destinées à être soudées le long du joint formé entre elles Le manipulateur 10 comporte un bras de manipulateur 20 muni d'une main ou pièce de récep- tion d'outil 22 Un dispositif de main de manipulateur 24 est placé sur la partie réceptrice 22. Dans une forme de réalisation de l'inven- tion, la main 24 porte un pistolet à soudure 26 et une caméra ou autre dispositif convenable de formation d'image 28 Un bloc de projection optique 30 est monté soit sur la main 24, soit dans une position de référence fixe indé- pendante de la main Le pistolet à soudure 26 est relié à un équipement de soudure repéré, d'une façon générale, par la référence 32, fournissant en 34 un système d'alimenta- tion de fil de soudure au pistolet 26, ainsi que d'autres connexions électriques convenables et une alimentation en gaz de soudure, conformément-à la pratique de soudure clas- sique L'équipement de soudure comporte également un con- trôleur de soudure 50 et une source de puissance de sou- dure 52 De plus, un étage de pilotage à laser 54 est prévu pour le fonctionnement du bloc de projection 30 et constitue une tête laser. La caméra 28 est commandée par un contrô- leur de caméra 36 et fournit des signaux d'image à celui-ci par des lignes de signal et de commande 38 Le contrôleur de caméra 36 est branché de manière à fournir des signaux à un dispositif de traitement d'image 40 La caméra 28, le bloc de projection optique 30, le contrôleur de caméra 36 et le dispositif de traitement d'image 40, constituent un système de vision sensiblement identique à celui représenté et décrit dans le Brevet U S A N O 4 380 696 ci-dessus et la Demande de Brevet N O 239 621 - Le bloc de traitement d'image 40 est branché par les lignes de données 42 à un système de transformation de données et à un contrôleur de système 44 Le système de transformation de données et le contrôleur de système 44 commandent le fonctionnement du manipulateur 10 par un con- trôleur de robot ou système de commande asservi repéré dans son ensemble par la référence 46 Le système de transforma- tion de données et le contrôleur de système 44 fournissant les signaux de commande convenables au système de commande asservi 46, ces signaux de commande servant à placer le bras de manipulateur 20 dans un ou plusieurs axes convena- bles. Le manipulateur 10 utilisé dans la mise en oeuvre de l'invention comprend différents types de mani- pulateurs ou robots programmables Un manipulateur 10 con- venable est commercialisé par Unimation Inc sous la mar- que de Bras PUMA commande d'un Robot" version 11, Février 1979, 2 ème édi- tion, pour obtenir une description plus détaillée du fonc- tionnement de ce type de manipulateur Un autre manipula- teur convenable est commercialisé par Unimation Inc sous la marque de manipulateur UNIMATE (Marque de fabrique de Unimation Inc) type 2000. Le contrôleur de système 44 du manipulateur de la figure 1 utilise, dans d'autres dispositions, le système de commande correspondant décrit plus en détail dans les Brevets U S A N O 3 661 051, 4 086 522, 4 163 183, 4 362 978, et 4 338 672 auxquels on pourra se référer pour une description plus détaillée des types convenables de systèmes de commande destinés à être utilisés en associa- tion avec l'invention. Suivant des aspects importants de l'inven- tion, et dans une forme spécifique de réalisation de celle- ci, l'opérateur commande, en mode d'enregistrement initial, le bras de manipulateur 20 suivant des axes contrôlables, de manière à placer le bout du pistolet à soudure 26 sur une trajectoire de soudure voulue par rapport à la pièce à usiner 14 Pendant le mode d'enregistrement, les données de trajectoire de soudure convenables sont enregistrées dans le contrôleur de système 44 de manière à représenter les points enregistrés le long de la trajectoire de soudure voulue, par rapport à un cadre de référence défini par la géométrie de la pièce à usiner Pendant une partie prédé- terminée du mode d'enregistrement, le bloc de projection est placé en état de fonctionnement pour projeter une figure lumineuse sur la pièce à usiner 14. En réponse à la figure lumineuse projetée, la caméra 28 associée au contrôleur de caméra 36 et au bloc de traitement d'image 40, fournit une image de réfé- rence ou de modèle destinée à être stockée avec les don- nées de trajectoire enregistrée Le bloc de projection 30 projette une figure de fente optique sur la pièce à usiner 14, et les éléments du système de vision comprenant la caméra 28, le contrôleur de caméra 36 et le bloc de trai- tement d'image 40 détectent la figure optique transformée par la forme de la surface de la pièce à usiner 14 L'image de référence ou de modèle est relevée en un ou plusieurs points convenables le long de la trajectoire de soudure enregistrée, suivant la géométrie de la trajectoire de soudure De plus, pendant le mode d'enregistrement, le cadre de référence est déterminé par la caméra 28, le bloc de traitement d'image 40 et le contrôleur de système 44, comme cela sera décrit plus en détail ci-après. Pendant le mode d'enregistrement, sont également enregistrées des données de soudure, telles que la vitesse de soudure requise et autres paramètres propres à l'opération de soudure Dans une autre forme spécifique de réalisation, seule l'image de modèle de référence est relevée sur une pièce de référence à souder, et la tra- jectoire de soudure voulue est enregistrée au cours de la première passe de lecture de la première pièce de lecture, comme cela sera décrit plus en détail ci-après La trajec- toire enregistrée de la première pièce de lecture à souder, est ensuite utilisée pour les pièces successives à souder. Suivant des aspects importants de l'inven- tion, lorsque des pièces à usiner successives sont présen- tées au manipulateur 10 pour être soudées, ce manipulateur est commandé de manière à fonctionner en mode de lecture comprenant la définition des nouvelles position et orienta- tion du cadre de référence, du fait du changement de posi- tion de la pièce à usiner Les nouvelles données de cadre de référence sont utilisées pour modifier les données de la trajectoire de soudure Dans une forme préférée de dis- position, le mode de lecture comprend également une première passe de lecture au cours de laquelle le bras de manipula- teur 20 est commandé de manière à se déplacer au-dessus de la trajectoire de soudure conformément aux données de tra- jectoire de soudure modifiées déterminées à partir des données du nouveau cadre de référence, la caméra 28 venant fonctionner au-dessus de cette trajectoire. Pendant le mouvement du bras de manipulateur dans la première passe de lecture au-dessus de la trajec- toire, le bloc de traitement d'image 40 fournit sur les lignes de données 42, des données d'écart par rapport aux images de la pièce à usiner détectées en des points conve- nables le long de la trajectoire de soudure, représentant l'écart du cordon de soudure réel de la pièce à souder 14, par rapport à l'image du modèle de trajectoire de soudure enregistré Suivant les données d'écart fournies par le bloc de traitement d'image 40, le contrôleur de système 44 cal- cule et emmagasine les données de trajectoire de soudure corrigée destinées à la pièce à souder réelle 14, en tenant compte de tout changement de position de la pièce à usiner 14. Dans une seconde passe de lecture du mode de lecture, le pistolet à souder 26 est amené en position de fonctionnement au-dessus de la pièce-à usiner 14, et les données de trajectoire corrigées calculées et stockées suivant la première passe de lecture, sont utilisées pour commander le bras de manipulateur 20 de façon qu'il soude suivant la trajectoire de soudure voulue sur la pièce à usiner 14, en coopération avec le fonctionnement de l'équi- pement de soudure 32. Ainsi, la trajectoire de soudure voulue est balayée et enregistrée sur une pièce à usiner de réfé- rence 14 au cours d'un mode d'enregistrement unique, et lorsque les pièces à usiner successives 14 sont présentées au manipulateur 10, le mode de lecture est effectué pour chacune des pièces à usiner. En considérant maintenant une brève descrip- tion des pièces à usiner typiques 14 pour illustrer le fonc- tionnement de l'invention, et en se référant à la figure 2, le bloc de projection 30 projette une image optique de fente sur les parties de pièce 60, 62 à orientation générale per- pendiculaire Les parties 60, 62 de la pièce à usiner trans- forment l'image optique projetée par le bloc 30 conformément à la forme et à la position de la surface des parties de pièce à usiner, comme indiqué, par exemple, par l'image linéaire 64 formée sur la partie de pièce 62 et l'image linéaire 66 formée sur la partie de pièce 60 Ce type de projection d'image optique est très utile pour les-systèmes de correction de trajectoire utilisés dans la soudure'à l'arc, la soudure de fermeture étanche, la brasure et autres. Ainsi, la caméra 28 détecte l'image de la figure lumineuse transformée comprenant les parties 64 et 66, l'intersection des lignes 64, 66 définissant les points, le long du cordon de soudure d'intersection 68, des parties de pièce 60, 62 à souder pour différentes posi- tions de la caméra 28 et du bloc de projection 30. La figure optique est également projetée au voisinage du bord d'angle 67 défini par les parties de pièce à usiner 60, 62 en plusieurs points prédéterminés pour définir le cadre de référence sous la forme d'un sys- tème de coordonnées trirectangulaires, comme indiqué dans les parties fortement éclairées 63, 65, et comme cela sera expliqué plus en détail ciaprès Le cadre 63, 65 des coordonnées de référence d'angle fortement éclairé, est défini par les parties de pièce 60, 62 et illustre un cadre de référence convenable définissant une relation fixe entre les points de départ et d'arrivée d'une trajec- toire de soudure ainsi que les points intermédiaires le long de la trajectoire de soudure 68 Le cadre de coordon- nées d'angle indiqué en 63, 65 illustre un type de cadre de référence défini par des pièces à souder telles qu'un coin ou une discontinuité à pente raide. Selon l'invention, la trajectoire de sou- dure, telle que 68, est définie par rapport au cadre de référence, tel que 63, 65, dans un coin 67, de sorte que la totalité de la trajectoire de soudure 68 ainsi définie peut être modifiée et redéfinie par rapport à une nouvelle position de cadre de référence du fait de variations de position et d'orientation de la pièce à usiner. La figure 3 représente un second exemple d'application de soudure à un cordon de soudure à recouvre- ment 78 entre les deux parties planes en recouvrement 70, 72 d'une pièce à usiner La figure optique de fente proje- tée par le bloc de projection 30 forme une image transfor- mée par la forme des parties de pièce 70, 72, comprenant une première image linéaire 74 sur la partie de pièce 70, et une seconde image linéaire 76 sur la partie de pièce 72 De plus, le cadre de référence de coordonnées d'angle indiqué par les parties fortement éclairées 75, 77 est défini au bord d'angle 79, et la trajectoire de soudure 78 est définie et enregistrée par rapport à ce cadre. * Ainsi, les images de pièce à usiner repré- sentées respectivement aux figures 2 et 3 sont typiques de l'image du modèle de référence enregistré par le bloc de traitement d'image 40 en mode d'enregistrement pour une pièce à usiner de référence, et sont également typiques des images réelles formées par les pièces à usiner succes- sives détectées, en modes de lecture, pax la caméra 28 au cours de la première passe du mode de lecture, conformé- ment à l'opération effectuée sur chaque pièce à usiner successive. Dans une forme de réalisation spécifique de l'invention, l'image de référence 64, 66 n'est enregis- trée qu'en un seul point le long de la trajectoire d'enre- gistrement 68 car la géométrie du cordon de soudure 68 a pour résultat qu'on obtient une image constante dans les différents points répartis le long de la trajectoire de soudure voulue. Si l'on considère maintenant plus en détail, en se référant à la figure 4, les modes d'enregis- trement et de lecture selon l'invention, un chemin de sou- dure typique 80 est illustré graphiquement dans le système de coordonnées de référence X-Y La trajectoire de soudure comprend un point de départ de soudure 82, un point de fin de soudure 84 et un certain nombre de points int*ermé- diaires tels que 86, 88 utilisés comme points de détection pour obtenir une précision convenable dans la détermination et la correction de la trajectoire de soudure. Suivant des aspects importants de l'inven- tion, le cadre de référence défini par la pièce à usiner, est représenté en figure 4 par les vecteurs 90 et 92 for- mant un système de coordonnées de référence rectangulaires, les vecteurs 90, 92 étant définis par les surfaces de bords des pièces à souder déterminés respectivement par les lignes 94, 96 et correspondant par exemple au système de coordonnées rectangulaires représenté par les lignes fortement éclairées 63, 65 de la figure 2. Ainsi, pendant la phase d'enregistrement, les données de trajectoire représentées par les points 82, 84, 86 et 88, par exemple, sont enregistrées par rap- port au cadre de référence décrit par 90, 92 De plus, pendant la phase d'enregistrement, les données représentant le système de coordonnées d'angle rectangulaires sont également enregistrées comme cela sera décrit plus en détail ci-après Bien que le point de départ de soudure soit représenté à l'intersection ou à l'origine du système de coordonnées rectangulaires 90, 92, il est évident que dans d'autres applications particulières le point de départ de soudure peut être situé en un autre point par rapport au système de coordonnées, comme dans le cas d'autres points de trajectoire intermédiaires, tels que 86, 88 De plus, dans d'autres applications particulières de l'invention, la totalité de la trajectoire de soudure est séparée du système de coordonnées de référence, de façon que la trajectoire de soudure ne coupe pas le sys- tème de référence défini. En se référant maintenant à la figure 5, la trajectoire de soudure nominale de référence enregis- trée 80 et le système de référence correspondant 90, 92 représentant la trajectoire de soudure par rapport à une pièce à souder dans une position et une orientation de référence, sont représentés en même temps qu'un système de coordonnées 90 ', 92 ' et une trajectoire de soudure 80 ' correspondant à la trajectoire de soudure par rapport à une pièce à souder dans une position et une orientation différentes de la position de référence. Pendant la phase de répétition du fonction- nement, lorsqu'une pièce à usiner suivante se présente avec une position et une orientation arbitraires, le sys- tème de détection comprenant le projecteur 30, la caméra 28, le bloc de traitement d'image 40, et un contrôleur de système 44, sont mis en oeuvre pour mesurer et définir le nouveau système de coordonnées rectangulaires de référence ', 92 ' A partir de ce nouveau système de coordonnées rectangulaires de référence 90 ', 92 ', les positions de détection, la position de départ de soudure, et la posi- tion de fin de soudure sont calculées en coordonnées uni- verselles de travail du bras de manipulateur par le con- trôleur de système 44 Par exemple, chaque point de détec- tion tel que 86, 88 et les points de départ de soudure 82 et d'arrivée de soudure 84, sont modifiés selon la rela- tion suivante: -nouveau -=nouveau Pc ( 1) o Pnouveau est une transformation homogène 4 x 4 définis- sant la position et l'orientation du point mis à jour, Cnouveau est une transformation homogène 4 x 4 définissant le nouveau système de coordonnées rectangulaires tel que ', 92 ', et Pc est une matrice de transformation homogène définissant la position et l'orientation de la pièce à usiner par rapport au système de coordonnées rectangulaires , 92 ou 90 ', 92 '. Par suite, dans la passe de détection appe- lée première passe de lecture, le bras de manipulateur est commandé de manière à se déplacer suivant les données modi- fiées P pour chacun des points de détection, de -nou v eau début de soudure et de fin de soudure. Ainsi, pendant la première passe de lectu- re, l'appareil de commande détecte l'image de la figure projetée sur la pièce à usiner et détermine l'écart entre le bras de manipulateur pendant la détection de la pre- mière passe de lecture et la trajectoire de soudure réelle présentée par la pièce à usiner. Dans cette forme préférée de réalisation, la première passe de lecture, au cours de laquelle le bras est commandé suivant les données modifiées, donne des don- nées d'écart plus précises que celles obtenues et utilisées pour modifier les points de trajectoire conformément à la relation ( 1), par rapport aux nouvelles données de coor- données rectangulaires Dans une variante de réalisation destinée aux applications o la distance de la trajectoire et les impératifs de précision le permettent, on supprime la première passe de lecture et l'on utilise directement les points modifiés conformément à la relation ( 1) pour effectuer la seconde passe de lecture de soudure Dans la forme préférée de réalisation, les données d'écart obtenues à partir de la première passe sont utilisées pour corriger encore les points de la trajectoire. En se référant maintenant à la figure 6, un cadre de référence convenable déterminé par la géomé- trie de la pièce à souder selon l'invention, peut être défini de différentes manières Comme décrit ci-dessus, un cadre de référence convenable est constitué par un sys- tème de coordonnées rectangulaires défini sur le bord de la pièce à usiner Dans l'exemple d'un système de coordon- nées rectangulaires, l'appareil de commande définit les quatre points Pl, P 2, P 3 et P 4 par l'intermédiaire de la caméra 28 et du bloc de traitement d'image 40 Par exemple, Pl et P 2 sont définis sur un axe 100 de coordonnées X for- mé par une limite de la pièce à usiner, et P 2, P 4 sont définis sur une ligne 102 correspondant à un seconde limite de la pièce à usiner. Quand l'angle 0 inscrit entre les lignes et 102 est connu, il suffit de définir trois points tels que Pl, P 2 et P 3, par exemple Le cadre de référence de la figure 6 illustre un procédé de définition de cadre de référence et définit l'origine 104 en Pl et l'axe de coordonnées Y suivant la direction dirigée de Pl vers P 3. L'axe Z est défini comme le produit vectoriel du vecteur unitaire 2 suivant l'axe X, par le vecteur unitaire 2 suivant l'axe Y On définit de cette manière un système de référence CT comme une matrice de transformation homo- gène 4 x 4. L'opérateur peut déterminer les points Pl, P 2, P 3 et P 4 en amenant le bras de manipulateur dans chacune des positions et en enregistrant les points pendant l'en- registrement, tout en enregistrant, au moyen du système de visualisation, une ou plusieurs images de modèles appropriés de la figure de lumière projetée, pour des points correspondant à des figures de lumière différentes de l'image de modèle de référence de la trajectoire de soudure Par exemple si les points Pl et P 2 se situent sur la trajectoire de soudure 68 de la figure 2, l'image de référence de trajectoire de soudure convient et il n'est pas nécessaire d'enregistrer une nouvelle image de modèle Cependant, les points P 3 et P 4 nécessitent une image de modèle séparée, car ils sont définis par une image de modèle différente de celle de la trajectoire de soudure. Dans une autre forme de réalisation, les points sont définis par le système de visualisation com- prenant le bloc de projection 30, la caméra 28, le bloc de traitement d'image 40 et le contrôleur de système 44 avec le bras de manipulateur dans une position unique. Les lignes coupant les lignes 100, 102 de la figure 6 en chacun des points, représentent la position et l'orienta- tion de la figure projetée sur la pièce à usiner, c'est- à-dire la bande d'illumination dans une forme particulière de réalisation La définition des points Pl, P 2, P 3 et P 4 de la figure 6 se fait à des distances convenables de l'origine, à l'intersection des lignes 100, 102, pour per- mettre l'écart maximum des pièces à usiner suivantes. Cela permet de s'assurer que l'intersection de la figure de lumière projetée sur la pièce à usiner suivante, donne des images convenables par intersection avec l'axe de système de référence des coordonnées modifiées, tel que 92 et 92 ' par exemple en figure 5. En se référant maintenant encore à la figure 7, celle-ci représente un exemple de géométrie sim- plifiée illustrant un décalage de l'axe X entre C -nouveau et CT Dans la phase de lecture et avant la première passe de lecture, le nouveau système de coordonnées est détecté et défini par la relation suivante: Cnouveau = CT I -d* ( 2) O O 0 1 CT ldécalage d'axe X (-d*)l o d*, comme indiqué en figure 7, est le décalage le long de l'axe de coordonnées de référence X, défini par ld* = d 2 (cos O Sin O tg ( 0-90)l d 1 Bien évidemment, dans d'autres exemples particuliers, la transformationgénérale reliant CT et Cnouveau présente T-nouveau six degrés de liberté. L'angle O, comme indiqué en figure 7, est défini comme l'angle inscrit entre l'axe de coordonnées X et le segment d 2 reliant P 2 à P 3 De plus, O se définit par la loi des cosinus, sous la forme: Cos O = td 32 (d 12 + d 22)/2 (d 1 d 2)l, dans laquelle d 3 est le segment compris entre Pl et P 3, et d est le segment compris entre Pl et P 2. L'angle O est soit connu, soit déterminé par: sin O = u A v I, et cos O = u V On pourra se-référer au Brevet U S A n 4 380 696 ci-dessus pour une description plus détail- lée du fonctionnement de base d'un système de correction de vision concernant la définition de trajectoire, l'en- registrement, la lecture, la détection et la correction de trajectoire Les points de détection représentent les points de trajectoire, par rapport à la pièce à usiner de référence, o les données de correction de trajectoire doivent être détectées et calculées pendant le mode de répétition Cependant, bien qu'il soit plus pratique d'enregistrer ces mêmes points comme des points prédéter- minés destinés à servir de points de trajectoire relative à modifier et à utiliser pendant la première passe de lecture, il est possible dans d'autres formes de réalisa- tion particulières, de détecter et d'effectuer la correc- tion d'écart de trajectoire en des points différents des points enregistrés Cependant, les points enregistrés doivent toujours être utilisés pendant la première passe de lecture, avec des modifications conformes aux nouvel- les données de cadre de référence, pour servir de points de commande visés permettant de tracer la trajectoire détectée. De plus, le nombre de points de détection et le nombre de points de définition de trajectoire peu- vent être différents suivant les formes de réalisation particulières Bien évidemment, dans des applications spécifiques, le nombre des points de détection et des points de définition de trajectoire, est variable suivant la complexité des trajectoires de soudure De plus, dans une forme de réalisation spécifique, les données d'écart obtenues pendant la première passe de lecture, sont utili- sées pour modifier les données de trajectoire enregistrées définissant d'autres points que les points de détection o l'écart est calculé Dans tous les cas, les données- d'écart de trajectoire sont toujours mesurées par rap- port au point de trajectoire détecté o le bloc de trai- tement d'image fonctionne pour détecter l'écart. On considérera maintenant le fonctionne- ment de base du contrôleur de système 44 et, en particu- lier, du système de transformation de données qu'il con- tient, en se référant au diagramme fonctionnel de la figure 8 représentant le fonctionnement selon l'invention, y compris les fonctions supplémentaires effectuées par le contrôleur de système 44 en plus des commandes de manipula- teur classiques telles que le bras PUMA type 760 à program- mation de commande VAL décrit ci-dessus Le départ du pro- gramme fonctionnel du contrôleur de système 44 se fait par le mode d'enregistrement 114 dans lequel le bloc fonction- nel 115 représente l'enregistrement des données du cadre de référence permettant de définir le système de coordon- nées rectangulaires telles que 63, 65 de la figure 2, par exemple Le bloc fonctionnel 116 représente l'enregistre- ment de l'image de modèle de référence suivant les données provenant d'un système de vision dans lequel la caméra 28 est en position active et le bloc de projection 30 pro- jette l'image de fente donnant l'image 64, 66 de la figure 3 sur la pièce à usiner de référence prédéterminée. Après l'enregistrement de l'image de modèle, le programme fonctionnel passe à un bloc fonctionnel 118 représentant l'enregistrement de la trajectoire de soudure voulue sur la pièce à usiner de référence 14, par exemple par déplacement du manipulateur le long de la trajectoire de soudure 68 de la figure 3, et stockage des points de trajectoire tels que 82, 86, 88, 84 par exemple, ces points étant définis par rapport au cadre de référence Le pro- gramme fonctionnel passe alors à un bloc fonctionnel 120 dans lequel sont enregistrées d'autres informations uti- les, telles que la vitesse de soudure requise et autres paramètres de l'opération de soudure L'étape d'enregistre- ment 120 comporte également les données appropriées de définition de position du pistolet à souder et de la caméra, qui peuvent être nécessaires du fait des décalages que peuvent présenter la position du pistolet à souder et le centre optique de la main de manipulateur par rapport à un point de référence Dans la programmation VAL, l'étape d'enregistrement 120 comprend l'introduction dé données représentant et définissant soit les décalages de la main 24 dans les positions de la caméra et du pis- tolet à souder, soit les positions de deux mains fixées séparément dans une disposition particulière pour la- quelle sont prévues une main de caméra et une main séparée de pistolet à souder. Le programme fonctionnel du contrôleur de système 44 passe ensuite aux modes de lecture 121, et plus précisément au point de fonctionnement 122 du pre- mier mode ou passe de lecture 124 Dans le-premier mode de lecture 124, un bloc fonctionnel 123 représente la détec- tion et la définition du nouveau-cadre de référence, comme indiqué, par exemple, aux figures 5 et 7 Le diagramme fonctionnel de la première passe de lecture avance jus- qu'à un bloc fonctionnel 125 représentant la modification des points de trajectoire enregistrés conformément aux nouvelles données détectées de cadre de référence Ensuite, le programme fonctionnel passe à un bloc fonctionnel 126 représentant le fonctionnement du contrôleur asservi 46 destiné à amener le manipulateur 10 au point de détection modifié déterminé par le bloc 125. Lorsque le manipulateur a été amené au premier point de détection modifié, la caméra 28 étant en position active au-dessus de la pièce à usiner 14, une image réelle est obtenue à partir du système de vision représenté par un bloc fonctionnel 128 Le programme fonctionnel passe ensuite à un bloc fonctionnel 130 dans lequel le bloc de traitement d'image 40 calcule l'écart entre le point de détection modifié et la trajectoire de soudure réelle pour fournir l'écart au contrôleur de système 44. Lorsque le bloc de traitement d'image a fourni l'écart, le programme fonctionnel passe à un bloc fonctionnel 132 dans lequel le contrôleur de système 44 calcule un point de donnée, tel que 82 ' ou 86 ' par exem- ple, correspondant à une première position de la soudure réelle Quand le calcul du point réel est terminé, le programme fonctionnel passe à un bloc de décision 134 per- mettant de déterminer si ou ou non la première passe de lecture a été effectuée en prenant en compte le calcul des données de trajectoire corrigées pour chacun des points de détection modifiés. Si le résultat du bloc de décision 104 est NON, le programme fonctionnel revient, par la ligne de signal 136, du point de programme fonctionnel 137 au bloc fonctionnel 126 Dans le bloc fonctionnel 126, on fait avancer d'un pas de données les données correspon- dant au point de détection modifié et la première passe fonctionnelle de lecture 124 continue de calculer les données corrigées des points suivants lorsque le bras de manipulateur 20 avance vers chacun des points Il est cependant évident que le diagramme fonctionnel de la figure 8 n'est donné qu'à titre de simple illustration d'une forme de réalisation particulière de l'invention. Par exemple, dans une autre forme particulière de réali- sation, les données corrigées de tous les points sont calculées après que le bras soit passé par tous les points de détection modifiés, ce qui permet ainsi d'obte- nir les données d'écart correspondantes. Lorsque le dernier point de trajectoire corrigé, tel que le point final 84 ' de la figure 4, a été calculé suivant l'image obtenue-à partir de la passe de détection modifiée, le résultat fourni par le bloc de décision 134 est OUI, et le programme fonctionnel se poursuit par le point 138 pour passer au second mode ou seconde passe de lecture 140 du mode de lecture 121 Dans le second mode de lecture 140, un bloc fonctionnel 142 commande le manipulateur 10 pour qu'il soude le cordon de soudure réel de la pièce à usiner conformément à la tra- jectoire de soudure réelle 80 ' définie par les points de donnée corrigés stockés dans le contrôleur de système 44 à la suite du premier mode de lecture 124. Maintenant, lorsque le pistolet à souder 26 est en position de fonctionnement, le bloc fonctionnel 142 représente, en outre, la commande du manipulateur 10 pour qu'il effectue le cordon de soudure réel avec une commande convenable de l'équipement de soudure 32 et pour obtenir une vitesse de mouvement d'enregistrement convena- ble le long de la trajectoire réelle 80 ' conformément aux données introduites dans le mode d'enregistrement Ainsi, le bras de manipulateur 20 est commandé de manière à déplacer le pistolet à souder 26 au-dessus de la trajec- toire définie par exemple par les points 82 ', 86 ', 80 ', 84 ' et par des points intermédiaires supplémentaires. A la fin de la trajectoire de soudure ', le programme fonctionnel passe au bloc de décision 144 pour déterminer si la pièce à usiner suivante est en position convenable pour être soudée Si la décision est OUI, ce qui veut dire qu'une autre pièce est en position pour être soudée, le programme fonctionnel passe du bloc de décision 144 au point de fonctionnement 122 au début du premier mode de lecture 124, par l'intermédiaire de la trajectoire de signal 146. Ainsi, pour la pièce à usiner suivante, les premier et second modes de lecture 124 et 140 sont respectivement mis en oeuvre dans le système de référence défini par la pièce à usiner suivante en cours de détec- tion, les points de détection modifiés étant calculés, la pièce à usiner étant détectée dans le premier mode de lecture, la trajectoire de soudure réelle étant calculée, et le cordon de soudure étant soudé au cours du second mode de lecture. Si la détermination effectuée dans le bloc 144 aboutit au résultat qu'il n'y a plus de pièce supplémentaire à souder, le programme fonctionnel passe à une fonction de fin de programme 148 qui termine le programme de manière appropriée L'indication de la pièce à usiner suivante dans le bloc 144 est fournie dans des dispositifs spécifiques soit par une entrée d'opéra- teur externe, soit par les entrées de commande du contr&- leur de système 44, par l'intermédiaire d'un appareil de transfert automatique de la pièce à usiner, ou encore par une fonction de détection effectuée par le manipula- teur 10. Il est évident que de nombreuses modifica- tions et variantes peuvent être apportées aux formes de réalisation ci-dessus sans sortir du cadre de l'invention. Il peut être utilisé, par exemple, différents types de systèmes de vision dans différentes formes de réalisation spécifiques utilisant différentes formes de générateurs d' ondes électromagnétiques dans le bloc de projection et dans les dispositifs de détection complémentaires. R E V E N D I C A TI O N S 1.0) Appareil de commande pour manipulateur de soudure ( 10, 32, 44, 40, 46, 64) utilisant un bras de manipulateur ( 20) commandable suivant un ou plusieurs axes et monté de manière à effectuer un programme de sou- dure prédéterminé sur une pièce à usiner ( 14) dans un -poste de soudure ( 12), le programme de soudure étant du type comprenant des points de soudure prédéterminés ou des trajectoires de soudure définies ( 68 ou 80) par un certain nombre de points ( 86, 88), appareil de commande caractérisé ence qu'il comprend des moyens ( 30) pour projeter une figure de rayonnement prédéterminée sur la pièce à usiner dans le poste de soudure; des moyens ( 44) pour stocker les données de référence représentant le programme de soudure et un cadre de coordonnées de réfé- rence ( 90, 92) défini par la pièce à usiner-conformément à la figure de rayonnement projetée à partir de laquelle le programme de soudure peut être défini par rapport à une pièce à usiner se trouvant dans une position de réfé- rence prédéterminée dans le poste de soudure; des moyens ( 28, 36) pour détecter ce cadre de coordonnées par rap- port à une pièce à usiner suivante conformément à la figure de rayonnement projetée, et pour déterminer les données modifiées du cadre de coordonnées de référence et des moyens ( 44, 46) répondant aux données modifiées du cadre de coordonnées de référence pour déplacer le bras de manipulateur de façon qu'il effectue le mouvement de programme de soudure. 2 ) Appareil de soudure selon la revendi- cation 1, caractérisé en ce que les moyens d'entraînement du bras comprennent des moyens ( 44) permettant de déter- miner les données de programme de soudure modifiées con- formément aux données modifiées du cadre de coordonnées de référence pour tenir compte de tous changements de position et d'orientation de la pièce à usiner suivante 28- par rapport à la position de référence. 3 ) Appareil de commande selon l'une quelconque des revendications 1 et 2, caractérisé en ce que les moyens d'entraînement de bras comprennent, en outre, des moyens ( 46) répondant aux données modifiées du programme de soudure et à la figure de rayonnement projetée, pour déplacer le bras au-dessus des mouvements de soudure programmés et pour fournir des données de cor- rection de programme de soudure représentant la différen- ce entre la position du programme de soudure réel présen- té par la pièce à usiner suivante, et la position résul- tant du mouvement du bras conformément aux données du programme de soudure modifié. ) Appareil de commande selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comprend, en outre, des moyens répondant aux don- nées de correction de programme de soudure pour fournir des données de programme de soudure corrigées, les moyens de déplacement de bras répondant à ces données de pro- gramme de soudure corrigées pour déplacer le bras de façon qu'il effectue le programme de soudure sur les pièces à usiner suivantes. ) Appareil de commande selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les données d'image de référence stockées représen- tant le programme de soudure ( 80), comprennent des don- nées de position de points du programme de soudure ( 86, 88), ces données de position de points du programme de soudure définissant des points ( 86, 88) du programme de soudure, par rapport au cadre de coordonnées de référence ( 90, 92). ) Appareil de commande selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les points du programme de soudure sont définis comme une position relative par rapport au cadre de coordonnées de référence. ) Appareil de commande selon l'une quelconque des revendications 1 à 5, caractérisé en ce que les données de position de points du programme de soudure comprennent des positions de départ ( 82) et d'arrivée ( 84) définissant le début et la fin d'une tra- jectoire de soudure voulue ( 80). ) Appareil de commande selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le cadre de coordonnées de référence est défini par deux lignes se coupant (en 67) sur un bord de la pièce à usiner. ) Appareil de commande selon l'une quelconque des revendications 1 à 8, caractérisé en ce que le cadre de coordonnées de référence est défini par deux points (Pl, P 2, P 3, P 4) situés sur chacune des deux lignes qui se coupent ( 100, 102). ) Appareil de commande selon l'une quelconque des revendications 1 à 8, caractérisé en ce que le cadre de coordonnées de référence est défini par deux points (Pi, P 2) sur l'une des deux lignes qui se coupent, un troisième point (P 3) sur la seconde ligne coupant la première, et l'angle inscrit ( 0) formé par les deux lignes qui se coupent. ) Appareil de commande selon l'une quelconque des revendications 1 et 2, caractérisé en ce que les données modifiées du programme de soudure définis- sent des positions modifiées de programme de soudure ( 80 ', 86 '), ces positions de programme de soudure modifiées étant définies en modifiant les données d'image de réfé- rence stockées, par variation d'orientation et de posi- tion entre le cadre de coordonnées détectées ( 90 ', 92 ') de la pièce à usiner suivante et le cadre de coordonnées de référence ( 90, 92) défini par une pièce à usiner dans la position de référence. 120) Appareil de commande selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les moyens d'obtention des données de correction comprennent des moyens de traitement d'image ( 40) desti- nés à détecter les figures de rayonnement projetées en chacun de plusieurs points de détection prédéterminés définis par le programme de soudure, et à produire l'écart entre chacun de ces points de détection et la trajectoire de soudure réelle définie par la pièce à usiner suivante. 130) Appareil de commande selon l'une quelconque des revendications 1 à 12, caractérisé en ce que le cadre ou système de coordonnées rectangulaires est défini par la géométrie de la pièce à usiner. ) Appareil de commande selon l'une quelconque des revendications 1 à 13, caractérisé en ce que les moyens de projection comprennent un projecteur ( 30) projetant une figure de fente lumineuse prédétermi- née ( 74, 76, 70, 72). ) Appareil de commande selon l'une quelconque des revendications 1 à 14, caractérisé en ce que les moyens de détection comprennent des moyens d'ob- tention d'une image vidéo ( 28) répondant à la figure de fente projetée. 16 ) Procédé mettant en oeuvre l'appa- reil de commande selon l'une quelconque des revendica- tions 1 à 15 pour commander un manipulateur ( 10) muni d'un bras de manipulateur ( 20), de façon qu'il effectue un cycle de travail prédéterminé par rapport à une pièce à usiner ( 14), ce cycle étant défini par rapport à la position et à l'orientation de la pièce à usiner, procédé caractérisé en ce -qu'il comprend les différentes étapes consistant à: projeter (par 30) une figure de rayonne- ment prédéterminée ( 64, 66 sur 14) sur une pièce à usi- ner ( 14) se trouvant dans un poste de soudure ( 12); définir (en 67) le cycle de travail prédéterminé ( 68) par rapport à un cadre de référence ( 90, 92) défini par la pièce à usiner; stocker (par 28, 36, 40, 42) les don- nées d'image de référence représentant le cycle de tra- vail prédéterminé et le cadre de référence conformément à la figure de rayonnement projetée; détecter une pièce à usiner suivante conformément à la figure de rayonnement projetée pour déterminer le cadre de référence défini déterminer (par 40) les variations d'orientation et de position entre le cadre de référence de la pièce détectée suivante et la pièce à usiner de référence; modifier (par 42) les données d'image de référence stockées confor- mément aux variations déterminées du cadre de référence; et déplacer (par 46) le bras de manipulateur par rapport à la pièce à usiner suivanteconformément aux données modifiées.