Brevet FR2764838A1 — publié le 19981224

PROCEDE DE COMMANDE D'UN MANIPULATEUR La présente invention concerne un procéde à cinématique inverse pour diriger la commande d'un manipulateur sur la base de déplacements ciblés (Ax.) d'un effecteur terminal commandé à l'aide d'une boule de commande manuelle ou analogue par un programmateur en liaison avec un calcul de valeurs de positions d'articulations conformément à un algorithme de cinématique inverse. D'après Siciliano, B., Sciavicco, L.: "Modelling and control of Robot Manipulators", McGraw-Hill Companies (1996), pages 95 à 101 et d'après Vukobratovic, M., Kircanski, N.: "Kinematics and Trajectory Synthesis of manipulation Robots", Springer-verlag, Tokyo, 1986, pages à 122, on connaît des procédés de commande pour un guidage, sur trajectoire, d'un manipulateur à redondance cinématique, sur la base de déplacements ciblés de l'effecteur final, commandés par un programmateur, en liaison avec un canal exécuté en fonction d'un algorithme de cinématique inverse, moyennant l'utilisation de la matrice de Jacobi. A cet égard on connaît un procédé à cinématique inverse pour des manipulateurs non redondants du point de vue cinématique, en général dans un espace partiel de la zone de travail, qui contient les positions non singulières. Etant donné qu'il apparaît dans la pratique des configurations singulières, c'est-à-dire des positions d'articulations, au niveau desquelles il se produit une réduction du rang de la matrice de Jacobi, ce procédé peut être utilisé seulement de façon limitée. Si en effet on se rapproche d'une configuration singulière (singularité), le processus de travail qui est exécuté avec le manipulateur (guidage interactif sur trajectoire, régulation de force) doit être interrompu ou retardé. A cet égard, on connait un procédé mettant en oeuvre un calcul d'une inverse généralisée de la matrice de Jacobi, qui possède en général quelques caractéristiques avantageuses, mais entraîne également à cet égard une série d'inconvénients. Ainsi on obtient une uniformité de la trajectoire calculée d'une articulation et une faible usure du dispositif d'entraînement du robot, par minimalisation du décalage local de position d'articulation Aq (critères locaux d'énergie). En outre la distance entre les positions des articulations et les limites physiques des articulations est prise en compte par optimisation de critères globaux dans l'espace zéro de la matrice de Jacobi. Un inconvénient tient au fait que des limitations de trajectoire par des limites physiques des articulations ne peut pas être répétées d'une manière garantie, que l'on obtient un comportement instable dans des positions singulières du robot en raison d'une inversion (généralisée) de la matrice de Jacobi et que des configurations inefficaces de la trajectoire du robot sont possibles lorsque des critères locaux et globaux antagonistes apparaissent. Dans un autre procédé connu, dans lequel un calcul de la matrice de Jacobi transposée est exécuté, la cible commandée de l'effecteur final est atteinte d'une manière itérative, conformément à une représentation de la cinématique inverse en tant que problème d'optimisation. Comme caractéristique avantageuse, on obtient un comportement stable dans des positions singulières du robot, étant donné qu'aucune inversion de la matrice de Jacobi n'est exécutée. En général, des limitations de la trajectoire ne peuvent pas être respectées de façon sûre par des butées physiques d'articulation et par des vitesses maximales d'articulation. Il faut établir des heuristiques d'ordre supérieur pour découvrir ces exigences imposées, ce qui se traduit alors par des erreurs de la position réelle de' l'effecteur final par rapport à la position désirée de l'effecteur final. On obtient des allures inefficaces de trajectoire sous la forme de déplacements parasites de l'effecteur final, étant donné que le déplacement linéaire cartésien, commandé par la boule de commande manuelle, ne peut pas être transmis de façon précise à l'effecteur final du manipulateur. En outre, on obtient une usure élevée du matériau du dispositif d'entraînement du robot en raison d'un franchissement brusque de positions singulières du robot et en raison d'une trajectoire d'articulation en général insuffisamment lisse étant donné que ni le décalage local pondéré de position d'articulation ni le décalage local de vitesse d'articulation (critères locaux d'énergie d'accélération) n'ont fait l'objet d'une optimisation. En outre, il faut se contenter d'une faible vitesse de convergence, c'est-à- dire de perturbations dans la capacité de fonctionnement en temps réel étant donné qu'aucune stratégie optimale praticable n'est connue pour déterminer la matrice cartésienne de rigidité, définie d'une manière positive. Dans le document allemand DE 33 44 633 C2 on décrit une commande en temps réel, avec laquelle, en vue de calculer la vitesse des articulations redondantes, on peut déterminer celles qui ne sont pas nécessaires pour le déplacement d'un effecteur final. Un tel calcul est exécuté par au moins l'une des combinaisons d'articulations. Les vitesses pour chaque articulation sont alors déterminées par formation de la moyenne des vitesses calculées de l'articulation. Par conséquent, dans l'état de la technique, on exécute une pondération, et ce des vitesses des articulations. Dans le document US 5 430 643 on décrit également un procédé en temps réel, lors duquel la matrice de Jacobi inverse est calculée. Egalement dans le cas de ce procédé connu selon ce brevet US, on prend en compte des valeurs de pondération pour les vitesses des articulations ainsi que des limitations de trajectoire au moins pour une simulation graphique du déplacement du robot. Conformément à un procédé proposé dans la demande de brevet allemand 197 03 915.4, on peut exécuter d'une manière efficace un guidage interactif, sur trajectoire, d'un manipulateur à redondance cinématique, et ce avec l'avantage d'un paramétrage par conséquent moins onéreux et donc plus commode pour l'utilisateur. Un inconvénient réside simplement dans le fait que le procédé ne convient pas pour des tâches de régulation de force étant donné qu'il n'existe aucune mesure uniforme indiquant quel pourcentage du décalage ciblé désiré de l'effecteur final peut être réalisé, et en outre, la priorité, que doit suivre aussi bien que possible le décalage ciblé de l'effecteur final, est plus faible, d'une manière conditionnée par le procédé. L'invention a pour but d'indiquer un procédé à cinématique inverse pour la commande d'un guidage interactif, sur trajectoire, d'un manipulateur dans le cadre d'un comportement optimisé d'accélération, à l'aide duquel on puisse respecter de façon sûre des limitations de trajectoire au moyen de butées physiques d'articulation, ainsi que des vitesses maximales permises d'articulations, pour garantir que la solution déterminée respecte les limitations de trajectoire, et à l'aide duquel on obtienne une sollicitation minimale du dispositif d'entraînement du manipulateur grâce à une optimisation du comportement d'accélération des axes d'articulation. Ce problème est résolu conformément à l'invention à l'aide d'un procéde à cinématique inverse pour diriger la commande d'un manipulateur sur la base de déplacements ciblés (Axd) d'un effecteur terminal commandé à l'aide d'une boule de commande manuelle ou analogue par un programmateur en liaison avec un calcul de valeurs de positions d'articulations conformément à un algorithme de cinématique inverse, caractérisé par les caractéristiques suivantes: - à partir d'un déplacement ciblé commandé de l'effecteur final et de la valeur réelle actuelle qi des positions d'articulations du manipulateur, * compte tenu d'une fonction de qualité à minimiser (f(q)), qui est paramétrée par des valeurs de pondération non négatives (cj, 0j, y-), et * compte tenu de limitations de la trajectoire par des butées physiques d'articulation (qmn, qmx), d'une vitesse maximale d'articulation (Ax), une accélération maximale d'articulation ( x) dans un environnement de butées physiques d'articulations et de l'équation cinématique, qui est représentée par la matrice de Jacobi (J(q)), une nouvelle position d'articulation (que) est calculée, position qui fixe par avance les nouvelles valeurs pour les régulateurs d'articulations, la fonction de qualité (f(q)) étant la somme d'un critère d'énergie, d'un critère de position de référence, d'un critère d'accélération et d'un critère supplémentaire, * le critère d'énergie étant calculé à partir de (q-q, ) diag(a)(q-q,) * le critère de position de référence étant calculé à partir de (q-q.)=diag(j)(q-q=.,) la grandeur q=. étant une valeur de position d'arti- culation prédéterminée, qui est fixée de telle sorte que la succession des valeurs calculées de positions d'articulations (q,) se situent à proximité et autour de cette valeur de position de référence; * le critère d'accélération étant calculé à partir de (q-2q,+q-. _)tdiag(y )(q-2qi+q-_), et * le critère supplémentaire étant calculé à partir de -pi le paramètre scalaire p satisfaisant à l'équation cinématique p.Axd=J(q1)(q-q1) et à l'inégalité O de position d'articulation est évalué. Selon une autre caractéristique de l'invention, le procédé utilise la matrice de Jacobi de la cinématique, selon lequel à partir d'un déplacement ciblé commandé Axà:=(AxtAx) à un instant T1, Ax, E 93 et Ax, 6 3 désignant respectivement la composante de translation et la composante de rotation du déplacement ciblé commandé de l'effecteur final, et Axx7 et Ax='c définissant respectivement les décalages cartésiens maximum (en valeur scalaire) de translation et de rotation, prédéterminé par un programmateur, de l'effecteur final pendant chaque durée d'échantillonnage AT, les décalages ciblés cartésiens désirés, de l'effecteur final en translation et en rotation Axtc et Ax=d pour chaque intervalle d'échantillonnage At sont définis comme suit: C Ax+ dans le cas o Axtl max(Atq,Jt=) de telle sorte que la durée de calcul Atq pour le calcul d'un décalage admissible optimum Jq de la position d'articulation et la durée de régulation St,, dont les régulateurs ont besoin pour régler les positions d'axe sur les valeurs de consigne xq=Di i, se situent à l'intérieur de l'intervalle de temps AT. Le procédé selon l'invention peut être utilisé dans le cas d'un guidage interactif, sur trajectoire, du manipulateur sur la base de décalages cibles de l'effecteur final commandés à l'aide d'une boule de commande manuelle (souris spatiale) ou analogue par un opérateur. Cependant le procédé selon l'invention peut être également utilisé en tant que système modulaire pour une tâche de rang supérieur avec des décalages temporels de l'effecteur final commandés par une tâche de rang supérieur. Une tâche de rang supérieur peut être par exemple une tâche qui est définie par des tâches de régulation de force. Selon une autre caractéristique de l'invention, le décalage ciblé cartésien Axc de l'effecteur final qui est commandé à un instant T1 est commandé par l'opérateur et/ou par une tâche de rang supérieur, par exemple une tâche de régulation de force, sous la forme d'un vecteur d'incrémentation à 6 dimensions. Selon une autre caractéristique de l'invention, le vecteur d'incrémentation du décalage ciblé cartésien Ax. de l'effecteur final, commandé à un instant T,, est déterminé par l'opérateur et/ou par une tâche de rang supérieur, par exemple par une tâche de régulation de force, par formation de la différence de coordonnées absolues de l'effecteur final. Dans le procédé selon l'invention, on obtient une faible usure du dispositif d'entraînement du manipulateur en raison d'une réduction du décalage local de position d'articulation aq et du décalage local de vitesse d'articulation (critères d'énergie et critères d'accélé- ration). On obtient des trajectoires d'articulations "élancées" autour d'une position de référence (par exemple une position de zéro) et de ce fait on obtient un comportement réversible du déplacement du manipulateur. En particulier on évite le fait que les axes de rotation du manipulateur tournent toujours avec une amplitude de plus en plus grande pendant l'exécution de la tâche commandée de manipulation et viennent s'appliquer alors contre la butée d'extrémité et qu'ensuite la poursuite de l'exécution de la tâche de manipulation ne soit plus possible. Des butées d'articulation sont avantageusement évitées dans une très large mesure ou bien on obtient une approche de ces butées d'articulation en douceur et sans usure. Ce comportement est dû à un effet de décélération des axes du robot, qui agit proportionnellement à la distance par rapport à la position de référence et par des limitations explicites d'accélération. Il apparaît en outre un comportement stable dans des positions singulières du robot étant donné qu'aucune inversion de la matrice de Jacobi n'est exécutée. En outre, on obtient avantageusement des allures ou configurations efficaces de trajectoire grâce à une transmission précise du déplacement linéaire cartésien, commandé par la boule de commande manuelle, sur l'effecteur final du manipulateur. En outre, ces limitations de trajectoire sont respectées de façon fiable par des butées physiques d'articulation et par des vitesses maximales d'articulation. Etant donné que de ce fait la gamme de solutions, c'est-à-dire le nombre des positions d'articulation admissibles, est limité de ce fait, on obtient une vitesse élevée de convergence avec un gain de capacité de traitement en temps réel. En outre la réalisation en pourcentage du décalage ciblé désiré de l'effecteur final est calculée. Le manipulateur peut s'approcher et/ou franchir de façon stable des singularités; c'est pourquoi aucune limitation de la gamme de travail n'est nécessaire. Un décalage ciblé cartésien axc de l'effecteur final, commandé à un instant T,, peut être commandé par l'opérateur et/ou par une tâche de rang supérieur (par exemple une régulation de force) sous la forme d'un vecteur incrémental à 6 dimensions. Contrairement à cela, le vecteur incrémental peut être déterminé par formation de la différence de coordonnées absolues de l'effecteur final. D'autres caractéristiques et avantages de la présente invention ressortiront de la description donnée ci-après prise en référence aux dessins annexés, sur lesquels: - la figure 1 montre une représentation schématique d'un flux d'entrée/de sortie d'une cinématique inverse dans la trame en temps réel; - la figure 2 représente, sous la forme d'un schéma-bloc, un algorithme de cinématique inverse, utilisé dans le procédé selon l'invention pour la commande d'un manipulateur; - la figure 3 illustre l'application du procédé selon l'invention à la commande d'un manipulateur dans le cas de l'exécution d'une tâche de rang supérieur, comme par exemple une régulation de force. Sur la figure 1, on a représenté, en liaison avec les caractéristiques données précédemment de l'invention, une représentation du flux d'entrée/sortie de la cinématique inverse. Selon le procédé, en utilisant la matrice Jacobi de la cinématique à un instant T,, un décalage ciblé commandé de l'effecteur final est désigné par Ax,: = (Axt,jAx=), qui est commandé par l'opérateur à l'aide d'une souris spatiale ou boule de commande sous la forme d'un vecteur d'incrémentation à 6 dimensions. iX= e 93 et Aix E 3 désignent respectivement la composante de translation et la composante de rotation des décalages ciblés commandés de l'effecteur final, tandis que Ax.me" et Ax,7me définissent respectivement le décalage de position cartésien maximum (à valeur scalaire), de translation et de rotation de l'effecteur final pour chaque durée d'exploration AT. Les décalages ciblés cartésiens désirés de transla- tion et de rotation Axc et Ax,' pendant chaque durée d'échantillonnage ST sont définis de la manière suivante: Axt- dans le cas o AxlAx Axt = I AXI Axt ailleurs =Lx Ax=a à x Ax= dans le cas o IAx=, Axt>x Axâ:= AxI Axr ailleurs Ax=' La valeur absolue {xI d'un vecteur x étant définie ici et plus loin par sa norme euclidienne txl:=4((Sxx2), le décalage ciblé désiré de l'effecteur final est défini par Ax.:=(Ax=d,Axj). Les critères d'énergie, les critères de référence et les critères d'accélération peuvent être pondérés de façon appropriée en fonction des exigences présentes spécifiques aux problèmes, par le fait qu'à chaque axe j sont affectés trois valeurs chiffrées positives, prédéterminées par l'opérateur, ce qu'on appelle les valeurs de pondération aj, 5j, y,. Parmi les valeurs de pondération la valeur cj sert à pondérer un critère d'énergie, qui évalue la différence de deux positions d'articulation voisines calculées de l'axe j, la valeur A sert à pondérer un critère qui évalue la déviation de la position d'articulation qj par rapport à une valeur de référence q,._,, également prédéterminée par l'opérateur, et la valeur yj sert a pondérer un critère qui évalue le comportement d'accélération sous la forme d'un décalage de la vitesse d'articulation de l'axe d'articulation qj. Le décalage de vitesse d'articulation est prédéterminé par l'opérateur exactement comme les butées physiques d'articulation qu,, qc.X du manipulateur concernant les limitations de trajectoires ainsi que les limitations q.m, de la vitesse d'articulation et les limitations "O de l'accélération d'articulation. Etant donné que le procédé selon l'invention sert à optimiser des critères pondérés selon une cadence en temps réel tout en respectant de façon sûre toutes les limitations de trajectoire, pour un décalage ciblé désiré AxdL de l'effecteur final à un instant T,_, pendant l'intervalle de temps AT, un décalage optimal admissible Aq' de la position d'articulation est calculé avec l'algorithme de la cinématique inverse, qui se déroule pendant une phase d'initialisation et pendant une phase suivante d'optimisation. La valeur de consigne actuelle est obtenue au niveau du régulateur de l'articulation à partir de q q + Aqi (avec q les positions des articulations étant franchies de façon correspondante par les régulateurs des articulations pendant l'intervalle de temps AT. L'expression décalage admissible de la position d'articulation signifie que la valeur de position d'articulation actualisée avec Aq satisfait aux limitations physiques d'articulations, conformément à q1 ATÄmax(Atq,z1t=) de telle sorte que la durée de calcul Alt. pour le calcul d'un décalage admissible optimum Jq de la position d'articulation et la durée de régulation At,, dont les régulateurs ont besoin pour régler les positions d'axe sur les valeurs de consigne qoo,.xq,. se situent à l'intérieur de l'intervalle de temps AT. On va donner ci-après une description de l'algorithme du procédé selon l'invention. J_, i = 1,...,ndof désigne les colonnes de la matrice de Jacobi de la cinématique au point q, des positions actuelles des articulations du manipulateur, ndof *1 désigne le nombre des articulations et ca:= q maAT représente le décalage maximum autorisé de la position d'articulation pendant chaque intervalle de temps Aq J d'échantillonnage AT. Avec y,:=... et E1L J: (JsEI,J s2, '',2 Jioc, o), l'équation cinématique incrémentale s'écrit pAxa = J- y. (1) Sur la base des limitations de trajectoire, on obtient les limitations suivantes d'encadrement pour y ymn. Max iIi j y m:= Mi n d - q e q mbdl-- q -i q m bnd1 = =:=Min -- $, :L L q.L T2 q m.k>-q oo# Mmlqi cAT bnd = -à)=min -- :L 1- q r-.e-q =corigx-i On définit en outre y1,.,:=, y1.o = Aq1 désigne l'incrément calculé le plus récemment E1 de i-ème axe d'articulation. Afin que toutes les limitations de trajectoire puissent être satisfaites, conformément à l'équation cinématique (1), le décalage ciblé désiré de l'effecteur final est soumis à une dilatation centrée, qui est décrite sous la forme d'un scalaire O La valeur p est maximisée par le procédé selon l'invention de telle sorte que toutes les limitations de trajectoire sont respectées. p.100 est la réalisation en pourcentage du décalage ciblé désiré de l'effecteur final. On définit le vecteur de limitation b:= (OOOYinOx) g 92+6, le vecteur de paramètre à déterminer x:= (y,p) et la matrice des gradients de toutes les conditions secondaires A E 9î,+6n avec n:=ndof+ l: J., -Axd A:= In -:=(Ir) (2) I E 9r"'r désigne la matrice unité. En outre ai,i = 1,...,2n+6 désigne les lignes de A. Les points a, ô, y des critères définissent le facteur de Cholesky sous la forme de la matrice diagonale A E S' 9. Ces critères sont le critère d'énergie (q=q,)diag(ca)(q-q,), le critère de position de référence (q-q,.,)=diag(p,)(q-q=.f), dans lequel la grandeur q=_. est une valeur de position d'articulation prédéterminée, qui est fixée de telle sorte que la suite des valeurs calculées de position d'articulation (qi) s'étend à proximité de cette valeur de position de référence, le critère d'accélération (q-2q,+q,_1) diag(y )(q-2q,+q,_) et le critère additionnel tiré de -p, le paramètre scalaire p satisfaisant à l'équation cinématique pAx-=J(q,)(q- q,) et à l'inégalité 0 at CLt -s -- --,- ndof - - - - i'GES:= D _ __ _ _ __ _ _ ndof(q x- q Gin) 3ndof La structure de base du procédé particulier, selon l'invention, qui utilise une cinématique inverse pour la commande est illustrée schématiquement sur la figure 2 sur laquelle on voit que la commande de la boule de commande manuelle 1 jusqu'au manipulateur 4 inclut une phase d'initialisation 2 et une phase d'optimisation 3. En référence à la figure 2, on va décrire ci-après de façon plus précise un algorithme qui est utilisé dans le procédé selon l'invention, pour la cinématique inverse. Lors de l'utilisation de l'algorithme de la cinématique inverse, on exécute tout d'abord une phase d'initialisation, qui est conçue de la manière suivante: Indice chiffré: k = 0; valeur de départ: xx = (Y,Pk) = 0; k max > 2; initialisation avec m=:= 7 de la matrice des gradients des conditions secondaires actives A 6 '":, \0, 1 Initialisation de la quantité en indice J = (jk, j2, X j2+6k) pour caractériser les conditions secondaires actives, singulières et inactives: I + 6 pour i = 7 j ô.=i - 1 pour i = 8,...,n+ 6; i ailleurs Initialisation de la subdivision orthogonale en triangles A de A: (r,,J.,Yk ZX,LI,Sl):= I o(AmfJk); Initialisation de la subdivision orthogonale régulière en triangle de Z:= AZk: (Qz,R=k):= cO(Z,r); Initialisation du vecteur de gradient de la fonction de qualité f(q) goE ':g, 2( -d 1)+ on utilise le mode d'écriture suivant: ^L1 i-- i a.IL-Y:L scal ( dans le cas de l'algorithme utilisé de la cinématique inverse on exécute ensuite une phase d'optimisation qui est conçue de la manière suivante: I. Calcul de la direction d'optimisation dk: Rm=d.x = -Qzxz.g. Détermination, à partir de là, de d.eu par substitution inverse. Rz=dz = Q=xd.x. II.Détermination, à partir de là, de dz par substitution inverse par définition de la direction d'optimisation: d:=Z3d=. Détermination de la largeur maximale de pas s et de l'indice jixo de la condition secondaire limitative: avecatjdk mk bj- atJxk Sk:= mini { bjLatex atdk avec j=k} avecj k:=jO; a'dk 1 danslecasatjdk > O, Vi> mkavecj= j k (En cas d'ambiguïté, choisir le jO possédant le plus petit indice iO). III. Contrôle du caractère optimal et mise à jour de toutes les grandeurs de la matrice et de toutes les grandeurs d'indice. (a) Dans le cas o on a sk gk.1=2 (3(yk1,-yV)+Y(Yk+1- yi,.)+4''adyi, 1,-1) * Actualisation des factorisations matricielles et de la quantité d'indice: (rk.1, mk+l, Jk+,Yk+,Zkl, Lk+l, Sk*):=(l^(io,rk, mk,JkYk,Zk, Lk, Sk) Contrôle du caractère optimal de xA: Dans le cas o l'on a Ztr+gkg =0; et =+x = LLS(rk.,mxl,gk l,YkLx)> 0 alors: passer au pas IV. Sinon: k=k+l (indice d'itération accru) Dans le cas o l'on a k>kmax: passer au pas IV. Sinon: détermination de la subdivision orthogonale régulière en triangles de Z:=AZ,XL: (QZk_,Rzkz):=) (Z,r.z) Passer au pas I. ii. Dans le cas o l'on a m. = n (le coin de la zone admissible est atteint, un remplacement de conditions secondaires actives est nécessaire): * Xk+1 = Xk 4+ k, X41 = (Yk+1, p+1) gkw 1=2( (yJ, k1-yJ,.)+7ó' (Y. 1 y,)+s yk+l,) -Xk = LLS(rk+l,mk+1,gk,Yk,Lk) * Libération d'une direction avec le potentiel maximum d'optimisation: Xk :=minXj- * Actualisation de factorisations matricielles et de la quantité d'indice (,mk,J%,Y,,4,Lk,S,):=O^.0,rk,mk,JYk,Z4,L,,S)). * Activation de la condition secondaire j k. Actualisation des factorisations matricielles et de la quantité d'indice: (rk.1,imk+1,Jk. jYk.1,Zk+,LI +St): = +(iO,rk, mk, JJK,Y,Z4, L, SK). * Contrôle du caractère optimal de x> g-+=0; et kx+ = LLS(r>,mg YkL)0 alors: passer au pas IV. Sinon: k=k+l (indice d'itération accru) Dans le cas ou l'on a k>kmnax: passer au pas IV. Sinon: détermination de la subdivision orthogonale régulière en triangles de f:=AZ+.: (QZ k,R X+):-& (Z,rk+). Passer au pas I. Dans le cas ou l'on a s,=l (aucune nouvelle condition secondaire active) * x*+ = Xk + d, xk+= (+Ykl, pk+);1) o., = 2((y-. -y' + * Actualisation de factorisations matricielles et de la quantité d'indice: (rk.1,mk*l,Jk+l,Yk+l,Z.l,Lk+lSsk+): = (rk, rrk,Jk,Yk,Z,, Sk). * Contrôle du caractère optimal de xkl: Dans le cas o l'on a Z x.gx=O; et AX = LLS(r,+,m.lg-.,Y +xLx)>0 alors: passer au pas IV. Sinon: Libération d'une direction avec le potentiel maximum d'optimisation Xk : min k; j - Actualisation de factorisations matriciel- les et de la quantité d'indice: q (r-.mk.1,Jki -Y,,.,Zk.1,Lk. 1,Sk.1):=e) (jOrk ML JK, YK 7-,LKS - k=k+l (indice d'iteration accru) Dans le cas o l'on a k>kmax: passer au pas IV. Sinon: détermination de la subdivision orthogonale régulière en triangles de r:=AZ+1: (QZ I,RZ PR) 2):-(Z,rk).L Passer au pas I. IV. La solution xk+. est déterminée. Stop! Fin de l'algorithme de la cinématique inverse. Définition de la fonction LLS: k=LLS(r,m,g,Y,L) X:=O,i=r+l,...,m; k=:=(k=+1,...,k); L k==Y=g. Détermination, à partir de la, de kX E St par substitution inverse. Définition de la valeur de sortie de la fonction: x, =t (L;kt) - Avec 1,q:=l+max il X(i), positionnement des composantes de k, qui appartiennent aux conditions secondaires (1) de l'équation, sur la valeur 1,q. Fin de la fonction LLS. Définition de la fonction,: (?,mJ,,ZLS)=t (i 0,r,m,J,YZ,L, S). Activation de la condition secondaire jo. Avec ajo avec jO:=jt désigne la ligne jlo de A. Définition de Q-:=(Y,Z) et formation de a:=Qajo. Partition de a:=(a,a)avec ye î et ae=t. Détermination de la réflexion de Householder HE9i;-='-= de manière que l'on ait: lale,=Ha, avec e:=(1,0,...,0). Définition de la transformation unitaire H E R"' conformément à: I, H:=0 H:= n, H Définition de la transformation unitaire: Q:=HQ; Actualisation d'indices: _: {r dans le cas o la.=o; r+l ailleurs m:=m+ l Permutation de conditions secondaires: Dans le cas o l'on a rpr, alors ji dans le cas o i= je:= j i; dans le cas ou i=iO. je dans le cas o i=m Lji ailleurs sinon j0 dans le cas o i=m i:=m dans le cas o i=iO; j] ailleurs Actualisation des factorisations matricielles: Y est la matrice partielle de Qt, qui contient les colonnes 1 à r de Q. Z est la matrice partielle de Q=, qui contient les colonnes r+1 jusqu'à n de Q=. L, 0 L:=; {(S,ay) dans le cas o r=r S sinon Fin de la fonction D. Définition de la fonction _: (r,m,J,Y,Z,L,S)=c _(jO,r,m,J,Y,Z,L,S). Désactivation de la condition secondaire jo * Dans le cas o on a jO> r: (élimination de la condition secondaire singulière active) Actualisation des indices: r:=r; m:=m-1; Permutation de conditions secondaires: j'O dans le cas o i=m+l :=f jl dans le cas o i=jO ji ailleurs Actualisation des factorisations matricielles Y:=Y Z:=Z; L:=L; S:=(S1 -,Sjo__ltS o-l, - -, tS-i), Si désignant les colonnes de S * Dans le cas o on a j0o Q:=E =_. -E=_2,._ E 0.1Q; - Dans le cas o la dernière ligne de S est nulle ou dans le cas o l'on a r=m: Actualisation des indices r:=r-1; m:= m-1; Changement des conditions secondaires: :i dans le cas o i=m+l j=j dans le cas ou i=j0,..,m j ailleurs J:=(31 - 2n6 J:=(j,.., ]) Actualisation de factorisations matricielles: Y est la matrice partielle de Qt, qui contient les colonnes 1 à ? de Q-. Z est la matrice partielle de Q, qui contient les colonnes r+l jusqu'à n de i. Dans le cas o l'on a r - Sinon (conversion de la condition secondaire active sin- gulière en une condition secondaire active régulière): Détermination de l'élément de la dernière ligne de S possédant l'indice 10 le plus petit de telle sorte que l'on ait: S S. lo0. Permutation de la colonne 10 avec la colonne 1 de S. Définition de la transformation linéaire: R:=(R,SIo) S1o désignant la 10-ème colonne de S. Actualisation des indices: r:=r; m:--m-l Permutation des conditions secondaires: dans le cas o i=m+l dans le cas o i=j0,..,m. j{ ailleurs r+10-1 dans le cas o i=r :=v jrdans le cas o i=r+10-1. ailleurs a:=(j A,. j r) Actualisation de factorisations matricielles: Y est la matrice partielle de Q, qui contient les colonnes 1 à r de Qe. Z est la matrice partielle de Qt, qui contient les colonnes i+l jusqu'à n de Q f. L:= Rt; S2 SIS:=(S2.., Sol,SS * m-r) Les S, désignant les colonnes de S. Fin de la fonction t_. Définition de la fonction oco (r,J,Y,Z,L,S):= ( ,,m,J). 1. Définition de: A := , i:=0. 2. Définition de la recursion matricielle suivante: A:=H A-, i>o. La transformation unitaire Hi e ',"'" s'explique comme suit: Ht =. Hl.v La réflexion de Householder H ÈRr-1'- est définie de telle sorte que l'on a: IaikoI el = Hla$Iâo, avec e3 =(1,0,..)C..x' Les vecteurs a t-,k=l,..,n-i désigne les colonnes de la matrice Ai- - ':_ *Ai En outre on a l Dans le cas o aucun kO de ce type n'existe, passer alors au pas III, sinon passer au pas IV. 3. Définition des indices: r:=i; Définition des factorisations matricielles: Q:=H-_H;_2.Ho; Y est la matrice partielle de Qt, qui contient les colonnes 1 à r de Qt. Z est la matrice partielle de t, qui contient les colonnes r--+l jusqu'à n de Q. T est la matrice qui est obtenue par suppression des lignes ?+1 jusqu'à n dans A. Définition de LcR='= et Sei conformément à: (L=,S):=T. Arrêt: l'exécution de la fonction 9Vo est terminée 4. Remplacement de la colonne i+kO par la colonne i+l dans Ai rjk dans le cas o k=i+l := l jin Xdans le cas o k = i+kO. j ailleurs Positionnement de j:=j Vk, augmentation de l'indice chiffré i=i+l et avance au pas II. Fin de la fonction ( O. Définition de la fonction Zo: (Qz,Rz):=IZo(Z,r). Détermination de la subdivision en triangles QR de Z: RZ Qz.z=[j QZ E 'n' désigne une matrice unitaire et Rz A= désigne une matrice triangulaire supérieure. Fin de la Fonction Ozo. La figure 3 représente l'application du procédé selon l'invention à la commande d'un manipulateur 4, sous la forme d'un schéma-bloc, qui se comprend aisément et que lequel les blocs indiqués ci-après ont les significations suivantes: Bloc 5: Pondérations des paramètres de l'algori- thme. Bloc 6: Tâche de rang supérieur (par exemple régu- lation de force). Bloc 7: Phase d'initialisation. Bloc 8: Limitations de trajectoire: caractère admissible de Aq. Bloc 9: Critère: caractère optimal de Aq. Bloc 10: Phase d'optimisation de Aq. Bloc 11: Actualisation de la position des articu- lations du manipulateur qi+, = q,±. Bloc 12: Exécution du décalage ciblé p de l'effec- teur final. REVENDICATIONS 1. Procédé à cinématique inverse pour diriger la commande d'un manipulateur sur la base de déplacements ciblés (Axe) d'un effecteur terminal commandé à l'aide d'une boule de commande manuelle ou analogue par un programmateur en liaison avec un calcul de valeurs de positions d'articulations conformément à un algorithme de cinématique inverse, caractérisé par les caractéristiques suivantes: - à partir d'un déplacement ciblé commandé de l'effecteur final et de la valeur réelle actuelle q des positions d'articulations du manipulateur, * compte tenu d'une fonction de qualité à minimiser (f(q)), qui est paramétrée par des valeurs de pondération non négatives (aJ, AJ, y.), et * compte tenu de limitations de la trajectoire par des butées physiques d'articulation (qm, q), d'une vitesse maximale d'articulation (q) d'une accélération maximale d'articulation () dans un environnement de butées physiques d'articulation et de l'équation cinématique, qui est représentée par la matrice de Jacobi (J(q)), une nouvelle position d'articulation (quel) est calculée, position qui fixe par avance les nouvelles valeurs pour les régulateurs d'articulations, la fonction de qualité (f(q)) étant la somme d'un critère d'énergie, d'un critère de position de référence, d'un critère d'accélération et d'un critère supplémentaire, * le critère d'énergie étant calculé à partir de (q-q, )tdiag(c) (q-qi) * le critère de position de référence étant calculé à partir de (q-q=.)tdiag(O)(q-q=..) la grandeur q=, étant une valeur de position d'ar- ticulation prédéterminée, qui est fixée de telle sorte que la succession des valeurs calculées de positions d'articulations (q,) se situent à proximité et autour de cette valeur de position de référence; * le critère d'accélération étant calculé à partir de (q-2q,+ q-_.)tdiag(y) (q-2q,+q-_), et * le critère supplémentaire étant calculé à partir de -p; le paramètre scalaire p satisfaisant à l'équation cinématique p.Ax=J(qi)(q-q1) et à l'inégalité O valeurs de position d'articulation est évalué. 2. Procédé selon la revendication 1, qui utilise la matrice de Jacobi de la cinématique, selon lequel à partir d'un déplacement ciblé commandé Axc:=(Axt,Ax,) à un instant Ti, Ax,, 6 9? et Ax, e 9 3 désignant respectivement la composante de translation et la composante de rotation du déplacement ciblé commandé de l'effecteur final, et Ax=,"> et Ax 7m définissant respectivement les décalages cartésiens maximum (en valeur scalaire) de translation et de rotation, prédétermine par un programmateur, de l'effecteur final pendant chaque durée d'échantillonnage AT, les décalages ciblés cartésiens désirés, de l'effecteur final en translation et en rotation Ax.d et Ax=é pour chaque intervalle d'échantillonnage At sont définis comme suit: Ax, dans le cas ou {AxJ|lAx.>x Axt:= | I AxA I jt ailleurs AxIe Axa dans le cas o {Ax= _max(Atqzt=) de telle sorte que la durée de calcul àtq pour le calcul d'un décalage admissible optimum Aq de la position d'articulation et la durée de régulation At,, dont les régulateurs ont besoin pour régler les positions d'axe sur les valeurs de consigne qccor.iqi, se situent à l'intérieur de l'intervalle de temps AT. 3. Procédé selon la revendication 2, caractérisé par l'utilisation, dans le cas du guidage interactif de trajectoire du manipulateur sur la base de décalages ciblés de l'effecteur final commandés à l'aide d'une boule manuelle de commande (souris spatiale) ou analogue par un opérateur. 4. Procédé selon la revendication 2, caractérisé en ce qu'il est appliqué en tant que système modulaire pour une tâche de rang supérieur avec des décalages temporels de l'effecteur final commandés par une tâche de rang supérieur. 5. Procédé selon la revendication 2, caractérisé en ce que la tâche de rang supérieur est une tâche du type introduite par des tâches de régulation de force. 6. Procédé selon l'une quelconque des revendications 2 à 5, caractérisé en ce que le décalage ciblé cartésien Ax, de l'effecteur final qui est commandé à un instant Ti est commandé par l'opérateur et/ou par une tâche de rang supérieur, par exemple une tâche de régulation de force, sous la forme d'un vecteur d'incrémentation à 6 dimensions. 7. Procédé selon l'une quelconque des revendications 2 à 5, caractérisé en ce que le vecteur d'incrémentation du décalage ciblé cartésien Ax, de l'effecteur final, commandé à un instant Ti, est déterminé par l'opérateur et/ou par une tâche de rang supérieur, par exemple par une tâche de régulation de force, par formation de la différence de coordonnées absolues de l'effecteur final.