FR 2526703 A1 19831118 FR 8307997 A 19830513 L'invention concerned'une manière générale des manipulateurs commandés par un programme, et plus parti- culièrement l'adaptation de l'activité programmée d'un manipulateur à des variations non programmées de paramé- tres concernant un travail à effectuer. A la différence des machinesoutils classiques dans lesquelles les axes principaux de mouvement sont des axes de translation correspondant aux axes de coor- données d'un système de coordonnées rectangulaires à trois dimensions, les manipulateurs présentent une plus grande souplesse en utilisant des axes de rotation pour effectuer l'orientation d'un outil ou d'une pièce qu'ils portent Grâce à cette plus grande souplesse, qui est particulièrement le cas des machines articulées ou anthro- pomorphiques, des manipulateurs programmables sont utili- sés pour des travaux exigeant un mouvement commandé et qui étaient jusqu'à présent exécutés manuellement, quand bien même le milieu de travail soulevait de graves dan- gers pour la santé Des exemples d'un tel travail compren- nent le soudage à la molette, l'enduction par pulvérisation et le nettoyage de pièces brutes de fonderie L'obstacle principal à toute application de ce type résideen l'adap- tation interne de la commande de mouvement àdes variations non programmées de paramètres de traitement tels que des variations du bain de soudure dans le cas de joints soudés, des variations de viscosité des fluides de revêtement en fonction de la température et de l'humidité, et des varia- tions du couple de coupe au passage de bavures et de carottes de fonderie Bien qu'il existe un certain nombre de procédés modifiant une branche de programme pour tenir compte de conditions détectées et exigeant des écarts, il est inconnu, jusqu'à présent, de faire varier automa- tiquement la vitesse du mouvement du manipulateur commandé par programme pour tenir compte de paramètres de processus tels que ceux mentionnés Néanmoins, ces actions, ainsi que de nombreuses autres, peuvent être aisément adaptées a des variations paramétriques non programmées en permettant au mouvement programmé d'être soumis à des variations de vitesse définies conformément à une fonction convenable concernant un paramètre de processus mesuré et la vitesse de parcours. L'invention a donc pour objet un manipulateur et une commande destinés à déplacer un élément fonctionnel en fonction de signaux d'entrée programmés décrivant le mouvement et réagissant à des variations non programmées d'un paramètre de processus pour faire varier la vitesse du mouvement. L'invention a également pour objet un manipula- teur et une commande destinés à déplacer un élément fonc- tionnel en fonction d'une description préprogrammée du mouvement et réagissant sélectivement à des variations non programmées d'un paramètre de processus de travail pour faire varier la vitesse du mouvement. L'invention a pour autre objet un manipulateur et une commande destinés à déplacer un élément fonction- nel en fonction d'une description préalablement programmée du mouvement et réagissant à des valeurs fonctionnelles d'un paramètre de processus mesuré pour faire varier la vitesse du mouvement. L'invention a également pour objet un manipula- teur et une commande destinés à déplacer un élément fonc- tionnel en fonction de signaux d'entrée définissant des positions par rapport à un système de coordonnées rectan- gulaires et des vitesses de course entre ces positions, et réagissant à des valeurs mesurées du paramètre de pro- cessus de travail pour faire varier la vitesse réelle de parcours pendant un mode de fonctionnement automatique. L'invention concerne donc un manipulateur et une commande qui, en fonction de signaux d'entrée définis- sant des positions d'un point associé à un élément fonc- tionnel et des vitesses de parcours entre ces positions, commandent un mouvement du point le long d'un trajet préalablement défini Les positions sont décrites en référence aux axes d'un système de coordonnées tridimensionnelles et le manipulateur comporte des axes de rotation reliant des éléments de la machine et définis- sant le système de coordonnées de la machine Un mouvement est réalisé par interpolation de points intermédiaires correspondant à des points extrêmes de segments incrémen- tiels situés le long du parcours et par transformation des coordonnées des points intermédiaires en coordonnées machine pour commander les mouvements des axes de coordon- nées de la machine A chaque incrément est associée une vitesse de parcours incrémentielle, utilisée pour calculer une longueur de segment incrémentielle Des moyens sont prévus pour contrôler en continu un paramètre de processus de travail et la commande exécute sélectivement un procédé pour évaluer une fonction mettant en relation une valeur paramétrique avec la vitesse d'entrée Une valeur de vitesse incrémentielle, dérivée de la fonction de vitesse de processus de travail, est produite sélectivement et utilisée par le processus d'interpolation de points inter- médiaires pour faire varier effectivement la vitesse du point le long du parcours. L'invention sera décrite plus en détail en regard des dessins annexés à titre d'exemple nullement limitatif et sur lesquels: la figure 1 est une élévation d'un manipula- teur articulé, cette vue représentant également schémati- quement le raccordement de ce manipulateur à la commande; la figure 2 est un schéma simplifié de la commande et de ses modules associés d'interface d'entrée et de sortie; la figure 3 est une représentation géométri- que de systèmes de coordonnées généralisées, définis par la machine; les figures 4 A à 4 C sont des représentations géométriques de la commande du mouvement effectuée sur- l'outil porté par le manipulateur; les figures 5 A et 5 B sont des organigrammes des deux programmes principaux de commande de mouvement; les figures 6 A à 6 D sont des organigrammes de sous-progranm S et de parties principales de l'orga- nigramme de la figure 5 A; et la figure 7 est un organigramme du programme de sélection de vitesse utilisé par le programme d'inter- polation de la figure 5 A. A titre illustratifde l'invention, l'association d'un manipulateur et de sa commande, constituant une forme préférée de réalisation, sera décrite ci-après Le mani- pulateur et la commande correspondent à des produits de la firme Cincinnati Milacron Inc Il convient de noter que la structure particulière du manipulateur de la forme préférée de réalisation n'est pas limitée à la forme décrite, mais que toute machine comportant des axes de rotation reliés en série, commandés par interpolation de points intermédiaires le long d'un trajet prédéterminé, défini en référence à un système de coordonnées rectan- gulaires ou à tout autre système de coordonnées, défini indépendamment des axes de la machine, convient pour la mise en oeuvre de la présente invention. La figure 1 représente un manipulateur articulé relié à une commande 35 et portant un outil 122 de rectification et son moteur 120 Le manipulateur 10 comprend une embase 12 sur laquelle est montée de façon à pouvoir tourner une plaque épaulée 18 au-dessous de laquelle sont disposés un actionneur tournant 14 et un accouplement intermédiaire 16 L'actionneur 14, l'accou- plement 16 et la plaque 18 de montage coopèrent pour faire tourner la structure du manipulateur autour d'un axe vertical passant par le centre de la plaque 18 Un bras supérieur 22 est monté de façon à pouvoir tourner sur la plaque 18, par une articulation 23-d'épaule, et il peut tourner autour d'un axe horizontal coupant l'axe vertical au centre de l'articulation 23 Un actionneur 20 commande la rotation du bras supérieur 22 autour de cet axe Un avant-bras 26 est relié au bras supérieur 22, par une articulation de coude 25, et il peut être mis en rotation autour de cette articulation au moyen d'un actionneur 24 qui peut être un actionneur linéaire tel qu'un groupe à piston et cylindre, ou bien un ensemble à vis et écrou Les actionneurs 14, 20 et 24 sont suffisam- ment dimensionnés pour déplacer l'avant-bras 26 afin d'en placer l'extrémité dans toute position située à l'intérieur d'un volume défini par les limitations mécaniques de la structure. Pour donner une souplesse maximale aux mouvements réalisés par la commande du manipulateur, trois axes sup- plémentaires de mouvement sont situés en aval de l'avant- bras 26 Ces trois axes supplémentaires sont destinés à commander l'orientation par rapport à un point de réfé- rence de l'outil porté par le manipulateur, ce point de référence pouvant être changé de position Le premier de ces trois axes d'orientation correspond à une rotation autour d'un axe horizontal situé à l'extrémité de l'avant- bras 26 et commandé par un actionneur 28 afin de modifier l'angle de tangage d'un outil porté par le manipulateur. Le deuxième axe d'orientation est perpendiculaire au premier et il fait varier l'angle de lacet de l'outil porté par le manipulateur, ce deuxième axe étant commandé par un actionneur 30 Le troisième axe d'orientation, destiné à la commande de roulis, est perpendiculaire aux premier et deuxième axe et il est commandé par un action- neur 32 Ces trois axes d'orientation constituent le poignet 27 du manipulateur 10. L'extrémité du poignet 27 porte un plateau 33 sur lequel est monté le moteur 120 portant l'outil 122 de rectification Un transducteur 24, fixé au moteur 120 de l'outil, est destiné à renvoyer un paramètre mesuré du processus de travail Le moteur 120 et l'outil 122 constituent un élément fonctionnel 31 porté par le mani- pulateur 10 Il existe une large gamme d'outils ou de dispositifs de préhension de pièces pouvant être utilisés suivant le travail à effectuer Le programme mémorisé pour la commande du mouvement de l'élément fonctionnel 31 indique les positions d'un centre 34 de l'outil et les orientations de l'élément fonctionnel 31 par rapport à ce centre 34 d'outil. La commande 35 comprend une console 36 permet- tant une communication entre un opérateur et le manipu- lateur 10, un dispositif 38 de commande destiné à traiter un programme mémorisé dirigeant les mouvements du manipu- lateur 10, et un circuit 39 de servocommande qui réagit au dispositif 38 de façon à commander les actionneurs 14, 20, 24, 28, 30 et 32 de la machine Etant donné que le type particulier d'actionneurs et de circuits de commande n'entre pas dans le cadre de l'invention, ces dispositifs ne seront pas décrits plus en détail. La figure 2 est une vue schématique détaillée de la commande décrite ciaprès La commande 35 comprend un calculateur numérique programmable 40 d'usage général comprenant une mémoire 42, une unité centrale de traite- ment 46 et une interface d'entrée/sortie 44 Ces trois éléments sont interconnectés par un bus 48 Les interac- tions entre le calculateur 40, le manipulateur 10 et un opérateur sont transmises par des signaux passant par un bus extérieur 50 qui est connecté à un certain nombre de périphériques Les périphériques les mieux adaptés à une utilisation par un opérateur comprennent un dispositif 52 de formation en bout de fil destiné à la production manuelle d'instructions de mouvements pour former un programme mémorisé, un clavier 64 destiné à l'introduc- tion d'informations dans la mémoire 42 du calculateur, et un tube à rayon cathodique 62 destiné à l'affichage de données concernant l'activité en cours du manipulateur et de son programme mémorisé. Les périphériques utilisés pour l'interface entre le manipulateur 10 et la commande 35 comprennent: une interface 54 d'entrée/sortie de commande qui échange un certain nombre de signaux de dispositifs discrets entre le manipulateur et la commande, nécessaires à la manoeuvre du manipulateur 10; l'interface 56 d'entrée/ sortie d'utilisateur qui échange des signaux entre les dispositifs spécialisés à une tache et associés au mani- pulateur 10, cette interface étant représentée dans ce cas comme comprenant un convertisseur analogique/numérique S connecté au transducteur 124; et l'interface 56 de com- mande d'axe qui commande directement le mouvement des actionneurs Le dispositif 68 d'entraînement d'axes accepte des données sous forme numérique et exécute une conversion numérique/analogique afin de transmettre un signal analogique à un dispositif servoamplificateur et compensateur d'axes 68 Les signaux analogiques compensés sont ensuite appliqués à l'entrée d'un actionneur 70 qui entraîne un élément 71 de robot qui lui est relié mécani- quement Un dispositif 72 de réaction, relié mécaniquement à l'actionneur 70 ou à l'élément 71 de robot, produit un signal de réaction représentant le mouvement réel de l'élé- ment mené du bras de robot Bien qu'il existe plusieurs configurations pour la commande de la boucle d'asservisse- ment de chaque élément du bras de robot, dans la forme préférée de réalisation, le dispositif 66 d'entraînement d'axes,le servoamplificateur 68, l'actionneur 70 et l'élément 72 de réaction sont utilisés en nombres égaux au nombre d'axes commandés sur le manipulateur. Deux autres dispositifs périphériques permettent un échange de données de programme Tout d'abord, une interface 58 de transmission de données extérieure en ligne représente un dispositif qui permet l'introduction de données dans le calculateur 40, à partir d'une mémoire extérieure de données, tandis que le manipulateur exécute un cycle de fonctionnement Ensuite, une interface 60 de mémorisation de données hors ligne permet à des données de programme d'être introduites dans le calculateur au moyen de dispositifs tels qu'un lecteur de bande perforée, un lecteur de cassette, etc. La mémoire 42 du calculateur 40 comprend deux parties principales, la première étant une mémoire 74 de données qui mémorise toutes les données numériques, et la seconde constituant le système d'exploitation du manipulateur Le système d'exploitation est un groupe de programmes de commande dirigeant la marche du calculateur afin d'assurer la génération du programme de l'utili- sateur et l'exécution du programme mémorisé de l'utilisa- teur A des fins d'illustration, les programmes du système d'exploitation sont représentés par l'ensemble en relation fonctionnelle, comprenant l'ensemble 76 d'entrée/sortie, l'ensemble 92 de mode de formation et l'ensemble 94 de mode automatique. L'ensemble 76 d'entrée/sortie comprend un pro- gramme 78 d'entrée/sortie de données, un programme 80 d'entrée/sortie du dispositif de formation en bout de fil, un programme 82 d'entrée/sortie du tube à rayon cathodique et du clavier, un programme 84 d'entrée/sortie de commande, un programme 85 d'entrée/sortie d'entraîne- ment d'axes, un programme 86 de transmission de données extérieures et un programme 88 d'entrée/sortie d'utilisa- teur Chacun de ces programmes d'entrée/sortie correspond à un type différent de périphériques en interface avec la commande et a pour effet de commander l'échange de signaux entre le périphérique particulier et le calculateur 40. Le système d'exploitation contient également un programme 90 de commande de mode destiné à commuter la commande du calculateur entre les divers modes de fonc- tionnement, par exemple le mode manuel, le mode en for- mation, le mode automatique, etc Etant donné que seul le mode automatique est nécessaire dans le cas de la pré- sente invention, seul ce mode sera décrit en détail. Le système 92 à mode de formation comprend un programme 96 d'édition de données et un programme fonctionnel 98 de formation Ces deux programmes commandent le fonction- nement du manipulateur pendant le mode en formation, et les particularités de ces programmes sont décrites dans le brevet des Etats- Unis d'Amérique N O 3 920 972 ou sont disponibles auprès de la firme Cincinnati Milacron Inc. L'ensemble 94 à mode automatique comprend un programme 102 d'extraction de données, un programme 104 de calcul de trajet ou de parcours, un programme 106 de transfor- mation, un programme 108 d'entraînement ou de manoeuvre d'axes, un programme 110 de commande de fonction, un programme 111 de service périphérique et un programme 112 de modification de vitesse Les détails des programmes de calcul de parcours et de modification de vitesse seront décrits ci-après et des détails des autres programmes sont décrits notamment dans le brevet des Etats-Unis d'Amérique N O 3 909 600 ou sont disponibles auprès de la firme Cincinnati Milacron Inc. Le système de coordonnées machine du manipula- teur 10 sera décrit en regard du schéma de la figure 3. Comme indiqué précédemment, chaque axe de mouvement du manipulateur 10 est un axe de rotation On suppose que le système de coordonnées rectangulaires de la figure 3 a son origine située en un point légèrement au-dessus de la plaque 18 de montage et coïncidant avec l'axe de rota- tion de l'actionneur 20 L'axe Z de coordonnées coïncide avec le centre de rotation de la plaque 18 de montage. Par conséquent, la rotation de la plaque 18 de montage correspond à un mouvement sur l'angle "d" Le segment de droite 130 correspond au bras supérieur 22 et une rotation autour du centre de l'actionneur 20 correspond à unie rotation du segment 130 sur l'angle "a" mesuré positivement par rapport à l'axe Z, dans le sens indiqué par la flèche Le segment de droite 132 correspond à l'avant-bras 26 et des rotations de cet avant-bras 26 autour de l'articulation 25 du coude correspondent à des rotations du segment 132 sur l'angle "b" mesuré positive- ment dans le sens indiqué par la flèche sur la figure 3. Le premier axe de flexion du poignet 27, sous l'action de l'actionneur 28, correspond à une rotation d'un segment de droite 134 sur un angle "c" mesuré dans le sens négatif à partir du prolongement du segment 132, comme indiqué par la flèche Le deuxième axe de flexion du poignet 27 correspondant à une rotation de l'actionneur 30 est illustré par la rotation d'un segment de droite 136 sur un angle "E" mesuré par rapport à l'axe X et repré- senté par une projection dans le plan X-Y Le roulis du poignet 27 correspond à la rotation du segment 136 indi- quée par l'angle "R" Le centre 34 de l'outil est défini comme étant un point situé à l'extrémité du segment de droite 136 La longueur du segment 136 est égale à la longueur de l'outil, spécifiée par l'utilisateur, et à la longueur des éléments du poignet 27 situés au-delà de l'axe de lacet Le programme mémorisé comprend les coor- données sur les axes X, Y et Z du centre 34 de l'outil, ainsi que les angles d'orientation D, E et R L'angle d'orientation D est égal à la somme des angles "a", "b"- et "c" Comme montré sur la figure 3, le centre 34 de l'outil est situé sur l'axe du segment 136; cependant, un centre d'outil déporté peut également être toléré. Il apparaît à présent que, connaissant les longueurs des segments 130 à 136 et pourvu que le programme spécifie les angles d'orientation D, E et R du tangage, du lacet et du roulis, respectivement, et pourvu que les coordon- nées X, Y et Z du centre 34 de l'outil soient spécifiées, la combinaison particulière des angles a, b, c et d des actionneurs peut être déterminée Ces angles des action- neurs, ainsi que les angles des actionneurs des axes d'orientation E et R constituent le système de coordon- nées machine Les détails du procédé de transformation des coordonnées de programme en coordonnées machine sont décrits dans le brevet na 3 909 600 précité, sauf en ce qui concerne l'axe de roulis pour lequel le système de coordonnées généralisées correspond au système de coor- données machine tel que décrit ci-dessus. Le principe de commande de trajet ou de parcours selon l'invention sera à présent décrit en regard des schémas géométriques des figures 4 A à 4 C Sur la figure 4 A, le segment de droite 140 représente le trajet suivi par le centre de l'outil pour passer d'un point programmé PO à un point programmé Pi La commande détermine par interpolation des points intermédiaires Pl le long de ce trajet en ligne droite D'autres trajets prédéterminés, par exemple circulaires ou paraboliques, peuvent être choisis pour l'interpolation Les coordonnées des points PO, Pl et des points intermédiaires Pl sont toutes définies par rapport au système de coordonnées X, Y, Z Si on suppose que le centre de l'outil doit partir, au repos, du point PO et s'arrêter de nouveau au point Pl, le pro- cessus de commande de trajet établit une accélération et un ralentissement automatiques vers et à partir d'une vitesse programmée Bien que les points intermédiaires Pl soient produits conformément à une période At d'inter- valle d'incrément fixe, la distance incrémentielle réelle entre les points Pl varie lorsque la vitesse du centre de l'outil varie Ainsi, la distance incrémentielle AS, qui correspond à la distance parcourue pendant un intervalle incrémentiel constant AT, apparaît comme variant entre la partie à vitesse constante du mouvement et les phases d'accélération et de ralentissement du mouvement demandé. Conformément au processus fondamental de commande de trajet utilisé, les variations de vitesse entre les points PO et Pl sont effectuées afin de ne pas introduire de discontinuité de vitesse entre les phases d'accéléra- tion et de ralentissement. La figure 4 B représente la caractéristique de vitesse d'un intervalle typique tel que l'intervalle 140. On part, au début de l'intervalle, à une vitesse initiale Vi qui peut être, mais sans que cela soit nécessaire, égale à zéro, et une fonction continue d'accélération donne la courbe 142 pour amener le centre de l'outil à la vitesse programmée Vp au cours d'une période d'accélé- ration TA Après une période à vitesse constante, la commande amorce une phase de ralentissement pour réduire la vitesse du centre jusqu'à une vitesse finale Vf qui suit une fonction continue de ralentissement pour donner une courbe 144 Le ralentissement de la vitesse programmée à la vitesse finale, cette dernière pouvant, comme précédemment, être égale à zéro, sans que cela soit nécessaire, s'effectue au cours d'une période de ralen- tissement Td La transition progressive vers la phase à vitesse constante et à partir de cette phase correspond au comportement réel à prévoir d'après la structure phy- sique du manipulateur en tenant compte de l'inertie des actionneurs et des éléments. La figure 4 C représente l'écart par rapport à la caractéristique de vitesse typique établie par la fonction de vitesse sélective de l'invention Initialement, la vitesse suit la courbe caractéristique 142 jusqu'à atteindre une valeur minimale V min au-dessous de laquelle aucune variation sélective de vitesse n'est permise Une fois que la vitesse réelle a dépassé la vitesse minimale Vmin et en supposant qu'une valeur paramétrique du pro- cessus de commande exige une réduction de vitesse, la commande de vitesse s'écarte de la fonction d'accélération normale et la vitesse est modifiée conformément à la fonc- tion de vitesse sélective ou adaptative Des valeurs incré- mentielles de vitesse sont produites conformément à une fonction préalablement définie concernant la vitesse et un paramètre de processus de travail, et elles sont utilisées par l'algorithme de commande de trajet pour déterminer par interpolation des points intermédiaires le long du trajet. Tant que les vitesses incrémentielles adaptatives calcu- lées sont inférieures à la vitesse non adaptative Via, qui est effective lorsque la fonction de vitesse adap- tative produit en premier une valeur réduite, la commande est assurée par les valeurs calculées Une fois que la valeur adaptative est égale ou supérieure à la valeur non adaptative initiale Via, la valeur initiale Via est remplacée et la phase non adaptative se poursuit Cet effet est illustré par le tronçon de courbe 146 compris entre Ti et Tr Au cours de cette phase adaptative, on voit que la vitesse atteint une valeur minimale V min * au-dessous de laquelle toute autre réduction est impossi- ble Après Tr' la vitesse augmente conformément à la fonction d'accélération non adaptative, jusqu'à la vitesse programmée V Au cours d'une période suivante p de phase de vitesse adaptative, il est déterminé que l'accélération doit être amorcée pour amener le centre de l'outil à la vitesse finale demandée Pendant la période de ralentissement Td, la phase adaptative n'est pas permise et la vitesse diminue en suivant la fonction de ralentissement non adaptatif, illustrée par la courbe 144 de la figure 4 B Les détails du processus de la com- mande de vitesse adaptative seront décrits ci-après. Le cycle global de fonctionnement du manipula- teur 10 en mode automatique est illustré par l'organi- gramme de la figure 5 A A une étape 150 de traitement, la commande initialise la donnée d'intervalle nécessaire pour l'interpolation des mouvements entre les points pro- grammés PO et Pl, à la vitesse programmée V p Des valeurs de la longueur programmée Sp d'intervalle, des rapports Ncc de composantes de coordonnées et d'une accélération nominale sont produits à l'étape 150 A l'étape 152 de traitement, un incrément le long du trajet AS et la distance interpolée cumulée SK sont calculés L'étape 156 de traitement appelle le sous-programme destiné à effec- tuer une transformation du point intermédiaire interpolé en coordonnées généralisées afin de produire un ensemble de signaux de coordonnées machine représentant des valeurs de coordonnées concernant les systèmes de coordonnées généralisées A l'étape 154 de décision, l'indicateur, signifiant qu'aucun ralentissement ne doit avoir lieu, est testé Lorsque le mouvement du centre 34 de l'outil doit se poursuivre de façon continue au-delà d'une posi- tion programmée, une caractéristique de fonction indiquant ceci est programmée Il peut alors se produire qu'aucun ralentissement n'est nécessaire dans l'intervalle présent et que l'indicateur d'absence de ralentissement est positionné comme décrit ci-après Dans ce cas, le pro- cessus se poursuit par la branche "OUI" de l'étape de décision 154 jusqu'à une étape de décision 155 o il est déterminé si l'incrément en cours est le dernier incrément de l'intervalle en cours Si tel n'est pas le cas, un autre incrément est établi par interpolation, par l'intermédiaire du renvoi L-2 Finalement, l'incré- ment final de l'intervalle en cours est interpolé et le cycle global de fonctionnement continue de l'étape 155 de décision à une étape 168 de traitement par l'intermé- diaire d'un renvoi L 3 L'étape 168 de traitement provoque l'exécution de la fonction programmée à la position Pl lorsque les axes de la machine ont atteint la fin de l'intervalle Ensuite, une étape 170 de décision détermine si la position programmée Pl correspond à la fin du pro- gramme Si tel n'est pas le cas, le cycle est répété par accès des données suivantes programmées, à l'étape 150 de traitement, par l'intermédiaire du renvoi L-1 Si la posi- tion est la dernière position du programme, l'ensemble du programme est alors recyclé en commençant à une position programmée choisie à l'avance, comme indiqué par le dernier pavé 172 de l'organigramme. Si l'on suppose que l'indicateur d'absence de ralentissement n'a pas été positionné, le cycle global de fonctionnement se poursuit à partir de l'étape 154 de décision par l'étape 158 de traitement Cette étape 158 calcule la distance restant dans l'intervalle en cours avant le point auquel un ralentissement jusqu'à l'arrêt doit commencer Lorsque la distance SRD' restant avant le commencement de la phase de ralentissement, est supérieure à l'incrément de distance en cours AS, le cycle se pour- suit par une étape 162 de traitement qui appelle le sous- programme de variation de vitesse pour modifier instan- tanément la valeur de vitesse incrémentielle conformément à des variations non programmées d'un paramètre de pro- cessus de travail A la fin de ce sous-programme, le pro- cessus se poursuit par la boucle revenant à l'étape 152 de traitement o l'incrément d'intervalle est interpolé au moyen de la valeur de vitesse incrémentielle la plus récemment établie. Une fois que la distance restant dans l'intervalle avant le point d'amorce du ralentissement est inférieure à l'incrément de distance en cours, la branche "OUI" de l'étape 160 de décision aboutit au test portant sur l'indication, dans le programme mémorisé, que le point suivant Pl est un point continu Etant donné qu'à chaque point programmé peut être associé un signal de fonction désignant une fonction particulière associée au processus de travail à exécuter en ce point, des points continus sont marqués par la présence d'un caractère continu associé à un signal de fonction spécifique Si l'on suppose que le code continu n'a pas été détecté par l'étape de décison 164, le processus de ralentissement est appelé par l'étape de traitement 166 Le processus de ralentissement réalise le ralentissement interpolé jusqu'au point d'arrêt Pi Ensuite, l'étape 168 de trai- tement provoque l'exécution d'une fonction programmée et associée au point Pi Une étape 170 de décision déter- mine alors si le point en cours représente ou non la fin du programme du robot et, si tel n'est pas le cas, le processusse poursuit par le renvoi L-1 pour reprendre à l'étape 150 de traitement des données de la position programmée suivante Si la position en cours est la fin du programme mémorisé, le programme est alors répété par sélection d'une entrée de programme désignée en tant que position de recyclage telle qu'indiquée par le dernier pavé 172 de l'organigramme. Si, au point de commencement du ralentissement, il a été déterminé que le point suivant est un point continu par l'étape de décision 164, le processus se poursuit par une étape 180 de traitement o une nouvelle valeur de la longueur de l'intervalle en cours est pro- duite Etant donné que les positions intermédiaires interpolées sont espacées d'une distance incrémentielle définie par la période d'intervalle incrémentiel et par la vitesse incrémentielle effective, on peut prévoir que, lorsque le mouvement doit se poursuivre en passant par une position programmée, la distance restant dans l'intervalle à partir de la position de décision de ralentissement, jusqu'à la position extrême programmée, n'est pas toujours égale à un multiple entier de la dis- tance incrémentielle en cours Pour tenir compte de cette discordance, l'intervalle en cours est effectivement arrêté au multiple entier de la distance incrémentielle en cours, le plus proche de la position extrême programmée. A cet effet, la distance restante (Sp-Sk) est divisée par la distance incrémentielle AS pour donner le multiple entier I et un reste R La longueur de l'intervalle en cours est ensuite réduite du reste R pour donner la lon- gueur de l'intervalle continu S C Cette distance redéfinit alors la position extrême de l'intervalle en cours et la position de départ de l'intervalle suivant. A l'étape de décision 174, il est déterminé si l'angle formé entre l'intervalle en cours et l'intervalle suivant est inférieur à 1200 Cette détermination est réalisée par le calcul de deux valeurs ST et 52 T T( 120) donnant le carré de la distance totale entre la position de départ PO de l'intervalle en cours et la position extrême P 2 de l'intervalle suivant La première valeur ST est calculée comme étant la somme des carrés des différences de composantes de coordonnées entre les deux positions La seconde valeur ST( 20 est calculée confor- mément à l'équation donnant la longueur du troisième côté d'un triangle dont les longueurs des deux autres côtés sont connues, ainsi que l'angle formé entre eux: 2 2 W Y= A +B = 2 AB Cos Y ce qui se réduit à: W = A +B + AB lorsque Y = 120 degrés Etant donné que le résultat de l'étape de traitement 180 est d'établir une nouvelle position extrême pour l'intervalle en cours, la longueur des intervalles a été modifiée par rapport aux longueurs programmées. La longueur de l'intervalle en cours est SCP et la longueur de l'intervalle suivant SN est définie par la nouvelle position de départ de l'étape 180 et par la position extrême programmée P 2 de cet intervalle Si l'angle formé entre les intervalles est inférieur à 1200, il est alors nécessaire d'arrêter le mouvement avant le traitement et le procédé se poursuit de nouveau par l'appel du processus de ralentissement à l'étape 166 de traitement. * Si l'angle est de 120 ou plus, le processus se poursuit alors par l'étape 176 de décision pour déterminer si la vitesse programmée de l'intervalle suivant VPN est supé- rieure ou égale, ou non, à la vitesse programmée en cours Vp Si la vitesse programmée de l'intervalle suivant Vp N est inférieure à la vitesse programmée Vp de l'intervalle en cours, il est alors nécessaire d'effectuer un relentis- sement dans l'intervalle en cours afin que le mouvement dans l'intervalle suivant commence à la vitesse programmée pour cet intervalle Après le processus de ralentissement appelé par l'étape 178 de traitement, le cycle global se poursuit par l'étape 168 de traitement à laquelle on passe par le renvoi L-3 Si la vitesse programmée de l'in- tervalle suivant est supérieure ou égale à la vitesse programmée de l'intervalle en cours, le processus se poursuit alors de l'étape 176 de décision par l'étape 177 de traitement o l'indicateur d'absence de ralentisse- ment est positionné, puis, par l'intermédiaire du renvoi L-2, par l'étape 152 de traitement Il ressort à présent de la description précédente que le cycle global de fonc- tionnement consiste en-une interpolation répétée des points intermédiaires définissant les intervalles entre les points programmés, par des opérations de traitement de commande, répétées de façon itérative, et par l'exé- cution des fonctions associées aux positions programmées. La figure 5 B représente le sous-programme de servitude des servomécanismes des actionneurs Pendant l'exécution du cycle d'ensemble de fonctionnement, un sous-programme indépendant de service de servointerruption est traité Des signaux d'horloge d'asservissement du système, générés par l'unité centrale de traitement 46, interrompent périodiquement le traitement d'ensemble du système pour transmettre aux servomécanismes des action- neurs les données de coordonnées des actionneurs, nouvel- lement établies Une étape de décision 192 détermine si la zone de mémoire tampon des données de commande des actionneurs est actuellement vide ou non Si la zone tampon est vide, l'intervalle en cours est achevé et l'indicateur de fin d'intervalle est positionné par une étape 194 de traitement Cependant, si la zone tampon contient des données, une étape 196 de traitement trans- fère alors les données de cette zone au système d'asser- vissement Dans tous les cas, l'exécution de l'interrup- tion d'asservissement est menée à bien et le traitement d'ensemble du système, sous la commande de l'organigramme de la figure 5 A, se poursuit par le retour effectué par le dernier pavé 198 de l'organigramme. Les organigrammes des figures 6 A à 6 E correspon- dent aux segments principaux ou programmes de l'organi- gramme de la figure 5 A En particulier, l'organigramme de la figure 6 A correspond à l'étape de traitement 150 de la figure 5 A A une étape 200 de traitement, une donnée d'intervalle programmé, correspondant à des signaux d'entrée, est rappelée de la partie 74 d'enregistrement de données de la mémoire 42 Le point de départ P 0, le point extrême Pl et la vitesse programmée Vp définissent le mouvement à exécuter ensuite par le centre 34 de l'outil Les données programmées de coordonnées rappelées de la mémoire sont placées en indice, en correspondance avec le désignation du point de programme A l'étape 202 de traitement, la longeur d'intervalle totale Sp est calculée à l'aide des coordonnées rectangulaires des deux points programmés et par extraction de la racine carrée de la somme des carrés des éléments de coordonnées A une étape 204 de traitement, les rapports des éléments sur axe N du système de coordonnées programmées sont calculés cc par division des éléments de coordonnées par la longueur de l'intervalle Ces rapports sont désignés N 11 à N 16 * Des rapports d'éléments d'axe pour les angles d'orienta- tion sont calculés de la môme manière que les rapports d'éléments pour les axes de coordonnées rectangulaires A l'étape 206 de traitement, une accélération nominale A d'intervalle est calculée par division de la vitesse programmée VY par un intervalle choisi arbitrairement d'un quart de seconde Une fois ce calcul préliminaire de variables d'intervalle achevé, le cycle global de fonc- tionnement se poursuit par le pavé 208 de fin d'organi- gramme pour passer à l'étape 152 de traitement de la figure 5 A. Comme représenté sur la figure 6 B, l'étape de traitement consistant à l'interpolation d'un incrément -d'intervalle correspondant au bloc 152 de la figure 5 A est décomposée en un organigramme plus détaillé En commençant à 1 'étape de décision 210, il est déterminé si un indicateur de vitesse adaptative ou non programmée a été positionné ou non par le sous-programme appelé par l'étape 162 de traitement de la figure 5 A Si aucune fonction de vitesse adaptative n'est programmée pour l'intervalle en cours, ou bien si la fonction de vitesse adaptative n'a pas eu pour résultat une variation de la valeur de vitesse incrémentielle, l'indicateur de vitesse adaptative n'est alors pas positionné, et le processus se poursuit par l'étape 212 de décision qui teste la valeur en cours du signal de vitesse incrémentielle VK, c'est-à- dire la vitesse incrémentielle de l'itération en cours, par rapport à la valeur de la vitesse programmée Vp, afin de déterminer si la vitesse incrémentielle en cours VK est inférieure ou non à la vitesse programmée Si la réponse est "OUI", le processus se poursuit par une étape 216 de traitement qui appelle le sous-programme d'accélération L'effet du sousprogramme d'accélération est de produire une nouvelle valeur pour le signal de vitesse incrémentielle VK, conformément à une fonction continue d'accélération décrite en regard de la figure 4 B. Ainsi, au début d'un mouvement au cours duquel le centre de l'outil part de l'arrêt, la valeur initiale de la vitesse incrémentielle est zéro, la vitesse programmée prend évidemment une valeur non nulle et l'appel du sous- programme d'accélération à l'étape 216 de processus com- mence à faire varier les valeurs de la vitesse incrémen- tielle conformément à la fonction continue d'accélération. Lorsque le sous-programme d'accélération est achevé, le processus se poursuit par une étape 218 de traitement o une distance incrémentielle AS est calculée conformément à la formule indiquée à droite de cette étape de traite- ment sur la figure 6 B Cette formule donne une valeur du signal de distance incrémentielle AS par calcul de la moyenne de la valeur de vitesse incrémentielle nouvelle VK et de la valeur de vitesse incrémentielle précédente et en supposant que la moyenne est effective pendant la période d'intervalle incrémentiel représentée par le signal d'inter- valle incrémentiel At Lorsque l'indicateur de fonction de vitesse adaptative est positionné, la distance incrémen- tielle est calculée à l'aide de la valeur de vitesse pro- duite par le sous-programme de vitesse adaptative Lorsque la vitesse incrémentielle n'est pas inférieure à la vitesse programmée Vp, il n'est pas nécessaire de calculer une nouvelle valeur pour le signal de distance incrémentielle et il suffit d'incrémenter le compteur d'itérations comme indiqué par l'étape de traitement 214 Dans tous les cas, le processus reprend finalement à l'étape 220 de traite- ment o une valeur du signal de distance incrémentielle cumulée SK est calculée conformément à l'équation donnée à droite de cette étape 220 de processus Le cycle global de fonctionnement se poursuit ensuite en passant par le pavé 221 de fin d'organigramme Le cycle global de fonc- tionnement continue par l'appel du sous-programme de transformation illustré par l'organigramme de la figure 6 C. Comme représenté sur la figure 6 C, à une étape 222 de traitement, les coordonnées de parcours de la distance incrémentielle cumulée sont calculées pour pro- duire des signaux de coordonnées de point extrême Ceci consiste à additionner les éléments sur axe de la distance incrémentielle interpolée aux coordonnées du point extrême incrémentiel précédent Ensuite, les coordonnées, en réfé- rence au système de coordonnées programmées du point extrême, sont transformées en coordonnées du système de coordonnées généralisées ou coordonnées machine, par l'étape de traitement 224, de façon à produire un groupe de signaux de coordonnées machine représentant des valeurs de coordonnées du point extrême par rapport au système de coordonnées machine Pour éviter des fonctions trigonométriques inverses, on utilise un algorithme d'approximation itératif qui produit une fonction d'erreur sur la base des valeurs de coordonnées machine en cours. Des détails de ce procédé sont donnésdans le brevet n O 3 909 600 précité auquel on peut se reporter si cela est nécessaire pour la compréhension de l'algorithme de transformation A l'étape 226 de processus, on calcule le changement des coordonnées généralisées et à l'étape 228, les différences incrémentielles des coordonnées généralisées sont enregistrées dans la mémoire tampon afin que le sous-programme de prise en charge de servo- interruption puisse y accéder Lorsque le sous-programme de transformation est achevé, le traitement du cycle global de fonctionnement est repris par retour par le pavé 230 de fin d'organigramme Ceci amène alors le processus à l'étape 154 de décision de la figure 5 A. Si l'on suppose que le cycle global passe à l'étape 158 de traitement o est calculée la distance restant à par- courir jusqu'au début de l'intervalle de ralentissement, le cycle global exécute alors l'organigramme détaillé de la figure GD. Comme représenté sur la figure 6 D, une étape 232 de traitement calcule le temps nécessaire pour ralentir, en supposant que la valeur nominale de l'accé- lération Ap, calculée pendant la préparation des variables de l'intervalle, est efficace pendant la période de ralentissement, et que la vitesse finale est nulle Ainsi, le temps approximatif demandé pour le ralentissement est égal au quotient de la vitesse incrémentielle en cours et de cette accélération nominale constante A l'étape 234 de processus, la distance demandée pour le ralentissement SD est calculée en supposant que la moyenne de la vitesse incrémentielle en cours et d'une vitesse nulle est effec- tive pendant l'intervalle calculé dans l'étape de traite- ment 232 Enfin, à l'étape 236 de traitement, la distance SRD, restant dans la longueur de l'intervalle de la posi- tion interpolée en cours jusqu'au point auquel la distance SD de ralentissement, venant d'être calculée, doit commen- cer, est calculée Ainsi, la distance restante SRD est égale à la longueur d'intervalle totale Sp, diminuée du tronçon de l'intervalle représenté par la distance inter- polée cumulée SK et du tronçon SD de l'intervalle néces- saire pour ralentir Après ce calcul, le cycle global de fonctionnement se poursuit par l'étape 160 de décision de la figure 5 A o il est déterminé si la distance restante SRD est inférieure ou non à la distance incrémentielle effective en cours AS Si la distance restante SRD n'est pas inférieure à la distance incrémentielle effective en cours AS, un autre incrément de cette distance peut être interpolé Cependant, si la distance incrémentielle effective en cours est supérieure à la distance restante calculée, il est nécessaire de commencer immédiatement le ralentissement. Le sous-programme de ralentissement produit de façon itérative des valeurs décroissantes de la variable de vitesse incrémentielle VK, conformément à une fonction continued'accélération Au début du sous-programme de ralentissement, la vitesse incrémentielle est recalculée pour effectuer un ajustement corrigeant les erreurs d'arrondi de l'arithmétique exécutées sur des nombres entiers par le calculateur utilisé Ensuite, le sous- programme de ralentissement détermine par interpolation des points intermédiaires en suivant une fonction continue de ralentissement pour ramener la vitesse du centre de l'outil à une valeur finale Le processus d'interpolation correspond à celui décrit en regard de la figure 6 B, aucun sous-programme d'accélération n'étant alors appelé. En outre, le sous-programme de ralentissement effectue une transformation en coordonnées machine généralisées en appelant le sous-programme de transformation de la figure 6 C après le calcul de la distance interpolée cumulée. Il convient de noter que, bien que la plupart des intervalles programmés comprennent des phases ou des tronçons d'accélération, de vitesse constante et de ralentissement, l'exécution du sous-programme de ralen- -tissement peut être amorcée avant que la vitesse du centre dé l'outil atteigne la vitesse programmée Ceci se produit si la longueur d'intervalle prograunve est insuffisante pour permettre une accélération jusqu'à la vitesse program- mée avant que l'étape 160 de décision de la figure 5 A détermine qu'il faut amorcer le ralentissement Il appa- raît à présent que, étant donné que l'effet du sous- programme de ralentissement est de continuer une interpo- lation le long du trajet pour amener le centre de l'outil à une vitesse finale associée à l'intervalle programmé, le processus de vitesse adaptative n'est pas suivi pendant la phase de -ralentissement. Bien que l'algorithme fondamental de commande du trajet permette des variations de vitesse continues pendant les phases d'accélération et de ralentissement du mouve- ment, une variation supplémentaire de vitesse est aisément tolérée comme indiqué précédemment en regard de l'étape 162 de traitement de la figure 5 A Bien que la forme pré- férée de réalisation porte sur des variations de vitesse produites automatiquement conformément aux variations non programmées d'un paramètre de processus de travail, des variations paramétriques introduites manuellement peuvent tout aussi bien être tolérées pour permettre à un opéra- teur d'exercer une action prépondérante sur la vitesse. Au moyen d'un transducteur 124, une valeur d'un signal paramétrique d'entrée de processus de travail, par exem- ple le couple du moteur 120 d'entraînement de l'outil, peut être contrôlée en continu Cette valeur de couple peut ensuite être convertie en une valeur numérique par le convertisseur analogique/numérique 56 d'entrée/sortie de l'utilisateur, et, pourvu qu'une fonction d'erreur convenable soit établie, des variations de vitesse peuvent être produites en réponse au couple mesuré Ces variations de vitesse sont ensuite introduites dans le cycle global de fonctionnement par le sous-programme appelé par l'étape 162 de processus de la figure 5 A. Dans le convertisseur analogique/numérique 56, la valeur du signal paramétrique d'entrée de processus est convertie en un nombre binaire à 5 bits définissant la valeur d'un signal paramétrique de processus Il est évident à l'homme de l'art que l'étendue de la variable mesurée et la précision nécessaires à une intervention suffisante sur le processus imposent la résolution de la conversion de la valeur analogique à la valeur numérique. Ainsi, un nombre supérieur ou inférieur de bits peut être approprié, dans des applications particulières, pour le signal paramétrique de processus. La figure 7 représente le sous-programme des- tiné à l'exécution de la commande de vitesse adaptative. L'invention permet la spécification d'intervalles program- més comme intervalles de vitesse adaptative par l'incor- poration du signal de fonction de vitesse adaptative dans les groupes de signaux d'entrée décrivant un intervalle programmé particulier Par conséquent, à l'étape de déci- sion 240, on détermine si l'intervalle programmé en cours possède une fonction de vitesse adaptative programmée. Si tel n'est pas le cas, un retour est effectué par le pavé 244 de fin d'organigramme, ce qui permet la poursuite du cycle global de fonctionnement à l'étape 152 de pro- cessus de la figure 5 A Si la fonction de vitesse adapta- tive a été programmée pour l'intervalle en cours, l'étape 242 de décision détermine alors si la vitesse incrémen- tielle en cours VK est inférieure à la vitesse minimale Vmin au-dessous de laquelle aucune réduction supplémen- taire n'est possible Si la vitesse incrémentielle en cours Vk est inférieure à la vitesse minimale V min, un retour est réalisé par l'intermédiaire du pavé 244 de fin d'organigramme Par contre, si la vitesse incrémen- tielle en cours Vk n'est pas inférieure à la vitesse minimale Vmin' le processus de vitesse adaptative se pour- suit par l'étape de décision 246 qui détermine l'état en cours du signal de condition d'état de la fonction de commande adaptative. Lorsque le sous-programme de commande adaptative produit une valeur de vitesse incrémentielle qui est effi- cace pour commander l'interpolation sur l'incrément en cours, l'indicateur de vitesse adaptative ou le signal d'état est alors positionné pour indiquer que le processus de vitesse adaptative commande la vitesse Ainsi, à l'étape de décision 246, si l'indicateur de vitesse adap- tative est positionné, le processus se poursuit par l'étape 252 de traitement Cependant, si l'indicateur de vitesse adaptative n'est pas positionné, le processus se poursuit par l'étape 248 de traitement o l'indicateur de vitesse adaptative est positionné A l'étape 250 de traitement, la valeur en cours du signal de vitesse incré- mentielle est sauvegardée ou enregistrée en une position dénommée OLD Cette valeur de vitesse incrémentielle sauvegardée correspond à la valeur de vitesse Via de la figure 4 C Après l'étape 250 de processus, le traitement de la vitesse adaptative se poursuit par l'étape 252 o la valeur en cours du signal paramétrique de processus est introduite à partir du convertisseur 56 A l'étape 253 de processus, une valeur de vitesse minimale adap- tative est calculée par multiplication de la valeur de vitesse sauvegardée à l'emplacement OLD, par le rapport de la valeur du signal paramétrique de processus à la valeur d'un signal de référence de paramètre de processus qui est programmé avec les signaux d'entrée définissant le mouvement du manipulateur A l'étape 254 de décision, il est déterminé si la valeur de paramètre de processus en cours est égale ou non à la valeur de référence du paramètre de processus. Pour permettre la plus large gamme d'applications d'un traitement de vitesse adaptative relativement simple, on a choisi d'autoriser la spécification d'une valeur d'un signal de référence de paramètre de processus, à laquelle la valeur réelle ou mesurée d'un paramètre de processus doit être comparée Ainsi, dans l'exemple particulier de la rectification d'une pièce brute de fonderie, o divers outils d'enlèvement de métal peuvent être portés par le moteur 120, des valeurs de couple différentes peuvent être choisies comme valeur de référence au-dessus de laquelle une diminution de vitesse est nécessaire Il est évident à l'homme de l'art que pour commander la vitesse du centre de l'outil en fonction d'un paramètre de processus mesuré, il n'est pas nécessaire de spécifier une valeur de réfé- rence et, en fait, une commande convenable peut être réa- lisée lorsque la vitesse est modifiée d'une façon directe- ment proportionnelle à un paramètre de processus mesuré. Dans ce cas, on suppose une valeur de référence de para- mètre de processus égale à zéro. S'il a été déterminé à l'étape 254 de décision que la valeur mesurée en cours du signal paramétrique de processus est égale à la valeur du signal de référence de paramètre de processus, aucune réduction de vitesse n'est alors nécessaire et le processus de traitement adaptatif se poursuit par l'étape 261 de traitement o la vitesse VAK de traitement adaptatif est posée comme étant égale à la vitesse incrémentielle précédente V Par ailleurs, s'il a été déterminé à l'étape de décision 254 que la valeur réelle du signal de paramètre de processus n'est pas égale à la valeur de référence, le processus se pour- suit par l'étape 256 de traitement o une nouvelle valeur du signal VAK de vitesse de paramètre de processus est calculée conformément aux expressions indiquées à côté de cette étape 256 Cette formule calcule une valeur en cours pour le signal de vitesse de paramètre de processus en multipliant la valeur précédente du signal de vitesse de paramètre de processus par la valeur d'un signal de facteur paramétrique représentant un pourcentage sur la base de la différence entre le paramètre de processus mesuré et la valeur de référence du paramètre A l'étape 258 de décision, il est déterminé si cette valeur calculée du signal de vitesse de paramètre de processus est infé- rieure à la valeur de la vitesse minimale adaptative VA et, si tel n'est pas le cas, le processus se poursuit par une étape 262 de décision Si lavaleur calculée de VAK est inférieure à la vitesse minimale adaptative VA, un autre test est effectué à l'étape 259 de décision pour déterminer si la valeur en cours du signal de vitesse incrémentielle VK est inférieure à la valeur du signal de vitesse de paramètre de processus VAK Si VK est inférieur à VAK, le facteur de paramètre de processus a pour résul- tat un accroissement de la vitesse et le processus se poursuit par l'étape 262 de décision Que le traitement effectué à partir de l'étape 254 de décision nécessite un calcul d'une valeur de vitesse adaptative ou la valeur forcée de l'étape 261 de traitement, il convient de noter que le processus peut finalement reprendre à l'étape de décision 262 Il est alors déterminé si la valeur de vitesse adaptative effective est inférieure à la valeur mise de côté à la position OLD Si tel n'est pas le cas, à l'étape 266 de traitement, la valeur en cours du signal de vitesse incrémentielle est posée comme étant égale à la valeur mise de côté à la position OLD et, à l'étape 268 de traitement, l'indicateur de vitesse adaptative est repositionné Ensuite, le cycle global de fonctionne- ment est repris par retour par le pavé 272 de fin d'or- ganigramme Si, à l'étape 262 de décision, il a été déterminé que la valeur en cours du signal de vitesse de paramètre de processus est inférieure à la valeur mise de côté à la position OLD, à l'étape 264 de traite- ment, la valeur de vitesse incrémentielle est alors posée comme étant égale à la valeur en cours du signal de vitesse de paramètre de processus Ensuite, le cycle glo- bal de fonctionnement est repris par retour par le pavé 270 de fin d'organigramme Il convient de noter que l'effet de l'étape 262 de décision est de provoquer la reprise de la commande de vitesse non adaptative comme indiqué par la courbe 146 de la figure 4 C, après le point Tr Si, à l'étape 258 de décision, il a été déterminé que la valeur calculée du signal de vitesse de paramètre de traitement est inférieure à la valeur minimale V Am, le processus se poursuit par l'étape de décision 259 S'il est alors déterminé que la valeur en cours de VK est infé- rieure à VAK, une autre diminution de vitesse est néces- saire et la valeur de l'incrément est rendue égale à la valeur de la vitesse minimale adaptative VA^ Après l'étape de traitement 260, le cycle global de fonctionnement se poursuit par retour par le pavé 270 de fin d'organigramme. Si l'on se réfère de nouveau à la figure 6 B, on voit que le test effectué à l'étape 210 de décision, portant sur l'état de l'indicateur de vitesse adaptative, constitue un moyen permettant à la valeur de la vitesse déterminée par le traitement de la vitesse adaptative de commander lorsque la valeur de la vitesse de paramètre de processus est déterminée comme étant inférieure à la valeur de vitesse incrémentielle mise dé côté à la posi- tion OLD Autrement dit, la boucle sautant l'étape 212 de décision et l'étape 216 de traitement provoque l'utili- sation de la valeur de vitesse de paramètre de traitement, produite par le traitement de la vitesse adaptative, dans le calcul de l'incrément de distance effectué à l'étape 218 de traitement Lorsque la fonction de vitesse adapta- tive est active, mais que la mesure du paramètre de trai- tement produit une valeur ne nécessitant pas une diminu- tion de la valeur de vitesse incrémentielle en cours, l'état de l'indicateur de vitesse adaptative provoque le déclenchement du processus d'interpolation après l'étape 212 de décision et l'étape de traitement 216 ou 214 pour produire le signal de vitesse incrémentielle suivant. La commande de vitesse adaptative est ainsi rendue sélec- tive selon qu'il est associé ou non, à l'intervalle en cours, la fonction de Vitesse adaptative et selon que la valeur mesurée en cours du signal de paramètre de traitement exige ou non une réduction de la vitesse incrémentielle effective pour produire le résultat souhaité En parti- culier, si l'on considère l'opération de rectification de pièce brute de fonderie, des valeurs convenables pour le signal de référence de paramètre de traitement peuvent être choisies afin que le couple mesuré par le transduc- teur 124 produise des valeurs réelles à la fois supérieures et inférieures à la valeur de référence de paramètre. Lorsque le couple mesuré est inférieur à la valeur de référence paramétrique, le résultat de l'étape de déci- sion 254 de la figure 7 est de produire une valeur calcu- lée de la vitesse de paramètre de traitement Cependant, a l'étape de décision 262, la valeur calculée s'avère dépasser la valeur de vitesse incrémentielle mémorisée ou mise de côté, et aucune diminution de vitesse n'en résulte Par ailleurs, une fois que le couple mesuré a dépassé la valeur de référence de paramètre, la valeur de vitesse adaptative calculée est inférieure à la valeur mise de côté a la position OLD et la valeur de vitesse réduite assume la commande. Il va de soi que de nombreuses modifications peuvent être apportées à l'appareil décrit et représenté -30 sans sortir du cadre de l'invention. REVENDICATIONS 1 Appareil pour déplacer un élément fonction- nel ( 31) en fonction de signaux d'entrée définissant, par rapport à un premier système de coordonnées, les positions d'un centre ( 34) d'outil associé à l'élément fonctionnel, le centre suivant un trajet prédéterminé entre deux posi- tions quelconques, et d'autres signaux d'entrée définissant un paramètre de traitement de travail soumis à des varia- tions non programmées, l'appareil étant caractérisé en ce qu'il comporte un manipulateur ( 10) sur lequel est monté l'élément fonctionnel et qui comprend plusieurs éléments ( 18,22,26,27) décrivant plusieurs axes de mouvement, au moins certains de ces éléments étant reliéspar des axes de rotation, les éléments et les axes de mouvement définis- sant un système de coordonnées généralisées, le manipula- teur comportant également plusieurs actionneurs ( 14,20,24, 28,30,32), au moins un actionneur étant associé à chaque élément afin d'en commander les mouvements, l'appareil comportant en outre une commande ( 35) de manipulateur qui comprend une mémoire ( 42) destinée à mémoriser des signaux d'entrée définissant des positions, et un servo- mécanisme connecté aux actionneurs pour commander le mouve- ment des éléments, la commande exécutant les opérations qui consistent: ( 1) à produire, en réponse au signal d'entrée de paramètre de traitement de travail, un signal de para- mètre de traitement représentant la valeur du paramètre de traitement de travail; ( 2) à produire un signal d'intervalle incrémen- tiel représentant une période de déplacement du centre de l'outil sur un incrément de déplacement, le long du trajet; ( 3) à produire, en réponse au signal de paramè- tre de traitement, un signal de vitesse de paramètre de traitement représentant la vitesse effective du centre de l'outil pendant la période; ( 4) à produire, en réponse au signal d'inter- valle d'incrément et au signal de vitesse de paramètre de traitement, un signal d'incrément de distance repré- sentant un incrément de déplacement le long du trajet; ( 5) à produiredes signaux de coordonnées de point extrême représentant les coordonnées, par rapport au premier système de coordonnées, d'un point extrême de l'incrément; ( 6) à produire, en réponse aux signaux de coor- données de point extrême, un ensemble de signaux de coor- données machine représentant des valeurs de coordonnées du point extrême par rapport au système de coordonnées généralisées; ( 7) à appliquer l'ensemble de signaux de coor- données machine au servomécanisme pour effectuer un mouve- ment coordonné des éléments afin de déplacer le centre de l'outil vers la position définie par les signaux de coor- données de point extrême; et ( 8) à répéter les étapes ( 1) à ( 7) pour déplacer le centre de l'outil sur une-série d'incréments le long du trajet entre les positions définies par les signaux d'en- trée, à une vitesse déterminée conformément aux variations non programmées du paramètre de traitement de travail. 2 Appareil pour déplacer un élément fonction- nel ( 31) en fonction de signaux d'entrée définissant, par rapport à un premier système de coordonnées, des positions et des vitesses de parcours entre ces positions d'un cen- tre ( 34) d'outil associé à l'élément fonctionnel, le centre d'outil suivant un trajet prédéterminé entre deux positions quelconques et d'autres signaux d'entrée défi- nissant un paramètre variable soumis à des variations non programmées, l'appareil étant caractérisé en ce qu'il comporte un manipulateur ( 10) sur lequel est monté l'élément fonctionnel et qui comprend plusieurs éléments ( 18,22,26,27) décrivant plusieurs axes de mouvement, au moins certains des éléments étant reliés par des axes de rotation, les éléments et les axes de mouvement définis- sant un système de coordonnées généralisées, et plusieurs actionneurs ( 14,20,24,28,30,32), aumoins un actionneur étant associé à chaque élément pour en commander les mouvements, l'appareil comportant également une commande ( 35) de manipulateur qui comprend une mémoire ( 42) des- tinée à mémoriser les signaux d'entrée définissant des positions et des vitesses de parcours, et un servoméca- nisme relié aux actionneurs pour commander le mouvement des éléments, la commande exécutant les opérations qui consistent: ( 1) à produire, en réponse à un signal d'entrée de paramètre variable, un signal de paramètre de traite- ment représentant la valeur du paramètre variable; ( 2) à produire un signal d'intervalle d'incré- ment représentant une période pour déplacer le centre de l'outil sur un incrément de déplacement le long du trajet; ( 3) à produire, en réponse aux signaux d'entrée définissant des positions et des vitesses de parcours, un signal de vitesse incrémentielle représentant la vitesse effective du centre de l'outil pendant la période; ( 4) à produire, en réponse au signal de paramètre de traitement, un signal de vitesse de paramètre de trai- tement représentant la vitesse effective du centre de l'outil pendant la période; ( 5) à produire un signal d'incrément de distance en réponse au signal d'intervalle d'incrément et au plus petit des signaux de vitesse incrémentielle et de - vitesse de paramètre de traitement, le signal d'incrément de distance représentant la distance à parcourir pendant la période; ( 6) à produire des signaux de coordonnées de point extrême représentant les coordonnées, par rapport au premier système de coordonnées, d'un point extrême de l'incrément; ( 7) à produire, en réponse aux signaux de coor- données de point extrême, un ensemble de signaux de coor- données machine représentant des valeurs de coordonnées du point extrême par rapport au système de coordonnées généralisées; ( 8) à appliquer l'ensemble de signaux de coor- données machine au servomécanisme afin d'effectuer un mouvement coordonné des éléments pour déplacer le centre de l'outil vers les positions définies par les coordon- 'nées du point extrême; et ( 9) à répéter les étapes ( 1) à ( 8) pour déplacer le centre de l'outil sur une série d'incréments entre les positions définies par les signaux d'entrée, à une vitesse définie sélectivement par les signaux d'entrée et par les variations non programmées du paramètre variable. 3 Appareil selon l'ine des revendications 1 et 2, caractérisé en ce que l'étape consistant à produire un signal de vitesse de paramètre de traitement comprend en outre les opérations qui consistent à produire, en réponse au signal de paramètre de traitement, un signal de facteur paramétrique représentant une démultiplication choisie arbitrairement du paramètre de traitement; et à multiplier le signal de vitesse de paramètre de traitement précédent par le signal de facteur paramétrique pour produire le signal de vitesse de paramètre de traitement. 4 Appareil seloe la revendication 3 prise avec la revendication 1, caractérisé en ce que l'étape consis- tant à produire des signaux de coordonnées de point extrême consiste en outre à produire un signal d'incréments cumulés de distance représentant la somme des signaux d'incréments de distance parcourus depuis la dernière position définie par les signaux d'entrée. Appareil pour déplacer un élément fonctionnel ( 31) en fonction de signaux d'entrée préalablement pro- grammés, définissant, par rapport à un premier système de coordonnées, des positions et des vitesses de par- cours entre ces positions d'un centre ( 34) d'outil asso- cié à l'élément fonctionnel, le centre d'outil suivant un trajet prédéterminé entre deux positions quelconques, et d'autres signaux d'entrée, préalablement programmés, définissant une valeur de référence de paramètre de traitement, alors que d'autres signaux d'entrée définissent un paramètre de traitement de travail soumis à des varia- tions non programmées, l'appareil étant caractérisé en ce qu'il comporte un manipulateur ( 10) sur lequel est monté l'élément fonctionnel et qui comprend plusieurs éléments ( 18,22,26,27) décrivant plusieurs axes de mouvement, au moins certains des éléments étant reliés par des axes de rotation, les éléments et les axes de mouvement définis- sant un système de coordonnées généralisées, le manipula- tèur comportant également plusieurs actionneurs ( 14,20,24, 28,30,32), au moins un actionneur étant associé à chaque élénent pour en commander les mouvements, et 1 'appareil comportant en outre une commande ( 35) de manipulateur qui comporte une mémoire ( 42) destinée à mémoriser des signaux d'entrée préalablement programmés, et un servomécanisme relié aux actionneurs pour commander les mouvements des éléments, la commande exécutant les opérations qui consistent: ( 1) à produire, en réponse au signal d'entrée de paramètre de traitement de travail, un signal de para- mètre de traitement représentant la valeur d'un paramètre de traitement de travail; ( 2) à produire un signal de vitesse de paramètre de traitement en réponse à la valeur du signal de paramè- tre de traitement différant de la valeur du signal d'en- trée de paramètre de traitement, le signal de vitesse de paramètre de traitement représentant la valeur d'une fonc- tion de vitesse dépendant de la différence; ( 3) à produire un signal d'intervalle d'incrément représentant une période de déplacement du centre de l'ou- til sur un incrément le long du trajet; ( 4) à produire un signal de vitesse incrémen- tielle en réponse aux signaux d'entrée préalablement programmés, définissant des positions et des vitesses de parcours, le signal de vitesse incrémentielle représen- tant la vitesse du centre de l'outil pendant la période; ( 5) à produire, en réponse au signal d'inter- valle d'incrément et sélectivement au signal de vitesse de paramètre de traitement et au signal de vitesse incrémentielle, un signal d'incrément de distance repré- sentant un incrément de déplacement le long du parcours; ( 6) à produire des signaux de coordonnées d'un point extrême représentant les coordonnées, par rapport au premier système de coordonnées d'un point extrême de l'incrément; ( 7) à produire, en réponse aux signaux de coor- données de point extrême, un ensemble de signaux de coor- données machine représentant des valeurs de coordonnées du point extrême par rapport au système de coordonnées généralisées; ( 8) à appliquer les ensembles de signaux de coordonnées machine au servomécanisme pour provoquer un mouvement coordonné des éléments afin de déplacer le centre de l'outil vers la position définie par les coor- données de point extrême; et ( 9) à répéter les étapes ( 1) à ( 8) pour dépla- cer le centre de l'outil sur une série d'incréments entre deux positions définies par les signaux d'entrée. 6 Appareil selon la revendication 5, caracté- risé en ce que la commande effectue en outre les opéra- tions qui consistent à produire un signal d'état de commande adaptative représentant une condition pour laquelle un signal de vitesse de paramètre de traitement est effectif sur un incrément, à mémoriser le signal de vitesse incrémentielle lorsque le signal d'état repré- sentant la condition est faux, à comparer le signal de vitesse de paramètre de traitement au signal de vitesse incrémentielle mémorisé, à donner au signal d'état une valeur reflétant que la condition est fausse, en réponse au fait que le signal de vitesse de paramètre de traite- ment n'est pas inférieur au signal mémorisé, et à sélec- tionner, pour le signal de vitesse effective, le plus petit du signal de vitesse de paramètre de traitement et du signal de vitesse incrémentielle mémorisé. 7 Appareil selon la revendication 6, caracté- risé en ce que la production d'un signal de vitesse incrémentielle consiste en outre à tester l'état du signal d'état de commande adaptative, et empêcher la production du signal de vitesse incrémentielle lorsque le signal d'état représente une condition vraie. 8 Appareil selon la revendication 7, caracté- risé en ce que la production d'un signal de vitesse de paramètre de traitement consiste en outre à produire, en réponse à une différence entre le signal de paramètre de traitement et le signal de référence de paramètre de trai- tement préalablement programmé, un signal de facteur para- métrique représentant une démultiplication arbitrairement choisie de la différence, et à multiplier le signal précé- dent de vitesse de paramètre de traitement par le signal de facteur paramétrique pour produire le signal de vitesse de paramètre de traitement. 9 Appareil pour déplacer un élément fonctionnel ( 31) en fonction de signaux d'entrée préalablement program- més, définissantpar rapport à un premier système de coor- données, des positions et des vitesses de parcours entre ces positions d'un centre ( 34) d'outil associé à l'élément fonctionnel, le centre d'outil suivant un trajet prédé- terminé entre deux positions quelconques, et d'autres signaux d'entrée préalablement programmés définissant une fonction de vitesse adaptative et une valeur de paramètre de traitement de travail, tandis que d'autres signaux d'entrée définissent un paramètre de traitement de travail soumis à des variations non programmées, l'appareil étant caractérisé en ce qu'il comporte un manipulateur ( 10) sur lequel l'élément fonctionnel est monté et qui comporte plusieurs éléments ( 18,22,26,27) décrivant plusieurs axes de mouvement, au moins certains des éléments étant reliés par des axes de rotation, les éléments et les axes de mouvement définissant un système de coordonnées géné- ralisées, le manipulateur comprenant également plusieurs actionneurs ( 14, 20,24,28,30,32), au moins un actionneur étant associé à chaque élément pour en commander les mouvements, l'appareil comportant en outre une commande ( 35) de manipulateur comprenant une mémoire ( 42) desti- née à mémoriser des signaux d'entrée préalablement programmés, et un servaxicanisme relié aux actionneurs pour commander le mouvement des éléments, la commande exécu- tant les opérations qui consistent: ( 1) à produire un signal de paramètre de trai- tement représentant la valeur d'un paramètre de traite- ment de travail; ( 2) à produire, en réponse au signal de fonc- tion de vitesse adaptative, au signal de paramètre de traitement et au signal de référence de paramètre de traitement, un signal de vitesse de paramètre de traite- ment représentant la valeur d'une fonction de vitesse dépendant de la valeur du paramètre de traitement de travail; ( 3) à produire un signal d'intervalle d'incré- ment représentant une période pour déplacer le centre de l'outil sur un incrément le long du trajet; ( 4) à produire un signal de vitesse incrémen- tielle en réponse aux signaux d'entrée préalablement programmés, définissant des positions et une vitesse de parcours entre elles, le signal de vitesse incrémentielle représentant la vitesse du centre de l'outil pendant la période; ( 5) à produire, en réponse au signal d'inter- valle d'incrément et sélectivement au signal de vitesse de paramètre de traitement et au signal de vitesse incrémentielle, un signal d'incrément de distance repré- sentant un incrément de déplacement le long du trajet; ( 6) à produire des coordonnées de point extrême représentant les coordonnées, par rapport à un premier système de coordonnées, d'un point extrême de l'incrément; ( 7) à produire, en réponse aux signaux de coordonnées du point extrême de l'incrément, un ensemble de signaux de coordonnées machine représentant les valeurs de coor- données du point extrême par rapport au système de coordonnées généralisées; ( 8) à appliquer l'ensemble de signaux de coor- données machine au servomécanisme pour provoquer un mouve- ment coordonné des éléments afin de déplacer le centre de l'outil jusqu'à la position définie par les coordonnées du point extrême; et ( 9) à répéter les étapes ( 1) à ( 8) pour dépla- cer le centre de l'outil sur une série d'incréments entre les positions définies par les signaux d'entrée préalablement programmés. 10 Appareil selon la revendication 9, carac- térisé en ce que la production d'un signal de vitesse de paramètre de traitement consiste en outre à produire, en réponse à une différence entre le signal de référence de paramètre de traitement et le signal de paramètre de traitement, un signal de facteur paramétrique représentant une démultiplication arbitrairement choisie de la diffé- rence, et à multiplier le signal précédent de vitesse de paramètre de traitement par le signal de facteur paramé- trique pour produire le signal de vitesse de paramètre de traitement. 11 Appareil selon la revendication 10, carac- térisé en ce que la production du signal d'incrément de distance consiste en outre à comparer le signal de vitesse incrémentielle au signal de vitesse de paramètre de trai- tement, à sélectionner le signal de vitesse incrémentielle lorsqu'il s'avère être inférieur au signal de vitesse de paramètre de traitement, et à sélectionner le signal de vitesse de paramètre de traitement lorsqu'il s'avère être inférieur au signal de vitesse incrémentielle. 12 Appareil selon l'une quelconque des revendi- cations 3, 4, 8 et 11, caractérisé en ce que le paramètre de traitement de travail est un couple relatif entre un outil de coupe ( 122) etune pièce.