FR 2679816 A1 19930205 FR 9109641 A 19910730 PROCEDE ET DISPOSITIF DE COMMANDE D'UN SYSTEME MOTORISE A CONFIGURATION VARIABLE, TEL QU'UN ROBOT L'invention concerne un procédé et un dispositif de commande d'un système mécanique motorisé à configuration variable, tel qu'un robot. Les systèmes de commande de robots comprennent en général des moyens de génération de trajectoires reliés par des circuits d'asservissement à des moteurs de déplacement des éléments ou bras mobiles constituant un robot. Les moyens de génération de trajectoires fournissent à intervalles réguliers aux circuits d'asservissement des consignes de position ou d'incréments de position des moteurs qui sont comparées à des signaux de positions réelles et de vitesses réelles des moteurs fournis par des capteurs associés aux moteurs. Les résultats de ces comparaisons sont traités par les circuits d'asservissement qui élaborent les signaux de commande appliqués aux moteurs. Le manque de rigidité des divers éléments constituant un robot se traduit par des oscillations au cours des déplacements, qui perturbent le bon fonctionnement du robot et nuisent à la précision des déplacements de sorte qu'on est conduit à limiter les vitesses de déplacement et/ou les accélérations pour atténuer ces inconvénients. Par ailleurs, lorsque l'on veut prendre en compte la flexibilité d'un robot pour améliorer ses performances, on est amené à modifier les moyens de génération de trajectoires et les circuits d'asservissement dans le sens de la complexité, et à augmenter également le nombre de capteurs associés aux éléments mobiles du robot. I1 en résulte une modification très coûteuse de tout le système de commande du robot et du robot luimême. L'invention a pour objet un procédé et un dispositif de commande d'un système mécanique motorisé à configuration variable, tel qu'un robot, permettant de prendre en compte sa flexibilité et d'améliorer largement ses performances, sans pour autant modifier la totalité de la chaîne de commande du robot. L'invention a également pour objet un procédé et un dispositif de ce type, ne nécessitant pas le montage de capteurs supplémentaires sur le robot. L'invention a encore pour objet un procédé et un dispositif de ce type, capables de fonctionner avec des moyens classiques de génération de trajectoires et d'interface de liaison aux moteurs de déplacement du robot. L'invention propose, à cet effet, un procédé de commande d'un système mécanique motorisé à configuration variable, tel qu'un robot comprenant au moins un bras mobile, un moteur de déplacement du bras sur un axe et un capteur de position du moteur1 le procédé consistant à déterminer préalablement une trajectoire du bras, à produire à intervalles réguliers des consignes d'incréments de position du moteur correspondant à cette trajectoire, à calculer pour chaque consigne d'incrément de position des consignes de vitesse et de position du moteur, à les appliquer à un circuit d'asservissement, par exemple du type PID, recevant également des signaux de position réelle et/ou de vitesse réelle du moteur, et à produire à intervalles réguliers un signal de commande appliqué au moteur, caractérisé en ce qu'il consiste à appliquer également le signal de commande du moteur à un modèle dynamique de déformation du bras pour calculer, à partir de ce signal de commande et d'un signal dérivé du signal de position ou de vitesse réelle du moteur, une quantité et/ou une vitesse de déformation du bras et à les appliquer au circuit d'asservissement pour produire le signal précité de commande du moteur. Le procédé selon l'invention prend ainsi en compte la déformation du bras mobile pour déterminer le signal de commande appliqué au moteur de déplacement de ce bras, ce qui permet d'éviter les oscillations para sites lors des déplacements du bras et donc, corollairement, d'augmenter les vitesses de déplacement et d'améliorer la précision du positionnement du bras, et cela sans monter un ou plusieurs capteurs supplémentaires sur le bras. Le modèle dynamique de déformation du bras mobile est d'un type général, applicable à un bras particulier par réglage de paramètres de raideur et d'inertie. Selon une autre caractéristique de l'invention, le procédé consiste également à appliquer les consignes d'incréments de position à un modèle dynamique numérique du système pour calculer les consignes précitées de vitesse et de position du moteur, ainsi qu'une consigne d'accélération du moteur, et à les appliquer au circuit d'asservissement pour produire le signal précité de commande du moteur. On peut ainsi obtenir de façon simple une commande d'accélération du moteur qui est produite avec les consignes de position et de vitesse du moteur à partir d'un modèle dynamique numérique du système, de préférence simplifié, prenant en compte certaines caractéristiques dynamiques du système, notamment les phénomènes vibratoires. Le circuit d'asservissement applique des gains d'amplification à la consigne d'accélération du moteur et à la quantité et/ou la vitesse de déformation du bras déplacé par ce moteur. Ces gains sont fixes et prédéterminés, sauf pour le gain d'amplification de la consigne d'accélération, qui varie en fonction de l'inertie du bras mobile. Dans le cas d'un système mécanique à configuration variable comprenant plusieurs moteurs de déplacement de bras, le procédé consiste à produire des consignes de position, de vitesse et d'accélération pour chaque moteur au moyen du modèle dynamique numérique du système en tenant compte des couplages dynamiques entre les bras et à produire comme précité le signal de commande de chaque moteur, de façon indépendante des signaux de commande des autres moteurs. L'invention propose également un dispositif de commande d'un système mécanique motorisé à configuration variable, tel qu'un robot, comprenant au moins un bras mobile, un moteur de déplacement du bras sur un axe et un capteur de position du moteur, ce dispositif comprenant des moyens de génération de trajectoires, produisant à intervalles réguliers des consignes d'incréments de position du moteur, des premiers moyens de calcul recevant ces consignes et produisant des consignes de vitesse et de position du moteur, et un circuit d'asservissement, par exemple du type PID, recevant ces consignes de vitesse et de position, ainsi que des signaux de position et/ou de vitesse réelles du moteur et générant un signal de commande du moteur, caractérisé en ce qu'il comprend également des seconds moyens de calcul dans lesquels est enregistré un modèle dynamique de déformation du bras mobile et auxquels sont appliqués le signal de commande du moteur et un signal dérivé du signal de position ou de vitesse réelle du moteur pour produire des signaux correspondant à une quantité et/ou une vitesse de déformation du bras, qui sont appliqués à des entrées du circuit d'asservissement et pris en compte pour la génération du signal de commande du moteur. Un modèle dynamique numérique du système est enregistré dans les premiers moyens de calcul, qui comprennent une sortie sur laquelle est générée une consigne d'accélération du moteur appliquée à une entrée du circuit d'asservissement. Les consignes de position et de vitesse du moteur et éventuellement la consigne d'accélération sont échantillonnées sur la durée d'une consigne d'incrément de position du moteur. Le circuit d'asservissement est du type numérique et est relié à des moyens d'alimentation du moteur par un convertisseur numérique-analogique. Dans le cas d'un système mécanique articulé comprenant plusieurs moteurs de déplacement de bras, chaque moteur est commandé par un circuit d'asservissement correspondant associé à des seconds moyens de calcul, les différents circuits d'asservissement étant reliés en parallèle aux sorties des premiers moyens de calcul. De façon particulièrement intéressante, le dispositif selon l'invention peut se présenter sous forme d'un module connectable à des moyens pré-existants de génération de trajectoires et d'interface de liaison aux moteurs de déplacement. L'invention sera mieux comprise et d'autres caractéristiques, détails et avantages de celle-ci appa raîtront plus clairement à la lecture de la description qui suit, faite à titre d'exemple en référence aux dessins annexés, dans lesquels la figure 1 représente schématiquement un dispositif connu de commande d'un moteur de déplacement d'un bras mobile ; la figure 2 représente schématiquement un dispositif de commande selon l'invention ; la figure 3 illustre schématiquement la flexibilité d'un bras mobile d'un robot ; la figure 4 représente schématiquement un robot comprenant trois bras mobiles ; la figure 5 représente un dispositif de commande des moteurs de déplacement du robot de la figure 4. On se réfère d'abord à la figure 1, qui représente schématiquement un dispositif connu de commande d'un moteur de déplacement d'un bras mobile d'un robot. Ce dispositif connu comprend des moyens 10 de génération de trajectoire qui fournissent des consignes d'incréments de position AP du moteur à des moyens de calcul 12 com prenant des moyens d'interpolation et de lissage dont deux sorties fournissent des consignes de position P et de vitesse V du moteur, échantillonnées sur la durée d'une consigne d'incrément de position AP. Par exemple, lorsque les moyens 10 de génération de trajectoire délivrent une consigne d'incrément de position toutes les 48 millisecondes, les moyens 12 fournissent des consignes de position P et de vitesse V du moteur toutes les 3 millisecondes ou toutes les 6 millisecondes. Ces consignes de position et de vitesse du moteur sont appliquées aux entrées d'un circuit d'asservissement désigné généralement par la référence 14 dont la sortie produit un signal C de commande du moteur.Lorsque le circuit d'asservissement est du type numérique, ce signal C est appliqué par l'intermédiaire d'un convertisseur numérique-analogique 16 à un amplificateur de puissance 18, dont la sortie alimente le moteur 20. Ce moteur peut être commandé soit en couple (par une intensité de courant) soit en vitesse. Il peut bien entendu s'agir d'un moteur électrique ou d'un vérin hydraulique pour le déplacement d'un bras mobile en rotation autour d'un axe ou en translation le long d'un axe. Au moteur de déplacement 20 est associé au moins un capteur de position 22 et éventuellement un capteur de vitesse 24 dont les sorties sont reliées à des entrées du circuit d'asservissement 14 pour fournir des signaux de position réelle et de vitesse réelle du moteur, respectivement.On peut bien entendu obtenir le signal de vitesse réelle du moteur par double dérivation du signal de position réelle. Le circuit d'asservissement 14 représenté en figure 1 est du type PID (Proportionnelle-Intégrale Dérivée) et fournit un signal C de commande du moteur 20 qui est une combinaison de l'écart entre la consigne de position P et la position réelle du moteur, de l'intégrale de cet écart et de l'écart entre la consigne de vitesse V et le signal de vitesse réelle du moteur. De façon détaillée, le circuit d'asservissement 14 comprend un comparateur 26 recevant en entrée la consigne de position P et le signal de position réelle du moteur et fournissant en sortie un écart de position qui est appliqué, d'une part, à des moyens 28 d'amplification le multipliant par un coefficient KP et l'appliquant à une entrée d'un additionneur 30 et, d'autre part, à un intégrateur 32 dont la sortie est reliée à une autre entrée de l'additionneur 30 par l'intermédiaire de moyens d'amplification 34 à gain KI. La consigne de vitesse V est appliquée par l'intermédiaire de moyens 36 de mise à niveau (à gain KV) à une entrée d'un comparateur 38 dont une autre entrée reçoit le signal de vitesse réelle du moteur et dont la sortie est appliquée par l'intermédiaire de moyens d'amplification à gain KD à une autre entrée de l'additionneur 30. La consigne de position P peut également mise à niveau par des moyens équivalents aux moyens 36, si nécessaire, avant d'être appliquée au comparateur 26. Comme indiqué dans ce qui précède, un tel dispositif de commande ne tient pas compte de la flexibilité du bras mobile déplacé par le moteur 20. Pour prendre en compte cette flexibilité, on est en général conduit à monter des capteurs supplémentaires sur le bras mobile pour obtenir des informations sur ses déformations, à modifier de façon correspondante le circuit d'asservissement 14, et à modifier également l'algorithme de génération de trajectoire dans les moyens 10, ce qui correspond en fait réaliser un nouveau dispositif de commande et à modifier le robot. Le dispositif de commande selon l'invention dont un mode de réalisation a été représenté à titre d'exemple en figure 2, permet d'éviter ces inconvénients. Ce dispositif de commande comprend, comme le dispositif connu de la figure 1, des moyens 10 de génération de trajectoire délivrant à intervalles réguliers des consignes d'incréments de position AP du moteur à des moyens de calcul, d'interpolation et de lissage 42 fournissant des consignes de position P, de vitesse V et également d'accélération A à des entrées d'un circuit d'asservissement 44 du type numérique, produisant en sortie un signal C de commande du moteur 20, appliqué à ce moteur par l'intermédiaire d'un convertisseur numériqueanalogique 16 et d'un amplificateur de puissance 18. Comme précédemment, les consignes de position P et de vitesse V ainsi éventuellement que la consigne d'accélération A peuvent être échantillonnées sur la durée d'une consigne d'incrément de position AP. Comme précédemment, le moteur 20 est associé à au moins un capteur de position 22 et éventuellement à un capteur de vitesse 24, qui fournissent respectivement des signaux de position réelle et de vitesse réelle du moteur à des entrées du circuit d'asservissement 44. A la différence de la technique antérieure, les moyens 42 de calcul, d'interpolation et de lissage comprennent un modèle dynamique numérique, de préférence simplifié, du système mécanique à commander. Ce modèle dynamique numérique du système prend en compte les phénomènes dynamiques qui peuvent se produire lors des déplacements des bras mobiles, notamment les phénomènes vibratoires. Ce modèle décrit le comportement dynamique du système et peut être obtenu d'une façon qui est bien connue des spécialistes en asservissement, à partir des équations dynamiques du système en mouvement. L'application d'un incrément de position AP à ce modèle dynamique numérique simplifié permet d'obtenir une vitesse et une accélération théoriques ou idéales de chaque bras mobile du système. Les consignes de position P et de vitesse V sont traitées comme dans le dispositif connu de la figure 1, par les mêmes moyens et les écarts de vitesse, les écarts de position et les intégrales des écarts de position sont appliqués aux entrées d'un cir cuit additionneur 30. La consigne d'accélération A est appliquée par l'intermédiaire de moyens d'amplification 46 à gain KA à une entrée d'un autre circuit additionneur 48, dont une autre entrée reçoit le signal de sortie de l'additionneur 30. Le dispositif selon l'invention comprend de plus des moyens de calcul et de prise en compte de la déformation du bras mobile déplacé par le moteur 20. Ces moyens comprennent des moyens de calcul 50 dans lesquels on a enregistré un modèle dynamique de déformation du bras mobile, et auxquels on applique, d'une part, le signal C de commande du moteur produit par le circuit d'asservissement 44, et un signal d'accélération réelle obtenu par exemple par dérivation du signal de vitesse réelle du moteur produit par le capteur 24 ou par double dérivation du signal de position réelle fourni par le capteur 22. Le traitement de ces signaux par les moyens de calcul 50 permet d'obtenir en sortie, d'une part, une quantité de déformation q et, d'autre part, une vitesse de déformation q' du bras mobile qui sont appliquées, par l'intermédiaire de moyens d'amplification 52 à gain Kq et 54 à gain Kq' respectivement, aux entrées d'un additionneur 56 dont la sortie est reliée à une entrée de l'additionneur 48 précité.Le signal C de commande du moteur 20, produit alors par le circuit d'asservissement 44, tient compte des déformations de ce bras mobile et permet d'éviter ou au moins de réduire des oscillations parasites dues à son manque de rigidité. Le modèle dynamique de déformation du bras mobile peut par exemple être obtenu simplement de la façon suivante, décrite en référence à la figure 3. Dans cette figure, on a représenté un bras mobile 60 comprenant un moteur M de déplacement d'une charge 62 en rotation autour d'un axe 64 par l'intermédiaire d'une transmission 66 ayant une raideur finie k. Soient Jm l'inertie du moteur M, Om et Oc les angles de rotation du moteur et de la charge respectivement, et C le couple du moteur. La déformation q du bras mobile correspond à la différence des angles de rotation em du moteur et Oc de la charge. Une modélisation mathématique du bras mobile de la figure 3 permet de relier le couple C, l'accélération O"m du moteur et la déformation du bras mobile selon l'équation suivante Jm0"m + k(6m-6c) = C On en tire Om - Oc = (C - Jm6"m)/k Dans le cas où le dispositif de commande du robot génère un signal de couple à produire par le moteur, C est, dans cette équation, le signal de commande généré à l'intervalle de temps précédent, et e"m est obtenu par dérivation du signal de position réelle ou de vitesse réelle du moteur, les paramètres Jm et k étant connus et fournis par la modélisation du bras mobile. Lorsque le moteur est commandé en vitesse, son couple C peut être obtenu par mesure de l'intensité du courant électrique du moteur, cette intensité étant proportionnelle au couple. Les moyens de calcul 50 du dispositif de la figure 2 permettent donc de fournir une quantité de déformation q du bras mobile, et, par dérivation, une vitesse de déformation q' de ce bras, sans qu'il soit nécessaire de monter des capteurs supplémentaires sur le bras mobile. On peut bien entendu, dans l'asservissement du bras mobile, prendre en compte uniquement la quantité de déformation du bras mobile ou uniquement sa vitesse de déformation, en donnant une valeur nulle au gain d'amplification Kq' ou Kq respectivement. Le modèle dynamique de déformation d'un bras mobile, décrit ci-dessus, est d'un type très général et est valable pour n'importe quel bras mobile. Un simple réglage des valeurs des paramètres de raideur k et d'inertie J permet d'adapter ce modèle à un bras mobile particulier. Le dispositif selon l'invention qui vient d'être décrit, est destiné à la commande d'un moteur de déplacement d'un bras mobile en rotation autour d'un axe ou en translation le long d'un axe. Lorsqu'un système mécanique motorisé comprend plus d'un bras mobile, comme c'est généralement le cas, et comme on en a représenté un exemple schématiquement en figure 4, l'invention prévoit que les moteurs de déplacements des bras mobiles sont commandés de façon indépendantes les uns des autres, par des circuits d'asservissement qui sont reliés en parallèle aux moyens de calcul, eux-mêmes reliés à la sortie des moyens de génération de trajectoires. Dans l'exemple de la figure 4, le robot comprend un premier bras mobile 68 déplacé en rotation autour d'un axe vertical par un moteur 70, un deuxième bras mobile 72 déplaçable en rotation par un moteur 74 autour d'un axe horizontal à l'extrémité du premier bras 68, et un troisième bras 76, déplaçable par un moteur 78 en rotation autour d'un axe horizontal à l'extrémité du deuxième bras 72. Le dispositif de commande de ce robot est représenté schématiquement en figure 5 et comprend les moyens 10 de génération de trajectoires, reliés aux moyens de calcul 42 dans lesquels on a enregistré un modèle dynamique numérique du robot, et trois circuits d'asservissement 44 (dans lesquels on a intégré les moyens de calcul 50 par commodité de dessin), ces trois circuits d'asservissement 44 étant agencés en parallèle entre les moyens de calcul 42 et une interface 80 dont les sorties sont reliées aux amplificateurs de puissance d'alimentation des moteurs 70, 74 et 78. Les moyens 10 de génération de trajectoires produisent des consignes d'incréments de position pour chacun des moteurs, qui sont transmises aux moyens de calcul 42 qui génèrent des consignes de position, de vitesse et d'accélération pour chacun des moteurs, ces consignes étant transmises aux circuits d'asservissement 44 dont chacun génère un signal de commande du moteur associé 70, 74 ou 78. Les consignes de position, de vitesse et d'accélération sont produites par les moyens de calcul 42 à partir du modèle dynamique numérique du robot, en tenant compte des couplages dynamiques entre les bras du robot. On voit que l'ensemble moyens de calcul 42circuits d'asservissement 44 peut constituer un module 82, directement connectable entre les moyens 10 de génération de trajectoire et l'interface 80 déjà prévus sur un robot commandé conformément à la technique antérieure, ce module 82 venant remplacer un ensemble de moyens de calcul 12 et de circuits d'asservissement 14 du type représenté en figure 1. REVENDICATIONS 1. Procédé de commande d'un système mécanique motorisé à configuration variable, tel qu'un robot, comprenant au moins un bras mobile, un moteur (20) de déplacement du bras sur un axe et un capteur (22) de position du moteur, le procédé consistant à déterminer préalablement la trajectoire du bras, à produire à intervalles réguliers des consignes d'incréments de position du moteur correspondant à cette trajectoire, à calculer pour chaque consigne d'incrément de position des consignes de vitesse (V) et de position (P) du moteur, à les appliquer à un circuit d'asservissement (44), par exemple du type PID, recevant également des signaux de position réelle et/ou de vitesse réelle du moteur, et à produire à intervalles réguliers un signal de commande (C) appliqué au moteur, caractérisé en ce qu'il consiste à appliquer également le signal de commande (C) du moteur à un modèle dynamique de déformation du bras pour calculer à partir de ce signal de commande et d'un signal dérivé du signal de position ou de vitesse réelle du moteur, une quantité et/ou une vitesse de déformation du bras et à les appliquer au circuit d'asservissement (44) pour produire le signal précité de commande (C) du moteur. 2. Procédé selon la revendication 1, caractérisé en ce que le modèle dynamique de déformation du bras mobile est général et est applicable à un bras mobile particulier par réglage de paramètres de raideur et d'inertie. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il consiste également à appliquer les consignes d'incréments de position à un modèle dynamique numérique du système pour calculer les consignes précitées de vitesse (V) et de position (P) du moteur ainsi qu'une consigne d'accélération (A) du moteur, et à les appliquer au circuit d'asservissement (44) pour produire le signal précité de commande (C) du moteur. 4. Procédé selon la revendication 3, caractérisé en ce que le circuit d'asservissement (44) comprend des moyens (46, 52, 54) d'amplification à gains prédéterminés de la consigne d'accélération (A) du moteur et de la quantité et/ou de la vitesse de déformation du bras mobile. 5. Procédé selon la revendication 4, caractérisé en ce que le gain d'amplification de la consigne d'accélération (A) du moteur est variable en fonction de l'inertie du bras mobile. 6. Procédé selon l'une des revendications 3 à 5, pour la commande d'un système mécanique articulé comprenant plusieurs moteurs (70, 74, 78) de déplacement de bras mobiles, caractérisé en ce qu'il consiste à produire des consignes de position, de vitesse et d'accélération pour chaque moteur au moyen du modèle dynamique numérique du système en tenant compte des couplages dynamiques entre les bras mobiles, et à produire comme précité un signal de commande (C) de chaque moteur de façon indépendante des signaux de commande des autres moteurs. 7. Dispositif de commande d'un système mécanique motorisé à configuration variable, tel qu'un robot, comprenant au moins un bras mobile, un moteur (20) de déplacement du bras sur un axe, et un capteur (22) de position du moteur, ce dispositif comprenant des moyens (10) de génération de trajectoire, produisant à intervalles réguliers des consignes d'incréments de position du moteur, des premiers moyens de calcul (42) recevant ces consignes et produisant des consignes de position (P) et de vitesse (V) du moteur, et un circuit d'asservissement (44), du type PID par exemple, recevant ces consignes de position et de vitesse et des signaux de position et/ou de vitesse réelles du moteur et générant un signal de commande (C) du moteur, caractérisé en ce qu'il comprend également des seconds moyens de calcul (50) dans lesquels est enregistré un modèle dynamique de déformation du bras mobile et auxquels sont appliqués le signal de commande (C) du moteur et un signal dérivé du signal de position ou de vitesse réelle du moteur pour produire des signaux correspondant à une quantité et/ou une vitesse de déformation du bras, qui sont appliqués à des entrées du circuit d'asservissement (44) et pris en compte pour la génération du signal de commande (C) du moteur. 8. Dispositif selon la revendication 7, caractérisé en ce que le modèle dynamique de déformation du bras mobile est général et applicable à un bras mobile particulier par réglage de paramètres de raideur et d'inertie. 9. Dispositif selon la revendication 7 ou 8, caractérisé en ce qu'un modèle dynamique numérique du système est enregistré dans les premiers moyens de calcul (42) qui comprennent une sortie sur laquelle est générée une consigne d'accélération (A) du moteur, appliquée à une entrée du circuit d'asservissement (44). 10. Dispositif selon l'une des revendications 7 à 9, caractérisé en ce que les premiers moyens de calcul (42) produisent des consignes de position (P) et de vitesse (V) du moteur échantillonnées sur la durée d'une consigne d'incrément de position du moteur. 11. Dispositif selon l'une des revendications 7 à 10, caractérisé en ce que le circuit d'asservissement (44) est du type numérique et est relié à des moyens (18) d'alimentation du moteur par un convertisseur numériqueanalogique (16). 12. Dispositif selon l'une des revendications 7 à 11 pour la commande d'un système mécanique motorisé comprenant plusieurs moteurs (70, 74, 78) de déplacement de bras, caractérisé en ce que chaque moteur est commandé par un circuit d'asservissement correspondant (44) associé à des seconds moyens de calcul (50), les différents circuits d'asservissement étant reliés en parallèle aux sorties des premiers moyens de calcul (42). 13. Dispositif selon l'une des revendications 7 à 12, caractérisé en ce qu'il se présente sous la forme d'un module (82) connectable à des moyens pré-existants (10) de génération de trajectoire et (80) d'interface de liaison aux moteurs de déplacement.