FR 2671305 A1 19920710 FR 9100193 A 19910109 1 i PROCEDE DE PILOTAGE D'UN BRAS DE ROBOT EN DEFINISSANT DES TRAJETS DE SUBSTITUTION DESCRIPTION L'invention se rapporte à un procédé de pilotage d'un bras de robot en définissant des trajets de substitution. Plusieurs moyens existent pour commander les déplacements d'un bras de robot composé de tronçons reliés par des articulations vers un but à atteindre. Les ordres de déplacement peuvent être donnés à la voix, en pressant un bouton ou en basculant u, levier. Selon une autre classification, le déplacement commandé peut être incré,ental, c'est-à-dire qu'un ordre comman- de un déplacement élé 1,entaire invariable et déterminé et qu'il faut le répéter autant de fois que nécessaire pour atteindre le but, ou bien être proportionnel à un temps, c'est-à-dire que son amplitude dépend du temps pendant lequel l'organe de commande est commu- té à un état déterminé Enfin, une autre solution applicable, si on utilise un levier, consiste à rendre le déplacement proportionnel au déplacement du levier. Le déplacement est alors commandé en position ou en vitesse, c'est-à- dire que le bras prend une position ou une vitesse qui dépend du déplacement du levier. On peut encore envisager, suivant une concep- tion tout à fait différente, de définir le but à atteindre non par un déplacement à partir d'une posi- tion initiale mais par un point de destination défini en introduisant ses coordonnées dans un repère fixe par un clavier à l'aide d'un langage de programmation ou après avoir mémorisé la position atteinte par le robot au cours d'un apprentissage préliminaire. Dans tous les cas, les déplacements sont convertis par le système de pilotage du robot en infor- mations de rotations des articulations qui relient les différents tronçons du bras ou, plus généralement, de mouvements de ces articulations: on considère ici comme des articulations tous les genres de méca- nismes qui peuvent unir des tronçons de bras de robot, en particulier les coulisses, en plus des pivots ou ue charnières qui autorisent des rotations Ce calcul échappe à la commande directe effectuée par l'opéra- teur Comme en pratique les articulations ne peuvent être mises que dans des états appartenant à des plages de fonctionnement limitées par des états de butée, il arrive fréquemment que le trajet direct, entre la position de départ du robot et celle qui correspond au but à atteindre, ne puisse être effectivement par- couru car certaines articulations entrent en butée. Dans les systèmes connus jusqu'à ce jour, il n'existe aucun moyen d'obvier à cette difficulté et le bras est arrêté: l'opérateur est contraint de définir lui-même un trajet de substitution permettant de déblo- quer le bras en s'éloignant des états de butée, ce qui est fastidieux et pas forcément facile quand les bras sont complexes. On a cherché en mettant en oeuvre l'invention à épargner ces soucis à l'utilisateur: des trajets de substitution ou trajets dégradés, que le bras ue robot s-uit dès qu'une entrée en butée d'une des articu- lations l'empêche de suivre le trajet direct, sont automatiquement créés. Selon une première réalisation, le trajet de substitution est défini en faisant varier les états des articulations à partir des états correspondant à l'entrée en butée d'articulations jusqu'à des états, calculés à l'avance, correspondant à une position o le bras a atteint le but. Une autre solution consiste à définir le trajet de substitution en calculant des points inter- médiaires théoriques entre des positions atteintes par le bras et le but à atteindre, puis les états intermédiaires théoriques des articulations aux points intermédiaires théoriques, après quoi les articulations sont amenées à un état de butée pour les articulations dont l'état intermédiaire théorique est inaccessible et à l'état intermédiaire théorique pour les autres articulations, faisant ainsi atteindre un point inter- médiaire réel par le bras Ce processus est répété jusqu'à ce que le but soit atteint. Le procédé peut être raffiné si on introduit un critère selon lequel le trajet de substitution est interrompu lorsque certaines articulations entrent isolément ou simultanément en butée Il s'agit en fait d'un critère de sécurité par lequel on empêche aes mouvements trop éloignés du mouvement souhaité dans des conditions o ils ne seraient ni prévus ni contrôlés. Un bras de robot sur lequel l'invention a été implantée comporte trois tronçons articulés en rotation dans un plan horizontal et mobiles conjoin- tement en translation verticale, un quatrième tronçon articulé en rotation dans un plan vertical à un des trois tronçons précédents et un organe articulé au quatrième tronçon en rotation selon un mouvement de pivotement. On va maintenant décrire l'invention à l'aide des figures suivantes annexées à titre illustratif et non limitatif: la figure I est une vue du bras de robot qui vient d'être décrit succinctement; la figure 2 représente une articulation entre deux tronçons de bras de robot; la figure 3 illustre un trajet direct et un trajet de substitution; et les figures 4 et 5 sont des organigrammes de définition du procédé selon l'invention. Le bras de robot de la figure 1 comprend un bâti 1 fixe et trois tronçons 2, 3 et 4 reliés en chaîne Un premier tronçon 2 tourne dans un plan horizontal, articulé à une extrémité à un curseur se Lon une première articulation A d'axe vertical. Le tronçon 3 est relié au tronçon 2 à l'autre extré" ité de celui-ci par une deuxième articulation B d'axe vertical; le troisième tronçon 3 est de même articulé à l'autre extrémité du deuxième tronçon 2 par une troisième articulation C, également d'axe vertical. Le curseur 5 est mobile sur des rails verticaux 6 appartenant au bâti 1 suivant un degré de liberté de translation verticale qu'on appellera une quatrième articulation D par commodité. Le troisième tronçon 4 porte un poignet 7 qui lui est articulé selon une cinquième articulation E d'axe horizontal Enfin, une pince 8 apte à saisir des objets est placée sur le poignet 7 et peut pivoter autour d'une sixième articulation F d'axe perpendi- culaire à la précédente E Ro et Re symbolisent des repères cartésiens liés respectivement à un point fixe à la base du bâti 1 et à l'extrémité du bras, par exemple au poignet 7. La constitution de chaque articulation rota- tive est schématisée à la figure 2 Il y a out d'abord un axe 10 d'articulation qui relie entre eux deux tronçons, ici désignés par 11 et 12 L'axe 10 est rigidement relié à un des tronçons 11, et l'autre tronçon 12 porte un moteur 13 qui le fait tourner autour de l'axe 10 ainsi qu'un compteur 14 et une butée 15 Le compteur 14 lit des graduations 16 dispo- sées en cercle autour de l'axe 10, sur une surface plane du tronçon 11, et la butée 15 peut toucher les contacts de deux interrupteurs 17 également situés sur le tronçon 11 Les interrupteurs 17 définissent avec la butée 15 des états de mise en butée qui limi- tent une course de fonctionnement d'états admissibles ae l'articulation Chacun de ces états peut être repéré à l'aide du codeur constitué par le compteur 14 et les graduations 16 L'invention peut bien entendu être utilisée avec d'autres codeurs et d'autres genres de butées qui sont des équivalents usuels dans cette technique Le moteur 13 et le compteur 14 sont reliés, ainsi que les interrupteurs 17, à un systeme de pilo- tage du robot qui n'est pas représenté. On peut également préférer employer des butées immatérielles, définies par le logiciel de commande du robot, placées avant les butées matérielles telles que décrites. Les articulations à mouvement de translation peuvent être construites avec les mêmes moyens adaptés de manière évidente. Des trajets de substitution sont obligatoires dans certaines situations à cause de la présence des butées Considérons la configuration de la figure 3 o on s'intéresse à un déplacement des tronçons 2 et 3 définissant un trajet de la troisième articula- tion C On impose au bras de se mouvoir pour que la troisième articulation C atteigne un point de destina- tion C' à partir d'un état o le premier tronçon 2 fait un angle e 1 avec le bâti I et un angle 02 avec le deuxième tronçon 3 Le trajet vers Le point C' serait normalement direct, c'est-à-dire en ligne droite, pour optimiser les mouvements du bras Cela impliquerait de réduire l'angle 02, mais la figure 3 représente justement le bras à un état o la deuxième articulation B est en butée car l'angle 02 ne peut pas diminuer au-dessous de l'angle droit Sa réduction ô est donc impossible et il faut définir un trajet de substitution dont la figure 4 indique un procédé d'ob- tention. Quand la commande directe du bras est pos- sible, des instructions sont données pour déplacer l'extrémité du bras suivant les directions principales d'un repère cartésien te L Ro ou Re en pratique, c'est- à-dire vers l'avant, vers l'arrière, vers les côtés ou en direction verticale tout en la faisant tourner jusqu' à la position angulaire souhaitée Les instruc- tions de commande directe permettant de déduire un point de destination C', soit directement soit par l'intermédiaire d'un déplacement (étape 20), sont converties automatiquement par transformations de coordonnées en mouvements de commande (étape 21) des articulations jusqu'à ce que l'une d'entre elles entre éventuellement en butée (étape 22) Le trajet est alors interrompu et les états des articulations du bras à ce moment sont mesurés (étapes 23 et 24) ou évalués par des calculs. Il est alors possible, à l'étape 25, de calculer les états angulaires des première et deuxième articulations A et B au point de destination C' Ces états sont définis par les angles O '1 et O '2 de la figure 3 Plusieurs solutions sont parfois possibles car il peut arriver que le bras puisse prendre plu- sieurs configurations au point de destination C'. Dans ce cas, on préfère normalement la position qui n'implique pas de mise en prolongement des deux tron- çons successifs 2 et 3, afin de ne pas trop déployer le bras. Les articulations sont alors "lises en route successivement ou simultanément à l'étape 27 pour que les états e 01 et 02 des articulations A et B conver- gent vers les états calculés O '1 et O '2 Un trajet de substitution est alors parcouru, qui aboutit au point de destination C' Il n'est pas connu par ses coordonnées cartésiennes, mais il existe toutefois une étape 26 préliminaire aux mises en route pour calcu Ler des points intermédiaires du trajet de substi- tution, ou plutôt des objectifs intermédiaires, définis uniquement par les états angulaires des articulations en ces objectifs L'intérêt de cette opération est de pouvoir synchroniser Les mouvements des articula- tions pour les faire parvenir ensemble à Leur état correspondant au point de destination C' Les déplace- ments des articulations sont monotones, effectués toujours dans Le même sens, et ils peuvent être réali- sés à une vitesse constante en fonction du temps. Une autre façon de créer des trajets de substitution est résumée par l'organigramme de la figure 5 On retrouve les étapes 20 à 24 mais, quand les états des articulations sont évalués, un calcul de la position du bras en coordonnées cartésiennes de la troisième articulation C est effectué à l'étape Le trajet de substitution est défini par un pro- cessus itératif et consiste à rapprocher peu à peu la troisième articulation C du point de destination C' Pour cela (figure 3), on définit sur le segment CC' un point intermédiaire Cl à une distance déterminée de la position actuelle de la troisième articulation C (étape 31) Les états 011 et 021 des articulations A ec B à ce point intermédiaire Cl sont alors calculés à l'étape 32 Il s'agit en fait des états théoriques que les articulations devraient prendre pour parvenir effectivement à ce point Certains de ces états peuvent être au-delà des états de butée, ce qui impose d'effec- tuer une séLection (étape 33) des articulations (ici A, car 811 n'est pas un état de butée) qui ne seraient pas en butée au point intermédiaire Cl Ces articula- tions sont alors mises en marche (étape 34) pour parve- nir aux états calculés à l'étape 32; les articulations qui entreraient en butée (ici B, car O 2 ne peut dimi- nuer et 021 lui est inférieur) ne sont pas bougées. Cette façon de procéder fait parvenir en fait le bras (étape 35) à un point C 01 situé sur un trajet de subs- titution découlant des états d'articulation effective- ment atteints 011 et 02 et distinct du point C 1 calculé précédemment. Les coordonnées cartésiennes de ce point intermédiaire réel C 01 Qont alors calculées, et on revient alors à l'étape 21 pour recommencer le proces- sus et se rapprocher par étapes successives du point de destination C' jusqu'à l'atteindre effectivement en choisissant un nouveau point intermédiaire théorique sur le segment joignant les points C 01 et C' Les articulations qui sont susceptibles d'entrer en butée en parcourant le trajet de substitution peuvent varier au cours de ce trajet sans que l'opérateur en soit informé ni doive prendre des mesures particulières. On a représenté sur la figure 3 le point C 10 auquel la deuxième articulation B cesse d'être en butée et o l'angle qu'elle fait commence à croître de la valeur 02 jusqu'à la valeur finale O '2. Le procédé peut être perfectionné si un critère supplémentaire est introduit pour rendre tout trajet de substitution impossible dans le cas o un trop grand nombre d'articulations, ou certaines articu- lations ayant un effet crucial sur le travail du robot, entreraient en butée Dans le cas du robot de la figure 1, on a ainsi prévu que tout mouvement serait inter- rompu si quatre des articulations entraient ensemble en butée ou si les cinquième et sixième articulations E et F entraient ensemble en butée Ce dernier critère est justifié dans le cas dkun robot terminé par une pince 8 de préhension d'objets usuels, tels que des verres remplis de liquide, qui ne doivent pas être inclinés excessivement D'autres critères peuvent évidemment être définis pour d'autres bras de robots ou des applications différentes. REVENDICATIONS 1 Procédé de pilotage d'un bras de robot composé de tronçons ( 2, 3, 4, 5, 7, 8) reliés par des articulations (A à F) présentant des états de butée selon divers états d'articulation, dans lequel un but à atteindre par un trajet direct est défini par des instructions de commande converties en déplace- ments des tronçons, caractérisé en ce qu'un trajet de substitution est déterminé et suivi automatiquement à la place du trajet direct lorsque des articulations entrent en butée en suivant le trajet direct. 2 Procédé de pilotage d'un bras de robot suivant la revendication 1, caractérisé en ce que le trajet de substitution est défini en faisant varier les états des articulations à partir des états ( 02) correspondant à l'entrée en butée d'articulations jusqu'à des états, calculés à l'avance (O '1, O '2), correspondant à une position o le bras a atteint le but. 3 Procédé de pilotage d'un bras de robot suivant la revendication 1, caractérisé en ce que le trajet de substitution est défini en calculant des points intermédiaires théoriques (C 1) entre des positions atteintes par le bras (C, C 01) et le but à atteindre, puis les états intermédiaires théoriques ( 011, 021) des articulations aux points intermédiaires théoriques, et en ce que les articulations sont ame- nées, successivement pour chaque point intermédiaire théorique, à un état de butée ( 02) pour les articula- tions dont l'état intermédiaire théorique est inacces- sible et à l'état intermédiaire théorique ( 011) pour les autres articulations, de manière à faire parvenir le bras à un point intermédiaire réel. 4 Procédé de pilotage d'un bras de robot suivant la revendication 3, caractérisé en ce que 1 1 le trajet de substitution est interrompu Lorsque cer- taines articulations entrent isolément en butée. Procédé de pilotage d'un bras de robot suivant la revendication 4, caractérisé en ce que le trajet de substitution est interrompu lorsque cer- taines articulations entrent ensemble en butée. 6 Procédé de pilotage d'un bras de robot suivant l'une quelconque des revendications 1 à 5, caractérisé en ce que le bras comporte trois tronçons ( 2, 3, 4) articulés en rotation dans un plan horizontal et mobiles conjointement en translation verticale, un quatrième tronçon ( 7) articulé en rotation dans un plan vertical à un des trois tronçons précédents et un organe ( 8) articulé au quatrième tronçon en rotation selon un mouvement de pivotement.