FR 2684912 A1 19930618 FR 9115335 A 19911211 PROCEDE DE DETERMINATION D'UNE TRAJECTOIRE DE ROBOT DESCRIPTION L'invention se rapporte à un procédé de détermination d'une trajectoire de robot afin de faire parcourir une trajectoire d'usinage située sur une pièce à un outil tenu par le robot. Le procédé courant consiste, après avoir monté L'outil sur le robot, à simuler une passe sur la trajectoire d'usinage en faisant toucher L'outil sur la pièce en un nombre de points suffisant pour fournir une modélisation acceptable de la trajectoire d'usinage. Les déplacements de l'outil sont commandés par un opérateur qui manipule un boîtier de commande manuelle du robot et procède essentiellement par tâtonnements. Les positions atteintes par Le robot sont mémorisées au cours de cette étape d'acquisition, sans que la trajectoire d'usinage soit elle-ineme déterminée ni connue. Le robot repasse ensuite par la meme trajectoire au cours de la phase de restitution qui s'accompagne de l'usinage effectif de la pièce. La modélisation ainsi faite peut durer des semaines ou des mois sur certaines pièces de forme compliquée et si des usinages de grande précision sont nécessaires. Elle doit être refaite si le robot est changé, déplacé ou démonté pour une raison ou pour une autre ou simplement pour l'entretenir ou remplacer -une pièce défectueuse, car l'emplacement d'un robot ne peut jamais être connu avec une précision suffisante, pas plus que Les jeux et les défauts de forme et de position des organes qui le composent. De telles interruptions sont suffisamment courantes pour être pratiquement inévitables au bout de quelques semaines ou de quelques mois, si bien que les usinages de pièces complexes sont presque impossibles en pratique. Le procédé de L'invention a été conçu pour abolir cette limitation. Il comprend généralement les étapes de monter un palpeur tridimensionnel sur Le robot à la place de l'outil, de mesurer la position du palpeur sur le robot, et de calculer la position du robot par rapport au référentiel d'usinage en reconnaissant à l'aide du palpeur des points définissant un référentiel solidaire de la trajectoire d'usinage. Un fois que L'outil est remonté, le robot est prêt à suivre la trajectoire d'usinage quand celleci est déjà modélisée, en appliquant toutefois une correction à la trajectoire du robot en fonction des jauges de l'outil et en fonction des dimensions réelles de la trajectoire d'usinage à parcourir.En d'autres termes, les étapes caractéristiques de l'invention permettent de recalculer La trajectoire du robot dans le même référentiel que celui dans lequel on contact la trajectoire d'usinage. PLusieurs améliorations du procédé sont possibles. C'est ainsi qu'on peut facilement implanter une autre modification de La trajectoire du robot pour instaurer une force d'application connue de l'outil sur la pièce à usiner dans le cas d'un montage élastique de L'outil, souvent appelé "compliant" dans cette technique. Cette faculté n'existe pas dans le procédé traditionnel. Ledit palpeur tridimensionnel est utilisé en venant toucher une surface de référence qui appartient avantageusement à un prisme possédant deux faces opposées parallèles et séparées par une distance connue et une troisième face perpendiculaire aux faces opposées, permettant ainsi son étalonnage. Les points servant à la prise de référentiel comprennent quand à eux avantageusement trois points séparés de distances connues, deux de ces points pouvant être situés au centre de reliefs circulaires sur une surface plane, un troisième point matérialisant le centre du repère à définir. La trajectoire du robot peut être introduite en mémoire du robot et complétée par des opérations caractéristiques de transformations géométriques quand la trajectoire d'usinage est périodique, répétitive ou présente une symétrie. On va maintenant passer au commentaire des figures suivantes annexées à titre illustratif et non limitatif - la figure 1 représente, en vue générale, un bras de robot équipé d'un palpeur et une cale d'étalonnage du palpeur ; - la figure 2 expose les étapes d'étalonnage du capteur ; - la figure 3 définit le référentiel de la trajectoire d'usinage et les points définissant ce référentiel ; - la figure 4 représente le mode d'estimation du référentiel ; - la figure 5 représente la liai son entre La pièce à usiner et Les référentiel ; - la figure 6 représente une trajectoire d'usinage possible et les différents référentiels y sont récapituLés ; et - la figure 7 représente un outil. Un bras de robot 1 est représenté à la figure 1. Il est terminé par un poignet 2 dont un socle 3 peut porter un outil, ou, comme on L'a représenté ici, un palpeur 4 à pointe 5 en forme de bille sphérique et qui est un palpeur tridimentionnel, c 'est-à-dire que la tige 6 qui relie la pointe 5 au corps 7 du palpeur 4 peut être déplacée dans toutes les directions et fournir un signal de contact. Le corps 7 comprend à cet effet des capteurs de contact dans la tige 6 qui sont aptes à déceler tout déplacement de celle-ci, à moins bien entendu qu'il ne soit minuscule. Le palpeur 4 est vissé au socle 3 comme le serait un outil d'usinage et peut en être démonté pour être remplacé. On définit un référentiel XoYoZo fixe et lié à la base du bras de robot 1 et un référentiel X'Y'Z' lié au poignet 2. Il serait théoriquement suffisant de connattre la position de La pièce à usiner et celle du poignet 2 dans le référentiel Xo, Yo, Zo, ainsi que la position et la direction de l'outil dans le référentiel X'Y'Z', c'est-å-dire les jauges de l'outil, pour mener automatiquement L'usinage, mais c'est impossible en pratique car la position du poignet 2 par rapport à un référentiel d'usinage ne peut pas être obtenue directement dans le référentiel XoYoZo avec la seule aide des coordonnées mesurées sur le bras de robot 1 (coordonnées des articulations en particulier). La palpeur 4 va être utilisé pour lever cette difficulté, mais une étape préliminaire est nécessaire pour l'étalonner. On se sert pour cela d'une cale 10 disposée à un emplacement quelconque et qui est de forme prismatique : on peut y distinguer une face supérieure plane 11 et deux faces latérales 12 et 12' parallèles, opposées et perpendiculaires à la précédente. Les deux faces 12 et 12' sont séparées d'une distance connue A. On commence par toucher de la pointe 5 cinq points de référence Ri à R5 sur la cale 10 : trois d'entre eux R1, R2 et R3 sont situés sur la face supérieure 11 et les deux derniers R4 et R5 sur une des faces latérales 12. Le contact s'effectue d'abord par une approche commandée manuellement et assez rapide jusqu'à quelques millimètres de la cale 10, puis par une avance Lente et automatique qui fournit dans de bonnes conditions l'indication du contact. Ces déplacements peuvent être quelconques et la pointe 5 orientée de façon quelconque également, mais il est évidemment nécessaire pour une bonne précision que la tige 6 soit à une direction uniforme pour tous les points de référence R situés sur une même face et soit mue également dans la même direction, par exemple par un déplacement suivant un seulement des axes X', Y' et Z' du poignet 2. On déduit de cette opération la reconnaissance de La cale 10, c'est-à-dire essentiellement la connaissance d'un troisième référentiel xyz qui caractérise l'orientation de ses faces : les axes x et y appartiennent à la face supérieure 11 et L'axe x est parallèle aux faces latérales 12 et 12'. L'origine du référentiel est quelconque. On place alors de manière automatique la tige 6 parallèle aux faces latérales 12 et 12' et on impose (figure 2) quatre contacts à la pointe 5 sur chacune de ces faces, aux points de référence R6 à R9 et R10 à 13, R6 à R9 pouvant être confondus avec R4 et R10 à R13 étant opposés à R4 sur la face latérale 12'. Le poignet 2 et le palpeur 4 subissent une rotation d'un quart de tour autour de l'axe Z' entre chaque prise de contact sur une même face 12 ou 12' : La pointe 5 est mue.dans les directions X', Y' et dans les directions opposées (-X', -Y') pour établir les contacts sur chacune des faces latérales 12 et 12'. On en déduit, en mesurant les déplacements du bras de robot 1 qui sont nécessaires pour établir le contact, la position réelle de la pointe 5 par rapport au poignet 2 dans les directions X', Y' et -X', -Y'. Ces positions tiennent compte du battement entre le contact effectif de la poine et le signal électrique délivré. Cet étalonnage du palpeur 4 une fois terminé, on se préoccupe, dans une étape essentielle de l'invention, de mesurer la position du robot 1 par rapport à la pièce à usiner, c'est-à-dire de trouver La relation entre le référentiel XoYoZo du robot 1 et un quatrième référentiel XYZ (figure 3) lié à la pièce à usiner. On utilise encore le palpeur 4 pour la reconnaissance de points de reference liés à ce référentiel XYZ auquel un disque 15 sert de support : i I comporte une face supérieure plane 16, tourne autour d'un axe (symbolisé par un centre de rotation C) perpendiculaire à cette face plane supérieure 16, et la face supérieure plane 16 comprend en outre des lamages 17 et 18 qui sont des trous à section cylindrique.Le disque 15 a été réalisé avec une grande précision qui permet de connaître les distances d17 et d18 des centres R'4 et R'5 des lamages 17 et 18 au centre de rotation C, ainsi que l'angle B dont un des côtés passe par le centre R'4 du lamage 17 et le sommet coïncide avec le centre de rotation C. Le référentiel XYZ peut avoir par exemple son origine confondue avec Le centre de rotation C, Les axes X et Y inclus dans la face supérieure plane 16 et donc l'axe Z confondu avec l'axe de rotation du disque 15, l'axe Y étant orienté selon l'angle B par rapport à la droite (CR'4). Le calcul de la position du référentiel commence par une prise de trois contacts R'1, R'2 et R'3 en trois points quelconques de la face plane supérieure 16 de La même façon que pour la face supérieure 11 de La cale 10. La position de cette face plane supérieure 16 est alors connue dans le référentieL XoYoZo. La pointe 5 du palpeur 4 est ensuite introduite dans les Lamages 17 et 18 pour évaluer la position de Leur centre R'4 et R'5 dans ce même référentieL : il est évidement impossible de le faire directement avec une précision suffisante, et c'est pourquoi en réalité on introduit La pointe 5 quelque part dans chacun des lamages, au point Qo de La figure 4, puis on lui impose à partir de ce point initial Qo deux déplacements dans des directions perpendiculaires jusqu'à ce qu'on détecte l'arrivée sur la face circulaire du lamage 17 ou 18.Les quatre points de contact sont désignés par Q1 à Q4. Il suffit a Lors de caLculer les milieux MI et M2 des segments Q1Q2 et Q3Q4 : le centre R' du lamage se projette orthogonalement en ce point sur chacun des segments. Il est donc facile de calcuLer sa position. Un sixième point R'6 sera pris de manière à régler la référentiel en hauteur, par exemple sur une face d'appui de la pièce à usiner. Dans L'exemple de la figure 5, la pièce à usiner 19 est de forme circulaire et posée sur une face plane inférieure 20, sur laqueLLe le point R'6 a été appris Lors de la prise de référentiel. La pièce est posée sur un appui 21, fixée sur la face plane supérieur 16 du disque 15. Le disque 15 est muni d'un doigt de positionnement 22 permettant L'orientation angulaire de La pièce 19, ainsi que de trois mois 23 assurant le serrage de la pièce. Un tel montage permet d'assurer La position de la pièce à usiner 19 par rapport au disque 15, donc par rapport au référentiel XYZ. On connaît alors avec précision la position de la trajectoire à parcourir 24 ainsi que l'angle de départ d'usinage C par rapport au référentiel XYZ. Une fois le référentiel XYZ appris et la pièce 19 à usiner parfaitement dégauchies par rapport à celui-ci, Les points d'usinage sont par exemple engendrés sur un système de DAO (dessin assisté par ordinateur) et introduits dans la mémoire du robot, un programme de transformation traitant Les orientations angulaires pour calculer les pointd de passage du robot. La position du référentiel XYZ est alors parfaitement connue dans le référentiel XoYoZo. Si maintenant la trajectoire d'usinage 24 sur la pièce 19 est déjà connue e que cette trajectoire est implantée dans La mémoire du bras de robot 1, ElLe peut être immédiatement parcourue car elle est exprimée dans le référentiel XYZ dont la position par rapport au référentiel XoYoZo est désormais connue : l'armoire de commande du bras de robot 1 peut être programmée aisément pour effectuer les changements de coordonnées nécessaires, qui fournissent la trajectoire du bras de robot 1 associée au parcours de la trajectoire d'usinage 24 sur La pièce 19, en tenant compte uniquement des jauges de L'outil. On arrive donc aux figures 6 et 7. Le palpeur 4 est démonté du socle 3 et remplacé par une cellule d'outil 30 dont les jauges, c'est-à-dire la position et L'orientation dans le référentiel X'Y'Z', sont mesurées et entrées dans La mémoire de l'armoire de commande du bras de robot 1 de manière classique. La cellule d'outil 30 est composée, outre d'un outil 31 -une fraise dans le cas présent- d'une armature 32 contenant un ressort 33. L'outiL 31 est relié à L'armature 32 par une articulation 34 et par Le ressort 33 de façon que L'effort de coupe de L'outil 31 provoque une flèche proportionnelle du ressort 33 et une rotation de l'articulation 34 et de L'axe de l'outiL 31.Un capteur inductif 35 est apte à fournir la flèche du ressort 33 pour un, effort calibré sur l'outil 31, le programme traitant les informations de ce capteur pour corriger la position du rabot. Si on appelle xi, yi et zi Les axes de L'outil 31, où par exempLe zi est l'axe de rotation de l'outil 31 et xi et yi sont respectivement coplanaires à X' et Y', La création de la trajectoire d'usinage consiste en l'établissement d'un fichier de points, repérés par des croix sur La figure 6 où La trajectoire d'usinage L est l'intersection de deux cylindres, c'est-à-dire une forme complexe pour laquelle l'invention est specialement utile. Les points sont modélisés par leurs coordonnées et par l'orientation de l'outil 31, c'est-à-dire La direction des axes xi, yi et zi à cet endroit. Trois rotations sont imposées à l'outiL 31 à partir de son orientation précédente définie par les axes xiî, yiî et zil pour l'amener à une orientation correcte sur la trajectoire. Ces rotations peuvent être déterminées à partir d'un système de DAO (dessin assisté par ordinateur) qui fournit automatiquement toutes les informations souhaitées sur la forme de la pièce et les orientations angulaires de L'outil à respecter.On peut commencer par une rotation autour de l'axe de rotation de l'outil 31 pour placer L'outil 31 perpendiculaire à la trajectoire d'usinage L, continuer par une rotation autour de l'axe yi pour faire coïncider L'axe xi avec la direction d'avance et terminer sur une rotation autour de l'axe xi pour régler l'angle de passe ou l'inclinaison de l'outiL sur la trajectoire d'usinage L. On obtient successivement, à partir des axes xiî, yiî et zil, Les référentiels xi2, yi2, zi2, xi3, yi3, zi3 et xi4, yi4, zi4 représentés sur la figure 6, ce dernier indiquant l'orientation de l'outil 31 pour le point consideré. Les coordonnées et les orientations déterminées sont alors introduites dans la mémoire du robot et un programme de transformation calcule Les points de passage du robot. La connaissance des caractéristiques d'élasticité de la cellule d'outil 30 permet de corriger facilement la trajectoire de robot obtenue pour imposer l'effort d'usinage souhaité car il correspond à un déplacement connu de l'outil 31 selon l'élasticité du ressort 33, par exemple selon l'axe yi Cette correction est effectuée en traitant les informations issues du capteur inductif 35 et permet de régler un effort prédéterminé sur chaque point. Certaines pièces sont formées de motifs répétitifs. C'est le cas de disques de turbine pour moteurs d'avions, qui comportent un contour festonné de concavités régulièrement réparties sur la circonférence et de forme identique. On peut alors compléter automatiquement la trajectoire d'usinage grâce à la connaissance de la position du bras de robot 1 dans le référentiel XYZ qui a été acquise conformément à l'invention. Le fichier des points de la trajectoire du robot est complété par les transformations géométriques correspondantes. La même situation existe pour l'intersection des deux cylindres, formée de quatre quarts symétriques. L'acquisition de La trajectoire du robot est alors fortement accélérée. Une possibilité équivalente consiste, si Le montage de la pièce à usiner 19 l'autorise, à faire tourner le disque 15 des pas angulaires correspondants et à répéter la portion de trajectoire acquise. Quelle que soit la variante adoptée du procédé conforme à l'invention, une grande facilité pour créer la trajectoire de robot est donc offerte. L'invention est avantageusement utilisable pour les usinages de précision. Elle a été pratiquée avec succès sur un robot de la société Staubli animé par une armoire de commande de la marque "UNIMATION". REVENDICATIONS 1. Procédé de détermination d'une trajectoire de robot t1) porteur d'un outil (31) de manière que l'outil parcoure une trajectoire d'usinage sur une pièce (19), la trajectoire d'usinage étant modélisée par le robot sous forme de coordonnées de points, caractérisé par les étapes de : - monter un palpeur tridimensionnel (4) sur le robot à la place de l'outil (31), - mesurer La position du palpeur sur le robot, - calculer la position du robot par rapport à la trajectoire d'usinage en reconnaissant par le palpeur (4) des points (17, 18) définissant un référentiel solidaire de la trajectoire d'usinage, - monter l'outil à la place du palpeur et modifier la trajectoire du robot calculée en fonction des jauges de l'outil et des cotes de la pièce à usiner (19) 2.Procédé de détermination d'une trajectoire suivant la revendication 1, caractérisé en ce qu'il comprend une autre modification de la trajectoire du robot pour instaurer une force d'application de l'outil sur la pièce à usiner. 3. Procédé de détermination d'une trajectoire suivant la revendication 1 ou 2, caractérisé en ce que La position du palpeur sur le robot est mesurée en venant toucher au moins une surface de référence (12, 12'). 4. Procédé de détermination d'une trajectoire suivant la revendication 3, caractérisé en ce que les surfaces de référence appartiennent à un prisme possédant deux faces opposées (12, 12') séparées pour une distance connue (A) et une troisième face (11) perpendicuLaire aux faces opposées. 5. Procédé de détermination d'une trajectoire suivant l'une queLconque des revendications 1 à 6, caractérisé en ce que les points de définition du référentiel comprennent trois points (C, R'4, R'5) séparés de distances connues (d18, d19). 6. Procédé de détermination d'une trajectoire suivant la revendication 5, caractérisé en ce que deux des points sont situés au centre de reliefs circulaires (17, 18) sur une surface plane (16). 7. Procédé de détermination d'une trajectoire de robot suivant la revendication 1, caractérisé en ce que La trajectoire du robot est complétée par la détermination des points d'usinage, en coordonnées et en orientations angulaires à partir d'un système de DAO (dessin assisté par ordinateur) puis par l'introduction des points dans la mémoire du robot (1) et le calcul de la trajectoire de robot d'après ces points grâce à un programme de transformation.