FR 2513925 A1 19830408 FR 8216748 A 19821006 En général, avec des bras de robot commandés par un programme, un programme de fonctions et de données de coordonnées définissant des positions et des orien- tations souhaitées est défini et stocké pendant un mode de fonctionnement en formation ou programmation Durant le mode de fonctionnement automatique, le programme mémorisé est exécuté et le broede robot se déplace vers les posi- tions programmées Le mouvement entre les positions pro- grammées peut s'effectuer de point en point ou suivant une course déterminée Avec un mouvement de point en point, la course entre les points programmés est généralement incon- nue et irrégulière Avec un mouvement sur une course dé- terminée, le trajet suivi par le bras de robot entre les points programmés suit une course prévisible connue défi- nie par la commande du robot, par exemple une course en ligne droite En tous les cas, le lieu des points program- més représente la course programmée globale du bras de ro- bot. Dans les deux cas décrits ci-dessus, la course réelle du bras de robot est limitée à un mouvement entre les positions définies par le programme Ceci est satis- faisant dans les situations o la course souhaitée du bras de robot est prévisible et ne change pas d'un cycle à l'au- tre Ceci est également satisfaisant dans les applications o la course exacte n'est pas critique au fonctionnement satisfaisant du bras de robot, par exemple dans le cas d'un soudage par points, de pulvérisation de peinture, etc. Cependant, il existe des cas o la course exacte est criti- que, mais non constante Lorsqu'on utilise un bras de robot et une commande classiques, le fait de s'assurer que la course souhaitée correspond exactement à la course pro- grammée peut exiger des tolérances de montage ou de fa- brication et des opérations de traitement coûteuses et complexes qui sont inacceptables actuellement, au niveau de la fabrication. Par conséquent, il existe la nécessité de dis- poser d'un bras de robot et d'une commande fonctionnant dans un environnement dans lequel la course souhaitée n'est pas prévisible ni ne se répète d'un cycle de fonction- nement à l'autre Une telle application peut être le sou- daae au galet ou à inlettes au cours duquel deux pièces découpées brutes sont assemblées manuellement par des soudures de pointage. Dans ces situations, le joint change d'une paire de pièces à l'autre et un trajet exact ne peut être programmé à l'a- vance Dans d'autres situations, il peut être demandé au bras de robot d'éliminer les bavures de pièces brutes de fonte, ces bavures variant notablement d'une pièce à l'autre. L'invention a donc pour objet un bras de robot et sa commande qui réagissent automatiquement à des grou- pes de signaux d'entrée, générés à l'extérieur et repré- sentant des points non programmés ayant un lieu qui défi- nit une course non programmée, souhaitée, mais imprévisi- ble. L'invention a également pour objet un bras de robot et sa commande, ayant une plus grande souplesse dans le mode de fonctionnement automatique, en raison de la pos- sibilité de se déplacer suivant un trajet non programmé. L'invention a pour autre objet un bras de robot et sa commande réagissant de façon dynamique à une infor- mation générée à l'extérieur afin de déplacer le bras de robot vers une série de points non programmés ayant un lieu qui définit un trajet non programmé L'invention a également pour objet un bras de robot et sa commande pou- vant réagir à un code de fonction programmé durant le mo- de de fonctionnement automatique et acceptant des groupes de signaux d'entrée provenant d'un générateur de trajet extérieur, certains signaux définissant un certain nombre de points non programmés. L'invention a également pour autre objet un bras de robot et sa commande qui, en réponse à un code de fonction programmé, interrompent leur mode de fonctionnement automatique, acceptent des données non pro- grammées de position et de fonction de traitement prove- nant d'un générateur de trajet extérieur, se déplacent vers des points non programmés, exécutent la fonction de traite- ment et reprennent le mode de fonctionnement automatique. Conformément à une forme de réalisation de l'invention, un appareil est destind à déplacer le centre d'un outil d'élément fonctionnel vers une série de points pro- grammés ayant un lieu définissant un trajet programmé, en réponse à des signaux d'entrée définissant des positions programmées pour le centre de l'outil par rapport à un sys- tème de coordonnées rectangulaires Cet appareil est con- necté à un générateur de trajet extérieur qui, en réponse à un signal de commande de trajet extérieur, fait suivre au centre de l'outil un mouvement le faisant passer par un certain nombre de points non programmés définissant ainsi une course ou un trajet non programmés L'appareil comprend une machine dont des éléments sont reliés à une première extrémité de l'élément fonctionnel et des actionneurs as- sociés aux éléments de machine pour déterminer plusieurs axes de mouvement afin dedéplacer le centre de l'outil Les axes de mouvement et les éléments de la machine définissent un système de coordonnées généraliséesdifférent du système de coordonnées rectangulaires La machine est accouplée à une commande de machine qui possède une mémoire destinée à stocker des groupes programmés de-signaux d'entrée Une interface de transmission de données est prévue pour l'é- change de groupes de signaux d'entrée entre le générateur de trajet et la commande de la machine, et un circuit de servomécanisme est connecté aux actionneurs pour commander la position et le mouvement du centre de l'outil La com- mande de la machine exécute une première étape de rappel d'un premier groupe de signaux d'entrée de la mémoire. Ensuite, les signaux d'entrée sont soumis à une opération de recherche de la présence d'un signal de commande de trajet extérieur Si un signal de commande de trajet ex- térieur existe, un cycle de génération d'un trajet extérieur est exécuté, ce cycle consistant d'abord à con- ditionner l'interface de transmission de données pour établir une liaison active entre le générateur de trajet extérieur et la commande de la machine Ensuite, la commande de la machine reçoit, de la commande du trajet extérieur, un nouveau groupe de signaux d'entrée repré- sentant une position non programmée du centre de l'outil par rapport à un système de coordonnées rectangulaires. Troisièmement, le nouveau groupe de signaux d'entrée est transformé en signaux de commande représentant des valeurs en coordonnées généralisées de la position non programmée. Quatrièmement, les actionneurs de la machine sont sollici- tés pour déplacer le centre de l'outil vers la position non programmée Cinquièmement, d'autres groupes de nouveaux signaux d'entrée sont reçus, certains signaux représentant d'autres positions non programmées, et les actionneurs dé- placent le centre de l'outil vers chacune des positions successives, afin que le centre de l'outil suive un trajet non programmé. L'invention sera décrite plus en détail en re- gard des dessins annexés à titre d'exemple nullement limi- tatif et sur lesquels: la figure 1 est une élévation générale, avec arrachement partiel, d'un bras de robot, ainsi qu'un sché- ma simplifié de la commande du robot; la figure 2 est un schéma détaillé d'une com- mande basée sur un ordinateur, destinée au bras de robot; la figure 3 est un organigramme montrant les étapes de traitement pour l'exécution d'un cycle d'opéra- tion dans le mode de fonctionnement automatique; la figure 4 est un graphique illustrant le mouvement d'un centre d'outil sous la commande de l'ap- pareil selon l'invention; et les figures Sa à 5 d représentant un organigramme illustrant les étapes de traitement exécutées pour dépla- cer le centre d'un outil sur un trajet non programmé en réponse à un signal de commande de trajet extérieur. La figure 1 représente un bras de robot dis- ponible dans le commerce, et elle comporte également un schéma simplifié de la commande du robot L'expression "bras de robot" utilisée dans le présent mémoire englobe toute machine pouvant être commandée par l'appareil selon l'invention. Le bras 10 de robot représenté est constitué exclusivement d'axes de mouvement rotatif Une base 12 renferme un actionneur 14 qui est relié au moyen d'un accouplement 16 à un plateau 18 monté de façon à pouvoir tourner Il convient de noter que la nature exacte de l'actionneur 14 n'est pas importante pour l'invention Des actionneurs et des procédés de commande antérieurs, que l'actionneur soit électrique, hydraulique, pneumatique ou autre, conviennent Un actionneur 20, établissant un deu- xième axe(le rotation, est fixé rigidement au plateau 18. Un élément supérieur 22 de bras de robot est relié à un élément de travail de l'actionneur 20 Un actionneur 24, fixé au bras supérieur 22, fait tourner l'élément infé- rieur 26 du bras de robot sur l'élément supérieur 22. Les premiers actionneurs 14, 20 et 24 déterminent plusieurs premiers axes de mouvement pour déplacer l'extrémité du bras de robot vers un point quelconque de l'espace à sa portée Un poignet 27 est constitué d'actionneurs rota- tifs 28, 30 et 32 et est relié à un élément fonctionnel 34 afin de le déplacer entre des positions angulaires successives Les seconds actionneurs 28,30 et 32 éta- blissent plusieurs seconds axes de rotation qui permet- tent de déplacer efficacement l'élément fonctionnel en changeant son orientation angulaire. La position de l'extrémité du bras de robot est mesurée par rapport à la position du point de travailou du centre d'un outil associé à l'outillage définissant l'élément fonctionnel Par exemple, le centre de l'outil peut être le point auquel des mors de serrage entrent en contact, par exemple un point 76, l'axe central passant à l'extrémité d'un outil de coupe, le point auquel destêtes de soudage par points entrent en contact, le centre du ven- tilateur d'un pistolet de pulvérisation, le foyer d'une tête optique d'un capteur optique, etc Il convient de noter que l'élément fonctionnel 34 peut comporter un actionneur (non représenté) destiné à exécuter la fonction souhaitée, par exemple une action de serrage La configuration physi- que de la machine décrite ci-dessus établit plusieurs axes de rotation qui, lorsqu'ils sont considérés avec les élé- ments de la machine, définissent un système de coordonnées généralisées. Une unité 36 à console, faisant partie de la commande 35 du robot, établit une liaison de communication entre l'opérateur et le bras de robot La console comporte des commandes pour la programmation ou la formation du bras de robot suivant un cycle d'opérations, et des dispositifs d'entrée pour produire des signaux d'entrée permettant le cycle d'opération prédéterminé, Une commande 38 utilise des programmes et des signaux d'entrée pour produire des signaux d'entraînement transmis à un circuit 42 de comman- de de servomécanisme, ce circuit commandant les actionneurs du bras de robot afin de déplacer le centre de l'outil en- tre les points programmés et de faire tourner l'élément fonctionnel en le faisant passer par des changements angu- laires d'orientation. L'ensemble à bras de robot et commande, tel que décrit, correspond à l'ensemble à robot industriel et com- mande du type "T 3 " commercialisé par la firme Cincinnati Milacron Inc En outre, le fonctionnement détaillé du bras de robot dans son mode automatique de commande est décrit dans le brevet des Etats-Unis d'Amérique no 3 909 600 et le procédé et l'appareil utiliséspour apprendre un pro- gramme au bras de robot sont décrits dans le brevet des Etats-Unis d'Amérique N O 3 920 972. La figure 2 est un schéma détaillé illustrant les éléments principaux de la commande de robot disponible dans le commerce et indiquée ci-dessus Un ordinateur pro- grammé 40 comprend un circuit 41 de mémoire, un circuit 44 d'interface entrée/sortie et une unité centrale 46 de trai- tement Ces trois éléments principaux sont interconnec- tés par un bus interne 48 Des signaux de commande sont transmis à l'ordinateur 40 et en proviennent au moyen d'un bus extérieur 50 qui est connecté à un certain nom- bre de dispositifs périphériques Tout d'abord, un termi- nal 52 de formation ou d'enseignement constitue un ins- trument de programmation à distance utilisé par l'opé- rateur pour faire passer l'extrémité du bras de robot par un certain nombre de positions et d'orientations sou- haitées pendant l'opération de formation Ensuite, une commande entrée/sortie 54 définit un certain nombre de signaux machine divers qui sont nécessaires au fonction- nement du bras de robot Un bloc d'entrée/sortie 58 de transmission de données extérieures représente un dis- positif qui permet l'introduction en temps réel, c'est- à-dire pendant que le bras de robot exécute un cycle d'opérations, de données dans l'ordinateur 40, à partir d'une mémoire de donnésextérieures Une unité 60 de stockage de données hors ligne permet d'introduire des programmes dans l'ordinateur au moyen de dispositifs tels qu'un lecteur de bandes perforées, un lecteur de casset- tes, etc Un tube à rayon cathodique 62 et un clavier 64 permettent la transmission de messages entre, d'une part, le bras de robot et sa commande et, d'autre part, l'opé- rateur. Une unité 66 d'entraînement d'axes reçoit pé- riodiquement des groupes de données provenant de l'ordina- teur Chaque groupe de données représente les amplitudes incrémentielles de mouvement des actionneurs du bras de robot durant chaque intervalle périodique En outre, l'amplitude du mouvement pendant chaque période fixe établit, de par sa nature, une définition de la vitesse souhaitée du bras de robot L'unité 66 d'entraînement d'axes accepte les données sous forme numérique et exécute une conversion numérique/analogique afin de transmettre un signal analogique à un circuit de compensation d'axes et à servoamplificateur 68 Les signaux analogiques compensés sont ensuite utilisés comme signaux d'entrée pour un ac- tionneur 70 qui entraîne un élément 71 de robot auquel il est relié mécaniquement Un dispositif 72 de réaction est relié mécaniquement à l'actionneur et produit un si- gnal de réaction représentant le mouvement réel de l'élé- ment mené du bras de robot Il convient de noter que, bien que la commande de la boucle d'asservissement pour chaque élément du bras de robot prenne plusieurs confi- gurations dans la forme préférée de réalisation, l'uni- té 66 d'entraînement d'axes, le servoamplificateur 68, l'actionneur 70 et l'élément 72 de réaction sont utili- sés en nombrfe chacun égal au nombre d'axes commandés sur le bras de robot. La mémoire interne 41 de l'ordinateur 40 com- prend deux éléments fondamentaux Le premier élément est la mémoire 74 de données qui mémorise toutes les données numériques, et la partie restante de la mémoire est défi- nie comme étant le système opératoire du bras de robot. Le système opératoire peut être caractérisé comme étant un programme de commande qui définit la façon dont les don- nées doivent être générées et utilisées pendant le fonc- tionnement du bras de robot. La première section du système opératoire est une section entrée/sortie 77 Les programmes d'entrée/sor- tie comprennent un programme 78 d'entrée/sortie de données, un programme 80 d'entrée/sortie pour le terminal de forma- tion, un programme 82 d'entrée/sortie pour le tube à rayon cathodique et le clavier, un programme 84 d'entrée/sortie pour la commande, un programme 85 d'entrée/sortie pour l'u- nité d'entraînement autour des axes, et un programme 86 d'entrée/sortie pour la transmission des données extérieu- res Il convient de noter qu'il existe un programme d'en- trée/sortie correspondant à chaque type différent de pé- riphérique en interface avec le système de commande. Chaque programme d'entrée/sortie réagit uniquement aux données produites par chaque dispositif périphérique et a pour effet de commander l'écoulement des signaux des dispositifs périphériques vers l'intérieur de l'ordina- teur et en sortie de l'ordinateur. Le système opératoire contient également un programme 90 de commande de mode qui réalise la commande globale du système opératoire Le programme 90 de comman- de de mode fait varier la commande de l'ordinateur entre les divers modes de fonctionnement, par exemple manuel, formation, automatique, etc Dans le système 92 de mode en formation, un programme 96 d'édition de données et un programme 98 de formation commandent l'opération effectuée par le bras de robot durant le mode en formation Les par- ticularités de ces programmes sont décrites dans le brevet N O 3 920 972 précité Durant le mode en formation, la po- sition et l'orientation de l'élément fonctionnel, exigées pour l'exécution d'un cycle d'opérations, sont définies. Au moyen d'une commande de formation, l'élément fonction- nel est déplacé suivant des axes de mouvement définissant un système de coordonnées rectangulaires, cylindriques ou autres non généralisées Lorsqu'une position et une orien- tation souhaitées sont obtenues, un groupe de signaux d'entrée représentant les valeurs en coordonnées rectan- gulaires de la position et de l'orientation souhaitées est mémorisé dans la partie 74 de données de la mémoire 41. Le groupe de signaux d'entrée peut comprendre en outre un code de fonction qui représente une opération ou fonction particulière devant être exécutée à l'emplacement souhaité, -par exemple l'opération de l'outil, l'essai d'un état de signal interne ou externe, etc En répétant le procédé ci- dessus, une série de groupes de signaux d'entrée définissant un cycle complet de fonctionnement peut être programmée. Le système 94 en mode automatique est consti- tué d'un programme 102 d'extraction de données, d'un pro- gramme 104 de calcul de trajet, d'un programme 106 de transformation, d'un programme 108 d'entraînement autour d'axes, d'un programme 110 de commande de fonction et d'un programme 111 de service des périphériques Des détails de ces programmes sont donnés dans le brevet No 3 909 600 précité Le mode automatique a pour effet de déplacer l'élément fonctionnel entre les positions programmées. Ce mouvement peut s'effectuer de point en point ou suivant des trajets ou courses prédéterminés, par exemple des tra- jets en ligne droite Dans la forme préférée de réalisation, le trajet programmé est défini par une série de trajets en ligne droite se coupant, sur lesquels les positions program- mées du centre de l'outil représentent les points d'inter- section des trajets en ligne droite et le lieu des positions programmées définit le trajet programmé. Conformément à l'invention, un programme est enseigné comme décrit ci-dessus jusqu'au point o le tra- jet non programmé doit être approché Comme représenté sur la figure 4, un point PO peut être une position de re- pos ou de départ En utilisant les commandes de la forma- tion, le centre de l'outil du bras de robot est déplacé vers des points Pl et P 2 et, à chaque point, les valeurs en coordonnées rectangulaires définissant la position et l'orientation des points et un code de fonction associé, si celà est nécessaire, sont mémorisées La courbe entre des points PE 1 et PE 4 représente un trajet non programmé qui peut être différent à chaque cycle d'opération Pour faciliter la compréhension de la figure 4, seules les va- leurs en coordonnées rectangulaires X,Y,Z définissant des positions du bras de robot sont illustrées Bien que non représentées sur la figure 4, dans la forme préférée de réalisation, des valeurs de coordonnées définissant 1 1 l'orientation du bras de robot sont associées à chaque po- sition Bien qu'il soit possible d'utiliser un à trois axes d'orientation, dans la forme de réalisation décrite, deux axes d'orientationm et n, définissant respectivement le tangage et le lacet, sont considérés comme faisant partie de la définition de chacun des points sur la figure 4. Pour déclencher un cycle de génération de trajet, un code de fonction de commande de trajet exté- rieur est programmé et mémorisé sous la forme d'un signal d'entrée, en association aux signaux d'entrée programmés définissant la position et l'orientation du point P 2. Lorsque le programme mémorisé est exécuté, le programme 94 de mode automatique de la figure 2 provoque un dépla- cement de l'élément fonctionnel par les positions et dans les orientations programmées et arrête son mouvement au point P 2 A ce point, le signal de commande de trajet ex- térieur déclenche un cycle de génération de trajet exté- rieur défini par le programme 112 de fonction de commande de trajet extérieur, à l'intérieur du programme 110 de commande de fonction Le programme 112 déclenche une com- munication avec un générateur 56 de trajet extérieur en ac- tionnant une interface de transmission de données consti- tuée du programme 86 d'entrée/sortie de transmission de données extérieures, du bus extérieur 50 et de l'inter- face 58 de transmission de données extérieures en ligne. L'interface de transmission de données transmet en série des messages composés de 16 octets, à la commande du robot, et en provenance de cette commande Le générateur de tra- jet extérieur comprend un capteur qui peut être optique, tactile ou tout autre dispositif permettant de détecter la position et l'orientation de points ayant un lieu dé- finissant le trajet non programmé La définition et l'o- pération du capteur dépendent de l'application particuliè- * re du bras de robot Cependant, son but final est, dans tous les cas, d'analyser le trajet non programmé et de fournir de nouveaux jeux de signaux d'entrée à la commande du robot, représentant les valeurs en coordonnées rectan- gulaires de la position et de l'orientation de points si- tués sur le trajet non programmé Le générateur de trajet extérieur de la forme préférée de réalisation de l'inven- tion fonctionne en coopération avec un système de coordon- nées rectangulaires; cependant d'autres systèmes de coordonnées non généralisées peuvent être utilisés Les nouveaux jeux de signaux d'entrée sont reçus par le pro- gramme 112 de fonction de commande dé trajet extérieuriqui transforme les valeurs en coordonnées rectangulaires en nouvelles valeurs correspondantes en coordonnées générali- sées Les différences entre les nouvelles valeurs en coor- données généralisées et les valeurs en coordonnées généra- lisées, présentes à ce moment, sont calculées et mémori- sées comme signaux d'entraînement dans une mémoire tampon en attente d'une interruption provenant du circuit d'as- servissement Le circuit d'asservissement utilise les va- riations des valeurs en coordonnées généralisées pour agir sur les actionneurs du bras de robot afin de déplacer l'é- lément fonctionnel vers les positions et les orientations non programmées, définies par les nouveaux jeux de signaux d'entrée, faisant ainsi suivre au bras de robot le trajet non programmé défini par le générateur de trajet extérieur. Par conséquent, l'invention offre à l'utilisa- teur du bras de robot la possibilité de permettre à ce bras de suivre un trajet non programmé, en temps réel, pendant le mode de fonctionnement automatique La façon dont, en réalité, les éléments du-générateur de trajet ex- térieur analysent le trajet non programmé et génèrent de nouveaux jeux de signaux d'entrée représentant des valeurs en coordonnées rectangulaires de points situés sur ce trajet, n'est pas importante pour l'invention La défini- tion, la configuration et les combinaisons d'éléments né- cessaires, pour atteindre de telles possibilités dépendent de la sophistication, du budget et de l'expérience de l'u- tilisateur, ainsi que des paramètres et des variables entourant l'application ou le procédé à exécuter L'appa- reil selon l'invention exige la présence d'un générateur de trajet extérieur capable d'émettre un jeu de signaux d'entrée représentant des données de coordonnées par rap- port à un système de coordonnées non généralisées, qui peuvent être reçues par la commande du robot Cette exi- gence peut être satisfaite par une large gamme de techno- logies actuellement disponibles. La figure 3 représente un organigramme de la forme préférée de réalisation, définissant les étapes de traitement pour l'exécution d'un mode de fonctionnement automatique qui comprend un cycle de génération de trajet extérieur Le processus pour déplacer l'élément fonction- nel d'un point présent programmé vers le point suivant programmé n'est pas important en qui concerne l'invention. Il existe un grand nombre de ces processus décrits dans l'art antérieur, par exemple un mouvement de point en point, un mouvement coordonné dans le temps ou un mouvement sur un trajet prédéterminé L'organigramme de la figure 3 décrit les étapes générales du processus de la forme préférée de réalisation qui exécute un mouvement sur un trajet pré- déterminé Les détails de ce processus sont décrits no- tamment dans le brevet no 3 909 600 précité dans lequel on choisit une ligne droite comme trajet prédéterminé. A l'étape de processus 124, les valeurs en coordonnées rectangulaires du point présent et du point suivant et la vitesse du programme sont extraites de la mémoire de programme Dans l'étape 128 de processus, des paramètres de distance sont calculés pour permettre la dé- finition d'un trajet en ligne droite entre le point présent et le point suivant Des paramètres typiques à calculer sont la distance linéaire entre le point présent et le point suivant, le nombre d'itérations qu'il faut pour se déplacer de façon incrémentielle le long du trajet en ligne droite et les composantes des axes de coordonnées rectangulaires du trajet total Cette information étant 33925 donnée, l'étape 130 de processus exige le calcul de la distance, le long du trajet prédéterminé, entre le point présent et le point suivant au cours d'une seule itération. L'étape 132 de processus calcule les valeurs en coordonnées rectangulaires d'un point extrême du premier déplacement incrémentiel le long du trajet en ligne droite, à partir du point présent L'étape 134 de processus transforme les valeurs en coordonnées rectangulaires de ce point extrême en valeurs correspondantes, en coordonnées généralisées, par rapport au système de coordonnées généralisées défini par la géométrie du bras de robot L'étape 136 de proces- sus calcule le changement apporté aux valeurs en coordon- nées généralisées et mémorise ce jeu de valeurs différen- tielles sous la forme d'un jeu de signaux d'entraînement, dans la mémoire tampon, en attente d'une interruption pro- venant du circuit 42 d'entraînement de l'asservissement. Un certain nombre de jeux de valeurs différentielles peuvent être mis en file d'attente dans la mémoire tampon, à un instant donné. Le processus ci-dessus se déroule de façon a- synchrone par rapport au circuit 42 d'entraînement de l'asservissement Le circuit 42 travaille sur un système d'échantillonnage à base de temps fixe En d'autres termes, à intervalles de temps prédéterminés et fixes, l'asservis- sement demande une nouvelle information à l'ordinateur En faisant travailler l'asservissement à un rythme d'échan- tillonnage fixe, l'ordinateur dispose de plusieurs avan- tages Par exemple, en connaissant la longueur du trajet programmé, la vitesse prédéterminée le long du trajet et la longueur fixe d'un temps d'échantillon, l'ordinateur est capable, dans l'étape 128 de traitement, de calculer le nombre d'itérations nécessaires à l'exécution du trajet prédéterminé Par conséquent, avec cette information, l'ordinateur peut ensuite calculer la variation de distan- ce le long du trajet prédéterminé, avec chaque itération. En outre, ainsi qu'il apparaîtra à l'homme de l'art, l'utilisation d'un rythme d'échantillonnage à temps fixe permet à l'ordinateur d'exécuter d'autres fonctions, en plus de la génération du trajet prédéterminé Etant donné que l'ordinateur est notablement plus rapide que les dis- positifs périphériques auxquels il est relié, un arriéré d'information à émettre par cet ordinateur est généré. Par conséquent, un système d'interruptior ayant chacune une priorité particulière est utilisé. Le but du programme de servo-interruption dé- fini dans l'étape de traitement 138 est de transférer des données à partir de la mémoire tampon, en réponse à une interruption provenant du circuit 42 d'entraînement de l'asservissement L'interruption peut apparaître à tout instant pendant le processus Lorsque l'interruption ap- parait, une commande du processus est transférée du pro- gramme principal au programme 138 de servo-interruption. A l'intérieur du programme 138 de servo-interruption, une étape 140 de processus transfère l'un des jeux, en file d'attente, de valeurs en coordonnées généralisées diffé- rentielles de la mémoire tampon au circuit 42 d'entraîne- ment du servomécanisme Ce circuit convertit ces données en signaux analogiques sous l'action desquels les action- neurs de la machine exécutent un changement de position définissant les valeurs différentielles correspondantes en coordonnées généralisées A la fin de ce changement de position des actionneurs, l'élément fonctionnel du bras de robot doit avoir une position et une orientation cor- respondant au point final du premier déplacement incré- mentiel le long du trajet défini par les valeurs de coor- données calculées dans l'étape de processus 132 Ensuite, une étape 142 de décision effectue un test pour déterminer si le trajet compris entre le point présent et le point suivant est complet Etant donné que le processus ci-dessus n'a décrit un mouvement que sur un premier pas incrémentiel le long du trajet,le trajet prédéterminé n'est pas complet, et le programme de servo-interruption renvoie la commande du processus au programme principal, au point o l'inter- ruption est apparue Des déplacements incrémentiels succes- sifs le long du trajet prédéterminé sont définis et les va- riations de coordonnées généralisées, correspondant à ces mouvements incrémentiels, sont déterminées et mémorisées. A chacune des servointerruptions successives, l'élément fonctionnel est déplacé le long du trajet en ligne droite jusqu'à ce que le point suivant soit atteint A ce point, le test 142 détecte l'achèvement du trajet prédéterminé, et le processus passe à l'étape 144 qui teste si le code de fonction associé au point suivant représente une fonc- tion de commande de trajet extérieur Si la réponse est négative, l'étape 146 de traitement exécute toute autre fonction ayant été programmée et, ensuite, à partir de l'étape 124, le processus de génération de trajet est ré- pété La figure 3 telle que décrite jusqu'à présent est décrite en détail dans le brevet N O 3 909 600 précité et représente l'exécution du mode de fonctionnement automa- tique normal pour déplacer l'élément fonctionnel entre les points PO et Pl de la figure 4. En déplaçant l'élément fonctionnel du point Pl au point P 2 et en sachant qu'après le point P 2, un cycle de génération de trajet extérieur est nécessaire, un code de fonction de commande de trajet extérieur est programmé en association avec les données de coordonnées rectangulaires définissant la position et l'orientation du point P 2 Les étapes de processus 124 à 142 de la figure 3 sont exécutées comme décrit précédemment, et l'élément fonctionnel est dé- placé vers le point programmé P 2 A ce moment, l'étape de processus 144 détecte la présence de la fonction de comman- de de trajet extérieur et un cycle de génération de trajet extérieur est déclenché La première étape du cycle est de conditionner l'interface de transmission de données pour établir une liaison de données actives pour l'échange de jeux de signaux d'entrée entre la commande du robot et le générateur de trajet extérieur Dans la forme préférée de réalisation, l'étape de processus 148 transfère un premier jeu de signaux d'entrée au générateur de trajet extérieur, ces signaux d'entrée représentant les valeurs absolues, en coordonnées rectangulaires, définissant la position et l'orientation du point présent Dans l'exemple décrit en regard de la figure 4, le point présent serait le point P 2. Ensuite, le générateur de trajet extérieur définit les va- leurs en coordonnées rectangulaires du premier point PE 1 sur le trajet non programmé et transmet, à la commande du robot, un message représentant les valeurs de coordonnées de ce point sous la forme d'un nouveau jeu de signaux d'en- trée, par l'intermédiaire de l'interface de transmission de données L'étape 150 de processus reçoit le message du gé- nérateur de trajet extérieur et l'étape 152 de processus détermine si le message est un message de données, ce qu'il est effectivement. Deux formes de réalisation seront décrites en. regard des figures 5 a à 5 d pour déplacer l'élément fonctionnel du point P 2 au point PE 1 Quelle que soit la forme de réali- sation utilisée, l'étape 154 de processus transforme les valeurs en coordonnées rectangulaires du point suivant non programmé en valeurs correspondantes en coordonnées géné- ralisées L'étape 156 de processus calcule le changement des valeurs en coordonnées généralisées et mémorise les différences dans une mémoire tampon en attente d'une servo-interruption, comme décrit précédemment Si le mes- sage de données renferme un code de fonction, l'étape 158 de processus provoque l'exécution de la fonction après que l'élément fonctionnel a atteint le point PE 1 Le processus revient ensuite à l'étape 150 pour recevoir le message sui- vant du générateur de trajet extérieur, ce message définis- sant les valeurs absolues, en coordonnées rectangulaires, de la position et de l'orientation concernant le point PE 2. Les étapes de processus 150 à 158 sont répétées jusqu'à ce que l'élément fonctionnel ait été déplacé jusqu'au point PE 4 Le message suivant reçu du générateur de trajet extérieur sera à présent un message de données, et l'étape 152 de processus interprète donc le message comme la fin de la fonction de commande de trajet extérieur, achevant ainsi le cycle de génération de trajet extérieur Le pro- cessus revient alors à l'étape 124 pour rappeler le point programmé suivant qui, conformément à l'exemple de la fi- gure 4, est le point P 1 Lors de l'exécution des étapes de processus 124 à 142, l'élément fonctionnel se déplace du point PE 4 au point P 1, ce qui achève un cycle d'opération et place le bras de robot dans une position permettant le commencement du cycle suivant. Les figures 5 a à 5 d représentent un organigram- me détaillé d'un cycle de génération de trajet extérieur dé- crit en regard de la figure 3 Après la détection de la présence d'un signal de commande de trajet extérieur, le cycle de génération de trajet extérieur est déclenché par l'étape de processus 160 qui efface les indicateurs in- ternes se trouvant dans le programme et repositionne à zéro un indicateur de réception de caractère L'étape 162 de processus positionne alors un indicateur de réception, re- met à l'état non fonction la mémoire de fonction présen- te et introduit dans une mémoire de coordonnées présente le jeu de signaux d'entrée représentant les valeurs en coordonnées rectangulaires de la position et de l'orien- tation en cours de l'élément fonctionnel L'étape 164 de processus transmet le jeu de signaux d'entrée définissant la position et l'orientation en cours au générateur de trajet extérieur' L'étape 166 de processus recherche la présence d'une erreur ou d'une interruption qui, à ce mo- ment, ne devrait pas exister L'étape 168 de processus exécute la fonction définie par la mémoire de fonction présente, qui a été précédemment positionnée à l'état non fonction, et, par conséquent, aucune action n'a lieu. L'étape 170 de processus détermine l'état de l'indicateur de données bonnes Cependant, cet indicateur a été pré- cédemment effacé et le processus passe à l'étape 172 qui 1 9 positionne un indicateur de départ, efface la mémoire de fonction présente en la plaçant à l'état non fonction et positionne à sa valeur naxixlale un compteur d' itération in- terne En outre, elle met à zéro les valeurs de tous les incréments à A partir de ce point, le processus passe à l'étape 176 de la figure 5 c. Comme décrit précédemment, après que la com- mande du robot a transmis les valeurs en coordonnées rec- tangulaires de la position et de l'orientation en cours au générateur de trajet extérieur, l'étape suivante est l'at- tente d'une transmission d'un message représentant un nou- veau jeu de signaux d'entrée en provenance du générateur de trajet extérieur Le nouveau jeu de signaux d'entrée définit des valeurs de coordonnées rectangulaires repré- sentant le premier point non programmé PE 1 et un code de fonction de processus que le générateur de trajet extérieur peut définir Le message est composé de 16 multiplets d'in- formation qui sont transmis à la commande du robot, un mul- tiplet à la fois Comme montré sur la figure 5 c, le proces- sus exécute les étapes 176 à 184 sans action L'étape 186 de processus détermine l'état de l'indicateur de réception. Etant donné que l'indicateur de réception a été positionné par l'étape 162, une étape 188 de processus détermine si un multiplet d'information existe dans le tampon de réception. Si tel n'est pas le cas, le processus répète la boucle for- mée par les étapes 176 à 188 jusqu'à ce que le générateur de trajet extérieur émette le premier multiplet d'informa- tion Lorsque l'information est dans le tampon de récep- tion, le processus passe à l'étape 190 de la figure 5 d. L'étape 190 de processus transfère le multiplet se trou- vant dans le tampon de réception vers une position dans une mémoire des coordonnées suivantes qui est indiquée par l'indicateur de caractère de réception Dans ce cas, le premier multiplet serait transféré dans la première position de la mémoire des coordonnées suivantes En ou- tre, une étape 190 de processus incrémente l'indicateur de caractère de réception et calcule également la valeur du total de contrôle L'étape 192 de processus détermine si le multiplet est le premier multiplet Etant donné que tel est le cas, l'étape 194 de processus détermine si le message est un message de données Le générateur de trajet extérieur peut annuler le cycle de génération de trajet extérieur par la transmission, à tout moment, d'un message de non données. Cependant, étant donné qu'il s'agit d'un message de données, l'étape 196 de processus renvoie un multiplet accusé de ré- ception au générateur de trajet extérieur, et le processus revient à l'étape 176. En répétant la boucle constituée par les étapes de processus 176 à 198 et l'étape 196, les 14 multiplets du message de données sont transférés du générateur de tra- jet extérieur à la commande du robot et chargés dans la mémoire des coordonnées suivantes de la commande du robot. Au seizième multiplet du message, l'étape 198 de processus de la figure 5 d détecte la réception du dernier multiplet et l'étape 200 de processus détermine la validité de la valeur de la somme de contrôle La valeur de la somme de contrôle est un test normal qui détermine la validité glo- bale du format du message transféré Si la somme de con- trôle n'est pas correcte, l'étape 202 de processus met à zéro l'indicateur de caractère de réception, efface la valeur de la somme de contrôle et transmet un multiplet non accusé de réception au générateur de trajet extérieur. Cette information indique au générateur de trajet extérieur que le message n'a pas été correctement reçu et qu'il doit retransmettre la totalité du message Par conséquent, le processus revient à l'étape 176 en attente d'une retrans- mission de la totalité du message Si le total de contrôle est valide, l'étape 204 de processus efface l'indicateur de réception, positionne l'indicateur de données bonnes et transmet un multiplet accusé de réception au générateur de trajet extérieur L'étape 206 de processus détermine si l'indicateur de départ est positionné Etant donné que cet indicateur a été précédemment positionné lors de l'éta- pe 172 de processus, l'étape 208 efface l'indicateur de dé- part et dirige le processus vers l'étape 166 de la figure a A ce moment, il ne devrait y avoir aucun signal d'en- trée d'erreur ou d'interruption En outre, étant donné que le message en cours est placé dans la mémoire des coordon- nées suivantes, toute information fonctionnelle, quelle qu'elle soit, contenue dans ce message ne se trouve pas dans la mémoire de fonction présente et, par conséquent, la commande du robot ne détecte pas la demande d'exécution d'une fonction présente Par conséquent, le processus pas- se directement à l'étape 170 pour tester l'état de l'indi- cateur de données bonnes Cet indicateur a été positionné au cours de l'étape 204 et l'étape 174 de processus teste l'état de l'indicateur d'annulation Etant donné que le message est un message de données, l'indicateur d'annula- tion n'est pas positionné et le processus passe à l'étape. 210 de la figure 5 b. En se reportant brièvement à la figure 4, étant donné l'exécution du programme décrit ci-dessus, l'élément fonctionnel est placé au point P 2 qui est un point programmé, et la fonction de commande du trajet extérieur programmé a déclenché un cycle de commande de trajet extérieur A ce point du cycle de commande du tra- jet extérieur, la commande du robot a transmis au généra- teur de trajet extérieur les valeurs en coordonnées rec- tangulaires du point en cours P 2, et le générateur de tra- jet extérieur a renvoyé à la commande du robot le nouveau jeu de signaux d'entrée définissant le point non program- mé PE 1 Les valeurs en coordonnées rectangulaires du point sont placées dans la mémoire des coordonnées suivantes. Il faut à présent faire passer l'élément fonctionnel de la position et de l'orientation de son emplacement actuel P 2 vers la position et l'orientation définies par les valeurs de coordonnées du point PE 1 Ainsi que l'homme de l'art l'appréciera, plusieurs techniques peuvent être utilisées pour déplacer le bras de robot vers le nouveau point PE 1. Deux formes particulières de réalisation seront décrites ci-après, mais l'invention n'est pas limitée par la tech- nique utilisée pour déplacer un élément de machine d'un point à un autre La technique particulière choisie dé- pend principalement du type de générateur de trajet ex- térieur utilisé, des possibilités de la liaison de trans- mission de données entre le générateur de trajet extérieur et la commande du robot et de la vitesse à laquelle la com- mande du robot elle-même peut accepter et traiter les don- nées En outre, les paramètres normaux de conception, constitués par le coût et la fiabilité, affectent le choix d'une technique de commande de trajet. Si l'on utilise des techniques correspondant à l'état actuel du domaine de traitement de données par or- dinateur et de transmission de données, les valeurs de coordonnées transmises par le générateur de trajet exté- rieur sont traitées par la commande du robot et un mou- vement vers le point suivant est déclenché immédiatement. Cependant, dans de nombreux cas, en raison des vitesses possibles d'analyse du générateur de trajet extérieur ou des limitations de vitesse de transmission de données en- tre le générateur de trajet extérieur et la commande du robot, le point suivant peut être séparé du point en cours suffisamment pour qu'un certain nombre de points intermé- diaires soient souhaitables afin de commander de façon plus précise la position et l'orientation de l'élément fonc- tionnel lors de son mouvement entre le point en cours et le point suivant Cette dernière forme de réalisation se- ra tout d'abord décrite. Un procédé pour obtenir des points intermédiai- res entre le point présent et le point suivant consiste à utiliser les programmes existants de génération de trajet, contenus dans la commande du robot et décrits dans les éta- pes de processus 124 à 136 de la figure 3 Cependant, com- me indiqué précédemment, ce processus suit une technique pour commander la position et l'orientation de l'élément fonctionnel avec précision le long d'un trajet prédéter- miné, à une vitesse prédéterminée et pouvant être choisie. Il s'agit d'un processus très complexe et très long à exé- *cuter. Dans le cas de la fonction de commande du tra- jet extérieur, un processus plus simple peut convenir Par exemple, lors du mouvement du point en cours au point sui- vant, on peut supposer que la vitesse est constante En outre, on suppose que l'exécution du déplacement entre les points P 2 et PE 1 s'effectue par un certain nombre prédéter- miné d'itérations qui correspond au compte maximal établi dans un compteur d'itérations demandé par l'étape de pro- cessus 172 Etant donné cette information, un déplacement incrémentiel le long de chaque axe de coordonnées, lors de chaque itération, peut être aisément déterminé Par consé- quent, à la détection du positionnement de l'indicateur de données bonnes, mais de l'absence de positionnement de l'indicateur d'annulation, un cycle de mouvement itératif est déclenché par le passage à l'étape 210 de processus. Dans cette étape, la valeur Q X indiquée sur la figure 4 est définie par détermination de la différence entre la valeur de coordonnée X suivante et la valeur de coordonnée X en cours et division de cette différence par le nombre prédéterminé d'itérations, c'est-à-dire le compte maximal. L'étape 212 de processus détermine si la valeur A X est supérieure à une limite X maximale Les étapes 228 à 240 de processus calculent les valeurs A pour chacun des au- tres axes de coordonnées rectangulaires définissant la po- sition et l'orientation. Ensuite, le processus passe à l'étape 234 de la figure 5 c Cette étape fait d'abord passer les valeurs des coordonnées rectangulaires du point suivant de la mé- moire des coordonnées suivantes à la mémoire des coordon- nées présentes Ensuite, la fonction associée au point suivant est déplacée de la mémoire des coordonnées suivantes à la mémoire de la fonction présente et l'indi- cateur de caractère de réception est mis à zéro afin d'ê- tre prêt à accepter-le message suivant En outre, l'indica- teur de données bonnes est effacé et l'indicateur de ré- ception est positionné L'étape 176 de processus effectue ensuite un test pour déterminer si le compte d'itérations est à zéro Etant donné qu'aucune itération n'a commencé, il est encore à-sa valeur maximale L'étape 178-de proces- sus définit un signal de points intermédiaires représentant les valeurs en coordonnées rectangulaires d'un premier point intermédiaire vers lequel l'élément fonctionnel doit se déplacer au cours de la première itération Ceci s'effec- tue simplement par addition des valeurs a déterminées précédemment pour les axes de coordonnées rectangulaires à des valeurs correspondantes de coordonnées rectangulai- res de la position en cours de l'élément fonctionnel. Comme représenté sur la figure 4, Xi+,, Yi+, et Zi+ 1,re- présentent globalement les valeurs en coordonnées rectangu- laires du point intermédiaire suivant au cours de l'une des itérations Les valeurs Xi, Yi, et Z représentent les valeurs en coordonnées rectangulaires de la position en cours de l'élément fonctionnel au début de toute itération particulière Après calcul des valeurs en coordonnées rec- tangulaires du point intermédiaire pour la première itéra- tion le long du trajet, l'étape 180 de processus transfor- me ces valeurs de coordonnées rectangulaires en valeurs -correspondantes en coordonnées généralisées L'étape 182 de processus calcule le changement apporté aux valeurs en coordonnées généralisées et mémorise, dans la mémoire tam- pon, un jeu de signaux d'entraînement représentant le changement de position de chaque actionneur du bras de robot, ce changement de position étant nécessaire pour déplacer l'élément fonctionnel vers le point intermédiaire Ensuite, le processus se déroule comme décrit précédemment A cha- que apparition d'une servo-interruption, un jeu de signaux d'entratnement est transmis au circuit du servomécanisme et i 3925 les actionneurs du bras de robot déplacent l'élément fonc- tionnel vers le point intermédiaire L'étape 184 de proces- sus réalise une décrémentation du compteur d'itération et l'étape 186 teste l'état de l'indicateur de réception Etant donné qu'il a été positionné dans l'étape 232 de processus, l'étape 188 détermine si un multiplet se trouve dans le tam- pon de réception En l'absence de multiplets dans le tampon de réception, le processus revient à l'étape 176 Etant don- né que le compte d'itération n'est pas nul, l'étape 178 de processus calcule un nouveau jeu de valeurs de coordonnées rectangulaires définissant un deuxième point intermédiaire qui est associé à la deuxième itération Au cours de chacune des itérations successives des étapes de processus 176 à 188, l'élément fonctionnel est avancé incrémentiellement vers une nouvelle position, éloignée de la position précédente d'un incrément vectoriel défini par les valeurs de coordon- nées ii calculées dans les étapes indiquées sur la figu- re 5 b Ce cycle de mouvement itératif se poursuit jusqu'à ce que le compteur d'itération ait été décrémenté jusqu'à la valeur zéro qui est détectée par l'étape de processus 176 A ce stade, l'élément fonctionnel se trouve dans la position et l'orientation des coordonnées définissant le premier point non programmé PE 1. Le processus passe à l'étape 166 de la figure 5 a et directement à l'étape 168 Etant donné que l'étape de processus 234 a provoqué un mouvement de la mémoire de la fonction suivante vers la mémoire de la fonction pré- sente, l'étape 168 de processus exécute toute fonction contenue dans la mémoire de fonction présente A ce stade, la commande du robot a achevé toutes les opérations deman- dées par le premier message de données reçu du généra- teur de trajet extérieur Ainsi que l'appréciera l'homme de l'art, pendant le calcul des valeurs de coordonnées successives dans les étapes de processus 178 à 184, l'é- tape 188 de processus peut déterminer la présence d'un autre multiplet dans le tampon de réception, indiquant que la commande de trajet extérieur transmet un autre mes- sage à la commande du robot Dans ce cas, les étapes de processus 190 à 208 de la figure 5 d reçoivent le nouveau message et le mémorisent dans la mémoire des coordonnées suivantes jusqu'à ce que l'élément fonctionnel se soit dé- placé jusqu'au point défini par le contenu de la mémoire des coordonnées présentes Bien qu'un message se trouve dans la mémoire des coordonnées suivantes, l'étape 188 de pro- cessus n'identifiera aucun autre multiplet dans le tampon de réception. Si, à un instant quelconque du processus, une erreur résulte des étapes de processus 212, 230, 232, 236 ou 240 de la figure 5 b ou d'un signal d'entrée d'interrup- tion tel que déterminé dans l'étape de processus 166 de la figure 5 a, l'étape 214 de processus transmet un message d'avertissement à l'opérateur L'étape 216 de processus attend une réponse de l'opérateur Si l'étape 218 de pro-. cessus détermine que l'opérateur a appuyé sur la touche d'entrée, le processus passe à l'étape 164 et recommence. Si l'opérateur enfonce la touche d'annulation, ce qui est détecté par une étape 220 du processus, l'étape 222 affi- che un message d'erreur, contrairement au message d'aver- tissement affiché dans l'étape 214 Si l'opérateur appuie de nouveau sur la touche d'annulation afin de tenter d'an- nuler l'erreur, l'étape 224 fait quitter à la commande du robot le mode de fonctionnement automatique et la place dans lé mode manuel de fonctionnement. Si le deuxième message transmis par le généra- teur de trajet extérieur est constitué de données de coor- données et d'une information de fonction définissant la position et l'orientation souhaitées pour l'élément fonc- tionnel au point PE 2 illustré sur la figure 4, le proces- sus décrit précédemment se répète Les étapes de la figure b calculent de nouvelles valeurs A et le processus de la figure 5 c crée une série de valeurs de coordonnées in- termédiaires définissant des positions et des orientations d'un certain nombre de points intermédiaires qui se trou- vent sur une ligne droite comprise entre les points PE 1 et PE 2 Par conséquent, le bras de robot se déplace vers le point PE 2 et toute fonction du processus, associée à ce point et transmise avec le deuxième message, est exécutée. Canoe décrit Drécéemnment, il est possible d'utiliser une autre forme de réalisation dans laquelle les valeurs de coordonnées définissant les points non programmés sont transmises par le générateur de trajet extérieur à la commande du robot et exécutées immédiatement Par consé- quent, aucun point intermédiaire n'est créé entre les points non programmés Dans ce cas, un message de données, repré- sentant un nouveau jeu de signaux d'entrée, est reçu d'une manière identique à celle décrite précédemment Cependant, aucun compteur d'itération n'est utilisé et, par conséquent, l'étape 172 de processus ne positionne pas de compteur d'i- tération En outre, après la réception du message, si l'in- dicateur de données bonnes est détecté par l'étape 170 de processus et qu'aucun message d'annulation n'est détecté par l'étape 174, les étapes illustrées sur la figure 5 b ne sont pas indispensables Dans cette forme de réalisation, le processus passe directement de l'étape 174 de la figure 5 a à l'étape 234 de la figure 5 c Le nouveau jeu de signaux d'entrée contenu dans la mémoire des coordonnées suivantes est transmis immédiatement à la mémoire des coordonnées présentes Les étapes de traitement 176 et 178 ne sont pas nécessaires et le processus passe donc directement à l'é- tape 180 qui transforme les valeurs de coordonnées rectan- gulaires, définios par le nouveau jeu de signaux d'entrée contenu dans la mémoire de coordonnées présentes en va- leurs correspondantes de coordonnées généralisées Par conséquent, comme montré sur la figure 4, en utilisant cette autre forme de réalisation décrite ci-dessus, si le troisième message émis par le générateur de trajet extérieur représente un nouveau jeu de signaux d'entrée définissant la position et l'orientation du point PE 3, la commande du robot transmet immédiatement ces valeurs de coordonnées à la mémoire des coordonnées présentes et produit un jeu de signaux d'entrainement en transformant les valeurs en coordonnées rectangulaires du nouveau jeu de signaux d'entrée en valeurs correspondantes en coor- données généralisées Le jeu de signaux d'entra nement a pour effet sur l'élément fonctionnel de le déplacer le long d'un trajet du point PE 2 au point PE 3, sans néces- siter la définition de points intermédiaires. Si l'on suppose que le même procédé est uti- lisé pour déplacer l'élément fonctionnel vers le point PE 4, le trajet non programmé complet est exécuté Par conséquent, le générateur de trajet extérieur transmet un message de non données à la commande du robot, ce message étant dé- tecté par l'étape de processus 246 de la figure 5 d, comme étant un message d'annulation L'étape 248 de processus positionne l'indicateur d'annulation et, comme décrit pré- cédemment, le processus passe par les étapes 204, 206 et 208 de la figure Sd et 166, 168 et 170 de la figure 5 a jusqu'à ce que l'étape 174 du processus teste l'état de l'indicateur d'annulation Etant donné que cet indicateur est positionné, le processus s'arrête au point 250 et re- vient à l'étape 124 de la figure 3, qui rappelle le point et la vitesse programmés suivants Ensuite, en travaillant dans le mode automatique normal de fonctionnement, l'élé- ment fonctionnel est déplacé du point PE 4 au point program- mé Pl à partir duquel un autre cycle d'opération peut être déclenché. Il va de soi que de nombreuses modifications peuvent être apportées à l'appareil décrit et représenté sans sortir du cadre de l'invention. REVENDICATIONS 1 Appareil pour déplacer le centre ( 76) d'un outil d'un élément fonctionnel ( 34) vers un certain nombre de positions représentant un cycle d'opération en réponse à des jeux programmés de signaux d'entrée définissant des positions programmées par rapport à un premier système de coordonnées, lesdites positions programmées ayant un lieu définissant un trajet programmé, l'appareil étant relié à un générateur ( 56) de trajet extérieur et réagissant à un si- gnal d'entrée représentant un signal de commande de tra- jet extérieur, de manière à déplacer le centre de l'outil pour le faire passer par un certain nombre de positions non programmées ayant un lieu définissant un trajet non pro- grammé, l'appareil étant caractérisé en ce qu'il comporte une machine comprenant des éléments reliés à une extrémité de l'élément fonctionnel ( 34) et des actionneurs ( 14, 20, ( 24, 28, 30, 32) associés aux éléments de la machine pour établir plusieurs axes de mouvement pour le centre de l'outil, chacun des axes de mouvement et des éléments de la machine définissant un système de coordonnées généralisées différent du premier système de coordonnées, l'appareil comportant également une commande ( 35) de machine qui com- prend une mémoire ( 41) destinée à mémoriser des jeux pro- grammés de signaux d'entrée, une interface ( 44) de trans- mission de données pour l'échange de jeux de signaux d'en- trée entre le générateur de trajet extérieur et la commande de la machine, et un circuit ( 42) de servomécanisme con- necté aux actionneurs pour commander la position et le mouvement du centre de l'outil, la commande exécutant les étapes qui consistent: ( 1) à rappeler un premier jeu de signaux d'entrée dans la mémoire; ( 2) à tester le premier jeu de signaux d'en- trée pour déterminer la présence d'un signal de commande de trajet extérieur; ( 3) à exécuter, en réponse à la présence d'un signal de commande de trajet extérieur, un cycle de géné- ration de trajet extérieur comprenant les étapes qui con- sistent: (i) à conditionner l'interface de transmission de données pour établir une liaison de données actives en- tre le générateur de trajet extérieur et la commande de la machine; (ii) à recevoir de la commande de trajet exté- rieur un nouveau jeu de signaux d'entrée définissant une position non programmée pour le centre de l'outil; (iii) à générer un jeu de signaux d'entraîne- ment définissant la position non programmée du centre de l'outil par rapport au système de coordonnées généralisées; (iv) à agir sur les actionneurs pour déplacer le centre de l'outil vers la position non programmée en ré- ponse au jeu de signaux d'entraînement; (v) à répéter les étapes (ii) et (iv) pour faire passer le centre de l'outil par une série de positions non programmées ayant un lieu définissant le trajet non program- mé. 2 Appareil selon la revendication 1, caracté- risé en ce que le premier jeu de signaux d'entrée repré- sente en outre une première position programmée du centre de l'outil et en ce que la commande exécute en outre l'éta- pe qui consiste à agir sur les actionneurs pour déplacer le centre de l'outil vers la première position programmée du centre de l'outil avant l'étape consistant à détermi- ner la présence du signal de commande de trajet extérieur. 3 Appareil selon la revendication 1,caracté- risé en ce que le cycle de génération de trajet comprend en outre les étapes qui consistent: (a) à recevoir du générateur de trajet exté- rieur un autre jeu de signaux d'entrée représentant une fonction de processus; et - (b) à exécuter la fonction de processus après que le centre de l'outil a été amené dans la position non programmée. 4 Appareil pour déplacer un centre ( 76) d'outil d'un élément fonctionnel ( 34) le long de trajets sécants en réponse à des jeux de signaux d'entrée définis- sant des positions programmées pour le centre de l'outil par rapport à un système de coordonnées rectangulaires et représentant les points d'intersection des trajets, ces points d'intersection ayant un lieua définissant un trajet programmé et l'appareil état connecté à générateur ( 56) de trajet extérieur et rdtissant àun signal d'entrée, représentant un signal dé commande-de trajet -extérieur, en déplaçant le centre de l'outil pour le faire passer par un certain nombre de positions non programmées ayant un lieu définissant un trajek non programmé, l'appareil étant caractérisé en ce qu'il comporte: (a) un bras ( 1 b) de robot ayant des éléments ( 22, 26, 27) reliés à une extrémité de l'élément fonc- tionnel et des actionneurs $ 14, 20, 24, 28, 30, 32) associés aux éléments du bras pour établir plusieurs axes de mouvement pour le centre de l'outil, ces axes de mou- vement et les éléments de la machine définissant un sys- tème de coordonnées généralisées différent du système de coordonnées rectangulaires; (b) une commande ( 35) de bras de robot compf- nant une mémoire ( 41) destinée à mémoriser des signaux d'entrée programmés, une interface ( 44) de transmission de données pour l'échange de signaux d'entrée entre le géné- rateur de trajet extérieur et la commande du bras de robot, et un circuit ( 42) de servomécanisme connecté aux action- neurs pour commander la position et le mouvement du centre de l'outil, la commande du bras de robot exécutant les éta- pes qui consistent: ( 1) à rappeler un premier jeu de signaux d'en- trée de la mémoire; ( 2) à tester le premier jeu de signaux d'en- trée pour déterminer la présence d'un signal de commande de trajet extérieur; ( 3) à exécuter, en réponse à la présence du si- gnal de commande de trajet extérieur, un cycle de génération de trajet extérieur comprenant les étapes qui consistent: (i) à conditionner l'interface de transmission de données pour établir une liaison de données actives entre le générateur de trajet extérieur et la commande du bras de robot; (ii) à recevoir du générateur de trajet exté- rieur un nouveau jeu de signaux d'entrée définissant des valeurs, en coordonnées rectangulaires, d'une position non programmée du centre de l'outil par rapport au système de coordonnées rectangulaires; (iii) à produire un jeu de signaux d'entra Tne- ment en transformant les valeurs de coordonnées rectangu- laires, définies par le nouveau jeu de nouveaux signaux d'entrée, en valeurs correspondantes, en coordonnées gé- néralisées; (iv) à appliquer le jeu de signaux d'entraîne- ment au circuit du servomécanisme pour agir sur les ac- tionneurs afin de déplacer le centre de l'outil vers la position non programmée; (v) à répéter les étapes (ii) à (iv) afin de faire passer le centre de l'outil par une série de posi- tions non programmées ayant un lieu définissant le tra- jet non programmé. Appareil selon la revendication 4, caracté- risé en ce que la mémoire mémorise en outre les valeurs, en coordonnées rectangulaires, de la position en cours du centre de l'outil et la production d'un jeu de signaux d'entraînement consiste en outre (a) à déclencher un cycle de mouvement itératif ayant un nombre prédéterminé d'itérations, ce nombre prédéterminé d'itérations définissant le nombre de mouvements incrémentiels nécessaires pour amener l'élément fonctionnel dans la position non programmée; (b) à calculer, en réponse aux nouveaux signaux d'entrée et au nombre prédéterminé d'itérations, l'amplitude de chaque déplacement incrémentiel le long de chacun des axes de coordonnées rectangulaires durant chaque itéra- tion du cycle de mouvement; (c) à ajouter, au cours d'une itération, l'am- plitude des déplacements incrémentiels aux valeurs corres- pondantes, en coordonnées rectangulaires, de la position en cours pour produire un signal de point intermédiaire défi- nissant les valeurs, en coordonnées rectangulaires, de la position d'un point intermédiaire; (d) à produire un jeu de signaux d'entraîne- ment en transformant les valeurs, en coordonnées rectan- gulaires, du point intermédiaire en valeurs correspondan- tes, en coordonnées généralisées; (e) à appliquer le jeu de signaux d'entraîne- ment aux actionneurs pour déplacer le centre de l'outil vers le point intermédiaire; et (f) à répéter les étapes (c) à (e) pour que les actionneurs déplacent le centre de l'outil vers la position non programmée. 6 Appareil pour déplacer un centre d'outil ( 76) d'un élément fonctionnel ( 34) le long de trajets prédéter- minés sécants, sous l'action de jeux de signaux d'entrée définissant des positions pour le centre de l'outil et des orientations angulaires prédéterminées pour l'élément fonc- tionnel par rapport à un système de coordonnées rectangu- laires, les positions du centre de l'outil représentant les points d'intersection des trajets prédéterminés et ayant un lieu définissant un trajet programmé, l'appareil étant connecté à un générateur ( 56) de trajet extérieur et, en réponse à un signal d'entrée représentant un signal de commande de trajet extérieur, agissant de manière à dépla- cer le centre de l'outil pour le faire passer par un certain nombre de positions et d'orientations non program- mées définissant un trajet non programmé, l'appareil étant caractérisé en ce qu'il comporte: (a) un bras ( 10) de robot comprenant des ac- tionneurs et des éléments de bras ( 22, 26, 27), qui com- prennent ( 1) plusieurs premiers actionneurs ( 14, 20 24 X, associés aux éléments de bras pour définir plusieurs axes de mouvement pour le centre de l'outil; ( 2) plusieurs seconds actionneurs ( 28, 30, 32) associés aux éléments de bras et reliés à l'autre extrémité de l'élément fonctionnel pour établir des secor-Es axes de rota- tion pour permettre à l'élément fonctionnel de changer de position par rotation angulaire, les premiers et seconds axes de mouvement et les éléments de bras définissant un système de coordonnées généralisées différent du système de coordonnées rectangulaires; et (b) une commande ( 35) de bras de robot compre- nant une mémoire ( 41) destinée à mémoriser des jeux pro- grammés de signaux d'entrée, une interface ( 44) de trans- mission de données pour l'échange de jeux de signaux d'en- trée entre le générateur de trajet extérieur et la comman- de du bras de robot, et un circuit ( 42) de servomécanisme connecté aux actionneurs pour commander la position et le mouvement du centre de l'outil entre des positions succes- sives et pour faire tourner simultanément l'élément fonc- tionnel autour du centre de l'outil par des variations continues d'orientation entre des positions angulaires successives, la commande exécutant les étapes qui consis- tent: ( 1) à rappeler un premier jeu de signaux d'en- trée de la mémoire; ( 2) à agir sur les actionneurs pour qu'ils dé- placent l'élément fonctionnel le long du trajet prédéter- miné jusqu'à la position et l'orientation définies par le premier jeu de signaux d'entrée; z ( 3) à déterminer la présence d'un signal de commande de trajet extérieur en association avec le pre- mier jeu de signaux d'entrée; ( 4) à exécuter, en réponse à la présence du signal de commande detrajet extérieur, un cycle de géné- ration de trajet extérieur comprenant les étapes qui consistent: (i) à conditionner l'interface de transmission de données pour établir une liaison de données actives en- tre la commande de trajet extérieur et la commande du bras de robot; (ii) à transmettre le premier jeu de signaux d'entrée au générateur de trajet extérieur; (iii) à recevoir un message du générateur de trajet extérieur; (iv) à tester le message pour déterminer la présence d'un nouveau jeu de signaux d'entrée définis- sant des valeurs, en coordonnées rectangulaires, repré- sentant une position et une orientation non programmées de l'élément fonctionnel et une fonction de processus, (v) à générer, en réponse à la présence du nouveau jeu de signaux d'entrée, un jeu de signaux d'en- trainement représentant des valeurs de coordonnées géné- ralisées correspondant aux valeurs, en coordonnées rec- tangulaires, de la position et de l'orientation non pro- grammées; (vi) à appliquer le jeu de signaux d'entraî- nement au circuit du servomécanisme pour agir sur les actionneurs afin qu'ils déplacent l'élément fonctionnel vers la position et l'orientation non programmées (vii) à exécuter la fonction de processus en réponse à la présence du nouveau jeu de signaux d'entrée; (viii) à répéter les étapes (iii) à (vii) pour faire passer l'élément fonctionnel par une série de posi- tions et d'orientations non programmées définissant le trajet non programmé; et (ix) à achever le cycle de génération de tra- jet extérieur en réponse à l'absence du nouveau jeu de signaux d'entrée dans le message; et ( 5) à répéter les étapes ( 1) à ( 4) pour chaque jeu de signaux d'entrée mémorisés dans la mémoire.