FR 2917322 A1 20081219 FR 0704286 A 20070615 PROCEDE DE CALIBRATION DE LA POSITION D'UN SYSTEME POLY-ARTICULE, NOTAMMENT D'UN ROBOT La présente invention concerne un procédé de calibration de la position d'un système poly-articulé, notamment d'un robot. Elle s'applique en particulier dans le domaine de la robotique. Elle permet de corriger l'erreur de position notamment sur des systèmes de type poly-articulés en chaîne pour lesquels la flexibilité des différents éléments de la chaîne influe sur le comportement, par exemple dans le cas d'une chaîne à fort élancement. Ces systèmes sont par exemple des robots, des manipulateurs, des grues ou des machines outil. Ces systèmes poly-articulés peuvent être utilisés pour l'inspection des cellules et des réacteurs nucléaires ainsi que pour la maintenance de satellites et de vaisseaux spatiaux dans l'espace par exemple. Dans la suite le terme robot sera utilisé pour décrire tous ces systèmes, qu'ils soient ou non à fort élancement. Diverses solutions mettent en oeuvre la calibration géométrique classique. Celles-ci sont notamment décrites dans le livre de B.Mooring Fundamentals of Manipulator Calibration , J.Wiley, New-York 1991 et l'article de Z.S.Roth, Z.W.Mooring et B.Ravani An Overview of Robot Calibration , IEEE Journal of Robotics and Automation, vol. 3(5), 1987, pages 377-385. Ces solutions identifient les paramètres du modèle rigide du robot, notamment les longueurs. La correction d'erreur de position en bout de chaîne est très limitée avec ces méthodes classiques. D'autres études ont développé une méthode de calibration géométrique et élastique linéaire pour régler l'erreur de position sur des robots industriels. Cette méthode est notamment décrite dans l'article de Ph.Drouet, S.Dubowsky, S.Zeghloul et C.Mavroidis Compensation of Geometric and Elastic Errors in Large Manipulators with an Application to a High Accuracy Medical System , Robotica 2, 2002 pages 341-352. Cependant pour des robots qui possèdent une flexibilité importante dans leur structure, cette méthode n'est pas satisfaisante. Il est par ailleurs connu d'utiliser un modèle généralisé polynomial linéaire pour corriger les petites erreurs de position des manipulateurs de grande taille. Cette solution est notamment décrite dans les articles de G.Alici et B.Shirinzadeh A Systematic Technique to Estimate Positionning Errors for Robot Accuracy Improvement Using Laser Interferometry Based Sensing , Mechanism and Machine Theory 40, 2005, pages 879-906 et de M.Meggiolaro, S.Dubowsky et C.Mavroidis Geometric and Elastic Error Calibration of a High Accuracy Patient Positionning System , Mechanism and Machine Theory, vol. 40, 2005, pages 415-427. Dans le premier article, on utilise des polynômes ordinaires et des polynômes de Fourier mais la correction n'est appliquée que sur la dernière articulation. Dans le deuxième article, on utilise des polynômes spéciaux appliqués sur toutes les articulations du manipulateur. Cependant, en appliquant, en simulation, ces deux méthodes, notamment pour un robot poly-articulé à fort élancement, on ne parvient pas à corriger suffisamment l'erreur de position en bout de chaîne. Une autre méthode connue consiste à réaliser une modélisation flexible du manipulateur avec des poutres, puis à lancer une procédure d'identification des paramètres flexibles du modèle. Cette méthode est notamment décrite dans l'article de W.Khalil et E. Dombre Modélisation, identification et commande des robots , Germes, ISBN 2-7462-0003-1, 1999. Elle donne des résultats encore insuffisants pour corriger l'erreur de position du robot. A titre d'exemple avec ces méthodes, pour une longueur totale de chaîne articulée de l'ordre d'une dizaine de mètre, on obtient des erreurs de position de plusieurs dizaines de centimètres en bout de chaîne alors que l'on souhaite atteindre une précision de l'ordre de 10 centimètres. Un but de l'invention est notamment d'améliorer la précision. A cet effet, l'invention a pour objet un procédé de calibration de la position d'un système poly-articulé composé d'une chaîne de N segments reliés entre eux par une liaison articulée, la calibration minimisant la différence entre la position mesurée Xm d'un organe lié au dernier segment de la chaîne et sa position calculée Xc, Xc étant égale au produit A1.A2 ... Ai AN.XN, une matrice A; de transformation homogène étant associée à chaque segment d'ordre i, cette matrice étant fonction de paramètres de configuration q du système et de paramètres généralisés donnés p caractérisant la flexibilité du segment, ledit procédé comportant : - une première étape de calcul d'un modèle flexible du système composé des matrices AI, A2 ... Ai AN ; - une deuxième étape de calibration du modèle flexible par l'obtention d'un ensemble de paramètres généralisés popt minimisant la différence entre Xm et Xc ; une troisième étape de calibration polynomiale généralisée du modèle flexible calibré à l'étape 2 par l'introduction de matrices d'erreur généralisées E; entre les matrices de transformation homogène dans le modèle flexible, la position calculée Xc étant égale au produit A1.E1.A2.E2 AN.EN.XN, une matrice d'erreur généralisée E; étant associée à chaque segment d'ordre i, chaque matrice E; d'un segment étant une fonction polynomiale des paramètres de configuration q liés au segment. Dans un mode de mise en oeuvre particulier, dans la première étape, le modèle flexible du système est, par exemple, obtenu par la détermination de nouveaux paramètres généralisés p à partir des paramètres rigides du système selon un processus itératif : un modèle géométrique est calculé en fonction de paramètres de configuration, de paramètres généralisés d'origine et de propriétés géométriques du système ; - des déformations du système sont calculées en fonction du modèle géométrique et de contraintes mécaniques ; de nouveaux paramètres généralisés sont calculés en fonction des déformations ; - les nouveaux paramètres généralisés sont comparés aux paramètres d'origine ; - si la différence AP entre les nouveaux paramètres et les paramètres d'origine est inférieure à un seuil e donné, le modèle flexible est obtenu à partir des nouveaux paramètres généralisés ; - dans le cas contraire, une nouvelle itération est exécutée, cette itération rectifiant le modèle en utilisant les nouveaux paramètres généralisés. Les contraintes mécaniques peuvent comporter des contraintes de flexibilité 35 appartenant aux paramètres généralisés p. Les paramètres de configuration q comportent, par exemple, les angles des axes de rotation et d'élévation par rapport à une référence donnée. Un segment est, par exemple, modélisé par un parallélogramme et un axe de rotation s'articulant entre deux chapes, une première chape appartenant au segment et la deuxième chape appartenant au segment suivant dans la chaîne, le parallélogramme modélisant un mouvement d'élévation autour d'un axe passant par un sommet du parallélogramme, le segment étant soumis à des contraintes de torsion, de compression et de traction. Une matrice d'erreur généralisée E; associée à un segment est, par exemple, une fonction non linéaire de six paramètres l, 2, 3, 4, 4, 6, trois ce ces paramètres l, 2, 3 représentant les angles d'Euler correspondant au mouvement de rotation d'un repère lié au segment, les trois autres paramètres 4, 4, 6 représentant une translation dans l'espace du centre O; du repère, chaque paramètre généralisé est une fonction polynomiale des composantes du vecteur de configuration q. D'autres caractéristiques et avantages de l'invention apparaîtront à l'aide de la description qui suit, faite en regard de dessins annexés qui représentent : la figure 1, une présentation des étapes possibles pour la mise en oeuvre d'un procédé selon l'invention ; la figure 2, un exemple de modèle cinématique d'un système polyarticulé ; la figure 3, un exemple de réalisation d'un segment appartenant à une chaîne poly-articulée ; la figure 4, un exemple de réalisation d'une articulation entre deux segments d'une chaîne poly-articulée ; la figure 5, un parallélogramme modélisant un segment ; la figure 6, un modèle flexible de l'ensemble d'un système polyarticulé ; la figure 7, une illustration des déformations d'une structure en parallélogramme sous l'influence de diverses contraintes ; la figure 8, une présentation d'un exemple de processus itératif utilisé dans la première étape du procédé selon l'invention ; la figure 9, une illustration de passages d'un repère lié à un segment à 35 un repère lié à un autre segment. La figure 1 présente les étapes possibles pour la mise en oeuvre du procédé selon l'invention. Dans une première étape 1, on effectue un calcul d'un modèle flexible du robot par détermination de nouveaux paramètres généralisés à partir des paramètres du modèle rigide du robot. Un modèle rigide est un modèle géométrique d'un système poly-articulé sans aucune flexibilité. Un modèle flexible est un modèle géométrique d'un système polyarticulé en introduisant des flexibilités. De façon générale, un modèle géométrique direct est un modèle mécanique utilisé en robotique pour les bras manipulateurs notamment pour les robots poly-articulés. II permet de déterminer la configuration, en position et orientation, de l'organe terminal d'un robot en fonction de la configuration de ses liaisons. Puis, une double calibration est effectuée. Ainsi, dans une deuxième étape 2, une première calibration du modèle flexible est réalisée suivie dans une 15 troisième étape 3 d'une calibration polynomiale généralisée. La figure 2 présente à titre d'exemple un modèle cinématique d'un robot poly-articulé à fort élancement. Dans cet exemple, la chaîne poly-articulée comporte cinq segments 21. Un organe terminal 22 est situé en bout de 20 chaîne, relié au dernier segment. Cet organe terminal 22, ou effecteur, est un outil placé à l'extrémité du robot, ce peut être une pince, une caméra ou tout autre type d'outil fonction de l'utilisation du robot. La liaison 23 entre l'effecteur 22 et le dernier segment 21 est rigide. Dans le modèle de la figure 2, chaque segment comporte un axe de rotation 24 et un 25 parallélogramme 25. Un axe de rotation 24 est compris entre deux chapes 26, 27, une première chape 26 appartenant au segment lui-même et une deuxième chape 27 appartenant au segment précédent. Cet axe de rotation 24 combiné aux chapes permet de modéliser un mouvement de rotation dans un plan X0, Zo, par exemple le plan horizontal. D'autres types 30 d'articulation sont possibles. Le parallélogramme permet de modéliser un mouvement d'élévation autour d'un axe 29. Le premier segment de la chaîne est, par exemple, relié à une structure fixe 28 par une articulation du même type que celle reliant deux segments entre-eux, cette structure fixe 28 formant par exemple la base du robot à laquelle peut notamment est lié un 35 repère fixe. La figure 3 présente un exemple de réalisation d'un segment 21. Ce segment comporte un tube 31 comportant à chaque extrémité une chape 26, 27. Une première chape 26 s'articule autour de la chape 27 du segment suivant par l'intermédiaire de l'axe de rotation 24. Les mouvements de rotation se font au moyen de poulies de rotation 32 entraînant un câble de rotation. Le tube 31 comporte à chaque extrémité un axe d'élévation 29. Il comporte par ailleurs à l'intérieur une bielle supérieure 33 et une bielle inférieure 34 connectées aux chapes 26, 27, ainsi qu'un actionneur d'élévation 35 et un actionneur de 1 o rotation 36. La figure 4 illustre plus en détail un exemple de réalisation d'une articulation entre deux segments consécutifs. Plus particulièrement, la première chape 26 est représentée solidaire mécaniquement d'une poulie 32, la poulie 32 15 tournant autour de l'axe d'élévation 29, cette première chape étant par ailleurs reliée aux bielles 33, 34 par une connexion 41. La deuxième chape 27 appartenant au segment suivant se déplace selon un degré de rotation autour de l'axe 24. L'autre poulie 32 est solidaire de cet axe 24. Le câble de rotation 42 est entraîné par les deux poulies 32. L'axe de rotation 24 et l'axe 20 d'élévation 29 sont perpendiculaires. Un segment est soumis à des contraintes de torsion, de compression et de traction. Cependant, pour simplifier les calculs complexes des distorsions dans cette structure, les déformations de torsion sont, par exemple, délocalisées et sont représentées après l'axe d'élévation 29 à la base d'un 25 parallélogramme 25 modélisant le segment. Seules les compressions et les tractions dans la structure du parallélogramme sont, par exemple, considérées. De cette manière, le parallélogramme reste contenu dans un plan. 30 La figure 5 présente plus précisément le modèle de structure flexible d'un parallélogramme 25. Ce dernier comporte quatre points A, B, C, D. Un point A représente l'axe d'élévation 29. Le grand côté AB 51 partant de ce point A représente le tube 31. Le côté opposé CD 52 représente la bielle 33, 34. Les extrémités du tube sont modélisées par les petits côtés AC 53, BD 54 du 35 parallélogramme. Chaque élément 51, 52, 53, 54 admet un degré de liberté dans la direction de compression et de traction. Les flexibilités de traction et de compression du tube 31 et de la bielle 33, 34 sont modélisées par des ressorts linéaires 55, 56 de raideurs respectives ktbbe et km. Le parallélogramme comporte par ailleurs une branche BJ 57, le point J appartenant au côté AB 53. Cette branche 57 représente l'action de l'actionneur d'élévation 35 qui contrôle le mouvement d'élévation. Cet actionneur peut être un vérin ou un jonc d'équilibrage. Un ressort linéaire 58, de raideur khi, symbolise la flexibilité de cet actionneur, c'est-à-dire par exemple du jonc ou du vérin. La figure 6 illustre un modèle flexible de l'ensemble des segments 21 formant le robot. Au parallélogramme 25 de la figure 5 s'ajoute les articulations joignant les segments consécutifs 21. Globalement, chaque segment est modélisé par : un ressort 61 de raideur kt, qui représente la torsion de la chape 26 en amont de l'axe de rotation 24 ; un ressort 62 de raideur kf1 qui représente la flexion de l'axe de rotation 24 ; - un ressort 63 de raideur kr qui représente l'élasticité des câbles de 20 rotation 42 ; un ressort 64 de raideur kt2 qui représente la torsion de la chape 27 en aval de l'axe de rotation 24 ; un ressort 65 de raideur ktp qui représente la torsion du parallélogramme 25 ; 25 les ressorts 56, 58, 55 décrit précédemment, de raideur km représentant la flexibilité de la bielle, de raideur kil représentant la flexibilité du vérin ou du jonc et de raideur ktube représentant la flexibilité du tube en compression. Ces flexibilités vont introduire une déformation de la structure. Le modèle 30 géométrique direct MGD de rotation est obtenu en fonction de sept paramètres généralisés (pH, (Pff, e, (Pr, (Pt2, a, (Ptb qui représentent respectivement les angles de rotation de des ressorts 61, 62 de raideurs kt1, km, l'angle de rotation autour de l'axe de rotation, les angles de rotation de des ressorts 63, 64 de raideurs kr, kt2, l'angle de rotation autour de l'axe 35 d'élévation, et l'angle de rotation du ressort 65 de raideur ktp. Pour calculer le MGD de rotation on utilise par exemple une matrice de transformation homogène (4x4) notée A. Cette matrice est fonction des paramètres généralisés et de la configuration du robot. Elle s'écrit sous la forme suivante : R(angle) T A(angle) _ 0(1 x 3) 1 où : - le paramètre angle représente un des paramètres généralisés (pH, çPfl, e,(Pr,(Pt2,a,(Ptb - R est une matrice de rotation de dimension (3x3) ; 10 T est un vecteur de translation de dimension (3x1) ; 0 est un vecteur nul de dimension (1x3). Le MGD de rotation, représenté par une matrice Ar, se calcule alors selon la relation suivante : 15 A~ = A(ço11) x A( çofl) x A(e) X A(Çr) x A(ço 2) x A(a) x A(çcItb) (2) La figure 7 montre la déformation de la structure de parallélogramme 25 sous l'influence des forces de compression et de traction provenant du poids des segments 21 qui le suivent. Le MGD du parallélogramme donne la position et 20 l'orientation de la pièce d'extrémité postérieure BD dans le système de coordonnées de la base du parallélogramme au point A. Ce calcul est géométrique et est réalisé dans un plan, le plan du parallélogramme. Le MGD du parallélogramme, représenté par une matrice de transformation homogène Ap, se calcule en fonction de trois paramètres généralisés, l'angle 25 a d'élévation précité et les longueurs /tube du tube et /bielle de la bielle. Le MGD d'un segment est la combinaison du MGD du parallélogramme 25 et du MGD de l'axe de rotation 24. La combinaison des deux MGD se fait par une multiplication matricielle des matrices homogènes correspondantes Ar, Ap. La matrice représentative du MGD d'un segment d'ordre i est donc 30 obtenue par la relation suivante : Asegmenti = Ar x Ap (3) (1) Le MGD de la chaîne complète représentant un robot est obtenu en combinant les N segments de la chaîne, la matrice représentative de l'ensemble Arobot étant donnée par la relation suivante : Arobot = Asegment1 X Asegment2 X X AsegmentN (4) Le modèle flexible a notamment pour but de fournir la position et l'orientation de l'effecteur 22 en fonction des positions articulaires imposées et des paramètres suivant : - la masse, la longueur et la position du centre de gravité des segments 21 ; - les raideurs k des différentes parties du robot et des paramètres généralisés. Dans l'étape 1 de calcul du modèle flexible, on affecte des valeurs nominales a priori aux paramètres k. Un but des étapes suivantes est de définir les valeurs pour des robots réels, à partir des valeurs nominales a priori. Ce modèle flexible initial peut donc être obtenu par un processus itératif. L'article de W. Khalil et E. Dombre Modélisation, identification et commande des robots décrit un tel processus itératif. Dans la présente étape 1 du procédé selon l'invention, la méthode de calcul peut néanmoins être différente et donc le processus itératif différent. La figure 8 illustre ce processus itératif utilisé, par exemple, dans la première étape 1 du procédé selon l'invention. Le calcul commence, par exemple, par un modèle rigide. Pour un ensemble de configurations 81 et en utilisant les paramètres généralisés 82 et les propriétés géométriques de la structure 83, le MGD 84 du robot est calculé. En introduisant les flexibilités de la structure et l'effet de gravité imposé 85, les efforts appliqués sur les parallélogrammes 25 et les axes de rotation 24 sont calculés, ce qui permet de modéliser les déformations 86. Ces déformations 86 sont, par la suite, utilisées pour actualiser les paramètres généralisés 87 du robot et sont comparées 88 aux anciennes valeurs 82. Si la différence AP entre les nouveaux et les anciens paramètres généralisés 35 est inférieure à un seuil a donné, le modèle flexible 90 est obtenu, à partir du MGD actualisé 89 et des nouveaux paramètres généralisés 87. Dans le cas contraire 80, une nouvelle itération est exécutée, cette itération rectifiant l'ancien modèle 84 en utilisant les nouveaux paramètres généralisés. Cet algorithme est répété jusqu'à convergence. Environ trois à quatre itérations peuvent être nécessaires pour obtenir une différence inférieure à 10"6 mètre ou radiant entre les différents paramètres généralisés. La flexibilité des articulations 24, 26, 27 et des corps 25 du robot a un impact significatif sur la performance de ce dernier en ce qui concerne la précision de positionnement de l'effecteur 22, ainsi que sur la stabilité de cette position. L'effet de gravité et la charge au bout de chaque segment 21 provoque une déviation des articulations flexibles, ce qui dégrade la performance du robot. Pour les robots de grandes dimensions notamment, les flexibilités qui ont déjà été prises en compte dans le calcul du modèle sont calibrées lors des deux étapes suivantes 2, 3. La deuxième étape 2 comporte donc une phase de calibration ou d'étalonnage du modèle flexible obtenu dans la première étape 1. Le processus d'étalonnage minimise une grandeur Xm ù Xc. Une grandeur X peut être un vecteur à six composantes incluant trois composantes de translation et trois composantes de rotation. Une telle grandeur détermine le déplacement d'un point dans l'espace, en l'occurrence les positions des parallélogrammes ou la position de l'effecteur 22. Xm est la position mesurée parmi les articulations des parallélogrammes et de l'effecteur. La sélection des mesures est notamment fonction de l'application, des moyens de mesure et de la précision souhaitée. Cette position mesurée Xm peut donc représenter soit la position de l'effecteur 22, soit la position des articulations intermédiaires. La position Xc est la position calculée par le MGD flexible du robot dans la première étape 1, pour les mêmes articulations ainsi que pour l'effecteur. Xc est fonction du vecteur de configurations q et du vecteur des paramètres p. Les configurations du système évoquées précédemment peuvent être représentées par le vecteur de configurations q, les composantes de ce vecteur étant les angles des articulations, ou axes de rotation, du robot. Les paramètres identifiables du vecteur p sont notamment la masse, la longueur, la position du centre de gravité, les raideurs des différentes parties du robot et les paramètres généralisés décrits précédemment. Le vecteur Xc peut donc s'écrire selon la relation suivante : Xc = f(p, q) (5) où : f(p, q) = AI.A2 ... Ai AN.XN (6) XN étant la position de l'effecteur 22 par rapport au dernier segment, le segment d'ordre N, cette position est facilement déterminable. Ai est la matrice de transformation homogène associée au segment d'ordre i décrite précédemment relativement à la relation (1). En utilisant par exemple le vecteur po des paramètres, po ayant été utilisé dans la première étape comme représentant les paramètres donnés par le constructeur du robot, on obtient la position nominale Xo. En utilisant par ailleurs le vecteur rigide Prigide des paramètres, on obtient la position Xrigide pour un certain nombre de configurations. Dans ce vecteur Prigide, seuls 0 et a sont variables. Les autres paramètres généralisés, relatifs à la flexibilité, (pH, (Pfl, (Pr, (Pt2, (Pf) ont une valeur égale à 0 et toutes les raideurs k ont une valeur infinie, ce qui serait le cas d'un système parfaitement rigide. Un but est de déterminer le vecteur popt des paramètres qui minimise, par exemple, dans le sens des moindres carrés, l'erreur de position Xm û Xc pour un nombre suffisant de configurations, Xm étant imposée comme intrinsèquement liée au robot à calibrer. Les valeurs nominales po des paramètres servent comme point de départ d'un algorithme d'optimisation utilisé. Un algorithme d'optimisation utilisé peut être, par exemple, l'algorithme d'optimisation non linéaire décrit dans l'article de T.F.Coleman and Y.Li On the Convergence of Reflective Newton Methods for Large-Scale Nonlinear Minimization Subject to Bounds in Mathematical Programming, Vol. 67, Number 2, 1994, pages 189-224. La troisième étape 3 complète l'étape précédente par une application d'une calibration polynomiale généralisée. La cinématique du robot est notamment définie par des repères liés à la base 28 du robot, aux différents segments 21 et à l'effecteur 22. Le passage d'un repère à un autre se réalise par des matrices de transformation homogène Ai qui sont notamment fonction de la configuration et des paramètres du robot. Sans correction d'erreur, la position de l'effecteur par rapport à la base du robot Xci est donc calculée selon la relation suivante : Xci = AI.A2 X AN.XN (7) où Xci est la position flexible de l'effecteur 22 par rapport à la base du robot, calculée dans la deuxième étape 2. Ce vecteur représente une position idéale calculée à partir du modèle flexible du robot obtenu à l'étape 2. Comme précédemment, XN est le vecteur représentant la position de l'effecteur par rapport au dernier segment et A;, i étant égal à 1, 2, .... N, est la matrice de transformation homogène flexible de l'articulation d'ordre i. Pour corriger l'erreur de position des matrices d'erreur généralisées E; sont intercalée entre chaque matrice de transformation homogène A. Des matrices d'erreur généralisées sont notamment décrites dans l'article de M.Meggioalaro, S. Dubowsky et C. Mavroidis Geometric and elastic error calibration of a high accuracy patient positioning system in Mechanism and Machine Theory, vol. 40, 2005, pages 415-427. Pour obtenir la nouvelle position XC2 la relation (7) est donc corrigée pour obtenir la relation suivante : XC2 = A1.E1.A2.E2 AN.EN.XN (8) XC2 est la position réelle de l'effecteur par rapport à la base du robot et E; est la matrice d'erreur généralisée qui suit la matrice de transformation homogène A; associée au segment d'ordre i. Les matrices d'erreur généralisées E; sont notamment destinées à corriger l'erreur de position angulaire des axes de rotation de chaque segment. En particulier pour l'articulation du segment d'ordre i, la matrice E; permet le passage du repère idéal, flexible, au repère réel. La figure 9 illustre les passages entre repères. En particulier la figure 9 présente un repère 91 lié au segment d'ordre i-1 ayant son centre en un point O;_1 du segment. La matrice de transformation A; permet de passer du repère 91 lié au segment d'ordre i-1 au repère 92 lié au segment d'ordre i ayant son centre en un point O; de ce segment. Puis la matrice d'erreur généralisée E; permet de passer de ce repère idéal à un repère réel 92', par la combinaison d'un mouvement de translation et d'un mouvement de rotation, la translation faisant notamment passer le repère du centre O; à un centre O;'. Les éléments de chaque matrice E; sont fonction non-linéaire des six paramètres généralisés El, 2, 3, E4, 4, 6, trois ce ces paramètres El, 2, 3 représentant les angles d'Euler correspondant au mouvement de rotation, les trois autres paramètres 4, 4, 6 représentant une translation dans l'espace. Chaque paramètre généralisé est une fonction polynomiale de la géométrie du système poly-articulé formant le robot et donc du vecteur de configuration q. Selon l'invention, les matrices A; représentent le modèle flexible du robot et les matrices E; sont non-linéaires en fonction des paramètres généralisés. En particulier, la matrice E; peut s'écrire sous la forme suivante : C4 C6 ù S4 S5 Se6 ù C4 S6 ù S4 C5 C6 Se4 S5 e, Se4 C6 + C4 C5 S6 ù S4 S6 + C4 C5 C6 û Ce4Se5 2 Se5 Se6 Se5 Ce6 C5 3 0 0 0 1 où CE; représente le cosinus de l'angle d'Euler E; et SE; son sinus. En raison notamment de la structure du parallélogramme, le modèle flexible 20 du robot présente une redondance dans ses paramètres. Il existe des paramètres qui sont fonction d'autres paramètres du modèle. Seuls les paramètres indépendants sont identifiés. Le gradient de la fonction objective définie par la relation (7) peut être développé pour éliminer la dépendance des paramètres. Il permet également d'augmenter la robustesse de la 25 méthode d'optimisation. Une méthode d'optimisation utilisée peut être la méthode des moindres carrés non-linéaire, l'algorithme utilisé étant l'algorithme décrit dans l'article de T.F Coleman et al. Pour un ensemble de configurations donné, le gradient de la fonction objective devient une matrice W où le nombre m de configurations est plus 30 grand que le nombre de paramètres à identifier. La décomposition de la matrice Wdonne une matrice triangulaire supérieure R. Les paramètres Ei _ indépendants sont par exemple trouvés en utilisant les éléments diagonaux r de la matrice triangulaire R qui vérifient la relation suivante : r > mxmax(IR;;I)xs (9) 5 où R;; est un vecteur formé par les éléments diagonaux de la matrice R et s est la précision de la machine demandée pour le système, IR;;I étant le module du vecteur. Cette méthode d'élimination des paramètres est très précise, en particulier elle cible seulement les paramètres redondants. Elle 10 se fait d'une manière numérique et est très rapide à exécuter. Avantageusement, la solution proposée par l'invention permet de mieux corriger l'erreur de position sur des robots de grande taille mais aussi sur des robots de petite taille. En particulier, l'invention est applicable pour tous types 15 de robots manipulateur ou de systèmes flexibles. REVENDICATIONS 1. Procédé de calibration de la position d'un système poly-articulé composé d'une chaîne de N segments (21) reliés entre eux par une liaison articulée (24, 26, 27), la calibration minimisant la différence entre la position mesurée Xm d'un organe (22) lié au dernier segment de la chaîne et sa position calculée Xc, Xc étant égale au produit A1.A2 ... Ai AN.XN, une matrice A; de transformation homogène étant associée à chaque segment d'ordre i (21), cette matrice étant fonction de paramètres de configuration (q) du système et de paramètres généralisés donnés (p) caractérisant la flexibilité du segment (21), caractérisé en ce que ledit procédé comporte : une première étape (1) de calcul d'un modèle flexible du système composé des matrices AI, A2 ... Ai AN ; une deuxième étape (2) de calibration du modèle flexible par l'obtention d'un ensemble de paramètres généralisés (popt) minimisant la différence entre X,,, et Xc ; une troisième étape (3) de calibration polynomiale généralisée du modèle flexible par l'introduction de matrices d'erreur généralisées E; entre les matrices de transformation homogène dans le modèle flexible, la position calculée Xc étant égale au produit A1.E1.A2.E2 AN.EN.XN, une matrice d'erreur généralisée E; étant associée à chaque segment d'ordre i, chaque matrice E; d'un segment étant une fonction polynomiale des paramètres de configuration (q) liés au segment. 2. Procédé selon la revendication 1, caractérisé en ce que dans la première étape (1) le modèle flexible du système est obtenu par la détermination de nouveaux paramètres généralisés (p) à partir des paramètres rigides du système selon un processus itératif : un modèle géométrique (84) est calculé en fonction de paramètres de configuration (81), de paramètres généralisés d'origine (82) et de 30 propriétés géométriques (83) du système ; des déformations (86) du système sont calculées en fonction du modèle géométrique (84) et de contraintes mécaniques (85) ; - de nouveaux paramètres généralisés (87) sont calculés en fonction des déformations (86) ;les nouveaux paramètres généralisés (87) sont comparés aux paramètres d'origine (82) ; si la différence AP entre les nouveaux paramètres (87) et les paramètres d'origine (82) est inférieure à un seuils donné, le modèle flexible (90) est obtenu à partir des nouveaux paramètres généralisés (87) ; dans le cas contraire (80), une nouvelle itération est exécutée, cette itération rectifiant le modèle (84) en utilisant les nouveaux paramètres généralisés. 3. Procédé selon la revendication 2, caractérisé en ce que les contraintes mécaniques comporte des contraintes de flexibilité appartenant aux paramètres généralisés (p). 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les paramètres de configuration (q) comportent les angles des axes de rotation (24) et d'élévation (29) par rapport à une référence donnée. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'un segment (21) est modélisé par un parallélogramme (25) et un axe de rotation (24) s'articulant entre deux chapes (26, 27), une première chape (26) appartenant au segment et la deuxième chape (27) appartenant au segment suivant dans la chaîne, le parallélogramme modélisant un mouvement d'élévation autour d'un axe (29) passant par un sommet du parallélogramme, le segment étant soumis à des contraintes de torsion, de compression et de traction. 6. Procédé selon la revendication 5, caractérisé en ce que chaque segment (21) est modélisé par les paramètres de flexibilité suivante : un ressort (61) de raideur km qui représente la torsion de la chape (26) en amont de l'axe de rotation (24) ; un ressort (62) de raideur kfl qui représente la flexion de l'axe de rotation (24) ;- un ressort (63) de raideur kr qui représente l'élasticité d'un élément de transmission de mouvement de rotation (42) ; un ressort (64) de raideur kt2 qui représente la torsion de la chape (27) en aval de l'axe de rotation (24) ; - un ressort (65) de raideur ktp qui représente la torsion du parallélogramme (25) ; - des ressorts (56, 58, 55) de raideur kb1 représentant la flexibilité d'un côté (52) du parallélogramme, de raideur ktbbe représentant la flexibilité du côté opposé (51) et de raideur ki1 représentant la flexibilité d'une branche (57) reliant un point (J) du côté adjacent (53) à une extrémité (B) de ce côté (51) ; un modèle de rotation étant obtenu en fonction des paramètres généralisés de flexibilité (pH, (Prs, 6, (Pr, (Pt2, a, (Ptb représentant respectivement les angles de rotation de des ressorts (61, 62) de raideurs kt1, kf1, l'angle de rotation autour de l'axe de rotation (24), les angles de rotation de des ressorts (63, 64) de raideurs kr, kt2, l'angle de rotation autour de l'axe d'élévation (29), et l'angle de rotation du ressort (65) de raideur ktp. 7. Procédé selon la revendication 5, caractérisé en ce qu'un segment (21) comportant un tube (31) équipé d'une bielle (33, 34) et muni à chaque extrémité d'une chape (26, 27), une première chape (26) s'articulant autour de la chape (27) du segment suivant par l'intermédiaire de l'axe de rotation (24), les mouvements de rotation se faisant au moyen de poulies de rotation (32) entraînant un câble de rotation (42), un côté du segment (51) modélise le tube, le côté opposé (52) modélise la bielle, la branche (57) modélise un élément d'équilibrage et l'élément de transmission de mouvement de rotation (42) modélise le câble de rotation. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que une matrice d'erreur généralisée E; associée à un segment (21) est une fonction non linéaire de six paramètres E1, E2, 83, 84, 84, 86, trois ce ces paramètres E1, E2, 83 représentant les angles d'Euler correspondant au mouvement de rotation d'un repère (92) lié au segment, les trois autres paramètres E4, E4, 86 représentant une translation dans 10l'espace du centre U; du repère (92), chaque paramètre généralisé est une fonction polynomiale des composantes du vecteur de configuration (q). 9. Procédé selon la revendication 8, caractérisé en ce que la matrice E; s'écrit sous la forme suivante : _ C4C6 ù S4S5S6 - C4S6 - S4C5CE6 Se4 Se5 e; S4 C6 +C4C5S6 -S4S6 +C4C5C6 -C4S5 Z Se5 Se6 Se5 C6 C5 3 0 0 0 1 Cs; représentant le cosinus de l'angle d'Euler s; et Ss; son sinus. E _ 15